diff options
258 files changed, 27907 insertions, 16163 deletions
diff --git a/.gitignore b/.gitignore index 35a6c00106..de1eb04694 100644 --- a/.gitignore +++ b/.gitignore @@ -13,19 +13,16 @@ *.gcno *.gcov *.gcda -# latex stuff -*.aux -*.dvi -*.blg -*.bbl -*.log # Autotools stuff .deps .dirstamp +*.trs +*.log # Stuff made by our makefiles *.bak # Python droppings *.pyc +*.pyo # / /Makefile @@ -60,20 +57,11 @@ /tor-*-win32.exe # /contrib/ -/contrib/Makefile -/contrib/Makefile.in -/contrib/tor.sh -/contrib/torctl -/contrib/torify -/contrib/*.pyc -/contrib/*.pyo -/contrib/tor.logrotate -/contrib/tor.wxs - -# /contrib/suse/ -/contrib/suse/tor.sh -/contrib/suse/Makefile.in -/contrib/suse/Makefile +/contrib/dist/tor.sh +/contrib/dist/torctl +/contrib/dist/tor.service +/contrib/operator-tools/tor.logrotate +/contrib/dist/suse/tor.sh # /debian/ /debian/files @@ -110,7 +98,9 @@ /doc/tor-resolve.html.in /doc/tor-resolve.1.xml /doc/torify.1 +/doc/torify.1.in /doc/torify.html +/doc/torify.html.in /doc/torify.1.xml # /doc/spec/ @@ -1,4 +1,562 @@ -Changes in version 0.2.5.2 - 2013-01-?? +Changes in version 0.2.5.5-alpha - 2014-05-?? + + +Changes in version 0.2.5.4-alpha - 2014-04-25 + Tor 0.2.5.4-alpha includes several security and performance + improvements for clients and relays, including blacklisting authority + signing keys that were used while susceptible to the OpenSSL + "heartbleed" bug, fixing two expensive functions on busy relays, + improved TLS ciphersuite preference lists, support for run-time + hardening on compilers that support AddressSanitizer, and more work on + the Linux sandbox code. + + There are also several usability fixes for clients (especially clients + that use bridges), two new TransPort protocols supported (one on + OpenBSD, one on FreeBSD), and various other bugfixes. + + This release marks end-of-life for Tor 0.2.2.x; those Tor versions + have accumulated many known flaws; everyone should upgrade. + + o Major features (security): + - If you don't specify MaxMemInQueues yourself, Tor now tries to + pick a good value based on your total system memory. Previously, + the default was always 8 GB. You can still override the default by + setting MaxMemInQueues yourself. Resolves ticket 11396. + - Block authority signing keys that were used on authorities + vulnerable to the "heartbleed" bug in OpenSSL (CVE-2014-0160). (We + don't have any evidence that these keys _were_ compromised; we're + doing this to be prudent.) Resolves ticket 11464. + + o Major features (relay performance): + - Speed up server-side lookups of rendezvous and introduction point + circuits by using hashtables instead of linear searches. These + functions previously accounted between 3 and 7% of CPU usage on + some busy relays. Resolves ticket 9841. + - Avoid wasting CPU when extending a circuit over a channel that is + nearly out of circuit IDs. Previously, we would do a linear scan + over possible circuit IDs before finding one or deciding that we + had exhausted our possibilities. Now, we try at most 64 random + circuit IDs before deciding that we probably won't succeed. Fixes + a possible root cause of ticket 11553. + + o Major features (seccomp2 sandbox, Linux only): + - The seccomp2 sandbox can now run a test network for multiple hours + without crashing. The sandbox is still experimental, and more bugs + will probably turn up. To try it, enable "Sandbox 1" on a Linux + host. Resolves ticket 11351. + - Strengthen sandbox code: the sandbox can now test the arguments + for rename(), and blocks _sysctl() entirely. Resolves another part + of ticket 11351. + - When the sandbox blocks a system call, it now tries to log a stack + trace before exiting. Resolves ticket 11465. + + o Major bugfixes (TLS cipher selection): + - The relay ciphersuite list is now generated automatically based on + uniform criteria, and includes all OpenSSL ciphersuites with + acceptable strength and forward secrecy. Previously, we had left + some perfectly fine ciphersuites unsupported due to omission or + typo. Resolves bugs 11513, 11492, 11498, 11499. Bugs reported by + 'cypherpunks'. Bugfix on 0.2.4.8-alpha. + - Relays now trust themselves to have a better view than clients of + which TLS ciphersuites are better than others. (Thanks to bug + 11513, the relay list is now well-considered, whereas the client + list has been chosen mainly for anti-fingerprinting purposes.) + Relays prefer: AES over 3DES; then ECDHE over DHE; then GCM over + CBC; then SHA384 over SHA256 over SHA1; and last, AES256 over + AES128. Resolves ticket 11528. + - Clients now try to advertise the same list of ciphersuites as + Firefox 28. This change enables selection of (fast) GCM + ciphersuites, disables some strange old ciphers, and stops + advertising the ECDH (not to be confused with ECDHE) ciphersuites. + Resolves ticket 11438. + + o Major bugfixes (bridge client): + - Avoid 60-second delays in the bootstrapping process when Tor is + launching for a second time while using bridges. Fixes bug 9229; + bugfix on 0.2.0.3-alpha. + + o Minor features (transparent proxy, *BSD): + - Support FreeBSD's ipfw firewall interface for TransPort ports on + FreeBSD. To enable it, set "TransProxyType ipfw". Resolves ticket + 10267; patch from "yurivict". + - Support OpenBSD's divert-to rules with the pf firewall for + transparent proxy ports. To enable it, set "TransProxyType + pf-divert". This allows Tor to run a TransPort transparent proxy + port on OpenBSD 4.4 or later without root privileges. See the + pf.conf(5) manual page for information on configuring pf to use + divert-to rules. Closes ticket 10896; patch from Dana Koch. + + o Minor features (security): + - New --enable-expensive-hardening option to enable security + hardening options that consume nontrivial amounts of CPU and + memory. Right now, this includes AddressSanitizer and UbSan, which + are supported in newer versions of GCC and Clang. Closes ticket + 11477. + + o Minor features (log verbosity): + - Demote the message that we give when a flushing connection times + out for too long from NOTICE to INFO. It was usually meaningless. + Resolves ticket 5286. + - Don't log so many notice-level bootstrapping messages at startup + about downloading descriptors. Previously, we'd log a notice + whenever we learned about more routers. Now, we only log a notice + at every 5% of progress. Fixes bug 9963. + - Warn less verbosely when receiving a malformed + ESTABLISH_RENDEZVOUS cell. Fixes ticket 11279. + - When we run out of usable circuit IDs on a channel, log only one + warning for the whole channel, and describe how many circuits + there were on the channel. Fixes part of ticket 11553. + + o Minor features (relay): + - If a circuit timed out for at least 3 minutes, check if we have a + new external IP address, and publish a new descriptor with the new + IP address if it changed. Resolves ticket 2454. + + o Minor features (controller): + - Make the entire exit policy available from the control port via + GETINFO exit-policy/*. Implements enhancement 7952. Patch from + "rl1987". + - Because of the fix for ticket 11396, the real limit for memory + usage may no longer match the configured MaxMemInQueues value. The + real limit is now exposed via GETINFO limits/max-mem-in-queues. + + o Minor features (bridge client): + - Report a more useful failure message when we can't connect to a + bridge because we don't have the right pluggable transport + configured. Resolves ticket 9665. Patch from Fábio J. Bertinatto. + + o Minor features (diagnostic): + - Add more log messages to diagnose bug 7164, which causes + intermittent "microdesc_free() called but md was still referenced" + warnings. We now include more information, to figure out why we + might be cleaning a microdescriptor for being too old if it's + still referenced by a live node_t object. + + o Minor bugfixes (client, DNSPort): + - When using DNSPort, try to respond to AAAA requests with AAAA + answers. Previously, we hadn't looked at the request type when + deciding which answer type to prefer. Fixes bug 10468; bugfix on + 0.2.4.7-alpha. + - When receiving a DNS query for an unsupported record type, reply + with no answer rather than with a NOTIMPL error. This behavior + isn't correct either, but it will break fewer client programs, we + hope. Fixes bug 10268; bugfix on 0.2.0.1-alpha. Original patch + from "epoch". + + o Minor bugfixes (exit relay): + - Stop leaking memory when we successfully resolve a PTR record. + Fixes bug 11437; bugfix on 0.2.4.7-alpha. + + o Minor bugfixes (bridge client): + - Stop accepting bridge lines containing hostnames. Doing so would + cause clients to perform DNS requests on the hostnames, which was + not sensible behavior. Fixes bug 10801; bugfix on 0.2.0.1-alpha. + - Avoid a 60-second delay in the bootstrapping process when a Tor + client with pluggable transports re-reads its configuration at + just the wrong time. Re-fixes bug 11156; bugfix on 0.2.5.3-alpha. + + o Minor bugfixes (client, logging during bootstrap): + - Warn only once if we start logging in an unsafe way. Previously, + we complain as many times as we had problems. Fixes bug 9870; + bugfix on 0.2.5.1-alpha. + - Only report the first fatal bootstrap error on a given OR + connection. This stops us from telling the controller bogus error + messages like "DONE". Fixes bug 10431; bugfix on 0.2.1.1-alpha. + - Be more helpful when trying to run sandboxed on Linux without + libseccomp. Instead of saying "Sandbox is not implemented on this + platform", we now explain that we need to be built with + libseccomp. Fixes bug 11543; bugfix on 0.2.5.1-alpha. + - Avoid generating spurious warnings when starting with + DisableNetwork enabled. Fixes bug 11200 and bug 10405; bugfix on + 0.2.3.9-alpha. + + o Minor bugfixes (closing OR connections): + - If write_to_buf() in connection_write_to_buf_impl_() ever fails, + check if it's an or_connection_t and correctly call + connection_or_close_for_error() rather than + connection_mark_for_close() directly. Fixes bug 11304; bugfix on + 0.2.4.4-alpha. + - When closing all connections on setting DisableNetwork to 1, use + connection_or_close_normally() rather than closing OR connections + out from under the channel layer. Fixes bug 11306; bugfix on + 0.2.4.4-alpha. + + o Minor bugfixes (controller): + - Avoid sending a garbage value to the controller when a circuit is + cannibalized. Fixes bug 11519; bugfix on 0.2.3.11-alpha. + + o Minor bugfixes (tor-fw-helper): + - Allow tor-fw-helper to build again by adding src/ext to its + CPPFLAGS. Fixes bug 11296; bugfix on 0.2.5.3-alpha. + + o Minor bugfixes (bridges): + - Avoid potential crashes or bad behavior when launching a + server-side managed proxy with ORPort or ExtORPort temporarily + disabled. Fixes bug 9650; bugfix on 0.2.3.16-alpha. + + o Minor bugfixes (platform-specific): + - Fix compilation on Solaris, which does not have <endian.h>. Fixes + bug 11426; bugfix on 0.2.5.3-alpha. + - When dumping a malformed directory object to disk, save it in + binary mode on Windows, not text mode. Fixes bug 11342; bugfix on + 0.2.2.1-alpha. + - Don't report failures from make_socket_reuseable() on incoming + sockets on OSX: this can happen when incoming connections close + early. Fixes bug 10081. + + o Minor bugfixes (trivial memory leaks): + - Fix a small memory leak when signing a directory object. Fixes bug + 11275; bugfix on 0.2.4.13-alpha. + - Free placeholder entries in our circuit table at exit; fixes a + harmless memory leak. Fixes bug 11278; bugfix on 0.2.5.1-alpha. + - Don't re-initialize a second set of OpenSSL mutexes when starting + up. Previously, we'd make one set of mutexes, and then immediately + replace them with another. Fixes bug 11726; bugfix on + 0.2.5.3-alpha. + - Resolve some memory leaks found by coverity in the unit tests, on + exit in tor-gencert, and on a failure to compute digests for our + own keys when generating a v3 networkstatus vote. These leaks + should never have affected anyone in practice. + + o Minor bugfixes (hidden service): + - Only retry attempts to connect to a chosen rendezvous point 8 + times, not 30. Fixes bug 4241; bugfix on 0.1.0.1-rc. + + o Minor bugfixes (misc code correctness): + - Fix various instances of undefined behavior in channeltls.c, + tor_memmem(), and eventdns.c that would cause us to construct + pointers to memory outside an allocated object. (These invalid + pointers were not accessed, but C does not even allow them to + exist.) Fixes bug 10363; bugfixes on 0.1.1.1-alpha, 0.1.2.1-alpha, + 0.2.0.10-alpha, and 0.2.3.6-alpha. Reported by "bobnomnom". + - Use the AddressSanitizer and Ubsan sanitizers (in clang-3.4) to + fix some miscellaneous errors in our tests and codebase. Fixes bug + 11232. Bugfixes on versions back as far as 0.2.1.11-alpha. + - Always check return values for unlink, munmap, UnmapViewOfFile; + check strftime return values more often. In some cases all we can + do is report a warning, but this may help prevent deeper bugs from + going unnoticed. Closes ticket 8787; bugfixes on many, many tor + versions. + - Fix numerous warnings from the clang "scan-build" static analyzer. + Some of these are programming style issues; some of them are false + positives that indicated awkward code; some are undefined behavior + cases related to constructing (but not using) invalid pointers; + some are assumptions about API behavior; some are (harmlessly) + logging sizeof(ptr) bytes from a token when sizeof(*ptr) would be + correct; and one or two are genuine bugs that weren't reachable + from the rest of the program. Fixes bug 8793; bugfixes on many, + many tor versions. + + o Documentation: + - Build the torify.1 manpage again. Previously, we were only trying + to build it when also building tor-fw-helper. That's why we didn't + notice that we'd broken the ability to build it. Fixes bug 11321; + bugfix on 0.2.5.1-alpha. + - Fix the layout of the SOCKSPort flags in the manpage. Fixes bug + 11061; bugfix on 0.2.4.7-alpha. + - Correctly document that we search for a system torrc file before + looking in ~/.torrc. Fixes documentation side of 9213; bugfix on + 0.2.3.18-rc. + - Resolve warnings from Doxygen. + + o Code simplifications and refactoring: + - Remove is_internal_IP() function. Resolves ticket 4645. + - Remove unused function circuit_dump_by_chan from circuitlist.c. + Closes issue 9107; patch from "marek". + - Change our use of the ENUM_BF macro to avoid declarations that + confuse Doxygen. + + o Deprecated versions: + - Tor 0.2.2.x has reached end-of-life; it has received no patches or + attention for some while. Directory authorities no longer accept + descriptors from relays running any version of Tor prior to Tor + 0.2.3.16-alpha. Resolves ticket 11149. + + o Testing: + - New macros in test.h to simplify writing mock-functions for unit + tests. Part of ticket 11507. Patch from Dana Koch. + - Complete tests for the status.c module. Resolves ticket 11507. + Patch from Dana Koch. + + o Removed code: + - Remove all code for the long unused v1 directory protocol. + Resolves ticket 11070. + + +Changes in version 0.2.5.3-alpha - 2014-03-22 + Tor 0.2.5.3-alpha includes all the fixes from 0.2.4.21. It contains + two new anti-DoS features for Tor relays, resolves a bug that kept + SOCKS5 support for IPv6 from working, fixes several annoying usability + issues for bridge users, and removes more old code for unused + directory formats. + + The Tor 0.2.5.x release series is now in patch-freeze: no feature + patches not already written will be considered for inclusion in 0.2.5.x. + + o Major features (relay security, DoS-resistance): + - When deciding whether we have run out of memory and we need to + close circuits, also consider memory allocated in buffers for + streams attached to each circuit. + + This change, which extends an anti-DoS feature introduced in + 0.2.4.13-alpha and improved in 0.2.4.14-alpha, lets Tor exit relays + better resist more memory-based DoS attacks than before. Since the + MaxMemInCellQueues option now applies to all queues, it is renamed + to MaxMemInQueues. This feature fixes bug 10169. + - Avoid hash-flooding denial-of-service attacks by using the secure + SipHash-2-4 hash function for our hashtables. Without this + feature, an attacker could degrade performance of a targeted + client or server by flooding their data structures with a large + number of entries to be stored at the same hash table position, + thereby slowing down the Tor instance. With this feature, hash + table positions are derived from a randomized cryptographic key, + and an attacker cannot predict which entries will collide. Closes + ticket 4900. + - Decrease the lower limit of MaxMemInQueues to 256 MBytes (but leave + the default at 8GBytes), to better support Raspberry Pi users. Fixes + bug 9686; bugfix on 0.2.4.14-alpha. + + o Minor features (bridges, pluggable transports): + - Bridges now write the SHA1 digest of their identity key + fingerprint (that is, a hash of a hash of their public key) to + notice-level logs, and to a new hashed-fingerprint file. This + information will help bridge operators look up their bridge in + Globe and similar tools. Resolves ticket 10884. + - Improve the message that Tor displays when running as a bridge + using pluggable transports without an Extended ORPort listener. + Also, log the message in the log file too. Resolves ticket 11043. + + o Minor features (other): + - Add a new option, PredictedPortsRelevanceTime, to control how long + after having received a request to connect to a given port Tor + will try to keep circuits ready in anticipation of future requests + for that port. Patch from "unixninja92"; implements ticket 9176. + - Generate a warning if any ports are listed in the SocksPolicy, + DirPolicy, AuthDirReject, AuthDirInvalid, AuthDirBadDir, or + AuthDirBadExit options. (These options only support address + ranges.) Fixes part of ticket 11108. + - Update geoip and geoip6 to the February 7 2014 Maxmind GeoLite2 + Country database. + + o Minor bugfixes (new since 0.2.5.2-alpha, also in 0.2.4.21): + - Build without warnings under clang 3.4. (We have some macros that + define static functions only some of which will get used later in + the module. Starting with clang 3.4, these give a warning unless the + unused attribute is set on them.) Resolves ticket 10904. + - Fix build warnings about missing "a2x" comment when building the + manpages from scratch on OpenBSD; OpenBSD calls it "a2x.py". + Fixes bug 10929; bugfix on 0.2.2.9-alpha. Patch from Dana Koch. + + o Minor bugfixes (client): + - Improve the log message when we can't connect to a hidden service + because all of the hidden service directory nodes hosting its + descriptor are excluded. Improves on our fix for bug 10722, which + was a bugfix on 0.2.0.10-alpha. + - Raise a control port warning when we fail to connect to all of + our bridges. Previously, we didn't inform the controller, and + the bootstrap process would stall. Fixes bug 11069; bugfix on + 0.2.1.2-alpha. + - Exit immediately when a process-owning controller exits. + Previously, tor relays would wait for a little while after their + controller exited, as if they had gotten an INT signal -- but this + was problematic, since there was no feedback for the user. To do a + clean shutdown, controllers should send an INT signal and give Tor + a chance to clean up. Fixes bug 10449; bugfix on 0.2.2.28-beta. + - Stop attempting to connect to bridges before our pluggable + transports are configured (harmless but resulted in some erroneous + log messages). Fixes bug 11156; bugfix on 0.2.3.2-alpha. + - Fix connections to IPv6 addresses over SOCKS5. Previously, we were + generating incorrect SOCKS5 responses, and confusing client + applications. Fixes bug 10987; bugfix on 0.2.4.7-alpha. + + o Minor bugfixes (relays and bridges): + - Avoid crashing on a malformed resolv.conf file when running a + relay using Libevent 1. Fixes bug 8788; bugfix on 0.1.1.23. + - Non-exit relays no longer launch mock DNS requests to check for + DNS hijacking. This has been unnecessary since 0.2.1.7-alpha, when + non-exit relays stopped servicing DNS requests. Fixes bug 965; + bugfix on 0.2.1.7-alpha. Patch from Matt Pagan. + - Bridges now report complete directory request statistics. Related + to bug 5824; bugfix on 0.2.2.1-alpha. + - Bridges now never collect statistics that were designed for + relays. Fixes bug 5824; bugfix on 0.2.3.8-alpha. + - Stop giving annoying warning messages when we decide not to launch + a pluggable transport proxy that we don't need (because there are + no bridges configured to use it). Resolves ticket 5018; bugfix + on 0.2.5.2-alpha. + - Give the correct URL in the warning message when trying to run a + relay on an ancient version of Windows. Fixes bug 9393. + + o Minor bugfixes (backtrace support): + - Support automatic backtraces on more platforms by using the + "-fasynchronous-unwind-tables" compiler option. This option is + needed for platforms like 32-bit Intel where "-fomit-frame-pointer" + is on by default and table generation is not. This doesn't yet + add Windows support; only Linux, OSX, and some BSDs are affected. + Reported by 'cypherpunks'; fixes bug 11047; bugfix on 0.2.5.2-alpha. + - Avoid strange behavior if two threads hit failed assertions at the + same time and both try to log backtraces at once. (Previously, if + this had happened, both threads would have stored their intermediate + results in the same buffer, and generated junk outputs.) Reported by + "cypherpunks". Fixes bug 11048; bugfix on 0.2.5.2-alpha. + - Fix a compiler warning in format_number_sigsafe(). Bugfix on + 0.2.5.2-alpha; patch from Nick Hopper. + + o Minor bugfixes (unit tests): + - Fix a small bug in the unit tests that might have made the tests + call 'chmod' with an uninitialized bitmask. Fixes bug 10928; + bugfix on 0.2.5.1-alpha. Patch from Dana Koch. + + o Removed code: + - Remove all remaining code related to version-0 hidden service + descriptors: they have not been in use since 0.2.2.1-alpha. Fixes + the rest of bug 10841. + + o Documentation: + - Document in the manpage that "KBytes" may also be written as + "kilobytes" or "KB", that "Kbits" may also be written as + "kilobits", and so forth. Closes ticket 9222. + - Document that the ClientOnly config option overrides ORPort. + Our old explanation made ClientOnly sound as though it did + nothing at all. Resolves bug 9059. + - Explain that SocksPolicy, DirPolicy, and similar options don't + take port arguments. Fixes the other part of ticket 11108. + - Fix a comment about the rend_server_descriptor_t.protocols field + to more accurately describe its range. Also, make that field + unsigned, to more accurately reflect its usage. Fixes bug 9099; + bugfix on 0.2.1.5-alpha. + - Fix the manpage's description of HiddenServiceAuthorizeClient: + the maximum client name length is 16, not 19. Fixes bug 11118; + bugfix on 0.2.1.6-alpha. + + o Code simplifications and refactoring: + - Get rid of router->address, since in all cases it was just the + string representation of router->addr. Resolves ticket 5528. + + o Test infrastructure: + - Update to the latest version of tinytest. + - Improve the tinytest implementation of string operation tests so + that comparisons with NULL strings no longer crash the tests; they + now just fail, normally. Fixes bug 9004; bugfix on 0.2.2.4-alpha. + + +Changes in version 0.2.4.21 - 2014-02-28 + Tor 0.2.4.21 further improves security against potential adversaries who + find breaking 1024-bit crypto doable, and backports several stability + and robustness patches from the 0.2.5 branch. + + o Major features (client security): + - When we choose a path for a 3-hop circuit, make sure it contains + at least one relay that supports the NTor circuit extension + handshake. Otherwise, there is a chance that we're building + a circuit that's worth attacking by an adversary who finds + breaking 1024-bit crypto doable, and that chance changes the game + theory. Implements ticket 9777. + + o Major bugfixes: + - Do not treat streams that fail with reason + END_STREAM_REASON_INTERNAL as indicating a definite circuit failure, + since it could also indicate an ENETUNREACH connection error. Fixes + part of bug 10777; bugfix on 0.2.4.8-alpha. + + o Code simplification and refactoring: + - Remove data structures which were introduced to implement the + CellStatistics option: they are now redundant with the new timestamp + field in the regular packed_cell_t data structure, which we did + in 0.2.4.18-rc in order to resolve bug 9093. Resolves ticket 10870. + + o Minor features: + - Always clear OpenSSL bignums before freeing them -- even bignums + that don't contain secrets. Resolves ticket 10793. Patch by + Florent Daigniere. + - Build without warnings under clang 3.4. (We have some macros that + define static functions only some of which will get used later in + the module. Starting with clang 3.4, these give a warning unless the + unused attribute is set on them.) Resolves ticket 10904. + - Update geoip and geoip6 files to the February 7 2014 Maxmind + GeoLite2 Country database. + + o Minor bugfixes: + - Set the listen() backlog limit to the largest actually supported + on the system, not to the value in a header file. Fixes bug 9716; + bugfix on every released Tor. + - Treat ENETUNREACH, EACCES, and EPERM connection failures at an + exit node as a NOROUTE error, not an INTERNAL error, since they + can apparently happen when trying to connect to the wrong sort + of netblocks. Fixes part of bug 10777; bugfix on 0.1.0.1-rc. + - Fix build warnings about missing "a2x" comment when building the + manpages from scratch on OpenBSD; OpenBSD calls it "a2x.py". + Fixes bug 10929; bugfix on 0.2.2.9-alpha. Patch from Dana Koch. + - Avoid a segfault on SIGUSR1, where we had freed a connection but did + not entirely remove it from the connection lists. Fixes bug 9602; + bugfix on 0.2.4.4-alpha. + - Fix a segmentation fault in our benchmark code when running with + Fedora's OpenSSL package, or any other OpenSSL that provides + ECDH but not P224. Fixes bug 10835; bugfix on 0.2.4.8-alpha. + - Turn "circuit handshake stats since last time" log messages into a + heartbeat message. Fixes bug 10485; bugfix on 0.2.4.17-rc. + + o Documentation fixes: + - Document that all but one DirPort entry must have the NoAdvertise + flag set. Fixes bug 10470; bugfix on 0.2.3.3-alpha / 0.2.3.16-alpha. + + +Changes in version 0.2.5.2-alpha - 2014-02-13 + Tor 0.2.5.2-alpha includes all the fixes from 0.2.4.18-rc and 0.2.4.20, + like the "poor random number generation" fix and the "building too many + circuits" fix. It also further improves security against potential + adversaries who find breaking 1024-bit crypto doable, and launches + pluggable transports on demand (which gets us closer to integrating + pluggable transport support by default -- not to be confused with Tor + bundles enabling pluggable transports and bridges by default). + + o Major features (client security): + - When we choose a path for a 3-hop circuit, make sure it contains + at least one relay that supports the NTor circuit extension + handshake. Otherwise, there is a chance that we're building + a circuit that's worth attacking by an adversary who finds + breaking 1024-bit crypto doable, and that chance changes the game + theory. Implements ticket 9777. + - Clients now look at the "usecreatefast" consensus parameter to + decide whether to use CREATE_FAST or CREATE cells for the first hop + of their circuit. This approach can improve security on connections + where Tor's circuit handshake is stronger than the available TLS + connection security levels, but the tradeoff is more computational + load on guard relays. Implements proposal 221. Resolves ticket 9386. + + o Major features (bridges): + - Don't launch pluggable transport proxies if we don't have any + bridges configured that would use them. Now we can list many + pluggable transports, and Tor will dynamically start one when it + hears a bridge address that needs it. Resolves ticket 5018. + - The bridge directory authority now assigns status flags (Stable, + Guard, etc) to bridges based on thresholds calculated over all + Running bridges. Now bridgedb can finally make use of its features + to e.g. include at least one Stable bridge in its answers. Fixes + bug 9859. + + o Major features (other): + - Extend ORCONN controller event to include an "ID" parameter, + and add four new controller event types CONN_BW, CIRC_BW, + CELL_STATS, and TB_EMPTY that show connection and circuit usage. + The new events are emitted in private Tor networks only, with the + goal of being able to better track performance and load during + full-network simulations. Implements proposal 218 and ticket 7359. + - On some platforms (currently: recent OSX versions, glibc-based + platforms that support the ELF format, and a few other + Unix-like operating systems), Tor can now dump stack traces + when a crash occurs or an assertion fails. By default, traces + are dumped to stderr (if possible) and to any logs that are + reporting errors. Implements ticket 9299. + + o Major bugfixes: + - Avoid a segfault on SIGUSR1, where we had freed a connection but did + not entirely remove it from the connection lists. Fixes bug 9602; + bugfix on 0.2.4.4-alpha. + - Do not treat streams that fail with reason + END_STREAM_REASON_INTERNAL as indicating a definite circuit failure, + since it could also indicate an ENETUNREACH connection error. Fixes + part of bug 10777; bugfix on 0.2.4.8-alpha. o Major bugfixes (new since 0.2.5.1-alpha, also in 0.2.4.20): - Do not allow OpenSSL engines to replace the PRNG, even when @@ -25,6 +583,167 @@ Changes in version 0.2.5.2 - 2013-01-?? only our first guard. Discovered while fixing bug 9946; bugfix on 0.2.4.8-alpha. + o Minor features (bridges, pluggable transports): + - Add threshold cutoffs to the networkstatus document created by + the Bridge Authority. Fixes bug 1117. + - On Windows, spawn background processes using the CREATE_NO_WINDOW + flag. Now Tor Browser Bundle 3.5 with pluggable transports enabled + doesn't pop up a blank console window. (In Tor Browser Bundle 2.x, + Vidalia set this option for us.) Implements ticket 10297. + + o Minor features (security): + - Always clear OpenSSL bignums before freeing them -- even bignums + that don't contain secrets. Resolves ticket 10793. Patch by + Florent Daignière. + + o Minor features (config options and command line): + - Add an --allow-missing-torrc commandline option that tells Tor to + run even if the configuration file specified by -f is not available. + Implements ticket 10060. + - Add support for the TPROXY transparent proxying facility on Linux. + See documentation for the new TransProxyType option for more + details. Implementation by "thomo". Closes ticket 10582. + + o Minor features (controller): + - Add a new "HS_DESC" controller event that reports activities + related to hidden service descriptors. Resolves ticket 8510. + - New "DROPGUARDS" controller command to forget all current entry + guards. Not recommended for ordinary use, since replacing guards + too frequently makes several attacks easier. Resolves ticket 9934; + patch from "ra". + + o Minor features (build): + - Assume that a user using ./configure --host wants to cross-compile, + and give an error if we cannot find a properly named + tool-chain. Add a --disable-tool-name-check option to proceed + nevertheless. Addresses ticket 9869. Patch by Benedikt Gollatz. + - If we run ./configure and the compiler recognizes -fstack-protector + but the linker rejects it, warn the user about a potentially missing + libssp package. Addresses ticket 9948. Patch from Benedikt Gollatz. + + o Minor features (testing): + - If Python is installed, "make check" now runs extra tests beyond + the unit test scripts. + - When bootstrapping a test network, sometimes very few relays get + the Guard flag. Now a new option "TestingDirAuthVoteGuard" can + specify a set of relays which should be voted Guard regardless of + their uptime or bandwidth. Addresses ticket 9206. + + o Minor features (log messages): + - When ServerTransportPlugin is set on a bridge, Tor can write more + useful statistics about bridge use in its extrainfo descriptors, + but only if the Extended ORPort ("ExtORPort") is set too. Add a + log message to inform the user in this case. Resolves ticket 9651. + - When receiving a new controller connection, log the origin address. + Resolves ticket 9698; patch from "sigpipe". + - When logging OpenSSL engine status at startup, log the status of + more engines. Fixes ticket 10043; patch from Joshua Datko. + - Turn "circuit handshake stats since last time" log messages into a + heartbeat message. Fixes bug 10485; bugfix on 0.2.4.17-rc. + + o Minor features (new since 0.2.5.1-alpha, also in 0.2.4.18-rc): + - Improve the circuit queue out-of-memory handler. Previously, when + we ran low on memory, we'd close whichever circuits had the most + queued cells. Now, we close those that have the *oldest* queued + cells, on the theory that those are most responsible for us + running low on memory. Based on analysis from a forthcoming paper + by Jansen, Tschorsch, Johnson, and Scheuermann. Fixes bug 9093. + - Generate bootstrapping status update events correctly when fetching + microdescriptors. Fixes bug 9927. + - Update to the October 2 2013 Maxmind GeoLite Country database. + + o Minor bugfixes (clients): + - When closing a channel that has already been open, do not close + pending circuits that were waiting to connect to the same relay. + Fixes bug 9880; bugfix on 0.2.5.1-alpha. Thanks to skruffy for + finding this bug. + + o Minor bugfixes (relays): + - Treat ENETUNREACH, EACCES, and EPERM connection failures at an + exit node as a NOROUTE error, not an INTERNAL error, since they + can apparently happen when trying to connect to the wrong sort + of netblocks. Fixes part of bug 10777; bugfix on 0.1.0.1-rc. + + o Minor bugfixes (bridges): + - Fix a bug where the first connection works to a bridge that uses a + pluggable transport with client-side parameters, but we don't send + the client-side parameters on subsequent connections. (We don't + use any pluggable transports with client-side parameters yet, + but ScrambleSuit will soon become the first one.) Fixes bug 9162; + bugfix on 0.2.0.3-alpha. Based on a patch from "rl1987". + + o Minor bugfixes (node selection): + - If ExcludeNodes is set, consider non-excluded hidden service + directory servers before excluded ones. Do not consider excluded + hidden service directory servers at all if StrictNodes is + set. (Previously, we would sometimes decide to connect to those + servers, and then realize before we initiated a connection that + we had excluded them.) Fixes bug 10722; bugfix on 0.2.0.10-alpha. + Reported by "mr-4". + - If we set the ExitNodes option but it doesn't include any nodes + that have the Exit flag, we would choose not to bootstrap. Now we + bootstrap so long as ExitNodes includes nodes which can exit to + some port. Fixes bug 10543; bugfix on 0.2.4.10-alpha. + + o Minor bugfixes (controller and command-line): + - If changing a config option via "setconf" fails in a recoverable + way, we used to nonetheless write our new control ports to the + file described by the "ControlPortWriteToFile" option. Now we only + write out that file if we successfully switch to the new config + option. Fixes bug 5605; bugfix on 0.2.2.26-beta. Patch from "Ryman". + - When a command-line option such as --version or --help that + ordinarily implies --hush appears on the command line along with + --quiet, then actually obey --quiet. Previously, we obeyed --quiet + only if it appeared later on the command line. Fixes bug 9578; + bugfix on 0.2.5.1-alpha. + + o Minor bugfixes (code correctness): + - Previously we used two temporary files when writing descriptors to + disk; now we only use one. Fixes bug 1376. + - Remove an erroneous (but impossible and thus harmless) pointer + comparison that would have allowed compilers to skip a bounds + check in channeltls.c. Fixes bugs 10313 and 9980; bugfix on + 0.2.0.10-alpha. Noticed by Jared L Wong and David Fifield. + - Fix an always-true assertion in pluggable transports code so it + actually checks what it was trying to check. Fixes bug 10046; + bugfix on 0.2.3.9-alpha. Found by "dcb". + + o Minor bugfixes (protocol correctness): + - When receiving a VERSIONS cell with an odd number of bytes, close + the connection immediately since the cell is malformed. Fixes bug + 10365; bugfix on 0.2.0.10-alpha. Spotted by "bobnomnom"; fix by + "rl1987". + + o Minor bugfixes (build): + - Restore the ability to compile Tor with V2_HANDSHAKE_SERVER + turned off (that is, without support for v2 link handshakes). Fixes + bug 4677; bugfix on 0.2.3.2-alpha. Patch from "piet". + - Fix compilation warnings and startup issues when running with + "Sandbox 1" and libseccomp-2.1.0. Fixes bug 10563; bugfix on + 0.2.5.1-alpha. + - Fix compilation on Solaris 9, which didn't like us having an + identifier named "sun". Fixes bug 10565; bugfix in 0.2.5.1-alpha. + + o Minor bugfixes (testing): + - Fix a segmentation fault in our benchmark code when running with + Fedora's OpenSSL package, or any other OpenSSL that provides + ECDH but not P224. Fixes bug 10835; bugfix on 0.2.4.8-alpha. + + o Minor bugfixes (log messages): + - Fix a bug where clients using bridges would report themselves + as 50% bootstrapped even without a live consensus document. + Fixes bug 9922; bugfix on 0.2.1.1-alpha. + - Suppress a warning where, if there's only one directory authority + in the network, we would complain that votes and signatures cannot + be uploaded to other directory authorities. Fixes bug 10842; + bugfix on 0.2.2.26-beta. + - Report bootstrapping progress correctly when we're downloading + microdescriptors. We had updated our "do we have enough microdescs + to begin building circuits?" logic most recently in 0.2.4.10-alpha + (see bug 5956), but we left the bootstrap status event logic at + "how far through getting 1/4 of them are we?" Fixes bug 9958; + bugfix on 0.2.2.36, which is where they diverged (see bug 5343). + o Minor bugfixes (new since 0.2.5.1-alpha, also in 0.2.4.20): - Avoid a crash bug when starting with a corrupted microdescriptor cache file. Fixes bug 10406; bugfix on 0.2.2.6-alpha. @@ -63,22 +782,39 @@ Changes in version 0.2.5.2 - 2013-01-?? sorry. Fixes bug 9928; bugfix on 0.2.3.18-rc. Bug found by Pedro Ribeiro. - o Minor bugfixes: - - When closing a channel that has already been open, do not close - pending circuits that were waiting to connect to the same relay. - Fixes bug 9880; bugfix on 0.2.5.1-alpha. Thanks to skruffy for - finding this bug. + o Removed code and features: + - Clients now reject any directory authority certificates lacking + a dir-key-crosscert element. These have been included since + 0.2.1.9-alpha, so there's no real reason for them to be optional + any longer. Completes proposal 157. Resolves ticket 10162. + - Remove all code that existed to support the v2 directory system, + since there are no longer any v2 directory authorities. Resolves + ticket 10758. + - Remove the HSAuthoritativeDir and AlternateHSAuthority torrc + options, which were used for designating authorities as "Hidden + service authorities". There has been no use of hidden service + authorities since 0.2.2.1-alpha, when we stopped uploading or + downloading v0 hidden service descriptors. Fixes bug 10881; also + part of a fix for bug 10841. - o Minor features (new since 0.2.5.1-alpha, also in 0.2.4.18-rc): - - Improve the circuit queue out-of-memory handler. Previously, when - we ran low on memory, we'd close whichever circuits had the most - queued cells. Now, we close those that have the *oldest* queued - cells, on the theory that those are most responsible for us - running low on memory. Based on analysis from a forthcoming paper - by Jansen, Tschorsch, Johnson, and Scheuermann. Fixes bug 9093. - - Generate bootstrapping status update events correctly when fetching - microdescriptors. Fixes bug 9927. - - Update to the October 2 2013 Maxmind GeoLite Country database. + o Code simplification and refactoring: + - Remove some old fallback code designed to keep Tor clients working + in a network with only two working relays. Elsewhere in the code we + have long since stopped supporting such networks, so there wasn't + much point in keeping it around. Addresses ticket 9926. + - Reject 0-length EXTEND2 cells more explicitly. Fixes bug 10536; + bugfix on 0.2.4.8-alpha. Reported by "cypherpunks". + - Remove data structures which were introduced to implement the + CellStatistics option: they are now redundant with the addition + of a timestamp to the regular packed_cell_t data structure, which + we did in 0.2.4.18-rc in order to resolve ticket 9093. Implements + ticket 10870. + + o Documentation (man page) fixes: + - Update manpage to describe some of the files you can expect to + find in Tor's DataDirectory. Addresses ticket 9839. + - Document that all but one DirPort entry must have the NoAdvertise + flag set. Fixes bug 10470; bugfix on 0.2.3.3-alpha / 0.2.3.16-alpha. o Documentation fixes (new since 0.2.5.1-alpha, also in 0.2.4.18-rc): - Clarify the usage and risks of setting the ContactInfo torrc line @@ -88,6 +824,11 @@ Changes in version 0.2.5.2 - 2013-01-?? - Replace remaining references to DirServer in man page and log entries. Resolves ticket 10124. + o Tool changes: + - Make the "tor-gencert" tool used by directory authority operators + create 2048-bit signing keys by default (rather than 1024-bit, since + 1024-bit is uncomfortably small these days). Addresses ticket 10324. + Changes in version 0.2.4.20 - 2013-12-22 Tor 0.2.4.20 fixes potentially poor random number generation for users @@ -962,6 +1703,10 @@ Changes in version 0.2.4.11-alpha - 2013-03-11 - Randomize the lifetime of our SSL link certificate, so censors can't use the static value for filtering Tor flows. Resolves ticket 8443; related to ticket 4014 which was included in 0.2.2.33. + - Support a new version of the link protocol that allows 4-byte circuit + IDs. Previously, circuit IDs were limited to 2 bytes, which presented + a possible resource exhaustion issue. Closes ticket 7351; implements + proposal 214. o Minor features (portability): - Tweak the curve25519-donna*.c implementations to tolerate systems @@ -101,6 +101,29 @@ src/ext/tor_queue.h is licensed under the following license: * SUCH DAMAGE. =============================================================================== +src/ext/csiphash.c is licensed under the following license: + + Copyright (c) 2013 Marek Majkowski <marek@popcount.org> + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +=============================================================================== src/config/geoip is licensed under the following license: OPEN DATA LICENSE (GeoLite Country and GeoLite City databases) diff --git a/Makefile.am b/Makefile.am index 0361d87cec..6eceb761f4 100644 --- a/Makefile.am +++ b/Makefile.am @@ -77,7 +77,7 @@ reset-gcov: # Avoid strlcpy.c, strlcat.c, aes.c, OpenBSD_malloc_Linux.c, sha256.c, # eventdns.[hc], tinytest*.[ch] check-spaces: - ./contrib/checkSpace.pl -C \ + ./scripts/maint/checkSpace.pl -C \ src/common/*.[ch] \ src/or/*.[ch] \ src/test/*.[ch] \ @@ -85,10 +85,10 @@ check-spaces: src/tools/tor-fw-helper/*.[ch] check-docs: - ./contrib/checkOptionDocs.pl + ./scripts/maint/checkOptionDocs.pl check-logs: - ./contrib/checkLogs.pl \ + ./scripts/maint/checkLogs.pl \ src/*/*.[ch] | sort -n version: @@ -22,3 +22,6 @@ Frequently Asked Questions: https://www.torproject.org/faq.html https://wiki.torproject.org/noreply/TheOnionRouter/TorFAQ + +To get started working on Tor development: + See the doc/HACKING file. diff --git a/ReleaseNotes b/ReleaseNotes index 54195f82ae..8709d0d48f 100644 --- a/ReleaseNotes +++ b/ReleaseNotes @@ -3,6 +3,67 @@ This document summarizes new features and bugfixes in each stable release of Tor. If you want to see more detailed descriptions of the changes in each development snapshot, see the ChangeLog file. +Changes in version 0.2.4.21 - 2014-02-28 + Tor 0.2.4.21 further improves security against potential adversaries who + find breaking 1024-bit crypto doable, and backports several stability + and robustness patches from the 0.2.5 branch. + + o Major features (client security): + - When we choose a path for a 3-hop circuit, make sure it contains + at least one relay that supports the NTor circuit extension + handshake. Otherwise, there is a chance that we're building + a circuit that's worth attacking by an adversary who finds + breaking 1024-bit crypto doable, and that chance changes the game + theory. Implements ticket 9777. + + o Major bugfixes: + - Do not treat streams that fail with reason + END_STREAM_REASON_INTERNAL as indicating a definite circuit failure, + since it could also indicate an ENETUNREACH connection error. Fixes + part of bug 10777; bugfix on 0.2.4.8-alpha. + + o Code simplification and refactoring: + - Remove data structures which were introduced to implement the + CellStatistics option: they are now redundant with the new timestamp + field in the regular packed_cell_t data structure, which we did + in 0.2.4.18-rc in order to resolve bug 9093. Resolves ticket 10870. + + o Minor features: + - Always clear OpenSSL bignums before freeing them -- even bignums + that don't contain secrets. Resolves ticket 10793. Patch by + Florent Daigniere. + - Build without warnings under clang 3.4. (We have some macros that + define static functions only some of which will get used later in + the module. Starting with clang 3.4, these give a warning unless the + unused attribute is set on them.) Resolves ticket 10904. + - Update geoip and geoip6 files to the February 7 2014 Maxmind + GeoLite2 Country database. + + o Minor bugfixes: + - Set the listen() backlog limit to the largest actually supported + on the system, not to the value in a header file. Fixes bug 9716; + bugfix on every released Tor. + - Treat ENETUNREACH, EACCES, and EPERM connection failures at an + exit node as a NOROUTE error, not an INTERNAL error, since they + can apparently happen when trying to connect to the wrong sort + of netblocks. Fixes part of bug 10777; bugfix on 0.1.0.1-rc. + - Fix build warnings about missing "a2x" comment when building the + manpages from scratch on OpenBSD; OpenBSD calls it "a2x.py". + Fixes bug 10929; bugfix on 0.2.2.9-alpha. Patch from Dana Koch. + - Avoid a segfault on SIGUSR1, where we had freed a connection but did + not entirely remove it from the connection lists. Fixes bug 9602; + bugfix on 0.2.4.4-alpha. + - Fix a segmentation fault in our benchmark code when running with + Fedora's OpenSSL package, or any other OpenSSL that provides + ECDH but not P224. Fixes bug 10835; bugfix on 0.2.4.8-alpha. + - Turn "circuit handshake stats since last time" log messages into a + heartbeat message. Fixes bug 10485; bugfix on 0.2.4.17-rc. + + o Documentation fixes: + - Document that all but one DirPort entry must have the NoAdvertise + flag set. Fixes bug 10470; bugfix on 0.2.3.3-alpha / 0.2.3.16-alpha. + + Changes in version 0.2.4.20 - 2013-12-22 Tor 0.2.4.20 fixes potentially poor random number generation for users who 1) use OpenSSL 1.0.0 or later, 2) set "HardwareAccel 1" in their diff --git a/changes/10582_tproxy b/changes/10582_tproxy deleted file mode 100644 index 8eed6a29ba..0000000000 --- a/changes/10582_tproxy +++ /dev/null @@ -1,7 +0,0 @@ - o Minor features: - - - Add support for the TPROXY transparent proxying facility on Linux. - See documentation for the new TransProxyType option for more details. - Implementation by "thomo". Closes ticket 10582. - - diff --git a/changes/bug10046 b/changes/bug10046 deleted file mode 100644 index b2f545efe9..0000000000 --- a/changes/bug10046 +++ /dev/null @@ -1,3 +0,0 @@ - o Minor bugfixes: - - Fix an always-true assertion in pluggable transports code. Fixes - issue 10046. Found by dcb. diff --git a/changes/bug10297 b/changes/bug10297 deleted file mode 100644 index 4cdd80f83b..0000000000 --- a/changes/bug10297 +++ /dev/null @@ -1,4 +0,0 @@ - o Minor features: - - Spawn background processes using the CREATE_NO_WINDOW flag on - Windows, in order to prevent a console window from appearing. - Resolves ticket 10297. diff --git a/changes/bug10313 b/changes/bug10313 deleted file mode 100644 index b29d4daffd..0000000000 --- a/changes/bug10313 +++ /dev/null @@ -1,8 +0,0 @@ - o Minor bugfixes: - - Fixed an erroneous pointer comparison that would have allowed - compilers to remove a bounds check in channeltls.c. The fix - was to remove the check entirely, since it was impossible for - the code to overflow the bounds. Noticed by Jared L - Wong. Fixes bug 10313 and 9980. Bugfix on 0.2.0.10-alpha. - - diff --git a/changes/bug10324 b/changes/bug10324 deleted file mode 100644 index 9cd7d5bdb8..0000000000 --- a/changes/bug10324 +++ /dev/null @@ -1,2 +0,0 @@ - o Tool changes: - - Make tor-gencert create 2048 bit signing keys. Addresses ticket #10324. diff --git a/changes/bug10365 b/changes/bug10365 deleted file mode 100644 index f7a15155dd..0000000000 --- a/changes/bug10365 +++ /dev/null @@ -1,7 +0,0 @@ - o Minor bugfixes: - - - When receving a VERSIONS cell with an odd number of bytes, close - the connection immediately. Fix for bug 10365; bugfix on - 0.2.0.10-alpha. Spotted by "bobnomnom"; fix by "rl1987". - - diff --git a/changes/bug10470 b/changes/bug10470 deleted file mode 100644 index 2b753436d9..0000000000 --- a/changes/bug10470 +++ /dev/null @@ -1,4 +0,0 @@ - o Documentation fixes: - - Note that all but one DirPort entry must have the NoAdvertise flag - set. Fix for #10470. - diff --git a/changes/bug10485 b/changes/bug10485 deleted file mode 100644 index d2b3d8be0b..0000000000 --- a/changes/bug10485 +++ /dev/null @@ -1,12 +0,0 @@ -<<<<<<< HEAD - o Minor bugfixes: - - Turn "circuit handshake stats since last time" log messages into a - heartbeat message. Fixes bug 10485; bugfix on 0.2.4.17-rc. - -||||||| merged common ancestors -======= - o Minor bugfixes: - - Move message about circuit handshake counts into the heartbeat - message where it belongs, instead of logging it once per hour - unconditionally. Fixes bug 10485; bugfix on 0.2.4.17-rc. ->>>>>>> origin/maint-0.2.4 diff --git a/changes/bug10536 b/changes/bug10536 deleted file mode 100644 index e15da7c0f6..0000000000 --- a/changes/bug10536 +++ /dev/null @@ -1,6 +0,0 @@ - - o Minor bugfixes: - - Reject 0-lenth EXTEND2 cells more expicitly. Previously our code would - reject them a bit later than it should have. This bug is - harmless. Fixes bug 10536; bugfix on 0.2.4.8-alpha. Reported by - "cypherpunks". diff --git a/changes/bug10543 b/changes/bug10543 deleted file mode 100644 index 60445063cf..0000000000 --- a/changes/bug10543 +++ /dev/null @@ -1,5 +0,0 @@ - o Minor bugfixes: - - If all nodes with the Exit flag have been disabled with the ExitNodes - flag, consider nodes which can exit to other ports as well. Fixes bug - 10543; bugfix on 0.2.4.10-alpha. - diff --git a/changes/bug10565 b/changes/bug10565 deleted file mode 100644 index 9fef9d43e7..0000000000 --- a/changes/bug10565 +++ /dev/null @@ -1,3 +0,0 @@ - o Minor bugfixes: - - Fix compilation on Solaris 9, which didn't like us to have an - identifier namd "sun". Fixes bug 10565; bugfix in 0.2.5.1-alpha. diff --git a/changes/bug10722 b/changes/bug10722 deleted file mode 100644 index dd4711f110..0000000000 --- a/changes/bug10722 +++ /dev/null @@ -1,8 +0,0 @@ - o Minor bugfixes: - - Consider non-excluded hidden service directory servers before - excluded ones. Do not consider excluded hidden service directory - servers at all if StrictNodes was set. (Previously, we would - sometimes decide to connect to those servers, and then realize - before we initiated a connection that we had excluded them.) - Fix for bug #10722. Bugfix on 0.2.0.10-alpha. Reported by - "mr-4". diff --git a/changes/bug10758 b/changes/bug10758 deleted file mode 100644 index beadd9e5e5..0000000000 --- a/changes/bug10758 +++ /dev/null @@ -1,4 +0,0 @@ - o Removed code - - Remove all code that existed to support the v2 directory system: - There are no longer any v2 directory authorities. Resolves - bug 10758. diff --git a/changes/bug10793 b/changes/bug10793 deleted file mode 100644 index 24c4025dde..0000000000 --- a/changes/bug10793 +++ /dev/null @@ -1,4 +0,0 @@ - o Minor features (security): - - Always clear OpenSSL bignums before freeing them--even bignums - that don't contain secrets. Resolves ticket 10793. Patch by - Florent Daigniere. diff --git a/changes/bug10835 b/changes/bug10835 deleted file mode 100644 index 9df7bdd279..0000000000 --- a/changes/bug10835 +++ /dev/null @@ -1,4 +0,0 @@ - o Minor bugfixes (testing): - - Fix a segmentation fault in our benchmark code when running with - Fedora's OpenSSL package, or any other OpenSSL that provides - ECDH but not P224. Fixes bug 10835; bugfix on 0.2.4.8-alpha. diff --git a/changes/bug10842 b/changes/bug10842 deleted file mode 100644 index 0ead9e7db8..0000000000 --- a/changes/bug10842 +++ /dev/null @@ -1,4 +0,0 @@ - o Minor bugfixes: - - Suppress a warning that votes and signatures cannot be uploaded to - other directory authorities if there's only one directory authority - in the network. Bugfix on 0.2.2.26-beta. Resolves ticket 10842. diff --git a/changes/bug10849_023 b/changes/bug10849_023 new file mode 100644 index 0000000000..480dea3de0 --- /dev/null +++ b/changes/bug10849_023 @@ -0,0 +1,6 @@ + o Major bugfixes: + - When running a hidden service, do not allow TunneledDirConns 0; + this will keep the hidden service from running, and also + make it publish its descriptors directly over HTTP. Fixes bug 10849; + bugfix on 0.2.1.1-alpha. + diff --git a/changes/bug11605 b/changes/bug11605 new file mode 100644 index 0000000000..973ac6db18 --- /dev/null +++ b/changes/bug11605 @@ -0,0 +1,2 @@ + o Minor bugfixes (dmalloc): + - Fix compilation with dmalloc. Fixes bug 11605; bugfix on 0.2.4.10-alpha. diff --git a/changes/bug11608 b/changes/bug11608 new file mode 100644 index 0000000000..f34c9eb17b --- /dev/null +++ b/changes/bug11608 @@ -0,0 +1,5 @@ + o Minor bugfixes (testing): + - The Python parts of the test scripts now work on Python 3 as well + as Python 2, so systems where '/usr/bin/python' is Python 3 will + no longer have the tests break. Fixes bug 11608; bugfix on + 0.2.5.2-alpha. diff --git a/changes/bug11623 b/changes/bug11623 new file mode 100644 index 0000000000..58ff06d38b --- /dev/null +++ b/changes/bug11623 @@ -0,0 +1,3 @@ + o Minor bugfixes: + - Make Tor compile correctly with --disable-buf-freelists. + Fixes bug 11623; bugfix on 0.2.5.3-alpha. diff --git a/changes/bug11628 b/changes/bug11628 new file mode 100644 index 0000000000..b93e1f4fc7 --- /dev/null +++ b/changes/bug11628 @@ -0,0 +1,4 @@ + o Minor features: + - The configure script has a --disable-seccomp option to turn off + support for libseccomp on systems that have it, in case it (or + Tor's use of it) is broken. Resolves ticket 11628. diff --git a/changes/bug11632 b/changes/bug11632 new file mode 100644 index 0000000000..0dc7f8f1e2 --- /dev/null +++ b/changes/bug11632 @@ -0,0 +1,5 @@ + o Minor bugfixes (testing): + - When looking for versions of python that we could run the tests + with, check for "python2.7" and "python3.3"; previously we were + only looking for "python", "python2", and "python3". Patch from + Dana Koch. Fixes bug 11632; bugfix on 0.2.5.2-alpha. diff --git a/changes/bug11633_part1 b/changes/bug11633_part1 new file mode 100644 index 0000000000..fb281bd7d0 --- /dev/null +++ b/changes/bug11633_part1 @@ -0,0 +1,4 @@ + o Minor bugfixes (build): + - Resolve GCC complaints on OpenBSD about discarding constness in + TO_{ORIGIN,OR}_CIRCUIT functions. Fixes part of bug 11633; bugfix on + 0.1.1.23. Patch from Dana Koch. diff --git a/changes/bug11634 b/changes/bug11634 new file mode 100644 index 0000000000..2a52b3fcf2 --- /dev/null +++ b/changes/bug11634 @@ -0,0 +1,6 @@ + o Documentation: + - Clean up several option names in the manpage to match their real + names, add the missing documentation for a couple of testing and + directory authority options, remove the documentation for a + V2-directory fetching option that no longer exists. Resolves + ticket 11634. diff --git a/changes/bug11635 b/changes/bug11635 new file mode 100644 index 0000000000..bb5eceee30 --- /dev/null +++ b/changes/bug11635 @@ -0,0 +1,6 @@ + o Minor bugfixes (pluggable transports): + - Enable the ExtORPortCookieAuthFile option, to allow changing the + default location of the authentication token for the extended OR Port + as used by sever-side pluggable transports. We had implemented this + option before, but the code to make it settable had been omitted. + Fixes bug 11635; bugfix on 0.2.5.1-alpha. diff --git a/changes/bug1376 b/changes/bug1376 deleted file mode 100644 index bee42a39a4..0000000000 --- a/changes/bug1376 +++ /dev/null @@ -1,4 +0,0 @@ - o Minor bugfixes: - - - Added additional argument to write_chunks_to_file to optionally skip - using a temp file to do non-atomic writes. Implements ticket #1376. diff --git a/changes/bug4677 b/changes/bug4677 deleted file mode 100644 index 9a62bdb9cc..0000000000 --- a/changes/bug4677 +++ /dev/null @@ -1,4 +0,0 @@ - o Minor bugfixes (build): - - Restore the ability to compile Tor with V2_HANDSHAKE_SERVER - turned off. Fixes bug 4677; bugfix on 0.2.3.2-alpha. Patch - from "piet". diff --git a/changes/bug5018 b/changes/bug5018 deleted file mode 100644 index c5c12efaba..0000000000 --- a/changes/bug5018 +++ /dev/null @@ -1,3 +0,0 @@ - o Minor features: - - Don't launch pluggable transport proxies that contribute - transports we don't need. Resolves ticket 5018. diff --git a/changes/bug5605 b/changes/bug5605 deleted file mode 100644 index 2144d968fd..0000000000 --- a/changes/bug5605 +++ /dev/null @@ -1,5 +0,0 @@ -o Minor Bugfixes: - - No longer writing control ports to file if updating reversible - options fail. Fixes bug 5605; bugfix on 0.2.2.26-beta. Patch from - Ryman. - diff --git a/changes/bug7359 b/changes/bug7359 deleted file mode 100644 index d1bff0afa2..0000000000 --- a/changes/bug7359 +++ /dev/null @@ -1,7 +0,0 @@ - o Minor features (controller): - - Extend ORCONN controller event by ID parameter and add four new - controller event types CONN_BW, CIRC_BW, CELL_STATS, and TB_EMPTY - that shall help understand connection and circuit usage. The new - events are emitted in private Tor networks only. Implements - proposal 218. Resolves ticket #7359. - diff --git a/changes/bug8368 b/changes/bug8368 new file mode 100644 index 0000000000..fa3991c3a6 --- /dev/null +++ b/changes/bug8368 @@ -0,0 +1,4 @@ + o Minor features: + - Add a systemd service file (tor.service) that can be installed by + Linux distributions that make use of the systemd init daemon. + Fixes bug 8368. diff --git a/changes/bug9162 b/changes/bug9162 deleted file mode 100644 index c1a247a97f..0000000000 --- a/changes/bug9162 +++ /dev/null @@ -1,6 +0,0 @@ - o Minor bugfixes: - - Fix a get_configured_bridge_by_addr_port_digest() function so - that it would return a bridge with given address and port even - if bridge digest is not specified by caller. Fixes bug 9162; - bugfix on 0.2.0.3-alpha. Based on a patch from "rl1987". - diff --git a/changes/bug9206 b/changes/bug9206 deleted file mode 100644 index 7acb366990..0000000000 --- a/changes/bug9206 +++ /dev/null @@ -1,6 +0,0 @@ - o Minor features (testing): - - - When bootstrapping a test network, few relays get the Guard - flag. There is now a new option, TestingDirAuthVoteGuard, which - can be used to specify a set of relays which should be voted - Guard regardless of uptime or bandwidth. Addresses ticket 9206. diff --git a/changes/bug9578 b/changes/bug9578 deleted file mode 100644 index 96d66fe1f7..0000000000 --- a/changes/bug9578 +++ /dev/null @@ -1,6 +0,0 @@ - o Minor bugfixes: - - When a command-line option such as --version or --help that ordinarily - implies --hush appears on the command line along with --quiet, obey - --quiet. Previously, we obeyed --quiet only if it appeared later on the - command line. Fixes bug 9578; bugfix on 0.2.5.1-alpha. - diff --git a/changes/bug9602 b/changes/bug9602 deleted file mode 100644 index 2dc13c4c02..0000000000 --- a/changes/bug9602 +++ /dev/null @@ -1,5 +0,0 @@ - o Bugfixes - - Null out orconn->chan->conn when closing orconn in case orconn is freed - before channel_run_cleanup() gets to orconn->chan, and handle the null - conn edge case correctly in channel_tls_t methods. Fixes bug #9602; - bugfix on 0.2.4.4-alpha. diff --git a/changes/bug9651 b/changes/bug9651 deleted file mode 100644 index 453fe9a4a0..0000000000 --- a/changes/bug9651 +++ /dev/null @@ -1,3 +0,0 @@ - o Minor features: - - Warn when the Extended ORPort should be set, but it isn't. Resolves - ticket 9651. diff --git a/changes/bug9698 b/changes/bug9698 deleted file mode 100644 index ee5c4f64a5..0000000000 --- a/changes/bug9698 +++ /dev/null @@ -1,3 +0,0 @@ - o Minor features: - - When receiving a new controller connection, log the origin address. - Resolves ticket 9698; patch from "sigpipe". diff --git a/changes/bug9859 b/changes/bug9859 deleted file mode 100644 index 54ca30e6f7..0000000000 --- a/changes/bug9859 +++ /dev/null @@ -1,6 +0,0 @@ - o Minor Feature - - - Assign status flags to bridges based on thresholds calculated - over all bridges. Fixes bug 9859. - - Add threshold cutoffs to the networkstatus document created by - the Bridge Authority. Fixes bug 1117. diff --git a/changes/bug9869 b/changes/bug9869 deleted file mode 100644 index d67156d384..0000000000 --- a/changes/bug9869 +++ /dev/null @@ -1,7 +0,0 @@ - o Minor features (build): - - - Assume that a user using configure --host wants to cross- - compile and error if we cannot find a properly named tool- - chain. Add --disable-tool-name-check to enable the user - to build nevertheless. Addresses ticket 9869. Patch by - Benedikt Gollatz. diff --git a/changes/bug9922 b/changes/bug9922 deleted file mode 100644 index 9ac21118da..0000000000 --- a/changes/bug9922 +++ /dev/null @@ -1,5 +0,0 @@ - o Minor bugfixes: - - Fix a bug where clients using bridges would report themselves - as 50% bootstrapped even without a live consensus document. - Fixes bug 9922; bugfix on 0.2.1.1-alpha. - diff --git a/changes/bug9926 b/changes/bug9926 deleted file mode 100644 index 51af5e088e..0000000000 --- a/changes/bug9926 +++ /dev/null @@ -1,6 +0,0 @@ - o Minor bugfixes: - - Remove some old fallback code designed to keep Tor clients working - in a network with only two working nodes. Elsewhere in the code we - have long since stopped supporting such networks, so there wasn't - much point in keeping it around. Fixes bug 9926. - diff --git a/changes/bug9934 b/changes/bug9934 deleted file mode 100644 index 2a636dba83..0000000000 --- a/changes/bug9934 +++ /dev/null @@ -1,4 +0,0 @@ - o Minor features (controller): - - New DROPGUARDS command to forget all current entry guards. Not - recommended for ordinary use, since replacing guards too frequently - makes several attacks easier. Resolves ticket #9934; patch from "ra". diff --git a/changes/bug9948 b/changes/bug9948 deleted file mode 100644 index 6a673c0548..0000000000 --- a/changes/bug9948 +++ /dev/null @@ -1,6 +0,0 @@ - o Minor features (build): - - - Check in configure whether we can link an executable when - stack protection is enabled so we can warn the user about a - potentially missing libssp. Addresses ticket 9948. Patch - from Benedikt Gollatz. diff --git a/changes/bug9958 b/changes/bug9958 deleted file mode 100644 index b801dcf779..0000000000 --- a/changes/bug9958 +++ /dev/null @@ -1,8 +0,0 @@ - o Minor bugfixes: - - Report bootstrapping progress correctly when we're downloading - microdescriptors. We had updated our "do we have enough microdescs - to begin building circuits?" logic most recently in 0.2.4.10-alpha - (see bug 5956), but we left the bootstrap status event logic at - "how far through getting 1/4 of them are we?" Fixes bug 9958; - bugfix on 0.2.2.36, which is where they diverged (see bug 5343). - diff --git a/changes/feature9777 b/changes/feature9777 deleted file mode 100644 index 312b5e034e..0000000000 --- a/changes/feature9777 +++ /dev/null @@ -1,3 +0,0 @@ - o Minor features: - - Avoid using circuit paths if no node in the path supports the ntor - circuit extension handshake. Implements ticket 9777. diff --git a/changes/md_leak_bug b/changes/md_leak_bug new file mode 100644 index 0000000000..26270aacc3 --- /dev/null +++ b/changes/md_leak_bug @@ -0,0 +1,5 @@ + o Major bugfixes (security, OOM) + - Fix a memory leak that could occur if a microdescriptor parse + fails during the tokenizing step. This could enable a memory + exhaustion attack by directory servers. Fixes bug #11649; bugfix + on 0.2.2.6-alpha. diff --git a/changes/prop157-require b/changes/prop157-require deleted file mode 100644 index f04806ddd0..0000000000 --- a/changes/prop157-require +++ /dev/null @@ -1,5 +0,0 @@ - o Minor features: - - Clients now reject any directory authority certificates lacking - a dir-key-crosscert element. These have been included since - 0.2.1.9-alpha, so there's no real reason for them to be optional - any longer. Completes proposal 157. diff --git a/changes/prop221 b/changes/prop221 deleted file mode 100644 index b2bf44bc37..0000000000 --- a/changes/prop221 +++ /dev/null @@ -1,6 +0,0 @@ - o Minor features: - - Stop sending the CREATE_FAST cells by default; instead, use a - parameter in the consensus to decide whether to use - CREATE_FAST. This can improve security on connections where - Tor's circuit handshake is stronger than the available TLS - connection security levels. Implements proposal 221. diff --git a/changes/python-tests b/changes/python-tests deleted file mode 100644 index 4373e31e6a..0000000000 --- a/changes/python-tests +++ /dev/null @@ -1,4 +0,0 @@ - o Minor features: - - "make check" now runs extra tests beyond the unit test scripts if - Python is installed. - diff --git a/changes/seccomp2-fixes b/changes/seccomp2-fixes deleted file mode 100644 index 600feecd11..0000000000 --- a/changes/seccomp2-fixes +++ /dev/null @@ -1,3 +0,0 @@ - o Minor bugfixes: - - Fix compilation warnings and startup issues when running with - libseccomp-2.1.0. Fixes bug 10563. diff --git a/changes/stack_trace b/changes/stack_trace deleted file mode 100644 index 2eaf15ec89..0000000000 --- a/changes/stack_trace +++ /dev/null @@ -1,8 +0,0 @@ - o Major features: - - On some platforms (currently: recent OSX versions, glibc-based - platforms that support the ELF format, and a few other - Unix-like operating systems), Tor can now dump stack traces - when a crash occurs or an assertion fails. By default, traces - are dumped to stderr (if possible) and to any logs that are - reporting errors. - diff --git a/changes/ticket10043 b/changes/ticket10043 deleted file mode 100644 index 21541bedbb..0000000000 --- a/changes/ticket10043 +++ /dev/null @@ -1,4 +0,0 @@ - o Minor features: - - When logging OpenSSL engine status at startup, log the status of - more engines. Fixes ticket 10043; patch from Joshua Datko. - diff --git a/changes/ticket10060 b/changes/ticket10060 deleted file mode 100644 index 867c46436b..0000000000 --- a/changes/ticket10060 +++ /dev/null @@ -1,5 +0,0 @@ - o Minor features: - - Adding --allow-missing-torrc commandline option that allows Tor to - run if configuration file specified by -f is not available. - Implements ticket 10060. - diff --git a/changes/ticket8368 b/changes/ticket8368 new file mode 100644 index 0000000000..206a766548 --- /dev/null +++ b/changes/ticket8368 @@ -0,0 +1,5 @@ + o Distribution: + - Include a tor.service file in contrib.dist for use with + systemd. Some distributions will be able to use this file unmodified; + others will need to tweak it, or write their own. Patch from + Jamie Nguyen; resolves ticket 8368. diff --git a/changes/ticket8510 b/changes/ticket8510 deleted file mode 100644 index c79129ac69..0000000000 --- a/changes/ticket8510 +++ /dev/null @@ -1,4 +0,0 @@ - o Minor features: - - Implement the HS_DESC async control event that notifies controller on - activities related to hidden service descriptors. Partly resolves - ticket 8510. diff --git a/changes/ticket8966 b/changes/ticket8966 new file mode 100644 index 0000000000..d6967a4e30 --- /dev/null +++ b/changes/ticket8966 @@ -0,0 +1,7 @@ + o Package cleanup: + - The contrib directory has been sorted and tidy. Before, it was an + unsorted dumping ground for useful and not-so-useful things. Now, + it has been divided based on functionality, and the items which + seemed to be nonfunctional or useless have been removed. Resolves + ticket 8966; based on patches from "rl1987". + diff --git a/changes/ticket9839 b/changes/ticket9839 deleted file mode 100644 index a71c231042..0000000000 --- a/changes/ticket9839 +++ /dev/null @@ -1,3 +0,0 @@ - o Documentation: - - Update manpage to describe some of the files one could find - in data directory. Fixes bug 9839. diff --git a/configure.ac b/configure.ac index 9c31ae28f2..3ef5cdd7d0 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ dnl Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson dnl Copyright (c) 2007-2013, The Tor Project, Inc. dnl See LICENSE for licensing information -AC_INIT([tor],[0.2.5.1-alpha-dev]) +AC_INIT([tor],[0.2.5.4-alpha-dev]) AC_CONFIG_SRCDIR([src/or/main.c]) AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE @@ -129,13 +129,13 @@ AC_ARG_ENABLE(gcc-warnings, AC_ARG_ENABLE(gcc-warnings-advisory, AS_HELP_STRING(--enable-gcc-warnings-advisory, [enable verbose warnings, excluding -Werror])) -dnl Adam shostack suggests the following for Windows: -dnl -D_FORTIFY_SOURCE=2 -fstack-protector-all dnl Others suggest '/gs /safeseh /nxcompat /dynamicbase' for non-gcc on Windows -dnl This requires that we use gcc and that we add -O2 to the CFLAGS. AC_ARG_ENABLE(gcc-hardening, AS_HELP_STRING(--disable-gcc-hardening, disable compiler security checks)) +AC_ARG_ENABLE(expensive-hardening, + AS_HELP_STRING(--enable-expensive-hardening, enable more expensive compiler hardening; makes Tor slower)) + dnl Linker hardening options dnl Currently these options are ELF specific - you can't use this with MacOSX AC_ARG_ENABLE(linker-hardening, @@ -161,6 +161,9 @@ AC_ARG_ENABLE(bufferevents, AC_ARG_ENABLE(tool-name-check, AS_HELP_STRING(--disable-tool-name-check, check for sanely named toolchain when cross-compiling)) +AC_ARG_ENABLE(seccomp, + AS_HELP_STRING(--disable-seccomp, do not attempt to use libseccomp)) + dnl check for the correct "ar" when cross-compiling AN_MAKEVAR([AR], [AC_PROG_AR]) AN_PROGRAM([ar], [AC_PROG_AR]) @@ -191,7 +194,7 @@ AC_CHECK_PROG([SED],[sed],[sed],[/bin/false]) dnl check for asciidoc and a2x AC_PATH_PROG([ASCIIDOC], [asciidoc], none) -AC_PATH_PROG([A2X], [a2x], none) +AC_PATH_PROGS([A2X], [a2x a2x.py], none) AM_CONDITIONAL(USE_ASCIIDOC, test x$asciidoc = xtrue) @@ -201,7 +204,7 @@ AM_CONDITIONAL(MINIUPNPC, test x$upnp = xtrue) AM_PROG_CC_C_O AC_ARG_VAR(PYTHON) -AC_CHECK_PROGS(PYTHON, [python python2 python3]) +AC_CHECK_PROGS(PYTHON, [python python2 python2.7 python3 python3.3]) if test "x$PYTHON" = "x"; then AC_MSG_WARN([Python unavailable; some tests will not be run.]) fi @@ -353,6 +356,7 @@ AC_CHECK_FUNCS( strtok_r \ strtoull \ sysconf \ + sysctl \ uname \ vasprintf \ _vscprintf @@ -435,6 +439,7 @@ AC_CHECK_FUNCS([event_get_version \ event_set_log_callback \ evdns_set_outgoing_bind_address \ evutil_secure_rng_set_urandom_device_file \ + evutil_secure_rng_init \ event_base_loopexit]) AC_CHECK_MEMBERS([struct event.min_heap_idx], , , [#include <event.h> @@ -628,6 +633,12 @@ if test x$enable_gcc_hardening != xno; then fi fi +if test x$enable_expensive_hardening = xyes ; then + TOR_CHECK_CFLAGS([-fsanitize=address]) + TOR_CHECK_CFLAGS([-fsanitize=undefined]) + TOR_CHECK_CFLAGS([-fno-omit-frame-pointer]) +fi + if test x$enable_linker_hardening != xno; then TOR_CHECK_LDFLAGS(-z relro -z now, "$all_ldflags_for_check", "$all_libs_for_check") fi @@ -640,15 +651,23 @@ dnl Now see if we have a -fomit-frame-pointer compiler option. saved_CFLAGS="$CFLAGS" TOR_CHECK_CFLAGS(-fomit-frame-pointer) +F_OMIT_FRAME_POINTER='' if test "$saved_CFLAGS" != "$CFLAGS"; then - F_OMIT_FRAME_POINTER='-fomit-frame-pointer' -else - F_OMIT_FRAME_POINTER='' + if test x$enable_expensive_hardening != xyes ; then + F_OMIT_FRAME_POINTER='-fomit-frame-pointer' + fi fi CFLAGS="$saved_CFLAGS" AC_SUBST(F_OMIT_FRAME_POINTER) dnl ------------------------------------------------------ +dnl If we are adding -fomit-frame-pointer (or if the compiler's doing it +dnl for us, as GCC 4.6 and later do at many optimization levels), then +dnl we should try to add -fasynchronous-unwind-tables so that our backtrace +dnl code will work. +TOR_CHECK_CFLAGS(-fasynchronous-unwind-tables) + +dnl ------------------------------------------------------ dnl Where do you live, libnatpmp? And how do we call you? dnl There are no packages for Debian or Redhat as of this patch @@ -710,8 +729,10 @@ fi dnl ============================================================ dnl Check for libseccomp -AC_CHECK_HEADERS([seccomp.h]) -AC_SEARCH_LIBS(seccomp_init, [seccomp]) +if test "x$enable_seccomp" != "xno"; then + AC_CHECK_HEADERS([seccomp.h]) + AC_SEARCH_LIBS(seccomp_init, [seccomp]) +fi dnl ============================================================ dnl We need an implementation of curve25519. @@ -870,6 +891,7 @@ AC_CHECK_HEADERS( sys/prctl.h \ sys/resource.h \ sys/socket.h \ + sys/sysctl.h \ sys/syslimits.h \ sys/time.h \ sys/types.h \ @@ -1540,10 +1562,11 @@ CPPFLAGS="$CPPFLAGS $TOR_CPPFLAGS_libevent $TOR_CPPFLAGS_openssl $TOR_CPPFLAGS_z AC_CONFIG_FILES([ Doxyfile Makefile - contrib/suse/tor.sh - contrib/tor.logrotate - contrib/tor.sh - contrib/torctl + contrib/dist/suse/tor.sh + contrib/operator-tools/tor.logrotate + contrib/dist/tor.sh + contrib/dist/torctl + contrib/dist/tor.service src/config/torrc.sample ]) @@ -1565,6 +1588,6 @@ fi AC_OUTPUT -if test -x /usr/bin/perl && test -x ./contrib/updateVersions.pl ; then - ./contrib/updateVersions.pl +if test -x /usr/bin/perl && test -x ./scripts/maint/updateVersions.pl ; then + ./scripts/maint/updateVersions.pl fi diff --git a/contrib/auto-naming/README b/contrib/auto-naming/README deleted file mode 100644 index e2f9ff8c2a..0000000000 --- a/contrib/auto-naming/README +++ /dev/null @@ -1,6 +0,0 @@ -Tor directory authorities may maintain a binding of server identities -(their long term identity key) and nicknames. - -The auto-naming scripts have been moved to svn in -projects/tor-naming/auto-naming/trunk/ - diff --git a/contrib/bundle.nsi b/contrib/bundle.nsi deleted file mode 100644 index 55f6b5fa30..0000000000 --- a/contrib/bundle.nsi +++ /dev/null @@ -1,67 +0,0 @@ -!include "MUI.nsh" -!include "LogicLib.nsh" -!include "FileFunc.nsh" - -!define VERSION "0.2.1.13" -!define INSTALLER "TorBundle.exe" -!define WEBSITE "https://www.torproject.org/" -!define LICENSE "LICENSE" - -SetCompressor /SOLID BZIP2 -RequestExecutionLevel user -OutFile ${INSTALLER} -InstallDir "$LOCALAPPDATA\TorInstPkgs" -SetOverWrite on -Name "Tor ${VERSION} Bundle" -Caption "Tor ${VERSION} Bundle Setup" -BrandingText "Tor Bundle Installer" -CRCCheck on -XPStyle on -ShowInstDetails hide -VIProductVersion "${VERSION}" -VIAddVersionKey "ProductName" "Tor" -VIAddVersionKey "Comments" "${WEBSITE}" -VIAddVersionKey "LegalTrademarks" "Three line BSD" -VIAddVersionKey "LegalCopyright" "©2004-2011, Roger Dingledine, Nick Mathewson, The Tor Project, Inc." -VIAddVersionKey "FileDescription" "Tor is an implementation of Onion Routing. You can read more at ${WEBSITE}" -VIAddVersionKey "FileVersion" "${VERSION}" - -!define MUI_ICON "torinst32.ico" -!define MUI_HEADERIMAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Header\win.bmp" -!insertmacro MUI_PAGE_INSTFILES -!insertmacro MUI_LANGUAGE "English" - -Section "Tor" Tor - SectionIn RO - SetOutPath $INSTDIR - Call ExtractPackages - Call RunInstallers - Call LaunchVidalia -SectionEnd - -Function ExtractPackages - File "license.msi" - File "tor.msi" - File "torbutton.msi" - File "thandy.msi" - File "polipo.msi" - File "vidalia.msi" - File "tbcheck.bat" -FunctionEnd - -Function RunInstallers - ExecWait 'msiexec /i "$INSTDIR\license.msi" /qn' - ExecWait 'msiexec /i "$INSTDIR\tor.msi" NOSC=1 /qn' - ExecWait 'msiexec /i "$INSTDIR\thandy.msi" NOSC=1 /qn' - ExecWait 'msiexec /i "$INSTDIR\polipo.msi" NOSC=1 /qn' - ExecWait 'msiexec /i "$INSTDIR\torbutton.msi" /qn' - ExecWait 'msiexec /i "$INSTDIR\vidalia.msi" /qn' - ExpandEnvStrings $0 %COMSPEC% - Exec '"$0" /C "$INSTDIR\tbcheck.bat"' -FunctionEnd - -Function LaunchVidalia - SetOutPath "$LOCALAPPDATA\Programs\Vidalia" - Exec 'vidalia.exe -loglevel info -logfile log.txt' -FunctionEnd - diff --git a/contrib/tor-resolve.py b/contrib/client-tools/tor-resolve.py index 47ae1a0c38..47ae1a0c38 100755 --- a/contrib/tor-resolve.py +++ b/contrib/client-tools/tor-resolve.py diff --git a/contrib/torify b/contrib/client-tools/torify index 54acfed654..54acfed654 100755 --- a/contrib/torify +++ b/contrib/client-tools/torify diff --git a/contrib/cross.sh b/contrib/cross.sh deleted file mode 100755 index a6085a400f..0000000000 --- a/contrib/cross.sh +++ /dev/null @@ -1,195 +0,0 @@ -#!/bin/bash -# Copyright 2006 Michael Mohr with modifications by Roger Dingledine -# See LICENSE for licensing information. - -####################################################################### -# Tor-cross: a tool to help cross-compile Tor -# -# The purpose of a cross-compiler is to produce an executable for -# one system (CPU) on another. This is useful, for example, when -# the target system does not have a native compiler available. -# You might, for example, wish to cross-compile a program on your -# host (the computer you're working on now) for a target such as -# a router or handheld computer. -# -# A number of environment variables must be set in order for this -# script to work: -# $PREFIX, $CROSSPATH, $HOST_TRIPLET, $HOST, -# and (optionally) $BUILD -# Please run the script for a description of each one. If automated -# builds are desired, the above variables can be exported at the top -# of this script. -# -# Recent releases of Tor include test programs in configure. Normally -# this is a good thing, since it catches a number of problems. -# However, this also presents a problem when cross compiling, since -# you can't run binary images for the target system on the host. -# -# Tor-cross assumes that you know what you're doing and removes a -# number of checks known to cause problems with this process. -# Note that this does not guarantee that the program will run or -# even compile; it simply allows configure to generate the Makefiles. -# -# Stripping the binaries should almost always be done for an -# embedded environment where space is at an exacting premium. -# However, the default is NOT to strip them since they are useful for -# debugging. If you do not plan to do any debugging and you -# don't care about the debugging symbols, set $STRIP to "yes" before -# running this script. -# -# Tor-cross was written by Michael Mohr. He can be contacted at -# m(dot)mohr(at)laposte(dot)net. Comments are appreciated, but -# flames go to /dev/null. -# -# The target with which this script is tested is little-endian -# MIPS Linux, built on an Athlon-based Linux desktop. -# -####################################################################### - -# disable the platform-specific tests in configure -export CROSS_COMPILE=yes - -# for error conditions -EXITVAL=0 - -if [ ! -f autogen.sh ] -then - echo "Please run this script from the root of the Tor distribution" - exit -1 -fi - -if [ ! -f configure ] -then - if [ -z $GEN_BUILD ] - then - echo "To automatically generate the build environment, set \$GEN_BUILD" - echo "to yes; for example," - echo " export GEN_BUILD=yes" - EXITVAL=-1 - fi -fi - -if [ -z $PREFIX ] -then - echo "You must define \$PREFIX since you are cross-compiling." - echo "Select a non-system location (i.e. /tmp/tor-cross):" - echo " export PREFIX=/tmp/tor-cross" - EXITVAL=-1 -fi - -if [ -z $CROSSPATH ] -then - echo "You must define the location of your cross-compiler's" - echo "directory using \$CROSSPATH; for example," - echo " export CROSSPATH=/opt/cross/staging_dir_mipsel/bin" - EXITVAL=-1 -fi - -if [ -z $HOST_TRIPLET ] -then - echo "You must define \$HOST_TRIPLET to continue. For example," - echo "if you normally cross-compile applications using" - echo "mipsel-linux-uclibc-gcc, you would set \$HOST_TRIPLET like so:" - echo " export HOST_TRIPLET=mipsel-linux-uclibc-" - EXITVAL=-1 -fi - -if [ -z $HOST ] -then - echo "You must specify a target processor with \$HOST; for example:" - echo " export HOST=mipsel-unknown-elf" - EXITVAL=-1 -fi - -if [ -z $BUILD ] -then - echo "You should specify the host machine's type with \$BUILD; for example:" - echo " export BUILD=i686-pc-linux-gnu" - echo "If you wish to let configure autodetect the host, set \$BUILD to 'auto':" - echo " export BUILD=auto" - EXITVAL=-1 -fi - -if [ ! -x $CROSSPATH/$HOST_TRIPLETgcc ] -then - echo "The specified toolchain does not contain an executable C compiler." - echo "Please double-check your settings and rerun cross.sh." - EXITVAL=-1 -fi - -if [ $EXITVAL -ne 0 ] -then - echo "Remember, you can hard-code these values in cross.sh if needed." - exit $EXITVAL -fi - -if [ ! -z "$GEN_BUILD" -a ! -f configure ] -then - export NOCONF=yes - ./autogen.sh -fi - -# clean up any existing object files -if [ -f src/or/tor ] -then - make clean -fi - -# Set up the build environment and try to run configure -export PATH=$PATH:$CROSSPATH -export RANLIB=${HOST_TRIPLET}ranlib -export CC=${HOST_TRIPLET}gcc - -if [ $BUILD == "auto" ] -then - ./configure \ - --enable-debug \ - --enable-eventdns \ - --prefix=$PREFIX \ - --host=$HOST -else - ./configure \ - --enable-debug \ - --enable-eventdns \ - --prefix=$PREFIX \ - --host=$HOST \ - --build=$BUILD -fi - -# has a problem occurred? -if [ $? -ne 0 ] -then - echo "" - echo "A problem has been detected with configure." - echo "Please check the output above and rerun cross.sh" - echo "" - exit -1 -fi - -# Now we're cookin' - -make - -# has a problem occurred? -if [ $? -ne 0 ] -then - echo "" - echo "A problem has been detected with make." - echo "Please check the output above and rerun make." - echo "" - exit -1 -fi - -# if $STRIP has length (i.e. STRIP=yes), strip the binaries -if [ ! -z $STRIP ] -then -${HOST_TRIPLET}strip \ - src/or/tor \ - src/test/test \ - src/tools/tor-resolve -fi - -echo "" -echo "Tor should be compiled at this point. Now run 'make install' to" -echo "install to $PREFIX" -echo "" diff --git a/contrib/add-tor b/contrib/dirauth-tools/add-tor index 5a12abca80..5a12abca80 100755 --- a/contrib/add-tor +++ b/contrib/dirauth-tools/add-tor diff --git a/contrib/nagios-check-tor-authority-cert b/contrib/dirauth-tools/nagios-check-tor-authority-cert index 46dc7284b7..46dc7284b7 100755 --- a/contrib/nagios-check-tor-authority-cert +++ b/contrib/dirauth-tools/nagios-check-tor-authority-cert diff --git a/contrib/directory-archive/crontab.sample b/contrib/directory-archive/crontab.sample deleted file mode 100644 index e2821aa938..0000000000 --- a/contrib/directory-archive/crontab.sample +++ /dev/null @@ -1,3 +0,0 @@ -10 * * * * cd projects/tor-v2dir && ./fetch-all-v3 -40 * * * * cd projects/tor-v2dir && ./fetch-all -15 3 6 * * cd projects/tor-v2dir && ./sort-into-month-folder > /dev/null && ./tar-them-up last > /dev/null diff --git a/contrib/directory-archive/fetch-all b/contrib/directory-archive/fetch-all deleted file mode 100755 index dfa5a1b3e5..0000000000 --- a/contrib/directory-archive/fetch-all +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/bash - -# Download all current v2 directory status documents, then download -# the descriptors and extra info documents. - -# Copyright (c) 2005, 2006, 2007, 2008 Peter Palfrader -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -TZ=UTC -export TZ - -DIRSERVERS="" -DIRSERVERS="$DIRSERVERS 86.59.21.38:80" # tor26 -DIRSERVERS="$DIRSERVERS 128.31.0.34:9031" # moria1 -DIRSERVERS="$DIRSERVERS 128.31.0.34:9032" # moria2 -DIRSERVERS="$DIRSERVERS 194.109.206.212:80" # dizum - -DATEDIR=$(date "+%Y/%m/%d") -TIME=$(date "+%Y%m%d-%H%M%S") - -. fetch-all-functions - -statuses="" -for dirserver in $DIRSERVERS; do - authorities=$(wget -q -O - http://$dirserver/tor/status/all | egrep '^fingerprint ' | awk '{print $2}') - if [ "$authorities" == "" ]; then - echo "Did not get a list of authorities from $dirserver, going to next" 2>&1 - continue - fi - - dir="status/$DATEDIR" - [ -d "$dir" ] || mkdir -p "$dir" - - authprefix="$dir/$TIME-" - for fp in $authorities; do - wget -q -O "$authprefix$fp" http://$dirserver/tor/status/fp/"$fp" - bzip2 "$authprefix$fp" - statuses="$statuses $authprefix$fp.bz2" - done - if [ "$statuses" == "" ]; then - echo "Did not get any statuses from $dirserver, going to next" 2>&1 - continue - else - break - fi -done - -if [ "$statuses" = "" ]; then - echo "No statuses available" 2>&1 - exit 1 -fi - -digests=$( for i in ` bzcat $statuses | awk '$1 == "r" {printf "%s=\n", $4}' | sort -u `; do - echo $i | \ - base64-decode | \ - perl -e 'undef $/; $a=<>; print unpack("H\*", $a),"\n";'; - done ) -for digest in $digests; do - fetch_digest "$digest" "server-descriptor" -done diff --git a/contrib/directory-archive/fetch-all-functions b/contrib/directory-archive/fetch-all-functions deleted file mode 100644 index a9335bda7b..0000000000 --- a/contrib/directory-archive/fetch-all-functions +++ /dev/null @@ -1,82 +0,0 @@ -#!/bin/bash - -# function used by fetch-all* to download server descriptors and -# extra info documents - -# Copyright (c) 2005, 2006, 2007, 2008 Peter Palfrader -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - - -fetch_digest() { - local digest - local objecttype - local urlpart - local pathpart - local target - local targetdir - local dirserver - local ei - - digest="$1" - objecttype="$2" - if [ "$objecttype" = "server-descriptor" ] ; then - urlpart="server" - pathpart="server-descriptor" - elif [ "$objecttype" = "extra-info" ] ; then - urlpart="extra" - pathpart="extra-info" - else - echo "Called fetch_digest with illegal objecttype '$objecttype'" >&2 - exit 1 - fi - target=$( echo $digest | sed -e 's#^\(.\)\(.\)#'"$pathpart"'/\1/\2/\1\2#' ) - targetdir=$( dirname $target ) - [ -d "$targetdir" ] || mkdir -p "$targetdir" - if ! [ -e "$target" ]; then - for dirserver in $DIRSERVERS; do - wget -q -O "$target" http://$dirserver/tor/$urlpart/d/"$digest" || rm -f "$target" - if [ -s "$target" ]; then - if egrep '^opt extra-info-digest ' "$target" > /dev/null; then - ei=$( egrep '^opt extra-info-digest ' "$target" | awk '{print $3}' | tr 'A-F' 'a-f' ) - fetch_digest "$ei" "extra-info" - elif egrep '^extra-info-digest ' "$target" > /dev/null; then - ei=$( egrep '^extra-info-digest ' "$target" | awk '{print $2}' | tr 'A-F' 'a-f' ) - fetch_digest "$ei" "extra-info" - fi - break - else - rm -f "$target" - fi - done - fi - #if ! [ -e "$target" ]; then - # echo "$objecttype $digest" >> failed - #fi -} - -if [ -x /usr/bin/base64 ] ; then - base64-decode() { - /usr/bin/base64 -d - } -else - base64-decode() { - perl -MMIME::Base64 -e 'print decode_base64(<>)' - } -fi diff --git a/contrib/directory-archive/fetch-all-v3 b/contrib/directory-archive/fetch-all-v3 deleted file mode 100755 index a4746e02cf..0000000000 --- a/contrib/directory-archive/fetch-all-v3 +++ /dev/null @@ -1,111 +0,0 @@ -#!/bin/bash - -# Download all current v3 directory status votes and the consensus document, -# then download the descriptors and extra info documents. - -# Copyright (c) 2005, 2006, 2007, 2008 Peter Palfrader -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -TZ=UTC -export TZ - -DIRSERVERS="" -DIRSERVERS="$DIRSERVERS 86.59.21.38:80" # tor26 -DIRSERVERS="$DIRSERVERS 128.31.0.34:9031" # moria1 -DIRSERVERS="$DIRSERVERS 216.224.124.114:9030" # ides -DIRSERVERS="$DIRSERVERS 80.190.246.100:80" # gabelmoo -#DIRSERVERS="$DIRSERVERS 140.247.60.64:80" # lefkada -DIRSERVERS="$DIRSERVERS 194.109.206.212:80" # dizum -#DIRSERVERS="$DIRSERVERS 128.31.0.34:9032" # moria2 -DIRSERVERS="$DIRSERVERS 213.73.91.31:80" # dannenberg -DIRSERVERS="$DIRSERVERS 208.83.223.34:443" # urras -TIME=$(date "+%Y%m%d-%H%M%S") - -. fetch-all-functions - -consensus="" -tmpdir="consensus/tmp" -[ -d "$tmpdir" ] || mkdir -p "$tmpdir" -for dirserver in $DIRSERVERS; do - wget -q -O "$tmpdir/$TIME-consensus" http://$dirserver/tor/status-vote/current/consensus - if [ "$?" != 0 ]; then - rm -f "$tmpdir/$TIME-consensus" - continue - fi - - freshconsensus="$tmpdir/$TIME-consensus" - - timestamp=$(awk '$1=="valid-after" {printf "%s-%s", $2, $3}' < "$freshconsensus") - datedir=$(awk '$1=="valid-after" {printf "%s", $2}' < "$freshconsensus" | tr '-' '/') - dir="consensus/$datedir" - [ -d "$dir" ] || mkdir -p "$dir" - - - consensus="$dir/$timestamp-consensus.bz2" - if ! [ -e "$consensus" ]; then - # the consensus is new, or at least we don't have it yet - bzip2 "$freshconsensus" - mv "$freshconsensus.bz2" "$consensus" - break - fi - - rm -f "$freshconsensus" - echo "Consensus from $timestamp (gotten from $dirserver) already exists!" >&2 - # maybe there is a newer one on a different authority, so try again. -done - -if [ "$consensus" = "" ]; then - echo "No consensus available" 2>&1 - exit 1 -fi - - -votes=$(bzcat $consensus | awk '$1 == "vote-digest" {print $2}') -for vote in $votes; do - for dirserver in $DIRSERVERS; do - wget -q -O "$dir/$TIME-vote-$vote" http://$dirserver/tor/status-vote/current/d/$vote - if [ "$?" != 0 ]; then - rm -f "$dir/$TIME-vote-$vote" - continue - fi - break - done - if [ -e "$dir/$TIME-vote-$vote" ]; then - voteridentity=$(awk '$1=="fingerprint" {print $2}' < "$dir/$TIME-vote-$vote") - if [ -e "$dir/$timestamp-vote-$voteridentity-$vote.bz2" ]; then - echo "Vote $vote from $voteridentity already exists!" >&2 - rm -f "$dir/$TIME-vote-$vote" - continue; - fi - mv "$dir/$TIME-vote-$vote" "$dir/$timestamp-vote-$voteridentity-$vote" - bzip2 "$dir/$timestamp-vote-$voteridentity-$vote" - else - echo "Failed to get vote $vote!" >&2 - fi -done - -digests=$( for i in ` bzcat $consensus | awk '$1 == "r" {printf "%s=\n", $4}' | sort -u `; do - echo $i | \ - base64-decode | \ - perl -e 'undef $/; $a=<>; print unpack("H\*", $a),"\n";'; - done ) -for digest in $digests; do - fetch_digest "$digest" "server-descriptor" -done diff --git a/contrib/directory-archive/sort-into-month-folder b/contrib/directory-archive/sort-into-month-folder deleted file mode 100755 index 95033c58df..0000000000 --- a/contrib/directory-archive/sort-into-month-folder +++ /dev/null @@ -1,74 +0,0 @@ -#!/usr/bin/perl -w - -# Sort dumped consensuses, statuses, descriptors etc into per-month folders. - -# Copyright (c) 2006, 2007, 2008 Peter Palfrader -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -use strict; -use File::Find; -use File::Basename; -use File::stat; -use Time::Local; - - -my $cutofftime; - - -sub wanted() { - return unless -f; - my $mtime = stat($_)->mtime; - return if $mtime >= $cutofftime; - - my (undef,undef,undef,undef,$mon,$year,undef,undef,undef) = gmtime $mtime; - - my $bn = basename $_; - my $dn = dirname $_; - my @path = split /\//, $dn; - $path[0] .= sprintf 's-%4d-%02d', 1900+$year, $mon+1; - $dn = join '/', @path; - - if (! -d $dn) { - my $p = '.'; - for my $component (@path) { - $p .= '/'.$component; - if (! -d $p) { - mkdir $p or die ("Cannot mkdir $p: $!\n"); - }; - }; - }; - - print "$_ -> $dn/$bn\n"; - rename $_, $dn.'/'.$bn or die ("Cannot rename $_ to $dn/$bn: $!\n"); -}; - -my (undef,undef,undef,undef,$mon,$year,undef,undef,undef) = gmtime(time - 5*24*3600); -$cutofftime = timegm(0,0,0,1,$mon,$year); -find( { - wanted => \&wanted, - no_chdir => 1 - }, - 'server-descriptor'); - -find( { - wanted => \&wanted, - no_chdir => 1 - }, - 'extra-info'); diff --git a/contrib/directory-archive/tar-them-up b/contrib/directory-archive/tar-them-up deleted file mode 100755 index 2775ca9ee9..0000000000 --- a/contrib/directory-archive/tar-them-up +++ /dev/null @@ -1,127 +0,0 @@ -#!/bin/sh - -# Tar up dumped consensuses, statuses, descriptors etc from per-month folders -# into per-month tarballs. - -# Copyright (c) 2006, 2007, 2008 Peter Palfrader -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -set -e -set -x -set -u - -usage() { - echo "Usage: $0 <year> <month>" >&2 - echo " $0 last (does last month)" >&2 - exit 1 -} - -if [ -z "${1:-}" ]; then - usage -fi - -if [ "$1" = "last" ]; then - year=`date --date="last month" +'%Y'` - month=`date --date="last month" +'%m'` -elif [ -z "${2:-}" ]; then - usage -else - year="$1" - month="$2" -fi - -if [ "$year" -lt 2000 ] || [ "$year" -gt 2020 ] || - [ "$month" -lt 1 ] || [ "$month" -gt 12 ] || - [ "`echo -n $month | wc -c`" != 2 ]; then - usage -fi - - -this_year=`date --utc +'%Y'` -this_month=`date --utc +'%m'` - -if [ "`date -d $this_year-$this_month-01 +%s`" -le "`date -d $year-$month-01 +%s`" ]; then - echo "Date in the future or current month?" >&2 - exit 1 -fi - - - - - -for file in \ - "extra-infos-$year-$month.tar.bz2" \ - "server-descriptors-$year-$month.tar.bz2" \ - "consensuses-$year-$month.tar.bz2" \ - "statuses-$year-$month.tar.bz2" \ - ; do - if [ -e "$file" ]; then - echo "$file already exists" >&2 - exit 1 - fi -done - -for dir in \ - "extra-infos-$year-$month" \ - "server-descriptors-$year-$month" \ - "consensus/$year/$month" \ - "status/$year/$month" \ - ; do - if ! [ -d "$dir" ]; then - echo "$dir not found" >&2 - exit 1 - fi -done - -for dir in \ - "consensuses-$year-$month" \ - "statuses-$year-$month" \ - ; do - if [ -e "$dir" ]; then - echo "$dir already exists" >&2 - exit 1 - fi -done - -for kind in consensus status; do - mv "$kind"/$year/$month "$kind"es-$year-$month - find "$kind"es-$year-$month -type f -name '*.bz2' -print0 | xargs -0 bunzip2 -v - tar cjvf "$kind"es-$year-$month.tar.bz2 "$kind"es-$year-$month - rm -rf "$kind"es-$year-$month -done - -for kind in extra-infos server-descriptors; do - tar cjvf "$kind"-$year-$month.tar.bz2 "$kind"-$year-$month - rm -rf "$kind"-$year-$month -done - - - -[ -d Archive ] || mkdir Archive - -for kind in consensus status; do - t="$kind"es-$year-$month.tar.bz2 - ! [ -e Archive/"$t" ] && mv "$t" Archive/"$t" -done - -for kind in extra-infos server-descriptors; do - t="$kind"-$year-$month.tar.bz2 - ! [ -e Archive/"$t" ] && mv "$t" Archive/"$t" -done diff --git a/contrib/rc.subr b/contrib/dist/rc.subr index d757e89528..d757e89528 100644 --- a/contrib/rc.subr +++ b/contrib/dist/rc.subr diff --git a/contrib/suse/tor.sh.in b/contrib/dist/suse/tor.sh.in index b7e9005eb5..b7e9005eb5 100644 --- a/contrib/suse/tor.sh.in +++ b/contrib/dist/suse/tor.sh.in diff --git a/contrib/dist/tor.service.in b/contrib/dist/tor.service.in new file mode 100644 index 0000000000..5d7670281b --- /dev/null +++ b/contrib/dist/tor.service.in @@ -0,0 +1,21 @@ +[Unit] +Description = Anonymizing overlay network for TCP +After = syslog.target network.target nss-lookup.target + +[Service] +Type = simple +ExecStart = @BINDIR@/tor -f @CONFDIR@/torrc +ExecReload = /bin/kill -HUP ${MAINPID} +KillSignal = SIGINT +TimeoutSec = 30 +Restart = on-failure +LimitNOFILE = 32768 + +# Hardening +PrivateTmp = yes +DeviceAllow = /dev/null rw +DeviceAllow = /dev/urandom r +InaccessibleDirectories = /home + +[Install] +WantedBy = multi-user.target diff --git a/contrib/tor.sh.in b/contrib/dist/tor.sh.in index 92f890681f..92f890681f 100644 --- a/contrib/tor.sh.in +++ b/contrib/dist/tor.sh.in diff --git a/contrib/torctl.in b/contrib/dist/torctl.in index 4cc137da46..4cc137da46 100644 --- a/contrib/torctl.in +++ b/contrib/dist/torctl.in diff --git a/contrib/include.am b/contrib/include.am index 62b76ebeb9..ede980678e 100644 --- a/contrib/include.am +++ b/contrib/include.am @@ -1,18 +1,17 @@ -include contrib/suse/include.am EXTRA_DIST+= \ - contrib/cross.sh \ - contrib/exitlist \ - contrib/linux-tor-prio.sh \ - contrib/package_nsis-mingw.sh \ - contrib/rc.subr \ - contrib/tor-ctrl.sh \ - contrib/tor-exit-notice.html \ - contrib/tor-mingw.nsi.in \ - contrib/tor.ico \ - contrib/tor.nsi.in \ - contrib/tor.sh \ - contrib/torify \ - contrib/torctl + contrib/client-tools/torify \ + contrib/dist/rc.subr \ + contrib/dist/suse/tor.sh.in \ + contrib/dist/tor.sh \ + contrib/dist/torctl \ + contrib/dist/tor.service.in \ + contrib/operator-tools/linux-tor-prio.sh \ + contrib/operator-tools/tor-exit-notice.html \ + contrib/or-tools/exitlist \ + contrib/win32build/package_nsis-mingw.sh \ + contrib/win32build/tor-mingw.nsi.in \ + contrib/win32build/tor.ico \ + contrib/win32build/tor.nsi.in -bin_SCRIPTS+= contrib/torify +bin_SCRIPTS+= contrib/client-tools/torify diff --git a/contrib/make-signature.sh b/contrib/make-signature.sh deleted file mode 100755 index 4aba08b754..0000000000 --- a/contrib/make-signature.sh +++ /dev/null @@ -1,79 +0,0 @@ -#!/bin/sh - -set -eu - -if test "$1" = "" ; then - echo "I need a package as an argument." - exit 1 -fi - -PACKAGEFILE=$1 - -if test ! -f "$PACKAGEFILE" ; then - echo "$PACKAGEFILE is not a file." - exit 1 -fi - -DIGESTNAME=sha256 -DIGESTOUTPUT=`gpg --print-md $DIGESTNAME $PACKAGEFILE` - -RAWDIGEST=`gpg --print-md $DIGESTNAME $PACKAGEFILE | sed -e 's/^[^ ]*: //' ` - -# These regexes are a little fragile, but I think they work for us. -VERSION=`echo $PACKAGEFILE | sed -e 's/^[a-z\-]*//' -e 's/\.[\.a-z]*$//' ` -PACKAGE=`echo $PACKAGEFILE | sed -e 's/-[0-9].*//'` -SIGFILE_UNSIGNED="$PACKAGE-$VERSION-signature" -SIGNATUREFILE="$SIGFILE_UNSIGNED.asc" - -cat >$SIGFILE_UNSIGNED <<EOF -This is the signature file for "$PACKAGEFILE", -which contains version "$VERSION" of "$PACKAGE". - -Here's how to check this signature. - -1) Make sure that this is really a signature file, and not a forgery, - with: - - "gpg --verify $SIGNATUREFILE" - - The key should be one of the keys that signs the Tor release; the - official Tor website has more information on those. - - If this step fails, then either you are missing the correct key, or - this signature file was not really signed by a Tor packager. - Beware! - -2) Make sure that the package you wanted is indeed "$PACKAGE", and that - its version you wanted is indeed "$VERSION". If you wanted a - different package, or a different version, this signature file is - not the right one! - -3) Now that you're sure you have the right signature file, make sure - that you got the right package. Check its $DIGESTNAME digest with - - "gpg --print-md $DIGESTNAME $PACKAGEFILE" - - The output should match this, exactly: - -$DIGESTOUTPUT - - Make sure that every part of the output matches: don't just check the - first few characters. If the digest does not match, you do not have - the right package file. It could even be a forgery. - -Frequently asked questions: - -Q: Why not just sign the package file, like you used to do? -A: GPG signatures authenticate file contents, but not file names. If - somebody gave you a renamed file with a matching renamed signature - file, the signature would still be given as "valid". - --- -FILENAME: $PACKAGEFILE -PACKAGE: $PACKAGE -VERSION: $VERSION -DIGESTALG: $DIGESTNAME -DIGEST: $RAWDIGEST -EOF - -gpg --clearsign $SIGFILE_UNSIGNED diff --git a/contrib/mdd.py b/contrib/mdd.py deleted file mode 100755 index e0b496b8fe..0000000000 --- a/contrib/mdd.py +++ /dev/null @@ -1,169 +0,0 @@ -#!/usr/bin/env python2.3 - -import re, sys -import textwrap - -files = sys.argv[1:] -funcDeclaredIn = {} -fileDeclares = {} -functionCalls = {} -funcCalledByFile = {} -funcCalledByFunc = {} - -cpp_re = re.compile(r'//.*$') -c_re = re.compile(r'/[*]+(?:[^*]+|[*]+[^/*])*[*]+/', re.M|re.S) - -for fname in files: - f = open(fname, 'r') - curFunc = "???" - functionCalls.setdefault(curFunc,{}) - lineno = 0 - body = f.read() - body = cpp_re.sub(" ",body) - body = c_re.sub(" ",body) - #if fname == 'dns.c': print body - for line in body.split("\n"): - lineno += 1 - m = re.match(r'^[^\s/].*\s(\w+)\([^;]*$', line) - if m: - #print line, "->", m.group(1) - curFunc = m.group(1) - if curFunc[0] == '_': curFunc = curFunc[1:] - functionCalls.setdefault(curFunc,{}) - funcDeclaredIn[m.group(1)] = fname - fileDeclares.setdefault(fname, {})[m.group(1)] = 1 - continue - m = re.match(r'^(\w+)\([^;]', line) - if m: - #print line, "->", m.group(1) - curFunc = m.group(1) - if curFunc[0] == '_': curFunc = curFunc[1:] - functionCalls.setdefault(curFunc,{}) - funcDeclaredIn[m.group(1)] = fname - fileDeclares.setdefault(fname, {})[m.group(1)] = 1 - continue - while line: - m = re.search(r'(\w+)\(', line) - if not m: break - #print fname, line, curFunc, "->", m.group(1) - fn = m.group(1) - if fn[0] == '_': - fn = fn[1:] - functionCalls[curFunc][m.group(1)] = 1 - #if curFunc == "???": - # print ">>!!!!! at %s:%s"%(fname,lineno) - funcCalledByFunc.setdefault(m.group(1), {})[curFunc]=1 - funcCalledByFile.setdefault(m.group(1), {})[fname]=1 - line = line[m.end():] - - f.close() - -fileUsers = {} -fileUses = {} - -for fname in files: - print "%s:"%fname - users = {} - for func in fileDeclares[fname]: - cb = funcCalledByFile.get(func,{}).keys() - for f in cb: users[f] = 1 - #print "users[%s] = %s"%(f,users[f]) - users = users.keys() - users.sort() - fileUsers[fname] = users - for user in users: - fileUses.setdefault(user,[]).append(fname) - if user == fname: continue - print " from %s:"%user - for func in fileDeclares[fname]: - if funcCalledByFile.get(func,{}).get(user,0): - print " %s()"%func - -def wrap(s, pre): - return textwrap.fill(s, - width=77, initial_indent=pre, - subsequent_indent=" "*len(pre)) - -for fname in files: - print - print "===== %s"%fname - print wrap(" ".join(fileUses[fname]), - " Calls: ") - print wrap(" ".join(fileUsers[fname]), - " Called by: ") - -print "==============================" - -funcnames = functionCalls.keys() -funcnames.sort() - -if 1: - for func in funcnames: - print "===== %s"%func - callers = [c for c in funcCalledByFunc.get(func,{}).keys() - if c != "???"] - callers.sort() - called = [c for c in functionCalls[func].keys() if c != "???" and - c in funcnames] - called.sort() - print wrap(" ".join(callers), - " Called by:") - print wrap(" ".join(called), - " Calls:") - -# simple topological sort. -functionDepth = {} -while 1: - BIG = 1000000 - any = 0 - for func in funcnames: - if functionDepth.has_key(func): - continue - called = [c for c in functionCalls[func] if c != func and - functionCalls.has_key(c)] - if len(called) == 0: - functionDepth[func] = 0 - #print "Depth(%s)=%s"%(func,0) - any = 1 - continue - calledDepths = [ functionDepth.get(c,BIG) for c in called ] - if max(calledDepths) < BIG: - d = functionDepth[func] = max(calledDepths)+1 - #print "Depth(%s)=%s"%(func,d) - any = 1 - continue - if not any: - break - -# compute lexical closure. -cycCalls = {} -for func in funcnames: - if not functionDepth.has_key(func): - calls = [ c for c in functionCalls[func] if c != func and - functionCalls.has_key(c) and not functionDepth.has_key(c)] - cycCalls[func] = d = {} - for c in calls: - d[c]=1 - -cycNames = cycCalls.keys() -while 1: - any = 0 - for func in cycNames: - L = len(cycCalls[func]) - for called in cycCalls[func].keys(): - cycCalls[func].update(cycCalls[called]) - if L != len(cycCalls[func]): - any = 1 - if not any: - break - -depthList = [ (v,k) for k,v in functionDepth.items() ] -depthList.sort() -cycList = [ (len(v),k) for k,v in cycCalls.items() ] -cycList.sort() -for depth,name in depthList: - print "Depth[%s]=%s"%(name,depth) -for bredth,name in cycList: - print "Width[%s]=%s"%(name,bredth) - -print "Sorted %s / %s"%(len(functionDepth),len(funcnames)) diff --git a/contrib/netinst.nsi b/contrib/netinst.nsi deleted file mode 100644 index 08d950ab04..0000000000 --- a/contrib/netinst.nsi +++ /dev/null @@ -1,74 +0,0 @@ -!include "MUI.nsh" -!include "LogicLib.nsh" -!include "FileFunc.nsh" - -!define VERSION "0.2.1.13" -!define INSTALLER "TorNetInstaller.exe" -!define WEBSITE "https://www.torproject.org/" -!define LICENSE "LICENSE" - -SetCompressor /SOLID BZIP2 -RequestExecutionLevel user -OutFile ${INSTALLER} -InstallDir "$TEMP\TorInstTmp" -SetOverWrite on -Name "Tor Network Installer" -Caption "Tor Network Installer" -BrandingText "Tor Network Installer" -CRCCheck on -XPStyle on -ShowInstDetails hide -VIProductVersion "${VERSION}" -VIAddVersionKey "ProductName" "Tor" -VIAddVersionKey "Comments" "${WEBSITE}" -VIAddVersionKey "LegalTrademarks" "Three line BSD" -VIAddVersionKey "LegalCopyright" "©2004-2011, Roger Dingledine, Nick Mathewson, The Tor Project, Inc." -VIAddVersionKey "FileDescription" "Tor is an implementation of Onion Routing. You can read more at ${WEBSITE}" -VIAddVersionKey "FileVersion" "${VERSION}" - -!define MUI_ICON "torinst32.ico" -!define MUI_HEADERIMAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Header\win.bmp" -!insertmacro MUI_PAGE_INSTFILES -!insertmacro MUI_LANGUAGE "English" - -Section "Tor" Tor - SectionIn RO - SetOutPath $INSTDIR - Call ExtractPackages - Call RunInstallers - Call LaunchVidalia - Call CleanUpTemp -SectionEnd - -Function ExtractPackages - File "license.msi" - File "thandy.msi" -FunctionEnd - -Function RunInstallers - ExecWait 'msiexec /i "$INSTDIR\license.msi" /qn' - ExecWait 'msiexec /i "$INSTDIR\thandy.msi" NOSC=1 /qn' - ExecWait '"$LOCALAPPDATA\Programs\Thandy\thandy.exe" update "--repo=$LOCALAPPDATA\Thandy\Tor Updates" /bundleinfo/tor/win32/' - ExecWait '"$LOCALAPPDATA\Programs\Thandy\thandy.exe" update "--repo=$LOCALAPPDATA\Thandy\Polipo Updates" /bundleinfo/polipo/win32/' - ExecWait '"$LOCALAPPDATA\Programs\Thandy\thandy.exe" update "--repo=$LOCALAPPDATA\Thandy\TorButton Updates" /bundleinfo/torbutton/win32/' - ExecWait '"$LOCALAPPDATA\Programs\Thandy\thandy.exe" update "--repo=$LOCALAPPDATA\Thandy\Vidalia Updates" /bundleinfo/vidalia/win32/' - ExecWait '"$LOCALAPPDATA\Programs\Thandy\thandy.exe" update --install "--repo=$LOCALAPPDATA\Thandy\Tor Updates" /bundleinfo/tor/win32/' - ExecWait '"$LOCALAPPDATA\Programs\Thandy\thandy.exe" update --install "--repo=$LOCALAPPDATA\Thandy\Polipo Updates" /bundleinfo/polipo/win32/' - ExecWait '"$LOCALAPPDATA\Programs\Thandy\thandy.exe" update --install "--repo=$LOCALAPPDATA\Thandy\TorButton Updates" /bundleinfo/torbutton/win32/' - ExecWait '"$LOCALAPPDATA\Programs\Thandy\thandy.exe" update --install "--repo=$LOCALAPPDATA\Thandy\Vidalia Updates" /bundleinfo/vidalia/win32/' - ExpandEnvStrings $0 %COMSPEC% - Exec '"$0" /C "$INSTDIR\tbcheck.bat"' -FunctionEnd - -Function LaunchVidalia - SetOutPath "$LOCALAPPDATA\Programs\Vidalia" - Exec 'vidalia.exe -loglevel info -logfile log.txt' -FunctionEnd - -Function CleanUpTemp - ExecWait '"del" "$INSTDIR\license.msi"' - ExecWait '"del" "$INSTDIR\thandy.msi"' - SetOutPath $TEMP - RMDir /r $TEMP\TorInstTmp -FunctionEnd - diff --git a/contrib/linux-tor-prio.sh b/contrib/operator-tools/linux-tor-prio.sh index ea9e0ddaa5..ea9e0ddaa5 100644 --- a/contrib/linux-tor-prio.sh +++ b/contrib/operator-tools/linux-tor-prio.sh diff --git a/contrib/tor-exit-notice.html b/contrib/operator-tools/tor-exit-notice.html index 8cf5c294f2..8cf5c294f2 100644 --- a/contrib/tor-exit-notice.html +++ b/contrib/operator-tools/tor-exit-notice.html diff --git a/contrib/tor.logrotate.in b/contrib/operator-tools/tor.logrotate.in index 6e75f80bf0..6e75f80bf0 100644 --- a/contrib/tor.logrotate.in +++ b/contrib/operator-tools/tor.logrotate.in diff --git a/contrib/check-tor b/contrib/or-tools/check-tor index e981a35fcc..e981a35fcc 100755 --- a/contrib/check-tor +++ b/contrib/or-tools/check-tor diff --git a/contrib/checksocks.pl b/contrib/or-tools/checksocks.pl index 3fcc0df14a..3fcc0df14a 100755 --- a/contrib/checksocks.pl +++ b/contrib/or-tools/checksocks.pl diff --git a/contrib/exitlist b/contrib/or-tools/exitlist index 3fd26b5166..3fd26b5166 100755 --- a/contrib/exitlist +++ b/contrib/or-tools/exitlist diff --git a/contrib/package_nsis-weasel.sh b/contrib/package_nsis-weasel.sh deleted file mode 100755 index 8dd4948527..0000000000 --- a/contrib/package_nsis-weasel.sh +++ /dev/null @@ -1,90 +0,0 @@ -#!/bin/sh - -set -e - -# -# Script to package a Tor installer on win32. This script assumes that -# you have already built Tor, that you are running cygwin, and that your -# environment is basically exactly the same as Nick's. - -if ! [ -d Win32Build ] || ! [ -d contrib ]; then - echo "No Win32Build and/or no contrib directory here. Are we in the right place?" >&2 - exit 1 -fi - -rm -rf win_tmp -mkdir win_tmp -mkdir win_tmp/bin -mkdir win_tmp/contrib -mkdir win_tmp/doc -mkdir win_tmp/doc/website -mkdir win_tmp/doc/design-paper -mkdir win_tmp/doc/contrib -mkdir win_tmp/src -mkdir win_tmp/src/config -mkdir win_tmp/tmp - -cp Win32Build/vc7/Tor/Debug/Tor.exe win_tmp/bin/tor.exe -cp Win32Build/vc7/tor_resolve/Debug/tor_resolve.exe win_tmp/bin -cp ../c-windows-system32/libeay32.dll win_tmp/bin -cp ../c-windows-system32/ssleay32.dll win_tmp/bin - -man2html doc/tor.1.in > win_tmp/tmp/tor-reference.html -man2html doc/tor-resolve.1 > win_tmp/tmp/tor-resolve.html - -clean_newlines() { - perl -pe 's/^\n$/\r\n/mg; s/([^\r])\n$/\1\r\n/mg;' $1 >$2 -} - -clean_localstatedir() { - perl -pe 's/^\n$/\r\n/mg; s/([^\r])\n$/\1\r\n/mg; s{\@LOCALSTATEDIR\@/(lib|log)/tor/}{C:\\Documents and Settings\\Application Data\\Tor\\}' $1 >$2 -} - -for fn in \ - doc/HACKING \ - doc/control-spec.txt \ - doc/dir-spec.txt \ - doc/rend-spec.txt \ - doc/socks-extensions.txt \ - doc/tor-spec.txt \ - doc/version-spec.txt \ - \ - doc/website/* \ - ; do - clean_newlines "$fn" win_tmp/"$fn" -done -mmv win_tmp/doc/website/"*.html.*" win_tmp/doc/website/"#1.#2.html" - -cp doc/design-paper/tor-design.pdf win_tmp/doc/design-paper/tor-design.pdf - -for fn in tor-reference.html tor-resolve.html; do \ - clean_newlines win_tmp/tmp/$fn win_tmp/doc/$fn -done - -for fn in README AUTHORS ChangeLog LICENSE; do \ - clean_newlines $fn win_tmp/$fn -done - -clean_localstatedir src/config/torrc.sample.in win_tmp/src/config/torrc.sample - -cp contrib/tor.nsi.in win_tmp/contrib/tor.nsi -( - echo '/WEBSITE-FILES-HERE/' - echo 'a' # append - for fn in win_tmp/doc/website/*; do - echo -n 'File "..\doc\website\' - echo -n "`basename $fn`" - echo '"' - done - echo "." # end input - echo "w" # write - echo "q" # quit -) | ed win_tmp/contrib/tor.nsi - -cd win_tmp/contrib - -echo "Now run" -echo ' t:' -echo ' cd \tor\win_tmp\contrib' -echo ' c:\programme\nsis\makensis tor.nsi' -echo ' move tor-*.exe ../../..' diff --git a/contrib/package_nsis.sh b/contrib/package_nsis.sh deleted file mode 100644 index 863dfdff9d..0000000000 --- a/contrib/package_nsis.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# -# Script to package a Tor installer on win32. This script assumes that -# you have already built Tor, that you are running cygwin, and that your -# environment is basically exactly the same as Nick's. - -# This file is obsolete. - -rm -rf win_tmp -mkdir win_tmp -mkdir win_tmp/bin -mkdir win_tmp/contrib -mkdir win_tmp/doc -mkdir win_tmp/doc/design-paper -mkdir win_tmp/doc/contrib -mkdir win_tmp/src -mkdir win_tmp/src/config -mkdir win_tmp/tmp - -cp Win32Build/vc7/Tor/Debug/Tor.exe win_tmp/bin/tor.exe -cp Win32Build/vc7/tor_resolve/Debug/tor_resolve.exe win_tmp/bin -cp c:/windows/system32/libeay32.dll win_tmp/bin -cp c:/windows/system32/ssleay32.dll win_tmp/bin - -man2html doc/tor.1.in > win_tmp/tmp/tor-reference.html -man2html doc/tor-resolve.1 > win_tmp/tmp/tor-resolve.html - -clean_newlines() { - perl -pe 's/^\n$/\r\n/mg; s/([^\r])\n$/\1\r\n/mg;' $1 >$2 -} - -clean_localstatedir() { - perl -pe 's/^\n$/\r\n/mg; s/([^\r])\n$/\1\r\n/mg; s{\@LOCALSTATEDIR\@/(lib|log)/tor/}{C:\\Documents and Settings\\Application Data\\Tor\\}' $1 >$2 -} - -for fn in tor-spec.txt HACKING rend-spec.txt control-spec.txt \ - tor-doc.html tor-doc.css version-spec.txt; do - clean_newlines doc/$fn win_tmp/doc/$fn -done - -cp doc/design-paper/tor-design.pdf win_tmp/doc/design-paper/tor-design.pdf - -for fn in tor-reference.html tor-resolve.html; do \ - clean_newlines win_tmp/tmp/$fn win_tmp/doc/$fn -done - -for fn in README AUTHORS ChangeLog LICENSE; do \ - clean_newlines $fn win_tmp/$fn -done - -clean_localstatedir src/config/torrc.sample.in win_tmp/src/config/torrc.sample - -cp contrib/tor.nsi win_tmp/contrib - -cd win_tmp/contrib -makensis tor.nsi -mv tor-*.exe ../.. diff --git a/contrib/polipo/Makefile.mingw b/contrib/polipo/Makefile.mingw deleted file mode 100644 index ddb20ec48a..0000000000 --- a/contrib/polipo/Makefile.mingw +++ /dev/null @@ -1,100 +0,0 @@ -PREFIX = Polipo -BINDIR = $(PREFIX)\bin -MANDIR = $(PREFIX)\man -INFODIR = $(PREFIX)\info -LOCAL_ROOT = $(PREFIX) -DISK_CACHE_ROOT = $(PREFIX)\cache - -# To compile with Unix CC: - -# CDEBUGFLAGS=-O - -# To compile with GCC: - -# CC = gcc -# CDEBUGFLAGS = -Os -g -Wall -std=gnu99 -CDEBUGFLAGS = -Os -g -Wall -# CDEBUGFLAGS = -Os -Wall -# CDEBUGFLAGS = -g -Wall - -# To compile on a pure POSIX system: - -# CC = c89 -# CC = c99 -# CDEBUGFLAGS=-O - -# To compile with icc 7, you need -restrict. (Their bug.) - -# CC=icc -# CDEBUGFLAGS = -O -restrict - -# On System V (Solaris, HP/UX) you need the following: - -# PLATFORM_DEFINES = -DSVR4 - -# On Solaris, you need the following: - -# LDLIBS = -lsocket -lnsl -lresolv - -# On mingw, you need - - EXE=.exe - LDLIBS = -lwsock32 -lregex - -FILE_DEFINES = -DHAVE_REGEX - -# You may optionally also add any of the following to DEFINES: -# -# -DNO_DISK_CACHE to compile out the on-disk cache and local web server; -# -DNO_IPv6 to avoid using the RFC 3493 API and stick to stock -# Berkeley sockets; -# -DHAVE_IPv6 to force the use of the RFC 3493 API on systems other -# than GNU/Linux and BSD (let me know if it works); -# -DNO_FANCY_RESOLVER to compile out the asynchronous name resolution -# code; -# -DNO_STANDARD_RESOLVER to compile out the code that falls back to -# gethostbyname/getaddrinfo when DNS requests fail; -# -DNO_TUNNEL to compile out the code that handles CONNECT requests; -# -DNO_SOCKS to compile out the SOCKS gateway code. -# -DNO_FORBIDDEN to compile out the all of the forbidden URL code -# -DNO_REDIRECTOR to compile out the Squid-style redirector code -# -DNO_SYSLOG to compile out logging to syslog - -DEFINES = $(FILE_DEFINES) $(PLATFORM_DEFINES) - -CFLAGS = $(MD5INCLUDES) $(CDEBUGFLAGS) $(DEFINES) $(EXTRA_DEFINES) - -SRCS = util.c event.c io.c chunk.c atom.c object.c log.c diskcache.c main.c \ - config.c local.c http.c client.c server.c auth.c tunnel.c \ - http_parse.c parse_time.c dns.c forbidden.c \ - md5import.c md5.c ftsimport.c fts_compat.c socks.c mingw.c - -OBJS = util.o event.o io.o chunk.o atom.o object.o log.o diskcache.o main.o \ - config.o local.o http.o client.o server.o auth.o tunnel.o \ - http_parse.o parse_time.o dns.o forbidden.o \ - md5import.o ftsimport.o socks.o mingw.o - -polipo$(EXE): $(OBJS) - $(CC) $(CFLAGS) $(LDFLAGS) -o polipo$(EXE) $(OBJS) $(MD5LIBS) $(LDLIBS) - -ftsimport.o: ftsimport.c fts_compat.c - -md5import.o: md5import.c md5.c - -.PHONY: all install install.binary install.man - -all: polipo$(EXE) polipo.info html/index.html localindex.html - -TAGS: $(SRCS) - etags $(SRCS) - -.PHONY: clean - -clean: - -rm -f polipo$(EXE) *.o *~ core TAGS gmon.out - -rm -f polipo.cp polipo.fn polipo.log polipo.vr - -rm -f polipo.cps polipo.info* polipo.pg polipo.toc polipo.vrs - -rm -f polipo.aux polipo.dvi polipo.ky polipo.ps polipo.tp - -rm -f polipo.dvi polipo.ps polipo.ps.gz polipo.pdf polipo.html - -rm -rf ./html/ - -rm -f polipo.man.html diff --git a/contrib/polipo/README b/contrib/polipo/README deleted file mode 100644 index 1110ca2731..0000000000 --- a/contrib/polipo/README +++ /dev/null @@ -1,47 +0,0 @@ -Copyright 2007-2008, Andrew Lewman -Copyright 2009-2011, The Tor Project - ----------------- -General Comments ----------------- - -These are some hacks for making polipo work and install a package native -to Windows. - -They need some work before they can be committed upstream: - - Change the Makefile so it has a specific build such as "make - dist-win32" - - Configure the options for tor in polipo config, just leave them - commented out for easy activation. - - Work out better polipo config options for Tor. - -As always, I'm happy to accept patches. - --------------------------- -Pre-requisites for Windows --------------------------- - -Polipo for Win32 requires the mingw gnu regex library and dlls at -http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=73286&release_id=140957 - -You'll need to download the -bin and -dev tarballs. And extract them -into your MinGW directory. - -Instructions for building polipo under mingw32 for Windows: -1) Copy Makefile.mingw over Makefile. -2) Run 'make'. - -You should have a polipo.exe in the current directory. - -------------------------------------------- -Creating an installation package in Windows -------------------------------------------- - -If you want to build an installer using the Nullsoft Installer, install -the NSI Compiler. In Windows Explorer, navigate to the directory in -which you placed polipo-mingw.nsi. Right click on polipo-mingw.nsi and -choose Compile NSIS Script. You'll then create a polipo installer. - -The Polipo NSI installer assumes libgnurx-0.dll is in the same directory as polipo.exe. -You'll need to copy libgnurx-0.dll into "./" in order to make the -installation package. diff --git a/contrib/polipo/polipo-mingw.nsi b/contrib/polipo/polipo-mingw.nsi deleted file mode 100644 index f119675eba..0000000000 --- a/contrib/polipo/polipo-mingw.nsi +++ /dev/null @@ -1,172 +0,0 @@ -;polipo-mingw.nsi - A basic win32 installer for Polipo -; Originally written by J Doe. -; Modified by Andrew Lewman -; This is licensed under a Modified BSD license. -;----------------------------------------- -; -!include "MUI.nsh" - -!define VERSION "1.0.4.0-forbidden-1" -!define INSTALLER "polipo-${VERSION}-win32.exe" -!define WEBSITE "http://www.pps.jussieu.fr/~jch/software/polipo/" - -!define LICENSE "COPYING" -;BIN is where it expects to find polipo.exe -!define BIN "." - -SetCompressor lzma -OutFile ${INSTALLER} -InstallDir $PROGRAMFILES\Polipo -SetOverWrite ifnewer - -Name "Polipo" -Caption "Polipo ${VERSION} Setup" -BrandingText "A Caching Web Proxy" -CRCCheck on -XPStyle on -VIProductVersion "${VERSION}" -VIAddVersionKey "ProductName" "Polipo: A caching web proxy" -VIAddVersionKey "Comments" "http://www.pps.jussieu.fr/~jch/software/polipo/" -VIAddVersionKey "LegalTrademarks" "See COPYING" -VIAddVersionKey "LegalCopyright" "©2008, Juliusz Chroboczek" -VIAddVersionKey "FileDescription" "Polipo is a caching web proxy." -VIAddVersionKey "FileVersion" "${VERSION}" - -!define MUI_WELCOMEPAGE_TITLE "Welcome to the Polipo ${VERSION} Setup Wizard" -!define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of Polipo ${VERSION}.\r\n\r\nIf you have previously installed Polipo and it is currently running, please exit Polipo first before continuing this installation.\r\n\r\n$_CLICK" -!define MUI_ABORTWARNING -!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\win-install.ico" -!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\win-uninstall.ico" -!define MUI_HEADERIMAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Header\win.bmp" -!define MUI_HEADERIMAGE -;!define MUI_FINISHPAGE_RUN -!define MUI_FINISHPAGE_LINK "Visit the Polipo website for the latest updates." -!define MUI_FINISHPAGE_LINK_LOCATION ${WEBSITE} - -!insertmacro MUI_PAGE_WELCOME -!insertmacro MUI_PAGE_COMPONENTS -!insertmacro MUI_PAGE_DIRECTORY -!insertmacro MUI_PAGE_INSTFILES -!insertmacro MUI_PAGE_FINISH -!insertmacro MUI_UNPAGE_WELCOME -!insertmacro MUI_UNPAGE_CONFIRM -!insertmacro MUI_UNPAGE_INSTFILES -!insertmacro MUI_UNPAGE_FINISH -!insertmacro MUI_LANGUAGE "English" - -Var configfile -Var forbiddenfile - -;Sections -;-------- - -Section "Polipo" Polipo -;Files that have to be installed for polipo to run and that the user -;cannot choose not to install - SectionIn RO - SetOutPath $INSTDIR - File "${BIN}\polipo.exe" - File "${BIN}\COPYING" - File "${BIN}\CHANGES" - File "${BIN}\config.sample" - File "${BIN}\forbidden.sample" - File "${BIN}\README.Windows" - File "${BIN}\libgnurx-0.dll" - WriteIniStr "$INSTDIR\Polipo Website.url" "InternetShortcut" "URL" ${WEBSITE} - - StrCpy $configfile "config" - StrCpy $forbiddenfile "forbidden" - SetOutPath $INSTDIR - ;If there's already a polipo config file, ask if they want to - ;overwrite it with the new one. - IfFileExists "$INSTDIR\config" "" endifconfig - MessageBox MB_ICONQUESTION|MB_YESNO "You already have a Polipo config file.$\r$\nDo you want to overwrite it with the default sample config file?" IDNO yesreplace - Delete $INSTDIR\config - Goto endifconfig - yesreplace: - StrCpy $configfile ".\config.sample" - endifconfig: - File /oname=$configfile ".\config.sample" - ;If there's already a polipo forbidden file, ask if they want to - ;overwrite it with the new one. - IfFileExists "$INSTDIR\forbidden" "" endifforbidden - MessageBox MB_ICONQUESTION|MB_YESNO "You already have a Polipo forbidden file.$\r$\nDo you want to overwrite it with the default sample forbidden file?" IDNO forbidyesreplace - Delete $INSTDIR\forbidden - Goto endifforbidden - forbidyesreplace: - StrCpy $forbiddenfile ".\forbidden.sample" - endifforbidden: - File /oname=$forbiddenfile ".\forbidden.sample" - IfFileExists "$INSTDIR\bin\*.*" "" endifbinroot - CreateDirectory "$INSTDIR\bin" - endifbinroot: - CopyFiles "${BIN}\localindex.html" $INSTDIR\index.html - IfFileExists "$INSTDIR\cache\*.*" "" endifcache - CreateDirectory "$INSTDIR\cache" - endifcache: -SectionEnd - -SubSection /e "Shortcuts" Shortcuts - -Section "Start Menu" StartMenu - SetOutPath $INSTDIR - IfFileExists "$SMPROGRAMS\Polipo\*.*" "" +2 - RMDir /r "$SMPROGRAMS\Polipo" - CreateDirectory "$SMPROGRAMS\Polipo" - CreateShortCut "$SMPROGRAMS\Polipo\Polipo.lnk" "$INSTDIR\polipo.exe" "-c config" - CreateShortCut "$SMPROGRAMS\Polipo\Poliporc.lnk" "Notepad.exe" "$INSTDIR\config" - CreateShortCut "$SMPROGRAMS\Polipo\Polipo Documentation.lnk" "$INSTDIR\www\index.html" - CreateShortCut "$SMPROGRAMS\Polipo\Polipo Website.lnk" "$INSTDIR\Polipo Website.url" - CreateShortCut "$SMPROGRAMS\Polipo\Uninstall.lnk" "$INSTDIR\Uninstall.exe" -SectionEnd - -Section "Desktop" Desktop - SetOutPath $INSTDIR - CreateShortCut "$DESKTOP\Polipo.lnk" "$INSTDIR\polipo.exe" "-c config" -SectionEnd - -Section /o "Run at startup" Startup - SetOutPath $INSTDIR - CreateShortCut "$SMSTARTUP\Polipo.lnk" "$INSTDIR\polipo.exe" "-c config -f forbidden" "" "" "" SW_SHOWMINIMIZED -SectionEnd - -SubSectionEnd - -Section "Uninstall" - Delete "$DESKTOP\Polipo.lnk" - Delete "$INSTDIR\polipo.exe" - Delete "$INSTDIR\Polipo Website.url" - Delete "$INSTDIR\config" - Delete "$INSTDIR\config.sample" - Delete "$INSTDIR\forbidden.sample" - Delete "$INSTDIR\libgnurx-0.dll" - Delete "$INSTDIR\COPYING" - Delete "$INSTDIR\CHANGES" - Delete "$INSTDIR\README.Windows" - StrCmp $INSTDIR $INSTDIR +2 "" - RMDir /r $INSTDIR - Delete "$INSTDIR\Uninstall.exe" - RMDir /r "$INSTDIR\Documents" - RMDir $INSTDIR - RMDir /r "$SMPROGRAMS\Polipo" - RMDir /r "$APPDATA\Polipo" - Delete "$SMSTARTUP\Polipo.lnk" - DeleteRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Polipo" -SectionEnd - -Section -End - WriteUninstaller "$INSTDIR\Uninstall.exe" - ;The registry entries simply add the Polipo uninstaller to the Windows - ;uninstall list. - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Polipo" "DisplayName" "Polipo (remove only)" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Polipo" "UninstallString" '"$INSTDIR\Uninstall.exe"' -SectionEnd - -!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN - !insertmacro MUI_DESCRIPTION_TEXT ${Polipo} "The core executable and config files needed for Polipo to run." - !insertmacro MUI_DESCRIPTION_TEXT ${ShortCuts} "Shortcuts to easily start Polipo" - !insertmacro MUI_DESCRIPTION_TEXT ${StartMenu} "Shortcuts to access Polipo and its documentation from the Start Menu" - !insertmacro MUI_DESCRIPTION_TEXT ${Desktop} "A shortcut to start Polipo from the desktop" - !insertmacro MUI_DESCRIPTION_TEXT ${Startup} "Launches Polipo automatically at startup in a minimized window" -!insertmacro MUI_FUNCTION_DESCRIPTION_END - diff --git a/contrib/sd b/contrib/sd deleted file mode 100755 index 232e8accde..0000000000 --- a/contrib/sd +++ /dev/null @@ -1,84 +0,0 @@ -#!/bin/bash -# -# Copyright (c) 2005, 2006, 2007, 2008 Peter Palfrader <peter@palfrader.org> -# Copyright (c) 2008, 2009 Jacob Appelbaum <jacob@appelbaum.net> -# -# Permission is hereby granted, free of charge, to any person obtaining -# a copy of this software and associated documentation files (the -# "Software"), to deal in the Software without restriction, including -# without limitation the rights to use, copy, modify, merge, publish, -# distribute, sublicense, and/or sell copies of the Software, and to -# permit persons to whom the Software is furnished to do so, subject to -# the following conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -# This small script fetches information about a server when given a nickname. -# It currently uses the v2 dir information and not the v3 consensus by default. -# It requires wget, perl, awk to function properly. This is based on a zsh -# dotfile from weasel and adapted to be a small bash utility. -# - -# Feel free to set any authority you desire, we're using weasel's by default -# You could also try the v3 directory infomation in weasel's dir authority: -# http://tor.noreply.org/tor/status-vote/current/consensus -# - -# Users can select between the two -v3authority="http://tor.noreply.org/tor/status-vote/current/consensus"; -v2authority="http://tor.noreply.org:80/tor/status/authority"; -authority=$v2authority; - -function usage { - echo "Usage: $0 [-2|-3] nodenickname"; -} - -if [ -z "$1" ]; -then - usage; - exit; -fi - -# Are we switching between v2 or v3? -if [ "$1" == "-2" -o "$1" == "-3" ]; -then - if [ "$1" == "-2" -a -n "$2" ]; - then - authority=$v2authority; - nickname="$2"; - elif [ "$1" == "-3" -a -n "$2" ]; - then - authority=$v3authority; - nickname="$2"; - else - usage; - exit; - fi -else - nickname="$1"; -fi - -# Fetch it and decode the fingerprint -fp=`wget -q -O - $authority | \ - awk '$1 == "r" && $2 == "'$nickname'" {printf "%s===", $3}' | \ - perl -MMIME::Base64 -e "print unpack(\"H*\", decode_base64(<>)),\"\n\"";` - -# If we don't have a fingerprint, we don't have a match -if [ "$fp" != "" ]; -then - wget -q -O - http://tor.noreply.org:80/tor/server/fp/$fp; - exit $?; -else - echo "It appears the nickname is not currently known by the directory" \ - "authority." - exit 1; -fi diff --git a/contrib/suse/include.am b/contrib/suse/include.am deleted file mode 100644 index 4aed0e123e..0000000000 --- a/contrib/suse/include.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST+= contrib/suse/tor.sh diff --git a/contrib/tor-ctrl.sh b/contrib/tor-ctrl.sh deleted file mode 100644 index 58320ced12..0000000000 --- a/contrib/tor-ctrl.sh +++ /dev/null @@ -1,212 +0,0 @@ -#!/bin/bash -# -# tor-ctrl is a commandline tool for executing commands on a tor server via -# the controlport. In order to get this to work, add "ControlPort 9051" and -# "CookieAuthentication 1" to your torrc and reload tor. Or - if you want a -# fixed password - leave out "CookieAuthentication 1" and use the following -# line to create the appropriate HashedControlPassword entry for your torrc -# (you need to change yourpassword, of course): -# -# echo "HashedControlPassword $(tor --hash-password yourpassword | tail -n 1)" -# -# tor-ctrl will return 0 if it was successful and 1 if not, 2 will be returned -# if something (telnet, xxd) is missing. 4 will be returned if it executed -# several commands from a file. -# -# For setting the bandwidth for specific times of the day, I suggest calling -# tor-ctrl via cron, e.g.: -# -# 0 22 * * * /path/to/tor-ctrl -c "SETCONF bandwidthrate=1mb" -# 0 7 * * * /path/to/tor-ctrl -c "SETCONF bandwidthrate=100kb" -# -# This would set the bandwidth to 100kb at 07:00 and to 1mb at 22:00. You can -# use notations like 1mb, 1kb or the number of bytes. -# -# Many, many other things are possible, see -# https://www.torproject.org/svn/trunk/doc/spec/control-spec.txt -# -# Copyright (c) 2007 by Stefan Behte -# -# tor-ctrl is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# tor-ctrl is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with tor-ctrl; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -# Written by Stefan Behte -# -# Please send bugs, comments, wishes, thanks and success stories to: -# Stefan dot Behte at gmx dot net -# -# Also have a look at my page: -# http://ge.mine.nu/ -# -# 2007-10-03: First version, only changing bandwidth possible. -# 2007-10-04: Renaming to "tor-ctrl", added a lot of functions, it's now a -# general-purpose tool. -# Added control_auth_cookie/controlpassword auth, getopts, -# program checks, reading from file etc. - -VERSION=v1 -TORCTLIP=127.0.0.1 -TORCTLPORT=9051 -TOR_COOKIE="/var/lib/tor/data/control_auth_cookie" -SLEEP_AFTER_CMD=1 -VERBOSE=0 - -usage() -{ -cat <<EOF - -tor-ctrl $VERSION by Stefan Behte (http://ge.mine.nu) -You should have a look at -https://www.torproject.org/svn/trunk/doc/spec/control-spec.txt - -usage: tor-ctrl [-switch] [variable] - - [-c] [command] = command to execute - notice: always "quote" your command - - [-f] [file] = file to execute commands from - notice: only one command per line - - [-a] [path] = path to tor's control_auth_cookie - default: /var/lib/tor/data/control_auth_cookie - notice: do not forget to adjust your torrc - - [-s] [time] = sleep [var] seconds after each command sent - default: 1 second - notice: for GETCONF, you can use smaller pause times - than for SETCONF; this is due to telnet's behaviour. - - [-p] [pwd] = Use password [var] instead of tor's control_auth_cookie - default: not used - notice: do not forget to adjust your torrc - - [-P] [port] = Tor ControlPort - default: 9051 - - [-v] = verbose - default: not set - notice: the default output is the return code ;) - You propably want to set -v when running manually - - Examples: $0 -c "SETCONF bandwidthrate=1mb" - $0 -v -c "GETINFO version" - $0 -v -s 0 -P 9051 -p foobar -c "GETCONF bandwidthrate" - -EOF -exit 2 -} - -checkprogs() -{ - programs="telnet" - if [ "$PASSWORD" = "" ] - then - # you only need xxd when using control_auth_cookie - programs="$programs xxd" - fi - - for p in $programs - do - which $p &>/dev/null # are you there? - if [ "$?" != "0" ] - then - echo "$p is missing." - exit 2 - fi - done -} - -sendcmd() -{ - echo "$@" - sleep ${SLEEP_AFTER_CMD} -} - -login() -{ - if [ "$PASSWORD" = "" ] - then - sendcmd "AUTHENTICATE $(xxd -c 32 -g 0 ${TOR_COOKIE} | awk '{print $2}')" - else - sendcmd "AUTHENTICATE \"${PASSWORD}\"" - fi -} - -cmdpipe() -{ - login - sendcmd "$@" - sendcmd "QUIT" -} - -vecho() -{ - if [ $VERBOSE -ge 1 ] - then - echo "$@" - fi -} - -myecho() -{ - STR=$(cat) - vecho "$STR" - - echo "$STR" | if [ "$(grep -c ^"250 ")" = 3 ] - then - exit 0 - else - exit 1 - fi -} - -filepipe() -{ - login - cat "$1" | while read line - do - sendcmd "$line" - done - sendcmd "QUIT" -} - -while getopts ":a:c:s:p:P:f:vh" Option -do - case $Option in - a) TOR_COOKIE="${OPTARG}";; - c) CMD="${OPTARG}";; - s) SLEEP_AFTER_CMD="${OPTARG}";; - p) PASSWORD="${OPTARG}";; - P) TORCTLPORT="${OPTARG}";; - f) FILE="${OPTARG}";; - v) VERBOSE=1;; - h) usage;; - *) usage;; - esac -done - -if [ -e "$FILE" ] -then - checkprogs - filepipe "$FILE" | telnet $TORCTLIP $TORCTLPORT 2>/dev/null | myecho - exit 4 -fi - -if [ "$CMD" != "" ] -then - checkprogs - cmdpipe $CMD | telnet $TORCTLIP $TORCTLPORT 2>/dev/null | myecho -else - usage -fi diff --git a/contrib/tor-stress b/contrib/tor-stress deleted file mode 100755 index a0c88c2fdd..0000000000 --- a/contrib/tor-stress +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/perl - -#require 'sys/syscall.ph'; -$|=1; - -$total = 1; -$target = "http://www.cnn.com/"; - -for($i=0;$i<$total;$i++) { - print "Starting client $i\n"; - $pid = fork(); - if(!$pid) { - open(FD,"wget -q -O - $target|"); - $c = 0; - while(<FD>) { - $c += length($_); - } -# $TIMEVAL_T = "LL"; -# $now = pack($TIMEVAL_T, ()); -# syscall(&SYS_gettimeofday, $now, 0) != -1 or die "gettimeofday: $!"; -# @now = unpack($TIMEVAL_T, $now); - print "Client $i exiting ($c chars).\n"; - exit(0); - } -# sleep(1); -} - diff --git a/contrib/torinst32.ico b/contrib/torinst32.ico Binary files differdeleted file mode 100644 index ccbad9b152..0000000000 --- a/contrib/torinst32.ico +++ /dev/null diff --git a/contrib/package_nsis-mingw.sh b/contrib/win32build/package_nsis-mingw.sh index b8a46cdbee..cae862b919 100644 --- a/contrib/package_nsis-mingw.sh +++ b/contrib/win32build/package_nsis-mingw.sh @@ -40,7 +40,7 @@ # you know what you are doing. # Start in the tor source directory after you've compiled tor.exe -# This means start as ./contrib/package_nsis-mingw.sh +# This means start as ./contrib/win32build/package_nsis-mingw.sh rm -rf win_tmp mkdir win_tmp @@ -56,7 +56,7 @@ mkdir win_tmp/tmp cp src/or/tor.exe win_tmp/bin/ cp src/tools/tor-resolve.exe win_tmp/bin/ -cp contrib/tor.ico win_tmp/bin/ +cp contrib/win32build/tor.ico win_tmp/bin/ cp src/config/geoip win_tmp/bin/ strip win_tmp/bin/*.exe @@ -88,7 +88,7 @@ done clean_localstatedir src/config/torrc.sample.in win_tmp/src/config/torrc.sample -cp contrib/tor-mingw.nsi.in win_tmp/contrib/ +cp contrib/win32build/tor-mingw.nsi.in win_tmp/contrib/ cd win_tmp makensis.exe contrib/tor-mingw.nsi.in diff --git a/contrib/tor-mingw.nsi.in b/contrib/win32build/tor-mingw.nsi.in index d6a2f3362e..0e1594dd36 100644 --- a/contrib/tor-mingw.nsi.in +++ b/contrib/win32build/tor-mingw.nsi.in @@ -8,7 +8,7 @@ !include "LogicLib.nsh" !include "FileFunc.nsh" !insertmacro GetParameters -!define VERSION "0.2.5.1-alpha-dev" +!define VERSION "0.2.5.4-alpha-dev" !define INSTALLER "tor-${VERSION}-win32.exe" !define WEBSITE "https://www.torproject.org/" !define LICENSE "LICENSE" diff --git a/contrib/tor.ico b/contrib/win32build/tor.ico Binary files differindex 0cac297049..0cac297049 100644 --- a/contrib/tor.ico +++ b/contrib/win32build/tor.ico diff --git a/contrib/tor.nsi.in b/contrib/win32build/tor.nsi.in index dd24df454c..dd24df454c 100644 --- a/contrib/tor.nsi.in +++ b/contrib/win32build/tor.nsi.in diff --git a/contrib/xenobite.ico b/contrib/xenobite.ico Binary files differdeleted file mode 100644 index 352394eef0..0000000000 --- a/contrib/xenobite.ico +++ /dev/null diff --git a/doc/HACKING b/doc/HACKING index 39eafec204..2156f7ca13 100644 --- a/doc/HACKING +++ b/doc/HACKING @@ -93,7 +93,7 @@ down bugs. Jenkins ~~~~~~~ -http://jenkins.torproject.org +https://jenkins.torproject.org Dmalloc ~~~~~~~ @@ -122,7 +122,7 @@ Running gcov for unit test coverage make make check mkdir coverage-output - ./contrib/coverage coverage-output + ./scripts/test/coverage coverage-output ----- (On OSX, you'll need to start with "--enable-coverage CC=clang".) @@ -142,7 +142,7 @@ If you have two different "coverage-output" directories, and you want to see a meaningful diff between them, you can run: ----- - ./contrib/cov-diff coverage-output1 coverage-output2 | less + ./scripts/test/cov-diff coverage-output1 coverage-output2 | less ----- In this diff, any lines that were visited at least once will have coverage @@ -449,10 +449,11 @@ of them and reordering to focus on what users and funders would find interesting and understandable. 2.1) Make sure that everything that wants a bug number has one. + Make sure that everything which is a bugfix says what version + it was a bugfix on. 2.2) Concatenate them. - 2.3) Sort them by section. Within each section, try to make the - first entry or two and the last entry most interesting: they're - the ones that skimmers tend to read. + 2.3) Sort them by section. Within each section, sort by "version it's + a bugfix on", else by numerical ticket order. 2.4) Clean them up: @@ -474,6 +475,10 @@ interesting and understandable. Present and imperative tense: not past. + 'Relays', not 'servers' or 'nodes' or 'Tor relays'. + + "Stop FOOing", not "Fix a bug where we would FOO". + Try not to let any given section be longer than about a page. Break up long sections into subsections by some sort of common subtopic. This guideline is especially important when organizing Release Notes for @@ -514,8 +519,7 @@ in their approved versions list. "include/versions.wmi" and "Makefile" to note the new version. From your website checkout, run ./publish to build and publish the website. -9) Email Erinn and weasel (cc'ing tor-assistants) that a new tarball -is up. This step should probably change to mailing more packagers. +9) Email the packagers (cc'ing tor-assistants) that a new tarball is up. 10) Add the version number to Trac. To do this, go to Trac, log in, select "Admin" near the top of the screen, then select "Versions" from @@ -526,8 +530,6 @@ the date in the ChangeLog. 11) Forward-port the ChangeLog. -12) Update the topic in #tor to reflect the new version. - 12) Wait up to a day or two (for a development release), or until most packages are up (for a stable release), and mail the release blurb and changelog to tor-talk or tor-announce. diff --git a/doc/include.am b/doc/include.am index 37c0237a00..30d3e20d83 100644 --- a/doc/include.am +++ b/doc/include.am @@ -12,17 +12,17 @@ # part of the source distribution, so that people without asciidoc can # just use the .1 and .html files. -regular_mans = doc/tor doc/tor-gencert doc/tor-resolve -all_mans = $(regular_mans) doc/torify doc/tor-fw-helper - -if USE_ASCIIDOC +base_mans = doc/tor doc/tor-gencert doc/tor-resolve doc/torify +all_mans = $(base_mans) doc/tor-fw-helper if USE_FW_HELPER -nodist_man1_MANS = $(all_mans:=.1) -doc_DATA = $(all_mans:=.html) +install_mans = $(all_mans) else -nodist_man1_MANS = $(regular_mans:=.1) -doc_DATA = $(regular_mans:=.html) +install_mans = $(base_mans) endif + +if USE_ASCIIDOC +nodist_man1_MANS = $(install_mans:=.1) +doc_DATA = $(install_mans:=.html) html_in = $(all_mans:=.html.in) man_in = $(all_mans:=.1.in) txt_in = $(all_mans:=.1.txt) @@ -53,11 +53,13 @@ $(man_in) : $(AM_V_GEN)$(top_srcdir)/doc/asciidoc-helper.sh man @A2X@ $(top_srcdir)/$@ doc/tor.1.in: doc/tor.1.txt +doc/torify.1.in: doc/torify.1.txt doc/tor-gencert.1.in: doc/tor-gencert.1.txt doc/tor-resolve.1.in: doc/tor-resolve.1.txt doc/tor-fw-helper.1.in: doc/tor-fw-helper.1.txt doc/tor.html.in: doc/tor.1.txt +doc/torify.html.in: doc/torify.1.txt doc/tor-gencert.html.in: doc/tor-gencert.1.txt doc/tor-resolve.html.in: doc/tor-resolve.1.txt doc/tor-fw-helper.html.in: doc/tor-fw-helper.1.txt @@ -74,13 +76,13 @@ $(asciidoc_product) : doc/tor.html: doc/tor.html.in doc/tor-gencert.html: doc/tor-gencert.html.in doc/tor-resolve.html: doc/tor-resolve.html.in -doc/torify.html: doc/torify.1.txt +doc/torify.html: doc/torify.html.in doc/tor-fw-helper.html: doc/tor-fw-helper.html.in doc/tor.1: doc/tor.1.in doc/tor-gencert.1: doc/tor-gencert.1.in doc/tor-resolve.1: doc/tor-resolve.1.in -doc/torify.1: doc/torify.1.txt +doc/torify.1: doc/torify.1.in doc/tor-fw-helper.1: doc/tor-fw-helper.1.in CLEANFILES+= $(asciidoc_product) config.log diff --git a/doc/tor.1.txt b/doc/tor.1.txt index f168a2fb48..2f97ecdb3e 100644 --- a/doc/tor.1.txt +++ b/doc/tor.1.txt @@ -42,7 +42,7 @@ COMMAND-LINE OPTIONS [[opt-f]] **-f** __FILE__:: Specify a new configuration file to contain further Tor configuration - options. (Default: $HOME/.torrc, or @CONFDIR@/torrc if that file is not + options. (Default: @CONFDIR@/torrc, or $HOME/.torrc if that file is not found) [[opt-allow-missing-torrc]] **--allow-missing-torrc**:: @@ -143,7 +143,17 @@ GENERAL OPTIONS the specified number of bytes per second, and the average outgoing bandwidth usage to that same value. If you want to run a relay in the public network, this needs to be _at the very least_ 30 KBytes (that is, - 30720 bytes). (Default: 1 GByte) + 30720 bytes). (Default: 1 GByte) + + + + With this option, and in other options that take arguments in bytes, + KBytes, and so on, other formats are also supported. Notably, "KBytes" can + also be written as "kilobytes" or "kb"; "MBytes" can be written as + "megabytes" or "MB"; "kbits" can be written as "kilobits"; and so forth. + Tor also accepts "byte" and "bit" in the singular. + The prefixes "tera" and "T" are also recognized. + If no units are given, we default to bytes. + To avoid confusion, we recommend writing "bytes" or "bits" explicitly, + since it's easy to forget that "B" means bytes, not bits. [[BandwidthBurst]] **BandwidthBurst** __N__ **bytes**|**KBytes**|**MBytes**|**GBytes**|**KBits**|**MBits**|**GBits**:: Limit the maximum token bucket size (also known as the burst) to the given @@ -331,12 +341,8 @@ GENERAL OPTIONS and port, with the specified key fingerprint. This option can be repeated many times, for multiple authoritative directory servers. Flags are separated by spaces, and determine what kind of an authority this directory - is. By default, every authority is authoritative for current ("v2")-style - directories, unless the "no-v2" flag is given. If the "v1" flags is - provided, Tor will use this server as an authority for old-style (v1) - directories as well. (Only directory mirrors care about this.) Tor will - use this server as an authority for hidden service information if the "hs" - flag is set, or if the "v1" flag is set and the "no-hs" flag is **not** set. + is. By default, an authority is not authoritative for any directory style + or version unless an appropriate flag is given. Tor will use this authority as a bridge authoritative directory if the "bridge" flag is set. If a flag "orport=**port**" is given, Tor will use the given port when opening encrypted tunnels to the dirserver. If a flag @@ -365,17 +371,14 @@ GENERAL OPTIONS [[AlternateDirAuthority]] **AlternateDirAuthority** [__nickname__] [**flags**] __address__:__port__ __fingerprint__ + -[[AlternateHSAuthority]] **AlternateHSAuthority** [__nickname__] [**flags**] __address__:__port__ __fingerprint__ + - [[AlternateBridgeAuthority]] **AlternateBridgeAuthority** [__nickname__] [**flags**] __address__:__port__ __ fingerprint__:: These options behave as DirAuthority, but they replace fewer of the default directory authorities. Using AlternateDirAuthority replaces the default Tor directory authorities, but - leaves the default hidden service authorities and bridge authorities in - place. Similarly, AlternateHSAuthority replaces the default hidden - service authorities, but not the directory or bridge authorities; and + leaves the default bridge authorities in + place. Similarly, AlternateBridgeAuthority replaces the default bridge authority, - but leaves the directory and hidden service authorities alone. + but leaves the directory authorities alone. [[DisableAllSwap]] **DisableAllSwap** **0**|**1**:: If set to 1, Tor will attempt to lock all current and future memory pages, @@ -488,15 +491,15 @@ GENERAL OPTIONS attacker who obtains the logs. If only one severity level is given, all messages of that level or higher will be sent to the listed destination. -**Log** __minSeverity__[-__maxSeverity__] **file** __FILENAME__:: +[[Log2]] **Log** __minSeverity__[-__maxSeverity__] **file** __FILENAME__:: As above, but send log messages to the listed filename. The "Log" option may appear more than once in a configuration file. Messages are sent to all the logs that match their severity level. -**Log** **[**__domain__,...**]**__minSeverity__[-__maxSeverity__] ... **file** __FILENAME__ + +[[Log3]] **Log** **[**__domain__,...**]**__minSeverity__[-__maxSeverity__] ... **file** __FILENAME__ + -**Log** **[**__domain__,...**]**__minSeverity__[-__maxSeverity__] ... **stderr**|**stdout**|**syslog**:: +[[Log4]] **Log** **[**__domain__,...**]**__minSeverity__[-__maxSeverity__] ... **stderr**|**stdout**|**syslog**:: As above, but select messages by range of log severity __and__ by a set of "logging domains". Each logging domain corresponds to an area of functionality inside Tor. You can specify any number of severity ranges @@ -539,6 +542,12 @@ GENERAL OPTIONS following the Tor specification. Otherwise, they are logged with severity \'info'. (Default: 0) +[[PredictedPortsRelevanceTime]] **PredictedPortsRelevanceTime** __NUM__:: + Set how long, after the client has mad an anonymized connection to a + given port, we will try to make sure that we build circuits to + exits that support that port. The maximum value for this option is 1 + hour. (Default: 1 hour) + [[RunAsDaemon]] **RunAsDaemon** **0**|**1**:: If 1, Tor forks and daemonizes to the background. This option has no effect on Windows; instead you should use the --service command-line option. @@ -608,7 +617,7 @@ GENERAL OPTIONS This feature is experimental; don't use it yet unless you're eager to help tracking down bugs. (Default: 0) -[[_UseFilteringSSLBufferevents]] **_UseFilteringSSLBufferevents** **0**|**1**:: +[[UseFilteringSSLBufferevents]] **UseFilteringSSLBufferevents** **0**|**1**:: Tells Tor to do its SSL communication using a chain of bufferevents: one for SSL and one for networking. This option has no effect if bufferevents are disabled (in which case it can't turn on), or @@ -626,7 +635,7 @@ CLIENT OPTIONS -------------- The following options are useful only for clients (that is, if -[[SocksPort]] **SocksPort**, **TransPort**, **DNSPort**, or **NATDPort** is non-zero): +**SocksPort**, **TransPort**, **DNSPort**, or **NATDPort** is non-zero): [[AllowInvalidNodes]] **AllowInvalidNodes** **entry**|**exit**|**middle**|**introduction**|**rendezvous**|**...**:: If some Tor servers are obviously not working right, the directory @@ -682,12 +691,13 @@ The following options are useful only for clients (that is, if number like 60. (Default: 0) [[ClientOnly]] **ClientOnly** **0**|**1**:: - If set to 1, Tor will under no circumstances run as a relay or serve - directory requests. This config option is mostly meaningless: we - added it back when we were considering having Tor clients auto-promote - themselves to being relays if they were stable and fast enough. The - current behavior is simply that Tor is a client unless ORPort or - DirPort are configured. (Default: 0) + If set to 1, Tor will not run as a relay or serve + directory requests, even if the ORPort, ExtORPort, or DirPort options are + set. (This config option is + mostly unnecessary: we added it back when we were considering having + Tor clients auto-promote themselves to being relays if they were stable + and fast enough. The current behavior is simply that Tor is a client + unless ORPort, ExtORPort, or DirPort are configured.) (Default: 0) [[ExcludeNodes]] **ExcludeNodes** __node__,__node__,__...__:: A list of identity fingerprints, nicknames, country codes and address @@ -953,9 +963,10 @@ The following options are useful only for clients (that is, if on this port to share circuits with streams from every other port with the same session group. (By default, streams received on different SOCKSPorts, TransPorts, etc are always isolated from one - another. This option overrides that behavior.) + -+ - Other recognized _flags_ for a SOCKSPort are: + another. This option overrides that behavior.) + +[[OtherSOCKSPortFlags]]:: + Other recognized __flags__ for a SOCKSPort are: **NoIPv4Traffic**;; Tell exits to not connect to IPv4 addresses in response to SOCKS requests on this connection. @@ -966,13 +977,14 @@ The following options are useful only for clients (that is, if **PreferIPv6**;; Tells exits that, if a host has both an IPv4 and an IPv6 address, we would prefer to connect to it via IPv6. (IPv4 is the default.) + -+ - NOTE: Although this option allows you to specify an IP address - other than localhost, you should do so only with extreme caution. - The SOCKS protocol is unencrypted and (as we use it) - unauthenticated, so exposing it in this way could leak your - information to anybody watching your network, and allow anybody - to use your computer as an open proxy. + + + NOTE: Although this option allows you to specify an IP address + other than localhost, you should do so only with extreme caution. + The SOCKS protocol is unencrypted and (as we use it) + unauthenticated, so exposing it in this way could leak your + information to anybody watching your network, and allow anybody + to use your computer as an open proxy. + + + **CacheIPv4DNS**;; Tells the client to remember IPv4 DNS answers we receive from exit nodes via this connection. (On by default.) @@ -1021,7 +1033,8 @@ The following options are useful only for clients (that is, if [[SocksPolicy]] **SocksPolicy** __policy__,__policy__,__...__:: Set an entrance policy for this server, to limit who can connect to the SocksPort and DNSPort ports. The policies have the same form as exit - policies below. + policies below, except that port specifiers are ignored. Any address + not matched by some entry in the policy is accepted. [[SocksTimeout]] **SocksTimeout** __NUM__:: Let a socks connection wait NUM seconds handshaking, and NUM seconds @@ -1068,7 +1081,7 @@ The following options are useful only for clients (that is, if increases the odds that an adversary who owns some servers will observe a fraction of your paths. (Default: 1) -[[UseEntryGuardsAsDirectoryGuards]] **UseEntryGuardsAsDirectoryGuards** **0**|**1**:: +[[UseEntryGuardsAsDirGuards]] **UseEntryGuardsAsDirGuards** **0**|**1**:: If this option is set to 1, and UseEntryGuards is also set to 1, we try to use our entry guards as directory guards, and failing that, pick more nodes to act as our directory guards. @@ -1174,20 +1187,29 @@ The following options are useful only for clients (that is, if compatibility, TransListenAddress is only allowed when TransPort is just a port number.) -[[TransProxyType]] **TransProxyTYpe** **default**|**TPROXY**:: +[[TransProxyType]] **TransProxyType** **default**|**TPROXY**|**ipfw**|**pf-divert**:: TransProxyType may only be enabled when there is transparent proxy listener enabled. + - Set this to TPROXY if you wish to be able to use the TPROXY Linux module to - transparently proxy connections that are configured using the TransPort + Set this to "TPROXY" if you wish to be able to use the TPROXY Linux module + to transparently proxy connections that are configured using the TransPort option. This setting lets the listener on the TransPort accept connections for all addresses, even when the TransListenAddress is configured for an internal address. Detailed information on how to configure the TPROXY feature can be found in the Linux kernel source tree in the file Documentation/networking/tproxy.txt. + + Set this option to "ipfw" to use the FreeBSD ipfw interface. + + + On *BSD operating systems when using pf, set this to "pf-divert" to take + advantage of +divert-to+ rules, which do not modify the packets like + +rdr-to+ rules do. Detailed information on how to configure pf to use + +divert-to+ rules can be found in the pf.conf(5) manual page. On OpenBSD, + +divert-to+ is available to use on versions greater than or equal to + OpenBSD 4.4. + + Set this to "default", or leave it unconfigured, to use regular IPTables - on Linux, or to use pf on the *BSD operating systems. + on Linux, or to use pf +rdr-to+ rules on *BSD systems. + (Default: "default".) @@ -1562,7 +1584,7 @@ is non-zero): If set to a path, only the specified path will be executed. (Default: tor-fw-helper) -[[PublishServerDescriptor]] **PublishServerDescriptor** **0**|**1**|**v1**|**v2**|**v3**|**bridge**,**...**:: +[[PublishServerDescriptor]] **PublishServerDescriptor** **0**|**1**|**v3**|**bridge**,**...**:: This option specifies which descriptors Tor will publish when acting as a relay. You can choose multiple arguments, separated by commas. @@ -1723,14 +1745,15 @@ is non-zero): localhost, RFC1918 addresses, and so on. This can create security issues; you should probably leave it off. (Default: 0) -[[MaxMemInCellQueues]] **MaxMemInCellQueues** __N__ **bytes**|**KB**|**MB**|**GB**:: +[[MaxMemInQueues]] **MaxMemInQueues** __N__ **bytes**|**KB**|**MB**|**GB**:: This option configures a threshold above which Tor will assume that it - needs to stop queueing cells because it's about to run out of memory. - If it hits this threshold, it will begin killing circuits until it - has recovered at least 10% of this memory. Do not set this option too + needs to stop queueing or buffering data because it's about to run out of + memory. If it hits this threshold, it will begin killing circuits until + it has recovered at least 10% of this memory. Do not set this option too low, or your relay may be unreliable under load. This option only - affects circuit queues, so the actual process size will be larger than - this. (Default: 8GB) + affects some queues, so the actual process size will be larger than + this. If this option is set to 0, Tor will try to pick a reasonable + default based on your system's physical memory. (Default: 0) DIRECTORY SERVER OPTIONS ------------------------ @@ -1750,18 +1773,7 @@ if DirPort is non-zero): When this option is set, it takes an HTML file and publishes it as "/" on the DirPort. Now relay operators can provide a disclaimer without needing to set up a separate webserver. There's a sample disclaimer in - contrib/tor-exit-notice.html. - -[[V1AuthoritativeDirectory]] **V1AuthoritativeDirectory** **0**|**1**:: - When this option is set in addition to **AuthoritativeDirectory**, Tor - generates version 1 directory and running-routers documents (for legacy - Tor clients up to 0.1.0.x). - -[[V2AuthoritativeDirectory]] **V2AuthoritativeDirectory** **0**|**1**:: - When this option is set in addition to **AuthoritativeDirectory**, Tor - generates version 2 network statuses and serves descriptors, etc as - described in doc/spec/dir-spec-v2.txt (for Tor clients and servers running - 0.1.1.x and 0.1.2.x). + contrib/operator-tools/tor-exit-notice.html. [[V3AuthoritativeDirectory]] **V3AuthoritativeDirectory** **0**|**1**:: When this option is set in addition to **AuthoritativeDirectory**, Tor @@ -1785,11 +1797,6 @@ if DirPort is non-zero): accept or publish descriptors that contradict a registered binding. See **approved-routers** in the **FILES** section below. -[[HSAuthoritativeDir]] **HSAuthoritativeDir** **0**|**1**:: - When this option is set in addition to **AuthoritativeDirectory**, Tor also - accepts and serves v0 hidden service descriptors, - which are produced and used by Tor 0.2.1.x and older. (Default: 0) - [[HidServDirectoryV2]] **HidServDirectoryV2** **0**|**1**:: When this option is set, Tor accepts and serves v2 hidden service descriptors. Setting DirPort is not required for this, because clients @@ -1823,12 +1830,9 @@ if DirPort is non-zero): [[DirPolicy]] **DirPolicy** __policy__,__policy__,__...__:: Set an entrance policy for this server, to limit who can connect to the - directory ports. The policies have the same form as exit policies above. - -[[FetchV2Networkstatus]] **FetchV2Networkstatus** **0**|**1**:: - If set, we try to fetch the (obsolete, unused) version 2 network status - consensus documents from the directory authorities. No currently - supported Tor version uses them. (Default: 0) + directory ports. The policies have the same form as exit policies above, + except that port specifiers are ignored. Any address not matched by + some entry in the policy is accepted. DIRECTORY AUTHORITY SERVER OPTIONS @@ -1867,7 +1871,11 @@ DIRECTORY AUTHORITY SERVER OPTIONS [[AuthDirBadDir]] **AuthDirBadDir** __AddressPattern...__:: Authoritative directories only. A set of address patterns for servers that will be listed as bad directories in any network status document this - authority publishes, if **AuthDirListBadDirs** is set. + authority publishes, if **AuthDirListBadDirs** is set. + + + + (The address pattern syntax here and in the options below + is the same as for exit policies, except that you don't need to say + "accept" or "reject", and ports are not needed.) [[AuthDirBadExit]] **AuthDirBadExit** __AddressPattern...__:: Authoritative directories only. A set of address patterns for servers that @@ -1997,6 +2005,12 @@ DIRECTORY AUTHORITY SERVER OPTIONS When set to 1, IPv6 OR ports are being tested just like IPv4 OR ports. (Default: 0) +[[MinMeasuredBWsForAuthToIgnoreAdvertised]] **MinMeasuredBWsForAuthToIgnoreAdvertised** __N__:: + A total value, in abstract bandwidth units, describing how much + measured total bandwidth an authority should have observed on the network + before it will treat advertised bandwidths as wholly + unreliable. (Default: 500) + HIDDEN SERVICE OPTIONS ---------------------- @@ -2033,7 +2047,7 @@ The following options are used to configure a hidden service. authorization protocol or \'stealth' for a less scalable protocol that also hides service activity from unauthorized clients. Only clients that are listed here are authorized to access the hidden service. Valid client names - are 1 to 19 characters long and only use characters in A-Za-z0-9+-_ (no + are 1 to 16 characters long and only use characters in A-Za-z0-9+-_ (no spaces). If this option is set, the hidden service is not accessible for clients without authorization any more. Generated authorization data can be found in the hostname file. Clients need to put this authorization data in @@ -2175,7 +2189,7 @@ The following options are used for running a testing Tor network. Try this often to download a v3 authority certificate before giving up. Changing this requires that **TestingTorNetwork** is set. (Default: 8) -**TestingDirAuthVoteGuard** __node__,__node__,__...__:: +[[TestingDirAuthVoteGuard]] **TestingDirAuthVoteGuard** __node__,__node__,__...__:: A list of identity fingerprints, nicknames, country codes and address patterns of nodes to vote Guard for regardless of their uptime and bandwidth. See the **ExcludeNodes** option for more @@ -2199,6 +2213,10 @@ The following options are used for running a testing Tor network. events. Changing this requires that **TestingTorNetwork** is set. (Default: 0) +[[TestingMinExitFlagThreshold]] **TestingMinExitFlagThreshold** __N__ **KBytes**|**MBytes**|**GBytes**|**KBits**|**MBits**|**GBits**:: + Sets a lower-bound for assigning an exit flag when running as an + authority on a testing network. Overrides the usual default lower bound + of 4 KB. (Default: 0) SIGNALS ------- @@ -2240,6 +2258,9 @@ FILES **@CONFDIR@/torrc**:: The configuration file, which contains "option value" pairs. +**$HOME/.torrc**:: + Fallback location for torrc, if @CONFDIR@/torrc is not found. + **@LOCALSTATEDIR@/lib/tor/**:: The tor process stores keys and other data here. @@ -2306,6 +2327,10 @@ __DataDirectory__**/keys/***:: __DataDirectory__**/fingerprint**:: Only used by servers. Holds the fingerprint of the server's identity key. +__DataDirectory__**/hashed-fingerprint**:: + Only used by bridges. Holds the hashed fingerprint of the bridge's + identity key. (That is, the hash of the hash of the identity key.) + __DataDirectory__**/approved-routers**:: Only for naming authoritative directory servers (see **NamingAuthoritativeDirectory**). This file lists nickname to identity @@ -2377,7 +2402,7 @@ __HiddenServiceDirectory__**/client_keys**:: SEE ALSO -------- -**privoxy**(1), **torsocks**(1), **torify**(1) + +**torsocks**(1), **torify**(1) + **https://www.torproject.org/** diff --git a/contrib/checkLogs.pl b/scripts/maint/checkLogs.pl index b00503e9ab..b00503e9ab 100755 --- a/contrib/checkLogs.pl +++ b/scripts/maint/checkLogs.pl diff --git a/contrib/checkOptionDocs.pl b/scripts/maint/checkOptionDocs.pl index 23e57b4897..94307c6cef 100755 --- a/contrib/checkOptionDocs.pl +++ b/scripts/maint/checkOptionDocs.pl @@ -41,8 +41,9 @@ loadTorrc("./src/config/torrc.sample.in", \%torrcSampleOptions); my $considerNextLine = 0; open(F, "./doc/tor.1.txt") or die; while (<F>) { - if (m!^\*\*([A-Za-z0-9_]+)\*\*!) { - $manPageOptions{$1} = 1; + if (m!^(?:\[\[([A-za-z0-9_]+)\]\] *)?\*\*([A-Za-z0-9_]+)\*\*!) { + $manPageOptions{$2} = 1; + print "Missing an anchor: $2\n" unless (defined $1 or $2 eq 'tor'); } } close F; diff --git a/contrib/checkSpace.pl b/scripts/maint/checkSpace.pl index 682dbced00..682dbced00 100755 --- a/contrib/checkSpace.pl +++ b/scripts/maint/checkSpace.pl diff --git a/contrib/findMergedChanges.pl b/scripts/maint/findMergedChanges.pl index d6c4105b74..d6c4105b74 100755 --- a/contrib/findMergedChanges.pl +++ b/scripts/maint/findMergedChanges.pl diff --git a/scripts/maint/format_changelog.py b/scripts/maint/format_changelog.py new file mode 100755 index 0000000000..6997d958a6 --- /dev/null +++ b/scripts/maint/format_changelog.py @@ -0,0 +1,162 @@ +#!/usr/bin/python +# Copyright (c) 2014, The Tor Project, Inc. +# See LICENSE for licensing information +# +# This script reformats a section of the changelog to wrap everything to +# the right width and put blank lines in the right places. Eventually, +# it might include a linter. +# +# To run it, pipe a section of the changelog (starting with "Changes +# in Tor 0.x.y.z-alpha" through the script.) + +import os +import re +import sys +import textwrap + +TP_MAINHEAD = 0 +TP_HEADTEXT = 1 +TP_BLANK = 2 +TP_SECHEAD = 3 +TP_ITEMFIRST = 4 +TP_ITEMBODY = 5 +TP_END = 6 + +def head_parser(line): + if re.match(r'^[A-Z]', line): + return TP_MAINHEAD + elif re.match(r'^ o ', line): + return TP_SECHEAD + elif re.match(r'^\s*$', line): + return TP_BLANK + else: + return TP_HEADTEXT + +def body_parser(line): + if re.match(r'^ o ', line): + return TP_SECHEAD + elif re.match(r'^ -',line): + return TP_ITEMFIRST + elif re.match(r'^ \S', line): + return TP_ITEMBODY + elif re.match(r'^\s*$', line): + return TP_BLANK + elif re.match(r'^Changes in', line): + return TP_END + else: + print "Weird line %r"%line + +class ChangeLog(object): + def __init__(self): + self.mainhead = None + self.headtext = [] + self.curgraf = None + self.sections = [] + self.cursection = None + self.lineno = 0 + + def addLine(self, tp, line): + self.lineno += 1 + + if tp == TP_MAINHEAD: + assert not self.mainhead + self.mainhead = line + + elif tp == TP_HEADTEXT: + if self.curgraf is None: + self.curgraf = [] + self.headtext.append(self.curgraf) + self.curgraf.append(line) + + elif tp == TP_BLANK: + self.curgraf = None + + elif tp == TP_SECHEAD: + self.cursection = [ self.lineno, line, [] ] + self.sections.append(self.cursection) + + elif tp == TP_ITEMFIRST: + item = ( self.lineno, [ [line] ]) + self.curgraf = item[1][0] + self.cursection[2].append(item) + + elif tp == TP_ITEMBODY: + if self.curgraf is None: + self.curgraf = [] + self.cursection[2][1][-1].append(self.curgraf) + self.curgraf.append(line) + + else: + assert "This" is "unreachable" + + def lint_head(self, line, head): + m = re.match(r'^ *o ([^\(]+)((?:\([^\)]+\))?):', head) + if not m: + print >>sys.stderr, "Weird header format on line %s"%line + + def lint_item(self, line, grafs, head_type): + pass + + def lint(self): + self.head_lines = {} + for sec_line, sec_head, items in self.sections: + head_type = self.lint_head(sec_line, sec_head) + for item_line, grafs in items: + self.lint_item(item_line, grafs, head_type) + + def dumpGraf(self,par,indent1,indent2=-1): + if indent2 == -1: + indent2 = indent1 + text = " ".join(re.sub(r'\s+', ' ', line.strip()) for line in par) + print textwrap.fill(text, width=72, + initial_indent=" "*indent1, + subsequent_indent=" "*indent2, + break_on_hyphens=False) + + def dump(self): + print self.mainhead + for par in self.headtext: + self.dumpGraf(par, 2) + print + for _,head,items in self.sections: + if not head.endswith(':'): + print >>sys.stderr, "adding : to %r"%head + head = head + ":" + print head + for _,grafs in items: + self.dumpGraf(grafs[0],4,6) + for par in grafs[1:]: + print + self.dumpGraf(par,6,6) + print + print + +CL = ChangeLog() +parser = head_parser + +sys.stdin = open('ChangeLog', 'r') + +for line in sys.stdin: + line = line.rstrip() + tp = parser(line) + + if tp == TP_SECHEAD: + parser = body_parser + elif tp == TP_END: + nextline = line + break + + CL.addLine(tp,line) + +CL.lint() + +sys.stdout = open('ChangeLog.new', 'w') + +CL.dump() + +print nextline + +for line in sys.stdin: + sys.stdout.write(line) + +os.rename('ChangeLog.new', 'ChangeLog') diff --git a/contrib/redox.py b/scripts/maint/redox.py index e9914dab18..fa816a7267 100755 --- a/contrib/redox.py +++ b/scripts/maint/redox.py @@ -10,7 +10,7 @@ # to tell you where documentation should go! # To use me, edit the stuff below... # ...and run 'make doxygen 2>doxygen.stderr' ... -# ...and run ./contrib/redox.py < doxygen.stderr ! +# ...and run ./scripts/maint/redox.py < doxygen.stderr ! # I'll make a bunch of new files by adding missing DOCDOC comments to your # source. Those files will have names like ./src/common/util.c.newdoc. # You will want to look over the changes by hand before checking them in. @@ -21,7 +21,7 @@ # 1. make doxygen 1>doxygen.stdout 2>doxygen.stderr. # 2. grep Warning doxygen.stderr | grep -v 'is not documented' | less # [This will tell you about all the bogus doxygen output you have] -# 3. python ./contrib/redox.py <doxygen.stderr +# 3. python ./scripts/maint/redox.py <doxygen.stderr # [This will make lots of .newdoc files with DOCDOC comments for # whatever was missing documentation.] # 4. Look over those .newdoc files, and see which docdoc comments you @@ -62,7 +62,7 @@ KINDS = [ "type", "field", "typedef", "define", "function", "variable", NODOC_LINE_RE = re.compile(r'^([^:]+):(\d+): (\w+): (.*) is not documented\.$') -THING_RE = re.compile(r'^Member ([a-zA-Z0-9_]+).*\((typedef|define|function|variable|enumeration)\) of (file|class) ') +THING_RE = re.compile(r'^Member ([a-zA-Z0-9_]+).*\((typedef|define|function|variable|enumeration|macro definition)\) of (file|class) ') SKIP_NAMES = [re.compile(s) for s in SKIP_NAME_PATTERNS] @@ -105,9 +105,13 @@ def findline(lines, lineno, ident): """Given a list of all the lines in the file (adjusted so 1-indexing works), a line number that ident is alledgedly on, and ident, I figure out the line where ident was really declared.""" + lno = lineno for lineno in xrange(lineno, 0, -1): - if ident in lines[lineno]: - return lineno + try: + if ident in lines[lineno]: + return lineno + except IndexError: + continue return None @@ -126,8 +130,16 @@ def hascomment(lines, lineno, kind): def hasdocdoc(lines, lineno, kind): """I return true if it looks like there's already a docdoc comment about the thing on lineno of lines of type kind.""" - if "DOCDOC" in lines[lineno] or "DOCDOC" in lines[lineno-1]: - return True + try: + if "DOCDOC" in lines[lineno]: + return True + except IndexError: + pass + try: + if "DOCDOC" in lines[lineno-1]: + return True + except IndexError: + pass if kind == 'function' and FUNC_PAT.match(lines[lineno]): if "DOCDOC" in lines[lineno-2]: return True @@ -210,6 +222,7 @@ def applyComments(fn, entries): e = read() for fn, errs in e.iteritems(): + print `(fn, errs)` comments = checkf(fn, errs) if comments: applyComments(fn, comments) diff --git a/contrib/updateVersions.pl b/scripts/maint/updateVersions.pl index 9dae1ff952..15c83b80a7 100755 --- a/contrib/updateVersions.pl +++ b/scripts/maint/updateVersions.pl @@ -2,7 +2,7 @@ $CONFIGURE_IN = './configure.ac'; $ORCONFIG_H = './src/win32/orconfig.h'; -$TOR_NSI = './contrib/tor-mingw.nsi.in'; +$TOR_NSI = './contrib/win32build/tor-mingw.nsi.in'; $quiet = 1; diff --git a/contrib/cov-blame b/scripts/test/cov-blame index 601f211952..601f211952 100755 --- a/contrib/cov-blame +++ b/scripts/test/cov-blame diff --git a/contrib/cov-diff b/scripts/test/cov-diff index 33a54802b6..33a54802b6 100755 --- a/contrib/cov-diff +++ b/scripts/test/cov-diff diff --git a/contrib/coverage b/scripts/test/coverage index f4ae475828..f4ae475828 100755 --- a/contrib/coverage +++ b/scripts/test/coverage diff --git a/scripts/test/scan-build.sh b/scripts/test/scan-build.sh new file mode 100644 index 0000000000..623b227fe4 --- /dev/null +++ b/scripts/test/scan-build.sh @@ -0,0 +1,49 @@ +#!/bin/sh +# Copyright 2014 The Tor Project, Inc +# See LICENSE for licensing information +# +# This script is used for running a bunch of clang scan-build checkers +# on Tor. +# +# It has hardwired paths for Nick's desktop at the moment. + +CHECKERS="\ + --use-analyzer=/opt/clang-3.4/bin/clang \ + -disable-checker deadcode.DeadStores \ + -enable-checker alpha.core.CastSize \ + -enable-checker alpha.core.CastToStruct \ + -enable-checker alpha.core.IdenticalExpr \ + -enable-checker alpha.core.SizeofPtr \ + -enable-checker alpha.security.ArrayBoundV2 \ + -enable-checker alpha.security.MallocOverflow \ + -enable-checker alpha.security.ReturnPtrRange \ + -enable-checker alpha.unix.SimpleStream + -enable-checker alpha.unix.cstring.BufferOverlap \ + -enable-checker alpha.unix.cstring.NotNullTerminated \ + -enable-checker alpha.unix.cstring.OutOfBounds \ + -enable-checker alpha.core.FixedAddr \ + -enable-checker security.insecureAPI.strcpy +" + +/opt/clang-3.4/bin/scan-build/scan-build \ + $CHECKERS \ + --use-analyzer=/opt/clang-3.4/bin/clang \ + ./configure + +/opt/clang-3.4/bin/scan-build/scan-build \ + $CHECKERS \ + --use-analyzer=/opt/clang-3.4/bin/clang \ + make -j2 + + +# Haven't tried this yet. +# -enable-checker alpha.unix.PthreadLock + +# This one gives a false positive on every strcmp. +# -enable-checker alpha.core.PointerSub + +# This one hates it when we stick a nonzero const in a pointer. +# -enable-checker alpha.core.FixedAddr + +# This one crashes sometimes for me. +# -enable-checker alpha.deadcode.IdempotentOperations diff --git a/src/common/address.c b/src/common/address.c index b9f2d93154..2825b123da 100644 --- a/src/common/address.c +++ b/src/common/address.c @@ -182,7 +182,7 @@ tor_addr_make_unspec(tor_addr_t *a) a->family = AF_UNSPEC; } -/** Set address <a>a</b> to the null address in address family <b>family</b>. +/** Set address <b>a</b> to the null address in address family <b>family</b>. * The null address for AF_INET is 0.0.0.0. The null address for AF_INET6 is * [::]. AF_UNSPEC is all null. */ void @@ -236,7 +236,9 @@ tor_addr_lookup(const char *name, uint16_t family, tor_addr_t *addr) hints.ai_family = family; hints.ai_socktype = SOCK_STREAM; err = sandbox_getaddrinfo(name, NULL, &hints, &res); - if (!err) { + /* The check for 'res' here shouldn't be necessary, but it makes static + * analysis tools happy. */ + if (!err && res) { best = NULL; for (res_p = res; res_p; res_p = res_p->ai_next) { if (family == AF_UNSPEC) { @@ -874,6 +876,32 @@ tor_addr_copy(tor_addr_t *dest, const tor_addr_t *src) memcpy(dest, src, sizeof(tor_addr_t)); } +/** Copy a tor_addr_t from <b>src</b> to <b>dest</b>, taking extra case to + * copy only the well-defined portions. Used for computing hashes of + * addresses. + */ +void +tor_addr_copy_tight(tor_addr_t *dest, const tor_addr_t *src) +{ + tor_assert(src != dest); + tor_assert(src); + tor_assert(dest); + memset(dest, 0, sizeof(tor_addr_t)); + dest->family = src->family; + switch (tor_addr_family(src)) + { + case AF_INET: + dest->addr.in_addr.s_addr = src->addr.in_addr.s_addr; + break; + case AF_INET6: + memcpy(dest->addr.in6_addr.s6_addr, src->addr.in6_addr.s6_addr, 16); + case AF_UNSPEC: + break; + default: + tor_fragile_assert(); + } +} + /** Given two addresses <b>addr1</b> and <b>addr2</b>, return 0 if the two * addresses are equivalent under the mask mbits, less than 0 if addr1 * precedes addr2, and greater than 0 otherwise. @@ -995,19 +1023,17 @@ tor_addr_compare_masked(const tor_addr_t *addr1, const tor_addr_t *addr2, } } -/** Return a hash code based on the address addr */ -unsigned int +/** Return a hash code based on the address addr. DOCDOC extra */ +uint64_t tor_addr_hash(const tor_addr_t *addr) { switch (tor_addr_family(addr)) { case AF_INET: - return tor_addr_to_ipv4h(addr); + return siphash24g(&addr->addr.in_addr.s_addr, 4); case AF_UNSPEC: return 0x4e4d5342; - case AF_INET6: { - const uint32_t *u = tor_addr_to_in6_addr32(addr); - return u[0] + u[1] + u[2] + u[3]; - } + case AF_INET6: + return siphash24g(&addr->addr.in6_addr.s6_addr, 16); default: tor_fragile_assert(); return 0; @@ -1421,31 +1447,22 @@ get_interface_address6(int severity, sa_family_t family, tor_addr_t *addr) * XXXX024 IPv6 deprecate some of these. */ -/** Return true iff <b>ip</b> (in host order) is an IP reserved to localhost, - * or reserved for local networks by RFC 1918. - */ -int -is_internal_IP(uint32_t ip, int for_listening) -{ - tor_addr_t myaddr; - myaddr.family = AF_INET; - myaddr.addr.in_addr.s_addr = htonl(ip); - - return tor_addr_is_internal(&myaddr, for_listening); -} - /** Given an address of the form "ip:port", try to divide it into its * ip and port portions, setting *<b>address_out</b> to a newly * allocated string holding the address portion and *<b>port_out</b> * to the port. * - * Don't do DNS lookups and don't allow domain names in the <ip> field. - * Don't accept <b>addrport</b> of the form "<ip>" or "<ip>:0". + * Don't do DNS lookups and don't allow domain names in the "ip" field. + * + * If <b>default_port</b> is less than 0, don't accept <b>addrport</b> of the + * form "ip" or "ip:0". Otherwise, accept those forms, and set + * *<b>port_out</b> to <b>default_port</b>. * * Return 0 on success, -1 on failure. */ int tor_addr_port_parse(int severity, const char *addrport, - tor_addr_t *address_out, uint16_t *port_out) + tor_addr_t *address_out, uint16_t *port_out, + int default_port) { int retval = -1; int r; @@ -1459,8 +1476,12 @@ tor_addr_port_parse(int severity, const char *addrport, if (r < 0) goto done; - if (!*port_out) - goto done; + if (!*port_out) { + if (default_port >= 0) + *port_out = default_port; + else + goto done; + } /* make sure that address_out is an IP address */ if (tor_addr_parse(address_out, addr_tmp) < 0) @@ -1481,9 +1502,18 @@ int tor_addr_port_split(int severity, const char *addrport, char **address_out, uint16_t *port_out) { + tor_addr_t a_tmp; tor_assert(addrport); tor_assert(address_out); tor_assert(port_out); + /* We need to check for IPv6 manually because addr_port_lookup() doesn't + * do a good job on IPv6 addresses that lack a port. */ + if (tor_addr_parse(&a_tmp, addrport) == AF_INET6) { + *port_out = 0; + *address_out = tor_strdup(addrport); + return 0; + } + return addr_port_lookup(severity, addrport, address_out, NULL, port_out); } @@ -1561,7 +1591,7 @@ addr_mask_get_bits(uint32_t mask) return 0; if (mask == 0xFFFFFFFFu) return 32; - for (i=0; i<=32; ++i) { + for (i=1; i<=32; ++i) { if (mask == (uint32_t) ~((1u<<(32-i))-1)) { return i; } diff --git a/src/common/address.h b/src/common/address.h index 77e5855346..8dc63b71c1 100644 --- a/src/common/address.h +++ b/src/common/address.h @@ -167,7 +167,7 @@ int tor_addr_compare_masked(const tor_addr_t *addr1, const tor_addr_t *addr2, * "exactly". */ #define tor_addr_eq(a,b) (0==tor_addr_compare((a),(b),CMP_EXACT)) -unsigned int tor_addr_hash(const tor_addr_t *addr); +uint64_t tor_addr_hash(const tor_addr_t *addr); int tor_addr_is_v4(const tor_addr_t *addr); int tor_addr_is_internal_(const tor_addr_t *ip, int for_listening, const char *filename, int lineno); @@ -192,6 +192,7 @@ const char * tor_addr_to_str(char *dest, const tor_addr_t *addr, size_t len, int decorate); int tor_addr_parse(tor_addr_t *addr, const char *src); void tor_addr_copy(tor_addr_t *dest, const tor_addr_t *src); +void tor_addr_copy_tight(tor_addr_t *dest, const tor_addr_t *src); void tor_addr_from_ipv4n(tor_addr_t *dest, uint32_t v4addr); /** Set <b>dest</b> to the IPv4 address encoded in <b>v4addr</b> in host * order. */ @@ -209,12 +210,12 @@ int tor_addr_port_split(int severity, const char *addrport, char **address_out, uint16_t *port_out); int tor_addr_port_parse(int severity, const char *addrport, - tor_addr_t *address_out, uint16_t *port_out); + tor_addr_t *address_out, uint16_t *port_out, + int default_port); int tor_addr_hostname_is_local(const char *name); /* IPv4 helpers */ -int is_internal_IP(uint32_t ip, int for_listening); int addr_port_lookup(int severity, const char *addrport, char **address, uint32_t *addr, uint16_t *port_out); int parse_port_range(const char *port, uint16_t *port_min_out, diff --git a/src/common/backtrace.c b/src/common/backtrace.c index 5049298a12..3a073a8ff5 100644 --- a/src/common/backtrace.c +++ b/src/common/backtrace.c @@ -5,7 +5,6 @@ #define _GNU_SOURCE 1 #include "orconfig.h" -#include "backtrace.h" #include "compat.h" #include "util.h" #include "torlog.h" @@ -31,6 +30,9 @@ #include <ucontext.h> #endif +#define EXPOSE_CLEAN_BACKTRACE +#include "backtrace.h" + #if defined(HAVE_EXECINFO_H) && defined(HAVE_BACKTRACE) && \ defined(HAVE_BACKTRACE_SYMBOLS_FD) && defined(HAVE_SIGACTION) #define USE_BACKTRACE @@ -49,6 +51,8 @@ static char *bt_version = NULL; /** Static allocation of stack to dump. This is static so we avoid stack * pressure. */ static void *cb_buf[MAX_DEPTH]; +/** Protects cb_buf from concurrent access */ +static tor_mutex_t cb_buf_mutex; /** Change a stacktrace in <b>stack</b> of depth <b>depth</b> so that it will * log the correct function from which a signal was received with context @@ -57,7 +61,7 @@ static void *cb_buf[MAX_DEPTH]; * onto the stack. Fortunately, we usually have the program counter in the * ucontext_t structure. */ -static void +void clean_backtrace(void **stack, int depth, const ucontext_t *ctx) { #ifdef PC_FROM_UCONTEXT @@ -84,18 +88,27 @@ clean_backtrace(void **stack, int depth, const ucontext_t *ctx) void log_backtrace(int severity, int domain, const char *msg) { - int depth = backtrace(cb_buf, MAX_DEPTH); - char **symbols = backtrace_symbols(cb_buf, depth); + int depth; + char **symbols; int i; + + tor_mutex_acquire(&cb_buf_mutex); + + depth = backtrace(cb_buf, MAX_DEPTH); + symbols = backtrace_symbols(cb_buf, depth); + tor_log(severity, domain, "%s. Stack trace:", msg); if (!symbols) { tor_log(severity, domain, " Unable to generate backtrace."); - return; + goto done; } for (i=0; i < depth; ++i) { tor_log(severity, domain, " %s", symbols[i]); } free(symbols); + + done: + tor_mutex_release(&cb_buf_mutex); } static void crash_handler(int sig, siginfo_t *si, void *ctx_) @@ -140,6 +153,9 @@ install_bt_handler(void) int i, rv=0; struct sigaction sa; + + tor_mutex_init(&cb_buf_mutex); + memset(&sa, 0, sizeof(sa)); sa.sa_sigaction = crash_handler; sa.sa_flags = SA_SIGINFO; @@ -151,6 +167,18 @@ install_bt_handler(void) rv = -1; } } + + { + /* Now, generate (but do not log) a backtrace. This ensures that + * libc has pre-loaded the symbols we need to dump things, so that later + * reads won't be denied by the sandbox code */ + char **symbols; + int depth = backtrace(cb_buf, MAX_DEPTH); + symbols = backtrace_symbols(cb_buf, depth); + if (symbols) + free(symbols); + } + return rv; } @@ -158,7 +186,7 @@ install_bt_handler(void) static void remove_bt_handler(void) { - /* We don't need to actually free anything at exit here. */ + tor_mutex_uninit(&cb_buf_mutex); } #endif diff --git a/src/common/backtrace.h b/src/common/backtrace.h index 765436fee3..1f4d73339f 100644 --- a/src/common/backtrace.h +++ b/src/common/backtrace.h @@ -4,9 +4,18 @@ #ifndef TOR_BACKTRACE_H #define TOR_BACKTRACE_H +#include "orconfig.h" + void log_backtrace(int severity, int domain, const char *msg); int configure_backtrace_handler(const char *tor_version); void clean_up_backtrace_handler(void); +#ifdef EXPOSE_CLEAN_BACKTRACE +#if defined(HAVE_EXECINFO_H) && defined(HAVE_BACKTRACE) && \ + defined(HAVE_BACKTRACE_SYMBOLS_FD) && defined(HAVE_SIGACTION) +void clean_backtrace(void **stack, int depth, const ucontext_t *ctx); +#endif +#endif + #endif diff --git a/src/common/ciphers.inc b/src/common/ciphers.inc index 137d78b117..ab4ac40724 100644 --- a/src/common/ciphers.inc +++ b/src/common/ciphers.inc @@ -4,86 +4,51 @@ * * This file was automatically generated by get_mozilla_ciphers.py. */ -#ifdef TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CBC_SHA - CIPHER(0xc00a, TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CBC_SHA) -#else - XCIPHER(0xc00a, TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CBC_SHA) -#endif -#ifdef TLS1_TXT_ECDHE_RSA_WITH_AES_256_CBC_SHA - CIPHER(0xc014, TLS1_TXT_ECDHE_RSA_WITH_AES_256_CBC_SHA) -#else - XCIPHER(0xc014, TLS1_TXT_ECDHE_RSA_WITH_AES_256_CBC_SHA) -#endif -#ifdef TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA - CIPHER(0x0088, TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA) -#else - XCIPHER(0x0088, TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA) -#endif -#ifdef TLS1_TXT_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA - CIPHER(0x0087, TLS1_TXT_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA) +#ifdef TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 + CIPHER(0xc02b, TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256) #else - XCIPHER(0x0087, TLS1_TXT_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA) + XCIPHER(0xc02b, TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256) #endif -#ifdef TLS1_TXT_DHE_RSA_WITH_AES_256_SHA - CIPHER(0x0039, TLS1_TXT_DHE_RSA_WITH_AES_256_SHA) +#ifdef TLS1_TXT_ECDHE_RSA_WITH_AES_128_GCM_SHA256 + CIPHER(0xc02f, TLS1_TXT_ECDHE_RSA_WITH_AES_128_GCM_SHA256) #else - XCIPHER(0x0039, TLS1_TXT_DHE_RSA_WITH_AES_256_SHA) + XCIPHER(0xc02f, TLS1_TXT_ECDHE_RSA_WITH_AES_128_GCM_SHA256) #endif -#ifdef TLS1_TXT_DHE_DSS_WITH_AES_256_SHA - CIPHER(0x0038, TLS1_TXT_DHE_DSS_WITH_AES_256_SHA) +#ifdef TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CBC_SHA + CIPHER(0xc00a, TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CBC_SHA) #else - XCIPHER(0x0038, TLS1_TXT_DHE_DSS_WITH_AES_256_SHA) + XCIPHER(0xc00a, TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CBC_SHA) #endif -#ifdef TLS1_TXT_ECDH_RSA_WITH_AES_256_CBC_SHA - CIPHER(0xc00f, TLS1_TXT_ECDH_RSA_WITH_AES_256_CBC_SHA) +#ifdef TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CBC_SHA + CIPHER(0xc009, TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CBC_SHA) #else - XCIPHER(0xc00f, TLS1_TXT_ECDH_RSA_WITH_AES_256_CBC_SHA) + XCIPHER(0xc009, TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CBC_SHA) #endif -#ifdef TLS1_TXT_ECDH_ECDSA_WITH_AES_256_CBC_SHA - CIPHER(0xc005, TLS1_TXT_ECDH_ECDSA_WITH_AES_256_CBC_SHA) +#ifdef TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA + CIPHER(0xc013, TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA) #else - XCIPHER(0xc005, TLS1_TXT_ECDH_ECDSA_WITH_AES_256_CBC_SHA) + XCIPHER(0xc013, TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA) #endif -#ifdef TLS1_TXT_RSA_WITH_CAMELLIA_256_CBC_SHA - CIPHER(0x0084, TLS1_TXT_RSA_WITH_CAMELLIA_256_CBC_SHA) +#ifdef TLS1_TXT_ECDHE_RSA_WITH_AES_256_CBC_SHA + CIPHER(0xc014, TLS1_TXT_ECDHE_RSA_WITH_AES_256_CBC_SHA) #else - XCIPHER(0x0084, TLS1_TXT_RSA_WITH_CAMELLIA_256_CBC_SHA) + XCIPHER(0xc014, TLS1_TXT_ECDHE_RSA_WITH_AES_256_CBC_SHA) #endif -#ifdef TLS1_TXT_RSA_WITH_AES_256_SHA - CIPHER(0x0035, TLS1_TXT_RSA_WITH_AES_256_SHA) +#ifdef TLS1_TXT_ECDHE_RSA_WITH_DES_192_CBC3_SHA + CIPHER(0xc012, TLS1_TXT_ECDHE_RSA_WITH_DES_192_CBC3_SHA) #else - XCIPHER(0x0035, TLS1_TXT_RSA_WITH_AES_256_SHA) + XCIPHER(0xc012, TLS1_TXT_ECDHE_RSA_WITH_DES_192_CBC3_SHA) #endif #ifdef TLS1_TXT_ECDHE_ECDSA_WITH_RC4_128_SHA CIPHER(0xc007, TLS1_TXT_ECDHE_ECDSA_WITH_RC4_128_SHA) #else XCIPHER(0xc007, TLS1_TXT_ECDHE_ECDSA_WITH_RC4_128_SHA) #endif -#ifdef TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CBC_SHA - CIPHER(0xc009, TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CBC_SHA) -#else - XCIPHER(0xc009, TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CBC_SHA) -#endif #ifdef TLS1_TXT_ECDHE_RSA_WITH_RC4_128_SHA CIPHER(0xc011, TLS1_TXT_ECDHE_RSA_WITH_RC4_128_SHA) #else XCIPHER(0xc011, TLS1_TXT_ECDHE_RSA_WITH_RC4_128_SHA) #endif -#ifdef TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA - CIPHER(0xc013, TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA) -#else - XCIPHER(0xc013, TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA) -#endif -#ifdef TLS1_TXT_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA - CIPHER(0x0045, TLS1_TXT_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA) -#else - XCIPHER(0x0045, TLS1_TXT_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA) -#endif -#ifdef TLS1_TXT_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA - CIPHER(0x0044, TLS1_TXT_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA) -#else - XCIPHER(0x0044, TLS1_TXT_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA) -#endif #ifdef TLS1_TXT_DHE_RSA_WITH_AES_128_SHA CIPHER(0x0033, TLS1_TXT_DHE_RSA_WITH_AES_128_SHA) #else @@ -94,89 +59,63 @@ #else XCIPHER(0x0032, TLS1_TXT_DHE_DSS_WITH_AES_128_SHA) #endif -#ifdef TLS1_TXT_ECDH_RSA_WITH_RC4_128_SHA - CIPHER(0xc00c, TLS1_TXT_ECDH_RSA_WITH_RC4_128_SHA) -#else - XCIPHER(0xc00c, TLS1_TXT_ECDH_RSA_WITH_RC4_128_SHA) -#endif -#ifdef TLS1_TXT_ECDH_RSA_WITH_AES_128_CBC_SHA - CIPHER(0xc00e, TLS1_TXT_ECDH_RSA_WITH_AES_128_CBC_SHA) -#else - XCIPHER(0xc00e, TLS1_TXT_ECDH_RSA_WITH_AES_128_CBC_SHA) -#endif -#ifdef TLS1_TXT_ECDH_ECDSA_WITH_RC4_128_SHA - CIPHER(0xc002, TLS1_TXT_ECDH_ECDSA_WITH_RC4_128_SHA) -#else - XCIPHER(0xc002, TLS1_TXT_ECDH_ECDSA_WITH_RC4_128_SHA) -#endif -#ifdef TLS1_TXT_ECDH_ECDSA_WITH_AES_128_CBC_SHA - CIPHER(0xc004, TLS1_TXT_ECDH_ECDSA_WITH_AES_128_CBC_SHA) +#ifdef TLS1_TXT_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA + CIPHER(0x0045, TLS1_TXT_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA) #else - XCIPHER(0xc004, TLS1_TXT_ECDH_ECDSA_WITH_AES_128_CBC_SHA) + XCIPHER(0x0045, TLS1_TXT_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA) #endif -#ifdef TLS1_TXT_RSA_WITH_SEED_SHA - CIPHER(0x0096, TLS1_TXT_RSA_WITH_SEED_SHA) +#ifdef TLS1_TXT_DHE_RSA_WITH_AES_256_SHA + CIPHER(0x0039, TLS1_TXT_DHE_RSA_WITH_AES_256_SHA) #else - XCIPHER(0x0096, TLS1_TXT_RSA_WITH_SEED_SHA) + XCIPHER(0x0039, TLS1_TXT_DHE_RSA_WITH_AES_256_SHA) #endif -#ifdef TLS1_TXT_RSA_WITH_CAMELLIA_128_CBC_SHA - CIPHER(0x0041, TLS1_TXT_RSA_WITH_CAMELLIA_128_CBC_SHA) +#ifdef TLS1_TXT_DHE_DSS_WITH_AES_256_SHA + CIPHER(0x0038, TLS1_TXT_DHE_DSS_WITH_AES_256_SHA) #else - XCIPHER(0x0041, TLS1_TXT_RSA_WITH_CAMELLIA_128_CBC_SHA) + XCIPHER(0x0038, TLS1_TXT_DHE_DSS_WITH_AES_256_SHA) #endif -#ifdef SSL3_TXT_RSA_RC4_128_MD5 - CIPHER(0x0004, SSL3_TXT_RSA_RC4_128_MD5) +#ifdef TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA + CIPHER(0x0088, TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA) #else - XCIPHER(0x0004, SSL3_TXT_RSA_RC4_128_MD5) + XCIPHER(0x0088, TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA) #endif -#ifdef SSL3_TXT_RSA_RC4_128_SHA - CIPHER(0x0005, SSL3_TXT_RSA_RC4_128_SHA) +#ifdef SSL3_TXT_EDH_RSA_DES_192_CBC3_SHA + CIPHER(0x0016, SSL3_TXT_EDH_RSA_DES_192_CBC3_SHA) #else - XCIPHER(0x0005, SSL3_TXT_RSA_RC4_128_SHA) + XCIPHER(0x0016, SSL3_TXT_EDH_RSA_DES_192_CBC3_SHA) #endif #ifdef TLS1_TXT_RSA_WITH_AES_128_SHA CIPHER(0x002f, TLS1_TXT_RSA_WITH_AES_128_SHA) #else XCIPHER(0x002f, TLS1_TXT_RSA_WITH_AES_128_SHA) #endif -#ifdef TLS1_TXT_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA - CIPHER(0xc008, TLS1_TXT_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA) -#else - XCIPHER(0xc008, TLS1_TXT_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA) -#endif -#ifdef TLS1_TXT_ECDHE_RSA_WITH_DES_192_CBC3_SHA - CIPHER(0xc012, TLS1_TXT_ECDHE_RSA_WITH_DES_192_CBC3_SHA) -#else - XCIPHER(0xc012, TLS1_TXT_ECDHE_RSA_WITH_DES_192_CBC3_SHA) -#endif -#ifdef SSL3_TXT_EDH_RSA_DES_192_CBC3_SHA - CIPHER(0x0016, SSL3_TXT_EDH_RSA_DES_192_CBC3_SHA) +#ifdef TLS1_TXT_RSA_WITH_CAMELLIA_128_CBC_SHA + CIPHER(0x0041, TLS1_TXT_RSA_WITH_CAMELLIA_128_CBC_SHA) #else - XCIPHER(0x0016, SSL3_TXT_EDH_RSA_DES_192_CBC3_SHA) + XCIPHER(0x0041, TLS1_TXT_RSA_WITH_CAMELLIA_128_CBC_SHA) #endif -#ifdef SSL3_TXT_EDH_DSS_DES_192_CBC3_SHA - CIPHER(0x0013, SSL3_TXT_EDH_DSS_DES_192_CBC3_SHA) +#ifdef TLS1_TXT_RSA_WITH_AES_256_SHA + CIPHER(0x0035, TLS1_TXT_RSA_WITH_AES_256_SHA) #else - XCIPHER(0x0013, SSL3_TXT_EDH_DSS_DES_192_CBC3_SHA) + XCIPHER(0x0035, TLS1_TXT_RSA_WITH_AES_256_SHA) #endif -#ifdef TLS1_TXT_ECDH_RSA_WITH_DES_192_CBC3_SHA - CIPHER(0xc00d, TLS1_TXT_ECDH_RSA_WITH_DES_192_CBC3_SHA) +#ifdef TLS1_TXT_RSA_WITH_CAMELLIA_256_CBC_SHA + CIPHER(0x0084, TLS1_TXT_RSA_WITH_CAMELLIA_256_CBC_SHA) #else - XCIPHER(0xc00d, TLS1_TXT_ECDH_RSA_WITH_DES_192_CBC3_SHA) + XCIPHER(0x0084, TLS1_TXT_RSA_WITH_CAMELLIA_256_CBC_SHA) #endif -#ifdef TLS1_TXT_ECDH_ECDSA_WITH_DES_192_CBC3_SHA - CIPHER(0xc003, TLS1_TXT_ECDH_ECDSA_WITH_DES_192_CBC3_SHA) +#ifdef SSL3_TXT_RSA_DES_192_CBC3_SHA + CIPHER(0x000a, SSL3_TXT_RSA_DES_192_CBC3_SHA) #else - XCIPHER(0xc003, TLS1_TXT_ECDH_ECDSA_WITH_DES_192_CBC3_SHA) + XCIPHER(0x000a, SSL3_TXT_RSA_DES_192_CBC3_SHA) #endif -/* No openssl macro found for 0xfeff */ -#ifdef SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA - CIPHER(0xfeff, SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA) +#ifdef SSL3_TXT_RSA_RC4_128_SHA + CIPHER(0x0005, SSL3_TXT_RSA_RC4_128_SHA) #else - XCIPHER(0xfeff, SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA) + XCIPHER(0x0005, SSL3_TXT_RSA_RC4_128_SHA) #endif -#ifdef SSL3_TXT_RSA_DES_192_CBC3_SHA - CIPHER(0x000a, SSL3_TXT_RSA_DES_192_CBC3_SHA) +#ifdef SSL3_TXT_RSA_RC4_128_MD5 + CIPHER(0x0004, SSL3_TXT_RSA_RC4_128_MD5) #else - XCIPHER(0x000a, SSL3_TXT_RSA_DES_192_CBC3_SHA) + XCIPHER(0x0004, SSL3_TXT_RSA_RC4_128_MD5) #endif diff --git a/src/common/compat.c b/src/common/compat.c index 8e2619f846..1ba264a0cc 100644 --- a/src/common/compat.c +++ b/src/common/compat.c @@ -35,6 +35,15 @@ #ifdef HAVE_UNAME #include <sys/utsname.h> #endif +#ifdef HAVE_SYS_TYPES_H +#include <sys/types.h> +#endif +#ifdef HAVE_SYS_SYSCTL_H +#include <sys/sysctl.h> +#endif +#ifdef HAVE_SYS_STAT_H +#include <sys/stat.h> +#endif #ifdef HAVE_UNISTD_H #include <unistd.h> #endif @@ -138,6 +147,7 @@ tor_open_cloexec(const char *path, int flags, unsigned mode) return -1; #endif + log_debug(LD_FS, "Opening %s with flags %x", path, flags); fd = open(path, flags, mode); #ifdef FD_CLOEXEC if (fd >= 0) { @@ -169,6 +179,15 @@ tor_fopen_cloexec(const char *path, const char *mode) return result; } +/** As rename(), but work correctly with the sandbox. */ +int +tor_rename(const char *path_old, const char *path_new) +{ + log_debug(LD_FS, "Renaming %s to %s", path_old, path_new); + return rename(sandbox_intern_string(path_old), + sandbox_intern_string(path_new)); +} + #if defined(HAVE_SYS_MMAN_H) || defined(RUNNING_DOXYGEN) /** Try to create a memory mapping for <b>filename</b> and return it. On * failure, return NULL. Sets errno properly, using ERANGE to mean @@ -178,9 +197,10 @@ tor_mmap_file(const char *filename) { int fd; /* router file */ char *string; - int page_size; + int page_size, result; tor_mmap_t *res; size_t size, filesize; + struct stat st; tor_assert(filename); @@ -194,9 +214,22 @@ tor_mmap_file(const char *filename) return NULL; } - /* XXXX why not just do fstat here? */ - size = filesize = (size_t) lseek(fd, 0, SEEK_END); - lseek(fd, 0, SEEK_SET); + /* Get the size of the file */ + result = fstat(fd, &st); + if (result != 0) { + int save_errno = errno; + log_warn(LD_FS, + "Couldn't fstat opened descriptor for \"%s\" during mmap: %s", + filename, strerror(errno)); + close(fd); + errno = save_errno; + return NULL; + } + size = filesize = (size_t)(st.st_size); + /* + * Should we check for weird crap like mmapping a named pipe here, + * or just wait for if (!size) below to fail? + */ /* ensure page alignment */ page_size = getpagesize(); size += (size%page_size) ? page_size-(size%page_size) : 0; @@ -227,12 +260,27 @@ tor_mmap_file(const char *filename) return res; } -/** Release storage held for a memory mapping. */ -void +/** Release storage held for a memory mapping; returns 0 on success, + * or -1 on failure (and logs a warning). */ +int tor_munmap_file(tor_mmap_t *handle) { - munmap((char*)handle->data, handle->mapping_size); - tor_free(handle); + int res; + + if (handle == NULL) + return 0; + + res = munmap((char*)handle->data, handle->mapping_size); + if (res == 0) { + /* munmap() succeeded */ + tor_free(handle); + } else { + log_warn(LD_FS, "Failed to munmap() in tor_munmap_file(): %s", + strerror(errno)); + res = -1; + } + + return res; } #elif defined(_WIN32) tor_mmap_t * @@ -314,17 +362,29 @@ tor_mmap_file(const char *filename) tor_munmap_file(res); return NULL; } -void + +/* Unmap the file, and return 0 for success or -1 for failure */ +int tor_munmap_file(tor_mmap_t *handle) { - if (handle->data) + if (handle == NULL) + return 0; + + if (handle->data) { /* This is an ugly cast, but without it, "data" in struct tor_mmap_t would have to be redefined as non-const. */ - UnmapViewOfFile( (LPVOID) handle->data); + BOOL ok = UnmapViewOfFile( (LPVOID) handle->data); + if (!ok) { + log_warn(LD_FS, "Failed to UnmapViewOfFile() in tor_munmap_file(): %d", + (int)GetLastError()); + } + } if (handle->mmap_handle != NULL) CloseHandle(handle->mmap_handle); tor_free(handle); + + return 0; } #else tor_mmap_t * @@ -340,13 +400,25 @@ tor_mmap_file(const char *filename) handle->size = st.st_size; return handle; } -void + +/** Unmap the file mapped with tor_mmap_file(), and return 0 for success + * or -1 for failure. + */ + +int tor_munmap_file(tor_mmap_t *handle) { - char *d = (char*)handle->data; + char *d = NULL; + if (handle == NULL) + return 0; + + d = (char*)handle->data; tor_free(d); memwipe(handle, 0, sizeof(tor_mmap_t)); tor_free(handle); + + /* Can't fail in this mmap()/munmap()-free case */ + return 0; } #endif @@ -501,21 +573,29 @@ tor_memmem(const void *_haystack, size_t hlen, #else /* This isn't as fast as the GLIBC implementation, but it doesn't need to * be. */ - const char *p, *end; + const char *p, *last_possible_start; const char *haystack = (const char*)_haystack; const char *needle = (const char*)_needle; char first; tor_assert(nlen); + if (nlen > hlen) + return NULL; + p = haystack; - end = haystack + hlen; + /* Last position at which the needle could start. */ + last_possible_start = haystack + hlen - nlen; first = *(const char*)needle; - while ((p = memchr(p, first, end-p))) { - if (p+nlen > end) - return NULL; + while ((p = memchr(p, first, last_possible_start + 1 - p))) { if (fast_memeq(p, needle, nlen)) return p; - ++p; + if (++p > last_possible_start) { + /* This comparison shouldn't be necessary, since if p was previously + * equal to last_possible_start, the next memchr call would be + * "memchr(p, first, 0)", which will return NULL. But it clarifies the + * logic. */ + return NULL; + } } return NULL; #endif @@ -732,7 +812,7 @@ int replace_file(const char *from, const char *to) { #ifndef _WIN32 - return rename(from,to); + return tor_rename(from, to); #else switch (file_status(to)) { @@ -747,7 +827,7 @@ replace_file(const char *from, const char *to) errno = EISDIR; return -1; } - return rename(from,to); + return tor_rename(from,to); #endif } @@ -2118,8 +2198,10 @@ tor_inet_pton(int af, const char *src, void *dst) else { unsigned byte1,byte2,byte3,byte4; char more; - for (eow = dot-1; eow >= src && TOR_ISDIGIT(*eow); --eow) + for (eow = dot-1; eow > src && TOR_ISDIGIT(*eow); --eow) ; + if (*eow != ':') + return 0; ++eow; /* We use "scanf" because some platform inet_aton()s are too lax @@ -3252,3 +3334,119 @@ format_win32_error(DWORD err) } #endif +#if defined(HW_PHYSMEM64) +/* This appears to be an OpenBSD thing */ +#define INT64_HW_MEM HW_PHYSMEM64 +#elif defined(HW_MEMSIZE) +/* OSX defines this one */ +#define INT64_HW_MEM HW_MEMSIZE +#endif + +/** + * Helper: try to detect the total system memory, and return it. On failure, + * return 0. + */ +static uint64_t +get_total_system_memory_impl(void) +{ +#if defined(__linux__) + /* On linux, sysctl is deprecated. Because proc is so awesome that you + * shouldn't _want_ to write portable code, I guess? */ + unsigned long long result=0; + int fd = -1; + char *s = NULL; + const char *cp; + size_t file_size=0; + if (-1 == (fd = tor_open_cloexec("/proc/meminfo",O_RDONLY,0))) + return 0; + s = read_file_to_str_until_eof(fd, 65536, &file_size); + if (!s) + goto err; + cp = strstr(s, "MemTotal:"); + if (!cp) + goto err; + /* Use the system sscanf so that space will match a wider number of space */ + if (sscanf(cp, "MemTotal: %llu kB\n", &result) != 1) + goto err; + + close(fd); + tor_free(s); + return result * 1024; + + err: + tor_free(s); + close(fd); + return 0; +#elif defined (_WIN32) + /* Windows has MEMORYSTATUSEX; pretty straightforward. */ + MEMORYSTATUSEX ms; + memset(&ms, 0, sizeof(ms)); + ms.dwLength = sizeof(ms); + if (! GlobalMemoryStatusEx(&ms)) + return 0; + + return ms.ullTotalPhys; + +#elif defined(HAVE_SYSCTL) && defined(INT64_HW_MEM) + /* On many systems, HW_PYHSMEM is clipped to 32 bits; let's use a better + * variant if we know about it. */ + uint64_t memsize = 0; + size_t len = sizeof(memsize); + int mib[2] = {CTL_HW, INT64_HW_MEM}; + if (sysctl(mib,2,&memsize,&len,NULL,0)) + return 0; + + return memsize; + +#elif defined(HAVE_SYSCTL) && defined(HW_PHYSMEM) + /* On some systems (like FreeBSD I hope) you can use a size_t with + * HW_PHYSMEM. */ + size_t memsize=0; + size_t len = sizeof(memsize); + int mib[2] = {CTL_HW, HW_USERMEM}; + if (sysctl(mib,2,&memsize,&len,NULL,0)) + return -1; + + return memsize; + +#else + /* I have no clue. */ + return 0; +#endif +} + +/** + * Try to find out how much physical memory the system has. On success, + * return 0 and set *<b>mem_out</b> to that value. On failure, return -1. + */ +int +get_total_system_memory(size_t *mem_out) +{ + static size_t mem_cached=0; + uint64_t m = get_total_system_memory_impl(); + if (0 == m) { + /* We couldn't find our memory total */ + if (0 == mem_cached) { + /* We have no cached value either */ + *mem_out = 0; + return -1; + } + + *mem_out = mem_cached; + return 0; + } + +#if SIZE_T_MAX != UINT64_MAX + if (m > SIZE_T_MAX) { + /* I think this could happen if we're a 32-bit Tor running on a 64-bit + * system: we could have more system memory than would fit in a + * size_t. */ + m = SIZE_T_MAX; + } +#endif + + *mem_out = mem_cached = (size_t) m; + + return -1; +} + diff --git a/src/common/compat.h b/src/common/compat.h index 8e700a9a13..314b1aa001 100644 --- a/src/common/compat.h +++ b/src/common/compat.h @@ -169,6 +169,7 @@ extern INLINE double U64_TO_DBL(uint64_t x) { * * #define ATTR_NONNULL(x) __attribute__((nonnull x)) */ #define ATTR_NONNULL(x) +#define ATTR_UNUSED __attribute__ ((unused)) /** Macro: Evaluates to <b>exp</b> and hints the compiler that the value * of <b>exp</b> will probably be true. @@ -192,6 +193,7 @@ extern INLINE double U64_TO_DBL(uint64_t x) { #define ATTR_MALLOC #define ATTR_NORETURN #define ATTR_NONNULL(x) +#define ATTR_UNUSED #define PREDICT_LIKELY(exp) (exp) #define PREDICT_UNLIKELY(exp) (exp) #endif @@ -290,7 +292,7 @@ typedef struct tor_mmap_t { } tor_mmap_t; tor_mmap_t *tor_mmap_file(const char *filename) ATTR_NONNULL((1)); -void tor_munmap_file(tor_mmap_t *handle) ATTR_NONNULL((1)); +int tor_munmap_file(tor_mmap_t *handle) ATTR_NONNULL((1)); int tor_snprintf(char *str, size_t size, const char *format, ...) CHECK_PRINTF(3,4) ATTR_NONNULL((1,3)); @@ -319,7 +321,7 @@ tor_memstr(const void *haystack, size_t hlen, const char *needle) extern const uint32_t TOR_##name##_TABLE[]; \ static INLINE int TOR_##name(char c) { \ uint8_t u = c; \ - return !!(TOR_##name##_TABLE[(u >> 5) & 7] & (1 << (u & 31))); \ + return !!(TOR_##name##_TABLE[(u >> 5) & 7] & (1u << (u & 31))); \ } DECLARE_CTYPE_FN(ISALPHA) DECLARE_CTYPE_FN(ISALNUM) @@ -408,6 +410,7 @@ struct tm *tor_gmtime_r(const time_t *timep, struct tm *result); /* ===== File compatibility */ int tor_open_cloexec(const char *path, int flags, unsigned mode); FILE *tor_fopen_cloexec(const char *path, const char *mode); +int tor_rename(const char *path_old, const char *path_new); int replace_file(const char *from, const char *to); int touch_file(const char *fname); @@ -635,6 +638,8 @@ char *make_path_absolute(char *fname); char **get_environment(void); +int get_total_system_memory(size_t *mem_out); + int spawn_func(void (*func)(void *), void *data); void spawn_exit(void) ATTR_NORETURN; diff --git a/src/common/compat_libevent.c b/src/common/compat_libevent.c index 4d0fff833b..74b54bb855 100644 --- a/src/common/compat_libevent.c +++ b/src/common/compat_libevent.c @@ -13,6 +13,8 @@ #include "compat.h" #include "compat_libevent.h" +#include "crypto.h" + #include "util.h" #include "torlog.h" @@ -626,7 +628,25 @@ tor_add_bufferevent_to_rate_limit_group(struct bufferevent *bev, } #endif -#if defined(LIBEVENT_VERSION_NUMBER) && LIBEVENT_VERSION_NUMBER >= V(2,1,1) +int +tor_init_libevent_rng(void) +{ + int rv = 0; +#ifdef HAVE_EVUTIL_SECURE_RNG_INIT + char buf[256]; + if (evutil_secure_rng_init() < 0) { + rv = -1; + } + /* Older libevent -- manually initialize the RNG */ + crypto_rand(buf, 32); + evutil_secure_rng_add_bytes(buf, 32); + evutil_secure_rng_get_bytes(buf, sizeof(buf)); +#endif + return rv; +} + +#if defined(LIBEVENT_VERSION_NUMBER) && LIBEVENT_VERSION_NUMBER >= V(2,1,1) \ + && !defined(TOR_UNIT_TESTS) void tor_gettimeofday_cached(struct timeval *tv) { @@ -659,5 +679,45 @@ tor_gettimeofday_cache_clear(void) { cached_time_hires.tv_sec = 0; } + +#ifdef TOR_UNIT_TESTS +/** For testing: force-update the cached time to a given value. */ +void +tor_gettimeofday_cache_set(const struct timeval *tv) +{ + tor_assert(tv); + memcpy(&cached_time_hires, tv, sizeof(*tv)); +} +#endif #endif +/** + * As tor_gettimeofday_cached, but can never move backwards in time. + * + * The returned value may diverge from wall-clock time, since wall-clock time + * can trivially be adjusted backwards, and this can't. Don't mix wall-clock + * time with these values in the same calculation. + * + * Depending on implementation, this function may or may not "smooth out" huge + * jumps forward in wall-clock time. It may or may not keep its results + * advancing forward (as opposed to stalling) if the wall-clock time goes + * backwards. The current implementation does neither of of these. + * + * This function is not thread-safe; do not call it outside the main thread. + * + * In future versions of Tor, this may return a time does not have its + * origin at the Unix epoch. + */ +void +tor_gettimeofday_cached_monotonic(struct timeval *tv) +{ + struct timeval last_tv = { 0, 0 }; + + tor_gettimeofday_cached(tv); + if (timercmp(tv, &last_tv, <)) { + memcpy(tv, &last_tv, sizeof(struct timeval)); + } else { + memcpy(&last_tv, tv, sizeof(struct timeval)); + } +} + diff --git a/src/common/compat_libevent.h b/src/common/compat_libevent.h index fda8733592..9ee7b49cfb 100644 --- a/src/common/compat_libevent.h +++ b/src/common/compat_libevent.h @@ -89,8 +89,14 @@ int tor_add_bufferevent_to_rate_limit_group(struct bufferevent *bev, struct bufferevent_rate_limit_group *g); #endif +int tor_init_libevent_rng(void); + void tor_gettimeofday_cached(struct timeval *tv); void tor_gettimeofday_cache_clear(void); +#ifdef TOR_UNIT_TESTS +void tor_gettimeofday_cache_set(const struct timeval *tv); +#endif +void tor_gettimeofday_cached_monotonic(struct timeval *tv); #endif diff --git a/src/common/container.c b/src/common/container.c index 476dc82913..b937d544fc 100644 --- a/src/common/container.c +++ b/src/common/container.c @@ -727,6 +727,26 @@ smartlist_uniq_strings(smartlist_t *sl) smartlist_uniq(sl, compare_string_ptrs_, tor_free_); } +/** Helper: compare two pointers. */ +static int +compare_ptrs_(const void **_a, const void **_b) +{ + const void *a = *_a, *b = *_b; + if (a<b) + return -1; + else if (a==b) + return 0; + else + return 1; +} + +/** Sort <b>sl</b> in ascending order of the pointers it contains. */ +void +smartlist_sort_pointers(smartlist_t *sl) +{ + smartlist_sort(sl, compare_ptrs_); +} + /* Heap-based priority queue implementation for O(lg N) insert and remove. * Recall that the heap property is that, for every index I, h[I] < * H[LEFT_CHILD[I]] and h[I] < H[RIGHT_CHILD[I]]. @@ -1004,7 +1024,7 @@ strmap_entries_eq(const strmap_entry_t *a, const strmap_entry_t *b) static INLINE unsigned int strmap_entry_hash(const strmap_entry_t *a) { - return ht_string_hash(a->key); + return (unsigned) siphash24g(a->key, strlen(a->key)); } /** Helper: compare digestmap_entry_t objects by key value. */ @@ -1018,13 +1038,7 @@ digestmap_entries_eq(const digestmap_entry_t *a, const digestmap_entry_t *b) static INLINE unsigned int digestmap_entry_hash(const digestmap_entry_t *a) { -#if SIZEOF_INT != 8 - const uint32_t *p = (const uint32_t*)a->key; - return p[0] ^ p[1] ^ p[2] ^ p[3] ^ p[4]; -#else - const uint64_t *p = (const uint64_t*)a->key; - return p[0] ^ p[1]; -#endif + return (unsigned) siphash24g(a->key, DIGEST_LEN); } HT_PROTOTYPE(strmap_impl, strmap_entry_t, node, strmap_entry_hash, diff --git a/src/common/container.h b/src/common/container.h index 1bcc540665..0d31f2093b 100644 --- a/src/common/container.h +++ b/src/common/container.h @@ -7,6 +7,7 @@ #define TOR_CONTAINER_H #include "util.h" +#include "siphash.h" /** A resizeable list of pointers, with associated helpful functionality. * @@ -102,6 +103,7 @@ void smartlist_uniq(smartlist_t *sl, void smartlist_sort_strings(smartlist_t *sl); void smartlist_sort_digests(smartlist_t *sl); void smartlist_sort_digests256(smartlist_t *sl); +void smartlist_sort_pointers(smartlist_t *sl); char *smartlist_get_most_frequent_string(smartlist_t *sl); char *smartlist_get_most_frequent_digest256(smartlist_t *sl); @@ -472,64 +474,74 @@ void* strmap_remove_lc(strmap_t *map, const char *key); #define DECLARE_TYPED_DIGESTMAP_FNS(prefix, maptype, valtype) \ typedef struct maptype maptype; \ typedef struct prefix##iter_t prefix##iter_t; \ - static INLINE maptype* prefix##new(void) \ + ATTR_UNUSED static INLINE maptype* \ + prefix##new(void) \ { \ return (maptype*)digestmap_new(); \ } \ - static INLINE digestmap_t* prefix##to_digestmap(maptype *map) \ + ATTR_UNUSED static INLINE digestmap_t* \ + prefix##to_digestmap(maptype *map) \ { \ return (digestmap_t*)map; \ } \ - static INLINE valtype* prefix##get(maptype *map, const char *key) \ + ATTR_UNUSED static INLINE valtype* \ + prefix##get(maptype *map, const char *key) \ { \ return (valtype*)digestmap_get((digestmap_t*)map, key); \ } \ - static INLINE valtype* prefix##set(maptype *map, const char *key, \ - valtype *val) \ + ATTR_UNUSED static INLINE valtype* \ + prefix##set(maptype *map, const char *key, valtype *val) \ { \ return (valtype*)digestmap_set((digestmap_t*)map, key, val); \ } \ - static INLINE valtype* prefix##remove(maptype *map, const char *key) \ + ATTR_UNUSED static INLINE valtype* \ + prefix##remove(maptype *map, const char *key) \ { \ return (valtype*)digestmap_remove((digestmap_t*)map, key); \ } \ - static INLINE void prefix##free(maptype *map, void (*free_val)(void*)) \ + ATTR_UNUSED static INLINE void \ + prefix##free(maptype *map, void (*free_val)(void*)) \ { \ digestmap_free((digestmap_t*)map, free_val); \ } \ - static INLINE int prefix##isempty(maptype *map) \ + ATTR_UNUSED static INLINE int \ + prefix##isempty(maptype *map) \ { \ return digestmap_isempty((digestmap_t*)map); \ } \ - static INLINE int prefix##size(maptype *map) \ + ATTR_UNUSED static INLINE int \ + prefix##size(maptype *map) \ { \ return digestmap_size((digestmap_t*)map); \ } \ - static INLINE prefix##iter_t *prefix##iter_init(maptype *map) \ + ATTR_UNUSED static INLINE \ + prefix##iter_t *prefix##iter_init(maptype *map) \ { \ return (prefix##iter_t*) digestmap_iter_init((digestmap_t*)map); \ } \ - static INLINE prefix##iter_t *prefix##iter_next(maptype *map, \ - prefix##iter_t *iter) \ + ATTR_UNUSED static INLINE \ + prefix##iter_t *prefix##iter_next(maptype *map, prefix##iter_t *iter) \ { \ return (prefix##iter_t*) digestmap_iter_next( \ (digestmap_t*)map, (digestmap_iter_t*)iter); \ } \ - static INLINE prefix##iter_t *prefix##iter_next_rmv(maptype *map, \ - prefix##iter_t *iter) \ + ATTR_UNUSED static INLINE prefix##iter_t* \ + prefix##iter_next_rmv(maptype *map, prefix##iter_t *iter) \ { \ return (prefix##iter_t*) digestmap_iter_next_rmv( \ (digestmap_t*)map, (digestmap_iter_t*)iter); \ } \ - static INLINE void prefix##iter_get(prefix##iter_t *iter, \ - const char **keyp, \ - valtype **valp) \ + ATTR_UNUSED static INLINE void \ + prefix##iter_get(prefix##iter_t *iter, \ + const char **keyp, \ + valtype **valp) \ { \ void *v; \ digestmap_iter_get((digestmap_iter_t*) iter, keyp, &v); \ *valp = v; \ } \ - static INLINE int prefix##iter_done(prefix##iter_t *iter) \ + ATTR_UNUSED static INLINE int \ + prefix##iter_done(prefix##iter_t *iter) \ { \ return digestmap_iter_done((digestmap_iter_t*)iter); \ } @@ -610,11 +622,11 @@ typedef struct { static INLINE void digestset_add(digestset_t *set, const char *digest) { - const uint32_t *p = (const uint32_t *)digest; - const uint32_t d1 = p[0] + (p[1]>>16); - const uint32_t d2 = p[1] + (p[2]>>16); - const uint32_t d3 = p[2] + (p[3]>>16); - const uint32_t d4 = p[3] + (p[0]>>16); + const uint64_t x = siphash24g(digest, 20); + const uint32_t d1 = (uint32_t) x; + const uint32_t d2 = (uint32_t)( (x>>16) + x); + const uint32_t d3 = (uint32_t)( (x>>32) + x); + const uint32_t d4 = (uint32_t)( (x>>48) + x); bitarray_set(set->ba, BIT(d1)); bitarray_set(set->ba, BIT(d2)); bitarray_set(set->ba, BIT(d3)); @@ -626,11 +638,11 @@ digestset_add(digestset_t *set, const char *digest) static INLINE int digestset_contains(const digestset_t *set, const char *digest) { - const uint32_t *p = (const uint32_t *)digest; - const uint32_t d1 = p[0] + (p[1]>>16); - const uint32_t d2 = p[1] + (p[2]>>16); - const uint32_t d3 = p[2] + (p[3]>>16); - const uint32_t d4 = p[3] + (p[0]>>16); + const uint64_t x = siphash24g(digest, 20); + const uint32_t d1 = (uint32_t) x; + const uint32_t d2 = (uint32_t)( (x>>16) + x); + const uint32_t d3 = (uint32_t)( (x>>32) + x); + const uint32_t d4 = (uint32_t)( (x>>48) + x); return bitarray_is_set(set->ba, BIT(d1)) && bitarray_is_set(set->ba, BIT(d2)) && bitarray_is_set(set->ba, BIT(d3)) && diff --git a/src/common/crypto.c b/src/common/crypto.c index 9bdb1f41fa..a247a87d48 100644 --- a/src/common/crypto.c +++ b/src/common/crypto.c @@ -132,6 +132,9 @@ crypto_get_rsa_padding(int padding) } /** Boolean: has OpenSSL's crypto been initialized? */ +static int crypto_early_initialized_ = 0; + +/** Boolean: has OpenSSL's crypto been initialized? */ static int crypto_global_initialized_ = 0; /** Log all pending crypto errors at level <b>severity</b>. Use @@ -242,15 +245,49 @@ crypto_openssl_get_header_version_str(void) return crypto_openssl_header_version_str; } +/** Make sure that openssl is using its default PRNG. Return 1 if we had to + * adjust it; 0 otherwise. */ +static int +crypto_force_rand_ssleay(void) +{ + if (RAND_get_rand_method() != RAND_SSLeay()) { + log_notice(LD_CRYPTO, "It appears that one of our engines has provided " + "a replacement the OpenSSL RNG. Resetting it to the default " + "implementation."); + RAND_set_rand_method(RAND_SSLeay()); + return 1; + } + return 0; +} + +/** Set up the siphash key if we haven't already done so. */ +int +crypto_init_siphash_key(void) +{ + static int have_seeded_siphash = 0; + struct sipkey key; + if (have_seeded_siphash) + return 0; + + if (crypto_rand((char*) &key, sizeof(key)) < 0) + return -1; + siphash_set_global_key(&key); + have_seeded_siphash = 1; + return 0; +} + /** Initialize the crypto library. Return 0 on success, -1 on failure. */ int -crypto_global_init(int useAccel, const char *accelName, const char *accelDir) +crypto_early_init(void) { - if (!crypto_global_initialized_) { + if (!crypto_early_initialized_) { + + crypto_early_initialized_ = 1; + ERR_load_crypto_strings(); OpenSSL_add_all_algorithms(); - crypto_global_initialized_ = 1; + setup_openssl_threading(); if (SSLeay() == OPENSSL_VERSION_NUMBER && @@ -272,6 +309,26 @@ crypto_global_init(int useAccel, const char *accelName, const char *accelDir) crypto_openssl_get_version_str()); } + crypto_force_rand_ssleay(); + + if (crypto_seed_rng(1) < 0) + return -1; + if (crypto_init_siphash_key() < 0) + return -1; + } + return 0; +} + +/** Initialize the crypto library. Return 0 on success, -1 on failure. + */ +int +crypto_global_init(int useAccel, const char *accelName, const char *accelDir) +{ + if (!crypto_global_initialized_) { + crypto_early_init(); + + crypto_global_initialized_ = 1; + if (useAccel > 0) { #ifdef DISABLE_ENGINES (void)accelName; @@ -335,17 +392,13 @@ crypto_global_init(int useAccel, const char *accelName, const char *accelDir) log_info(LD_CRYPTO, "NOT using OpenSSL engine support."); } - if (RAND_get_rand_method() != RAND_SSLeay()) { - log_notice(LD_CRYPTO, "It appears that one of our engines has provided " - "a replacement the OpenSSL RNG. Resetting it to the default " - "implementation."); - RAND_set_rand_method(RAND_SSLeay()); + if (crypto_force_rand_ssleay()) { + if (crypto_seed_rng(1) < 0) + return -1; } evaluate_evp_for_aes(-1); evaluate_ctr_for_aes(); - - return crypto_seed_rng(1); } return 0; } @@ -1324,6 +1377,28 @@ crypto_pk_get_fingerprint(crypto_pk_t *pk, char *fp_out, int add_space) return 0; } +/** Given a private or public key <b>pk</b>, put a hashed fingerprint of + * the public key into <b>fp_out</b> (must have at least FINGERPRINT_LEN+1 + * bytes of space). Return 0 on success, -1 on failure. + * + * Hashed fingerprints are computed as the SHA1 digest of the SHA1 digest + * of the ASN.1 encoding of the public key, converted to hexadecimal, in + * upper case. + */ +int +crypto_pk_get_hashed_fingerprint(crypto_pk_t *pk, char *fp_out) +{ + char digest[DIGEST_LEN], hashed_digest[DIGEST_LEN]; + if (crypto_pk_get_digest(pk, digest)) { + return -1; + } + if (crypto_digest(hashed_digest, digest, DIGEST_LEN)) { + return -1; + } + base16_encode(fp_out, FINGERPRINT_LEN + 1, hashed_digest, DIGEST_LEN); + return 0; +} + /* symmetric crypto */ /** Return a pointer to the key set for the cipher in <b>env</b>. @@ -1519,7 +1594,7 @@ struct crypto_digest_t { SHA256_CTX sha2; /**< state for SHA256 */ } d; /**< State for the digest we're using. Only one member of the * union is usable, depending on the value of <b>algorithm</b>. */ - ENUM_BF(digest_algorithm_t) algorithm : 8; /**< Which algorithm is in use? */ + digest_algorithm_bitfield_t algorithm : 8; /**< Which algorithm is in use? */ }; /** Allocate and return a new digest object to compute SHA1 digests. @@ -2396,6 +2471,7 @@ crypto_strongest_rand(uint8_t *out, size_t out_len) return 0; #else for (i = 0; filenames[i]; ++i) { + log_debug(LD_FS, "Opening %s for entropy", filenames[i]); fd = open(sandbox_intern_string(filenames[i]), O_RDONLY, 0); if (fd<0) continue; log_info(LD_CRYPTO, "Reading entropy from \"%s\"", filenames[i]); @@ -3028,7 +3104,7 @@ openssl_locking_cb_(int mode, int n, const char *file, int line) (void)file; (void)line; if (!openssl_mutexes_) - /* This is not a really good fix for the + /* This is not a really good fix for the * "release-freed-lock-from-separate-thread-on-shutdown" problem, but * it can't hurt. */ return; diff --git a/src/common/crypto.h b/src/common/crypto.h index 6ce3697c92..aa4271aa33 100644 --- a/src/common/crypto.h +++ b/src/common/crypto.h @@ -89,6 +89,7 @@ typedef enum { DIGEST_SHA256 = 1, } digest_algorithm_t; #define N_DIGEST_ALGORITHMS (DIGEST_SHA256+1) +#define digest_algorithm_bitfield_t ENUM_BF(digest_algorithm_t) /** A set of all the digests we know how to compute, taken on a single * string. Any digests that are shorter than 256 bits are right-padded @@ -110,6 +111,7 @@ typedef struct crypto_dh_t crypto_dh_t; /* global state */ const char * crypto_openssl_get_version_str(void); const char * crypto_openssl_get_header_version_str(void); +int crypto_early_init(void); int crypto_global_init(int hardwareAccel, const char *accelName, const char *accelPath); @@ -181,6 +183,7 @@ crypto_pk_t *crypto_pk_asn1_decode(const char *str, size_t len); int crypto_pk_get_digest(crypto_pk_t *pk, char *digest_out); int crypto_pk_get_all_digests(crypto_pk_t *pk, digests_t *digests_out); int crypto_pk_get_fingerprint(crypto_pk_t *pk, char *fp_out,int add_space); +int crypto_pk_get_hashed_fingerprint(crypto_pk_t *pk, char *fp_out); /* symmetric crypto */ const char *crypto_cipher_get_key(crypto_cipher_t *env); @@ -256,6 +259,7 @@ uint64_t crypto_rand_uint64(uint64_t max); double crypto_rand_double(void); struct tor_weak_rng_t; void crypto_seed_weak_rng(struct tor_weak_rng_t *rng); +int crypto_init_siphash_key(void); char *crypto_random_hostname(int min_rand_len, int max_rand_len, const char *prefix, const char *suffix); diff --git a/src/common/gen_linux_syscalls.pl b/src/common/gen_linux_syscalls.pl new file mode 100755 index 0000000000..3c64098a0b --- /dev/null +++ b/src/common/gen_linux_syscalls.pl @@ -0,0 +1,37 @@ +#!/usr/bin/perl -w + +use strict; +my %syscalls = (); + +while (<>) { + if (/^#define (__NR_\w+) /) { + $syscalls{$1} = 1; + } +} + +print <<EOL; +/* Automatically generated with + gen_sandbox_syscalls.pl /usr/include/asm/unistd*.h + Do not edit. + */ +static const struct { + int syscall_num; const char *syscall_name; +} SYSCALLS_BY_NUMBER[] = { +EOL + +for my $k (sort keys %syscalls) { + my $name = $k; + $name =~ s/^__NR_//; + print <<EOL; +#ifdef $k + { $k, "$name" }, +#endif +EOL + +} + +print <<EOL + {0, NULL} +}; + +EOL diff --git a/src/common/gen_server_ciphers.py b/src/common/gen_server_ciphers.py new file mode 100755 index 0000000000..97ed9d0469 --- /dev/null +++ b/src/common/gen_server_ciphers.py @@ -0,0 +1,115 @@ +#!/usr/bin/python +# Copyright 2014, The Tor Project, Inc +# See LICENSE for licensing information + +# This script parses openssl headers to find ciphersuite names, determines +# which ones we should be willing to use as a server, and sorts them according +# to preference rules. +# +# Run it on all the files in your openssl include directory. + +import re +import sys + +EPHEMERAL_INDICATORS = [ "_EDH_", "_DHE_", "_ECDHE_" ] +BAD_STUFF = [ "_DES_40_", "MD5", "_RC4_", "_DES_64_", + "_SEED_", "_CAMELLIA_", "_NULL" ] + +# these never get #ifdeffed. +MANDATORY = [ + "TLS1_TXT_DHE_RSA_WITH_AES_256_SHA", + "TLS1_TXT_DHE_RSA_WITH_AES_128_SHA", + "SSL3_TXT_EDH_RSA_DES_192_CBC3_SHA", +] + +def find_ciphers(filename): + with open(filename) as f: + for line in f: + m = re.search(r'(?:SSL3|TLS1)_TXT_\w+', line) + if m: + yield m.group(0) + +def usable_cipher(ciph): + ephemeral = False + for e in EPHEMERAL_INDICATORS: + if e in ciph: + ephemeral = True + if not ephemeral: + return False + + if "_RSA_" not in ciph: + return False + + for b in BAD_STUFF: + if b in ciph: + return False + return True + +# All fields we sort on, in order of priority. +FIELDS = [ 'cipher', 'fwsec', 'mode', 'digest', 'bitlength' ] +# Map from sorted fields to recognized value in descending order of goodness +FIELD_VALS = { 'cipher' : [ 'AES', 'DES'], + 'fwsec' : [ 'ECDHE', 'DHE' ], + 'mode' : [ 'GCM', 'CBC' ], + 'digest' : [ 'SHA384', 'SHA256', 'SHA' ], + 'bitlength' : [ '256', '128', '192' ], +} + +class Ciphersuite(object): + def __init__(self, name, fwsec, cipher, bitlength, mode, digest): + self.name = name + self.fwsec = fwsec + self.cipher = cipher + self.bitlength = bitlength + self.mode = mode + self.digest = digest + + for f in FIELDS: + assert(getattr(self, f) in FIELD_VALS[f]) + + def sort_key(self): + return tuple(FIELD_VALS[f].index(getattr(self,f)) for f in FIELDS) + + +def parse_cipher(ciph): + m = re.match('(?:TLS1|SSL3)_TXT_(EDH|DHE|ECDHE)_RSA(?:_WITH)?_(AES|DES)_(256|128|192)(|_CBC|_CBC3|_GCM)_(SHA|SHA256|SHA384)$', ciph) + + if not m: + print "/* Couldn't parse %s ! */"%ciph + return None + + fwsec, cipher, bits, mode, digest = m.groups() + if fwsec == 'EDH': + fwsec = 'DHE' + + if mode in [ '_CBC3', '_CBC', '' ]: + mode = 'CBC' + elif mode == '_GCM': + mode = 'GCM' + + return Ciphersuite(ciph, fwsec, cipher, bits, mode, digest) + +ALL_CIPHERS = [] + +for fname in sys.argv[1:]: + ALL_CIPHERS += (parse_cipher(c) + for c in find_ciphers(fname) + if usable_cipher(c) ) + +ALL_CIPHERS.sort(key=Ciphersuite.sort_key) + +for c in ALL_CIPHERS: + if c is ALL_CIPHERS[-1]: + colon = ';' + else: + colon = ' ":"' + + if c.name in MANDATORY: + print " /* Required */" + print ' %s%s'%(c.name,colon) + else: + print "#ifdef %s"%c.name + print ' %s%s'%(c.name,colon) + print "#endif" + + diff --git a/src/common/get_mozilla_ciphers.py b/src/common/get_mozilla_ciphers.py index c7e9a84a0e..0636eb3658 100644 --- a/src/common/get_mozilla_ciphers.py +++ b/src/common/get_mozilla_ciphers.py @@ -41,12 +41,12 @@ fileA = open(ff('security/manager/ssl/src/nsNSSComponent.cpp'),'r') inCipherSection = False cipherLines = [] for line in fileA: - if line.startswith('static CipherPref CipherPrefs'): + if line.startswith('static const CipherPref sCipherPrefs[]'): # Get the starting boundary of the Cipher Preferences inCipherSection = True elif inCipherSection: line = line.strip() - if line.startswith('{NULL, 0}'): + if line.startswith('{ nullptr, 0}'): # At the ending boundary of the Cipher Prefs break else: @@ -56,12 +56,30 @@ fileA.close() # Parse the lines and put them into a dict ciphers = {} cipher_pref = {} +key_pending = None for line in cipherLines: - m = re.search(r'^{\s*\"([^\"]+)\",\s*(\S*)\s*}', line) + m = re.search(r'^{\s*\"([^\"]+)\",\s*(\S+)\s*(?:,\s*(true|false))?\s*}', line) if m: - key,value = m.groups() - ciphers[key] = value - cipher_pref[value] = key + assert not key_pending + key,value,enabled = m.groups() + if enabled == 'true': + ciphers[key] = value + cipher_pref[value] = key + continue + m = re.search(r'^{\s*\"([^\"]+)\",', line) + if m: + assert not key_pending + key_pending = m.group(1) + continue + m = re.search(r'^\s*(\S+)(?:,\s*(true|false))?\s*}', line) + if m: + assert key_pending + key = key_pending + value,enabled = m.groups() + key_pending = None + if enabled == 'true': + ciphers[key] = value + cipher_pref[value] = key #### # Now find the correct order for the ciphers diff --git a/src/common/include.am b/src/common/include.am index 814786b776..7b2465cd84 100644 --- a/src/common/include.am +++ b/src/common/include.am @@ -61,6 +61,7 @@ LIBOR_A_SOURCES = \ src/common/util.c \ src/common/util_codedigest.c \ src/common/sandbox.c \ + src/ext/csiphash.c \ $(libor_extra_source) LIBOR_CRYPTO_A_SOURCES = \ @@ -102,6 +103,7 @@ COMMONHEADERS = \ src/common/di_ops.h \ src/common/memarea.h \ src/common/mempool.h \ + src/common/linux_syscalls.inc \ src/common/procmon.h \ src/common/sandbox.h \ src/common/testsupport.h \ diff --git a/src/common/linux_syscalls.inc b/src/common/linux_syscalls.inc new file mode 100644 index 0000000000..912735660d --- /dev/null +++ b/src/common/linux_syscalls.inc @@ -0,0 +1,1153 @@ +/* Automatically generated with + gen_sandbox_syscalls.pl /usr/include/asm/unistd*.h + Do not edit. + */ +static const struct { + int syscall_num; const char *syscall_name; +} SYSCALLS_BY_NUMBER[] = { +#ifdef __NR__llseek + { __NR__llseek, "_llseek" }, +#endif +#ifdef __NR__newselect + { __NR__newselect, "_newselect" }, +#endif +#ifdef __NR__sysctl + { __NR__sysctl, "_sysctl" }, +#endif +#ifdef __NR_accept + { __NR_accept, "accept" }, +#endif +#ifdef __NR_accept4 + { __NR_accept4, "accept4" }, +#endif +#ifdef __NR_access + { __NR_access, "access" }, +#endif +#ifdef __NR_acct + { __NR_acct, "acct" }, +#endif +#ifdef __NR_add_key + { __NR_add_key, "add_key" }, +#endif +#ifdef __NR_adjtimex + { __NR_adjtimex, "adjtimex" }, +#endif +#ifdef __NR_afs_syscall + { __NR_afs_syscall, "afs_syscall" }, +#endif +#ifdef __NR_alarm + { __NR_alarm, "alarm" }, +#endif +#ifdef __NR_arch_prctl + { __NR_arch_prctl, "arch_prctl" }, +#endif +#ifdef __NR_bdflush + { __NR_bdflush, "bdflush" }, +#endif +#ifdef __NR_bind + { __NR_bind, "bind" }, +#endif +#ifdef __NR_break + { __NR_break, "break" }, +#endif +#ifdef __NR_brk + { __NR_brk, "brk" }, +#endif +#ifdef __NR_capget + { __NR_capget, "capget" }, +#endif +#ifdef __NR_capset + { __NR_capset, "capset" }, +#endif +#ifdef __NR_chdir + { __NR_chdir, "chdir" }, +#endif +#ifdef __NR_chmod + { __NR_chmod, "chmod" }, +#endif +#ifdef __NR_chown + { __NR_chown, "chown" }, +#endif +#ifdef __NR_chown32 + { __NR_chown32, "chown32" }, +#endif +#ifdef __NR_chroot + { __NR_chroot, "chroot" }, +#endif +#ifdef __NR_clock_adjtime + { __NR_clock_adjtime, "clock_adjtime" }, +#endif +#ifdef __NR_clock_getres + { __NR_clock_getres, "clock_getres" }, +#endif +#ifdef __NR_clock_gettime + { __NR_clock_gettime, "clock_gettime" }, +#endif +#ifdef __NR_clock_nanosleep + { __NR_clock_nanosleep, "clock_nanosleep" }, +#endif +#ifdef __NR_clock_settime + { __NR_clock_settime, "clock_settime" }, +#endif +#ifdef __NR_clone + { __NR_clone, "clone" }, +#endif +#ifdef __NR_close + { __NR_close, "close" }, +#endif +#ifdef __NR_connect + { __NR_connect, "connect" }, +#endif +#ifdef __NR_creat + { __NR_creat, "creat" }, +#endif +#ifdef __NR_create_module + { __NR_create_module, "create_module" }, +#endif +#ifdef __NR_delete_module + { __NR_delete_module, "delete_module" }, +#endif +#ifdef __NR_dup + { __NR_dup, "dup" }, +#endif +#ifdef __NR_dup2 + { __NR_dup2, "dup2" }, +#endif +#ifdef __NR_dup3 + { __NR_dup3, "dup3" }, +#endif +#ifdef __NR_epoll_create + { __NR_epoll_create, "epoll_create" }, +#endif +#ifdef __NR_epoll_create1 + { __NR_epoll_create1, "epoll_create1" }, +#endif +#ifdef __NR_epoll_ctl + { __NR_epoll_ctl, "epoll_ctl" }, +#endif +#ifdef __NR_epoll_ctl_old + { __NR_epoll_ctl_old, "epoll_ctl_old" }, +#endif +#ifdef __NR_epoll_pwait + { __NR_epoll_pwait, "epoll_pwait" }, +#endif +#ifdef __NR_epoll_wait + { __NR_epoll_wait, "epoll_wait" }, +#endif +#ifdef __NR_epoll_wait_old + { __NR_epoll_wait_old, "epoll_wait_old" }, +#endif +#ifdef __NR_eventfd + { __NR_eventfd, "eventfd" }, +#endif +#ifdef __NR_eventfd2 + { __NR_eventfd2, "eventfd2" }, +#endif +#ifdef __NR_execve + { __NR_execve, "execve" }, +#endif +#ifdef __NR_exit + { __NR_exit, "exit" }, +#endif +#ifdef __NR_exit_group + { __NR_exit_group, "exit_group" }, +#endif +#ifdef __NR_faccessat + { __NR_faccessat, "faccessat" }, +#endif +#ifdef __NR_fadvise64 + { __NR_fadvise64, "fadvise64" }, +#endif +#ifdef __NR_fadvise64_64 + { __NR_fadvise64_64, "fadvise64_64" }, +#endif +#ifdef __NR_fallocate + { __NR_fallocate, "fallocate" }, +#endif +#ifdef __NR_fanotify_init + { __NR_fanotify_init, "fanotify_init" }, +#endif +#ifdef __NR_fanotify_mark + { __NR_fanotify_mark, "fanotify_mark" }, +#endif +#ifdef __NR_fchdir + { __NR_fchdir, "fchdir" }, +#endif +#ifdef __NR_fchmod + { __NR_fchmod, "fchmod" }, +#endif +#ifdef __NR_fchmodat + { __NR_fchmodat, "fchmodat" }, +#endif +#ifdef __NR_fchown + { __NR_fchown, "fchown" }, +#endif +#ifdef __NR_fchown32 + { __NR_fchown32, "fchown32" }, +#endif +#ifdef __NR_fchownat + { __NR_fchownat, "fchownat" }, +#endif +#ifdef __NR_fcntl + { __NR_fcntl, "fcntl" }, +#endif +#ifdef __NR_fcntl64 + { __NR_fcntl64, "fcntl64" }, +#endif +#ifdef __NR_fdatasync + { __NR_fdatasync, "fdatasync" }, +#endif +#ifdef __NR_fgetxattr + { __NR_fgetxattr, "fgetxattr" }, +#endif +#ifdef __NR_finit_module + { __NR_finit_module, "finit_module" }, +#endif +#ifdef __NR_flistxattr + { __NR_flistxattr, "flistxattr" }, +#endif +#ifdef __NR_flock + { __NR_flock, "flock" }, +#endif +#ifdef __NR_fork + { __NR_fork, "fork" }, +#endif +#ifdef __NR_fremovexattr + { __NR_fremovexattr, "fremovexattr" }, +#endif +#ifdef __NR_fsetxattr + { __NR_fsetxattr, "fsetxattr" }, +#endif +#ifdef __NR_fstat + { __NR_fstat, "fstat" }, +#endif +#ifdef __NR_fstat64 + { __NR_fstat64, "fstat64" }, +#endif +#ifdef __NR_fstatat64 + { __NR_fstatat64, "fstatat64" }, +#endif +#ifdef __NR_fstatfs + { __NR_fstatfs, "fstatfs" }, +#endif +#ifdef __NR_fstatfs64 + { __NR_fstatfs64, "fstatfs64" }, +#endif +#ifdef __NR_fsync + { __NR_fsync, "fsync" }, +#endif +#ifdef __NR_ftime + { __NR_ftime, "ftime" }, +#endif +#ifdef __NR_ftruncate + { __NR_ftruncate, "ftruncate" }, +#endif +#ifdef __NR_ftruncate64 + { __NR_ftruncate64, "ftruncate64" }, +#endif +#ifdef __NR_futex + { __NR_futex, "futex" }, +#endif +#ifdef __NR_futimesat + { __NR_futimesat, "futimesat" }, +#endif +#ifdef __NR_get_kernel_syms + { __NR_get_kernel_syms, "get_kernel_syms" }, +#endif +#ifdef __NR_get_mempolicy + { __NR_get_mempolicy, "get_mempolicy" }, +#endif +#ifdef __NR_get_robust_list + { __NR_get_robust_list, "get_robust_list" }, +#endif +#ifdef __NR_get_thread_area + { __NR_get_thread_area, "get_thread_area" }, +#endif +#ifdef __NR_getcpu + { __NR_getcpu, "getcpu" }, +#endif +#ifdef __NR_getcwd + { __NR_getcwd, "getcwd" }, +#endif +#ifdef __NR_getdents + { __NR_getdents, "getdents" }, +#endif +#ifdef __NR_getdents64 + { __NR_getdents64, "getdents64" }, +#endif +#ifdef __NR_getegid + { __NR_getegid, "getegid" }, +#endif +#ifdef __NR_getegid32 + { __NR_getegid32, "getegid32" }, +#endif +#ifdef __NR_geteuid + { __NR_geteuid, "geteuid" }, +#endif +#ifdef __NR_geteuid32 + { __NR_geteuid32, "geteuid32" }, +#endif +#ifdef __NR_getgid + { __NR_getgid, "getgid" }, +#endif +#ifdef __NR_getgid32 + { __NR_getgid32, "getgid32" }, +#endif +#ifdef __NR_getgroups + { __NR_getgroups, "getgroups" }, +#endif +#ifdef __NR_getgroups32 + { __NR_getgroups32, "getgroups32" }, +#endif +#ifdef __NR_getitimer + { __NR_getitimer, "getitimer" }, +#endif +#ifdef __NR_getpeername + { __NR_getpeername, "getpeername" }, +#endif +#ifdef __NR_getpgid + { __NR_getpgid, "getpgid" }, +#endif +#ifdef __NR_getpgrp + { __NR_getpgrp, "getpgrp" }, +#endif +#ifdef __NR_getpid + { __NR_getpid, "getpid" }, +#endif +#ifdef __NR_getpmsg + { __NR_getpmsg, "getpmsg" }, +#endif +#ifdef __NR_getppid + { __NR_getppid, "getppid" }, +#endif +#ifdef __NR_getpriority + { __NR_getpriority, "getpriority" }, +#endif +#ifdef __NR_getresgid + { __NR_getresgid, "getresgid" }, +#endif +#ifdef __NR_getresgid32 + { __NR_getresgid32, "getresgid32" }, +#endif +#ifdef __NR_getresuid + { __NR_getresuid, "getresuid" }, +#endif +#ifdef __NR_getresuid32 + { __NR_getresuid32, "getresuid32" }, +#endif +#ifdef __NR_getrlimit + { __NR_getrlimit, "getrlimit" }, +#endif +#ifdef __NR_getrusage + { __NR_getrusage, "getrusage" }, +#endif +#ifdef __NR_getsid + { __NR_getsid, "getsid" }, +#endif +#ifdef __NR_getsockname + { __NR_getsockname, "getsockname" }, +#endif +#ifdef __NR_getsockopt + { __NR_getsockopt, "getsockopt" }, +#endif +#ifdef __NR_gettid + { __NR_gettid, "gettid" }, +#endif +#ifdef __NR_gettimeofday + { __NR_gettimeofday, "gettimeofday" }, +#endif +#ifdef __NR_getuid + { __NR_getuid, "getuid" }, +#endif +#ifdef __NR_getuid32 + { __NR_getuid32, "getuid32" }, +#endif +#ifdef __NR_getxattr + { __NR_getxattr, "getxattr" }, +#endif +#ifdef __NR_gtty + { __NR_gtty, "gtty" }, +#endif +#ifdef __NR_idle + { __NR_idle, "idle" }, +#endif +#ifdef __NR_init_module + { __NR_init_module, "init_module" }, +#endif +#ifdef __NR_inotify_add_watch + { __NR_inotify_add_watch, "inotify_add_watch" }, +#endif +#ifdef __NR_inotify_init + { __NR_inotify_init, "inotify_init" }, +#endif +#ifdef __NR_inotify_init1 + { __NR_inotify_init1, "inotify_init1" }, +#endif +#ifdef __NR_inotify_rm_watch + { __NR_inotify_rm_watch, "inotify_rm_watch" }, +#endif +#ifdef __NR_io_cancel + { __NR_io_cancel, "io_cancel" }, +#endif +#ifdef __NR_io_destroy + { __NR_io_destroy, "io_destroy" }, +#endif +#ifdef __NR_io_getevents + { __NR_io_getevents, "io_getevents" }, +#endif +#ifdef __NR_io_setup + { __NR_io_setup, "io_setup" }, +#endif +#ifdef __NR_io_submit + { __NR_io_submit, "io_submit" }, +#endif +#ifdef __NR_ioctl + { __NR_ioctl, "ioctl" }, +#endif +#ifdef __NR_ioperm + { __NR_ioperm, "ioperm" }, +#endif +#ifdef __NR_iopl + { __NR_iopl, "iopl" }, +#endif +#ifdef __NR_ioprio_get + { __NR_ioprio_get, "ioprio_get" }, +#endif +#ifdef __NR_ioprio_set + { __NR_ioprio_set, "ioprio_set" }, +#endif +#ifdef __NR_ipc + { __NR_ipc, "ipc" }, +#endif +#ifdef __NR_kcmp + { __NR_kcmp, "kcmp" }, +#endif +#ifdef __NR_kexec_load + { __NR_kexec_load, "kexec_load" }, +#endif +#ifdef __NR_keyctl + { __NR_keyctl, "keyctl" }, +#endif +#ifdef __NR_kill + { __NR_kill, "kill" }, +#endif +#ifdef __NR_lchown + { __NR_lchown, "lchown" }, +#endif +#ifdef __NR_lchown32 + { __NR_lchown32, "lchown32" }, +#endif +#ifdef __NR_lgetxattr + { __NR_lgetxattr, "lgetxattr" }, +#endif +#ifdef __NR_link + { __NR_link, "link" }, +#endif +#ifdef __NR_linkat + { __NR_linkat, "linkat" }, +#endif +#ifdef __NR_listen + { __NR_listen, "listen" }, +#endif +#ifdef __NR_listxattr + { __NR_listxattr, "listxattr" }, +#endif +#ifdef __NR_llistxattr + { __NR_llistxattr, "llistxattr" }, +#endif +#ifdef __NR_lock + { __NR_lock, "lock" }, +#endif +#ifdef __NR_lookup_dcookie + { __NR_lookup_dcookie, "lookup_dcookie" }, +#endif +#ifdef __NR_lremovexattr + { __NR_lremovexattr, "lremovexattr" }, +#endif +#ifdef __NR_lseek + { __NR_lseek, "lseek" }, +#endif +#ifdef __NR_lsetxattr + { __NR_lsetxattr, "lsetxattr" }, +#endif +#ifdef __NR_lstat + { __NR_lstat, "lstat" }, +#endif +#ifdef __NR_lstat64 + { __NR_lstat64, "lstat64" }, +#endif +#ifdef __NR_madvise + { __NR_madvise, "madvise" }, +#endif +#ifdef __NR_mbind + { __NR_mbind, "mbind" }, +#endif +#ifdef __NR_migrate_pages + { __NR_migrate_pages, "migrate_pages" }, +#endif +#ifdef __NR_mincore + { __NR_mincore, "mincore" }, +#endif +#ifdef __NR_mkdir + { __NR_mkdir, "mkdir" }, +#endif +#ifdef __NR_mkdirat + { __NR_mkdirat, "mkdirat" }, +#endif +#ifdef __NR_mknod + { __NR_mknod, "mknod" }, +#endif +#ifdef __NR_mknodat + { __NR_mknodat, "mknodat" }, +#endif +#ifdef __NR_mlock + { __NR_mlock, "mlock" }, +#endif +#ifdef __NR_mlockall + { __NR_mlockall, "mlockall" }, +#endif +#ifdef __NR_mmap + { __NR_mmap, "mmap" }, +#endif +#ifdef __NR_mmap2 + { __NR_mmap2, "mmap2" }, +#endif +#ifdef __NR_modify_ldt + { __NR_modify_ldt, "modify_ldt" }, +#endif +#ifdef __NR_mount + { __NR_mount, "mount" }, +#endif +#ifdef __NR_move_pages + { __NR_move_pages, "move_pages" }, +#endif +#ifdef __NR_mprotect + { __NR_mprotect, "mprotect" }, +#endif +#ifdef __NR_mpx + { __NR_mpx, "mpx" }, +#endif +#ifdef __NR_mq_getsetattr + { __NR_mq_getsetattr, "mq_getsetattr" }, +#endif +#ifdef __NR_mq_notify + { __NR_mq_notify, "mq_notify" }, +#endif +#ifdef __NR_mq_open + { __NR_mq_open, "mq_open" }, +#endif +#ifdef __NR_mq_timedreceive + { __NR_mq_timedreceive, "mq_timedreceive" }, +#endif +#ifdef __NR_mq_timedsend + { __NR_mq_timedsend, "mq_timedsend" }, +#endif +#ifdef __NR_mq_unlink + { __NR_mq_unlink, "mq_unlink" }, +#endif +#ifdef __NR_mremap + { __NR_mremap, "mremap" }, +#endif +#ifdef __NR_msgctl + { __NR_msgctl, "msgctl" }, +#endif +#ifdef __NR_msgget + { __NR_msgget, "msgget" }, +#endif +#ifdef __NR_msgrcv + { __NR_msgrcv, "msgrcv" }, +#endif +#ifdef __NR_msgsnd + { __NR_msgsnd, "msgsnd" }, +#endif +#ifdef __NR_msync + { __NR_msync, "msync" }, +#endif +#ifdef __NR_munlock + { __NR_munlock, "munlock" }, +#endif +#ifdef __NR_munlockall + { __NR_munlockall, "munlockall" }, +#endif +#ifdef __NR_munmap + { __NR_munmap, "munmap" }, +#endif +#ifdef __NR_name_to_handle_at + { __NR_name_to_handle_at, "name_to_handle_at" }, +#endif +#ifdef __NR_nanosleep + { __NR_nanosleep, "nanosleep" }, +#endif +#ifdef __NR_newfstatat + { __NR_newfstatat, "newfstatat" }, +#endif +#ifdef __NR_nfsservctl + { __NR_nfsservctl, "nfsservctl" }, +#endif +#ifdef __NR_nice + { __NR_nice, "nice" }, +#endif +#ifdef __NR_oldfstat + { __NR_oldfstat, "oldfstat" }, +#endif +#ifdef __NR_oldlstat + { __NR_oldlstat, "oldlstat" }, +#endif +#ifdef __NR_oldolduname + { __NR_oldolduname, "oldolduname" }, +#endif +#ifdef __NR_oldstat + { __NR_oldstat, "oldstat" }, +#endif +#ifdef __NR_olduname + { __NR_olduname, "olduname" }, +#endif +#ifdef __NR_open + { __NR_open, "open" }, +#endif +#ifdef __NR_open_by_handle_at + { __NR_open_by_handle_at, "open_by_handle_at" }, +#endif +#ifdef __NR_openat + { __NR_openat, "openat" }, +#endif +#ifdef __NR_pause + { __NR_pause, "pause" }, +#endif +#ifdef __NR_perf_event_open + { __NR_perf_event_open, "perf_event_open" }, +#endif +#ifdef __NR_personality + { __NR_personality, "personality" }, +#endif +#ifdef __NR_pipe + { __NR_pipe, "pipe" }, +#endif +#ifdef __NR_pipe2 + { __NR_pipe2, "pipe2" }, +#endif +#ifdef __NR_pivot_root + { __NR_pivot_root, "pivot_root" }, +#endif +#ifdef __NR_poll + { __NR_poll, "poll" }, +#endif +#ifdef __NR_ppoll + { __NR_ppoll, "ppoll" }, +#endif +#ifdef __NR_prctl + { __NR_prctl, "prctl" }, +#endif +#ifdef __NR_pread64 + { __NR_pread64, "pread64" }, +#endif +#ifdef __NR_preadv + { __NR_preadv, "preadv" }, +#endif +#ifdef __NR_prlimit64 + { __NR_prlimit64, "prlimit64" }, +#endif +#ifdef __NR_process_vm_readv + { __NR_process_vm_readv, "process_vm_readv" }, +#endif +#ifdef __NR_process_vm_writev + { __NR_process_vm_writev, "process_vm_writev" }, +#endif +#ifdef __NR_prof + { __NR_prof, "prof" }, +#endif +#ifdef __NR_profil + { __NR_profil, "profil" }, +#endif +#ifdef __NR_pselect6 + { __NR_pselect6, "pselect6" }, +#endif +#ifdef __NR_ptrace + { __NR_ptrace, "ptrace" }, +#endif +#ifdef __NR_putpmsg + { __NR_putpmsg, "putpmsg" }, +#endif +#ifdef __NR_pwrite64 + { __NR_pwrite64, "pwrite64" }, +#endif +#ifdef __NR_pwritev + { __NR_pwritev, "pwritev" }, +#endif +#ifdef __NR_query_module + { __NR_query_module, "query_module" }, +#endif +#ifdef __NR_quotactl + { __NR_quotactl, "quotactl" }, +#endif +#ifdef __NR_read + { __NR_read, "read" }, +#endif +#ifdef __NR_readahead + { __NR_readahead, "readahead" }, +#endif +#ifdef __NR_readdir + { __NR_readdir, "readdir" }, +#endif +#ifdef __NR_readlink + { __NR_readlink, "readlink" }, +#endif +#ifdef __NR_readlinkat + { __NR_readlinkat, "readlinkat" }, +#endif +#ifdef __NR_readv + { __NR_readv, "readv" }, +#endif +#ifdef __NR_reboot + { __NR_reboot, "reboot" }, +#endif +#ifdef __NR_recvfrom + { __NR_recvfrom, "recvfrom" }, +#endif +#ifdef __NR_recvmmsg + { __NR_recvmmsg, "recvmmsg" }, +#endif +#ifdef __NR_recvmsg + { __NR_recvmsg, "recvmsg" }, +#endif +#ifdef __NR_remap_file_pages + { __NR_remap_file_pages, "remap_file_pages" }, +#endif +#ifdef __NR_removexattr + { __NR_removexattr, "removexattr" }, +#endif +#ifdef __NR_rename + { __NR_rename, "rename" }, +#endif +#ifdef __NR_renameat + { __NR_renameat, "renameat" }, +#endif +#ifdef __NR_request_key + { __NR_request_key, "request_key" }, +#endif +#ifdef __NR_restart_syscall + { __NR_restart_syscall, "restart_syscall" }, +#endif +#ifdef __NR_rmdir + { __NR_rmdir, "rmdir" }, +#endif +#ifdef __NR_rt_sigaction + { __NR_rt_sigaction, "rt_sigaction" }, +#endif +#ifdef __NR_rt_sigpending + { __NR_rt_sigpending, "rt_sigpending" }, +#endif +#ifdef __NR_rt_sigprocmask + { __NR_rt_sigprocmask, "rt_sigprocmask" }, +#endif +#ifdef __NR_rt_sigqueueinfo + { __NR_rt_sigqueueinfo, "rt_sigqueueinfo" }, +#endif +#ifdef __NR_rt_sigreturn + { __NR_rt_sigreturn, "rt_sigreturn" }, +#endif +#ifdef __NR_rt_sigsuspend + { __NR_rt_sigsuspend, "rt_sigsuspend" }, +#endif +#ifdef __NR_rt_sigtimedwait + { __NR_rt_sigtimedwait, "rt_sigtimedwait" }, +#endif +#ifdef __NR_rt_tgsigqueueinfo + { __NR_rt_tgsigqueueinfo, "rt_tgsigqueueinfo" }, +#endif +#ifdef __NR_sched_get_priority_max + { __NR_sched_get_priority_max, "sched_get_priority_max" }, +#endif +#ifdef __NR_sched_get_priority_min + { __NR_sched_get_priority_min, "sched_get_priority_min" }, +#endif +#ifdef __NR_sched_getaffinity + { __NR_sched_getaffinity, "sched_getaffinity" }, +#endif +#ifdef __NR_sched_getparam + { __NR_sched_getparam, "sched_getparam" }, +#endif +#ifdef __NR_sched_getscheduler + { __NR_sched_getscheduler, "sched_getscheduler" }, +#endif +#ifdef __NR_sched_rr_get_interval + { __NR_sched_rr_get_interval, "sched_rr_get_interval" }, +#endif +#ifdef __NR_sched_setaffinity + { __NR_sched_setaffinity, "sched_setaffinity" }, +#endif +#ifdef __NR_sched_setparam + { __NR_sched_setparam, "sched_setparam" }, +#endif +#ifdef __NR_sched_setscheduler + { __NR_sched_setscheduler, "sched_setscheduler" }, +#endif +#ifdef __NR_sched_yield + { __NR_sched_yield, "sched_yield" }, +#endif +#ifdef __NR_security + { __NR_security, "security" }, +#endif +#ifdef __NR_select + { __NR_select, "select" }, +#endif +#ifdef __NR_semctl + { __NR_semctl, "semctl" }, +#endif +#ifdef __NR_semget + { __NR_semget, "semget" }, +#endif +#ifdef __NR_semop + { __NR_semop, "semop" }, +#endif +#ifdef __NR_semtimedop + { __NR_semtimedop, "semtimedop" }, +#endif +#ifdef __NR_sendfile + { __NR_sendfile, "sendfile" }, +#endif +#ifdef __NR_sendfile64 + { __NR_sendfile64, "sendfile64" }, +#endif +#ifdef __NR_sendmmsg + { __NR_sendmmsg, "sendmmsg" }, +#endif +#ifdef __NR_sendmsg + { __NR_sendmsg, "sendmsg" }, +#endif +#ifdef __NR_sendto + { __NR_sendto, "sendto" }, +#endif +#ifdef __NR_set_mempolicy + { __NR_set_mempolicy, "set_mempolicy" }, +#endif +#ifdef __NR_set_robust_list + { __NR_set_robust_list, "set_robust_list" }, +#endif +#ifdef __NR_set_thread_area + { __NR_set_thread_area, "set_thread_area" }, +#endif +#ifdef __NR_set_tid_address + { __NR_set_tid_address, "set_tid_address" }, +#endif +#ifdef __NR_setdomainname + { __NR_setdomainname, "setdomainname" }, +#endif +#ifdef __NR_setfsgid + { __NR_setfsgid, "setfsgid" }, +#endif +#ifdef __NR_setfsgid32 + { __NR_setfsgid32, "setfsgid32" }, +#endif +#ifdef __NR_setfsuid + { __NR_setfsuid, "setfsuid" }, +#endif +#ifdef __NR_setfsuid32 + { __NR_setfsuid32, "setfsuid32" }, +#endif +#ifdef __NR_setgid + { __NR_setgid, "setgid" }, +#endif +#ifdef __NR_setgid32 + { __NR_setgid32, "setgid32" }, +#endif +#ifdef __NR_setgroups + { __NR_setgroups, "setgroups" }, +#endif +#ifdef __NR_setgroups32 + { __NR_setgroups32, "setgroups32" }, +#endif +#ifdef __NR_sethostname + { __NR_sethostname, "sethostname" }, +#endif +#ifdef __NR_setitimer + { __NR_setitimer, "setitimer" }, +#endif +#ifdef __NR_setns + { __NR_setns, "setns" }, +#endif +#ifdef __NR_setpgid + { __NR_setpgid, "setpgid" }, +#endif +#ifdef __NR_setpriority + { __NR_setpriority, "setpriority" }, +#endif +#ifdef __NR_setregid + { __NR_setregid, "setregid" }, +#endif +#ifdef __NR_setregid32 + { __NR_setregid32, "setregid32" }, +#endif +#ifdef __NR_setresgid + { __NR_setresgid, "setresgid" }, +#endif +#ifdef __NR_setresgid32 + { __NR_setresgid32, "setresgid32" }, +#endif +#ifdef __NR_setresuid + { __NR_setresuid, "setresuid" }, +#endif +#ifdef __NR_setresuid32 + { __NR_setresuid32, "setresuid32" }, +#endif +#ifdef __NR_setreuid + { __NR_setreuid, "setreuid" }, +#endif +#ifdef __NR_setreuid32 + { __NR_setreuid32, "setreuid32" }, +#endif +#ifdef __NR_setrlimit + { __NR_setrlimit, "setrlimit" }, +#endif +#ifdef __NR_setsid + { __NR_setsid, "setsid" }, +#endif +#ifdef __NR_setsockopt + { __NR_setsockopt, "setsockopt" }, +#endif +#ifdef __NR_settimeofday + { __NR_settimeofday, "settimeofday" }, +#endif +#ifdef __NR_setuid + { __NR_setuid, "setuid" }, +#endif +#ifdef __NR_setuid32 + { __NR_setuid32, "setuid32" }, +#endif +#ifdef __NR_setxattr + { __NR_setxattr, "setxattr" }, +#endif +#ifdef __NR_sgetmask + { __NR_sgetmask, "sgetmask" }, +#endif +#ifdef __NR_shmat + { __NR_shmat, "shmat" }, +#endif +#ifdef __NR_shmctl + { __NR_shmctl, "shmctl" }, +#endif +#ifdef __NR_shmdt + { __NR_shmdt, "shmdt" }, +#endif +#ifdef __NR_shmget + { __NR_shmget, "shmget" }, +#endif +#ifdef __NR_shutdown + { __NR_shutdown, "shutdown" }, +#endif +#ifdef __NR_sigaction + { __NR_sigaction, "sigaction" }, +#endif +#ifdef __NR_sigaltstack + { __NR_sigaltstack, "sigaltstack" }, +#endif +#ifdef __NR_signal + { __NR_signal, "signal" }, +#endif +#ifdef __NR_signalfd + { __NR_signalfd, "signalfd" }, +#endif +#ifdef __NR_signalfd4 + { __NR_signalfd4, "signalfd4" }, +#endif +#ifdef __NR_sigpending + { __NR_sigpending, "sigpending" }, +#endif +#ifdef __NR_sigprocmask + { __NR_sigprocmask, "sigprocmask" }, +#endif +#ifdef __NR_sigreturn + { __NR_sigreturn, "sigreturn" }, +#endif +#ifdef __NR_sigsuspend + { __NR_sigsuspend, "sigsuspend" }, +#endif +#ifdef __NR_socket + { __NR_socket, "socket" }, +#endif +#ifdef __NR_socketcall + { __NR_socketcall, "socketcall" }, +#endif +#ifdef __NR_socketpair + { __NR_socketpair, "socketpair" }, +#endif +#ifdef __NR_splice + { __NR_splice, "splice" }, +#endif +#ifdef __NR_ssetmask + { __NR_ssetmask, "ssetmask" }, +#endif +#ifdef __NR_stat + { __NR_stat, "stat" }, +#endif +#ifdef __NR_stat64 + { __NR_stat64, "stat64" }, +#endif +#ifdef __NR_statfs + { __NR_statfs, "statfs" }, +#endif +#ifdef __NR_statfs64 + { __NR_statfs64, "statfs64" }, +#endif +#ifdef __NR_stime + { __NR_stime, "stime" }, +#endif +#ifdef __NR_stty + { __NR_stty, "stty" }, +#endif +#ifdef __NR_swapoff + { __NR_swapoff, "swapoff" }, +#endif +#ifdef __NR_swapon + { __NR_swapon, "swapon" }, +#endif +#ifdef __NR_symlink + { __NR_symlink, "symlink" }, +#endif +#ifdef __NR_symlinkat + { __NR_symlinkat, "symlinkat" }, +#endif +#ifdef __NR_sync + { __NR_sync, "sync" }, +#endif +#ifdef __NR_sync_file_range + { __NR_sync_file_range, "sync_file_range" }, +#endif +#ifdef __NR_syncfs + { __NR_syncfs, "syncfs" }, +#endif +#ifdef __NR_sysfs + { __NR_sysfs, "sysfs" }, +#endif +#ifdef __NR_sysinfo + { __NR_sysinfo, "sysinfo" }, +#endif +#ifdef __NR_syslog + { __NR_syslog, "syslog" }, +#endif +#ifdef __NR_tee + { __NR_tee, "tee" }, +#endif +#ifdef __NR_tgkill + { __NR_tgkill, "tgkill" }, +#endif +#ifdef __NR_time + { __NR_time, "time" }, +#endif +#ifdef __NR_timer_create + { __NR_timer_create, "timer_create" }, +#endif +#ifdef __NR_timer_delete + { __NR_timer_delete, "timer_delete" }, +#endif +#ifdef __NR_timer_getoverrun + { __NR_timer_getoverrun, "timer_getoverrun" }, +#endif +#ifdef __NR_timer_gettime + { __NR_timer_gettime, "timer_gettime" }, +#endif +#ifdef __NR_timer_settime + { __NR_timer_settime, "timer_settime" }, +#endif +#ifdef __NR_timerfd_create + { __NR_timerfd_create, "timerfd_create" }, +#endif +#ifdef __NR_timerfd_gettime + { __NR_timerfd_gettime, "timerfd_gettime" }, +#endif +#ifdef __NR_timerfd_settime + { __NR_timerfd_settime, "timerfd_settime" }, +#endif +#ifdef __NR_times + { __NR_times, "times" }, +#endif +#ifdef __NR_tkill + { __NR_tkill, "tkill" }, +#endif +#ifdef __NR_truncate + { __NR_truncate, "truncate" }, +#endif +#ifdef __NR_truncate64 + { __NR_truncate64, "truncate64" }, +#endif +#ifdef __NR_tuxcall + { __NR_tuxcall, "tuxcall" }, +#endif +#ifdef __NR_ugetrlimit + { __NR_ugetrlimit, "ugetrlimit" }, +#endif +#ifdef __NR_ulimit + { __NR_ulimit, "ulimit" }, +#endif +#ifdef __NR_umask + { __NR_umask, "umask" }, +#endif +#ifdef __NR_umount + { __NR_umount, "umount" }, +#endif +#ifdef __NR_umount2 + { __NR_umount2, "umount2" }, +#endif +#ifdef __NR_uname + { __NR_uname, "uname" }, +#endif +#ifdef __NR_unlink + { __NR_unlink, "unlink" }, +#endif +#ifdef __NR_unlinkat + { __NR_unlinkat, "unlinkat" }, +#endif +#ifdef __NR_unshare + { __NR_unshare, "unshare" }, +#endif +#ifdef __NR_uselib + { __NR_uselib, "uselib" }, +#endif +#ifdef __NR_ustat + { __NR_ustat, "ustat" }, +#endif +#ifdef __NR_utime + { __NR_utime, "utime" }, +#endif +#ifdef __NR_utimensat + { __NR_utimensat, "utimensat" }, +#endif +#ifdef __NR_utimes + { __NR_utimes, "utimes" }, +#endif +#ifdef __NR_vfork + { __NR_vfork, "vfork" }, +#endif +#ifdef __NR_vhangup + { __NR_vhangup, "vhangup" }, +#endif +#ifdef __NR_vm86 + { __NR_vm86, "vm86" }, +#endif +#ifdef __NR_vm86old + { __NR_vm86old, "vm86old" }, +#endif +#ifdef __NR_vmsplice + { __NR_vmsplice, "vmsplice" }, +#endif +#ifdef __NR_vserver + { __NR_vserver, "vserver" }, +#endif +#ifdef __NR_wait4 + { __NR_wait4, "wait4" }, +#endif +#ifdef __NR_waitid + { __NR_waitid, "waitid" }, +#endif +#ifdef __NR_waitpid + { __NR_waitpid, "waitpid" }, +#endif +#ifdef __NR_write + { __NR_write, "write" }, +#endif +#ifdef __NR_writev + { __NR_writev, "writev" }, +#endif + {0, NULL} +}; + diff --git a/src/common/log.c b/src/common/log.c index 9c67de320b..592dc2c5d4 100644 --- a/src/common/log.c +++ b/src/common/log.c @@ -147,9 +147,6 @@ static INLINE char *format_msg(char *buf, size_t buf_len, const char *suffix, const char *format, va_list ap, size_t *msg_len_out) CHECK_PRINTF(7,0); -static void logv(int severity, log_domain_mask_t domain, const char *funcname, - const char *suffix, const char *format, va_list ap) - CHECK_PRINTF(5,0); /** Name of the application: used to generate the message we write at the * start of each new log. */ @@ -336,9 +333,9 @@ format_msg(char *buf, size_t buf_len, * <b>severity</b>. If provided, <b>funcname</b> is prepended to the * message. The actual message is derived as from tor_snprintf(format,ap). */ -static void -logv(int severity, log_domain_mask_t domain, const char *funcname, - const char *suffix, const char *format, va_list ap) +MOCK_IMPL(STATIC void, +logv,(int severity, log_domain_mask_t domain, const char *funcname, + const char *suffix, const char *format, va_list ap)) { char buf[10024]; size_t msg_len = 0; @@ -1279,38 +1276,3 @@ switch_logs_debug(void) UNLOCK_LOGS(); } -#if 0 -static void -dump_log_info(logfile_t *lf) -{ - const char *tp; - - if (lf->filename) { - printf("=== log into \"%s\" (%s-%s) (%stemporary)\n", lf->filename, - sev_to_string(lf->min_loglevel), - sev_to_string(lf->max_loglevel), - lf->is_temporary?"":"not "); - } else if (lf->is_syslog) { - printf("=== syslog (%s-%s) (%stemporary)\n", - sev_to_string(lf->min_loglevel), - sev_to_string(lf->max_loglevel), - lf->is_temporary?"":"not "); - } else { - printf("=== log (%s-%s) (%stemporary)\n", - sev_to_string(lf->min_loglevel), - sev_to_string(lf->max_loglevel), - lf->is_temporary?"":"not "); - } -} - -void -describe_logs(void) -{ - logfile_t *lf; - printf("==== BEGIN LOGS ====\n"); - for (lf = logfiles; lf; lf = lf->next) - dump_log_info(lf); - printf("==== END LOGS ====\n"); -} -#endif - diff --git a/src/common/memarea.c b/src/common/memarea.c index 0ae0ccca1d..bcaea0949e 100644 --- a/src/common/memarea.c +++ b/src/common/memarea.c @@ -29,6 +29,13 @@ #error "void* is neither 4 nor 8 bytes long. I don't know how to align stuff." #endif +#if defined(__GNUC__) && defined(FLEXIBLE_ARRAY_MEMBER) +#define USE_ALIGNED_ATTRIBUTE +#define U_MEM mem +#else +#define U_MEM u.mem +#endif + #ifdef USE_SENTINELS /** Magic value that we stick at the end of a memarea so we can make sure * there are no run-off-the-end bugs. */ @@ -39,12 +46,12 @@ * end, set those bytes. */ #define SET_SENTINEL(chunk) \ STMT_BEGIN \ - set_uint32( &(chunk)->u.mem[chunk->mem_size], SENTINEL_VAL ); \ + set_uint32( &(chunk)->U_MEM[chunk->mem_size], SENTINEL_VAL ); \ STMT_END /** Assert that the sentinel on a memarea is set correctly. */ #define CHECK_SENTINEL(chunk) \ STMT_BEGIN \ - uint32_t sent_val = get_uint32(&(chunk)->u.mem[chunk->mem_size]); \ + uint32_t sent_val = get_uint32(&(chunk)->U_MEM[chunk->mem_size]); \ tor_assert(sent_val == SENTINEL_VAL); \ STMT_END #else @@ -71,19 +78,23 @@ realign_pointer(void *ptr) typedef struct memarea_chunk_t { /** Next chunk in this area. Only kept around so we can free it. */ struct memarea_chunk_t *next_chunk; - size_t mem_size; /**< How much RAM is available in u.mem, total? */ - char *next_mem; /**< Next position in u.mem to allocate data at. If it's + size_t mem_size; /**< How much RAM is available in mem, total? */ + char *next_mem; /**< Next position in mem to allocate data at. If it's * greater than or equal to mem+mem_size, this chunk is * full. */ +#ifdef USE_ALIGNED_ATTRIBUTE + char mem[FLEXIBLE_ARRAY_MEMBER] __attribute__((aligned(MEMAREA_ALIGN))); +#else union { char mem[1]; /**< Memory space in this chunk. */ void *void_for_alignment_; /**< Dummy; used to make sure mem is aligned. */ } u; +#endif } memarea_chunk_t; /** How many bytes are needed for overhead before we get to the memory part * of a chunk? */ -#define CHUNK_HEADER_SIZE STRUCT_OFFSET(memarea_chunk_t, u) +#define CHUNK_HEADER_SIZE STRUCT_OFFSET(memarea_chunk_t, U_MEM) /** What's the smallest that we'll allocate a chunk? */ #define CHUNK_SIZE 4096 @@ -121,7 +132,7 @@ alloc_chunk(size_t sz, int freelist_ok) res = tor_malloc(chunk_size); res->next_chunk = NULL; res->mem_size = chunk_size - CHUNK_HEADER_SIZE - SENTINEL_LEN; - res->next_mem = res->u.mem; + res->next_mem = res->U_MEM; tor_assert(res->next_mem+res->mem_size+SENTINEL_LEN == ((char*)res)+chunk_size); tor_assert(realign_pointer(res->next_mem) == res->next_mem); @@ -140,7 +151,7 @@ chunk_free_unchecked(memarea_chunk_t *chunk) ++freelist_len; chunk->next_chunk = freelist; freelist = chunk; - chunk->next_mem = chunk->u.mem; + chunk->next_mem = chunk->U_MEM; } else { tor_free(chunk); } @@ -183,7 +194,7 @@ memarea_clear(memarea_t *area) } area->first->next_chunk = NULL; } - area->first->next_mem = area->first->u.mem; + area->first->next_mem = area->first->U_MEM; } /** Remove all unused memarea chunks from the internal freelist. */ @@ -207,7 +218,7 @@ memarea_owns_ptr(const memarea_t *area, const void *p) memarea_chunk_t *chunk; const char *ptr = p; for (chunk = area->first; chunk; chunk = chunk->next_chunk) { - if (ptr >= chunk->u.mem && ptr < chunk->next_mem) + if (ptr >= chunk->U_MEM && ptr < chunk->next_mem) return 1; } return 0; @@ -226,7 +237,7 @@ memarea_alloc(memarea_t *area, size_t sz) tor_assert(sz < SIZE_T_CEILING); if (sz == 0) sz = 1; - if (chunk->next_mem+sz > chunk->u.mem+chunk->mem_size) { + if (chunk->next_mem+sz > chunk->U_MEM+chunk->mem_size) { if (sz+CHUNK_HEADER_SIZE >= CHUNK_SIZE) { /* This allocation is too big. Stick it in a special chunk, and put * that chunk second in the list. */ @@ -244,8 +255,8 @@ memarea_alloc(memarea_t *area, size_t sz) result = chunk->next_mem; chunk->next_mem = chunk->next_mem + sz; /* Reinstate these if bug 930 ever comes back - tor_assert(chunk->next_mem >= chunk->u.mem); - tor_assert(chunk->next_mem <= chunk->u.mem+chunk->mem_size); + tor_assert(chunk->next_mem >= chunk->U_MEM); + tor_assert(chunk->next_mem <= chunk->U_MEM+chunk->mem_size); */ chunk->next_mem = realign_pointer(chunk->next_mem); return result; @@ -280,14 +291,11 @@ memarea_strdup(memarea_t *area, const char *s) char * memarea_strndup(memarea_t *area, const char *s, size_t n) { - size_t ln; + size_t ln = 0; char *result; - const char *cp, *end = s+n; tor_assert(n < SIZE_T_CEILING); - for (cp = s; cp < end && *cp; ++cp) + for (ln = 0; ln < n && s[ln]; ++ln) ; - /* cp now points to s+n, or to the 0 in the string. */ - ln = cp-s; result = memarea_alloc(area, ln+1); memcpy(result, s, ln); result[ln]='\0'; @@ -304,8 +312,8 @@ memarea_get_stats(memarea_t *area, size_t *allocated_out, size_t *used_out) for (chunk = area->first; chunk; chunk = chunk->next_chunk) { CHECK_SENTINEL(chunk); a += CHUNK_HEADER_SIZE + chunk->mem_size; - tor_assert(chunk->next_mem >= chunk->u.mem); - u += CHUNK_HEADER_SIZE + (chunk->next_mem - chunk->u.mem); + tor_assert(chunk->next_mem >= chunk->U_MEM); + u += CHUNK_HEADER_SIZE + (chunk->next_mem - chunk->U_MEM); } *allocated_out = a; *used_out = u; @@ -320,9 +328,9 @@ memarea_assert_ok(memarea_t *area) for (chunk = area->first; chunk; chunk = chunk->next_chunk) { CHECK_SENTINEL(chunk); - tor_assert(chunk->next_mem >= chunk->u.mem); + tor_assert(chunk->next_mem >= chunk->U_MEM); tor_assert(chunk->next_mem <= - (char*) realign_pointer(chunk->u.mem+chunk->mem_size)); + (char*) realign_pointer(chunk->U_MEM+chunk->mem_size)); } } diff --git a/src/common/sandbox.c b/src/common/sandbox.c index 6b78748834..8516c754f3 100644 --- a/src/common/sandbox.c +++ b/src/common/sandbox.c @@ -27,6 +27,7 @@ #include <stdlib.h> #include "sandbox.h" +#include "container.h" #include "torlog.h" #include "torint.h" #include "util.h" @@ -46,7 +47,6 @@ #include <sys/prctl.h> #include <linux/futex.h> #include <bits/signum.h> -#include <event2/event.h> #include <stdarg.h> #include <seccomp.h> @@ -56,6 +56,17 @@ #include <time.h> #include <poll.h> +#if defined(HAVE_EXECINFO_H) && defined(HAVE_BACKTRACE) && \ + defined(HAVE_BACKTRACE_SYMBOLS_FD) && defined(HAVE_SIGACTION) +#define USE_BACKTRACE +#define EXPOSE_CLEAN_BACKTRACE +#include "backtrace.h" +#endif + +#ifdef USE_BACKTRACE +#include <execinfo.h> +#endif + /**Determines if at least one sandbox is active.*/ static int sandbox_active = 0; /** Holds the parameter list configuration for the sandbox.*/ @@ -65,6 +76,13 @@ static sb_addr_info_t *sb_addr_info = NULL; #undef SCMP_CMP #define SCMP_CMP(a,b,c) ((struct scmp_arg_cmp){(a),(b),(c),0}) +#define SCMP_CMP4(a,b,c,d) ((struct scmp_arg_cmp){(a),(b),(c),(d)}) +/* We use a wrapper here because these masked comparisons seem to be pretty + * verbose. Also, it's important to cast to scmp_datum_t before negating the + * mask, since otherwise the negation might get applied to a 32 bit value, and + * the high bits of the value might get masked out improperly. */ +#define SCMP_CMP_MASKED(a,b,c) \ + SCMP_CMP4((a), SCMP_CMP_MASKED_EQ, ~(scmp_datum_t)(b), (c)) /** Variable used for storing all syscall numbers that will be allowed with the * stage 1 general Tor sandbox. @@ -110,7 +128,6 @@ static int filter_nopar_gen[] = { SCMP_SYS(mmap), SCMP_SYS(munmap), SCMP_SYS(read), - SCMP_SYS(rename), SCMP_SYS(rt_sigreturn), SCMP_SYS(set_robust_list), #ifdef __NR_sigreturn @@ -119,6 +136,7 @@ static int filter_nopar_gen[] = { SCMP_SYS(stat), SCMP_SYS(uname), SCMP_SYS(write), + SCMP_SYS(writev), SCMP_SYS(exit_group), SCMP_SYS(exit), @@ -147,6 +165,19 @@ static int filter_nopar_gen[] = { SCMP_SYS(unlink) }; +/* These macros help avoid the error where the number of filters we add on a + * single rule don't match the arg_cnt param. */ +#define seccomp_rule_add_0(ctx,act,call) \ + seccomp_rule_add((ctx),(act),(call),0) +#define seccomp_rule_add_1(ctx,act,call,f1) \ + seccomp_rule_add((ctx),(act),(call),1,(f1)) +#define seccomp_rule_add_2(ctx,act,call,f1,f2) \ + seccomp_rule_add((ctx),(act),(call),2,(f1),(f2)) +#define seccomp_rule_add_3(ctx,act,call,f1,f2,f3) \ + seccomp_rule_add((ctx),(act),(call),3,(f1),(f2),(f3)) +#define seccomp_rule_add_4(ctx,act,call,f1,f2,f3,f4) \ + seccomp_rule_add((ctx),(act),(call),4,(f1),(f2),(f3),(f4)) + /** * Function responsible for setting up the rt_sigaction syscall for * the seccomp filter sandbox. @@ -164,7 +195,7 @@ sb_rt_sigaction(scmp_filter_ctx ctx, sandbox_cfg_t *filter) (void) filter; for (i = 0; i < ARRAY_LENGTH(param); i++) { - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(rt_sigaction), 1, + rc = seccomp_rule_add_1(ctx, SCMP_ACT_ALLOW, SCMP_SYS(rt_sigaction), SCMP_CMP(0, SCMP_CMP_EQ, param[i])); if (rc) break; @@ -185,11 +216,11 @@ sb_execve(scmp_filter_ctx ctx, sandbox_cfg_t *filter) // for each dynamic parameter filters for (elem = filter; elem != NULL; elem = elem->next) { - smp_param_t *param = (smp_param_t*) elem->param; + smp_param_t *param = elem->param; if (param != NULL && param->prot == 1 && param->syscall == SCMP_SYS(execve)) { - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(execve), 1, + rc = seccomp_rule_add_1(ctx, SCMP_ACT_ALLOW, SCMP_SYS(execve), SCMP_CMP(0, SCMP_CMP_EQ, param->value)); if (rc != 0) { log_err(LD_BUG,"(Sandbox) failed to add execve syscall, received " @@ -210,7 +241,7 @@ static int sb_time(scmp_filter_ctx ctx, sandbox_cfg_t *filter) { (void) filter; - return seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(time), 1, + return seccomp_rule_add_1(ctx, SCMP_ACT_ALLOW, SCMP_SYS(time), SCMP_CMP(0, SCMP_CMP_EQ, 0)); } @@ -225,15 +256,15 @@ sb_accept4(scmp_filter_ctx ctx, sandbox_cfg_t *filter) (void)filter; #ifdef __i386__ - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(socketcall), 1, + rc = seccomp_rule_add_1(ctx, SCMP_ACT_ALLOW, SCMP_SYS(socketcall), SCMP_CMP(0, SCMP_CMP_EQ, 18)); if (rc) { return rc; } #endif - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(accept4), 1, - SCMP_CMP(3, SCMP_CMP_EQ, SOCK_CLOEXEC)); + rc = seccomp_rule_add_1(ctx, SCMP_ACT_ALLOW, SCMP_SYS(accept4), + SCMP_CMP_MASKED(3, SOCK_CLOEXEC|SOCK_NONBLOCK, 0)); if (rc) { return rc; } @@ -252,49 +283,49 @@ sb_mmap2(scmp_filter_ctx ctx, sandbox_cfg_t *filter) int rc = 0; (void)filter; - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mmap2), 2, + rc = seccomp_rule_add_2(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mmap2), SCMP_CMP(2, SCMP_CMP_EQ, PROT_READ), SCMP_CMP(3, SCMP_CMP_EQ, MAP_PRIVATE)); if (rc) { return rc; } - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mmap2), 2, + rc = seccomp_rule_add_2(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mmap2), SCMP_CMP(2, SCMP_CMP_EQ, PROT_NONE), SCMP_CMP(3, SCMP_CMP_EQ, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE)); if (rc) { return rc; } - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mmap2), 2, + rc = seccomp_rule_add_2(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mmap2), SCMP_CMP(2, SCMP_CMP_EQ, PROT_READ|PROT_WRITE), SCMP_CMP(3, SCMP_CMP_EQ, MAP_PRIVATE|MAP_ANONYMOUS)); if (rc) { return rc; } - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mmap2), 2, + rc = seccomp_rule_add_2(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mmap2), SCMP_CMP(2, SCMP_CMP_EQ, PROT_READ|PROT_WRITE), SCMP_CMP(3, SCMP_CMP_EQ,MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK)); if (rc) { return rc; } - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mmap2), 2, + rc = seccomp_rule_add_2(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mmap2), SCMP_CMP(2, SCMP_CMP_EQ, PROT_READ|PROT_WRITE), SCMP_CMP(3, SCMP_CMP_EQ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE)); if (rc) { return rc; } - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mmap2), 2, + rc = seccomp_rule_add_2(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mmap2), SCMP_CMP(2, SCMP_CMP_EQ, PROT_READ|PROT_WRITE), SCMP_CMP(3, SCMP_CMP_EQ, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS)); if (rc) { return rc; } - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mmap2), 2, + rc = seccomp_rule_add_2(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mmap2), SCMP_CMP(2, SCMP_CMP_EQ, PROT_READ|PROT_EXEC), SCMP_CMP(3, SCMP_CMP_EQ, MAP_PRIVATE|MAP_DENYWRITE)); if (rc) { @@ -321,7 +352,7 @@ sb_open(scmp_filter_ctx ctx, sandbox_cfg_t *filter) if (param != NULL && param->prot == 1 && param->syscall == SCMP_SYS(open)) { - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(open), 1, + rc = seccomp_rule_add_1(ctx, SCMP_ACT_ALLOW, SCMP_SYS(open), SCMP_CMP(0, SCMP_CMP_EQ, param->value)); if (rc != 0) { log_err(LD_BUG,"(Sandbox) failed to add open syscall, received " @@ -331,8 +362,8 @@ sb_open(scmp_filter_ctx ctx, sandbox_cfg_t *filter) } } - rc = seccomp_rule_add(ctx, SCMP_ACT_ERRNO(-1), SCMP_SYS(open), 1, - SCMP_CMP(1, SCMP_CMP_EQ, O_RDONLY|O_CLOEXEC)); + rc = seccomp_rule_add_1(ctx, SCMP_ACT_ERRNO(EACCES), SCMP_SYS(open), + SCMP_CMP_MASKED(1, O_CLOEXEC|O_NONBLOCK|O_NOCTTY, O_RDONLY)); if (rc != 0) { log_err(LD_BUG,"(Sandbox) failed to add open syscall, received libseccomp " "error %d", rc); @@ -342,6 +373,54 @@ sb_open(scmp_filter_ctx ctx, sandbox_cfg_t *filter) return 0; } +static int +sb__sysctl(scmp_filter_ctx ctx, sandbox_cfg_t *filter) +{ + int rc; + (void) filter; + (void) ctx; + + rc = seccomp_rule_add_0(ctx, SCMP_ACT_ERRNO(EPERM), SCMP_SYS(_sysctl)); + if (rc != 0) { + log_err(LD_BUG,"(Sandbox) failed to add _sysctl syscall, " + "received libseccomp error %d", rc); + return rc; + } + + return 0; +} + +/** + * Function responsible for setting up the rename syscall for + * the seccomp filter sandbox. + */ +static int +sb_rename(scmp_filter_ctx ctx, sandbox_cfg_t *filter) +{ + int rc; + sandbox_cfg_t *elem = NULL; + + // for each dynamic parameter filters + for (elem = filter; elem != NULL; elem = elem->next) { + smp_param_t *param = elem->param; + + if (param != NULL && param->prot == 1 && + param->syscall == SCMP_SYS(rename)) { + + rc = seccomp_rule_add_2(ctx, SCMP_ACT_ALLOW, SCMP_SYS(rename), + SCMP_CMP(0, SCMP_CMP_EQ, param->value), + SCMP_CMP(1, SCMP_CMP_EQ, param->value2)); + if (rc != 0) { + log_err(LD_BUG,"(Sandbox) failed to add rename syscall, received " + "libseccomp error %d", rc); + return rc; + } + } + } + + return 0; +} + /** * Function responsible for setting up the openat syscall for * the seccomp filter sandbox. @@ -358,7 +437,7 @@ sb_openat(scmp_filter_ctx ctx, sandbox_cfg_t *filter) if (param != NULL && param->prot == 1 && param->syscall == SCMP_SYS(openat)) { - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(openat), 1, + rc = seccomp_rule_add_3(ctx, SCMP_ACT_ALLOW, SCMP_SYS(openat), SCMP_CMP(0, SCMP_CMP_EQ, AT_FDCWD), SCMP_CMP(1, SCMP_CMP_EQ, param->value), SCMP_CMP(2, SCMP_CMP_EQ, O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY| @@ -382,43 +461,40 @@ static int sb_socket(scmp_filter_ctx ctx, sandbox_cfg_t *filter) { int rc = 0; + int i; (void) filter; #ifdef __i386__ - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(socket), 0); + rc = seccomp_rule_add_0(ctx, SCMP_ACT_ALLOW, SCMP_SYS(socket)); if (rc) return rc; #endif - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(socket), 3, + rc = seccomp_rule_add_2(ctx, SCMP_ACT_ALLOW, SCMP_SYS(socket), SCMP_CMP(0, SCMP_CMP_EQ, PF_FILE), - SCMP_CMP(1, SCMP_CMP_EQ, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK), - SCMP_CMP(2, SCMP_CMP_EQ, IPPROTO_IP)); + SCMP_CMP_MASKED(1, SOCK_CLOEXEC|SOCK_NONBLOCK, SOCK_STREAM)); if (rc) return rc; - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(socket), 3, - SCMP_CMP(0, SCMP_CMP_EQ, PF_INET), - SCMP_CMP(1, SCMP_CMP_EQ, SOCK_STREAM|SOCK_CLOEXEC), - SCMP_CMP(2, SCMP_CMP_EQ, IPPROTO_TCP)); - if (rc) - return rc; + for (i = 0; i < 2; ++i) { + const int pf = i ? PF_INET : PF_INET6; - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(socket), 3, - SCMP_CMP(0, SCMP_CMP_EQ, PF_INET), - SCMP_CMP(1, SCMP_CMP_EQ, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK), + rc = seccomp_rule_add_3(ctx, SCMP_ACT_ALLOW, SCMP_SYS(socket), + SCMP_CMP(0, SCMP_CMP_EQ, pf), + SCMP_CMP_MASKED(1, SOCK_CLOEXEC|SOCK_NONBLOCK, SOCK_STREAM), SCMP_CMP(2, SCMP_CMP_EQ, IPPROTO_TCP)); - if (rc) - return rc; + if (rc) + return rc; - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(socket), 3, - SCMP_CMP(0, SCMP_CMP_EQ, PF_INET), - SCMP_CMP(1, SCMP_CMP_EQ, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK), + rc = seccomp_rule_add_3(ctx, SCMP_ACT_ALLOW, SCMP_SYS(socket), + SCMP_CMP(0, SCMP_CMP_EQ, pf), + SCMP_CMP_MASKED(1, SOCK_CLOEXEC|SOCK_NONBLOCK, SOCK_DGRAM), SCMP_CMP(2, SCMP_CMP_EQ, IPPROTO_IP)); - if (rc) - return rc; + if (rc) + return rc; + } - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(socket), 3, + rc = seccomp_rule_add_3(ctx, SCMP_ACT_ALLOW, SCMP_SYS(socket), SCMP_CMP(0, SCMP_CMP_EQ, PF_NETLINK), SCMP_CMP(1, SCMP_CMP_EQ, SOCK_RAW), SCMP_CMP(2, SCMP_CMP_EQ, 0)); @@ -439,12 +515,12 @@ sb_socketpair(scmp_filter_ctx ctx, sandbox_cfg_t *filter) (void) filter; #ifdef __i386__ - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(socketpair), 0); + rc = seccomp_rule_add_0(ctx, SCMP_ACT_ALLOW, SCMP_SYS(socketpair)); if (rc) return rc; #endif - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(socketpair), 2, + rc = seccomp_rule_add_2(ctx, SCMP_ACT_ALLOW, SCMP_SYS(socketpair), SCMP_CMP(0, SCMP_CMP_EQ, PF_FILE), SCMP_CMP(1, SCMP_CMP_EQ, SOCK_STREAM|SOCK_CLOEXEC)); if (rc) @@ -464,19 +540,19 @@ sb_setsockopt(scmp_filter_ctx ctx, sandbox_cfg_t *filter) (void) filter; #ifdef __i386__ - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(setsockopt), 0); + rc = seccomp_rule_add_0(ctx, SCMP_ACT_ALLOW, SCMP_SYS(setsockopt)); if (rc) return rc; #endif - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(setsockopt), 2, + rc = seccomp_rule_add_2(ctx, SCMP_ACT_ALLOW, SCMP_SYS(setsockopt), SCMP_CMP(1, SCMP_CMP_EQ, SOL_SOCKET), SCMP_CMP(2, SCMP_CMP_EQ, SO_REUSEADDR)); if (rc) return rc; #ifdef IP_TRANSPARENT - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(setsockopt), 2, + rc = seccomp_rule_add_2(ctx, SCMP_ACT_ALLOW, SCMP_SYS(setsockopt), SCMP_CMP(1, SCMP_CMP_EQ, SOL_IP), SCMP_CMP(2, SCMP_CMP_EQ, IP_TRANSPARENT)); if (rc) @@ -497,12 +573,12 @@ sb_getsockopt(scmp_filter_ctx ctx, sandbox_cfg_t *filter) (void) filter; #ifdef __i386__ - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(getsockopt), 0); + rc = seccomp_rule_add_0(ctx, SCMP_ACT_ALLOW, SCMP_SYS(getsockopt)); if (rc) return rc; #endif - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(getsockopt), 2, + rc = seccomp_rule_add_2(ctx, SCMP_ACT_ALLOW, SCMP_SYS(getsockopt), SCMP_CMP(1, SCMP_CMP_EQ, SOL_SOCKET), SCMP_CMP(2, SCMP_CMP_EQ, SO_ERROR)); if (rc) @@ -522,23 +598,23 @@ sb_fcntl64(scmp_filter_ctx ctx, sandbox_cfg_t *filter) int rc = 0; (void) filter; - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(fcntl64), 1, + rc = seccomp_rule_add_1(ctx, SCMP_ACT_ALLOW, SCMP_SYS(fcntl64), SCMP_CMP(1, SCMP_CMP_EQ, F_GETFL)); if (rc) return rc; - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(fcntl64), 2, + rc = seccomp_rule_add_2(ctx, SCMP_ACT_ALLOW, SCMP_SYS(fcntl64), SCMP_CMP(1, SCMP_CMP_EQ, F_SETFL), SCMP_CMP(2, SCMP_CMP_EQ, O_RDWR|O_NONBLOCK)); if (rc) return rc; - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(fcntl64), 1, + rc = seccomp_rule_add_1(ctx, SCMP_ACT_ALLOW, SCMP_SYS(fcntl64), SCMP_CMP(1, SCMP_CMP_EQ, F_GETFD)); if (rc) return rc; - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(fcntl64), 2, + rc = seccomp_rule_add_2(ctx, SCMP_ACT_ALLOW, SCMP_SYS(fcntl64), SCMP_CMP(1, SCMP_CMP_EQ, F_SETFD), SCMP_CMP(2, SCMP_CMP_EQ, FD_CLOEXEC)); if (rc) @@ -560,17 +636,17 @@ sb_epoll_ctl(scmp_filter_ctx ctx, sandbox_cfg_t *filter) int rc = 0; (void) filter; - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(epoll_ctl), 1, + rc = seccomp_rule_add_1(ctx, SCMP_ACT_ALLOW, SCMP_SYS(epoll_ctl), SCMP_CMP(1, SCMP_CMP_EQ, EPOLL_CTL_ADD)); if (rc) return rc; - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(epoll_ctl), 1, + rc = seccomp_rule_add_1(ctx, SCMP_ACT_ALLOW, SCMP_SYS(epoll_ctl), SCMP_CMP(1, SCMP_CMP_EQ, EPOLL_CTL_MOD)); if (rc) return rc; - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(epoll_ctl), 1, + rc = seccomp_rule_add_1(ctx, SCMP_ACT_ALLOW, SCMP_SYS(epoll_ctl), SCMP_CMP(1, SCMP_CMP_EQ, EPOLL_CTL_DEL)); if (rc) return rc; @@ -591,7 +667,7 @@ sb_prctl(scmp_filter_ctx ctx, sandbox_cfg_t *filter) int rc = 0; (void) filter; - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(prctl), 1, + rc = seccomp_rule_add_1(ctx, SCMP_ACT_ALLOW, SCMP_SYS(prctl), SCMP_CMP(0, SCMP_CMP_EQ, PR_SET_DUMPABLE)); if (rc) return rc; @@ -612,12 +688,12 @@ sb_mprotect(scmp_filter_ctx ctx, sandbox_cfg_t *filter) int rc = 0; (void) filter; - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mprotect), 1, + rc = seccomp_rule_add_1(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mprotect), SCMP_CMP(2, SCMP_CMP_EQ, PROT_READ)); if (rc) return rc; - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mprotect), 1, + rc = seccomp_rule_add_1(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mprotect), SCMP_CMP(2, SCMP_CMP_EQ, PROT_NONE)); if (rc) return rc; @@ -635,12 +711,12 @@ sb_rt_sigprocmask(scmp_filter_ctx ctx, sandbox_cfg_t *filter) int rc = 0; (void) filter; - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(rt_sigprocmask), 1, + rc = seccomp_rule_add_1(ctx, SCMP_ACT_ALLOW, SCMP_SYS(rt_sigprocmask), SCMP_CMP(0, SCMP_CMP_EQ, SIG_UNBLOCK)); if (rc) return rc; - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(rt_sigprocmask), 1, + rc = seccomp_rule_add_1(ctx, SCMP_ACT_ALLOW, SCMP_SYS(rt_sigprocmask), SCMP_CMP(0, SCMP_CMP_EQ, SIG_SETMASK)); if (rc) return rc; @@ -660,12 +736,12 @@ sb_flock(scmp_filter_ctx ctx, sandbox_cfg_t *filter) int rc = 0; (void) filter; - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(flock), 1, + rc = seccomp_rule_add_1(ctx, SCMP_ACT_ALLOW, SCMP_SYS(flock), SCMP_CMP(1, SCMP_CMP_EQ, LOCK_EX|LOCK_NB)); if (rc) return rc; - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(flock), 1, + rc = seccomp_rule_add_1(ctx, SCMP_ACT_ALLOW, SCMP_SYS(flock), SCMP_CMP(1, SCMP_CMP_EQ, LOCK_UN)); if (rc) return rc; @@ -684,18 +760,18 @@ sb_futex(scmp_filter_ctx ctx, sandbox_cfg_t *filter) (void) filter; // can remove - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(futex), 1, + rc = seccomp_rule_add_1(ctx, SCMP_ACT_ALLOW, SCMP_SYS(futex), SCMP_CMP(1, SCMP_CMP_EQ, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME)); if (rc) return rc; - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(futex), 1, + rc = seccomp_rule_add_1(ctx, SCMP_ACT_ALLOW, SCMP_SYS(futex), SCMP_CMP(1, SCMP_CMP_EQ, FUTEX_WAKE_PRIVATE)); if (rc) return rc; - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(futex), 1, + rc = seccomp_rule_add_1(ctx, SCMP_ACT_ALLOW, SCMP_SYS(futex), SCMP_CMP(1, SCMP_CMP_EQ, FUTEX_WAIT_PRIVATE)); if (rc) return rc; @@ -715,7 +791,7 @@ sb_mremap(scmp_filter_ctx ctx, sandbox_cfg_t *filter) int rc = 0; (void) filter; - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mremap), 1, + rc = seccomp_rule_add_1(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mremap), SCMP_CMP(3, SCMP_CMP_EQ, MREMAP_MAYMOVE)); if (rc) return rc; @@ -733,7 +809,7 @@ sb_poll(scmp_filter_ctx ctx, sandbox_cfg_t *filter) int rc = 0; (void) filter; - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(poll), 2, + rc = seccomp_rule_add_2(ctx, SCMP_ACT_ALLOW, SCMP_SYS(poll), SCMP_CMP(1, SCMP_CMP_EQ, 1), SCMP_CMP(2, SCMP_CMP_EQ, 10)); if (rc) @@ -759,7 +835,7 @@ sb_stat64(scmp_filter_ctx ctx, sandbox_cfg_t *filter) if (param != NULL && param->prot == 1 && (param->syscall == SCMP_SYS(open) || param->syscall == SCMP_SYS(stat64))) { - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(stat64), 1, + rc = seccomp_rule_add_1(ctx, SCMP_ACT_ALLOW, SCMP_SYS(stat64), SCMP_CMP(0, SCMP_CMP_EQ, param->value)); if (rc != 0) { log_err(LD_BUG,"(Sandbox) failed to add open syscall, received " @@ -788,6 +864,8 @@ static sandbox_filter_func_t filter_func[] = { #endif sb_open, sb_openat, + sb__sysctl, + sb_rename, #ifdef __NR_fcntl64 sb_fcntl64, #endif @@ -808,7 +886,7 @@ static sandbox_filter_func_t filter_func[] = { sb_socketpair }; -const char* +const char * sandbox_intern_string(const char *str) { sandbox_cfg_t *elem; @@ -819,15 +897,65 @@ sandbox_intern_string(const char *str) for (elem = filter_dynamic; elem != NULL; elem = elem->next) { smp_param_t *param = elem->param; - if (param->prot && !strcmp(str, (char*)(param->value))) { - return (char*)(param->value); + if (param->prot) { + if (!strcmp(str, (char*)(param->value))) { + return (char*)param->value; + } + if (param->value2 && !strcmp(str, (char*)param->value2)) { + return (char*)param->value2; + } } } - log_info(LD_GENERAL, "(Sandbox) Parameter %s not found", str); + if (sandbox_active) + log_warn(LD_BUG, "No interned sandbox parameter found for %s", str); return str; } +/** DOCDOC */ +static int +prot_strings_helper(strmap_t *locations, + char **pr_mem_next_p, + size_t *pr_mem_left_p, + intptr_t *value_p) +{ + char *param_val; + size_t param_size; + void *location; + + if (*value_p == 0) + return 0; + + param_val = (char*) *value_p; + param_size = strlen(param_val) + 1; + location = strmap_get(locations, param_val); + + if (location) { + // We already interned this string. + tor_free(param_val); + *value_p = (intptr_t) location; + return 0; + } else if (*pr_mem_left_p >= param_size) { + // copy to protected + location = *pr_mem_next_p; + memcpy(location, param_val, param_size); + + // re-point el parameter to protected + tor_free(param_val); + *value_p = (intptr_t) location; + + strmap_set(locations, location, location); /* good real estate advice */ + + // move next available protected memory + *pr_mem_next_p += param_size; + *pr_mem_left_p -= param_size; + return 0; + } else { + log_err(LD_BUG,"(Sandbox) insufficient protected memory!"); + return -1; + } +} + /** * Protects all the strings in the sandbox's parameter list configuration. It * works by calculating the total amount of memory required by the parameter @@ -841,10 +969,13 @@ prot_strings(scmp_filter_ctx ctx, sandbox_cfg_t* cfg) size_t pr_mem_size = 0, pr_mem_left = 0; char *pr_mem_next = NULL, *pr_mem_base; sandbox_cfg_t *el = NULL; + strmap_t *locations = NULL; - // get total number of bytes required to mmap + // get total number of bytes required to mmap. (Overestimate.) for (el = cfg; el != NULL; el = el->next) { - pr_mem_size += strlen((char*) ((smp_param_t*)el->param)->value) + 1; + pr_mem_size += strlen((char*) el->param->value) + 1; + if (el->param->value2) + pr_mem_size += strlen((char*) el->param->value2) + 1; } // allocate protected memory with MALLOC_MP_LIM canary @@ -860,31 +991,21 @@ prot_strings(scmp_filter_ctx ctx, sandbox_cfg_t* cfg) pr_mem_next = pr_mem_base + MALLOC_MP_LIM; pr_mem_left = pr_mem_size; + locations = strmap_new(); + // change el value pointer to protected for (el = cfg; el != NULL; el = el->next) { - char *param_val = (char*)((smp_param_t *)el->param)->value; - size_t param_size = strlen(param_val) + 1; - - if (pr_mem_left >= param_size) { - // copy to protected - memcpy(pr_mem_next, param_val, param_size); - - // re-point el parameter to protected - { - void *old_val = (void *) ((smp_param_t*)el->param)->value; - tor_free(old_val); - } - ((smp_param_t*)el->param)->value = (intptr_t) pr_mem_next; - ((smp_param_t*)el->param)->prot = 1; - - // move next available protected memory - pr_mem_next += param_size; - pr_mem_left -= param_size; - } else { - log_err(LD_BUG,"(Sandbox) insufficient protected memory!"); + if (prot_strings_helper(locations, &pr_mem_next, &pr_mem_left, + &el->param->value) < 0) { ret = -2; goto out; } + if (prot_strings_helper(locations, &pr_mem_next, &pr_mem_left, + &el->param->value2) < 0) { + ret = -2; + goto out; + } + el->param->prot = 1; } // protecting from writes @@ -899,7 +1020,7 @@ prot_strings(scmp_filter_ctx ctx, sandbox_cfg_t* cfg) * Setting sandbox restrictions so the string memory cannot be tampered with */ // no mremap of the protected base address - ret = seccomp_rule_add(ctx, SCMP_ACT_KILL, SCMP_SYS(mremap), 1, + ret = seccomp_rule_add_1(ctx, SCMP_ACT_KILL, SCMP_SYS(mremap), SCMP_CMP(0, SCMP_CMP_EQ, (intptr_t) pr_mem_base)); if (ret) { log_err(LD_BUG,"(Sandbox) mremap protected memory filter fail!"); @@ -907,7 +1028,7 @@ prot_strings(scmp_filter_ctx ctx, sandbox_cfg_t* cfg) } // no munmap of the protected base address - ret = seccomp_rule_add(ctx, SCMP_ACT_KILL, SCMP_SYS(munmap), 1, + ret = seccomp_rule_add_1(ctx, SCMP_ACT_KILL, SCMP_SYS(munmap), SCMP_CMP(0, SCMP_CMP_EQ, (intptr_t) pr_mem_base)); if (ret) { log_err(LD_BUG,"(Sandbox) munmap protected memory filter fail!"); @@ -924,7 +1045,7 @@ prot_strings(scmp_filter_ctx ctx, sandbox_cfg_t* cfg) * There is a restriction on how much you can mprotect with R|W up to the * size of the canary. */ - ret = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mprotect), 2, + ret = seccomp_rule_add_3(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mprotect), SCMP_CMP(0, SCMP_CMP_LT, (intptr_t) pr_mem_base), SCMP_CMP(1, SCMP_CMP_LE, MALLOC_MP_LIM), SCMP_CMP(2, SCMP_CMP_EQ, PROT_READ|PROT_WRITE)); @@ -933,7 +1054,7 @@ prot_strings(scmp_filter_ctx ctx, sandbox_cfg_t* cfg) return ret; } - ret = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mprotect), 2, + ret = seccomp_rule_add_3(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mprotect), SCMP_CMP(0, SCMP_CMP_GT, (intptr_t) pr_mem_base + pr_mem_size + MALLOC_MP_LIM), SCMP_CMP(1, SCMP_CMP_LE, MALLOC_MP_LIM), @@ -944,7 +1065,8 @@ prot_strings(scmp_filter_ctx ctx, sandbox_cfg_t* cfg) } out: - return ret; + strmap_free(locations, NULL); + return ret; } /** @@ -954,22 +1076,27 @@ prot_strings(scmp_filter_ctx ctx, sandbox_cfg_t* cfg) * point. */ static sandbox_cfg_t* -new_element(int syscall, int index, intptr_t value) +new_element2(int syscall, intptr_t value, intptr_t value2) { smp_param_t *param = NULL; - sandbox_cfg_t *elem = tor_malloc(sizeof(sandbox_cfg_t)); - elem->param = tor_malloc(sizeof(smp_param_t)); + sandbox_cfg_t *elem = tor_malloc_zero(sizeof(sandbox_cfg_t)); + param = elem->param = tor_malloc_zero(sizeof(smp_param_t)); - param = elem->param; param->syscall = syscall; - param->pindex = index; param->value = value; + param->value2 = value2; param->prot = 0; return elem; } +static sandbox_cfg_t* +new_element(int syscall, intptr_t value) +{ + return new_element2(syscall, value, 0); +} + #ifdef __NR_stat64 #define SCMP_stat SCMP_SYS(stat64) #else @@ -977,11 +1104,11 @@ new_element(int syscall, int index, intptr_t value) #endif int -sandbox_cfg_allow_stat_filename(sandbox_cfg_t **cfg, char *file, int fr) +sandbox_cfg_allow_stat_filename(sandbox_cfg_t **cfg, char *file) { sandbox_cfg_t *elem = NULL; - elem = new_element(SCMP_stat, 0, (intptr_t)(void*) tor_strdup(file)); + elem = new_element(SCMP_stat, (intptr_t)(void*) file); if (!elem) { log_err(LD_BUG,"(Sandbox) failed to register parameter!"); return -1; @@ -990,7 +1117,6 @@ sandbox_cfg_allow_stat_filename(sandbox_cfg_t **cfg, char *file, int fr) elem->next = *cfg; *cfg = elem; - if (fr) tor_free(file); return 0; } @@ -1004,9 +1130,7 @@ sandbox_cfg_allow_stat_filename_array(sandbox_cfg_t **cfg, ...) va_start(ap, cfg); while ((fn = va_arg(ap, char*)) != NULL) { - int fr = va_arg(ap, int); - - rc = sandbox_cfg_allow_stat_filename(cfg, fn, fr); + rc = sandbox_cfg_allow_stat_filename(cfg, fn); if (rc) { log_err(LD_BUG,"(Sandbox) sandbox_cfg_allow_stat_filename_array fail"); goto end; @@ -1019,11 +1143,11 @@ sandbox_cfg_allow_stat_filename_array(sandbox_cfg_t **cfg, ...) } int -sandbox_cfg_allow_open_filename(sandbox_cfg_t **cfg, char *file, int fr) +sandbox_cfg_allow_open_filename(sandbox_cfg_t **cfg, char *file) { sandbox_cfg_t *elem = NULL; - elem = new_element(SCMP_SYS(open), 0, (intptr_t)(void *)tor_strdup(file)); + elem = new_element(SCMP_SYS(open), (intptr_t)(void *) file); if (!elem) { log_err(LD_BUG,"(Sandbox) failed to register parameter!"); return -1; @@ -1032,7 +1156,25 @@ sandbox_cfg_allow_open_filename(sandbox_cfg_t **cfg, char *file, int fr) elem->next = *cfg; *cfg = elem; - if (fr) tor_free(file); + return 0; +} + +int +sandbox_cfg_allow_rename(sandbox_cfg_t **cfg, char *file1, char *file2) +{ + sandbox_cfg_t *elem = NULL; + + elem = new_element2(SCMP_SYS(rename), + (intptr_t)(void *) file1, + (intptr_t)(void *) file2); + + if (!elem) { + log_err(LD_BUG,"(Sandbox) failed to register parameter!"); + return -1; + } + + elem->next = *cfg; + *cfg = elem; return 0; } @@ -1047,9 +1189,7 @@ sandbox_cfg_allow_open_filename_array(sandbox_cfg_t **cfg, ...) va_start(ap, cfg); while ((fn = va_arg(ap, char*)) != NULL) { - int fr = va_arg(ap, int); - - rc = sandbox_cfg_allow_open_filename(cfg, fn, fr); + rc = sandbox_cfg_allow_open_filename(cfg, fn); if (rc) { log_err(LD_BUG,"(Sandbox) sandbox_cfg_allow_open_filename_array fail"); goto end; @@ -1062,11 +1202,11 @@ sandbox_cfg_allow_open_filename_array(sandbox_cfg_t **cfg, ...) } int -sandbox_cfg_allow_openat_filename(sandbox_cfg_t **cfg, char *file, int fr) +sandbox_cfg_allow_openat_filename(sandbox_cfg_t **cfg, char *file) { sandbox_cfg_t *elem = NULL; - elem = new_element(SCMP_SYS(openat), 1, (intptr_t)(void *)tor_strdup(file)); + elem = new_element(SCMP_SYS(openat), (intptr_t)(void *) file); if (!elem) { log_err(LD_BUG,"(Sandbox) failed to register parameter!"); return -1; @@ -1075,8 +1215,6 @@ sandbox_cfg_allow_openat_filename(sandbox_cfg_t **cfg, char *file, int fr) elem->next = *cfg; *cfg = elem; - if (fr) tor_free(file); - return 0; } @@ -1090,9 +1228,7 @@ sandbox_cfg_allow_openat_filename_array(sandbox_cfg_t **cfg, ...) va_start(ap, cfg); while ((fn = va_arg(ap, char*)) != NULL) { - int fr = va_arg(ap, int); - - rc = sandbox_cfg_allow_openat_filename(cfg, fn, fr); + rc = sandbox_cfg_allow_openat_filename(cfg, fn); if (rc) { log_err(LD_BUG,"(Sandbox) sandbox_cfg_allow_openat_filename_array fail"); goto end; @@ -1109,7 +1245,7 @@ sandbox_cfg_allow_execve(sandbox_cfg_t **cfg, const char *com) { sandbox_cfg_t *elem = NULL; - elem = new_element(SCMP_SYS(execve), 1, (intptr_t)(void *)tor_strdup(com)); + elem = new_element(SCMP_SYS(execve), (intptr_t)(void *) com); if (!elem) { log_err(LD_BUG,"(Sandbox) failed to register parameter!"); return -1; @@ -1247,7 +1383,7 @@ add_noparam_filter(scmp_filter_ctx ctx) // add general filters for (i = 0; i < ARRAY_LENGTH(filter_nopar_gen); i++) { - rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, filter_nopar_gen[i], 0); + rc = seccomp_rule_add_0(ctx, SCMP_ACT_ALLOW, filter_nopar_gen[i]); if (rc != 0) { log_err(LD_BUG,"(Sandbox) failed to add syscall index %d (NR=%d), " "received libseccomp error %d", i, filter_nopar_gen[i], rc); @@ -1307,6 +1443,29 @@ install_syscall_filter(sandbox_cfg_t* cfg) return (rc < 0 ? -rc : rc); } +#include "linux_syscalls.inc" +static const char * +get_syscall_name(int syscall_num) +{ + int i; + for (i = 0; SYSCALLS_BY_NUMBER[i].syscall_name; ++i) { + if (SYSCALLS_BY_NUMBER[i].syscall_num == syscall_num) + return SYSCALLS_BY_NUMBER[i].syscall_name; + } + + { + static char syscall_name_buf[64]; + format_dec_number_sigsafe(syscall_num, + syscall_name_buf, sizeof(syscall_name_buf)); + return syscall_name_buf; + } +} + +#ifdef USE_BACKTRACE +#define MAX_DEPTH 256 +static void *syscall_cb_buf[MAX_DEPTH]; +#endif + /** * Function called when a SIGSYS is caught by the application. It notifies the * user that an error has occurred and either terminates or allows the @@ -1316,8 +1475,14 @@ static void sigsys_debugging(int nr, siginfo_t *info, void *void_context) { ucontext_t *ctx = (ucontext_t *) (void_context); - char number[32]; + const char *syscall_name; int syscall; +#ifdef USE_BACKTRACE + int depth; + int n_fds, i; + const int *fds = NULL; +#endif + (void) nr; if (info->si_code != SYS_SECCOMP) @@ -1326,14 +1491,28 @@ sigsys_debugging(int nr, siginfo_t *info, void *void_context) if (!ctx) return; - syscall = ctx->uc_mcontext.gregs[REG_SYSCALL]; + syscall = (int) ctx->uc_mcontext.gregs[REG_SYSCALL]; + +#ifdef USE_BACKTRACE + depth = backtrace(syscall_cb_buf, MAX_DEPTH); + /* Clean up the top stack frame so we get the real function + * name for the most recently failing function. */ + clean_backtrace(syscall_cb_buf, depth, ctx); +#endif + + syscall_name = get_syscall_name(syscall); - format_dec_number_sigsafe(syscall, number, sizeof(number)); tor_log_err_sigsafe("(Sandbox) Caught a bad syscall attempt (syscall ", - number, + syscall_name, ")\n", NULL); +#ifdef USE_BACKTRACE + n_fds = tor_log_get_sigsafe_err_fds(&fds); + for (i=0; i < n_fds; ++i) + backtrace_symbols_fd(syscall_cb_buf, depth, fds[i]); +#endif + #if defined(DEBUGGING_CLOSE) _exit(1); #endif // DEBUGGING_CLOSE @@ -1385,7 +1564,8 @@ register_cfg(sandbox_cfg_t* cfg) return 0; } - for (elem = filter_dynamic; elem->next != NULL; elem = elem->next); + for (elem = filter_dynamic; elem->next != NULL; elem = elem->next) + ; elem->next = cfg; @@ -1414,6 +1594,11 @@ initialise_libseccomp_sandbox(sandbox_cfg_t* cfg) return 0; } +int +sandbox_is_active(void) +{ + return sandbox_active != 0; +} #endif // USE_LIBSECCOMP sandbox_cfg_t* @@ -1428,31 +1613,28 @@ sandbox_init(sandbox_cfg_t *cfg) #if defined(USE_LIBSECCOMP) return initialise_libseccomp_sandbox(cfg); -#elif defined(_WIN32) +#elif defined(__linux__) (void)cfg; - log_warn(LD_BUG,"Windows sandboxing is not implemented. The feature is " - "currently disabled."); + log_warn(LD_GENERAL, + "This version of Tor was built without support for sandboxing. To " + "build with support for sandboxing on Linux, you must have " + "libseccomp and its necessary header files (e.g. seccomp.h)."); return 0; -#elif defined(TARGET_OS_MAC) - (void)cfg; - log_warn(LD_BUG,"Mac OSX sandboxing is not implemented. The feature is " - "currently disabled"); - return 0; #else (void)cfg; - log_warn(LD_BUG,"Sandboxing is not implemented for your platform. The " - "feature is currently disabled"); + log_warn(LD_GENERAL, + "Currently, sandboxing is only implemented on Linux. The feature " + "is disabled on your platform."); return 0; #endif } #ifndef USE_LIBSECCOMP int -sandbox_cfg_allow_open_filename(sandbox_cfg_t **cfg, char *file, - int fr) +sandbox_cfg_allow_open_filename(sandbox_cfg_t **cfg, char *file) { - (void)cfg; (void)file; (void)fr; + (void)cfg; (void)file; return 0; } @@ -1464,10 +1646,9 @@ sandbox_cfg_allow_open_filename_array(sandbox_cfg_t **cfg, ...) } int -sandbox_cfg_allow_openat_filename(sandbox_cfg_t **cfg, char *file, - int fr) +sandbox_cfg_allow_openat_filename(sandbox_cfg_t **cfg, char *file) { - (void)cfg; (void)file; (void)fr; + (void)cfg; (void)file; return 0; } @@ -1493,10 +1674,9 @@ sandbox_cfg_allow_execve_array(sandbox_cfg_t **cfg, ...) } int -sandbox_cfg_allow_stat_filename(sandbox_cfg_t **cfg, char *file, - int fr) +sandbox_cfg_allow_stat_filename(sandbox_cfg_t **cfg, char *file) { - (void)cfg; (void)file; (void)fr; + (void)cfg; (void)file; return 0; } @@ -1506,5 +1686,18 @@ sandbox_cfg_allow_stat_filename_array(sandbox_cfg_t **cfg, ...) (void)cfg; return 0; } + +int +sandbox_cfg_allow_rename(sandbox_cfg_t **cfg, char *file1, char *file2) +{ + (void)cfg; (void)file1; (void)file2; + return 0; +} + +int +sandbox_is_active(void) +{ + return 0; +} #endif diff --git a/src/common/sandbox.h b/src/common/sandbox.h index d64d427d3e..c40f5e0d1f 100644 --- a/src/common/sandbox.h +++ b/src/common/sandbox.h @@ -65,10 +65,10 @@ typedef struct smp_param { /** syscall associated with parameter. */ int syscall; - /** parameter index. */ - int pindex; /** parameter value. */ intptr_t value; + /** parameter value, second argument. */ + intptr_t value2; /** parameter flag (0 = not protected, 1 = protected). */ int prot; @@ -85,7 +85,7 @@ struct sandbox_cfg_elem { SB_IMPL implem; /** Configuration parameter. */ - void *param; + smp_param_t *param; /** Next element of the configuration*/ struct sandbox_cfg_elem *next; @@ -167,81 +167,70 @@ sandbox_cfg_t * sandbox_cfg_new(void); /** * Function used to add a open allowed filename to a supplied configuration. - * The (char*) specifies the path to the allowed file, fr = 1 tells the - * function that the char* needs to be free-ed, 0 means the pointer does not - * need to be free-ed. + * The (char*) specifies the path to the allowed file; we take ownership + * of the pointer. */ -int sandbox_cfg_allow_open_filename(sandbox_cfg_t **cfg, char *file, - int fr); +int sandbox_cfg_allow_open_filename(sandbox_cfg_t **cfg, char *file); + +/**DOCDOC*/ +int sandbox_cfg_allow_rename(sandbox_cfg_t **cfg, char *file1, char *file2); /** Function used to add a series of open allowed filenames to a supplied * configuration. * @param cfg sandbox configuration. - * @param ... all future parameters are specified as pairs of <(char*), 1 / 0> - * the char* specifies the path to the allowed file, 1 tells the function - * that the char* needs to be free-ed, 0 means the pointer does not need to - * be free-ed; the final parameter needs to be <NULL, 0>. - */ + * @param ... a list of stealable pointers to permitted files. The last + * one must be NULL. +*/ int sandbox_cfg_allow_open_filename_array(sandbox_cfg_t **cfg, ...); /** * Function used to add a openat allowed filename to a supplied configuration. - * The (char*) specifies the path to the allowed file, fr = 1 tells the - * function that the char* needs to be free-ed, 0 means the pointer does not - * need to be free-ed. + * The (char*) specifies the path to the allowed file; we steal the pointer to + * that file. */ -int sandbox_cfg_allow_openat_filename(sandbox_cfg_t **cfg, char *file, - int fr); +int sandbox_cfg_allow_openat_filename(sandbox_cfg_t **cfg, char *file); /** Function used to add a series of openat allowed filenames to a supplied * configuration. * @param cfg sandbox configuration. - * @param ... all future parameters are specified as pairs of <(char*), 1 / 0> - * the char* specifies the path to the allowed file, 1 tells the function - * that the char* needs to be free-ed, 0 means the pointer does not need to - * be free-ed; the final parameter needs to be <NULL, 0>. + * @param ... a list of stealable pointers to permitted files. The last + * one must be NULL. */ int sandbox_cfg_allow_openat_filename_array(sandbox_cfg_t **cfg, ...); /** * Function used to add a execve allowed filename to a supplied configuration. - * The (char*) specifies the path to the allowed file, fr = 1 tells the - * function that the char* needs to be free-ed, 0 means the pointer does not - * need to be free-ed. + * The (char*) specifies the path to the allowed file; that pointer is stolen. */ int sandbox_cfg_allow_execve(sandbox_cfg_t **cfg, const char *com); /** Function used to add a series of execve allowed filenames to a supplied * configuration. * @param cfg sandbox configuration. - * @param ... all future parameters are specified as pairs of <(char*), 1 / 0> - * the char* specifies the path to the allowed file, 1 tells the function - * that the char* needs to be free-ed, 0 means the pointer does not need to - * be free-ed; the final parameter needs to be <NULL, 0>. + * @param ... an array of stealable pointers to permitted files. The last + * one must be NULL. */ int sandbox_cfg_allow_execve_array(sandbox_cfg_t **cfg, ...); /** * Function used to add a stat/stat64 allowed filename to a configuration. - * The (char*) specifies the path to the allowed file, fr = 1 tells the - * function that the char* needs to be free-ed, 0 means the pointer does not - * need to be free-ed. + * The (char*) specifies the path to the allowed file; that pointer is stolen. */ -int sandbox_cfg_allow_stat_filename(sandbox_cfg_t **cfg, char *file, - int fr); +int sandbox_cfg_allow_stat_filename(sandbox_cfg_t **cfg, char *file); /** Function used to add a series of stat64 allowed filenames to a supplied * configuration. * @param cfg sandbox configuration. - * @param ... all future parameters are specified as pairs of <(char*), 1 / 0> - * the char* specifies the path to the allowed file, 1 tells the function - * that the char* needs to be free-ed, 0 means the pointer does not need to - * be free-ed; the final parameter needs to be <NULL, 0>. + * @param ... an array of stealable pointers to permitted files. The last + * one must be NULL. */ int sandbox_cfg_allow_stat_filename_array(sandbox_cfg_t **cfg, ...); /** Function used to initialise a sandbox configuration.*/ int sandbox_init(sandbox_cfg_t* cfg); +/** Return true iff the sandbox is turned on. */ +int sandbox_is_active(void); + #endif /* SANDBOX_H_ */ diff --git a/src/common/torlog.h b/src/common/torlog.h index d210c8b249..4493b251d2 100644 --- a/src/common/torlog.h +++ b/src/common/torlog.h @@ -13,6 +13,7 @@ #ifndef TOR_TORLOG_H #include "compat.h" +#include "testsupport.h" #ifdef HAVE_SYSLOG_H #include <syslog.h> @@ -228,6 +229,12 @@ extern const char *log_fn_function_name_; #endif /* !GNUC */ +#ifdef LOG_PRIVATE +MOCK_DECL(STATIC void, logv, (int severity, log_domain_mask_t domain, + const char *funcname, const char *suffix, const char *format, + va_list ap) CHECK_PRINTF(5,0)); +#endif + # define TOR_TORLOG_H #endif diff --git a/src/common/tortls.c b/src/common/tortls.c index 315a767e9e..a6444b8188 100644 --- a/src/common/tortls.c +++ b/src/common/tortls.c @@ -149,6 +149,7 @@ typedef enum { TOR_TLS_ST_SENTCLOSE, TOR_TLS_ST_CLOSED, TOR_TLS_ST_RENEGOTIATE, TOR_TLS_ST_BUFFEREVENT } tor_tls_state_t; +#define tor_tls_state_bitfield_t ENUM_BF(tor_tls_state_t) /** Holds a SSL object and its associated data. Members are only * accessed from within tortls.c. @@ -159,7 +160,7 @@ struct tor_tls_t { SSL *ssl; /**< An OpenSSL SSL object. */ int socket; /**< The underlying file descriptor for this TLS connection. */ char *address; /**< An address to log when describing this connection. */ - ENUM_BF(tor_tls_state_t) state : 3; /**< The current SSL state, + tor_tls_state_bitfield_t state : 3; /**< The current SSL state, * depending on which operations * have completed successfully. */ unsigned int isServer:1; /**< True iff this is a server-side connection */ @@ -711,31 +712,47 @@ tor_tls_create_certificate(crypto_pk_t *rsa, /** List of ciphers that servers should select from when we actually have * our choice of what cipher to use. */ const char UNRESTRICTED_SERVER_CIPHER_LIST[] = -#ifdef TLS1_TXT_ECDHE_RSA_WITH_AES_256_CHC_SHA - TLS1_TXT_ECDHE_RSA_WITH_AES_256_CBC_SHA ":" -#endif + /* This list is autogenerated with the gen_server_ciphers.py script; + * don't hand-edit it. */ #ifdef TLS1_TXT_ECDHE_RSA_WITH_AES_256_GCM_SHA384 TLS1_TXT_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ":" #endif +#ifdef TLS1_TXT_ECDHE_RSA_WITH_AES_128_GCM_SHA256 + TLS1_TXT_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ":" +#endif +#ifdef TLS1_TXT_ECDHE_RSA_WITH_AES_256_SHA384 + TLS1_TXT_ECDHE_RSA_WITH_AES_256_SHA384 ":" +#endif #ifdef TLS1_TXT_ECDHE_RSA_WITH_AES_128_SHA256 TLS1_TXT_ECDHE_RSA_WITH_AES_128_SHA256 ":" #endif +#ifdef TLS1_TXT_ECDHE_RSA_WITH_AES_256_CBC_SHA + TLS1_TXT_ECDHE_RSA_WITH_AES_256_CBC_SHA ":" +#endif #ifdef TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA ":" #endif -#ifdef TLS1_TXT_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - TLS1_TXT_ECDHE_RSA_WITH_AES_128_GCM_SHA256 +#ifdef TLS1_TXT_DHE_RSA_WITH_AES_256_GCM_SHA384 + TLS1_TXT_DHE_RSA_WITH_AES_256_GCM_SHA384 ":" +#endif +#ifdef TLS1_TXT_DHE_RSA_WITH_AES_128_GCM_SHA256 + TLS1_TXT_DHE_RSA_WITH_AES_128_GCM_SHA256 ":" #endif -//#if TLS1_TXT_ECDHE_RSA_WITH_RC4_128_SHA -// TLS1_TXT_ECDHE_RSA_WITH_RC4_128_SHA ":" -//#endif - /* These next two are mandatory. */ - TLS1_TXT_DHE_RSA_WITH_AES_256_SHA ":" - TLS1_TXT_DHE_RSA_WITH_AES_128_SHA ":" +#ifdef TLS1_TXT_DHE_RSA_WITH_AES_256_SHA256 + TLS1_TXT_DHE_RSA_WITH_AES_256_SHA256 ":" +#endif +#ifdef TLS1_TXT_DHE_RSA_WITH_AES_128_SHA256 + TLS1_TXT_DHE_RSA_WITH_AES_128_SHA256 ":" +#endif + /* Required */ + TLS1_TXT_DHE_RSA_WITH_AES_256_SHA ":" + /* Required */ + TLS1_TXT_DHE_RSA_WITH_AES_128_SHA ":" #ifdef TLS1_TXT_ECDHE_RSA_WITH_DES_192_CBC3_SHA TLS1_TXT_ECDHE_RSA_WITH_DES_192_CBC3_SHA ":" #endif - SSL3_TXT_EDH_RSA_DES_192_CBC3_SHA; + /* Required */ + SSL3_TXT_EDH_RSA_DES_192_CBC3_SHA; /* Note: to set up your own private testing network with link crypto * disabled, set your Tors' cipher list to @@ -1233,6 +1250,10 @@ tor_tls_context_new(crypto_pk_t *identity, unsigned int key_lifetime, goto error; SSL_CTX_set_options(result->ctx, SSL_OP_NO_SSLv2); + /* Prefer the server's ordering of ciphers: the client's ordering has + * historically been chosen for fingerprinting resistance. */ + SSL_CTX_set_options(result->ctx, SSL_OP_CIPHER_SERVER_PREFERENCE); + /* Disable TLS1.1 and TLS1.2 if they exist. We need to do this to * workaround a bug present in all OpenSSL 1.0.1 versions (as of 1 * June 2012), wherein renegotiating while using one of these TLS @@ -2311,6 +2332,7 @@ log_cert_lifetime(int severity, const X509 *cert, const char *problem) char mytime[33]; time_t now = time(NULL); struct tm tm; + size_t n; if (problem) tor_log(severity, LD_GENERAL, @@ -2336,11 +2358,17 @@ log_cert_lifetime(int severity, const X509 *cert, const char *problem) BIO_get_mem_ptr(bio, &buf); s2 = tor_strndup(buf->data, buf->length); - strftime(mytime, 32, "%b %d %H:%M:%S %Y UTC", tor_gmtime_r(&now, &tm)); - - tor_log(severity, LD_GENERAL, - "(certificate lifetime runs from %s through %s. Your time is %s.)", - s1,s2,mytime); + n = strftime(mytime, 32, "%b %d %H:%M:%S %Y UTC", tor_gmtime_r(&now, &tm)); + if (n > 0) { + tor_log(severity, LD_GENERAL, + "(certificate lifetime runs from %s through %s. Your time is %s.)", + s1,s2,mytime); + } else { + tor_log(severity, LD_GENERAL, + "(certificate lifetime runs from %s through %s. " + "Couldn't get your time.)", + s1, s2); + } end: /* Not expected to get invoked */ @@ -2555,8 +2583,8 @@ tor_tls_get_n_raw_bytes(tor_tls_t *tls, size_t *n_read, size_t *n_written) /** Return a ratio of the bytes that TLS has sent to the bytes that we've told * it to send. Used to track whether our TLS records are getting too tiny. */ -double -tls_get_write_overhead_ratio(void) +MOCK_IMPL(double, +tls_get_write_overhead_ratio,(void)) { if (total_bytes_written_over_tls == 0) return 1.0; diff --git a/src/common/tortls.h b/src/common/tortls.h index 49c488b365..a76ba3bc7a 100644 --- a/src/common/tortls.h +++ b/src/common/tortls.h @@ -13,6 +13,7 @@ #include "crypto.h" #include "compat.h" +#include "testsupport.h" /* Opaque structure to hold a TLS connection. */ typedef struct tor_tls_t tor_tls_t; @@ -95,7 +96,7 @@ void tor_tls_get_buffer_sizes(tor_tls_t *tls, size_t *rbuf_capacity, size_t *rbuf_bytes, size_t *wbuf_capacity, size_t *wbuf_bytes); -double tls_get_write_overhead_ratio(void); +MOCK_DECL(double, tls_get_write_overhead_ratio, (void)); int tor_tls_used_v1_handshake(tor_tls_t *tls); int tor_tls_received_v3_certificate(tor_tls_t *tls); diff --git a/src/common/util.c b/src/common/util.c index 054de3dbe9..56235aa662 100644 --- a/src/common/util.c +++ b/src/common/util.c @@ -303,7 +303,7 @@ tor_memdup_(const void *mem, size_t len DMALLOC_PARAMS) /** As tor_memdup(), but add an extra 0 byte at the end of the resulting * memory. */ void * -tor_memdup_nulterm(const void *mem, size_t len DMALLOC_PARAMS) +tor_memdup_nulterm_(const void *mem, size_t len DMALLOC_PARAMS) { char *dup; tor_assert(len < SIZE_T_CEILING+1); @@ -898,8 +898,8 @@ tor_digest_is_zero(const char *digest) return tor_memeq(digest, ZERO_DIGEST, DIGEST_LEN); } -/** Return true if <b>string</b> is a valid '<key>=[<value>]' string. - * <value> is optional, to indicate the empty string. Log at logging +/** Return true if <b>string</b> is a valid 'key=[value]' string. + * "value" is optional, to indicate the empty string. Log at logging * <b>severity</b> if something ugly happens. */ int string_is_key_value(int severity, const char *string) @@ -1830,6 +1830,7 @@ file_status(const char *fname) int r; f = tor_strdup(fname); clean_name_for_stat(f); + log_debug(LD_FS, "stat()ing %s", f); r = stat(sandbox_intern_string(f), &st); tor_free(f); if (r) { @@ -1880,6 +1881,7 @@ check_private_dir(const char *dirname, cpd_check_t check, tor_assert(dirname); f = tor_strdup(dirname); clean_name_for_stat(f); + log_debug(LD_FS, "stat()ing %s", f); r = stat(sandbox_intern_string(f), &st); tor_free(f); if (r) { @@ -2141,6 +2143,7 @@ static int finish_writing_to_file_impl(open_file_t *file_data, int abort_write) { int r = 0; + tor_assert(file_data && file_data->filename); if (file_data->stdio_file) { if (fclose(file_data->stdio_file)) { @@ -2157,7 +2160,13 @@ finish_writing_to_file_impl(open_file_t *file_data, int abort_write) if (file_data->rename_on_close) { tor_assert(file_data->tempname && file_data->filename); if (abort_write) { - unlink(file_data->tempname); + int res = unlink(file_data->tempname); + if (res != 0) { + /* We couldn't unlink and we'll leave a mess behind */ + log_warn(LD_FS, "Failed to unlink %s: %s", + file_data->tempname, strerror(errno)); + r = -1; + } } else { tor_assert(strcmp(file_data->filename, file_data->tempname)); if (replace_file(file_data->tempname, file_data->filename)) { @@ -3026,7 +3035,7 @@ tor_vsscanf(const char *buf, const char *pattern, va_list ap) /** Minimal sscanf replacement: parse <b>buf</b> according to <b>pattern</b> * and store the results in the corresponding argument fields. Differs from * sscanf in that: - * <ul><li>It only handles %u, %lu, %x, %lx, %<NUM>s, %d, %ld, %lf, and %c. + * <ul><li>It only handles %u, %lu, %x, %lx, %[NUM]s, %d, %ld, %lf, and %c. * <li>It only handles decimal inputs for %lf. (12.3, not 1.23e1) * <li>It does not handle arbitrarily long widths. * <li>Numbers do not consume any space characters. @@ -3450,7 +3459,7 @@ format_number_sigsafe(unsigned long x, char *buf, int buf_len, cp = buf + len; *cp = '\0'; do { - unsigned digit = x % radix; + unsigned digit = (unsigned) (x % radix); tor_assert(cp > buf); --cp; *cp = "0123456789ABCDEF"[digit]; diff --git a/src/config/README.geoip b/src/config/README.geoip deleted file mode 100644 index 8520501405..0000000000 --- a/src/config/README.geoip +++ /dev/null @@ -1,90 +0,0 @@ -README.geoip -- information on the IP-to-country-code file shipped with tor -=========================================================================== - -The IP-to-country-code file in src/config/geoip is based on MaxMind's -GeoLite Country database with the following modifications: - - - Those "A1" ("Anonymous Proxy") entries lying inbetween two entries with - the same country code are automatically changed to that country code. - These changes can be overriden by specifying a different country code - in src/config/geoip-manual. - - - Other "A1" entries are replaced with country codes specified in - src/config/geoip-manual, or are left as is if there is no corresponding - entry in that file. Even non-"A1" entries can be modified by adding a - replacement entry to src/config/geoip-manual. Handle with care. - - -1. Updating the geoip file from a MaxMind database file -------------------------------------------------------- - -Download the most recent MaxMind GeoLite Country database: -http://geolite.maxmind.com/download/geoip/database/GeoIPCountryCSV.zip - -Run `python deanonymind.py` in the local directory. Review the output to -learn about applied automatic/manual changes and watch out for any -warnings. - -Possibly edit geoip-manual to make more/fewer/different manual changes and -re-run `python deanonymind.py`. - -When done, prepend the new geoip file with a comment like this: - - # Last updated based on $DATE Maxmind GeoLite Country - # See README.geoip for details on the conversion. - - -2. Verifying automatic and manual changes using diff ----------------------------------------------------- - -To unzip the original MaxMind file and look at the automatic changes, run: - - unzip GeoIPCountryCSV.zip - diff -U1 GeoIPCountryWhois.csv AutomaticGeoIPCountryWhois.csv - -To look at subsequent manual changes, run: - - diff -U1 AutomaticGeoIPCountryWhois.csv ManualGeoIPCountryWhois.csv - -To manually generate the geoip file and compare it to the automatically -created one, run: - - cut -d, -f3-5 < ManualGeoIPCountryWhois.csv | sed 's/"//g' > mygeoip - diff -U1 geoip mygeoip - - -3. Verifying automatic and manual changes using blockfinder ------------------------------------------------------------ - -Blockfinder is a powerful tool to handle multiple IP-to-country data -sources. Blockfinder has a function to specify a country code and compare -conflicting country code assignments in different data sources. - -We can use blockfinder to compare A1 entries in the original MaxMind file -with the same or overlapping blocks in the file generated above and in the -RIR delegation files: - - git clone https://github.com/ioerror/blockfinder - cd blockfinder/ - python blockfinder -i - python blockfinder -r ../GeoIPCountryWhois.csv - python blockfinder -r ../ManualGeoIPCountryWhois.csv - python blockfinder -p A1 > A1-comparison.txt - -The output marks conflicts between assignments using either '*' in case of -two different opinions or '#' for three or more different opinions about -the country code for a given block. - -The '*' conflicts are most likely harmless, because there will always be -at least two opinions with the original MaxMind file saying A1 and the -other two sources saying something more meaningful. - -However, watch out for '#' conflicts. In these cases, the original -MaxMind file ("A1"), the updated MaxMind file (hopefully the correct -country code), and the RIR delegation files (some other country code) all -disagree. - -There are perfectly valid cases where the updated MaxMind file and the RIR -delegation files don't agree. But each of those cases must be verified -manually. - diff --git a/src/config/deanonymind.py b/src/config/deanonymind.py deleted file mode 100755 index 31d0658eea..0000000000 --- a/src/config/deanonymind.py +++ /dev/null @@ -1,205 +0,0 @@ -#!/usr/bin/env python -import optparse -import os -import sys -import zipfile - -""" -Take a MaxMind GeoLite Country database as input and replace A1 entries -with the country code and name of the preceding entry iff the preceding -(subsequent) entry ends (starts) directly before (after) the A1 entry and -both preceding and subsequent entries contain the same country code. - -Then apply manual changes, either replacing A1 entries that could not be -replaced automatically or overriding previously made automatic changes. -""" - -def main(): - options = parse_options() - assignments = read_file(options.in_maxmind) - assignments = apply_automatic_changes(assignments) - write_file(options.out_automatic, assignments) - manual_assignments = read_file(options.in_manual, must_exist=False) - assignments = apply_manual_changes(assignments, manual_assignments) - write_file(options.out_manual, assignments) - write_file(options.out_geoip, assignments, long_format=False) - -def parse_options(): - parser = optparse.OptionParser() - parser.add_option('-i', action='store', dest='in_maxmind', - default='GeoIPCountryCSV.zip', metavar='FILE', - help='use the specified MaxMind GeoLite Country .zip or .csv ' - 'file as input [default: %default]') - parser.add_option('-g', action='store', dest='in_manual', - default='geoip-manual', metavar='FILE', - help='use the specified .csv file for manual changes or to ' - 'override automatic changes [default: %default]') - parser.add_option('-a', action='store', dest='out_automatic', - default="AutomaticGeoIPCountryWhois.csv", metavar='FILE', - help='write full input file plus automatic changes to the ' - 'specified .csv file [default: %default]') - parser.add_option('-m', action='store', dest='out_manual', - default='ManualGeoIPCountryWhois.csv', metavar='FILE', - help='write full input file plus automatic and manual ' - 'changes to the specified .csv file [default: %default]') - parser.add_option('-o', action='store', dest='out_geoip', - default='geoip', metavar='FILE', - help='write full input file plus automatic and manual ' - 'changes to the specified .csv file that can be shipped ' - 'with tor [default: %default]') - (options, args) = parser.parse_args() - return options - -def read_file(path, must_exist=True): - if not os.path.exists(path): - if must_exist: - print 'File %s does not exist. Exiting.' % (path, ) - sys.exit(1) - else: - return - if path.endswith('.zip'): - zip_file = zipfile.ZipFile(path) - csv_content = zip_file.read('GeoIPCountryWhois.csv') - zip_file.close() - else: - csv_file = open(path) - csv_content = csv_file.read() - csv_file.close() - assignments = [] - for line in csv_content.split('\n'): - stripped_line = line.strip() - if len(stripped_line) > 0 and not stripped_line.startswith('#'): - assignments.append(stripped_line) - return assignments - -def apply_automatic_changes(assignments): - print '\nApplying automatic changes...' - result_lines = [] - prev_line = None - a1_lines = [] - for line in assignments: - if '"A1"' in line: - a1_lines.append(line) - else: - if len(a1_lines) > 0: - new_a1_lines = process_a1_lines(prev_line, a1_lines, line) - for new_a1_line in new_a1_lines: - result_lines.append(new_a1_line) - a1_lines = [] - result_lines.append(line) - prev_line = line - if len(a1_lines) > 0: - new_a1_lines = process_a1_lines(prev_line, a1_lines, None) - for new_a1_line in new_a1_lines: - result_lines.append(new_a1_line) - return result_lines - -def process_a1_lines(prev_line, a1_lines, next_line): - if not prev_line or not next_line: - return a1_lines # Can't merge first or last line in file. - if len(a1_lines) > 1: - return a1_lines # Can't merge more than 1 line at once. - a1_line = a1_lines[0].strip() - prev_entry = parse_line(prev_line) - a1_entry = parse_line(a1_line) - next_entry = parse_line(next_line) - touches_prev_entry = int(prev_entry['end_num']) + 1 == \ - int(a1_entry['start_num']) - touches_next_entry = int(a1_entry['end_num']) + 1 == \ - int(next_entry['start_num']) - same_country_code = prev_entry['country_code'] == \ - next_entry['country_code'] - if touches_prev_entry and touches_next_entry and same_country_code: - new_line = format_line_with_other_country(a1_entry, prev_entry) - print '-%s\n+%s' % (a1_line, new_line, ) - return [new_line] - else: - return a1_lines - -def parse_line(line): - if not line: - return None - keys = ['start_str', 'end_str', 'start_num', 'end_num', - 'country_code', 'country_name'] - stripped_line = line.replace('"', '').strip() - parts = stripped_line.split(',') - entry = dict((k, v) for k, v in zip(keys, parts)) - return entry - -def format_line_with_other_country(original_entry, other_entry): - return '"%s","%s","%s","%s","%s","%s"' % (original_entry['start_str'], - original_entry['end_str'], original_entry['start_num'], - original_entry['end_num'], other_entry['country_code'], - other_entry['country_name'], ) - -def apply_manual_changes(assignments, manual_assignments): - if not manual_assignments: - return assignments - print '\nApplying manual changes...' - manual_dict = {} - for line in manual_assignments: - start_num = parse_line(line)['start_num'] - if start_num in manual_dict: - print ('Warning: duplicate start number in manual ' - 'assignments:\n %s\n %s\nDiscarding first entry.' % - (manual_dict[start_num], line, )) - manual_dict[start_num] = line - result = [] - for line in assignments: - entry = parse_line(line) - start_num = entry['start_num'] - if start_num in manual_dict: - manual_line = manual_dict[start_num] - manual_entry = parse_line(manual_line) - if entry['start_str'] == manual_entry['start_str'] and \ - entry['end_str'] == manual_entry['end_str'] and \ - entry['end_num'] == manual_entry['end_num']: - if len(manual_entry['country_code']) != 2: - print '-%s' % (line, ) # only remove, don't replace - del manual_dict[start_num] - elif entry['country_code'] != \ - manual_entry['country_code']: - new_line = format_line_with_other_country(entry, - manual_entry) - print '-%s\n+%s' % (line, new_line, ) - result.append(new_line) - del manual_dict[start_num] - else: - print ('Warning: not applying ineffective manual ' - 'change:\n %s\n %s' % (line, manual_line, )) - result.append(line) - else: - print ('Warning: not applying manual change that is only ' - 'a partial match:\n %s\n %s' % - (line, manual_line, )) - result.append(line) - elif 'country_code' in entry and \ - entry['country_code'] == 'A1': - print ('Warning: no manual replacement for A1 entry:\n %s' - % (line, )) - result.append(line) - else: - result.append(line) - if len(manual_dict) > 0: - print 'Warning: could not apply all manual assignments:' - for line in manual_dict.values(): - print ' %s' % (line, ) - return result - -def write_file(path, assignments, long_format=True): - if long_format: - output_lines = assignments - else: - output_lines = [] - for long_line in assignments: - entry = parse_line(long_line) - short_line = "%s,%s,%s" % (entry['start_num'], - entry['end_num'], entry['country_code'], ) - output_lines.append(short_line) - out_file = open(path, 'w') - out_file.write('\n'.join(output_lines)) - out_file.close() - -if __name__ == '__main__': - main() - diff --git a/src/config/geoip b/src/config/geoip index 01a7711982..67e74680c4 100644 --- a/src/config/geoip +++ b/src/config/geoip @@ -1,6 +1,7 @@ -# Last updated based on October 2 2013 Maxmind GeoLite Country -# Visit the following URL for details on the conversion: -# https://gitweb.torproject.org/tor.git/blob/HEAD:/src/config/README.geoip +# Last updated based on February 7 2014 Maxmind GeoLite2 Country +# wget http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.mmdb.gz +# gunzip GeoLite2-Country.mmdb.gz +# python mmdb-convert.py GeoLite2-Country.mmdb 16777216,16777471,AU 16777472,16778239,CN 16778240,16779263,AU @@ -70,36 +71,21 @@ 30015488,30408703,CN 30408704,33554431,KR 33554432,34603007,FR -34603008,34604543,EU 34604544,34605055,DE -34605056,34620415,EU 34620416,34620927,SE 34620928,34621439,IT -34621440,34636799,EU 34636800,34637311,DE -34637312,34646527,EU 34646528,34647551,DE -34647552,34648575,EU 34648576,34649087,GR -34649088,34659327,EU 34659328,34660351,GR -34660352,34664447,EU 34664448,34668543,DE -34668544,34673663,EU 34673664,34674687,DE -34674688,34733055,EU 34733056,34734079,DE -34734080,34754559,EU 34754560,34758655,GR -34758656,34803711,EU 34803712,34807807,IT -34807808,34861055,EU 34861056,34865151,DE -34865152,34866175,EU 34866176,34867199,IT -34867200,34880511,EU 34880512,34881535,DE -34881536,34910975,EU 34910976,34911231,ES 34911232,34911743,DE 34911744,34911999,AT @@ -107,56 +93,45 @@ 34912256,34912511,DE 34912512,34912767,ES 34912768,34913279,DE -34913280,34928383,EU 34928384,34928639,DE -34928640,34930687,EU 34930688,34938879,DE 34938880,34947071,FR -34947072,34953215,EU 34953216,34954751,AT 34954752,34955263,NL 34955264,34959359,AT 34959360,34963455,NL -34963456,34992127,EU 34992128,34993151,NL 34993152,34993663,FR 34993664,34993919,AT 34993920,34994175,DE 34994176,34995711,FR -34995712,34995967,EU 34995968,34996223,NL -34996224,34999295,EU 34999296,35001343,GB 35001344,35002367,FR -35002368,35008511,EU 35008512,35009023,FR -35009024,35010303,EU 35010304,35010559,BE 35010560,35011583,FR 35011584,35011839,CH -35011840,35020799,EU 35020800,35037183,GB 35037184,35054335,FR 35054336,35054591,GB -35054592,35055103,EU 35055104,35055359,ES -35055360,35055871,EU 35055872,35056127,NL -35056128,35059199,EU 35059200,35059711,GB -35059712,35060735,EU 35060736,35061247,GB 35061248,35061759,FR -35061760,35090431,EU 35090432,35094527,GR -35094528,35127295,EU 35127296,35651583,GB 35651584,36700159,IT 36700160,36962303,AE 36962304,37224447,IL 37224448,37486591,UA 37486592,37748735,RU -37748736,38273023,SE +37748736,38032383,SE +38032384,38032639,DK +38032640,38074879,SE +38074880,38075135,DK +38075136,38273023,SE 38273024,38797311,KZ 38797312,39059455,PT 39059456,39321599,GR @@ -183,7 +158,9 @@ 49807360,50331647,SE 50331648,57083940,US 57083941,57083941,BE -57083942,71020543,US +57083942,69094399,US +69094400,69094655,AU +69094656,71020543,US 71020544,71020799,CA 71020800,71571339,US 71571340,71571340,DE @@ -193,17 +170,7 @@ 71571714,71571715,DE 71571716,71595007,US 71595008,71595519,GB -71595520,71664639,US -71664640,71664692,GB -71664693,71664693,US -71664694,71664700,GB -71664701,71664701,US -71664702,71664704,GB -71664705,71664705,US -71664706,71664752,GB -71664753,71664753,US -71664754,71664895,GB -71664896,71665077,US +71595520,71665077,US 71665078,71665078,DE 71665079,71666464,US 71666465,71666465,DE @@ -241,14 +208,18 @@ 84021248,84023295,GB 84023296,84025343,ES 84025344,84033535,RU -84033536,84037631,NL +84033536,84035071,NL +84035072,84035327,NG +84035328,84037631,NL 84037632,84039679,TR 84039680,84041727,ES 84041728,84049919,GB 84049920,84082687,RO 84082688,84148223,RU 84148224,84410367,DE -84410368,84434943,RU +84410368,84428799,RU +84428800,84429823,DE +84429824,84434943,RU 84434944,84443135,IT 84443136,84451327,LB 84451328,84457471,RU @@ -260,24 +231,38 @@ 84545536,84549631,GB 84549632,84551679,GE 84551680,84557823,DE -84557824,84559211,NL -84559212,84559215,CN -84559216,84561215,NL +84557824,84557824,NL +84557825,84557825,US +84557826,84560635,NL +84560636,84560639,US +84560640,84561215,NL 84561216,84561247,US -84561248,84561639,NL +84561248,84561351,NL +84561352,84561359,MY +84561360,84561639,NL 84561640,84561647,ES 84561648,84561655,AF -84561656,84561727,NL +84561656,84561687,NL +84561688,84561695,US +84561696,84561727,NL 84561728,84561791,US -84561792,84563135,NL -84563136,84563143,LT -84563144,84563351,NL -84563352,84563359,CN -84563360,84563647,NL +84561792,84562383,NL +84562384,84562391,US +84562392,84562511,NL +84562512,84562527,US +84562528,84563647,NL 84563648,84563655,US 84563656,84563691,NL 84563692,84563695,GB -84563696,84565247,NL +84563696,84563703,NL +84563704,84563711,US +84563712,84564411,NL +84564412,84564415,US +84564416,84564663,NL +84564664,84564671,GB +84564672,84564871,NL +84564872,84564879,MY +84564880,84565247,NL 84565248,84565311,US 84565312,84565655,NL 84565656,84565663,US @@ -292,8 +277,7 @@ 84600832,84602879,GB 84602880,84606975,AZ 84606976,84609023,AT -84609024,84611071,GB -84611072,84615167,A2 +84609024,84615167,GB 84615168,84617215,IT 84617216,84619263,PS 84619264,84621311,DE @@ -321,9 +305,8 @@ 85387264,85389311,SE 85389312,85391359,DE 85391360,85393407,NL -85393408,85396479,EU +85395968,85396223,BE 85396480,85397503,ES -85397504,85401599,EU 85401600,85403647,IT 85403648,85405695,FR 85405696,85407743,RU @@ -387,36 +370,60 @@ 86442752,86443007,GB 86443008,86444319,FR 86444320,86444323,ES -86444324,86446427,FR +86444324,86446407,FR +86446408,86446408,DE +86446409,86446411,FR +86446412,86446412,DE +86446413,86446427,FR 86446428,86446431,DE -86446432,86447095,FR +86446432,86446619,FR +86446620,86446620,DE +86446621,86447095,FR 86447096,86447103,ES 86447104,86447255,FR 86447256,86447263,PL -86447264,86448803,FR +86447264,86447279,FR +86447280,86447280,DE +86447281,86447287,FR +86447288,86447288,DE +86447289,86448803,FR 86448804,86448807,FI 86448808,86448851,FR 86448852,86448855,IT 86448856,86448859,PT 86448860,86449363,FR 86449364,86449367,DE -86449368,86452671,FR +86449368,86449883,FR +86449884,86449884,DE +86449885,86450235,FR +86450236,86450239,GB +86450240,86452671,FR 86452672,86452735,GB 86452736,86453836,FR 86453837,86453838,PT 86453839,86454335,FR 86454336,86454343,DE -86454344,86456195,FR +86454344,86455623,FR +86455624,86455624,DE +86455625,86456195,FR 86456196,86456211,DE 86456212,86456351,FR 86456352,86456367,CH -86456368,86457087,FR +86456368,86457059,FR +86457060,86457060,DE +86457061,86457087,FR 86457088,86457091,DE -86457092,86467320,FR +86457092,86457111,FR +86457112,86457112,DE +86457113,86457455,FR +86457456,86457456,DE +86457457,86467320,FR 86467321,86467321,FI 86467322,86467999,FR 86468000,86468003,PL -86468004,86468447,FR +86468004,86468055,FR +86468056,86468056,DE +86468057,86468447,FR 86468448,86468479,CZ 86468480,86469183,FR 86469184,86469247,GB @@ -424,7 +431,9 @@ 86469692,86469695,DE 86469696,86470731,FR 86470732,86470735,BE -86470736,86473087,FR +86470736,86471179,FR +86471180,86471180,DE +86471181,86473087,FR 86473088,86473151,PT 86473152,86474307,FR 86474308,86474311,DE @@ -449,9 +458,9 @@ 86573056,86638591,RO 86638592,86671359,RU 86671360,86671615,JE -86671616,86672127,GB -86672128,86672383,JE -86672384,86673407,GB +86671616,86671871,GB +86671872,86672639,JE +86672640,86673407,GB 86673408,86675455,DE 86675456,86677503,IT 86677504,86679551,FR @@ -497,8 +506,8 @@ 86839296,86843391,GB 86847488,86849535,GB 86849536,86851583,CZ -86851584,86854655,NL -86854656,86859775,RU +86851584,86855679,NL +86855680,86859775,RU 86859776,86863871,DE 86863872,86867967,EE 86867968,86872063,JO @@ -551,34 +560,32 @@ 87638016,87640063,UA 87640064,87642111,RS 87642112,87646207,GB -87646208,87647231,FR -87647232,87647487,RE -87647488,87647743,FR +87646208,87646463,FR +87646464,87646719,RE +87646720,87647231,FR +87647232,87647743,RE 87647744,87647999,YT 87648000,87648511,FR -87648512,87648767,RE -87648768,87650303,FR -87650304,87650559,RE -87650560,87651071,FR -87651072,87651327,RE -87651328,87651583,FR +87648512,87649535,RE +87649536,87650047,FR +87650048,87650815,RE +87650816,87650943,FR +87650944,87651071,RE +87651072,87651583,FR 87651584,87651839,RE 87651840,87652095,FR 87652096,87652351,RE 87652352,87652607,FR -87652608,87653119,RE -87653120,87653375,FR -87653376,87653631,RE -87653632,87653887,FR +87652608,87653375,RE +87653376,87653887,FR 87653888,87654399,RE 87654400,87670783,PL 87670784,87672831,DE 87672832,87674879,CH 87674880,87676927,AE 87676928,87678975,RU -87678976,87679103,NL -87679104,87679231,ES -87679232,87681023,NL +87678976,87679999,ES +87680000,87681023,NL 87681024,87683071,RU 87683072,87685119,SE 87685120,87687167,NL @@ -587,7 +594,7 @@ 87818240,87883775,PL 87883776,87885823,IT 87885824,87889919,RU -87889920,87891967,IR +87889920,87891967,US 87891968,87902207,DE 87902208,87904255,IR 87904256,87906303,DE @@ -603,7 +610,8 @@ 87943168,87945215,RU 87945216,87947263,HU 87947264,87949311,NL -87949312,87982079,DE +87949312,87965695,GB +87965696,87982079,DE 87982080,88014847,RU 88014848,88016895,LY 88016896,88018943,IR @@ -622,9 +630,7 @@ 88061952,88063999,PL 88064000,88080383,HU 88080384,88604671,GB -88604672,88735743,RU -88735744,88737791,UA -88737792,88866815,RU +88604672,88866815,RU 88866816,88932351,KZ 88932352,88940543,RU 88940544,88948735,GB @@ -671,7 +677,9 @@ 90503168,90505215,IL 90505216,90529791,RU 90529792,90533887,NL -90533888,90546175,RU +90533888,90540031,RU +90540032,90544127,GB +90544128,90546175,RU 90546176,90548223,DE 90548224,90570751,RU 90570752,90578943,IT @@ -698,7 +706,6 @@ 90718208,90718719,DE 90718720,90719231,FR 90719232,90719487,AT -90719488,90719999,EU 90720000,90720255,GB 90720256,90722303,IQ 90722304,90724351,FI @@ -760,21 +767,27 @@ 92725248,92733439,SY 92733440,92734735,FR 92734736,92734739,DE -92734740,92735999,FR +92734740,92735615,FR +92735616,92735616,DE +92735617,92735875,FR +92735876,92735876,DE +92735877,92735999,FR 92736000,92736255,GB -92736256,92738719,FR +92736256,92736479,FR +92736480,92736480,DE +92736481,92738719,FR 92738720,92738727,GB 92738728,92747711,FR 92747712,92747775,GB 92747776,92749067,FR 92749068,92749071,GB -92749072,92757311,FR +92749072,92751711,FR +92751712,92751712,DE +92751713,92757311,FR 92757312,92757375,ES 92757376,92762127,FR 92762128,92762135,ES -92762136,92765443,FR -92765444,92765447,ES -92765448,92782687,FR +92762136,92782687,FR 92782688,92782719,ES 92782720,92786827,FR 92786828,92786831,IT @@ -813,9 +826,7 @@ 93652992,93655039,GB 93655040,93667327,CH 93667328,93675519,BA -93675520,93678463,IQ -93678464,93678591,US -93678592,93679615,IQ +93675520,93679615,IQ 93679616,93681663,LU 93681664,93683711,UA 93683712,93685759,AT @@ -848,33 +859,81 @@ 93906944,93908991,BA 93908992,93911039,IT 93911040,93913087,AE -93913088,93914357,NL +93913088,93913327,NL +93913328,93913335,US +93913336,93914357,NL 93914358,93914358,GB 93914359,93914710,NL 93914711,93914711,GB -93914712,93915279,NL -93915280,93915295,US -93915296,93915895,NL +93914712,93914975,NL +93914976,93914983,US +93914984,93915327,NL +93915328,93915391,US +93915392,93915855,NL +93915856,93915863,US +93915864,93915895,NL 93915896,93915903,AT -93915904,93915991,NL -93915992,93915999,US -93916000,93916527,NL +93915904,93916335,NL +93916336,93916343,US +93916344,93916527,NL 93916528,93916543,US -93916544,93917751,NL +93916544,93916971,NL +93916972,93916975,US +93916976,93917751,NL 93917752,93917759,US 93917760,93918103,NL 93918104,93918111,US -93918112,93918655,NL +93918112,93918215,NL +93918216,93918223,US +93918224,93918555,NL +93918556,93918559,US +93918560,93918591,NL +93918592,93918599,US +93918600,93918655,NL 93918656,93918687,US 93918688,93919263,NL 93919264,93919279,US -93919280,93919487,NL +93919280,93919391,NL +93919392,93919395,US +93919396,93919487,NL 93919488,93919551,US -93919552,93921055,NL +93919552,93919951,NL +93919952,93919959,US +93919960,93920059,NL +93920060,93920063,US +93920064,93920163,NL +93920164,93920167,US +93920168,93920575,NL +93920576,93920639,US +93920640,93921055,NL 93921056,93921059,US 93921060,93921063,NL 93921064,93921071,GB -93921072,93929471,NL +93921072,93923551,NL +93923552,93923559,US +93923560,93923567,NL +93923568,93923575,US +93923576,93923855,NL +93923856,93923863,US +93923864,93924119,NL +93924120,93924123,US +93924124,93924407,NL +93924408,93924415,JP +93924416,93924591,NL +93924592,93924599,US +93924600,93924927,NL +93924928,93924935,ES +93924936,93925783,NL +93925784,93925791,US +93925792,93926399,NL +93926400,93926463,US +93926464,93926527,NL +93926528,93926591,US +93926592,93927143,NL +93927144,93927151,JP +93927152,93927231,NL +93927232,93927247,CL +93927248,93929471,NL 93929472,93939711,GB 93939712,93941759,NO 93941760,93945855,CH @@ -901,9 +960,7 @@ 94187264,94188287,AT 94188288,94189311,SE 94189312,94189567,LI -94189568,94190079,NO -94190080,94191103,GB -94191104,94191615,SE +94189568,94191615,SE 94191616,94193663,GB 94193664,94195711,SI 94195712,94199807,NL @@ -964,8 +1021,7 @@ 95365120,95367167,ES 95367168,95369215,IT 95369216,95371263,GB -95371264,95374591,IT -95374592,95375359,EU +95371264,95375359,IT 95375360,95377407,NL 95377408,95387647,RU 95387648,95420415,DE @@ -1004,17 +1060,19 @@ 96153600,96155647,PL 96155648,96157695,CH 96157696,96165887,RU -96165888,96167935,FR +96165888,96166143,GP +96166144,96167167,FR +96167168,96167423,GP +96167424,96167679,FR +96167680,96167935,GP 96167936,96168191,MQ 96168192,96169215,FR 96169216,96169727,MQ -96169728,96174079,FR +96169728,96170751,FR +96170752,96171007,GF +96171008,96174079,FR 96174080,96206847,HU -96206848,96272383,RU -96272384,96280575,PA -96280576,96284671,RU -96284672,96288767,PA -96288768,96337919,RU +96206848,96337919,RU 96337920,96403455,IR 96403456,96468991,AZ 96468992,96731135,RO @@ -1055,13 +1113,8 @@ 97447936,97452031,PL 97452032,97517567,UA 97517568,98566143,IR -98566144,98620415,NL -98620416,98620671,SS -98620672,98685951,NL -98685952,98686207,SS -98686208,98697215,NL -98697216,98699263,GB -98699264,98701311,FR +98566144,98697215,NL +98697216,98701311,FR 98701312,98705407,ES 98705408,98707455,SE 98707456,98709503,NL @@ -1102,8 +1155,21 @@ 100329472,100331519,RU 100331520,100335615,TR 100335616,100401151,KZ -100532224,100564991,RO -100564992,100573183,SE +100532224,100559551,RO +100559552,100559615,GB +100559616,100559743,RO +100559744,100559871,GB +100559872,100559935,US +100559936,100560127,RO +100560128,100560383,US +100560384,100560895,RO +100560896,100560959,GB +100560960,100561023,RO +100561024,100561151,GB +100561152,100564991,RO +100564992,100566527,SE +100566528,100566783,FR +100566784,100573183,SE 100573184,100575231,GB 100575232,100577279,DK 100577280,100579327,RU @@ -1118,9 +1184,7 @@ 100636672,100638719,NL 100638720,100646911,UA 100646912,100663295,RU -100663296,134738943,US -134738944,134739199,CA -134739200,134874866,US +100663296,134874866,US 134874867,134874867,DO 134874868,135192575,US 135192576,135193343,MX @@ -1132,42 +1196,30 @@ 135195392,135195647,MX 135195648,135197951,US 135197952,135198207,MX -135198208,135430143,US -135430144,135430399,CA -135430400,135432191,US -135432192,135434239,CA -135434240,135441407,US -135441408,135441663,CA -135441664,135607039,US +135198208,135607039,US 135607040,135607295,CA -135607296,135790591,US -135790592,135791103,CA -135791104,135792639,US -135792640,135794687,CA -135794688,136237055,US -136237056,136239103,CA -136239104,136415487,US -136415488,136415665,CA +135607296,135776255,US +135776256,135776511,GU +135776512,135790847,US +135790848,135791615,CA +135791616,136415665,US 136415666,136415666,FR -136415667,136415743,CA -136415744,136699903,US -136699904,136700415,A2 -136700416,136700671,IN -136700672,136703999,A2 -136704000,152305663,US +136415667,136700159,US +136700160,136700415,IN +136700416,152305663,US 152305664,152338431,GB 152338432,167772159,US -184549376,202826495,US -202826496,202826751,GB -202826752,204047871,US +184549376,203659007,US +203659008,203659263,VI +203659264,204047487,US +204047488,204047615,VI +204047616,204047871,US 204047872,204047999,PR 204048000,204048031,US 204048032,204048047,PR 204048048,209867103,US 209867104,209867111,CA -209867112,210875647,US -210875648,210875903,MX -210875904,211126783,US +209867112,211126783,US 211126784,211126911,PR 211126912,211263999,US 211264000,211264255,SA @@ -1187,15 +1239,7 @@ 212793088,212793343,PR 212793344,212794575,US 212794576,212794583,VI -212794584,213766399,US -213766400,213766655,CA -213766656,214698071,US -214698072,214698087,VI -214698088,214698111,US -214698112,214698119,VI -214698120,214698127,US -214698128,214698135,VI -214698136,214698239,US +212794584,214698239,US 214698240,214698255,VI 214698256,214698303,US 214698304,214698311,VI @@ -1208,26 +1252,14 @@ 216417664,216417727,PR 216417728,217709055,US 217709056,217709311,PR -217709312,219187465,US -219187466,219187467,EU -219187468,219512063,US +217709312,219512063,US 219512064,219512319,GB 219512320,234881023,US 234881024,234883071,CN 234883072,234884095,JP 234884096,234885119,CN 234885120,234889215,VN -234889216,234893311,JP -234893312,234895359,KR -234895360,234895615,TW -234895616,234895935,MY -234895936,234896127,TH -234896128,234896383,MN -234896384,234896639,SA -234896640,234896895,AE -234896896,234897151,KR -234897152,234897407,TW -234897408,234913791,KR +234889216,234913791,KR 234913792,234946559,HK 234946560,234947583,CN 234947584,234950655,JP @@ -1297,19 +1329,31 @@ 248446976,248512511,TH 248512512,249561087,CN 249561088,251658239,VN -251658240,264485119,US -264485120,264485375,EU -264485376,264997119,US -264997120,264997375,EU -264997376,265005311,US -265005312,265005567,EU -265005568,265025791,US -265025792,265026047,GB -265026048,265525503,US -265525504,265525759,AP -265525760,265529599,US -265529600,265529855,AP -265529856,266062079,US +251658240,260976639,US +260976640,260980735,GB +260980736,264482815,US +264482816,264485119,DE +264485120,264485375,US +264485376,264486911,DE +264486912,264495103,US +264495104,264503295,CH +264503296,264634367,US +264634368,264667135,DE +264667136,264699903,US +264699904,264716287,CH +264716288,264798207,US +264798208,264802303,GB +264802304,264994815,US +264994816,264997119,FR +264997120,264997375,US +264997376,265005311,FR +265005312,265005567,US +265005568,265011199,FR +265011200,265023487,US +265023488,265027583,GB +265027584,265060351,US +265060352,265093119,FR +265093120,266062079,US 266062080,266062335,IN 266062336,266070271,US 266070272,266070527,AU @@ -1340,16 +1384,55 @@ 289628416,289628671,US 289628672,289652735,GB 289652736,289653759,NL -289653760,289669119,GB +289653760,289657855,GB +289657856,289658879,AE +289658880,289669119,GB 289669120,289734655,FR 289734656,289746943,GB 289746944,289748991,US 289748992,289752063,ES 289752064,289760255,US 289760256,289763327,DE -289763328,289959423,US +289763328,289948927,US +289948928,289949055,AT +289949056,289949695,US +289949696,289950207,NL +289950208,289950463,PL +289950464,289950719,PT +289950720,289950975,CZ +289950976,289951231,US +289951232,289951487,RU +289951488,289951743,US +289951744,289952255,DK +289952256,289952767,US +289952768,289953791,GB +289953792,289954303,US +289954304,289954559,ES +289954560,289955839,US +289955840,289955967,FI +289955968,289956095,US +289956096,289956223,NO +289956224,289956351,US +289956352,289956479,DK +289956480,289956607,US +289956608,289956735,NL +289956736,289956863,IN +289956864,289957119,ES +289957120,289957375,US +289957376,289957631,SE +289957632,289957887,US +289957888,289958143,LU +289958144,289958399,US +289958400,289958655,IN +289958656,289958911,US +289958912,289959423,IT 289959424,289959935,DK -289959936,290264063,US +289959936,289960447,DE +289960448,289960959,US +289960960,289961471,BY +289961472,289963007,US +289963008,289964031,FR +289964032,290264063,US 290264064,290264575,AT 290264576,290267135,US 290267136,290269183,NL @@ -1396,22 +1479,17 @@ 290513664,290513919,MY 290513920,344260607,US 344260608,344260863,GB -344260864,344261119,EU -344261120,344261778,US -344261779,344261779,EU -344261780,344262655,US +344260864,344262655,US 344262656,344262911,GB -344262912,344268817,US -344268818,344268818,EU -344268819,344270860,US +344262912,344270847,US +344270848,344270860,DE 344270861,344270861,GB -344270862,344270932,US -344270933,344270933,DE -344270934,344588543,US +344270862,344271103,DE +344271104,344588543,US 344588544,344589055,GB 344589056,344592895,US 344592896,344592945,GB -344592946,344592946,EU +344592946,344592946,US 344592947,344593151,GB 344593152,344593638,US 344593639,344593639,SE @@ -1429,9 +1507,7 @@ 344675072,344675121,AU 344675122,344676145,IN 344676146,344719359,AU -344719360,344880127,US -344880128,344880383,EU -344880384,344881151,US +344719360,344881151,US 344881152,344881407,IN 344881408,344977407,US 344977408,344977663,IN @@ -1442,28 +1518,70 @@ 387055616,387121151,PR 387121152,387825663,US 387825664,387833855,CA -387833856,391110655,US +387833856,390733823,US +390733824,390737919,NL +390737920,390746111,US +390746112,390758399,NL +390758400,390770687,US +390770688,390778879,NL +390778880,390946815,US +390946816,390955007,NL +390955008,390995967,US +390995968,391020543,NL +391020544,391081983,US +391081984,391086079,NL +391086080,391110655,US 391110656,391110911,IL 391110912,391111167,GB -391111168,391872511,US +391111168,391114751,NL +391114752,391872511,US 391872512,391888895,CA -391888896,391938047,US +391888896,391897087,US +391905280,391938047,US 391938048,391946239,CA -391946240,391958527,US -391970816,394264575,US +391946240,394264575,US 398458880,400760831,US 400760832,400769023,CA -400769024,400883711,US -400883712,400912383,CA +400769024,400805887,US +400805888,400809983,CA +400809984,400911103,US +400911104,400911359,PA +400911360,400911615,AU +400911616,400911871,CR +400911872,400912127,US +400912128,400912383,SG 400912384,401145855,US -401145856,401178623,CA -401211392,401244159,US -401604608,402128895,US -402653184,405012479,US +401145856,401211391,CA +401211392,401293311,US +401293312,401297407,CA +401297408,401342463,US +401342464,401346559,BB +401346560,401547263,US +401547264,401555455,CA +401555456,402128895,US +402128896,402169855,CA +402169856,402223103,US +402223104,402227199,CA +402227200,402231295,PR +402231296,402239301,US +402239302,402239302,CA +402239303,402243583,US +402243584,402247679,CA +402247680,402263807,US +402263808,402264063,CA +402264064,402366463,US +402366464,402374655,CA +402374656,402399231,US +402399232,402403327,CA +402403328,402415615,US +402415616,402417663,CA +402417664,402522111,US +402554880,405012479,US 405012480,405143551,CA 405143552,405180415,US 405180416,405184511,CA -405184512,405372927,US +405184512,405364735,US +405364736,405372927,CA 405372928,405422079,PR 405422080,405798911,US 405798912,405831679,CA @@ -1473,12 +1591,13 @@ 405864448,405921791,US 405921792,405929983,CA 405929984,405938175,US -405946368,405962751,CA +405938176,405962751,CA 405962752,405970943,US 405979136,405995519,PR 406003712,406011903,US 406011904,406028287,BS -406028288,406110207,US +406028288,406052863,US +406061056,406110207,US 406110208,406142975,CA 406142976,406147071,US 406147072,406151167,CA @@ -1493,7 +1612,13 @@ 406306816,406323199,CA 406323200,406388735,US 406388736,406454271,CA -406454272,406847487,US +406454272,406683647,US +406683648,406683903,CA +406683904,406684031,US +406684032,406684159,CA +406684160,406838783,US +406838784,406838911,CA +406838912,406847487,US 406847488,407408639,CA 407408640,407613439,US 407613440,407617535,CA @@ -1509,7 +1634,9 @@ 409255936,409272319,CA 409272320,409337855,US 409337856,409354239,CA -409370624,409731071,US +409370624,409509887,US +409534464,409550847,US +409567232,409731071,US 409731072,409862143,CA 409862144,410124287,US 410124288,410189823,CA @@ -1532,14 +1659,14 @@ 411762688,411770879,CA 411770880,411779071,US 411779072,411828223,PR -411828224,411893759,US +411828224,411885567,US 411893760,411975679,CA 411975680,411979775,US 411979776,411983871,CA -411983872,411988735,US -411988736,411988991,EU +411983872,411988991,US 411988992,411989247,GB -411989248,412221439,US +411989248,412057599,US +412073984,412221439,US 412221440,412229631,CA 412254208,412483583,US 412483584,412549119,CA @@ -1549,7 +1676,8 @@ 412688384,412704767,US 412704768,412708863,CA 412708864,412909567,US -412909568,412942335,CA +412909568,412921855,CA +412925952,412942335,CA 412942336,412946431,US 412946432,412950527,PR 412950528,412958719,US @@ -1607,8 +1735,7 @@ 452985856,452986879,MY 452986880,452987903,SG 452987904,452988927,VN -452988928,452993023,US -452993024,452997119,JP +452988928,452997119,JP 452997120,453001215,IN 453001216,453009407,AU 453009408,453017599,BD @@ -1740,7 +1867,7 @@ 460587008,460591103,JP 460591104,460593151,IN 460593152,460595199,JP -460595200,460595711,IN +460595200,460595711,SG 460595712,460596223,JP 460596224,460597247,AU 460598272,460599295,CN @@ -1756,10 +1883,8 @@ 460931072,460933119,AU 460933120,460935167,CN 460935168,460937215,ID -460937216,460937471,NZ -460937472,460937727,AU -460937728,460937983,NZ -460937984,460938239,AU +460937216,460937727,NZ +460937728,460938239,AU 460938240,460939263,JP 460939264,460940287,NZ 460940288,460941311,IN @@ -1885,9 +2010,7 @@ 520491392,520491647,IT 520491648,520491775,IS 520491776,520492031,IE -520492032,520492543,GB -520492544,520492799,IT -520492800,520493055,GB +520492032,520493055,GB 520493056,520494079,IT 520494080,520494335,FR 520494336,520494591,IT @@ -1902,8 +2025,7 @@ 520497920,520498175,FR 520498176,520498431,CH 520498432,520498687,SE -520498688,520498943,IT -520498944,520499199,FR +520498688,520499199,FR 520499200,520500223,IT 520500224,520500479,LU 520500480,520500735,DE @@ -1967,8 +2089,7 @@ 520986624,520988671,PS 520988672,520990719,DE 520990720,520992767,RU -520994816,521010175,BG -521010176,521011199,DE +520994816,521011199,BG 521011200,521057279,RO 521057280,521058303,MD 521058304,521076735,RO @@ -1980,8 +2101,7 @@ 521093120,521095167,DE 521095168,521097215,IT 521097216,521101311,RU -521101312,521102335,US -521102336,521103359,IT +521101312,521103359,IT 521103360,521105407,GB 521105408,521107455,IS 521107456,521109503,FI @@ -2156,7 +2276,11 @@ 523010048,523014143,IL 523014144,523018239,ES 523018240,523022335,IT -523022336,523026431,RU +523022336,523024895,RU +523024896,523025407,DE +523025408,523025663,NL +523025664,523025919,CH +523025920,523026431,RU 523026432,523030527,TR 523030528,523034623,FR 523034624,523038719,SE @@ -2276,9 +2400,7 @@ 529596416,529661951,TR 529661952,529727487,GE 529727488,529793023,HR -529793024,529817343,CZ -529817344,529817599,RU -529817600,529826815,CZ +529793024,529826815,CZ 529826816,529827839,RU 529827840,529828863,CZ 529828864,529835007,RU @@ -2295,7 +2417,8 @@ 529846272,529847295,CZ 529847296,529848319,RU 529848320,529848575,NL -529848576,529849087,CZ +529848576,529848831,CZ +529848832,529849087,UA 529849088,529849599,NL 529849600,529850111,CZ 529850112,529850367,RU @@ -2348,7 +2471,8 @@ 531281920,531283967,RU 531283968,531292159,DE 531292160,531333119,AZ -531333120,531335167,NL +531333120,531334655,NL +531334656,531335167,US 531335168,531337215,IT 531337216,531339263,CH 531339264,531341311,AL @@ -2364,7 +2488,9 @@ 531372288,531372543,CH 531372544,531372799,DE 531372800,531380223,CH -531380224,531398655,DE +531380224,531382271,DE +531382272,531394559,CH +531394560,531398655,DE 531398656,531400703,RU 531400704,531402751,UA 531402752,531404799,LU @@ -2373,15 +2499,12 @@ 531408896,531415039,PL 531415040,531423231,RU 531423232,531425279,NO -531425280,531428351,GB +531425280,531427327,FR +531427328,531428351,GB 531428352,531428359,IT 531428360,531428495,GB 531428496,531428503,IT -531428504,531428583,GB -531428584,531428591,IT -531428592,531428967,GB -531428968,531428975,IT -531428976,531429135,GB +531428504,531429135,GB 531429136,531429143,IT 531429144,531429167,GB 531429168,531429175,IT @@ -2391,9 +2514,11 @@ 531429392,531429399,IT 531429400,531429407,GB 531429408,531429415,IT -531429416,531430007,GB -531430008,531430015,IT -531430016,531430079,GB +531429416,531429599,GB +531429600,531429607,IT +531429608,531429679,GB +531429680,531429687,IT +531429688,531430079,GB 531430080,531430087,IT 531430088,531430319,GB 531430320,531430327,IT @@ -2403,11 +2528,11 @@ 531430824,531430831,IT 531430832,531430847,GB 531430848,531430855,IT -531430856,531430927,GB +531430856,531430903,GB +531430904,531430911,IT +531430912,531430927,GB 531430928,531430935,IT -531430936,531431407,GB -531431408,531431415,IT -531431416,531431423,GB +531430936,531431423,GB 531431424,531496959,RO 531496960,531628031,PL 531628032,531660799,TR @@ -2433,7 +2558,15 @@ 532152320,532168703,DE 532168704,532185087,NL 532185088,532201471,IR -532201472,532221951,RU +532201472,532209663,RU +532209664,532210687,DE +532210688,532211711,RU +532211712,532212223,LU +532212224,532213759,RU +532213760,532214015,GB +532214016,532214783,RU +532214784,532215807,DE +532215808,532221951,RU 532221952,532223999,IT 532224000,532226047,NO 532226048,532234239,GB @@ -2466,14 +2599,17 @@ 532341504,532341759,DE 532341760,532344319,GB 532344320,532344575,FR -532344576,532344831,GB -532344832,532346879,US -532346880,532347391,GB +532344576,532347391,GB 532347392,532347903,DE 532347904,532348671,GB 532348672,532348927,NL 532348928,532365311,PL -532365312,532373503,DE +532365312,532365567,LU +532365568,532365823,NL +532365824,532366079,DE +532366080,532366335,NL +532366336,532371455,DE +532371456,532373503,NL 532373504,532375551,RU 532375552,532377599,IT 532377600,532381695,DE @@ -2527,9 +2663,7 @@ 533256192,533262335,RU 533262336,533264383,ES 533264384,533266431,RU -533266432,533320703,FR -533320704,533320959,SS -533320960,533331967,FR +533266432,533331967,NL 533331968,533397503,UA 533397504,533463039,KW 533463040,533479423,RU @@ -2539,7 +2673,9 @@ 533485568,533487615,LU 533487616,533491711,RU 533491712,533495807,DE -533495808,533503999,NL +533495808,533500159,NL +533500160,533500415,JP +533500416,533503999,NL 533504000,533512191,RU 533512192,533528575,ME 533528576,533594111,GB @@ -2580,7 +2716,9 @@ 533895168,533897215,TR 533897216,533899263,DE 533899264,533901311,RU -533901312,533905407,IL +533901312,533904383,IL +533904384,533904639,FR +533904640,533905407,IL 533905408,533913599,RU 533913600,533915647,ES 533915648,533919743,GB @@ -2596,8 +2734,7 @@ 534118400,534151167,KW 534151168,534177791,DE 534177792,534179839,NL -534179840,534181887,US -534181888,534183935,DE +534179840,534183935,DE 534183936,534249471,RO 534249472,534253567,GB 534253568,534257663,FR @@ -2635,10 +2772,14 @@ 534513216,534513279,VG 534513280,534513663,NL 534513664,534514687,US -534514688,534517759,DE +534514688,534515711,DE +534515712,534517759,US 534517760,534518783,NL 534518784,534519039,DE -534519040,534519263,NL +534519040,534519167,NL +534519168,534519199,KP +534519200,534519231,VA +534519232,534519263,AQ 534519264,534519295,IT 534519296,534519327,NL 534519328,534519359,PK @@ -2648,11 +2789,14 @@ 534519456,534519487,BR 534519488,534519519,MX 534519520,534519551,CN -534519552,534521855,US +534519552,534519807,GB +534519808,534521855,US 534521856,534522367,DE 534522368,534522879,NL -534522880,534523903,DE -534523904,534527999,LT +534522880,534523135,DE +534523136,534523391,NL +534523392,534523903,DE +534523904,534527999,US 534528000,534544383,DE 534544384,534546431,RO 534546432,534548479,DE @@ -2686,7 +2830,7 @@ 534773760,536870911,DE 536870912,539623423,US 539623424,539624577,NL -539624578,539624578,EU +539624578,539624578,US 539624579,539627519,NL 539627520,539629743,US 539629744,539629751,GB @@ -2713,9 +2857,11 @@ 540737759,540803071,BZ 540803072,540811263,US 540811264,540814335,SG -540814336,540814591,AP +540814336,540814591,US 540814592,540815359,SG -540815360,540826383,US +540815360,540820959,US +540820960,540820975,CA +540820976,540826383,US 540826384,540826399,CA 540826400,543752191,US 543752192,543752447,BM @@ -2768,16 +2914,14 @@ 543843584,543843839,DK 543843840,543844095,AT 543844096,543844351,US -543844352,543844863,CH -543844864,543845119,US +543844352,543845119,CH 543845120,543846143,DE 543846144,543846655,HR 543846656,543846911,BG 543846912,543847167,SI 543847168,543847423,HU 543847424,543848447,US -543848448,543850495,ES -543850496,543850751,US +543848448,543850751,ES 543850752,543851775,IE 543851776,543852031,DK 543852032,543852543,US @@ -2801,11 +2945,14 @@ 543864064,543864575,FI 543864576,543864831,US 543864832,543865343,PK -543865344,543865855,US +543865344,543865599,CZ +543865600,543865855,US 543865856,543866879,GB 543866880,543870975,NL 543870976,543872511,ES -543872512,543874047,US +543872512,543872767,BE +543872768,543873023,NL +543873024,543874047,US 543874048,543875583,FR 543875584,543877119,DE 543877120,543878655,BE @@ -2816,9 +2963,7 @@ 544436772,544436775,CA 544436776,586973439,US 586973440,586973695,CA -586973696,586975999,US -586976000,586976255,AP -586976256,586977023,US +586973696,586977023,US 586977024,586977279,AU 586977280,587006719,US 587006720,587006975,GB @@ -2839,7 +2984,8 @@ 606420992,606437375,ID 606437376,606470143,KH 606470144,606601215,KR -606601216,607387647,CN +606601216,607256575,CN +607322112,607387647,CN 607387648,607649791,JP 607649792,608174079,CN 608174080,610271231,ID @@ -2867,9 +3013,9 @@ 620789760,620810239,HR 620810240,620822527,LT 620822528,620845055,RU -620845056,620845193,GB -620845194,620845201,DE -620845202,620845503,GB +620845056,620845191,GB +620845192,620845199,DE +620845200,620845503,GB 620845504,620845567,SI 620845568,620849151,GB 620849152,620851199,NL @@ -2937,15 +3083,16 @@ 621928448,621932543,DE 621932544,621934591,UA 621934592,621936639,SE -621936640,621939455,RU -621939456,621939458,GE +621936640,621938687,RU +621938688,621939458,GE 621939459,621939459,RU -621939460,621940479,GE +621939460,621939711,GE +621939712,621940479,RU 621940480,621942527,GB 621942528,621969407,RU 621971456,621971711,GB -621971712,621971967,IM -621971968,621972479,GB +621971712,621972223,IM +621972224,621972479,GB 621972480,621972735,IM 621972736,621973503,GB 621973504,621975551,IE @@ -3001,7 +3148,8 @@ 622510080,622512127,PL 622512128,622514175,DE 622514176,622518271,NO -622518272,622520319,NL +622518272,622519295,NL +622519296,622520319,FR 622520320,622522367,RU 622522368,622524415,FR 622524416,622526463,ES @@ -3043,7 +3191,7 @@ 623052800,623054847,RS 623054848,623058943,FI 623058944,623067135,RO -623067136,623069183,AL +623067136,623069183,RS 623069184,623071231,GB 623071232,623073279,FI 623073280,623075327,GB @@ -3075,18 +3223,20 @@ 623794176,623796223,ES 623796224,623798271,GB 623798272,623800319,GE -623800320,623800380,SE -623800381,623801087,LU -623801088,623801343,US -623801344,623801855,LU -623801856,623803135,SE +623800320,623801087,SE +623801088,623801599,US +623801600,623801855,SE +623801856,623802111,NL +623802112,623803135,SE 623803136,623804415,NL 623804416,623806463,RU 623806464,623808511,NL 623808512,623810559,RU 623810560,623812607,ES 623812608,623820799,SE -623820800,623822847,NL +623820800,623821823,NL +623821824,623822335,US +623822336,623822847,NL 623822848,623824895,GB 623824896,623826943,CZ 623826944,623837183,UA @@ -3116,30 +3266,70 @@ 624566272,624568319,RU 624568320,624570367,BE 624570368,624574463,DE -624574464,624575063,NL +624574464,624574715,NL +624574716,624574719,US +624574720,624574919,NL +624574920,624574927,US +624574928,624575063,NL 624575064,624575071,US 624575072,624575135,NL 624575136,624575143,US -624575144,624576887,NL +624575144,624575399,NL +624575400,624575403,US +624575404,624575679,NL +624575680,624575743,US +624575744,624575883,NL +624575884,624575887,US +624575888,624576127,NL +624576128,624576131,US +624576132,624576471,NL +624576472,624576479,US +624576480,624576887,NL 624576888,624576895,GB 624576896,624577135,NL 624577136,624577139,GB 624577140,624577151,NL 624577152,624577215,GB -624577216,624578719,NL +624577216,624577307,NL +624577308,624577311,US +624577312,624577483,NL +624577484,624577487,US +624577488,624578719,NL 624578720,624578723,GB -624578724,624579423,NL +624578724,624578951,NL +624578952,624578955,US +624578956,624579075,NL +624579076,624579079,US +624579080,624579423,NL 624579424,624579455,US -624579456,624580132,NL +624579456,624579495,NL +624579496,624579499,US +624579500,624579527,NL +624579528,624579531,US +624579532,624579623,NL +624579624,624579627,US +624579628,624580132,NL 624580133,624580133,GB 624580134,624580151,NL 624580152,624580159,ES -624580160,624581599,NL +624580160,624581071,NL +624581072,624581087,US +624581088,624581135,NL +624581136,624581139,US +624581140,624581199,NL +624581200,624581207,GB +624581208,624581599,NL 624581600,624581631,US -624581632,624590847,NL -624590848,624640183,FR -624640184,624640187,ES -624640188,624640951,FR +624581632,624582123,NL +624582124,624582127,US +624582128,624582139,NL +624582140,624582147,US +624582148,624582287,NL +624582288,624582295,US +624582296,624582399,NL +624582400,624582403,US +624582404,624590847,NL +624590848,624640951,FR 624640952,624640959,PT 624640960,624658323,FR 624658324,624658327,IE @@ -3161,19 +3351,17 @@ 624676004,624676007,DE 624676008,624676087,FR 624676088,624676091,DE -624676092,624683777,FR -624683778,624683781,DE -624683782,624683785,FR -624683786,624683789,DE -624683790,624683975,FR +624676092,624683775,FR +624683776,624683779,DE +624683780,624683783,FR +624683784,624683787,DE +624683788,624683975,FR 624683976,624683983,GB 624683984,624684207,FR 624684208,624684211,ES 624684212,624684799,FR 624684800,624684803,DE -624684804,624684839,FR -624684840,624684843,ES -624684844,624687343,FR +624684804,624687343,FR 624687344,624687346,CZ 624687347,624688731,FR 624688732,624688735,PL @@ -3192,7 +3380,7 @@ 624723968,624726015,BG 624726016,624728063,PS 624728064,624730111,FR -624730112,624732159,A2 +624730112,624732159,DK 624732160,624734207,DE 624734208,624736255,RU 624736256,624738303,FR @@ -3262,7 +3450,7 @@ 625786880,625795071,PS 625795072,625803263,SA 625803264,625811455,TR -625811456,625815551,NL +625811456,625815551,FR 625815552,625817599,IQ 625817600,625817911,NL 625817912,625817915,GB @@ -3295,7 +3483,6 @@ 627230720,627232767,IR 627232768,627236863,PL 627236864,627238911,IQ -627238912,627240959,EU 627240960,627245055,RU 627245056,627277823,KZ 627277824,627294207,SA @@ -3329,7 +3516,9 @@ 628277248,628293631,IR 628293632,628359167,UA 628359168,628621311,IT -628621312,628686847,RO +628621312,628662271,RO +628662272,628670463,DE +628670464,628686847,RO 628686848,628752383,SA 628752384,628785151,RU 628785152,628787199,CH @@ -3352,10 +3541,8 @@ 628847360,628847615,FR 628847616,628848639,GB 628848640,628850687,DE -628850688,628850943,SE -628850944,628851199,NO -628851200,628851967,SE -628851968,628852223,NO +628850688,628851711,SE +628851712,628852223,NO 628852224,628867071,SE 628867072,628869119,IR 628869120,628871167,PL @@ -3411,12 +3598,10 @@ 629879808,629880063,DE 629880064,629880831,RU 629880832,629881855,EE -629881856,629882879,LT +629881856,629882879,DE 629882880,629883135,GB 629883136,629883391,AU -629883392,629883903,EU 629883904,629884159,AU -629884160,629884415,EU 629884416,629884671,CL 629884672,629884927,AU 629884928,629886975,PL @@ -3434,8 +3619,7 @@ 629985280,629987327,TR 629987328,629989375,SE 629989376,629991423,FR -629991424,629992447,NL -629992448,629993471,US +629991424,629993471,NL 629993472,629997567,JO 629997568,630063103,SA 630063104,630128639,IL @@ -3496,7 +3680,9 @@ 630816768,630833151,RO 630833152,630849535,NL 630849536,630980607,TR -630980608,631001087,RO +630980608,630998271,RO +630998272,630998783,MD +630998784,631001087,RO 631001088,631005183,MD 631005184,631046143,RO 631046144,631048191,DK @@ -3524,8 +3710,9 @@ 631242752,632291327,FR 632291328,632815615,IT 632815616,632946687,BE -632946688,632995839,AT -632995840,633012223,IT +632946688,632963071,AT +632963072,632979455,AM +632979456,633012223,IT 633012224,633077759,FR 633077760,633094143,RU 633094144,633098239,NL @@ -3570,9 +3757,9 @@ 634075136,634077183,NL 634077184,634093567,BA 634093568,634109951,GB -634109952,634111231,IE -634111232,634111487,GB -634111488,634111999,IE +634109952,634110975,IE +634110976,634111231,GB +634111232,634111999,IE 634112000,634114047,RU 634114048,634116095,SE 634116096,634118143,NL @@ -3618,7 +3805,7 @@ 634517504,634519551,LB 634519552,634650623,QA 634650624,634912767,BY -634912768,635043839,RO +634912768,635043839,SA 635043840,635076607,ES 635076608,635092991,KG 635092992,635097087,CY @@ -3635,25 +3822,15 @@ 635187200,635191295,FR 635191296,635195391,RS 635195392,635197439,RU -635197440,635199495,GB -635199496,635199503,IT -635199504,635199583,GB -635199584,635199607,IT +635197440,635199591,GB +635199592,635199607,IT 635199608,635199647,GB 635199648,635199655,IT 635199656,635199663,GB 635199664,635199671,IT -635199672,635199735,GB -635199736,635199743,IT -635199744,635199775,GB +635199672,635199775,GB 635199776,635199783,IT -635199784,635200047,GB -635200048,635200055,IT -635200056,635200071,GB -635200072,635200079,IT -635200080,635200143,GB -635200144,635200151,IT -635200152,635200167,GB +635199784,635200167,GB 635200168,635200175,IT 635200176,635200199,GB 635200200,635200207,IT @@ -3669,9 +3846,11 @@ 635200432,635200439,IT 635200440,635200631,GB 635200632,635200639,IT -635200640,635200799,GB -635200800,635200807,IT -635200808,635200959,GB +635200640,635200727,GB +635200728,635200735,IT +635200736,635200903,GB +635200904,635200911,IT +635200912,635200959,GB 635200960,635200967,IT 635200968,635200991,GB 635200992,635200999,IT @@ -3679,11 +3858,11 @@ 635201088,635201095,IT 635201096,635201159,GB 635201160,635201167,IT -635201168,635201247,GB -635201248,635201263,IT -635201264,635201383,GB -635201384,635201391,IT -635201392,635203583,GB +635201168,635201255,GB +635201256,635201263,IT +635201264,635201455,GB +635201456,635201463,IT +635201464,635203583,GB 635203584,635207679,JO 635207680,635211775,HU 635211776,635213823,NL @@ -3695,7 +3874,8 @@ 635273216,635281407,UA 635281408,635283455,RO 635283456,635284479,DE -635284480,635285503,US +635284480,635284991,RO +635284992,635285503,US 635285504,635287551,ME 635287552,635289599,RU 635289600,635291647,DE @@ -3705,11 +3885,7 @@ 635297792,635299839,SE 635299840,635301887,ES 635301888,635305983,CZ -635305984,635360255,NL -635360256,635360511,SS -635360512,635425791,NL -635425792,635426047,SS -635426048,635437055,NL +635305984,635437055,NL 635437056,635502591,RO 635502592,635568127,PL 635568128,635699199,IT @@ -3730,7 +3906,9 @@ 635856896,635858943,TR 635858944,635860991,RU 635860992,635863039,BE -635863040,635895807,RU +635863040,635889663,RU +635889664,635891711,NG +635891712,635895807,RU 635895808,635961343,KW 635961344,635994111,GE 635994112,636026879,RU @@ -3777,11 +3955,13 @@ 636960768,636967167,DE 636967168,636967935,FR 636967936,636968191,IT -636968192,636968319,DE -636968320,636968447,ES +636968192,636968447,ES 636968448,636968703,BE 636968704,636968959,DE -636968960,636975103,TR +636968960,636974079,TR +636974080,636974591,GB +636974592,636974847,NL +636974848,636975103,TR 636975104,636977151,ES 636977152,637140991,PL 637140992,637206527,SE @@ -3796,7 +3976,6 @@ 637300736,637302783,NO 637302784,637304831,NL 637304832,637313023,CH -637313024,637317119,EU 637317120,637319167,ES 637319168,637321215,AT 637321216,637323263,GB @@ -3826,7 +4005,7 @@ 637335808,637336063,HK 637336064,637336319,AT 637336320,637336575,CL -637336576,637336831,AR +637336576,637336831,AT 637336832,637337087,IT 637337088,637337599,RU 637337600,637403135,NO @@ -3841,31 +4020,41 @@ 641763072,641763327,CA 641763328,641765375,US 641765376,641765887,CA -641765888,641766655,US -641766656,641767167,CA +641765888,641766399,US +641766400,641767167,CA 641767168,641768703,US 641768704,641768959,CA -641768960,641771519,US +641768960,641769727,US +641769728,641769983,CA +641769984,641771519,US 641771520,641771775,CA -641771776,641827071,US -641827072,641827327,MX -641827328,641828863,US -641828864,641829119,MX -641829120,642093055,US +641771776,642093055,US 642093056,642093695,CA -642093696,642793471,US +642093696,642093823,US +642093824,642094079,CA +642094080,642793471,US 642793472,642793983,CA -642793984,643240447,US +642793984,643219519,US +643219520,643219523,CA +643219524,643219526,US +643219527,643219527,CA +643219528,643240447,US 643240448,643240703,CA 643240704,643242495,US 643242496,643242751,CA -643242752,643295743,US +643242752,643295231,US +643295232,643295487,PR +643295488,643295743,US 643295744,643296255,PR -643296256,643302911,US +643296256,643296767,US +643296768,643297023,PR +643297024,643302911,US 643302912,643303167,CA -643303168,643351551,US -643351552,643351807,GB -643351808,644055551,US +643303168,643346431,US +643346432,643346687,CA +643346688,644055039,US +644055040,644055295,CA +644055296,644055551,US 644055552,644056047,CA 644056048,644056063,US 644056064,644056319,CA @@ -3873,69 +4062,87 @@ 644056576,644056831,CA 644056832,644057087,US 644057088,644057599,CA -644057600,644058175,US -644058176,644058239,CA -644058240,644058367,US -644058368,644058879,CA -644058880,644060671,US -644060672,644061183,CA -644061184,644063231,US -644063232,644063743,CA +644057600,644058111,US +644058112,644058879,CA +644058880,644060989,US +644060990,644060990,CA +644060991,644063487,US +644063488,644063743,CA 644063744,644063999,US 644064000,644064255,CA 644064256,644064511,US 644064512,644064767,CA 644064768,644065055,US 644065056,644065279,CA -644065280,644070143,US +644065280,644066559,US +644066560,644066815,CA +644066816,644067071,US +644067072,644067327,CA +644067328,644069631,US +644069632,644069887,CA +644069888,644070143,US 644070144,644070399,CA -644070400,644323391,US +644070400,644248831,US +644248832,644249087,CA +644249088,644323391,US 644323392,644323407,CA -644323408,644389375,US -644389376,644390143,CA -644390144,644403199,US +644323408,644323583,US +644323584,644323839,CA +644323840,644389375,US +644389376,644390399,CA +644390400,644390655,US +644390656,644390911,CA +644390912,644403199,US 644403200,644403455,CA 644403456,644414207,US 644414208,644414463,CA 644414464,644422911,US 644422912,644423423,JP -644423424,644569343,US -644569344,644569599,PR -644569600,644570111,US -644570112,644570367,PR -644570368,644628735,US +644423424,644569087,US +644569088,644569599,PR +644569600,644569855,US +644569856,644570367,PR +644570368,644570623,US +644570624,644570879,PR +644570880,644582143,US +644582144,644582399,CA +644582400,644628735,US 644628736,644628991,CA -644628992,644632319,US +644628992,644631039,US +644631040,644631295,CA +644631296,644632319,US 644632320,644632831,CA 644632832,644634367,US 644634368,644634623,CA -644634624,644718847,US -644718848,644718911,CA -644718912,644760575,US +644634624,644718591,US +644718592,644718911,CA +644718912,644759551,US +644759552,644759807,CA +644759808,644760575,US 644760576,644760831,CA 644760832,644761343,US 644761344,644761599,CA -644761600,644833791,US -644833792,644834047,CA -644834048,644834815,US -644834816,644835071,CA -644835072,644836351,US +644761600,644767878,US +644767879,644767879,CA +644767880,644833535,US +644833536,644834303,CA +644834304,644834815,US +644834816,644835327,CA +644835328,644836351,US 644836352,644836607,CA 644836608,644836863,US 644836864,644837119,CA -644837120,644838911,US -644838912,644840447,CA -644840448,644875519,US -644875520,644875567,CA -644875568,644875583,US -644875584,644875775,CA -644875776,644877311,US -644877312,644877567,CA -644877568,644894975,US +644837120,644838655,US +644838656,644840447,CA +644840448,644840959,US +644840960,644841215,CA +644841216,644894975,US 644894976,644895231,CA -644895232,644897791,US -644897792,644898047,CA -644898048,644899839,US +644895232,644896511,US +644896512,644896767,CA +644896768,644898815,US +644898816,644899071,CA +644899072,644899839,US 644899840,644900095,CA 644900096,644901631,US 644901632,644901887,CA @@ -3951,24 +4158,22 @@ 645187328,645187583,CA 645187584,645188095,US 645188096,645188351,CA -645188352,645221375,US -645221376,645222399,CA +645188352,645221631,US +645221632,645222399,CA 645222400,645223423,US 645223424,645223679,CA 645223680,645225471,US 645225472,645225727,CA -645225728,645227263,US -645227264,645228287,CA +645225728,645227519,US +645227520,645228287,CA 645228288,645482495,US 645482496,645482751,CA 645482752,645525759,US 645525760,645526271,CA 645526272,645526783,US -645526784,645527039,CA -645527040,645528063,US -645528064,645528319,CA -645528320,645528831,US -645528832,645529343,CA +645526784,645527295,CA +645527296,645527551,US +645527552,645529343,CA 645529344,645540351,US 645540352,645540607,CA 645540608,645547007,US @@ -3987,10 +4192,12 @@ 645704448,645704703,MX 645704704,645705215,US 645705216,645705471,MX -645705472,645873663,US +645705472,645737983,US +645737984,645738239,PR +645738240,645873663,US 645873664,645874175,CA -645874176,645875711,US -645875712,645876735,CA +645874176,645875839,US +645875840,645876735,CA 645876736,654311423,US 654311424,654311679,CN 654311680,654311935,AU @@ -4006,19 +4213,13 @@ 661651456,662700031,KR 662700032,666894335,CN 666894336,671088639,ID -671088640,671113215,US -671113216,671113471,EU -671113472,687618147,US -687618148,687618151,EU -687618152,687865855,US +671088640,687865855,US 687865856,689963007,ZA 689963008,691011583,EG 691011584,691617791,ZA 691617792,691621887,ZW 691621888,691625983,LR -691625984,691626751,KE -691626752,691627007,US -691627008,691630079,KE +691625984,691630079,KE 691630080,691631103,ZA 691631104,691632127,GH 691632128,691633151,NG @@ -4038,7 +4239,9 @@ 692191232,692207615,CI 692207616,692240383,ZA 692240384,692256767,GH -692256768,692273151,SD +692256768,692260863,SD +692260864,692261887,UG +692261888,692273151,SD 692273152,692289535,EG 692289536,692305919,NG 692305920,692322303,CM @@ -4051,8 +4254,7 @@ 692600832,692609023,EG 692609024,692617215,ZM 692617216,692625407,ZA -692625408,692633599,A2 -692633600,692641791,KE +692625408,692641791,KE 692641792,692649983,GA 692649984,692658175,NG 692658176,692666367,ZA @@ -4204,7 +4406,6 @@ 693040128,693041151,ZA 693041152,693042175,MW 693042176,693043199,NG -693043200,693044223,ZW 693044224,693045247,NG 693045248,693046271,KE 693046272,693047295,ZW @@ -4314,16 +4515,15 @@ 696942592,696950783,MR 696950784,696958975,NG 696958976,696963071,TZ -696963072,696965887,UG -696965888,696966143,NG +696963072,696964095,ZA +696964096,696965119,UG +696965120,696966143,NG 696966144,696967167,TZ 696967168,696971263,MZ 696971264,696975359,KE 696975360,696991743,GH 696991744,697008127,NG -697008128,697015295,KE -697015296,697015551,US -697015552,697040895,KE +697008128,697040895,KE 697040896,697303039,MA 697303040,697827327,ZA 697827328,697958399,EG @@ -4343,9 +4543,7 @@ 699990016,700055551,ZA 700055552,700121087,RW 700121088,700186623,EG -700186624,700196159,MG -700196160,700196223,FR -700196224,700203007,MG +700186624,700203007,MG 700203008,700219391,MR 700219392,700235775,TZ 700235776,700252159,ZA @@ -4356,7 +4554,9 @@ 700284928,700301311,GH 700301312,700309503,CD 700309504,700313599,DJ -700313600,700317695,US +700313600,700314367,US +700314368,700314623,DJ +700314624,700317695,US 700317696,700325887,NG 700325888,700334079,ZW 700334080,700335103,BJ @@ -4391,7 +4591,6 @@ 700407808,700408831,GH 700408832,700409855,CM 700409856,700410879,LR -700410880,700411903,NG 700412928,700413951,ZM 700413952,700414975,SC 700414976,700432383,ZA @@ -4406,28 +4605,26 @@ 700444672,700446719,GH 700446720,700447743,SL 700447744,700448767,DZ -700448768,700579839,ZA -700579840,700587007,A2 +700448768,700587007,ZA 700587008,700587263,ZM -700587264,700588287,A2 +700587264,700588287,ZA 700588288,700588543,KM -700588544,700593151,A2 +700588544,700593151,ZA 700593152,700594175,NG -700594176,700595967,A2 +700594176,700595967,ZA 700595968,700596223,CD -700596224,700645375,A2 -700645376,700710911,ZA +700596224,700710911,ZA 700710912,700776447,EG 700776448,700841983,RW 700841984,700846079,MU 700846080,700850175,NA -700850176,700850431,MU -700850432,700850687,NA -700850688,700854271,MU +700850176,700851455,MU +700851456,700851711,ZA +700851712,700854271,MU 700854272,700855295,NA 700855296,700858367,MU -700858368,700858623,ZA -700858624,700866559,MU +700858368,700858879,ZA +700858880,700866559,MU 700866560,700866815,NG 700866816,700867327,MU 700867328,700867583,NG @@ -4447,9 +4644,9 @@ 701153280,701161471,CM 701161472,701169663,UG 701169664,701186047,ZA -701186048,701190136,NG -701190137,701190137,BJ -701190138,701202431,NG +701186048,701189887,NG +701189888,701190143,BJ +701190144,701202431,NG 701202432,701210623,NE 701210624,701214719,ZA 701214720,701218815,LS @@ -4476,7 +4673,9 @@ 701366272,701374463,NG 701374464,701382655,KE 701382656,701390847,CI -701390848,701399039,MU +701390848,701392127,MU +701392128,701392383,TZ +701392384,701399039,MU 701399040,701407231,EG 701407232,701423615,ZA 701423616,701431807,NG @@ -4559,14 +4758,13 @@ 702137344,702138367,MG 702138368,702139391,TZ 702139392,702140415,NG -702140416,702141439,MZ +702140416,702140671,MZ 702141440,702142463,MU 702142464,702143487,MW 702143488,702144511,KE 702144512,702146559,EG 702146560,702148607,UG 702148608,702150655,ZA -702150656,702152703,ZM 702152704,702169087,SD 702169088,702173183,NA 702173184,702175231,ZM @@ -4581,8 +4779,7 @@ 702287872,702291967,ZW 702291968,702296063,MZ 702296064,702300159,GH -702300160,702304255,NG -702304256,702308351,SL +702300160,702308351,NG 702308352,702312447,SC 702312448,702316543,KE 702316544,702320639,TZ @@ -4615,7 +4812,7 @@ 702427136,702429183,ZA 702429184,702431231,TZ 702431232,702433279,NG -702433280,702434303,SD +702433280,702434303,SS 702434304,702435327,NG 702435328,702437375,MZ 702437376,702439423,TZ @@ -4647,7 +4844,7 @@ 702475264,702476287,AO 702476288,702477311,ZM 702477312,702478335,RW -702478336,702481407,AO +702478336,702480383,AO 702481408,702482431,TZ 702482432,702483455,ZA 702483456,702484479,BI @@ -4673,8 +4870,7 @@ 702504960,702505983,MR 702505984,702507007,AO 702507008,702508031,CD -702508032,702509055,SO -702509056,702510079,KE +702508032,702510079,KE 702510080,702511103,ZM 702511104,702512127,ZA 702512128,702513151,MZ @@ -4688,13 +4884,11 @@ 702520320,702521343,AO 702521344,702522367,SD 702522368,702523391,AO -702523392,702524415,NG +702523392,702524415,GA 702524416,702525439,ZA 702525440,702526463,DZ 702526464,702527487,TZ -702527488,702527999,CF -702528000,702528255,FR -702528256,702528511,CF +702527488,702528511,CF 702528512,702529535,CG 702529536,702530559,BW 702530560,702531583,EG @@ -4712,15 +4906,374 @@ 702542848,702543871,ZA 702543872,702544895,BJ 702544896,702545919,ZA -702545920,702683135,TN -702683136,702683391,DE -702683392,703070207,TN +702545920,702721791,TN +702721792,702722047,GP +702722048,702729215,TN +702729216,702729471,GP +702729472,703070207,TN 703070208,703594495,EG -703594496,703737855,ZA -703737856,703741951,NG -703741952,703747071,ZA +703594496,703595263,SD +703595264,703596031,ZA +703596032,703596543,SD +703596544,703596799,ZA +703596800,703598079,SD +703598080,703598335,ZA +703598336,703600383,SD +703600384,703600895,ZA +703600896,703601151,SD +703601152,703601407,ZA +703601408,703603455,SD +703603456,703603711,ZA +703603712,703604991,SD +703604992,703605247,ZA +703605248,703605759,SD +703605760,703606015,ZA +703606016,703607039,SD +703607040,703607295,ZA +703607296,703608319,SD +703608320,703608575,ZA +703608576,703609087,SD +703609088,703609343,ZA +703609344,703609599,SD +703609600,703609855,ZA +703609856,703610367,SD +703610368,703610879,ZA +703610880,703612927,SD +703612928,703613183,ZA +703613184,703613695,SD +703613696,703613951,ZA +703613952,703614207,SD +703614208,703614719,ZA +703614720,703618559,SD +703618560,703619071,ZA +703619072,703619583,SD +703619584,703620607,ZA +703620608,703620863,SD +703620864,703622143,ZA +703622144,703622655,SD +703622656,703622911,ZA +703622912,703623423,SD +703623424,703624191,ZA +703624192,703624703,SD +703624704,703624959,ZA +703624960,703625215,SD +703625216,703625471,ZA +703625472,703625983,SD +703625984,703626239,ZA +703626240,703627263,SD +703627264,703627519,ZA +703627520,703631871,SD +703631872,703632127,ZA +703632128,703632383,SD +703632384,703632639,ZA +703632640,703633151,SD +703633152,703633407,ZA +703633408,703633919,SD +703633920,703634431,ZA +703634432,703635199,SD +703635200,703635455,ZA +703635456,703636735,SD +703636736,703636991,ZA +703636992,703637247,SD +703637248,703637759,ZA +703637760,703638015,SD +703638016,703638527,ZA +703638528,703639039,SD +703639040,703639807,ZA +703639808,703640063,SD +703640064,703640831,ZA +703640832,703641343,SD +703641344,703641855,ZA +703641856,703642111,SD +703642112,703642623,ZA +703642624,703643135,SD +703643136,703643391,ZA +703643392,703643647,SD +703643648,703644927,ZA +703644928,703645183,SD +703645184,703645951,ZA +703645952,703646207,SD +703646208,703647487,ZA +703647488,703647743,SD +703647744,703647999,ZA +703648000,703648255,SD +703648256,703650047,ZA +703650048,703650815,SD +703650816,703651071,ZA +703651072,703653887,SD +703653888,703654143,ZA +703654144,703654399,SD +703654400,703654655,ZA +703654656,703656191,SD +703656192,703656447,ZA +703656448,703657727,SD +703657728,703657983,ZA +703657984,703658239,SD +703658240,703658495,ZA +703658496,703659263,SD +703659264,703659775,ZA +703659776,703665663,SD +703665664,703665919,ZA +703665920,703666943,SD +703666944,703667199,ZA +703667200,703670783,SD +703670784,703671039,ZA +703671040,703672063,SD +703672064,703672319,ZA +703672320,703673343,SD +703673344,703673855,ZA +703673856,703674111,SD +703674112,703674367,ZA +703674368,703674623,SD +703674624,703675391,ZA +703675392,703675647,SD +703675648,703675903,ZA +703675904,703676159,SD +703676160,703676415,ZA +703676416,703676671,SD +703676672,703676927,ZA +703676928,703678463,SD +703678464,703679231,ZA +703679232,703679999,SD +703680000,703680255,ZA +703680256,703680511,SD +703680512,703680767,ZA +703680768,703681791,SD +703681792,703682303,ZA +703682304,703682559,SD +703682560,703683071,ZA +703683072,703683583,SD +703683584,703684095,ZA +703684096,703684351,SD +703684352,703684607,ZA +703684608,703684863,SD +703684864,703686143,ZA +703686144,703686399,SD +703686400,703686655,ZA +703686656,703687423,SD +703687424,703687679,ZA +703687680,703688191,SD +703688192,703688959,ZA +703688960,703689215,SD +703689216,703689471,ZA +703689472,703689727,SD +703689728,703689983,ZA +703689984,703690239,SD +703690240,703691519,ZA +703691520,703692031,SD +703692032,703692287,ZA +703692288,703692543,SD +703692544,703692799,ZA +703692800,703693055,SD +703693056,703694079,ZA +703694080,703694335,SD +703694336,703694591,ZA +703694592,703694847,SD +703694848,703695359,ZA +703695360,703695615,SD +703695616,703695871,ZA +703695872,703696127,SD +703696128,703696383,ZA +703696384,703696895,SD +703696896,703698943,ZA +703698944,703699199,SD +703699200,703699711,ZA +703699712,703700223,SD +703700224,703700479,ZA +703700480,703702015,SD +703702016,703702271,ZA +703702272,703702527,SD +703702528,703703039,ZA +703703040,703703807,SD +703703808,703704063,ZA +703704064,703704831,SD +703704832,703705343,ZA +703705344,703705599,SD +703705600,703705855,ZA +703705856,703706111,SD +703706112,703706367,ZA +703706368,703706623,SD +703706624,703706879,ZA +703706880,703707903,SD +703707904,703708159,ZA +703708160,703708671,SD +703708672,703708927,ZA +703708928,703709183,SD +703709184,703709439,ZA +703709440,703709695,SD +703709696,703710463,ZA +703710464,703710719,SD +703710720,703710975,ZA +703710976,703711487,SD +703711488,703711999,ZA +703712000,703712255,SD +703712256,703712511,ZA +703712512,703712767,SD +703712768,703713023,ZA +703713024,703713791,SD +703713792,703714047,ZA +703714048,703714303,SD +703714304,703714815,ZA +703714816,703716863,SD +703716864,703717119,ZA +703717120,703718399,SD +703718400,703718911,ZA +703718912,703719935,SD +703719936,703720191,ZA +703720192,703722239,SD +703722240,703722495,ZA +703722496,703723775,SD +703723776,703724799,ZA +703724800,703725311,SD +703725312,703726591,ZA +703726592,703727615,KE +703727616,703728127,TZ +703728128,703728639,ZA +703728640,703732735,LY +703732736,703732991,ZA +703732992,703733759,LY +703733760,703734527,CM +703734528,703735039,ZA +703735040,703735807,CM +703735808,703737855,ZA +703737856,703746047,NG +703746048,703747071,ZA 703747072,703748095,CD -703748096,704118783,ZA +703748096,703748351,ZA +703748352,703748863,GN +703748864,703749119,ZA +703749120,703750143,NG +703750144,703751167,ZA +703751168,703751679,MG +703751680,703752191,ZA +703752192,703752447,MG +703752448,703752703,ZA +703752704,703753215,MG +703753216,703753727,ZA +703753728,703754239,MG +703754240,703755263,GH +703755264,703757311,ZA +703757312,703758335,RE +703758336,703758591,CD +703758592,703758847,ZA +703758848,703759103,CD +703759104,703791103,ZA +703791104,703791359,CD +703791360,703791871,ZA +703791872,703792127,CD +703792128,703792383,ZA +703792384,703792895,CD +703792896,703793919,ZA +703793920,703794175,CD +703794176,703795455,ZA +703795456,703795711,CD +703795712,703796479,ZA +703796480,703797247,CD +703797248,703797503,ZA +703797504,703798015,CD +703798016,703799295,ZA +703799296,703799551,CD +703799552,703800063,ZA +703800064,703800319,CD +703800320,703802111,ZA +703802112,703802623,CD +703802624,703802879,ZA +703802880,703803391,CD +703803392,703804415,ZA +703804416,703806719,CD +703806720,703806975,ZA +703806976,703808255,CD +703808256,703808767,ZA +703808768,703809023,CD +703809024,703809535,ZA +703809536,703810559,CD +703810560,703810815,ZA +703810816,703811327,CD +703811328,703812863,ZA +703812864,703813119,CD +703813120,703813887,ZA +703813888,703814143,CD +703814144,703814399,ZA +703814400,703814655,CD +703814656,703814911,ZA +703814912,703815167,CD +703815168,703815423,ZA +703815424,703816703,CD +703816704,703816959,ZA +703816960,703817215,CD +703817216,703819007,ZA +703819008,703819263,CD +703819264,703819775,ZA +703819776,703820543,CD +703820544,703820799,ZA +703820800,703821567,CD +703821568,703821823,ZA +703821824,703822079,CD +703822080,703822847,ZA +703822848,703823871,CD +703823872,703824127,ZA +703824128,703825407,CD +703825408,703825663,ZA +703825664,703826175,CD +703826176,703826431,ZA +703826432,703827711,CD +703827712,703828223,ZA +703828224,703828735,CD +703828736,703828991,ZA +703828992,703830783,CD +703830784,703831039,ZA +703831040,703831295,CD +703831296,703831551,ZA +703831552,703832319,CD +703832320,703832575,ZA +703832576,703832831,CD +703832832,703833087,ZA +703833088,703833599,CD +703833600,703833855,ZA +703833856,703835903,CD +703835904,703836159,ZA +703836160,703836671,CD +703836672,703836927,ZA +703836928,703838207,CD +703838208,703838463,ZA +703838464,703838719,CD +703838720,703839487,ZA +703839488,703839743,CD +703839744,703839999,ZA +703840000,703840255,CD +703840256,703840767,ZA +703840768,703841023,CD +703841024,703842047,ZA +703842048,703842559,CD +703842560,703843071,ZA +703843072,703843327,CD +703843328,703843583,ZA +703843584,703843839,CD +703843840,703844095,ZA +703844096,703844351,CD +703844352,703845119,ZA +703845120,703845375,CD +703845376,703845631,ZA +703845632,703846911,CD +703846912,703847679,ZA +703847680,703848447,CD +703848448,703848703,ZA +703848704,703849215,CD +703849216,703849471,ZA +703849472,703850239,CD +703850240,703850495,ZA +703850496,703851775,CD +703851776,703852287,ZA +703852288,703853567,CD +703853568,703853823,ZA +703853824,703854079,CD +703854080,703854591,ZA +703854592,703855103,CD +703855104,703855359,ZA +703855360,703855871,CD +703855872,703856383,ZA +703856384,703856639,CD +703856640,704118783,ZA 704118784,704380927,MA 704380928,704643071,LY 704643072,704644095,CN @@ -4737,9 +5290,7 @@ 704905216,705167359,CN 705167360,707788799,KR 707788800,708575231,CN -708575232,708642805,SG -708642806,708642806,AP -708642807,708706303,SG +708575232,708706303,SG 708706304,708751359,CN 708751360,708752383,ID 708752384,708755455,CN @@ -4760,7 +5311,13 @@ 711131136,711160831,CN 711160832,711161855,BD 711161856,711163903,CN -711163904,711196671,JP +711163904,711164727,JP +711164728,711164735,HK +711164736,711166463,JP +711166464,711166591,HK +711166592,711169311,JP +711169312,711169327,IN +711169328,711196671,JP 711196672,711458815,CN 711458816,711983103,IN 711983104,712507391,VN @@ -4798,7 +5355,9 @@ 772284416,772284927,RU 772284928,772285183,UA 772285184,772285439,UZ -772285440,772296703,RU +772285440,772285695,RU +772285696,772285951,GR +772285952,772296703,RU 772296704,772300799,UA 772300800,772341759,RU 772341760,772407295,NO @@ -4866,14 +5425,16 @@ 772917248,772919295,RU 772919296,772923391,GB 772923392,772925439,AT -772925440,772927231,GB +772925440,772926463,GB +772926464,772926719,ZW +772926720,772927231,GB 772927232,772927487,ZW 772927488,772929535,UA 772929536,772931583,RU 772931584,772933631,UA 772933632,772933919,GB -772933920,772933935,IE -772933936,772935679,GB +772933920,772933927,IE +772933928,772935679,GB 772935680,772937727,PS 772937728,772939775,IT 772939776,772941823,BE @@ -4882,7 +5443,8 @@ 772945920,772947967,DE 772947968,772950015,AZ 772950016,772952063,ES -772952064,772954111,GB +772952064,772952319,US +772952320,772954111,GB 772954112,772958207,FR 772958208,772962303,GB 772962304,772966399,FR @@ -4916,10 +5478,7 @@ 773023744,773025791,RO 773025792,773027839,RU 773027840,773031935,FR -773031936,773032191,CH -773032192,773032447,CH -773032448,773033727,CH -773033728,773033983,CH +773031936,773033983,CH 773033984,773036031,LV 773036032,773038079,DE 773038080,773040127,GB @@ -4930,9 +5489,9 @@ 773048320,773050367,LV 773050368,773052415,IE 773052416,773054463,NL -773054464,773055231,AL -773055232,773055743,RS -773055744,773055871,AL +773054464,773055343,AL +773055344,773055347,XK +773055348,773055871,AL 773055872,773055999,RS 773056000,773056511,AL 773056512,773058559,IT @@ -5056,10 +5615,10 @@ 773646336,773648383,TR 773648384,773650431,PL 773650432,773652479,GB -773652480,773654527,SK +773652480,773653503,SK +773653504,773654527,TR 773654528,773656575,RU 773656576,773658623,PL -773658624,773660671,DE 773660672,773662719,AT 773662720,773664767,DE 773664768,773666815,ES @@ -5147,12 +5706,11 @@ 773835264,773835519,GB 773835520,773835775,IM 773835776,773836031,GB -773836032,773836543,IM -773836544,773836799,GB +773836032,773836287,IM +773836288,773836799,GB 773836800,773838847,FR 773838848,773840895,DE 773840896,773842943,GB -773842944,773844991,EU 773844992,773845247,GB 773845248,773845503,GG 773845504,773846015,GB @@ -5176,11 +5734,15 @@ 773963776,773971967,ME 773971968,773980159,UA 773980160,773988351,GB -773988352,774001663,ES +773988352,774000823,ES +774000824,774000824,GB +774000825,774001663,ES 774001664,774002687,NL -774002688,774002842,ES -774002843,774002843,EU -774002844,774004735,ES +774002688,774002815,ES +774002816,774002842,NL +774002843,774002843,ES +774002844,774002943,NL +774002944,774004735,ES 774004736,774012927,IR 774012928,774021119,RU 774021120,774029311,IR @@ -5261,7 +5823,8 @@ 774161263,774161272,TR 774161273,774161282,MT 774161283,774161292,SE -774161293,774161312,HK +774161293,774161302,US +774161303,774161312,HK 774161313,774161322,IE 774161323,774161332,PK 774161333,774161337,KW @@ -5306,7 +5869,8 @@ 774161665,774161674,US 774161675,774161684,CL 774161685,774161694,GR -774161695,774161704,AG +774161695,774161695,AG +774161696,774161704,GR 774161705,774161714,AM 774161715,774161724,GB 774161725,774161734,RO @@ -5322,7 +5886,9 @@ 774161825,774161834,PF 774161835,774161844,SB 774161845,774161854,VU -774161855,774161864,CW +774161855,774161855,CW +774161856,774161863,MX +774161864,774161864,CW 774161865,774161869,AR 774161870,774161874,ES 774161875,774161879,GE @@ -5358,15 +5924,15 @@ 774162041,774162045,AD 774162046,774162050,HR 774162051,774162055,ME -774162056,774162060,SY +774162056,774162060,BR 774162061,774162065,US -774162066,774162070,HT +774162066,774162070,BR 774162071,774162075,EC 774162076,774162080,SH -774162081,774162085,ZM +774162081,774162085,CR 774162086,774162090,KH 774162091,774162095,VN -774162096,774162100,FM +774162096,774162100,CR 774162101,774162105,US 774162106,774162110,GB 774162111,774162115,SO @@ -5385,8 +5951,8 @@ 774162174,774162176,VA 774162177,774162181,LK 774162182,774162186,IE -774162187,774162196,EH -774162197,774162206,NA +774162187,774162196,CR +774162197,774162206,DE 774162207,774162216,CX 774162217,774162225,VA 774162226,774162236,GB @@ -5401,36 +5967,47 @@ 774162327,774162336,CV 774162337,774162346,AZ 774162347,774162366,US -774162367,774162375,VA -774162376,774162376,MX -774162377,774162386,GB -774162387,774162391,DE -774162392,774162396,ZW -774162397,774162399,SZ -774162400,774162402,DE -774162403,774162406,SZ +774162367,774162376,MX +774162377,774162383,GB +774162384,774162386,MX +774162387,774162387,ZW +774162388,774162395,DE +774162396,774162396,ZW +774162397,774162406,SZ 774162407,774162416,SD 774162417,774162426,BF 774162427,774162432,VA 774162433,774162442,GB 774162443,774162452,BA -774162453,774162460,BO -774162461,774162462,WS +774162453,774162453,WS +774162454,774162461,BO +774162462,774162462,WS 774162463,774162472,SR -774162473,774162482,PT +774162473,774162473,PT +774162474,774162481,IT +774162482,774162482,PT 774162483,774162492,CK -774162493,774162500,IT -774162501,774162502,KI +774162493,774162493,KI +774162494,774162501,IT +774162502,774162502,KI 774162503,774162512,NU -774162513,774162522,TO -774162523,774162532,CL +774162513,774162513,TO +774162514,774162521,BO +774162522,774162522,TO +774162523,774162523,CL +774162524,774162531,DE +774162532,774162532,CL 774162533,774162542,TF 774162543,774162552,GG -774162553,774162562,LR +774162553,774162553,LR +774162554,774162561,MX +774162562,774162562,LR 774162563,774162572,MQ 774162573,774162582,YT 774162583,774162592,NC -774162593,774162602,NG +774162593,774162593,NG +774162594,774162601,CA +774162602,774162602,NG 774162603,774162622,US 774162623,774162627,MX 774162628,774162637,GB @@ -5459,7 +6036,8 @@ 774162819,774162823,KZ 774162824,774162828,MV 774162829,774162833,PN -774162834,774162838,SM +774162834,774162835,SM +774162836,774162838,PN 774162839,774162848,GB 774162849,774162853,AU 774162854,774162858,NL @@ -5469,13 +6047,14 @@ 774162894,774162903,MX 774162904,774162908,GB 774162909,774162913,AX -774162914,774162917,FO -774162918,774162923,SJ +774162914,774162918,FO +774162919,774162923,SJ 774162924,774162928,CC 774162929,774162933,NR 774162934,774162938,GS 774162939,774162942,UM -774162943,774162964,VA +774162943,774162944,VA +774162945,774162964,IT 774162965,774162966,MX 774162967,774162967,LI 774162968,774162969,MX @@ -5485,21 +6064,25 @@ 774162976,774162979,VA 774162980,774162980,IN 774162981,774162983,BO -774162984,774162984,VA -774162985,774162988,SX -774162989,774162989,VA -774162990,774162993,MX -774162994,774162999,VA +774162984,774162987,SX +774162988,774162991,MX +774162992,774162999,VA 774163000,774163000,PK -774163001,774163009,BO +774163001,774163004,BO +774163005,774163005,NZ +774163006,774163009,BO 774163010,774163010,VE 774163011,774163014,BO -774163015,774163074,VA -774163075,774163084,GW -774163085,774163094,LS -774163095,774163104,ML -774163105,774163114,PW -774163115,774163124,SL +774163015,774163024,RU +774163025,774163034,UA +774163035,774163071,VA +774163072,774163079,GW +774163080,774163087,LS +774163088,774163094,ML +774163095,774163104,IT +774163105,774163111,PW +774163112,774163114,SL +774163115,774163124,IT 774163125,774163134,TJ 774163135,774163139,TG 774163140,774163144,AS @@ -5510,8 +6093,8 @@ 774163165,774163169,GN 774163170,774163174,MU 774163175,774163179,CG -774163180,774163205,VA -774163206,774163210,AU +774163180,774163203,VA +774163204,774163210,AU 774163211,774163215,TD 774163216,774163220,CD 774163221,774163225,DJ @@ -5526,33 +6109,30 @@ 774163266,774163270,TZ 774163271,774163275,ST 774163276,774163280,GB -774163281,774163284,KP -774163285,774163285,VA -774163286,774163290,FK +774163281,774163283,KP +774163284,774163290,FK 774163291,774163295,BJ 774163296,774163300,BI -774163301,774163305,CI -774163306,774163310,GQ -774163311,774163315,GA +774163301,774163303,CI +774163304,774163307,GQ +774163308,774163315,GA 774163316,774163320,GH -774163321,774163325,NE -774163326,774163330,RW -774163331,774163335,UG -774163336,774163340,MP -774163341,774163345,TL -774163346,774163350,WF -774163351,774163354,SD -774163355,774163360,SS -774163361,774163370,BQ -774163371,774163380,CW -774163381,774163390,IT -774163391,774163400,GE -774163401,774163409,US -774163410,774163410,VA -774163411,774163415,US +774163321,774163323,NE +774163324,774163327,RW +774163328,774163335,UG +774163336,774163339,MP +774163340,774163343,TL +774163344,774163347,WF +774163348,774163351,SD +774163352,774163359,SS +774163360,774163367,BQ +774163368,774163375,CW +774163376,774163383,IT +774163384,774163399,GE +774163400,774163415,US 774163416,774163454,IT 774163455,774163455,VA -774163456,774166527,CZ +774163456,774166527,DK 774166528,774168575,EE 774168576,774176767,PL 774176768,774184959,IT @@ -5626,7 +6206,6 @@ 775421952,775487487,BY 775487488,775520255,AT 775520256,775553023,SY -775553024,775585791,EU 775585792,775618559,SY 775618560,775645951,SE 775645952,775646207,NO @@ -5652,17 +6231,16 @@ 778108928,778174463,RO 778174464,778239999,UA 778240000,778247679,AL -778247680,778248191,RS -778248192,778251263,AL -778251264,778251519,RS -778251520,778304255,AL -778304256,778304511,SI -778304512,778305535,AL +778247680,778247935,XK +778247936,778248191,RS +778248192,778305535,AL 778305536,778371071,IR 778371072,778436607,RU 778436608,778476031,RO 778476032,778476287,MD -778476288,778498047,RO +778476288,778493951,RO +778493952,778495999,NL +778496000,778498047,RO 778498048,778500095,NL 778500096,778502143,RO 778502144,778567679,GR @@ -5675,7 +6253,9 @@ 778668864,778668895,DE 778668896,778670975,FR 778670976,778670976,DE -778670977,778677471,FR +778670977,778675763,FR +778675764,778675767,PL +778675768,778677471,FR 778677472,778677475,DE 778677476,778677503,FR 778677504,778677507,GB @@ -5705,7 +6285,9 @@ 779616256,779747327,IL 779747328,779878399,SI 779878400,780009471,AT -780009472,780140543,CH +780009472,780014591,CH +780014592,780014719,DE +780014720,780140543,CH 780140544,780206079,DE 780206080,780271615,NL 780271616,780337151,AM @@ -5715,11 +6297,7 @@ 780533760,780599295,PL 780599296,780664831,CZ 780664832,780730367,FR -780730368,780756170,IE -780756171,780756171,EU -780756172,780756724,IE -780756725,780756725,EU -780756726,780779519,IE +780730368,780779519,IE 780779520,780795903,SG 780795904,780861439,RU 780861440,780926975,HU @@ -5730,7 +6308,7 @@ 781189120,781320191,NL 781320192,781451263,RU 781451264,781455359,PL -781455360,781459455,LT +781455360,781459455,UA 781459456,781463551,IR 781463552,781467647,RU 781467648,781475839,PL @@ -5795,16 +6373,17 @@ 782270464,782306303,RU 782306304,782307327,NL 782307328,782319615,RU -782319616,782332927,ME -782332928,782333183,RU -782333184,782335999,ME +782319616,782335999,ME 782336000,782352383,RU 782352384,782368767,SY 782368768,782385151,UA 782385152,782401535,SE 782401536,782417919,FR 782417920,782434303,AM -782434304,782450687,SI +782434304,782446591,SI +782446592,782447359,BA +782447360,782447615,HR +782447616,782450687,SI 782450688,782467071,DE 782467072,782483455,RU 782483456,782499839,FI @@ -5816,22 +6395,11 @@ 782598144,782630911,DE 782630912,782647295,MD 782647296,782663679,RU -782663680,782663935,GB -782663936,782664447,SC -782664448,782666495,LT -782666496,782667519,SC +782663680,782667519,NL 782667520,782667775,LU -782667776,782671871,SC -782671872,782672383,CA -782672384,782672639,BG -782672640,782672895,RO -782672896,782673663,SC -782673664,782675455,NL -782675456,782676991,DE -782676992,782678015,US -782678016,782678527,RU -782678528,782678783,UA -782678784,782680063,SC +782667776,782671871,NL +782671872,782675967,LT +782675968,782680063,NL 782680064,782696447,RU 782696448,782712831,DE 782712832,782729215,RU @@ -5882,8 +6450,8 @@ 783222784,783223807,CH 783223808,783224063,RU 783224064,783224319,GB -783224320,783224832,PL -783224833,783226879,UA +783224320,783224831,PL +783224832,783226879,UA 783226880,783230975,RU 783230976,783233023,PL 783233024,783235071,GB @@ -5984,9 +6552,7 @@ 784334848,784465919,FR 784465920,784596991,SE 784596992,784728063,TR -784728064,784732927,GR -784732928,784733183,CY -784733184,784793599,GR +784728064,784793599,GR 784793600,784859135,CY 784859136,785121279,UA 785121280,785252351,PL @@ -6123,7 +6689,9 @@ 786920192,786920199,IT 786920200,786920343,GB 786920344,786920351,IT -786920352,786920839,GB +786920352,786920631,GB +786920632,786920639,IT +786920640,786920839,GB 786920840,786920847,IT 786920848,786920855,GB 786920856,786920863,IT @@ -6172,12 +6740,9 @@ 787054592,787070975,IT 787070976,787087359,RU 787087360,787095551,TR -787095552,787096575,EU 787096576,787097855,CH -787097856,787099391,EU -787099392,787099647,CH -787099648,787100671,EU -787100672,787103743,CH +787099392,787100671,CH +787101696,787102719,CH 787103744,787111935,HR 787111936,787120127,CZ 787120128,787128319,ES @@ -6205,9 +6770,7 @@ 787192064,787192319,FR 787192320,787192575,DE 787192576,787192831,SE -787192832,787193087,EU 787193088,787193343,FI -787193344,787193855,EU 787193856,787195903,RU 787195904,787197951,GB 787197952,787199999,FR @@ -6229,41 +6792,36 @@ 787333120,787349503,DE 787349504,787365887,BG 787365888,787382271,PL -787382272,787383551,FR -787383552,787383807,GP -787383808,787384319,FR -787384320,787384575,GP -787384576,787384831,FR -787384832,787385087,GP -787385088,787385343,FR -787385344,787385599,GP -787385600,787386367,FR +787382272,787386367,GP 787386368,787386623,MQ -787386624,787387391,FR +787386624,787387391,GP 787387392,787387647,MQ -787387648,787387903,FR +787387648,787387903,GP 787387904,787388415,MQ -787388416,787389439,FR -787389440,787389695,MQ -787389696,787391487,FR -787391488,787391743,MQ -787391744,787391999,FR -787392000,787392255,MQ -787392256,787392511,FR +787388416,787388927,GP +787388928,787389183,MQ +787389184,787389695,GP +787389696,787389951,MQ +787389952,787390463,GP +787390464,787391231,FR +787391232,787391999,MQ +787392000,787392255,FR +787392256,787392511,MQ 787392512,787392767,GP -787392768,787393279,FR -787393280,787393535,GP -787393536,787394559,FR +787392768,787394047,FR +787394048,787394303,GP +787394304,787394559,FR 787394560,787394815,GF -787394816,787395327,FR -787395328,787396095,GF +787394816,787395071,FR +787395072,787396095,GF 787396096,787396351,FR 787396352,787396607,GF 787396608,787397119,FR 787397120,787397375,MQ 787397376,787397631,FR 787397632,787397887,MQ -787397888,787398655,FR +787397888,787398399,FR +787398400,787398655,MQ 787398656,787415039,PL 787415040,787431423,BA 787431424,787447807,SE @@ -6293,7 +6851,9 @@ 787709952,787724287,RU 787724288,787726335,UA 787726336,787742719,RU -787742720,787775487,NL +787742720,787759103,NL +787759104,787763199,PS +787763200,787775487,NL 787775488,787808255,DE 787808256,787841023,IR 787841024,787843071,RU @@ -6310,7 +6870,11 @@ 787863552,787865599,DE 787865600,787869695,FR 787869696,787873791,GB -787873792,787906559,SE +787873792,787881745,SE +787881746,787881747,FR +787881748,787891247,SE +787891248,787891251,ES +787891252,787906559,SE 787906560,787939327,GR 787939328,787972095,GB 787972096,788004863,UA @@ -6400,8 +6964,10 @@ 788455424,788457471,FR 788457472,788459519,IT 788459520,788461567,RU -788461568,788462079,JE -788462080,788465663,GB +788461568,788462335,JE +788462336,788462591,GB +788462592,788462847,JE +788462848,788465663,GB 788465664,788467711,CZ 788467712,788469759,NO 788469760,788471807,NL @@ -6431,7 +6997,8 @@ 788508672,788508927,FR 788508928,788509695,AT 788509696,788509951,FR -788509952,788510719,AT +788509952,788510463,AT +788510464,788510719,FR 788510720,788512767,ES 788512768,788514815,FI 788514816,788516863,FR @@ -6449,7 +7016,7 @@ 792330240,792723455,ES 792723456,793247743,DE 793247744,793313279,NZ -793313280,793378815,US +793313280,793378815,DE 793378816,795231487,CA 795231488,795231743,US 795231744,795233023,CA @@ -6462,7 +7029,7 @@ 803864576,803864831,US 803864832,805306367,CA 805306368,822083583,US -822083584,822085631,ID +822083584,822084607,ID 822085632,822087679,AU 822087680,822089727,JP 822089728,822090751,ID @@ -6530,9 +7097,7 @@ 832045056,832307199,CN 832307200,832308223,MN 832308224,832311295,JP -832311296,832312319,AU -832312320,832313343,ID -832313344,832315391,AU +832311296,832315391,AU 832315392,832319487,KH 832319488,832320511,NU 832320512,832321535,VN @@ -6588,17 +7153,21 @@ 838996992,838997247,CA 838997248,839027967,US 839027968,839030015,IN -839030016,839062271,US +839030016,839056447,US +839056448,839056455,CN +839056456,839062271,US 839062272,839064063,CA 839064064,839069183,US 839069184,839071231,CA 839071232,839352319,US -839352320,839353343,NL -839353344,839360511,US +839352320,839355391,NL +839355392,839359487,US +839359488,839360511,DE 839360512,839364607,NL 839364608,839366911,US 839366912,839367167,CZ -839367168,839368703,US +839367168,839367679,NL +839367680,839368703,US 839368704,839385087,CZ 839385088,840269823,US 840269824,840273919,CA @@ -6614,115 +7183,119 @@ 843055104,843644927,CA 843644928,844890111,US 844890112,844988415,CA -844988416,845089407,US -845089408,845089535,PR -845089536,845283327,US +844988416,845283327,US 845283328,845545471,CA 845545472,846442495,US 846442496,846446591,CA -846446592,846540031,US -846540032,846540287,US -846540288,846541055,US -846541056,846541311,US -846541312,846544127,US -846544128,846544383,US -846544384,846546943,US -846546944,846547199,US -846547200,846561279,US +846446592,846537351,US +846537352,846537352,CA +846537353,846561279,US 846561280,846594047,CA -846594048,855638015,US +846594048,846626815,US +846626816,846627071,CN +846627072,850506751,US +850506752,850507007,CA +850507008,855638015,US 855638016,872415231,GB -872415232,880877567,US -880877568,880878079,EU -880878080,882843337,US -882843338,882843339,EU -882843340,882843751,US -882843752,882843753,EU -882843754,882851942,US -882851943,882851943,EU -882851944,889192447,US -889192448,897238054,DE -897238055,897238055,EU -897238056,905969663,DE -905969664,920125439,US +872415232,889192447,US +889192448,905969663,DE +905969664,918683647,US +918683648,918814719,IE +918814720,919470079,US +919470080,919535615,AU +919535616,920125439,US 920125440,920256511,IE -920256512,920518655,US +920256512,920387583,US +920387584,920453119,IE +920453120,920518655,US 920518656,920649727,CN 920649728,920911871,US 920911872,921042943,IE 921042944,921174015,US 921174016,921255935,BR -921255936,922091519,US +921255936,921567231,US +921567232,921632767,JP +921632768,922091519,US 922091520,922189311,IE -922189312,922189567,EU +922189312,922189567,US 922189568,922222591,IE 922222592,922419199,JP 922419200,922484735,SG 922484736,922615807,AU 922615808,922746879,SG 922746880,956301311,US -956301312,959447039,EU +956301312,959447039,FR 959447040,959512575,US -959512576,960629507,EU -960629508,960629508,GB -960629509,960640769,EU -960640770,960640770,GB -960640771,960643327,EU -960643328,960643330,FR -960643331,960643331,EU -960643332,960643365,FR -960643366,960643367,GB -960643368,960643583,FR -960643584,960652799,EU -960652800,960653055,GB -960653056,960671743,EU -960671744,960671999,DE -960672000,960676607,EU +959512576,960626687,FR +960626688,960641023,GB +960641024,960641279,FR +960641280,960643330,GB +960643331,960643331,FR +960643332,960644351,GB +960644352,960644863,FR +960644864,960646399,GB +960646400,960646911,FR +960646912,960654335,GB +960654336,960654591,FR +960654592,960659455,GB +960659456,960662015,DE +960662016,960662271,FR +960662272,960662783,DE +960662784,960663039,FR +960663040,960671487,DE +960671488,960671743,FR +960671744,960676607,DE 960676608,960676863,PL -960676864,960692223,EU -960692224,960724991,FR -960724992,960726783,EU +960676864,960692223,DE +960692224,960726783,FR 960726784,960727039,ZA 960727040,960727295,US -960727296,960729343,EU +960727296,960729343,FR 960729344,960729599,ZA -960729600,960741375,EU +960729600,960733183,FR +960733184,960733439,BE +960733440,960733695,FR +960733696,960733951,BE +960733952,960734463,FR +960734464,960737535,BE +960737536,960737791,FR +960737792,960741375,BE 960741376,960749567,NL 960749568,960757759,LU 960757760,960888831,US 960888832,960921599,AU 960921600,960929791,NZ 960929792,960954367,AU -960954368,961019903,EU +960954368,961019903,FR 961019904,961021439,HK -961021440,961021695,A2 +961021440,961021695,FR 961021696,961021951,HK -961021952,961022079,AP +961021952,961022079,FR 961022080,961022095,SG -961022096,961022207,AP +961022096,961022207,FR 961022208,961022719,HK -961022720,961022975,AP +961022720,961022975,FR 961022976,961025535,HK -961025536,961025791,AP +961025536,961025791,FR 961025792,961036799,HK -961036800,961037055,AP +961036800,961037055,FR 961037056,961052671,HK 961052672,961085439,JP 961085440,961087231,SG -961087232,961087487,AP +961087232,961087487,FR 961087488,961089023,SG -961089024,961089535,AP +961089024,961089535,FR 961089536,961090047,SG -961090048,961090303,AP +961090048,961090303,FR 961090304,961091839,SG -961091840,961092095,AP +961091840,961092095,FR 961092096,961092351,IN -961092352,961092607,AP +961092352,961092607,FR 961092608,961093887,SG -961093888,961094143,AP +961093888,961094143,FR 961094144,961118207,SG 961118208,961119487,MY -961119488,961119743,AP +961119488,961119743,FR 961119744,961126399,MY 961126400,961134591,TW 961134592,961142783,KR @@ -6733,11 +7306,11 @@ 961200128,961208319,CO 961208320,961216511,VE 961216512,961224703,PE -961224704,961249279,EU +961224704,961249279,FR 961249280,961253375,GT -961253376,961265663,EU +961253376,961265663,FR 961265664,961269759,SV -961269760,961282047,EU +961269760,961282047,FR 961282048,961314815,MX 961314816,961380351,US 961380352,961413119,CA @@ -6745,43 +7318,43 @@ 961445888,961478655,ES 961478656,961511423,CH 961511424,961519615,PT -961519616,961527807,EU +961519616,961527807,FR 961527808,961531903,MC 961531904,961535999,SM 961536000,961540095,VA -961540096,961544191,EU +961540096,961544191,FR 961544192,961675263,US 961675264,961740799,ZA -961740800,961806335,EU +961740800,961806335,FR 961806336,961810431,MR -961810432,961826815,EU +961810432,961826815,FR 961826816,961830911,NE -961830912,961892351,EU +961830912,961892351,FR 961892352,961896447,ZW 961896448,961900543,NG -961900544,961937407,EU +961900544,961937407,FR 961937408,961945599,IS 961945600,961950463,FI -961950464,961950719,EU +961950464,961950719,FR 961950720,961953791,FI 961953792,961961983,DK 961961984,961970175,NO -961970176,962002943,EU +961970176,962002943,FR 962002944,962035711,RU 962035712,962039807,EE 962039808,962043903,LV 962043904,962047999,LT -962048000,962076671,EU +962048000,962076671,FR 962076672,962080767,BH -962080768,962084863,EU +962080768,962084863,FR 962084864,962088959,GE -962088960,962097151,EU +962088960,962097151,FR 962097152,962101247,IL -962101248,962134015,EU +962101248,962134015,FR 962134016,962138111,AE -962138112,962203647,EU +962138112,962203647,FR 962203648,962207999,AT -962208000,962208255,EU +962208000,962208255,FR 962208256,962211839,AT 962211840,962215935,BG 962215936,962217983,HR @@ -6789,29 +7362,31 @@ 962220032,962224127,CZ 962224128,962228223,GR 962228224,962232319,HU -962232320,962244607,EU +962232320,962244607,FR 962244608,962248703,RO -962248704,962252799,EU +962248704,962252799,FR 962252800,962256895,SK 962256896,962260991,SI 962260992,962265087,TR -962265088,962281471,EU +962265088,962281471,FR 962281472,962285567,DO -962285568,962359295,EU +962285568,962359295,FR 962359296,962363391,IN -962363392,962392063,EU +962363392,962392063,FR 962392064,962396159,PK -962396160,962408447,EU +962396160,962408447,FR 962408448,962412543,TH 962412544,962416639,UZ -962416640,962461695,EU +962416640,962461695,FR 962461696,962469887,IE 962469888,962527231,TR -962527232,972743935,EU -972743936,972744191,FR -972744192,972747263,EU +962527232,972744447,FR +972744448,972744703,IN +972744704,972747263,FR 972747264,972747519,US -972747520,973078527,EU +972747520,972749823,FR +972749824,972750079,US +972750080,973078527,FR 973078528,973209599,JP 973209600,973275135,IN 973275136,973471743,JP @@ -6843,10 +7418,10 @@ 977764352,977797119,MY 977797120,978321407,KR 978321408,978452479,JP -978452480,978485247,CN -978485248,978518015,SG -978518016,978583551,CN -978599936,978640895,AU +978452480,978583551,CN +978599936,978638591,AU +978638592,978638847,PG +978638848,978640895,AU 978640896,978644991,NZ 978644992,978714623,JP 978714624,978780159,TW @@ -6908,11 +7483,7 @@ 985006080,985071615,SG 985071616,985137151,JP 985137152,985202687,KR -985202688,985224959,SG -985224960,985225215,AP -985225216,985243903,SG -985243904,985244159,AP -985244160,985268223,SG +985202688,985268223,SG 985268224,985399295,VN 985399296,985661439,JP 985661440,987758591,CN @@ -6938,7 +7509,7 @@ 999555072,999686143,HK 999686144,999751679,KR 999751680,999784447,CN -999784448,999800831,AP +999784448,999800831,JP 999800832,999817215,KR 999817216,999849983,BD 999849984,999866367,KR @@ -7023,10 +7594,7 @@ 1023967232,1023975423,IN 1023975424,1023979519,CN 1023979520,1023983615,AU -1023983616,1023991295,SG -1023991296,1023991551,AU -1023991552,1023991807,AP -1023991808,1023999999,SG +1023983616,1023999999,SG 1024000000,1024032767,PH 1024032768,1024065535,AU 1024065536,1024131071,HK @@ -7044,9 +7612,7 @@ 1024363264,1024363519,SG 1024363520,1024363775,JP 1024363776,1024364031,AU -1024364032,1024365055,JP -1024365056,1024365311,AP -1024365312,1024365727,JP +1024364032,1024365727,JP 1024365728,1024365759,SG 1024365760,1024372543,JP 1024372544,1024372607,HK @@ -7116,13 +7682,9 @@ 1029701632,1030674431,KR 1030674432,1030676223,JP 1030676224,1030750207,KR -1030750208,1030946303,JP -1030946304,1030946559,AP -1030946560,1031798783,JP +1030750208,1031798783,JP 1031798784,1035993087,CN -1035993088,1037415679,JP -1037415680,1037415935,AP -1037415936,1037565951,JP +1035993088,1037565951,JP 1037565952,1038614527,TW 1038614528,1039007743,CN 1039007744,1039138815,HK @@ -7154,9 +7716,7 @@ 1040433152,1040449535,GB 1040449536,1040457727,FR 1040457728,1040465919,ME -1040465920,1040467071,EU 1040467072,1040467087,FR -1040467088,1040474111,EU 1040474112,1040482303,CZ 1040482304,1040515071,BE 1040515072,1040547839,GB @@ -7173,7 +7733,7 @@ 1040982016,1040982527,DK 1040982528,1040982783,FI 1040982784,1040983551,DK -1040983552,1040983807,EU +1040983552,1040983807,FO 1040983808,1040990207,DK 1040990208,1040998399,CY 1040998400,1041006591,EG @@ -7186,33 +7746,23 @@ 1041235968,1041244159,UA 1041244160,1041268735,RU 1041268736,1041301503,NO -1041301504,1041310975,IE -1041310976,1041311231,GB -1041311232,1041336319,IE -1041336320,1041336575,EU -1041336576,1041367039,IE +1041301504,1041338879,IE +1041338880,1041339135,GB +1041339136,1041367039,IE 1041367040,1041498111,IT 1041498112,1041563647,SE 1041563648,1041596415,PL 1041596416,1041629183,NL -1041629184,1041638655,ES -1041638656,1041638911,EU -1041638912,1041642751,ES -1041642752,1041643007,EU -1041643008,1041694719,ES +1041629184,1041694719,ES 1041694720,1041700959,GB 1041700960,1041700975,FR 1041700976,1041701783,GB 1041701784,1041701791,FR 1041701792,1041701823,GB 1041701824,1041701831,FR -1041701832,1041702655,GB -1041702656,1041702911,FR -1041702912,1041703479,GB +1041701832,1041703479,GB 1041703480,1041703487,FR -1041703488,1041703543,GB -1041703544,1041703551,FR -1041703552,1041703631,GB +1041703488,1041703631,GB 1041703632,1041703639,FR 1041703640,1041704415,GB 1041704416,1041704423,FR @@ -7220,27 +7770,31 @@ 1041706552,1041706559,FR 1041706560,1041706871,GB 1041706872,1041706879,FR -1041706880,1041709951,GB -1041709952,1041709959,FR -1041709960,1041710423,GB +1041706880,1041707007,GB +1041707008,1041707263,FR +1041707264,1041709823,GB +1041709824,1041710079,FR +1041710080,1041710423,GB 1041710424,1041710431,FR 1041710432,1041710671,GB 1041710672,1041710687,FR 1041710688,1041711551,GB 1041711552,1041711559,FR -1041711560,1041712575,GB -1041712576,1041712591,FR -1041712592,1041712631,GB +1041711560,1041712631,GB 1041712632,1041712639,FR -1041712640,1041715071,GB -1041715072,1041715079,FR -1041715080,1041715567,GB +1041712640,1041713663,GB +1041713664,1041713919,FR +1041713920,1041714943,GB +1041714944,1041715199,FR +1041715200,1041715567,GB 1041715568,1041715583,FR 1041715584,1041716039,GB 1041716040,1041716047,FR 1041716048,1041716223,GB -1041716224,1041716479,FR -1041716480,1041718055,GB +1041716224,1041716231,FR +1041716232,1041716455,GB +1041716456,1041716463,FR +1041716464,1041718055,GB 1041718056,1041718063,FR 1041718064,1041719223,GB 1041719224,1041719224,FR @@ -7250,7 +7804,9 @@ 1041719408,1041719423,FR 1041719424,1041719807,GB 1041719808,1041720063,FR -1041720064,1041721599,GB +1041720064,1041720575,GB +1041720576,1041720831,FR +1041720832,1041721599,GB 1041721600,1041721727,FR 1041721728,1041721759,GB 1041721760,1041721775,FR @@ -7268,9 +7824,15 @@ 1041729936,1041729951,FR 1041729952,1041731071,GB 1041731072,1041731327,FR -1041731328,1041737583,GB +1041731328,1041732031,GB +1041732032,1041732047,FR +1041732048,1041736675,GB +1041736676,1041736676,FR +1041736677,1041737583,GB 1041737584,1041737591,FR -1041737592,1041739031,GB +1041737592,1041737839,GB +1041737840,1041737855,FR +1041737856,1041739031,GB 1041739032,1041739039,FR 1041739040,1041740279,GB 1041740280,1041740287,FR @@ -7284,9 +7846,7 @@ 1041745784,1041745791,FR 1041745792,1041746903,GB 1041746904,1041746919,FR -1041746920,1041748991,GB -1041748992,1041749247,EU -1041749248,1041749639,GB +1041746920,1041749639,GB 1041749640,1041749643,FR 1041749644,1041749659,GB 1041749660,1041749663,FR @@ -7294,11 +7854,7 @@ 1041751680,1041751687,FR 1041751688,1041753231,GB 1041753232,1041753239,FR -1041753240,1041753855,GB -1041753856,1041754111,FR -1041754112,1041756743,GB -1041756744,1041756751,FR -1041756752,1041756839,GB +1041753240,1041756839,GB 1041756840,1041756855,FR 1041756856,1041757615,GB 1041757616,1041757623,FR @@ -7340,19 +7896,11 @@ 1042840674,1042840674,PT 1042840675,1042841599,GB 1042841600,1042874367,AT -1042874368,1042879487,NL -1042879488,1042879743,US -1042879744,1042879999,NL +1042874368,1042879999,NL 1042880000,1042880255,GB 1042880256,1042889983,NL 1042889984,1042890239,GB -1042890240,1042892799,NL -1042892800,1042893055,EU -1042893056,1042907391,NL -1042907392,1042907493,BE -1042907494,1042907495,NL -1042907496,1042907647,BE -1042907648,1042939903,NL +1042890240,1042939903,NL 1042939904,1043070975,ES 1043070976,1043079167,CZ 1043079168,1043087359,DE @@ -7390,16 +7938,13 @@ 1043595264,1043661567,DE 1043661568,1043661823,GB 1043661824,1043857407,DE -1043857408,1043890175,GB -1043890176,1043892735,A2 +1043857408,1043892735,GB 1043892736,1043892991,CD -1043892992,1043897343,A2 +1043892992,1043897343,GB 1043897344,1043897855,KE -1043897856,1043913215,A2 -1043913216,1043913471,SS -1043913472,1043919359,A2 -1043919360,1043919871,SS -1043919872,1043921919,A2 +1043897856,1043919442,GB +1043919443,1043919443,SS +1043919444,1043921919,GB 1043921920,1043922943,IL 1043922944,1043988479,ES 1043988480,1044118295,NL @@ -7416,11 +7961,8 @@ 1044201472,1044217855,FI 1044217856,1044226047,DK 1044226048,1044234239,OM -1044250624,1044260351,EU 1044260352,1044261119,BE -1044261120,1044270079,EU 1044270080,1044271103,BE -1044271104,1044283391,EU 1044283392,1044316159,FR 1044316160,1044332543,NO 1044332544,1044348927,RU @@ -7440,7 +7982,9 @@ 1044488192,1044496383,SK 1044496384,1044512767,EE 1044512768,1044578303,DK -1044578304,1044636671,GB +1044578304,1044578623,GB +1044578624,1044578639,DE +1044578640,1044636671,GB 1044636672,1044637695,DE 1044637696,1044638463,GB 1044638464,1044638719,DE @@ -7449,13 +7993,7 @@ 1044642816,1044643839,GB 1044643840,1044652031,DE 1044652032,1044660223,LY -1044660224,1044660479,GR -1044660480,1044660735,US -1044660736,1044663295,GR -1044663296,1044663551,US -1044663552,1044666227,GR -1044666228,1044666228,US -1044666229,1044668415,GR +1044660224,1044668415,GR 1044668416,1044676607,BA 1044676608,1044684799,RU 1044684800,1044692991,HU @@ -7473,9 +8011,7 @@ 1044748288,1044750335,DK 1044750336,1044758527,NL 1044758528,1044774911,PL -1044774912,1044782079,NO -1044782080,1044782335,EU -1044782336,1044840447,NO +1044774912,1044840447,NO 1044840448,1044905983,FI 1044905984,1044908031,GB 1044908032,1044909055,US @@ -7486,13 +8022,9 @@ 1044920320,1044921343,GB 1044921344,1044922367,US 1044922368,1044930559,DE -1044930560,1044930815,GB -1044930816,1044931071,BE -1044931072,1044931231,GB +1044930560,1044931231,GB 1044931232,1044931239,BE -1044931240,1044932095,GB -1044932096,1044932351,BE -1044932352,1044933499,GB +1044931240,1044933499,GB 1044933500,1044933503,BE 1044933504,1044935439,GB 1044935440,1044935455,BE @@ -7513,10 +8045,10 @@ 1044987904,1045004287,BG 1045004288,1045020671,GB 1045020672,1045037055,NO -1045037056,1045118975,GR -1045118976,1045119231,US -1045119232,1045135359,GR -1045135360,1045168127,DE +1045037056,1045135359,GR +1045135360,1045136065,DE +1045136066,1045136066,UA +1045136067,1045168127,DE 1045168128,1045233663,RU 1045233664,1045241855,GB 1045241856,1045250047,IT @@ -7546,10 +8078,10 @@ 1045700608,1045708799,KZ 1045708800,1045716991,LB 1045716992,1045725183,RU -1045725184,1045731327,CZ -1045731328,1045731583,GB -1045731584,1045733375,CZ -1045733376,1045749759,GB +1045725184,1045733375,CZ +1045733376,1045748319,GB +1045748320,1045748351,SE +1045748352,1045749759,GB 1045749760,1045753855,SI 1045753856,1045755903,NL 1045755904,1045757951,UA @@ -7583,7 +8115,6 @@ 1046320128,1046321151,GB 1046321152,1046323199,NL 1046323200,1046331391,ES -1046331392,1046347775,EU 1046347776,1046413311,IT 1046413312,1046446079,SE 1046446080,1046478847,DE @@ -7601,9 +8132,9 @@ 1046485304,1046485311,DE 1046485312,1046485903,GB 1046485904,1046485911,DE -1046485912,1046487551,GB -1046487552,1046487807,US -1046487808,1046492471,GB +1046485912,1046489087,GB +1046489088,1046489103,DE +1046489104,1046492471,GB 1046492472,1046492479,DE 1046492480,1046492719,GB 1046492720,1046492727,DE @@ -7617,9 +8148,9 @@ 1046493984,1046493999,DE 1046494000,1046494191,GB 1046494192,1046494199,DE -1046494200,1046495127,GB -1046495128,1046495135,DE -1046495136,1046495415,GB +1046494200,1046494975,GB +1046494976,1046495231,DE +1046495232,1046495415,GB 1046495416,1046495423,DE 1046495424,1046495607,GB 1046495608,1046495615,DE @@ -7649,13 +8180,13 @@ 1046504448,1046508543,DE 1046508544,1046511615,GB 1046511616,1046515711,DE -1046515712,1046519247,GB -1046519248,1046519255,DE -1046519256,1046525351,GB +1046515712,1046525351,GB 1046525352,1046525359,DE 1046525360,1046525439,GB 1046525440,1046525695,DE -1046525696,1046533375,GB +1046525696,1046531839,GB +1046531840,1046532095,DE +1046532096,1046533375,GB 1046533376,1046533383,DE 1046533384,1046535295,GB 1046535296,1046535311,DE @@ -7686,11 +8217,7 @@ 1046839296,1046847487,BA 1046847488,1046855679,ES 1046855680,1046872063,NO -1046872064,1046874111,EU -1046874112,1046877183,BE -1046877184,1046904831,EU -1046904832,1046906879,SK -1046906880,1046908927,IR +1046904832,1046908927,IR 1046908928,1046910975,SE 1046910976,1046913023,IT 1046913024,1046921215,NO @@ -7717,7 +8244,9 @@ 1047314432,1047322623,SE 1047322624,1047330815,IT 1047330816,1047339007,RU -1047339008,1047347199,SE +1047339008,1047343871,SE +1047343872,1047344127,NO +1047344128,1047347199,SE 1047347200,1047363583,DE 1047363584,1047371775,CZ 1047371776,1047373559,RU @@ -7740,9 +8269,7 @@ 1047633920,1047642111,FI 1047642112,1047658495,DE 1047658496,1047724031,EG -1047724032,1047728127,EU 1047728128,1047732223,SE -1047732224,1047789567,EU 1047789568,1047822335,AT 1047822336,1047838719,DE 1047838720,1047846911,DK @@ -7752,9 +8279,11 @@ 1047871488,1047887871,RU 1047887872,1047920639,ES 1047920640,1047986175,RU -1047986176,1048011775,SE -1048011776,1048012031,EU -1048012032,1048051711,SE +1047986176,1048006655,SE +1048006656,1048006744,DK +1048006745,1048006872,SE +1048006873,1048006911,DK +1048006912,1048051711,SE 1048051712,1048117247,SA 1048117248,1048125439,GB 1048125440,1048133631,FI @@ -7780,25 +8309,23 @@ 1048225792,1048227839,CZ 1048227840,1048233983,RU 1048233984,1048236031,UA -1048236032,1048240127,RU +1048236032,1048238079,RU 1048242176,1048244223,PL 1048244224,1048246271,RU 1048246272,1048248319,NO 1048248320,1048313855,IT 1048313856,1048510463,GB -1048510464,1048536319,SE -1048536320,1048536575,NO -1048536576,1048575999,SE +1048510464,1048575999,SE 1048576000,1048584191,DE 1048584192,1048592383,IL 1048592384,1048600575,IT 1048600576,1048608767,UA 1048608768,1048616959,GB -1048616960,1048617215,A2 +1048616960,1048617215,DE 1048617216,1048618751,KE -1048618752,1048619007,A2 +1048618752,1048619007,DE 1048619008,1048621055,KE -1048621056,1048625151,US +1048621056,1048625151,DE 1048625152,1048633343,GB 1048633344,1048641535,NO 1048641536,1048649727,FR @@ -7815,21 +8342,15 @@ 1048936448,1048944639,PL 1048944640,1048952831,RU 1048952832,1048969215,NL -1048969216,1049006079,EU 1049006080,1049006335,DE -1049006336,1049008127,EU 1049008128,1049009151,DE -1049009152,1049016319,EU 1049016320,1049018367,DE -1049018368,1049018623,EU -1049018624,1049022463,DE -1049022464,1049026815,EU +1049018624,1049021439,DE +1049021440,1049021695,GB +1049021696,1049022463,DE 1049026816,1049029375,DE -1049029376,1049030655,EU 1049030656,1049031679,DE -1049031680,1049031743,EU 1049031744,1049031871,DE -1049031872,1049034751,EU 1049034752,1049067519,EG 1049067520,1049100287,DK 1049100288,1049231359,GB @@ -7837,7 +8358,9 @@ 1049296896,1049362431,EG 1049362432,1049366527,GB 1049366528,1049368575,DE -1049368576,1049370623,GB +1049368576,1049369983,GB +1049369984,1049370047,DE +1049370048,1049370623,GB 1049370624,1049378815,AT 1049378816,1049395199,EG 1049395200,1049411583,NL @@ -7851,15 +8374,11 @@ 1049477120,1049493503,PL 1049493504,1049559039,FI 1049559040,1049698303,DE -1049698304,1049699071,NL -1049699072,1049699327,A2 -1049699328,1049699583,NL -1049699584,1049699839,BW -1049699840,1049706495,NL +1049698304,1049706495,NL 1049706496,1049709823,GB -1049709824,1049710079,A2 +1049709824,1049710079,NL 1049710080,1049710335,GB -1049710336,1049710591,A2 +1049710336,1049710591,NL 1049710592,1049714687,GB 1049714688,1049715711,IR 1049715712,1049716735,GB @@ -7884,11 +8403,7 @@ 1049960448,1049968639,GB 1049968640,1049985023,SA 1049985024,1050017791,IT -1050017792,1050041087,KW -1050041088,1050041599,US -1050041600,1050047994,KW -1050047995,1050047995,US -1050047996,1050083327,KW +1050017792,1050083327,KW 1050083328,1050148863,ES 1050148864,1050157055,CY 1050157056,1050173439,RU @@ -7897,21 +8412,16 @@ 1050189824,1050198015,DE 1050198016,1050206207,RU 1050206208,1050214399,SK -1050214400,1050272511,DE -1050272512,1050272767,EU -1050272768,1050332441,DE +1050214400,1050332441,DE 1050332442,1050332442,GB 1050332443,1050470911,DE 1050470912,1050471031,GB 1050471032,1050471039,DE 1050471040,1050471167,GB -1050471168,1050627327,DE -1050627328,1050627583,EU -1050627584,1050673151,DE +1050471168,1050673151,DE 1050673152,1050804223,FR 1050804224,1050869759,MK 1050869760,1050935295,NL -1050935296,1050968063,EU 1050968064,1051000831,GB 1051000832,1051017215,RU 1051017216,1051033599,NL @@ -7940,9 +8450,7 @@ 1051328512,1051525119,GB 1051525120,1051533311,MT 1051533312,1051541503,NG -1051541504,1051549345,GB -1051549346,1051549346,EU -1051549347,1051557887,GB +1051541504,1051557887,GB 1051557888,1051566079,RU 1051566080,1051574271,IT 1051574272,1051590655,GB @@ -7958,18 +8466,23 @@ 1051795456,1051803647,RU 1051803648,1051820031,CZ 1051820032,1051852799,NL -1051852800,1051983871,AT -1051983872,1051990015,EU +1051852800,1051919359,AT +1051919360,1051920383,PL +1051920384,1051920895,AT +1051920896,1051921919,PL +1051921920,1051922431,AT +1051922432,1051924479,CH +1051924480,1051948031,AT +1051948032,1051949055,CH +1051949056,1051949823,AT +1051949824,1051950079,NL +1051950080,1051983871,AT 1051990016,1051991039,DE -1051991040,1052001279,EU 1052001280,1052002303,DE -1052002304,1052003583,EU 1052003584,1052003839,DE -1052003840,1052011263,EU 1052011264,1052012031,DE -1052012032,1052045311,EU +1052017536,1052017567,DE 1052045312,1052046079,DE -1052046080,1052049407,EU 1052049408,1052057599,PL 1052057600,1052065791,RU 1052065792,1052081151,SE @@ -8005,85 +8518,45 @@ 1052178432,1052180479,DK 1052180480,1052213247,RU 1052213248,1052246015,FI -1052246016,1052259327,EU 1052259328,1052260351,FR -1052260352,1052279807,EU 1052279808,1052282879,GB -1052282880,1052284927,EU 1052284928,1052286975,GB -1052286976,1052293119,EU 1052293120,1052298239,GB -1052298240,1052303359,EU 1052303360,1052305407,DE -1052305408,1052306431,EU 1052306432,1052307455,DE -1052307456,1052309503,EU 1052309504,1052310527,CH -1052310528,1052313599,EU 1052313600,1052314623,DE -1052314624,1052317311,EU 1052317312,1052317343,DE -1052317344,1052325887,EU 1052325888,1052327935,GB -1052327936,1052328959,EU 1052328960,1052329983,CH -1052329984,1052338175,EU 1052338176,1052339199,FR -1052339200,1052340607,EU 1052340608,1052340671,HU -1052340672,1052347391,EU 1052347392,1052348415,CH -1052348416,1052350463,EU 1052350464,1052352511,GB -1052352512,1052354559,EU 1052354560,1052356607,GB -1052356608,1052358431,EU 1052358432,1052358463,ZA -1052358464,1052366847,EU 1052366848,1052367871,BE -1052367872,1052369887,EU 1052369888,1052369919,CZ -1052369920,1052374015,EU 1052374016,1052375039,CH -1052375040,1052378943,EU 1052378944,1052378959,DE -1052378960,1052387327,EU 1052387328,1052388351,GB -1052388352,1052397311,EU 1052397312,1052397439,HU -1052397440,1052405247,EU 1052405248,1052405503,FR -1052405504,1052405759,EU 1052405760,1052406783,AT -1052406784,1052407855,EU 1052407856,1052407871,ZA -1052407872,1052421119,EU 1052421120,1052422143,GB -1052422144,1052425215,EU 1052425216,1052426239,ZA -1052426240,1052431103,EU 1052431104,1052432127,BE -1052432128,1052433711,EU 1052433712,1052433719,DK -1052433720,1052449359,EU 1052449360,1052449375,ZA -1052449376,1052450767,EU 1052450768,1052450783,ZA -1052450784,1052481535,EU 1052481536,1052482559,NL -1052482560,1052485375,EU 1052485376,1052485631,IT -1052485632,1052487679,EU 1052487680,1052488703,CH 1052488704,1052489727,GB -1052489728,1052494335,EU 1052494336,1052494591,NL -1052494592,1052498431,EU 1052498432,1052498463,RO -1052498464,1052508159,EU -1052508160,1052641930,GB -1052641931,1052641931,EU -1052641932,1052667903,GB +1052508160,1052667903,GB 1052667904,1052668159,US 1052668160,1052706815,GB 1052706816,1052712959,NL @@ -8092,12 +8565,7 @@ 1052778496,1052786687,RU 1052786688,1052789759,GR 1052789760,1052803071,NL -1052803072,1052803327,A2 -1052803328,1052803583,EU -1052803584,1052809215,A2 -1052809216,1052810495,DE -1052810496,1052810751,US -1052810752,1052811263,DE +1052803072,1052811263,DE 1052811264,1052819455,RU 1052819456,1052827647,DE 1052827648,1052835839,RU @@ -8115,44 +8583,24 @@ 1053130752,1053138943,NL 1053138944,1053147135,FI 1053147136,1053163519,SK -1053163520,1053189503,DK -1053189504,1053189631,SE -1053189632,1053294591,DK -1053294592,1053295615,EU +1053163520,1053294591,DK 1053295616,1053296639,AT -1053296640,1053299711,EU 1053299712,1053299967,GB -1053299968,1053302271,EU -1053302272,1053302527,FR -1053302528,1053307903,EU 1053307904,1053308159,GB -1053308160,1053313279,EU 1053313280,1053313535,GB -1053313536,1053316607,EU 1053316608,1053316863,GB -1053316864,1053320223,EU 1053320224,1053320239,DE -1053320240,1053329439,EU +1053327616,1053327871,ZA 1053329440,1053329471,ES -1053329472,1053332991,EU 1053332992,1053334015,BE -1053334016,1053335551,EU 1053335552,1053336575,ZA -1053336576,1053339903,EU 1053339904,1053340159,AT -1053340160,1053340927,EU 1053340928,1053341183,GB -1053341184,1053345279,EU 1053345280,1053345375,PK -1053345376,1053349375,EU 1053349376,1053349631,NL -1053349632,1053353407,EU 1053353408,1053353423,GB -1053353424,1053353983,EU 1053353984,1053354239,IL -1053354240,1053354911,EU 1053354912,1053355007,IL -1053355008,1053360127,EU 1053360128,1053364223,ES 1053364224,1053368319,CZ 1053368320,1053376511,SE @@ -8178,138 +8626,84 @@ 1053687808,1053753343,DE 1053753344,1053818879,NL 1053818880,1053819391,DE -1053819392,1053819423,EU 1053819424,1053819439,DE -1053819440,1053819519,EU 1053819520,1053819563,DE -1053819564,1053819583,EU 1053819584,1053819647,DE -1053819648,1053820159,EU 1053820160,1053820927,DE -1053820928,1053821439,EU 1053821440,1053821447,GB -1053821448,1053821567,EU 1053821568,1053821695,GB -1053821696,1053823999,EU 1053824000,1053824007,DE -1053824008,1053824015,EU 1053824016,1053824023,DE -1053824024,1053824063,EU 1053824064,1053824095,DE -1053824096,1053824127,EU 1053824128,1053824255,NL -1053824256,1053825023,EU 1053825024,1053825791,ES 1053825792,1053825919,GB 1053825920,1053826047,ES -1053826048,1053826815,EU 1053826816,1053827327,DE 1053827328,1053827583,BE -1053827584,1053829887,EU +1053828096,1053829119,GB 1053829888,1053830143,DE -1053830144,1053831167,EU 1053831168,1053831423,DE -1053831424,1053834943,EU 1053834944,1053834975,DE -1053834976,1053835263,EU 1053835264,1053835775,DE -1053835776,1053837311,EU 1053837312,1053837439,FK 1053837440,1053837455,GB -1053837456,1053837567,EU 1053837568,1053837823,GB 1053837824,1053838335,FK 1053838336,1053838591,DE -1053838592,1053840399,EU 1053840400,1053840415,DE -1053840416,1053840447,EU 1053840448,1053840511,DE -1053840512,1053843199,EU 1053843200,1053843231,DK 1053843232,1053843455,GB -1053843456,1053843711,EU 1053843712,1053843967,DE 1053843968,1053844223,GB 1053844224,1053844479,DE -1053844480,1053844991,EU 1053844992,1053845503,DE -1053845504,1053845727,EU 1053845728,1053845735,DE -1053845736,1053846015,EU 1053846016,1053846527,DE -1053846528,1053846783,EU 1053846784,1053847551,DE 1053847552,1053849599,GB 1053849600,1053850367,DE -1053850368,1053851135,EU 1053851136,1053851647,DE -1053851648,1053851903,EU 1053851904,1053851919,FR -1053851920,1053852031,EU 1053852032,1053852047,IT -1053852048,1053852111,EU 1053852112,1053852127,GB 1053852128,1053852159,DE -1053852160,1053855743,EU 1053855744,1053859839,GB 1053859840,1053860863,DE -1053860864,1053862655,EU 1053862656,1053862783,DE -1053862784,1053862847,EU 1053862848,1053862879,DE -1053862880,1053863423,EU 1053863424,1053864959,DE -1053864960,1053865215,EU 1053865216,1053865727,DE 1053865728,1053865759,US -1053865760,1053865983,EU 1053865984,1053866239,DE 1053866240,1053866495,ES 1053866496,1053866823,DE -1053866824,1053866831,EU 1053866832,1053866847,DE -1053866848,1053867519,EU 1053867520,1053867775,DE -1053867776,1053867975,EU 1053867976,1053867983,DE -1053867984,1053867991,EU 1053867992,1053867999,DE -1053868000,1053868007,EU 1053868008,1053868015,DE -1053868016,1053868031,EU 1053868032,1053868447,ES 1053868448,1053868455,GB -1053868456,1053868479,EU 1053868480,1053868543,FR -1053868544,1053868799,EU 1053868800,1053869567,DE -1053869568,1053870079,EU 1053870080,1053870335,DE 1053870336,1053870591,GB -1053870592,1053870847,EU 1053870848,1053871359,DE -1053871360,1053871615,EU 1053871616,1053871871,DE -1053871872,1053872383,EU 1053872384,1053872447,DE -1053872448,1053872511,EU 1053872512,1053872639,FR -1053872640,1053872895,EU 1053872896,1053873663,DE -1053873664,1053876223,EU 1053876224,1053876479,DE 1053876480,1053876735,GB 1053876736,1053876991,DE -1053876992,1053877247,EU 1053877248,1053878271,DE 1053878272,1053878783,GB 1053878784,1053879047,DE -1053879048,1053879055,EU 1053879056,1053879071,DE -1053879072,1053879167,GB -1053879168,1053879295,EU +1053879104,1053879167,GB 1053879296,1053882111,DE -1053882112,1053882367,EU 1053882368,1053882879,DE 1053882880,1053883391,GB 1053883392,1053884415,DE @@ -8345,7 +8739,11 @@ 1054187520,1054195711,BG 1054195712,1054212095,BE 1054212096,1054277631,DE -1054277632,1054343167,KW +1054277632,1054328063,KW +1054328064,1054328075,GB +1054328076,1054328076,KW +1054328077,1054328319,GB +1054328320,1054343167,KW 1054343168,1054351359,NL 1054351360,1054359551,UA 1054359552,1054367743,RO @@ -8372,61 +8770,47 @@ 1054654464,1054662655,MK 1054662656,1054670847,FI 1054670848,1054671103,GB -1054671104,1054671167,EU 1054671168,1054671231,IE -1054671232,1054671371,EU 1054671372,1054671375,IE -1054671376,1054671415,EU 1054671416,1054671423,IE -1054671424,1054671431,EU 1054671432,1054671439,IE -1054671440,1054672127,EU -1054672128,1054672447,IE -1054672448,1054672719,EU +1054672160,1054672175,IE +1054672256,1054672287,IE +1054672320,1054672335,US +1054672336,1054672367,IE +1054672384,1054672447,IE 1054672720,1054672727,IE -1054672728,1054672743,EU 1054672744,1054672767,IE -1054672768,1054672775,EU 1054672776,1054672783,IE -1054672784,1054672791,EU 1054672792,1054672807,IE -1054672808,1054673663,EU 1054673664,1054673727,IE -1054673728,1054673855,EU 1054673856,1054673919,IE -1054673920,1054673951,EU 1054673952,1054674047,IE -1054674048,1054674079,EU 1054674080,1054674111,IE -1054674112,1054674455,EU 1054674456,1054674471,IE -1054674472,1054674479,EU 1054674480,1054674495,IE -1054674496,1054674503,EU 1054674504,1054674511,IE -1054674512,1054674519,EU 1054674520,1054674527,GB -1054674528,1054674687,EU 1054674688,1054675199,IE -1054675200,1054675455,EU 1054675456,1054675711,IE -1054675712,1054675967,EU 1054675968,1054676223,US -1054676224,1054679039,EU 1054679040,1054687231,UA 1054687232,1054703615,MD 1054703616,1054711807,BG 1054711808,1054719999,IT 1054720000,1054867455,NL -1054867456,1054948253,DE -1054948254,1054948254,EU -1054948255,1054973951,DE -1054973952,1054974207,EU -1054974208,1055129599,DE -1055129600,1055195135,CY -1055195136,1055196159,EU -1055196160,1055196415,CH -1055196416,1055326207,EU +1054867456,1055129599,DE +1055129600,1055164415,CY +1055164416,1055164671,GB +1055164672,1055195135,CY +1055195136,1055203327,CH +1055211520,1055219711,PT +1055219712,1055223807,NL +1055223808,1055225855,LU +1055225856,1055227903,ES +1055232000,1055236095,NL +1055252480,1055256575,ES +1055260672,1055264767,SE 1055326208,1055334399,RU 1055334400,1055342591,IE 1055342592,1055358975,RO @@ -8446,9 +8830,7 @@ 1055916032,1055924223,RS 1055924224,1055932415,LY 1055932416,1055940607,FI -1055940608,1055941119,EG -1055941120,1055941375,US -1055941376,1055948799,EG +1055940608,1055948799,EG 1055948800,1055956991,DE 1055956992,1055965183,CZ 1055965184,1055973375,CH @@ -8493,19 +8875,15 @@ 1062473732,1062473732,IN 1062473733,1062530047,US 1062530048,1062531071,EC -1062531072,1063567359,US -1063567360,1063575551,A2 -1063575552,1063727615,US +1062531072,1063053311,US +1063053312,1063053375,CA +1063053376,1063057432,US +1063057433,1063057433,CA +1063057434,1063727615,US 1063727616,1063728127,GU -1063728128,1063748351,US -1063748352,1063749119,A2 -1063749120,1063749375,US -1063749376,1063751679,A2 -1063751680,1063895039,US +1063728128,1063895039,US 1063895040,1063899135,KR -1063899136,1064170751,US -1064170752,1064172031,A2 -1064172032,1065530879,US +1063899136,1065530879,US 1065530880,1065533439,TC 1065533440,1065537535,US 1065537536,1065541631,TC @@ -8520,9 +8898,7 @@ 1065873408,1065877503,PR 1065877504,1065906175,US 1065906176,1065908223,KY -1065908224,1066255871,US -1066255872,1066256383,US -1066256384,1066311679,US +1065908224,1066311679,US 1066311680,1066315775,CA 1066315776,1066332159,US 1066332160,1066336255,CA @@ -8540,9 +8916,7 @@ 1068199936,1068204031,CA 1068204032,1068419071,US 1068419072,1068421119,CO -1068421120,1068422143,US -1068422144,1068422399,CA -1068422400,1068473343,US +1068421120,1068473343,US 1068473344,1068474367,BB 1068474368,1069622866,US 1069622867,1069622867,MX @@ -8564,9 +8938,7 @@ 1071160320,1071162367,US 1071162368,1071163391,KR 1071163392,1071165439,HK -1071165440,1071166463,US -1071166464,1071167487,A2 -1071167488,1071169535,US +1071165440,1071169535,US 1071169536,1071171583,TW 1071171584,1071196159,US 1071196160,1071198207,HK @@ -8580,9 +8952,7 @@ 1071208448,1071210495,TW 1071210496,1071216639,US 1071216640,1071217663,AU -1071217664,1071227903,US -1071227904,1071228927,A2 -1071228928,1071251711,US +1071217664,1071251711,US 1071251712,1071252479,HK 1071252480,1071254783,US 1071254784,1071255039,GB @@ -8602,31 +8972,23 @@ 1071267072,1071267839,HK 1071267840,1071268095,US 1071268096,1071268863,NL -1071268864,1071270655,US -1071270656,1071270911,AP -1071270912,1071271167,US -1071271168,1071271263,AP -1071271264,1071271279,US -1071271280,1071271359,AP -1071271360,1071271679,US +1071268864,1071271679,US 1071271680,1071271935,TW 1071271936,1071272191,US 1071272192,1071272447,SE 1071272448,1071274239,US 1071274240,1071274495,FR -1071274496,1071280895,US +1071274496,1071278959,US +1071278960,1071278963,SG +1071278964,1071280895,US 1071280896,1071281151,HK 1071281152,1071281407,US 1071281408,1071281663,AU 1071281664,1071282943,US 1071282944,1071283199,PH -1071283200,1071283967,US -1071283968,1071284223,A2 -1071284224,1071286527,US +1071283200,1071286527,US 1071286528,1071287295,LB -1071287296,1071287551,US -1071287552,1071287807,A2 -1071287808,1071288063,US +1071287296,1071288063,US 1071288064,1071288319,FR 1071288320,1071288575,US 1071288576,1071288831,HK @@ -8646,9 +9008,7 @@ 1071293696,1071293951,SG 1071293952,1071294207,US 1071294208,1071294463,MY -1071294464,1071294719,US -1071294720,1071294975,A2 -1071294976,1071295231,US +1071294464,1071295231,US 1071295232,1071295487,TH 1071295488,1071295743,US 1071295744,1071295999,GR @@ -8722,23 +9082,34 @@ 1072936448,1072936703,PH 1072936704,1072939263,CA 1072939264,1072939311,US -1072939312,1072942079,CA +1072939312,1072940031,CA +1072940032,1072940063,US +1072940064,1072942079,CA 1072942080,1072942111,US 1072942112,1072942591,CA 1072942592,1072943103,US -1072943104,1072955391,CA +1072943104,1072951551,CA +1072951552,1072951807,US +1072951808,1072953439,CA +1072953440,1072953443,US +1072953444,1072953455,CA +1072953456,1072953471,US +1072953472,1072955391,CA 1072955392,1073022975,US 1073022976,1073025023,HN -1073025024,1073026559,US -1073026560,1073026815,PR -1073026816,1073027071,US +1073025024,1073026303,US +1073026304,1073026559,DO +1073026560,1073027071,PR 1073027072,1073028095,NI -1073028096,1073029119,US +1073028096,1073028607,US +1073028608,1073029119,GD 1073029120,1073031167,PR 1073031168,1073033215,US 1073033216,1073035263,CW 1073035264,1073036032,GD -1073036033,1073039359,US +1073036033,1073037823,US +1073037824,1073038335,GD +1073038336,1073039359,US 1073039360,1073041407,GT 1073041408,1073042431,CO 1073042432,1073044735,US @@ -8752,9 +9123,7 @@ 1073075461,1073075716,NL 1073075717,1073373183,US 1073373184,1073381375,CA -1073381376,1073381631,US -1073381632,1073381887,EU -1073381888,1073454591,US +1073381376,1073454591,US 1073454592,1073454847,KY 1073454848,1074020351,US 1074020352,1074028543,CA @@ -8764,13 +9133,9 @@ 1074184192,1074188287,CA 1074188288,1074229247,US 1074229248,1074241535,CA -1074241536,1074398463,US -1074398464,1074398719,CA -1074398720,1074412543,US +1074241536,1074412543,US 1074412544,1074412799,CA -1074412800,1074469375,US -1074469376,1074469631,CA -1074469632,1074733055,US +1074412800,1074733055,US 1074733056,1074737151,AU 1074737152,1074745343,CA 1074745344,1074757631,US @@ -8789,11 +9154,15 @@ 1075147267,1075147267,PK 1075147268,1075265535,US 1075265536,1075269631,KR -1075269632,1075421183,US +1075269632,1075384319,US +1075385600,1075386111,US +1075388416,1075421183,US 1075421184,1075429375,CA 1075429376,1075478527,US 1075478528,1075494911,CA -1075494912,1075558143,US +1075494912,1075497983,US +1075497984,1075498239,IN +1075498240,1075558143,US 1075558144,1075558911,VI 1075558912,1075576831,US 1075576832,1075579909,GB @@ -8801,18 +9170,12 @@ 1075579911,1075580415,GB 1075580416,1075580671,NO 1075580672,1075580927,GB -1075580928,1075581439,NL -1075581440,1075581951,NO -1075581952,1075583159,NL -1075583160,1075583167,NO -1075583168,1075584511,NL -1075584512,1075584767,NO -1075584768,1075585023,NL +1075580928,1075585023,NO 1075585024,1075609599,US 1075609600,1075613695,TT -1075613696,1075744767,US -1075744768,1075748863,A2 -1075748864,1075855359,US +1075613696,1075769343,US +1075769344,1075773439,CA +1075773440,1075855359,US 1075855360,1075871743,DO 1075871744,1075970047,US 1075970048,1075972095,CA @@ -8820,15 +9183,17 @@ 1075976128,1075976159,CA 1075976160,1075976959,US 1075976960,1075977215,CA -1075977216,1075987967,US -1075987968,1075988223,CA +1075977216,1075987711,US +1075987712,1075988223,CA 1075988224,1075988319,US 1075988320,1075988351,CA 1075988352,1075988479,US 1075988480,1075988735,CA 1075988736,1075989231,US 1075989232,1075989239,CA -1075989240,1075994623,US +1075989240,1075989247,US +1075989248,1075989503,CA +1075989504,1075994623,US 1075994624,1075995007,CA 1075995008,1075995103,US 1075995104,1075995135,CA @@ -8840,7 +9205,9 @@ 1075998464,1075998719,CA 1075998720,1076000767,US 1076000768,1076002047,CA -1076002048,1076005311,US +1076002048,1076004095,US +1076004096,1076004351,CA +1076004352,1076005311,US 1076005312,1076005319,CA 1076005320,1076007423,US 1076007424,1076007679,CA @@ -8860,47 +9227,32 @@ 1076338688,1076346879,CA 1076346880,1076387839,US 1076387840,1076396031,CA -1076396032,1076404223,US -1076404224,1076408319,A2 +1076396032,1076408319,US 1076408320,1076412415,CA -1076412416,1076422192,US -1076422193,1076422193,EU -1076422194,1076424703,US +1076412416,1076424703,US 1076424704,1076428799,CA 1076428800,1076543487,US 1076543488,1076559871,CA 1076559872,1076756479,US 1076756480,1076772863,CA -1076772864,1076985855,US -1076985856,1076991487,A2 -1076991488,1076991743,US -1076991744,1077002239,A2 -1077002240,1077055487,US +1076772864,1077055487,US 1077055488,1077059583,CA -1077059584,1077383167,US -1077383168,1077383368,US -1077383369,1077383880,US -1077383881,1077384191,US -1077384192,1077444607,US +1077059584,1077444607,US 1077444608,1077452799,CA 1077452800,1077460991,JP 1077460992,1077469183,US 1077469184,1077477375,CA 1077477376,1077506047,US 1077506048,1077510143,LS -1077510144,1077567487,US -1077567488,1077571583,A2 -1077571584,1077641215,US +1077510144,1077641215,US 1077641216,1077657599,CA -1077657600,1077840383,US -1077840384,1077840511,US -1077840512,1077844383,US -1077844384,1077844391,US -1077844392,1077977087,US +1077657600,1077977087,US 1077977088,1077985279,CA 1077985280,1077993471,US 1077993472,1078001663,CA -1078001664,1078067199,US +1078001664,1078065039,US +1078065040,1078065047,CA +1078065048,1078067199,US 1078067200,1078071295,BS 1078071296,1078075391,CA 1078075392,1078124543,US @@ -8939,15 +9291,14 @@ 1078287232,1078287239,CA 1078287240,1078287807,US 1078287808,1078287839,CA -1078287840,1078306559,US +1078287840,1078287871,US +1078287872,1078288127,CA +1078288128,1078306559,US 1078306560,1078306815,GB 1078306816,1078312260,US 1078312261,1078312261,GB -1078312262,1078435871,US -1078435872,1078435879,US -1078435880,1078443799,US -1078443800,1078443807,US -1078443808,1078455551,US +1078312262,1078413311,US +1078415360,1078455551,US 1078455552,1078455807,NL 1078455808,1078456319,US 1078456320,1078460415,CA @@ -8956,9 +9307,9 @@ 1078525952,1078722559,US 1078722560,1078734847,AR 1078734848,1078736895,CO -1078736896,1078737407,US -1078737408,1078737663,CO -1078737664,1078737919,US +1078736896,1078737535,US +1078737536,1078737567,CO +1078737568,1078737919,US 1078737920,1078738943,EC 1078738944,1078738967,US 1078738968,1078738975,VE @@ -8991,11 +9342,14 @@ 1079328768,1079377919,US 1079377920,1079380927,CA 1079380928,1079380991,US -1079380992,1079394303,CA +1079380992,1079385471,CA +1079385472,1079385479,US +1079385480,1079394303,CA 1079394304,1079395327,EC 1079395328,1079396351,CA 1079396352,1079397375,MP -1079397376,1079399935,CA +1079397376,1079397631,MH +1079397632,1079399935,CA 1079399936,1079400447,US 1079400448,1079403775,CA 1079403776,1079403807,US @@ -9003,21 +9357,23 @@ 1079403904,1079403935,US 1079403936,1079403999,CA 1079404000,1079404031,US -1079404032,1079404959,CA -1079404960,1079404991,US -1079404992,1079405023,CA -1079405024,1079405055,US +1079404032,1079404799,CA +1079404800,1079405055,US 1079405056,1079405439,CA 1079405440,1079405567,US 1079405568,1079407103,CA 1079407104,1079407359,US -1079407360,1079413311,CA +1079407360,1079411711,CA +1079411712,1079411743,US +1079411744,1079413311,CA 1079413312,1079413343,US 1079413344,1079415295,CA 1079415296,1079415807,US 1079415808,1079429263,CA 1079429264,1079429267,US -1079429268,1079433215,CA +1079429268,1079429375,CA +1079429376,1079429631,US +1079429632,1079433215,CA 1079433216,1079435263,CR 1079435264,1079437311,CA 1079437312,1079439359,US @@ -9033,53 +9389,47 @@ 1079668736,1079861247,US 1079861248,1079865343,CA 1079865344,1080033279,US -1080033280,1080295423,CA +1080033280,1080164351,KY +1080164352,1080295423,CA 1080295424,1080492287,US 1080492288,1080492543,BE 1080492544,1080498431,US 1080498432,1080498664,GB -1080498665,1080498665,EU +1080498665,1080498665,US 1080498666,1080498687,GB -1080498688,1080501503,US -1080501504,1080501759,EU -1080501760,1080513535,US +1080498688,1080513535,US 1080513536,1080513791,GB -1080513792,1080514559,US -1080514560,1080514815,GB -1080514816,1080535039,US -1080535040,1080535295,IN -1080535296,1080550399,US +1080513792,1080550399,US 1080550400,1080550655,IN 1080550656,1080569343,US 1080569344,1080569599,JP 1080569600,1080569730,US 1080569731,1080569731,JP -1080569732,1080581887,US -1080581888,1080582143,AP -1080582144,1080610559,US +1080569732,1080610559,US 1080610560,1080610815,AU 1080610816,1080613631,US 1080613632,1080613887,AU -1080613888,1080621311,US -1080621312,1080621567,AU +1080613888,1080621055,US +1080621056,1080621567,AU 1080621568,1080622079,US 1080622080,1080622335,AU 1080622336,1080954879,US 1080956774,1080956774,GB -1080957952,1080963839,A2 +1080957952,1080963839,DE 1080963840,1080967167,US -1080967168,1080975039,A2 +1080967168,1080975039,DE 1080975040,1080975103,BJ -1080975104,1080983551,A2 +1080975104,1080983551,DE 1080986624,1080987647,US -1080987648,1080988671,A2 +1080987648,1080988671,DE 1080988672,1080989951,US 1080989952,1080990207,DE 1080990208,1080999935,US 1080999936,1081016319,CA 1081016320,1081038335,US 1081038336,1081040895,CA -1081040896,1081212927,US +1081040896,1081057535,US +1081061376,1081212927,US 1081212928,1081278463,CA 1081278464,1081377663,US 1081377664,1081377791,VE @@ -9093,9 +9443,7 @@ 1081399296,1081401343,CL 1081401344,1081410559,US 1081410560,1081411583,PR -1081411584,1081413375,US -1081413376,1081413631,PR -1081413632,1081421311,US +1081411584,1081421311,US 1081421312,1081421567,MF 1081421568,1081443327,US 1081443328,1081444351,CL @@ -9103,28 +9451,22 @@ 1081445376,1081446399,CL 1081446400,1081460735,US 1081460736,1081462783,PA -1081462784,1081479167,US +1081462784,1081462856,US +1081462857,1081462857,BR +1081462858,1081479167,US 1081479168,1081483263,CA -1081483264,1081487359,US -1081487360,1081488383,A2 -1081488384,1081488639,US -1081488640,1081491455,A2 -1081491456,1081565183,US +1081483264,1081565183,US 1081565184,1081573375,CA 1081573376,1081589759,US 1081589760,1081593855,BB 1081593856,1081597951,CA -1081597952,1081914879,US -1081914880,1081915135,GB -1081915136,1082138623,US -1082138624,1082139409,A2 +1081597952,1082139409,US 1082139410,1082139410,ZA -1082139411,1082140671,A2 -1082140672,1082314751,US +1082139411,1082314751,US 1082314752,1082318847,CA -1082318848,1082351361,US -1082351362,1082351362,SA -1082351363,1082679807,US +1082318848,1082351359,US +1082351360,1082351615,SA +1082351616,1082679807,US 1082683392,1082687487,CA 1082687488,1082786591,US 1082786592,1082786623,HK @@ -9162,21 +9504,22 @@ 1085997056,1086013439,CA 1086013440,1086042111,US 1086042112,1086046207,CA -1086046208,1086922751,US +1086046208,1086050815,US +1086054400,1086922751,US 1086922752,1086930943,CA 1086930944,1086955519,US 1086955520,1086971903,CA 1086971904,1087016959,US 1087016960,1087021055,CA -1087021056,1087385855,US -1087385856,1087386111,EU -1087386112,1087395327,US +1087021056,1087395327,US 1087395328,1087395503,GB 1087395504,1087395511,US 1087395512,1087395583,GB 1087395584,1087405407,US 1087405408,1087405423,MX -1087405424,1087419135,US +1087405424,1087413895,US +1087413896,1087413903,DE +1087413904,1087419135,US 1087419136,1087419391,GB 1087419392,1087432447,US 1087432448,1087432607,FR @@ -9198,15 +9541,17 @@ 1087515648,1087515903,BB 1087515904,1087586303,US 1087586304,1087586559,GB -1087586560,1087608319,US +1087586560,1087593983,US +1087593984,1087594239,MX +1087594240,1087608319,US 1087608320,1087608575,GB 1087608576,1087643723,US 1087643724,1087643727,FR -1087643728,1087654143,US -1087654144,1087654399,VE -1087654400,1087678623,US +1087643728,1087678623,US 1087678624,1087678655,GB -1087678656,1087695319,US +1087678656,1087689215,US +1087689216,1087689471,AR +1087689472,1087695319,US 1087695320,1087695323,GB 1087695324,1087708685,US 1087708686,1087708686,AU @@ -9214,11 +9559,7 @@ 1087714336,1087714367,NL 1087714368,1087715327,US 1087715328,1087717375,PA -1087717376,1087717631,US -1087717632,1087717858,GB -1087717859,1087717859,US -1087717860,1087717887,GB -1087717888,1087726015,US +1087717376,1087726015,US 1087726016,1087726047,FR 1087726048,1087726096,US 1087726097,1087726097,GB @@ -9236,7 +9577,9 @@ 1087799788,1087799791,CH 1087799792,1087825663,US 1087825664,1087825919,SA -1087825920,1087837359,US +1087825920,1087836415,US +1087836416,1087836671,FR +1087836672,1087837359,US 1087837360,1087837367,BR 1087837368,1087839231,US 1087839232,1087839487,GB @@ -9246,36 +9589,25 @@ 1087873024,1087873279,CA 1087873280,1087883263,US 1087883264,1087883519,AR -1087883520,1087883775,US -1087883776,1087884031,GB -1087884032,1087918511,US -1087918512,1087918519,PR -1087918520,1087950111,US +1087883520,1087950111,US 1087950112,1087950119,PR 1087950120,1088012767,US 1088012768,1088012775,PR -1088012776,1088684031,US +1088012776,1088317439,US +1088317440,1088317567,CA +1088317568,1088684031,US 1088684032,1088946175,CA 1088946176,1089053183,US 1089053184,1089053439,BR 1089053440,1089054343,US 1089054344,1089054344,GB -1089054345,1089057279,US -1089057280,1089057535,EU -1089057536,1089147391,US -1089147392,1089147647,GB -1089147648,1089167359,US +1089054345,1089058303,US +1089058304,1089058559,TW +1089058560,1089167359,US 1089167360,1089171455,CA -1089171456,1089172839,A2 -1089172840,1089172847,US -1089172848,1089172855,A2 -1089172856,1089172863,US -1089172864,1089172903,A2 -1089172904,1089172927,US -1089172928,1089174015,A2 -1089174016,1089174271,US -1089174272,1089175551,A2 -1089175552,1089191935,US +1089171456,1089183231,US +1089183232,1089183487,GB +1089183488,1089191935,US 1089191936,1089200127,CA 1089200128,1089209471,US 1089209472,1089209479,GB @@ -9298,12 +9630,10 @@ 1089235456,1089235967,GB 1089235968,1089249279,US 1089249280,1089249535,IE -1089249536,1089250070,US -1089250071,1089250071,EU -1089250072,1089263359,US +1089249536,1089263359,US 1089263360,1089263615,FR 1089263616,1089263871,GB -1089263872,1089264127,EU +1089263872,1089264127,US 1089264128,1089264639,FR 1089264640,1089265663,US 1089265664,1089265919,GB @@ -9364,7 +9694,9 @@ 1093123584,1093123839,CA 1093123840,1093123951,US 1093123952,1093123967,CA -1093123968,1093128703,US +1093123968,1093126143,US +1093126144,1093126399,CA +1093126400,1093128703,US 1093128704,1093128959,CA 1093128960,1093131007,US 1093131008,1093131263,CA @@ -9386,11 +9718,11 @@ 1093724935,1093724941,BB 1093724942,1093724942,VC 1093724943,1093730303,BB -1093730304,1093733887,US -1093733888,1093734143,US -1093734144,1093965960,US +1093730304,1093965960,US 1093965961,1093965961,NL -1093965962,1093966216,US +1093965962,1093966163,US +1093966164,1093966164,NL +1093966165,1093966216,US 1093966217,1093966217,NL 1093966218,1094565887,US 1094565888,1094582271,CA @@ -9402,11 +9734,11 @@ 1094670796,1094670799,CN 1094670800,1095450623,US 1095450624,1095467007,BS -1095467008,1096278015,US +1095467008,1095483391,US +1095484416,1095484671,US +1095491584,1096278015,US 1096278016,1096286207,CA -1096286208,1096518655,US -1096518656,1096518911,A2 -1096518912,1096519167,US +1096286208,1096519167,US 1096519168,1096519423,CD 1096519424,1096519679,SL 1096519680,1096548351,US @@ -9419,20 +9751,15 @@ 1097728000,1097736191,CA 1097736192,1097768959,US 1097768960,1097785343,CA -1097785344,1097830399,US +1097785344,1097793535,US +1097801728,1097830399,US 1097830400,1097834495,CA 1097834496,1097837197,US 1097837198,1097837198,AE 1097837199,1097896191,US -1097896192,1097896447,VI -1097896448,1097947135,US -1097947136,1097947151,VI -1097947152,1097947167,US -1097947168,1097947207,VI -1097947208,1097947215,US -1097947216,1097947327,VI -1097947328,1097947391,US -1097947392,1097947735,VI +1097896192,1097896703,VI +1097896704,1097947135,US +1097947136,1097947735,VI 1097947736,1097947743,US 1097947744,1097947991,VI 1097947992,1097947999,US @@ -9440,10 +9767,10 @@ 1097948016,1097948031,US 1097948032,1097949183,VI 1097949184,1097951231,US -1097951232,1097951247,VI -1097951248,1097951263,US -1097951264,1097953279,VI -1097953280,1101304831,US +1097951232,1097953279,VI +1097953280,1098507263,US +1098507264,1098507519,CA +1098507520,1101304831,US 1101304832,1101305855,HN 1101305856,1101306047,US 1101306048,1101306079,PR @@ -9459,8 +9786,10 @@ 1101475840,1101479935,CO 1101479936,1101484031,US 1101484032,1101488127,CO -1101488128,1101521407,US -1101521408,1101521919,AS +1101488128,1101521599,US +1101521600,1101521615,AS +1101521616,1101521663,US +1101521664,1101521919,AS 1101521920,1101676543,US 1101676544,1101678591,EC 1101678592,1101797375,US @@ -9469,9 +9798,7 @@ 1101803520,1101804543,HN 1101804544,1101871103,US 1101871104,1101873151,BO -1101873152,1101991935,US -1101991936,1101992191,NL -1101992192,1102389247,US +1101873152,1102389247,US 1102389248,1102393343,CA 1102393344,1102446591,US 1102446592,1102448383,HN @@ -9491,13 +9818,15 @@ 1104753152,1104753407,SX 1104753408,1104842751,US 1104842752,1104844799,PR -1104844800,1106469887,US +1104844800,1104924415,US +1104924416,1104924671,IN +1104924672,1106469887,US 1106469888,1106470911,BS 1106470912,1106767871,US 1106767872,1106769919,CO 1106769920,1107239935,US 1107239936,1107240191,CN -1107240192,1107240447,A2 +1107240192,1107240447,US 1107240448,1107240959,CN 1107240960,1107243007,US 1107243008,1107247103,TC @@ -9541,16 +9870,12 @@ 1109705929,1109705929,LB 1109705930,1109709823,US 1109709824,1109710847,ZM -1109710848,1109712767,US -1109712768,1109712895,A2 -1109712896,1109772223,US +1109710848,1109772223,US 1109772224,1109772239,HK 1109772240,1109776575,US 1109776576,1109776607,CN 1109776608,1109819391,US -1109819392,1109848831,CA -1109848832,1109849087,CA -1109849088,1109852159,CA +1109819392,1109852159,CA 1109852160,1110126591,US 1110126592,1110130687,CA 1110130688,1110310911,US @@ -9568,12 +9893,10 @@ 1110573056,1110587391,PR 1110587392,1110587647,US 1110587648,1110588159,PR -1110588160,1110588671,US -1110588672,1110588799,PR -1110588800,1110588927,US -1110588928,1110589183,PR -1110589184,1110589951,US -1110589952,1110590207,PR +1110588160,1110588415,US +1110588416,1110589183,PR +1110589184,1110589695,US +1110589696,1110590207,PR 1110590208,1110590463,US 1110590464,1110591231,PR 1110591232,1110591487,US @@ -9581,11 +9904,9 @@ 1110593536,1110593791,US 1110593792,1110594047,PR 1110594048,1110594303,US -1110594304,1110595327,PR -1110595328,1110595583,US -1110595584,1110595711,PR -1110595712,1110595776,US -1110595777,1110638591,PR +1110594304,1110595071,PR +1110595072,1110595583,US +1110595584,1110638591,PR 1110638592,1110654463,US 1110654464,1110654719,HT 1110654720,1110663167,US @@ -9594,23 +9915,17 @@ 1110679552,1110683647,CA 1110683648,1110700031,US 1110700032,1110704127,CA -1110704128,1110852863,US -1110852864,1110853119,A2 -1110853120,1110855679,US +1110704128,1110855679,US 1110855680,1110856703,CN 1110856704,1110857727,IN 1110857728,1110858751,SG -1110858752,1110863871,US -1110863872,1110866431,JM -1110866432,1110866687,KY -1110866688,1110867199,JM -1110867200,1110867455,KY -1110867456,1110867967,JM +1110858752,1110859007,US +1110859008,1110859263,AU +1110859264,1110863871,US +1110863872,1110867967,JM 1110867968,1110929407,US 1110929408,1110933503,BM -1110933504,1110940751,US -1110940752,1110940767,US -1110940768,1111195647,US +1110933504,1111195647,US 1111195648,1111212031,CA 1111212032,1111228415,US 1111228416,1111244799,AR @@ -9618,19 +9933,30 @@ 1112432640,1112440831,CA 1112440832,1112530943,US 1112530944,1112539135,CA -1112539136,1112907775,US +1112539136,1112869887,US +1112870144,1112870399,US +1112870912,1112873215,US +1112875008,1112875519,US +1112875776,1112877311,US +1112877568,1112877823,US +1112881152,1112907775,US 1112907776,1112907783,CA -1112907784,1113591807,US +1112907784,1112928255,US +1112932096,1113591807,US 1113591808,1113595903,CA -1113595904,1113596159,US -1113596160,1113596415,CL -1113596416,1113597695,US +1113595904,1113596415,CL +1113596416,1113596927,GT +1113596928,1113597183,PE +1113597184,1113597695,US 1113597696,1113598463,PA 1113598464,1113601023,US 1113601024,1113603071,VE -1113603072,1113657343,US +1113603072,1113603327,US +1113603328,1113603583,GT +1113603584,1113657343,US 1113657344,1113661439,CA -1113661440,1113718783,US +1113661440,1113669631,US +1113677824,1113718783,US 1113718784,1113743359,DO 1113743360,1113752332,US 1113752333,1113752333,AE @@ -9650,12 +9976,12 @@ 1114515456,1114517503,US 1114517504,1114523647,CA 1114523648,1114523903,US -1114523904,1114533887,CA +1114523904,1114529791,CA +1114529792,1114530047,US +1114530048,1114533887,CA 1114533888,1114537983,AO 1114537984,1114550271,CA -1114550272,1114612991,US -1114612992,1114613247,AU -1114613248,1114681343,US +1114550272,1114681343,US 1114681344,1114685439,CA 1114685440,1114730495,US 1114730496,1114734591,CA @@ -9672,7 +9998,8 @@ 1115127808,1115131903,CA 1115131904,1115135999,US 1115136000,1115144191,CA -1115144192,1115705343,US +1115144192,1115693055,US +1115697152,1115705343,US 1115705344,1115709439,CA 1115709440,1115783167,US 1115783168,1115791359,CA @@ -9689,9 +10016,9 @@ 1116016128,1116021247,US 1116021248,1116021503,CI 1116021504,1116024063,US -1116024064,1116024127,PG -1116024128,1116027135,US -1116027136,1116027903,A2 +1116024064,1116024319,PG +1116024320,1116027135,US +1116027136,1116027903,DE 1116027904,1116168191,US 1116168192,1116176383,CA 1116176384,1116897279,US @@ -9708,7 +10035,8 @@ 1117683712,1117691903,CA 1117691904,1117724671,US 1117724672,1117728767,CA -1117728768,1117745151,US +1117728768,1117741567,US +1117742080,1117744127,US 1117745152,1117749247,CA 1117749248,1117978623,US 1117978624,1117986815,CA @@ -9720,7 +10048,8 @@ 1118158848,1118167039,CA 1118167040,1118474239,US 1118474240,1118478335,CA -1118478336,1118515199,US +1118478336,1118483455,US +1118486528,1118515199,US 1118515200,1118519295,CA 1118519296,1118527487,US 1118527488,1118531583,CA @@ -9728,19 +10057,19 @@ 1118535680,1118539775,CA 1118539776,1118543871,US 1118543872,1118547967,CA -1118547968,1118961663,US -1118961664,1118962943,A2 +1118547968,1118824447,US +1118826496,1118962943,US 1118962944,1118963199,AS -1118963200,1118965247,A2 +1118963200,1118965247,US 1118965248,1118965503,AS -1118965504,1118966015,A2 +1118965504,1118966015,US 1118966016,1118966271,BR -1118966272,1118993151,A2 +1118966272,1118993151,US 1118993152,1118993407,GY -1118993408,1118994431,A2 -1118994432,1119109119,US +1118993408,1119109119,US 1119109120,1119111167,CA -1119113216,1119173135,US +1119113216,1119150079,US +1119154176,1119173135,US 1119173136,1119173143,MX 1119173144,1119173167,US 1119173168,1119173175,MX @@ -9779,14 +10108,17 @@ 1119571968,1119576063,CA 1119576064,1119580159,US 1119580160,1119584255,CA -1119584256,1120149503,US -1120149504,1120149599,CA -1120149600,1120149631,US -1120149632,1120153599,CA +1119584256,1119612927,US +1119617024,1120149503,US +1120149504,1120153599,CA 1120153600,1120272383,US -1120272384,1120277247,CA +1120272384,1120274431,CA +1120274432,1120274687,US +1120274688,1120277247,CA 1120277248,1120277503,US -1120277504,1120283647,CA +1120277504,1120278527,CA +1120278528,1120278543,US +1120278544,1120283647,CA 1120283648,1120284671,EC 1120284672,1120286719,CA 1120286720,1120288767,US @@ -9796,12 +10128,12 @@ 1120310016,1120310271,PH 1120310272,1120312063,CA 1120312064,1120312319,PH -1120312320,1120321535,CA +1120312320,1120317815,CA +1120317816,1120317823,US +1120317824,1120321535,CA 1120321536,1120346111,US 1120346112,1120350207,CA -1120350208,1120372991,US -1120372992,1120373247,CA -1120373248,1120373759,US +1120350208,1120373759,US 1120373760,1120374015,CA 1120374016,1120376303,US 1120376304,1120376319,CA @@ -9839,22 +10171,20 @@ 1120518144,1120534527,CA 1120534528,1120641023,US 1120641024,1120657407,CA -1120657408,1120731391,US -1120731392,1120731647,A2 -1120731648,1120740351,US +1120657408,1120740351,US 1120740352,1120741375,TT -1120741376,1120745471,US -1120745472,1120745727,A2 -1120745728,1120854015,US +1120741376,1120788479,US +1120789248,1120789503,US +1120789760,1120790015,US +1120792576,1120792831,US +1120793272,1120793279,US +1120793856,1120794111,US +1120794368,1120794623,US +1120795136,1120854015,US 1120854016,1120862207,CA -1120862208,1120874751,US -1120874752,1120875007,A2 +1120862208,1120875007,US 1120875008,1120875263,AS -1120875264,1120876031,US -1120876032,1120877055,A2 -1120877056,1120877311,US -1120877312,1120878591,A2 -1120878592,1120886783,US +1120875264,1120886783,US 1120886784,1120886911,CA 1120886912,1120887039,NG 1120887040,1120894975,CA @@ -9870,25 +10200,28 @@ 1121247232,1121255423,CA 1121255424,1121714998,US 1121714999,1121714999,KW -1121715000,1121715935,US -1121715936,1121715943,US -1121715944,1121878015,US +1121715000,1121878015,US 1121878016,1121910783,CA 1121910784,1122074623,US -1122074624,1122087935,CA +1122074624,1122086655,CA +1122086656,1122086911,US +1122086912,1122087935,CA 1122087936,1122088191,US 1122088192,1122091007,CA 1122091008,1122140159,US 1122140160,1122148351,CA 1122148352,1122412497,US 1122412498,1122412498,LB -1122412499,1122451455,US +1122412499,1122430975,US +1122434048,1122451455,US 1122451456,1122455551,CO 1122455552,1122476031,US 1122476032,1122480127,PR 1122480128,1122497791,US 1122497792,1122498047,PR -1122498048,1122533375,US +1122498048,1122498815,US +1122498816,1122499071,PR +1122499072,1122533375,US 1122533376,1122535423,GB 1122535424,1122538495,KR 1122538496,1122635775,US @@ -9899,7 +10232,9 @@ 1123180544,1123184639,CA 1123184640,1123336191,US 1123336192,1123352575,CA -1123352576,1123534847,US +1123352576,1123397631,US +1123398656,1123399679,US +1123401728,1123534847,US 1123534848,1123536895,AW 1123536896,1123590143,US 1123590144,1123598335,VI @@ -9919,24 +10254,25 @@ 1123671040,1123672063,PY 1123672064,1123694591,US 1123694592,1123694847,CA -1123694848,1123848191,US +1123694848,1123778559,US +1123794944,1123848191,US 1123848192,1123852287,CA 1123852288,1123950591,US 1123950592,1123958783,CA 1123958784,1125087999,US 1125088000,1125088255,CA -1125088256,1125103359,US -1125103360,1125103487,US -1125103488,1125238553,US +1125088256,1125238553,US 1125238554,1125238554,ES 1125238555,1125290241,US 1125290242,1125290242,AE -1125290243,1125454591,US -1125454592,1125454847,A2 -1125454848,1125474303,US +1125290243,1125457919,US +1125458944,1125459455,US +1125462016,1125474303,US 1125474304,1125478399,CA 1125478400,1125498879,US -1125498880,1125515263,CA +1125498880,1125501439,CA +1125501440,1125501695,US +1125501696,1125515263,CA 1125515264,1125531647,US 1125531648,1125543887,CA 1125543888,1125543903,US @@ -9944,14 +10280,14 @@ 1125543936,1125545983,US 1125548032,1125552127,CA 1125552128,1125572607,US -1125572608,1125576703,CA +1125572608,1125575167,CA +1125575168,1125575423,US +1125575424,1125576703,CA 1125576704,1125613567,US 1125613568,1125617663,CA 1125617664,1126924287,US 1126924288,1126928383,CA -1126928384,1126931455,US -1126931456,1126931711,US -1126931712,1126948863,US +1126928384,1126948863,US 1126948864,1126952959,CA 1126952960,1127677951,US 1127677952,1127694335,CA @@ -9961,7 +10297,9 @@ 1128529920,1128641023,CA 1128641024,1128641535,US 1128641536,1128792063,CA -1128792064,1130537727,US +1128792064,1130537215,US +1130537216,1130537471,GU +1130537472,1130537727,US 1130537728,1130537983,GU 1130537984,1130538751,US 1130538752,1130539007,GU @@ -9971,11 +10309,11 @@ 1134444544,1134448639,CA 1134448640,1134546943,US 1134546944,1134551039,CA -1134551040,1136721919,US +1134551040,1136523647,US +1136523648,1136523775,CA +1136523776,1136721919,US 1136721920,1136787455,CA -1136787456,1137272831,US -1137272832,1137273087,CA -1137273088,1137278975,US +1136787456,1137278975,US 1137278976,1137283071,CA 1137283072,1137287167,US 1137287168,1137295359,CA @@ -10007,12 +10345,12 @@ 1137541120,1137623039,US 1137623040,1137639423,PR 1137639424,1137704959,US -1137704960,1137706401,CA -1137706402,1137706402,US -1137706403,1137713151,CA -1137713152,1137795071,US -1137795072,1137799167,A2 -1137799168,1137868799,US +1137704960,1137706239,CA +1137706240,1137706312,US +1137706313,1137706313,CA +1137706314,1137706495,US +1137706496,1137713151,CA +1137713152,1137868799,US 1137868800,1137872895,CA 1137872896,1137876991,US 1137876992,1137881087,CA @@ -10039,7 +10377,9 @@ 1138176000,1138180095,CA 1138180096,1138184191,US 1138184192,1138184447,SG -1138184448,1138188287,US +1138184448,1138184959,US +1138184960,1138185215,AU +1138185216,1138188287,US 1138188288,1138192383,PR 1138192384,1138196479,US 1138196480,1138204671,CA @@ -10050,7 +10390,9 @@ 1138373120,1138373887,US 1138373888,1138374655,AS 1138374656,1138374911,US -1138374912,1138375679,AS +1138374912,1138375167,AS +1138375168,1138375423,US +1138375424,1138375679,AS 1138375680,1138499583,US 1138499584,1138503679,CA 1138503680,1138508575,US @@ -10076,13 +10418,10 @@ 1139146752,1139154943,GT 1139154944,1139167231,JM 1139167232,1139168511,US -1139168512,1139168767,PR -1139168768,1139169023,US -1139169024,1139169791,PR -1139169792,1139170047,US -1139170048,1139170303,PR -1139170304,1139170815,US -1139170816,1139171327,PR +1139168512,1139168639,PR +1139168640,1139169279,US +1139169280,1139170303,PR +1139170304,1139171327,US 1139171328,1139175423,GT 1139175424,1139175679,US 1139175680,1139175935,PR @@ -10092,14 +10431,14 @@ 1139216384,1139220479,CA 1139220480,1139265535,US 1139265536,1139269631,CA -1139269632,1145188351,US +1139269632,1143726207,US +1143726208,1143726335,CA +1143726336,1145141247,US +1145142784,1145188351,US 1145188352,1145192447,CA 1145192448,1145242111,US 1145242112,1145242367,NO -1145242368,1145243135,US -1145243136,1145243391,EU -1145243392,1145243647,US -1145243648,1145244159,EU +1145242368,1145244159,US 1145244160,1145244415,NO 1145244416,1145249791,US 1145249792,1145257983,CA @@ -10162,7 +10501,7 @@ 1152116736,1152116991,US 1152116992,1152117247,CA 1152117248,1152117759,US -1152117760,1152118015,ID +1152117760,1152118015,IL 1152118016,1152581631,US 1152581632,1152614399,CA 1152614400,1152778239,US @@ -10173,9 +10512,11 @@ 1156263936,1156265983,CA 1156265984,1156296703,US 1156296704,1156300799,CA -1156300800,1157910527,US -1157910528,1157914623,CA -1157914624,1157931007,US +1156300800,1157912703,US +1157912704,1157912831,CA +1157912832,1157913215,US +1157913216,1157913279,CA +1157913280,1157931007,US 1157931008,1157935103,BS 1157935104,1157943295,US 1157943296,1157947391,CA @@ -10186,9 +10527,7 @@ 1158152192,1158234111,US 1158234112,1158250495,CA 1158250496,1158316031,US -1158316032,1158318847,CA -1158318848,1158319103,CA -1158319104,1158324223,CA +1158316032,1158324223,CA 1158324224,1158340607,US 1158340608,1158344703,CA 1158344704,1158348799,US @@ -10201,73 +10540,56 @@ 1158799360,1158807551,CA 1158807552,1158995967,US 1158995968,1159004159,CA -1159004160,1159102719,US -1159102720,1159102975,US -1159102976,1159112703,US -1159112704,1159112959,US -1159112960,1159113215,US -1159113216,1159113471,US -1159113472,1159113727,US -1159113728,1159113983,US -1159113984,1159115519,US -1159115520,1159115775,US -1159115776,1159117055,US -1159117056,1159117311,US -1159117312,1159117567,US -1159117568,1159117823,US -1159117824,1159213055,US +1159004160,1159213055,US 1159213056,1159217151,CA 1159217152,1159249919,US 1159249920,1159254015,PR -1159254016,1159343615,US -1159343616,1159343871,GB -1159343872,1159347199,US -1159347200,1159347455,AU -1159347456,1159348223,US +1159254016,1159348223,US 1159348224,1159356415,CA 1159356416,1159421951,US 1159421952,1159430143,CA 1159430144,1159515135,US 1159515136,1159515391,CA -1159515392,1159518015,US +1159515392,1159517695,US +1159517696,1159517951,CA +1159517952,1159518015,US 1159518016,1159518047,CA 1159518048,1159518191,US 1159518192,1159518199,CA 1159518200,1159525375,US 1159525376,1159525759,CA -1159525760,1159560207,US -1159560208,1159560215,MO -1159560216,1159672319,US -1159672320,1159672831,US -1159672832,1159700479,US +1159525760,1159700479,US 1159700480,1159725055,CA -1159725056,1160011775,US +1159725056,1159767039,US +1159767040,1159767295,CA +1159767296,1160011775,US 1160011776,1160019967,CA -1160019968,1160364031,US +1160019968,1160202239,US +1160202240,1160202495,CA +1160202496,1160364031,US 1160364032,1160368127,CA 1160368128,1160392703,US 1160392704,1160396799,CA -1160396800,1160410511,US +1160396800,1160406319,US +1160406320,1160406335,DO +1160406336,1160410511,US 1160410512,1160410519,EC 1160410520,1160410551,US 1160410552,1160410559,EC 1160410560,1160425471,US 1160425472,1160429567,CA -1160429568,1160503295,US -1160503296,1160504063,A2 -1160504064,1160504319,US -1160504320,1160507391,A2 -1160507392,1160609791,US +1160429568,1160609791,US 1160609792,1160610815,MX 1160610816,1160667135,US 1160667136,1160675327,CA 1160675328,1160683519,US 1160683520,1160691711,CA -1160691712,1160847359,US -1160847360,1160854527,CA -1160854528,1160854655,US -1160854656,1160855551,CA -1160855552,1160921087,US +1160691712,1160699903,US +1160704000,1160847359,US +1160847360,1160855551,CA +1160855552,1160868351,US +1160868352,1160868607,CA +1160868608,1160921087,US 1160921088,1160925183,AG 1160925184,1160945663,US 1160945664,1160953855,CA @@ -10287,21 +10609,23 @@ 1161428544,1161428607,KN 1161428608,1161428991,AG 1161428992,1161431039,CA -1161431040,1161433087,A2 +1161431040,1161433087,US 1161433088,1161437183,CA 1161437184,1161453567,US 1161453568,1161457663,CA 1161457664,1161576447,US -1161576448,1161580543,CA +1161576448,1161578111,CA +1161578112,1161578239,US +1161578240,1161580543,CA 1161580544,1161586687,US 1161586688,1161586943,PA 1161586944,1161617407,US 1161617408,1161625599,CA 1161625600,1161627703,US 1161627704,1161627711,DE -1161627712,1161627819,US -1161627820,1161627823,CA -1161627824,1161634079,US +1161627712,1161631623,US +1161631624,1161631631,KW +1161631632,1161634079,US 1161634080,1161634087,AF 1161634088,1161764863,US 1161764864,1161773055,CA @@ -10316,11 +10640,12 @@ 1161832484,1161832484,UA 1161832485,1161835230,US 1161835231,1161835231,PH -1161835232,1161886719,US -1161886720,1161887231,DE -1161887232,1161900863,US -1161900864,1161900895,US -1161900896,1162018815,US +1161835232,1161885695,US +1161885696,1161886207,JP +1161886208,1161886975,US +1161886976,1161887231,DE +1161887232,1161887743,AU +1161887744,1162018815,US 1162018816,1162022911,CA 1162022912,1162027007,US 1162027008,1162031103,ZA @@ -10332,11 +10657,7 @@ 1162215424,1162280959,CA 1162280960,1162297343,US 1162297344,1162305535,CA -1162305536,1162313727,US -1162313728,1162320127,A2 -1162320128,1162320383,US -1162320384,1162321919,A2 -1162321920,1162461183,US +1162305536,1162461183,US 1162461184,1162461695,BB 1162461696,1162462207,GD 1162462208,1162463008,BB @@ -10383,16 +10704,21 @@ 1162465280,1162465535,GD 1162465536,1162470911,BB 1162470912,1162471423,GD -1162471424,1162473727,BB +1162471424,1162472959,BB +1162472960,1162473215,VC +1162473216,1162473727,BB 1162473728,1162474751,GD 1162474752,1162477567,BB 1162477568,1162715135,US -1162715136,1162723327,CA +1162715136,1162715647,CA +1162715648,1162715903,US +1162715904,1162723327,CA 1162723328,1162807295,US 1162807296,1162809343,PR -1162809344,1162812415,US +1162809344,1162812159,US +1162812160,1162812415,DO 1162812416,1162813439,BS -1162813440,1162817535,CW +1162813440,1162817535,US 1162817536,1162821631,GT 1162821632,1162823679,US 1162823680,1162825727,GT @@ -10405,24 +10731,31 @@ 1162838016,1162854399,US 1162854400,1162858495,JM 1162858496,1162862591,HN -1162862592,1162862847,PR -1162862848,1162870783,US -1162870784,1162881023,BB +1162862592,1162863359,PR +1162863360,1162863615,US +1162863616,1162866687,PR +1162866688,1162870783,US +1162870784,1162872575,BB +1162872576,1162872831,LC +1162872832,1162881023,BB 1162881024,1162881279,DM 1162881280,1162882559,BB 1162882560,1162883583,GD 1162883584,1162887167,BB -1162887168,1163395071,US -1163395072,1163400959,A2 +1162887168,1163378943,US +1163382784,1163383295,US +1163383808,1163384063,US +1163386880,1163400959,US 1163400960,1163401215,BD -1163401216,1163401471,A2 +1163401216,1163401471,US 1163401472,1163401727,ID -1163401728,1163403263,A2 -1163403264,1163407359,US +1163401728,1163407359,US 1163407360,1163411455,CA 1163411456,1163468799,US 1163468800,1163472895,PR -1163472896,1163530655,US +1163472896,1163526143,US +1163526144,1163526655,CA +1163526656,1163530655,US 1163530656,1163530663,CA 1163530664,1163530991,US 1163530992,1163531007,CA @@ -10438,11 +10771,13 @@ 1163540352,1163540479,CA 1163540480,1163542015,US 1163542016,1163542527,CA -1163542528,1163546015,US +1163542528,1163545343,US +1163545344,1163545597,CA +1163545598,1163545598,US +1163545599,1163545599,CA +1163545600,1163546015,US 1163546016,1163546031,CA -1163546032,1163548671,US -1163548672,1163548927,CA -1163548928,1163550815,US +1163546032,1163550815,US 1163550816,1163550831,CA 1163550832,1163550847,US 1163550848,1163550975,CA @@ -10464,7 +10799,9 @@ 1163554816,1163555839,CA 1163555840,1163556095,US 1163556096,1163556351,CA -1163556352,1163562239,US +1163556352,1163561215,US +1163561216,1163561471,CA +1163561472,1163562239,US 1163562240,1163562495,CA 1163562496,1163564031,US 1163564032,1163564543,CA @@ -10514,7 +10851,7 @@ 1168461824,1168465919,CA 1168465920,1168474111,US 1168474112,1168506879,CA -1168508928,1168510975,US +1168509440,1168510975,US 1168510976,1168515071,CA 1168515072,1168535551,US 1168535552,1168539647,CA @@ -10540,15 +10877,19 @@ 1168955904,1168956159,CA 1168956160,1168957183,US 1168957184,1168957311,IN -1168957312,1168958271,US +1168957312,1168957951,US +1168957952,1168958207,CA +1168958208,1168958271,US 1168958272,1168958303,CA 1168958304,1168958527,US 1168958528,1168958559,IN -1168958560,1168961887,US +1168958560,1168960671,US +1168960672,1168960703,CA +1168960704,1168961887,US 1168961888,1168961919,CA 1168961920,1168963583,US -1168963584,1168964607,CA -1168964608,1168973823,US +1168963584,1168964863,CA +1168964864,1168973823,US 1168973824,1168982015,CA 1168982016,1169203199,US 1169203200,1169211391,CA @@ -10560,31 +10901,37 @@ 1170489344,1170497535,CA 1170497536,1170505727,US 1170505728,1170522111,CA -1170522112,1175977983,US +1170522112,1175728639,US +1175728640,1175728895,CA +1175728896,1175730815,US +1175730816,1175730943,CA +1175730944,1175977983,US 1175977984,1176502271,CA 1176502272,1176616959,US 1176616960,1176620031,CA 1176620032,1176620447,US 1176620448,1176620479,CA -1176620480,1176621567,US -1176621568,1176621575,CA +1176620480,1176621311,US +1176621312,1176621575,CA 1176621576,1176622591,US 1176622592,1176623103,CA -1176623104,1176626119,US -1176626120,1176626135,CA -1176626136,1176631039,US +1176623104,1176626111,US +1176626112,1176626127,CA +1176626128,1176631039,US 1176631040,1176631295,CA 1176631296,1176702975,US 1176702976,1176707071,CA 1176707072,1176731647,US 1176731648,1176735743,PR -1176735744,1176739839,A2 +1176735744,1176739839,US 1176739840,1176743935,CA 1176743936,1176752127,US 1176752128,1176756223,CA 1176756224,1176764415,US 1176764416,1176768511,PM -1176768512,1176776703,US +1176768512,1176770927,US +1176770928,1176770935,DO +1176770936,1176776703,US 1176776704,1176780799,CA 1176780800,1176895487,US 1176895488,1176897047,CA @@ -10600,9 +10947,7 @@ 1176917840,1176925007,CA 1176925008,1176925015,NG 1176925016,1176928255,CA -1176928256,1177008127,US -1177008128,1177010175,A2 -1177010176,1177030655,US +1176928256,1177030655,US 1177030656,1177033727,AG 1177033728,1177059327,US 1177059328,1177061375,CA @@ -10617,16 +10962,14 @@ 1177419776,1177505401,US 1177505402,1177505402,BB 1177505403,1177550847,US -1177550848,1178075135,CA +1177550848,1177592831,CA +1177592832,1177593087,US +1177593088,1178075135,CA 1178075136,1178599423,US 1178599424,1179910143,CA 1179910144,1180124865,US 1180124866,1180124866,AE -1180124867,1189672191,US -1189672192,1189672249,US -1189672250,1189672251,A2 -1189672252,1189672447,US -1189672448,1191673855,US +1180124867,1191673855,US 1191673856,1191706623,CA 1191706624,1192296447,US 1192296448,1192361983,CA @@ -10662,9 +11005,7 @@ 1208852480,1208860671,CA 1208860672,1208918015,US 1208918016,1208922111,CA -1208922112,1208926463,US -1208926464,1208926719,EU -1208926720,1208928767,US +1208922112,1208928767,US 1208928768,1208929023,TW 1208929024,1208935935,US 1208935936,1208935943,AU @@ -10686,14 +11027,10 @@ 1208936248,1208936255,IN 1208936256,1208936263,MY 1208936264,1208954879,US -1208954880,1208957695,CA -1208957696,1208957951,US -1208957952,1208958975,CA +1208954880,1208958975,CA 1208958976,1208975359,US 1208975360,1208983551,CA -1208983552,1209003007,US -1209003008,1209004031,A2 -1209004032,1209358591,US +1208983552,1209358591,US 1209358592,1209358847,DE 1209358848,1209359103,GB 1209359104,1209434111,US @@ -10714,20 +11051,18 @@ 1209918368,1209918399,US 1209918400,1209925631,CA 1209925632,1210253311,US -1210253312,1210258431,CA -1210258432,1210258687,US -1210258688,1210261503,CA -1210261504,1210449919,US +1210253312,1210261503,CA +1210261504,1210310655,US +1210314752,1210420223,US +1210420224,1210420479,IT +1210420480,1210449919,US 1210449920,1210580991,CA -1210580992,1210925055,US +1210580992,1210847231,US +1210851328,1210925055,US 1210925056,1210941439,CA 1210941440,1211035711,US 1211035712,1211035775,CA -1211035776,1211038007,US -1211038008,1211038011,TT -1211038012,1211038063,US -1211038064,1211038079,TT -1211038080,1211236351,US +1211035776,1211236351,US 1211236352,1211269119,PR 1211269120,1211303679,US 1211303680,1211303935,CA @@ -10755,11 +11090,7 @@ 1211324160,1211333631,BB 1211333632,1211333887,GD 1211333888,1211334655,BB -1211334656,1211384327,US -1211384328,1211384335,US -1211384336,1211388159,US -1211388160,1211388287,US -1211388288,1211432959,US +1211334656,1211432959,US 1211432960,1211473919,CA 1211473920,1211596799,US 1211596800,1211605999,CA @@ -10775,7 +11106,9 @@ 1219256320,1219264511,CA 1219264512,1219272703,US 1219272704,1219276799,CA -1219276800,1224470527,US +1219276800,1224210431,US +1224210432,1224212479,NL +1224212480,1224470527,US 1224470528,1224471567,NL 1224471568,1224471568,RU 1224471569,1224473599,NL @@ -10784,9 +11117,7 @@ 1224475648,1224476671,US 1224476672,1224476927,CW 1224476928,1224477183,US -1224477184,1224477439,CW -1224477440,1224477695,US -1224477696,1224478207,CW +1224477184,1224478207,CW 1224478208,1224478463,US 1224478464,1224478719,CW 1224478720,1224480767,US @@ -10794,7 +11125,9 @@ 1224484864,1224493055,GT 1224493056,1224497151,US 1224497152,1224501247,GT -1224501248,1224525568,JM +1224501248,1224523520,JM +1224523521,1224523775,US +1224523776,1224525568,JM 1224525569,1224525823,US 1224525824,1224539904,JM 1224539905,1224701942,US @@ -10817,21 +11150,22 @@ 1245052290,1245052545,SA 1245052546,1245183999,US 1245184000,1245446143,CA -1245446144,1246890432,US -1246890433,1246890463,CA -1246890464,1246890464,CA -1246890465,1246890496,CA -1246890497,1246937087,US +1245446144,1246890431,US +1246890432,1246890463,CA +1246890464,1246890464,US +1246890465,1246890495,CA +1246890496,1246937087,US 1246937088,1246945279,CA -1246945280,1247027199,US -1247027200,1247034367,A2 -1247034368,1247034623,US -1247034624,1247035391,A2 -1247035392,1247123455,US +1246945280,1247119439,US +1247119440,1247119447,KW +1247119448,1247119967,US +1247119968,1247119975,KW +1247119976,1247123455,US 1247123456,1247123711,GB 1247123712,1247123967,US 1247123968,1247124223,LU -1247124224,1248864255,US +1247124224,1247490047,US +1247494144,1248864255,US 1248864256,1248866303,CA 1248866304,1248885759,US 1248885760,1248886783,CA @@ -10849,11 +11183,15 @@ 1248936960,1248939007,CA 1248939008,1248946175,US 1248946176,1248947199,VG -1248947200,1248958463,US +1248947200,1248956415,US +1248956416,1248957439,CA +1248957440,1248958463,US 1248958464,1248959487,CA 1248959488,1248964607,US 1248964608,1248966655,CA -1248966656,1249003519,US +1248966656,1248989311,US +1248989312,1248989343,CA +1248989344,1249003519,US 1249003520,1249005567,CA 1249005568,1249010687,US 1249010688,1249011711,CA @@ -10867,17 +11205,10 @@ 1249038336,1249040383,CA 1249040384,1249046527,US 1249046528,1249047551,BM -1249047552,1249050623,US -1249050624,1249051135,US -1249051136,1249051391,US -1249051392,1249051647,US -1249051648,1249051903,US -1249051904,1249052671,US -1249052672,1249059327,US +1249047552,1249059327,US 1249059328,1249059839,CA -1249059840,1249091583,US -1249091584,1249092607,US -1249092608,1249099775,US +1249059840,1249082367,US +1249083392,1249099775,US 1249099776,1249101823,CA 1249101824,1249102847,PR 1249102848,1249103871,CA @@ -10889,9 +11220,7 @@ 1249130496,1249131519,JM 1249131520,1249139711,US 1249139712,1249140735,MF -1249140736,1249160503,US -1249160504,1249160511,AU -1249160512,1249163263,US +1249140736,1249163263,US 1249163264,1249165311,CA 1249165312,1249171455,US 1249171456,1249173503,CA @@ -10925,7 +11254,9 @@ 1249335296,1249337343,CA 1249337344,1249359871,US 1249359872,1249361919,CA -1249361920,1249384447,US +1249361920,1249379327,US +1249379328,1249380351,CA +1249380352,1249384447,US 1249384448,1249386495,PR 1249386496,1249391615,US 1249391616,1249392639,CA @@ -10964,20 +11295,23 @@ 1249592320,1249593343,CA 1249593344,1249598463,US 1249598464,1249599487,CA -1249599488,1249710591,US +1249599488,1249710143,US +1249710144,1249710207,CN +1249710208,1249710271,NL +1249710272,1249710591,BE 1249710592,1249710847,DE 1249710848,1249715711,US 1249715712,1249715967,DE 1249715968,1249716735,US 1249716736,1249716991,DE 1249716992,1249720319,US -1249720320,1249720575,AU -1249720576,1249720599,GB +1249720320,1249720367,AU +1249720368,1249720383,SG +1249720384,1249720575,AU +1249720576,1249720591,FR +1249720592,1249720599,GB 1249720600,1249720607,IT -1249720608,1249720623,CH -1249720624,1249720703,GB -1249720704,1249720751,NL -1249720752,1249720831,GB +1249720608,1249720831,GB 1249720832,1249721120,US 1249721121,1249721121,CA 1249721122,1249721343,US @@ -11032,15 +11366,15 @@ 1249721816,1249721855,GB 1249721856,1249722111,US 1249722112,1249722367,IN -1249722368,1249725439,US +1249722368,1249723903,US +1249723904,1249724159,CN +1249724160,1249725439,US 1249725440,1249725695,NL 1249725696,1249725951,US 1249725952,1249726207,NL 1249726208,1249727999,US 1249728000,1249728255,HU -1249728256,1249736959,US -1249736960,1249737471,EU -1249737472,1249744895,US +1249728256,1249744895,US 1249744896,1249745151,TW 1249745152,1249754390,US 1249754391,1249754391,DE @@ -11084,7 +11418,9 @@ 1256054528,1256054783,CZ 1256054784,1256079359,US 1256079360,1256087551,KY -1256087552,1264718591,US +1256087552,1262783487,US +1262783488,1262784511,CA +1262784512,1264718591,US 1264718592,1264718847,CA 1264718848,1264719103,US 1264719104,1264719871,CA @@ -11094,7 +11430,9 @@ 1264990976,1264991231,NL 1264991232,1266147327,US 1266147328,1266155519,CA -1266155520,1268252671,US +1266155520,1267934968,US +1267934969,1267934969,CA +1267934970,1268252671,US 1268252672,1268776959,CA 1268776960,1275600895,US 1275600896,1275604991,BM @@ -11115,7 +11453,9 @@ 1275912784,1279262719,US 1279262720,1279787007,CA 1279787008,1279848447,US -1279848448,1279852543,PR +1279848448,1279851519,PR +1279851520,1279852031,VI +1279852032,1279852543,PR 1279852544,1279951231,US 1279951232,1279951359,CA 1279951360,1279953151,US @@ -11195,8 +11535,8 @@ 1294925824,1294958591,DE 1294958592,1294991359,UA 1294991360,1295047679,CZ -1295047680,1295047935,SK -1295047936,1295056895,CZ +1295047680,1295048191,SK +1295048192,1295056895,CZ 1295056896,1295122431,GR 1295122432,1295253503,RU 1295253504,1295319039,UA @@ -11236,14 +11576,25 @@ 1296247296,1296248959,FR 1296248960,1296249023,DE 1296249024,1296249087,GB -1296249088,1296251391,FR +1296249088,1296250367,FR +1296250368,1296250399,CZ +1296250400,1296250431,DE +1296250432,1296250463,PL +1296250464,1296250495,RO +1296250496,1296250527,FR +1296250528,1296250559,DK +1296250560,1296251199,FR +1296251200,1296251231,NL +1296251232,1296251391,FR 1296251392,1296251775,NL 1296251776,1296251903,DE -1296251904,1296252871,FR +1296251904,1296252479,FR +1296252480,1296252487,ES +1296252488,1296252871,FR 1296252872,1296252879,DE -1296252880,1296256840,FR -1296256841,1296256848,US -1296256849,1296258303,FR +1296252880,1296256839,FR +1296256840,1296256847,US +1296256848,1296258303,FR 1296258304,1296259071,NL 1296259072,1296259839,FR 1296259840,1296260351,NL @@ -11274,9 +11625,7 @@ 1296476160,1296479743,LT 1296479744,1296482303,NO 1296482304,1296498687,LT -1296498688,1296510975,BG -1296510976,1296513023,US -1296513024,1296531455,BG +1296498688,1296531455,BG 1296531456,1296564223,MT 1296564224,1296566271,GB 1296566272,1296568319,DE @@ -11326,13 +11675,13 @@ 1296670720,1296672767,ES 1296672768,1296674815,GB 1296674816,1296676863,BE -1296676864,1296677295,A2 +1296676864,1296677295,JE 1296677296,1296677303,NG -1296677304,1296677639,A2 +1296677304,1296677639,JE 1296677640,1296677647,NG -1296677648,1296677727,A2 +1296677648,1296677727,JE 1296677728,1296677735,NG -1296677736,1296678903,A2 +1296677736,1296678903,JE 1296678904,1296678911,NG 1296678912,1296680959,SA 1296680960,1296683007,ES @@ -11378,7 +11727,6 @@ 1296769024,1296771071,TR 1296771072,1296773119,LT 1296773120,1296774143,FR -1296774144,1296775167,EU 1296775168,1296779263,FR 1296779264,1296781311,CZ 1296781312,1296783359,DK @@ -11411,12 +11759,8 @@ 1296924672,1296941055,BG 1296941056,1296957439,BA 1296957440,1296973823,BG -1296973824,1296983935,CZ -1296983936,1296984063,AE -1296984064,1296990207,CZ -1296990208,1296995327,BG -1296995328,1296996351,GR -1296996352,1297006591,BG +1296973824,1296990207,CZ +1296990208,1297006591,BG 1297006592,1297022975,BA 1297022976,1297039359,LT 1297039360,1297055743,TR @@ -11424,7 +11768,9 @@ 1297072128,1297088511,PL 1297088512,1297121279,AT 1297121280,1297154047,SE -1297154048,1297215487,RO +1297154048,1297178623,RO +1297178624,1297178879,NL +1297178880,1297215487,RO 1297215488,1297217535,NL 1297217536,1297219583,RO 1297219584,1297285119,RU @@ -11470,7 +11816,8 @@ 1297727488,1297743871,MD 1297743872,1297760255,DE 1297760256,1297776639,LT -1297776640,1297793023,DE +1297776640,1297782783,DE +1297782784,1297793023,US 1297793024,1297809407,UA 1297809408,1297825791,PL 1297825792,1297842175,RU @@ -11512,8 +11859,7 @@ 1298067456,1298071551,NL 1298071552,1298073599,TJ 1298073600,1298075647,RU -1298075648,1298076671,CY -1298076672,1298077695,US +1298075648,1298077695,CY 1298077696,1298079743,NL 1298079744,1298081791,GB 1298081792,1298083839,CZ @@ -11606,8 +11952,7 @@ 1306222592,1306230783,HR 1306230784,1306238975,LT 1306238976,1306263551,SE -1306263552,1306265599,A2 -1306265600,1306266879,KE +1306263552,1306266879,KE 1306266880,1306267135,NG 1306267136,1306267522,KE 1306267523,1306267527,NG @@ -11623,9 +11968,7 @@ 1306345472,1306353663,LT 1306353664,1306361855,SA 1306361856,1306370047,RU -1306370048,1306374655,GB -1306374656,1306374911,US -1306374912,1306378239,GB +1306370048,1306378239,GB 1306378240,1306386431,RU 1306386432,1306394623,DK 1306394624,1306402815,ME @@ -11643,9 +11986,7 @@ 1306509312,1306525695,PL 1306525696,1307049983,ES 1307049984,1307066367,RU -1307066368,1307068869,EU 1307068870,1307068870,CH -1307068871,1307074559,EU 1307074560,1307082751,SA 1307082752,1307092991,RU 1307092992,1307095039,GB @@ -11677,7 +12018,9 @@ 1307230208,1307238399,RU 1307238400,1307246591,SK 1307246592,1307254783,KG -1307254784,1307262975,NL +1307254784,1307261695,NL +1307261696,1307261951,US +1307261952,1307262975,NL 1307262976,1307271167,AT 1307271168,1307279359,MD 1307279360,1307287551,LB @@ -11700,7 +12043,8 @@ 1307426816,1307435007,CH 1307435008,1307437055,DE 1307437056,1307441151,ES -1307441152,1307443199,DE +1307441152,1307442175,NL +1307442176,1307443199,DE 1307443200,1307451391,IT 1307451392,1307459583,SE 1307459584,1307467775,BG @@ -11731,9 +12075,12 @@ 1307623424,1307627519,FR 1307627520,1307631615,SE 1307631616,1307635711,IT -1307635712,1307637247,EE -1307637248,1307637503,LV -1307637504,1307639807,EE +1307635712,1307636991,EE +1307636992,1307637247,LV +1307637248,1307638527,EE +1307638528,1307638783,LT +1307638784,1307639551,EE +1307639552,1307639807,LT 1307639808,1307643903,IT 1307643904,1307652095,RU 1307652096,1307656191,ES @@ -11748,11 +12095,7 @@ 1307684864,1307688959,GB 1307688960,1307693055,LT 1307693056,1307697151,IT -1307697152,1307697407,NL -1307697408,1307697663,EU -1307697664,1307698687,NL -1307698688,1307698943,EU -1307698944,1307701247,NL +1307697152,1307701247,NL 1307701248,1307709439,RU 1307709440,1307713535,AL 1307713536,1307717631,IT @@ -11765,8 +12108,8 @@ 1307742208,1307746303,HU 1307746304,1307750399,UA 1307750400,1307754495,IT -1307754496,1307756799,GB -1307756800,1307757311,FR +1307754496,1307757055,GB +1307757056,1307757311,FR 1307757312,1307758591,GB 1307758592,1307762687,SM 1307762688,1307766783,PL @@ -11775,20 +12118,14 @@ 1307774976,1307779071,RS 1307779072,1307787263,DK 1307787264,1307791359,MT -1307791360,1307795455,KZ 1307795456,1307803647,RU 1307803648,1307807743,DK 1307807744,1307811839,SE 1307811840,1307815935,NL -1307815936,1307816191,EU 1307816192,1307816447,GB -1307816448,1307817983,EU 1307817984,1307818048,GB 1307818049,1307818049,BE 1307818050,1307818239,GB -1307818240,1307819007,EU -1307819008,1307819263,GB -1307819264,1307820031,EU 1307820032,1307824127,ES 1307824128,1307828223,HU 1307828224,1307832319,NL @@ -11815,12 +12152,12 @@ 1307914240,1307918335,NL 1307918336,1307922431,GB 1307922432,1307926527,NL -1307926528,1307926655,KZ -1307926656,1307926783,CA -1307926784,1307930623,KZ +1307926528,1307930623,KZ 1307930624,1307934719,RU 1307934720,1307938815,FR -1307938816,1307941119,US +1307938816,1307939791,US +1307939792,1307940370,TR +1307940371,1307941119,US 1307941120,1307942911,TR 1307942912,1307947007,RU 1307947008,1307951103,CH @@ -11853,7 +12190,6 @@ 1308049408,1308053503,DK 1308053504,1308055551,DE 1308055552,1308057599,AL -1308062464,1308062719,RU 1308065792,1308069887,RU 1308069888,1308073983,NO 1308073984,1308078079,RU @@ -11962,8 +12298,8 @@ 1310715904,1310717951,RU 1310717952,1310719999,UA 1310720000,1310851071,GB -1310851072,1310921107,DE -1310921108,1310921119,ES +1310851072,1310921103,DE +1310921104,1310921119,ES 1310921120,1310982143,DE 1310982144,1311113215,RU 1311113216,1311244287,IR @@ -11973,9 +12309,9 @@ 1311250432,1311252479,RU 1311252480,1311253247,GB 1311253248,1311253255,IT -1311253256,1311253415,GB -1311253416,1311253423,IT -1311253424,1311254527,GB +1311253256,1311254447,GB +1311254448,1311254455,IT +1311254456,1311254527,GB 1311254528,1311256575,SE 1311256576,1311258623,FR 1311258624,1311262719,GB @@ -11983,8 +12319,7 @@ 1311264768,1311266815,RU 1311266816,1311268863,FR 1311268864,1311270911,BE -1311270912,1311272191,RU -1311272192,1311272959,US +1311270912,1311272959,RU 1311272960,1311275007,GB 1311275008,1311277055,FR 1311277056,1311279103,IT @@ -11997,7 +12332,7 @@ 1311291392,1311293439,RU 1311293440,1311295487,NL 1311295488,1311297535,IT -1311297536,1311299583,EU +1311297536,1311299583,AT 1311299584,1311301631,RU 1311301632,1311303679,TR 1311303680,1311307775,GB @@ -12007,12 +12342,10 @@ 1311310848,1311310857,GB 1311310858,1311310858,GG 1311310859,1311311103,GB -1311311104,1311311231,GG -1311311232,1311311871,GB +1311311104,1311311359,GG +1311311360,1311311871,GB 1311311872,1311315967,CZ -1311315968,1311317247,PL -1311317248,1311317503,A2 -1311317504,1311318015,PL +1311315968,1311318015,PL 1311318016,1311320063,RU 1311320064,1311322111,FR 1311324160,1311326207,LB @@ -12033,7 +12366,7 @@ 1311361024,1311363071,NL 1311363072,1311365119,GB 1311365120,1311367167,DE -1311367168,1311369215,A2 +1311367168,1311369215,GB 1311369216,1311371263,FR 1311371264,1311373311,SE 1311373312,1311375359,FR @@ -12051,15 +12384,14 @@ 1314258944,1314324479,GB 1314324480,1314390015,GR 1314390016,1314455551,PL -1314455552,1314489599,KW -1314489600,1314489855,US -1314489856,1314521087,KW +1314455552,1314521087,KW 1314521088,1314586623,BG 1314586624,1314652159,NO 1314652160,1314717695,HU 1314717696,1314783231,SA 1314783232,1314848767,DE -1314848768,1315045375,RO +1314848768,1314881535,GB +1314881536,1315045375,RO 1315045376,1315176447,SK 1315176448,1315307519,QA 1315307520,1315438591,CZ @@ -12072,25 +12404,18 @@ 1315713024,1315717119,SE 1315717120,1315725311,RU 1315725312,1315729407,CZ -1315729408,1315733503,DE 1315733504,1315737599,NL 1315737600,1315741695,CZ 1315741696,1315745791,LB 1315745792,1315749887,CZ 1315749888,1315753983,RU 1315758080,1315758335,RE -1315758336,1315759103,FR -1315759104,1315759359,RE -1315759360,1315759615,FR -1315759616,1315760383,RE -1315760384,1315761663,FR -1315761664,1315762175,RE +1315758336,1315759615,FR +1315759616,1315760127,RE +1315760128,1315761407,FR +1315761408,1315762175,RE 1315762176,1315766271,BG -1315766272,1315769087,NL -1315769088,1315769343,EU -1315769344,1315769855,NL -1315769856,1315770111,EU -1315770112,1315770367,NL +1315766272,1315770367,NL 1315770368,1315774463,UA 1315774464,1315778559,RU 1315778560,1315780607,AZ @@ -12173,9 +12498,7 @@ 1317637888,1317638143,IE 1317638144,1317642239,GB 1317642240,1317642495,IE -1317642496,1317645823,GB -1317645824,1317646079,IE -1317646080,1317646551,GB +1317642496,1317646551,GB 1317646552,1317646559,IE 1317646560,1317647015,GB 1317647016,1317647023,IE @@ -12183,9 +12506,9 @@ 1317647616,1317647871,IE 1317647872,1317650431,GB 1317650432,1317666815,PT -1317666816,1317679783,A2 -1317679784,1317679791,SS -1317679792,1317683199,A2 +1317666816,1317679727,GB +1317679728,1317679735,CM +1317679736,1317683199,GB 1317683200,1317699583,DE 1317699584,1317715967,RU 1317715968,1317732351,SA @@ -12194,9 +12517,9 @@ 1317765120,1317781503,GE 1317781504,1317814271,RU 1317814272,1317830655,DE -1317830656,1317833471,NL -1317833472,1317833727,CY -1317833728,1317847039,NL +1317830656,1317841279,NL +1317841280,1317841407,RU +1317841408,1317847039,NL 1317847040,1317863423,RU 1317863424,1317879807,GB 1317879808,1317896191,SK @@ -12223,11 +12546,16 @@ 1318682624,1318690815,RU 1318690816,1318699007,DK 1318699008,1318707199,IE -1318707200,1318709247,GB -1318709248,1318711295,FR -1318711296,1318713023,GB -1318713024,1318713119,FR -1318713120,1318714367,GB +1318707200,1318707455,FR +1318707456,1318709247,GB +1318709248,1318710015,FR +1318710016,1318710271,GB +1318710272,1318710527,FR +1318710528,1318710783,GB +1318710784,1318711039,FR +1318711040,1318713023,GB +1318713024,1318713087,FR +1318713088,1318714367,GB 1318714368,1318715390,FR 1318715391,1318715391,GB 1318715392,1318723583,BG @@ -12252,8 +12580,7 @@ 1318871040,1318879231,DK 1318879232,1318887423,CZ 1318887424,1318895615,PL -1318895616,1318897663,SE -1318897664,1318903807,DK +1318895616,1318903807,DK 1318903808,1318911999,RU 1318912000,1318920191,MK 1318920192,1318928383,IR @@ -12308,7 +12635,8 @@ 1331836928,1331838975,FR 1331838976,1331841023,ES 1331841024,1331843071,CZ -1331843072,1331845119,GB +1331843072,1331844863,GB +1331844864,1331845119,FR 1331845120,1331847167,RU 1331847168,1331849215,FR 1331849216,1331851263,BG @@ -12338,8 +12666,7 @@ 1331904512,1331908607,GB 1331908608,1331910655,DE 1331910656,1331912703,BH -1331912704,1331912959,NL -1331912960,1331914751,DE +1331912704,1331914751,DE 1331914752,1331916799,RU 1331916800,1331918847,IT 1331918848,1331920895,BE @@ -12444,13 +12771,33 @@ 1334345728,1334378495,RU 1334378496,1334411263,IT 1334411264,1334444031,RU -1334444032,1334478079,SE -1334478080,1334478335,DK -1334478336,1334478847,SE -1334478848,1334480895,DK -1334480896,1334484991,SE -1334484992,1334489087,DK -1334489088,1334501375,SE +1334444032,1334476799,SE +1334476800,1334477311,DK +1334477312,1334477567,SE +1334477568,1334478591,DK +1334478592,1334478847,SE +1334478848,1334481151,DK +1334481152,1334481407,SE +1334481408,1334483455,DK +1334483456,1334483711,SE +1334483712,1334484223,DK +1334484224,1334484991,SE +1334484992,1334495231,DK +1334495232,1334495743,SE +1334495744,1334495999,DK +1334496000,1334496255,SE +1334496256,1334497023,DK +1334497024,1334497279,SE +1334497280,1334497535,DK +1334497536,1334498047,SE +1334498048,1334498303,DK +1334498304,1334499071,SE +1334499072,1334499327,DK +1334499328,1334499583,SE +1334499584,1334500351,DK +1334500352,1334500607,SE +1334500608,1334501119,DK +1334501120,1334501375,SE 1334501376,1334509567,DK 1334509568,1334542335,PL 1334542336,1334575103,RU @@ -12465,25 +12812,12 @@ 1334611968,1334616063,ME 1334616064,1334620159,MD 1334620160,1334624255,DE -1334624256,1334625535,GB -1334625536,1334625791,AP -1334625792,1334626047,GB -1334626048,1334626303,AU -1334626304,1334626559,BR -1334626560,1334626815,GB -1334626816,1334627071,US -1334627072,1334628351,GB +1334624256,1334628351,GB 1334628352,1334632447,IE 1334632448,1334636543,KZ 1334636544,1334640639,RU 1334640640,1334644735,FR -1334644736,1334645051,DE -1334645052,1334645052,A2 -1334645053,1334645222,DE -1334645223,1334645223,US -1334645224,1334645226,DE -1334645227,1334645227,US -1334645228,1334647039,DE +1334644736,1334647039,DE 1334647040,1334647807,IQ 1334647808,1334648831,DE 1334648832,1334652927,GB @@ -12496,7 +12830,9 @@ 1334681600,1334681855,PL 1334681856,1334682111,GB 1334682112,1334682367,IE -1334682368,1334683391,GB +1334682368,1334682623,FR +1334682624,1334683135,DE +1334683136,1334683391,GB 1334683392,1334683647,CH 1334683648,1334683903,GB 1334683904,1334684031,DE @@ -12518,13 +12854,14 @@ 1334710272,1334714367,RU 1334714368,1334718463,DE 1334718464,1334722559,KZ -1334722560,1334726655,NL +1334722560,1334725631,NL +1334725632,1334725887,SE +1334725888,1334726655,NL 1334726656,1334734847,RU 1334734848,1334738943,LT 1334738944,1334743039,CH 1334743040,1334747135,CZ 1334747136,1334751231,RU -1334751232,1334755327,BH 1334755328,1334759423,UA 1334759424,1334763519,SE 1334763520,1334767615,DK @@ -12551,9 +12888,7 @@ 1336147968,1336279039,RU 1336279040,1336410111,GR 1336410112,1336541183,PT -1336541184,1336542207,SA -1336542208,1336542463,US -1336542464,1336543231,SA +1336541184,1336543231,SA 1336543232,1336545279,ES 1336545280,1336547327,SE 1336547328,1336549375,RU @@ -12566,7 +12901,6 @@ 1336561664,1336563711,NO 1336563712,1336567807,NL 1336567808,1336569855,BY -1336569856,1336571903,EU 1336571904,1336573951,PL 1336573952,1336575999,DK 1336576000,1336578047,RU @@ -12591,8 +12925,7 @@ 1336619008,1336621055,AL 1336621056,1336623103,DE 1336623104,1336625151,BE -1336625152,1336625407,IE -1336625408,1336627199,GB +1336625152,1336627199,GB 1336627200,1336629247,NO 1336629248,1336631295,DE 1336631296,1336633343,IS @@ -12645,123 +12978,91 @@ 1342628224,1342701567,GB 1342701568,1342702847,MQ 1342702848,1342703103,FR -1342703104,1342706687,MQ +1342703104,1342705151,MQ +1342705152,1342705407,FR +1342705408,1342705919,MQ +1342705920,1342706175,FR +1342706176,1342706687,MQ 1342706688,1342706943,FR -1342706944,1342708223,MQ -1342708224,1342708479,FR -1342708480,1342708735,MQ -1342708736,1342708991,FR -1342708992,1342710015,MQ -1342710016,1342710271,FR -1342710272,1342711807,MQ +1342706944,1342707711,MQ +1342707712,1342707967,FR +1342707968,1342711807,MQ 1342711808,1342712063,FR 1342712064,1342714111,MQ 1342714112,1342714367,FR -1342714368,1342716671,MQ -1342716672,1342716927,FR -1342716928,1342717951,MQ -1342717952,1342718207,GP -1342718208,1342718463,FR -1342718464,1342719231,GP +1342714368,1342716927,MQ +1342716928,1342717183,FR +1342717184,1342717951,MQ +1342717952,1342719231,GP 1342719232,1342719487,FR -1342719488,1342720767,GP -1342720768,1342721023,FR -1342721024,1342722047,GP -1342722048,1342722303,FR -1342722304,1342723327,GP +1342719488,1342723327,GP 1342723328,1342723583,FR -1342723584,1342724351,GP -1342724352,1342724607,FR -1342724608,1342725375,GP -1342725376,1342725631,FR -1342725632,1342729727,GP -1342729728,1342729983,FR -1342729984,1342730239,GP -1342730240,1342730495,FR -1342730496,1342731007,GP -1342731008,1342731263,FR -1342731264,1342732543,GP -1342732544,1342733055,FR -1342733056,1342734335,GP +1342723584,1342724095,GP +1342724096,1342724351,FR +1342724352,1342724607,GP +1342724608,1342724863,FR +1342724864,1342728191,GP +1342728192,1342728447,FR +1342728448,1342729215,GP +1342729216,1342729471,FR +1342729472,1342732031,GP +1342732032,1342732287,FR +1342732288,1342734335,GP 1342734336,1342734847,RE 1342734848,1342735103,FR -1342735104,1342736383,RE -1342736384,1342736639,FR -1342736640,1342736895,RE -1342736896,1342737151,FR -1342737152,1342737407,RE -1342737408,1342737663,FR -1342737664,1342738175,RE -1342738176,1342738431,FR -1342738432,1342741759,RE +1342735104,1342735359,RE +1342735360,1342735615,FR +1342735616,1342736639,RE +1342736640,1342736895,FR +1342736896,1342738175,RE +1342738176,1342738687,FR +1342738688,1342739199,RE +1342739200,1342739455,FR +1342739456,1342741759,RE 1342741760,1342742015,FR 1342742016,1342742527,RE 1342742528,1342742783,FR -1342742784,1342744063,RE -1342744064,1342744319,FR -1342744320,1342744831,RE -1342744832,1342745087,FR -1342745088,1342745343,RE -1342745344,1342745599,FR -1342745600,1342746111,RE -1342746112,1342746623,FR -1342746624,1342747135,RE -1342747136,1342747391,FR -1342747392,1342748159,RE -1342748160,1342748671,FR -1342748672,1342749183,RE -1342749184,1342750207,FR -1342750208,1342750463,RE -1342750464,1342750719,FR -1342750720,1342751231,RE -1342751232,1342751487,FR -1342751488,1342751999,RE -1342752000,1342752255,FR -1342752256,1342753023,RE -1342753024,1342753535,FR -1342753536,1342754047,RE -1342754048,1342754559,FR -1342754560,1342755071,RE -1342755072,1342755327,FR -1342755328,1342756863,RE +1342742784,1342743039,RE +1342743040,1342743295,FR +1342743296,1342743807,RE +1342743808,1342744063,FR +1342744064,1342744319,RE +1342744320,1342744575,FR +1342744576,1342746367,RE +1342746368,1342746623,FR +1342746624,1342747903,RE +1342747904,1342748415,FR +1342748416,1342749439,RE +1342749440,1342750463,FR +1342750464,1342753023,RE +1342753024,1342753279,FR +1342753280,1342754047,RE +1342754048,1342754303,FR +1342754304,1342755839,RE +1342755840,1342756095,FR +1342756096,1342756863,RE 1342756864,1342757119,FR -1342757120,1342758399,RE -1342758400,1342758911,FR -1342758912,1342759167,RE +1342757120,1342759167,RE 1342759168,1342759679,FR -1342759680,1342760191,RE -1342760192,1342760959,FR -1342760960,1342761471,RE -1342761472,1342762751,FR +1342759680,1342760447,RE +1342760448,1342761471,FR +1342761472,1342761727,RE +1342761728,1342762239,FR +1342762240,1342762495,RE +1342762496,1342762751,FR 1342762752,1342763007,RE -1342763008,1342764543,FR -1342764544,1342765311,RE -1342765312,1342765567,FR -1342765568,1342765823,RE -1342765824,1342988287,FR +1342763008,1342763775,FR +1342763776,1342764031,RE +1342764032,1342764287,FR +1342764288,1342766079,RE +1342766080,1342988287,FR 1342988288,1342989055,US 1342989056,1342996479,FR -1342996480,1342997247,GF -1342997248,1342997503,FR -1342997504,1342997759,GF -1342997760,1342998015,FR -1342998016,1342998271,GF -1342998272,1342998527,FR -1342998528,1343000575,GF +1342996480,1343000575,GF 1343000576,1343001087,FR -1343001088,1343001855,GF -1343001856,1343002111,FR -1343002112,1343002623,GF -1343002624,1343003135,FR -1343003136,1343005695,GF +1343001088,1343005695,GF 1343005696,1343005951,FR -1343005952,1343006719,GF -1343006720,1343006975,FR -1343006976,1343007743,GF -1343007744,1343008511,FR -1343008512,1343008767,GF -1343008768,1343009023,FR -1343009024,1343009279,GF +1343005952,1343009279,GF 1343009280,1343009535,FR 1343009536,1343012351,GF 1343012352,1343012607,FR @@ -12779,9 +13080,7 @@ 1343223688,1343224063,FR 1343224064,1343224303,US 1343224304,1343225855,FR -1343225856,1343475711,IT -1343475712,1343475967,US -1343475968,1343605503,IT +1343225856,1343605503,IT 1343605504,1343605759,US 1343605760,1343750143,IT 1343750144,1344798719,ES @@ -12799,15 +13098,15 @@ 1346392064,1346396159,UA 1346396160,1346400255,RU 1346400256,1346404351,IT -1346404352,1346407423,AT -1346407424,1346408447,DE +1346404352,1346404927,DE +1346404928,1346404943,AT +1346404944,1346408447,DE 1346408448,1346412543,LU 1346412544,1346416639,RU 1346416640,1346420735,DE 1346420736,1346424831,NO 1346424832,1346428927,JO -1346428928,1346429183,EU -1346429184,1346433023,FR +1346428928,1346433023,FR 1346433024,1346439167,NL 1346439168,1346441215,ES 1346441216,1346445311,RU @@ -12835,11 +13134,12 @@ 1346555904,1346559999,IT 1346560000,1346564095,LI 1346564096,1346568191,EE -1346568192,1346572287,SE +1346568192,1346569815,SE +1346569816,1346569819,ES +1346569820,1346572287,SE 1346572288,1346576383,DE 1346580480,1346584575,RU 1346584576,1346588159,US -1346588160,1346588927,EU 1346588928,1346589439,US 1346589440,1346589695,DE 1346589696,1346592767,US @@ -12872,13 +13172,12 @@ 1346740224,1346744319,FI 1346744320,1346748415,RU 1346748416,1346752511,DE -1346752512,1346752767,RE -1346752768,1346753535,FR +1346752512,1346753535,FR 1346753536,1346754047,RE 1346754048,1346754559,FR 1346754560,1346755071,RE -1346755072,1346755327,FR -1346755328,1346756095,RE +1346755072,1346755583,FR +1346755584,1346756095,RE 1346756096,1346756607,FR 1346756608,1346760703,SE 1346760704,1346764799,IR @@ -12913,7 +13212,7 @@ 1346904064,1346908159,PL 1346908160,1346912255,LI 1346912256,1346920447,BG -1346920448,1346924543,A2 +1346920448,1346924543,KE 1346924544,1346928639,RU 1346928640,1346932735,DE 1346932736,1346936831,DK @@ -13002,20 +13301,20 @@ 1347293317,1347293319,LR 1347293320,1347293328,GA 1347293329,1347293335,NG -1347293336,1347293351,A2 +1347293336,1347293351,SE 1347293352,1347293375,NG -1347293376,1347293391,A2 +1347293376,1347293391,SE 1347293392,1347293392,CY 1347293393,1347293400,NG 1347293401,1347293407,US -1347293408,1347293408,A2 +1347293408,1347293408,SE 1347293409,1347293416,NG 1347293417,1347293424,TZ 1347293425,1347293440,GN 1347293441,1347293447,US 1347293448,1347293456,GA 1347293457,1347293464,NG -1347293465,1347293471,A2 +1347293465,1347293471,SE 1347293472,1347293479,IQ 1347293480,1347293487,LR 1347293488,1347293495,TD @@ -13027,7 +13326,7 @@ 1347293537,1347293544,GH 1347293545,1347293552,NG 1347293553,1347293559,ZM -1347293560,1347293560,A2 +1347293560,1347293560,SE 1347293561,1347293568,GN 1347293569,1347293576,NG 1347293577,1347293584,GN @@ -13040,19 +13339,23 @@ 1347293633,1347293640,LR 1347293641,1347293656,NG 1347293657,1347293672,GN -1347293673,1347293675,A2 +1347293673,1347293675,SE 1347293676,1347293679,BR 1347293680,1347293680,GN 1347293681,1347293688,US 1347293689,1347293719,NG -1347293720,1347293723,A2 +1347293720,1347293723,SE 1347293724,1347293724,US -1347293725,1347293727,A2 +1347293725,1347293727,SE 1347293728,1347293728,GN -1347293729,1347293744,US +1347293729,1347293735,US +1347293736,1347293743,GN +1347293744,1347293744,US 1347293745,1347293752,GN 1347293753,1347293760,NG -1347293761,1347293776,ZM +1347293761,1347293767,ZM +1347293768,1347293775,CM +1347293776,1347293776,ZM 1347293777,1347293800,NG 1347293801,1347293807,US 1347293808,1347293816,NG @@ -13077,7 +13380,7 @@ 1347293985,1347293991,US 1347293992,1347294000,NG 1347294001,1347294008,TZ -1347294009,1347294015,A2 +1347294009,1347294015,SE 1347294016,1347294023,US 1347294024,1347294040,GN 1347294041,1347294048,NG @@ -13096,13 +13399,12 @@ 1347294161,1347294168,GN 1347294169,1347294176,NG 1347294177,1347294184,US -1347294185,1347294191,A2 +1347294185,1347294191,SE 1347294192,1347294192,KE -1347294193,1347294208,NG -1347294209,1347294212,SE -1347294213,1347294215,A2 +1347294193,1347294207,NG +1347294208,1347294215,SE 1347294216,1347294223,IQ -1347294224,1347294224,A2 +1347294224,1347294224,SE 1347294225,1347294232,CM 1347294233,1347294240,US 1347294241,1347294248,LR @@ -13111,7 +13413,7 @@ 1347294265,1347294268,LS 1347294269,1347294271,LR 1347294272,1347294279,BR -1347294280,1347294280,A2 +1347294280,1347294280,SE 1347294281,1347294288,CM 1347294289,1347294303,UG 1347294304,1347294304,US @@ -13130,30 +13432,32 @@ 1347294402,1347294402,NG 1347294403,1347294408,CM 1347294409,1347294415,GN -1347294416,1347294418,A2 +1347294416,1347294418,SE 1347294419,1347294424,NG 1347294425,1347294425,US 1347294426,1347294426,NG 1347294427,1347294432,US -1347294433,1347294435,A2 -1347294436,1347294440,SE +1347294433,1347294440,SE 1347294441,1347294447,SO -1347294448,1347294975,US +1347294448,1347294463,US +1347294464,1347294464,SE +1347294465,1347294496,US +1347294497,1347294975,SE 1347294976,1347294992,CG 1347294993,1347295008,US 1347295009,1347295015,LR -1347295016,1347295032,A2 +1347295016,1347295032,SE 1347295033,1347295056,NG -1347295057,1347295064,A2 +1347295057,1347295064,SE 1347295065,1347295072,LS 1347295073,1347295079,AF 1347295080,1347295103,NG -1347295104,1347295104,A2 +1347295104,1347295104,SE 1347295105,1347295112,LY 1347295113,1347295120,ZA 1347295121,1347295128,NG 1347295129,1347295132,GN -1347295133,1347295135,A2 +1347295133,1347295135,SE 1347295136,1347295144,FR 1347295145,1347295152,NG 1347295153,1347295159,US @@ -13161,75 +13465,70 @@ 1347295161,1347295168,GN 1347295169,1347295184,LS 1347295185,1347295192,SO -1347295193,1347295199,A2 +1347295193,1347295199,SE 1347295200,1347295216,ZM 1347295217,1347295223,US 1347295224,1347295224,AO 1347295225,1347295232,NG -1347295233,1347295744,A2 +1347295233,1347295744,SE 1347295745,1347295745,US -1347295746,1347295748,A2 +1347295746,1347295748,SE 1347295749,1347295752,US 1347295753,1347295755,BW -1347295756,1347295759,A2 +1347295756,1347295759,SE 1347295760,1347295775,BW 1347295776,1347295776,IQ 1347295777,1347295784,HU 1347295785,1347295791,LB -1347295792,1347295816,A2 +1347295792,1347295816,SE 1347295817,1347295824,OM 1347295825,1347295832,GH 1347295833,1347295840,FR 1347295841,1347295848,NG 1347295849,1347295852,LS -1347295853,1347295856,A2 +1347295853,1347295856,SE 1347295857,1347295864,NG -1347295865,1347295928,A2 +1347295865,1347295928,SE 1347295929,1347295936,NG 1347295937,1347295976,US 1347295977,1347295984,LS 1347295985,1347295992,US -1347295993,1347295999,A2 +1347295993,1347295999,SE 1347296000,1347296007,US -1347296008,1347296008,A2 +1347296008,1347296008,SE 1347296009,1347296032,US -1347296033,1347296040,A2 +1347296033,1347296040,SE 1347296041,1347296044,US -1347296045,1347296056,A2 +1347296045,1347296056,SE 1347296057,1347296080,US -1347296081,1347296088,SE -1347296089,1347296104,A2 +1347296081,1347296104,SE 1347296105,1347296112,US 1347296113,1347296128,ZM -1347296129,1347296136,A2 +1347296129,1347296136,SE 1347296137,1347296144,US -1347296145,1347296160,A2 +1347296145,1347296160,SE 1347296161,1347296168,US -1347296169,1347296176,A2 +1347296169,1347296176,SE 1347296177,1347296184,US -1347296185,1347296192,A2 +1347296185,1347296192,SE 1347296193,1347296200,US -1347296201,1347296224,A2 +1347296201,1347296224,SE 1347296225,1347296232,US 1347296233,1347296240,JO -1347296241,1347296264,A2 +1347296241,1347296264,SE 1347296265,1347296272,US -1347296273,1347297071,A2 +1347296273,1347297071,SE 1347297072,1347297079,US -1347297080,1347297151,A2 +1347297080,1347297151,SE 1347297152,1347297159,SL -1347297160,1347297279,A2 +1347297160,1347297279,SE 1347297280,1347305471,UA 1347305472,1347309567,AL 1347309568,1347313663,DE 1347313664,1347321855,RU 1347321856,1347322111,KW 1347322112,1347322367,US -1347322368,1347322623,KW -1347322624,1347322879,US -1347322880,1347324927,KW -1347324928,1347325439,US -1347325440,1347325951,KW +1347322368,1347325951,KW 1347325952,1347327743,CZ 1347327744,1347327999,SK 1347328000,1347330047,CZ @@ -13243,25 +13542,21 @@ 1347362816,1347366911,NL 1347366912,1347371007,IT 1347371008,1347375103,RU -1347375104,1347375359,EU -1347375360,1347375615,GB -1347375616,1347375871,EU -1347375872,1347379199,GB +1347375104,1347379199,GB 1347379200,1347383295,NL 1347383296,1347387011,EE 1347387012,1347387015,DE 1347387016,1347387391,EE 1347387392,1347391487,GB -1347391488,1347395583,LB +1347391488,1347393535,IQ +1347393536,1347395583,LB 1347395584,1347399679,SE 1347399680,1347403775,RU 1347403776,1347407871,NL 1347407872,1347411967,GB 1347411968,1347416063,DE 1347416064,1347420159,RU -1347420160,1347425791,DK -1347425792,1347426047,EU -1347426048,1347428351,DK +1347420160,1347428351,DK 1347428352,1347432447,BA 1347432448,1347436543,HR 1347436544,1347440639,SE @@ -13311,15 +13606,16 @@ 1347665920,1347670015,RU 1347670016,1347674111,SE 1347674112,1347682303,RU -1347682304,1347682559,DE -1347682560,1347682815,A2 -1347682816,1347686399,DE -1347686400,1347690495,EU +1347682304,1347686399,DE 1347690496,1347694591,SE 1347694592,1347706879,GB 1347706880,1347710975,IT 1347710976,1347715071,RU -1347715072,1347723263,ES +1347715072,1347716351,ES +1347716352,1347716607,BG +1347716608,1347718143,ES +1347718144,1347718399,US +1347718400,1347723263,ES 1347723264,1347727359,GB 1347727360,1347731455,UA 1347731456,1347739647,DE @@ -13348,22 +13644,19 @@ 1347805184,1347809279,PL 1347809280,1347813375,RU 1347813376,1347817471,DE -1347817472,1347821567,A2 +1347817472,1347821567,IT 1347821568,1347825663,GB 1347825664,1347829759,IT 1347829760,1347833855,SE -1347833856,1347837951,DE +1347833856,1347835810,DE +1347835811,1347835811,IL +1347835812,1347837951,DE 1347837952,1347846143,RO 1347846144,1347850239,NO 1347850240,1347854335,IT -1347854336,1347854591,DE -1347854592,1347854599,EU -1347854600,1347854607,DE -1347854608,1347857407,EU +1347854336,1347854847,DE 1347857408,1347858431,DE -1347858432,1347862089,EU 1347862090,1347862090,DE -1347862091,1347862271,EU 1347862272,1347862527,DE 1347862528,1347866623,CH 1347866624,1347870719,NO @@ -13392,15 +13685,12 @@ 1347960832,1347964927,DE 1347964928,1347969023,IT 1347969024,1347977215,SE -1347977216,1347985407,A2 +1347977216,1347985407,DK 1347985408,1347989503,IT 1347989504,1347993599,FI 1347993600,1348001791,GB 1348001792,1348005887,ES -1348005888,1348008959,BH -1348008960,1348009471,US -1348009472,1348009727,BH -1348009728,1348009983,US +1348005888,1348009983,BH 1348009984,1348014079,RU 1348014080,1348018175,DK 1348018176,1348026367,NO @@ -13444,17 +13734,12 @@ 1348177920,1348182015,BE 1348182016,1348190207,UA 1348190208,1348194303,RU -1348194304,1348194815,GR -1348194816,1348195071,US -1348195072,1348198399,GR +1348194304,1348198399,GR 1348198400,1348202495,NO -1348202496,1348206591,EU 1348206592,1348218879,RU -1348218880,1348219135,DE -1348219136,1348219391,US -1348219392,1348219647,DE -1348219648,1348220159,US -1348220160,1348222975,DE +1348218880,1348219647,DE +1348219648,1348219903,US +1348219904,1348222975,DE 1348222976,1348231167,LU 1348231168,1348235263,RU 1348235264,1348239359,AT @@ -13471,11 +13756,7 @@ 1348280320,1348284415,AT 1348284416,1348288511,RU 1348288512,1348292607,IT -1348292608,1348294689,FR -1348294690,1348294690,GB -1348294691,1348296556,FR -1348296557,1348296557,GB -1348296558,1348296703,FR +1348292608,1348296703,FR 1348296704,1348300799,RU 1348300800,1348304895,UA 1348304896,1348308991,IT @@ -13492,10 +13773,8 @@ 1348354048,1348358143,NL 1348358144,1348362239,DE 1348362240,1348366335,MC -1348366336,1348368227,IT -1348368228,1348368228,A2 -1348368229,1348370431,IT -1348370432,1348374527,CZ +1348366336,1348370431,IT +1348370432,1348374527,DE 1348374528,1348378623,CH 1348378624,1348382719,BY 1348382720,1348386815,FR @@ -13538,16 +13817,12 @@ 1350217728,1350303743,AT 1350303744,1350434815,FR 1350434816,1350565887,NL -1350565888,1352031618,DE -1352031619,1352031619,EU -1352031620,1352294911,DE -1352294912,1352295167,EU -1352295168,1352299775,DE +1350565888,1352299775,DE 1352299776,1352300031,US 1352300032,1352412159,DE 1352412160,1352412415,FR -1352412416,1352412671,DE -1352412672,1352412863,GB +1352412416,1352412799,DE +1352412800,1352412863,GB 1352412864,1352417279,DE 1352417280,1352418303,SK 1352418304,1352663039,DE @@ -13564,17 +13839,9 @@ 1353275248,1353275255,ES 1353275256,1353277439,GB 1353277440,1353279487,CH -1353279488,1353286143,GB -1353286144,1353286255,EU -1353286256,1353286271,GB -1353286272,1353286303,EU -1353286304,1353286311,GB -1353286312,1353286335,EU -1353286336,1353286367,GB -1353286368,1353286397,EU -1353286398,1353286398,GB -1353286399,1353286399,EU -1353286400,1353287959,GB +1353279488,1353287329,GB +1353287330,1353287330,IE +1353287331,1353287959,GB 1353287960,1353287967,IE 1353287968,1353298687,GB 1353298688,1353299455,SE @@ -13601,26 +13868,14 @@ 1354235904,1354301439,KW 1354301440,1354366975,FR 1354366976,1354432511,FI -1354432512,1354469375,DE -1354469376,1354469631,EU -1354469632,1354469887,DE -1354469888,1354471679,EU -1354471680,1354471935,DE -1354471936,1354472191,EU -1354472192,1354472959,DE -1354472960,1354473215,EU -1354473216,1354485759,DE -1354485760,1354487295,EU -1354487296,1354488319,DE -1354488320,1354488831,EU -1354488832,1354489087,DE -1354489088,1354489855,EU -1354489856,1354498047,DE +1354432512,1354498047,DE 1354498048,1354563583,CZ 1354563584,1354629119,GB 1354629120,1354658495,DE 1354658496,1354658511,AT -1354658512,1354665215,DE +1354658512,1354662159,DE +1354662160,1354662167,AT +1354662168,1354665215,DE 1354665216,1354665223,AT 1354665224,1354694655,DE 1354694656,1354760191,IR @@ -13633,7 +13888,9 @@ 1356070912,1356201983,NO 1356201984,1356333055,FR 1356333056,1356464127,SE -1356464128,1356595199,CH +1356464128,1356539775,CH +1356539776,1356539903,DE +1356539904,1356595199,CH 1356595200,1356857343,FI 1356857344,1356922879,ES 1356922880,1356988415,GB @@ -13642,46 +13899,35 @@ 1357119488,1357185023,DE 1357185024,1357250559,GB 1357250560,1357316095,IL -1357316096,1357317119,EU 1357317120,1357317375,GB -1357317376,1357317631,A2 -1357317632,1357318143,EU 1357318144,1357320191,QA -1357320192,1357321023,EU 1357321024,1357321087,KE -1357321088,1357321983,EU 1357321984,1357322239,GB -1357322240,1357322495,EU 1357322496,1357322751,DE -1357322752,1357323519,EU 1357323520,1357323775,GB -1357323776,1357324287,EU 1357324288,1357325311,GB -1357325312,1357327359,EU 1357327360,1357328383,DE -1357328384,1357340671,EU +1357328384,1357328639,GB +1357335808,1357336063,IT 1357340672,1357341695,GB -1357341696,1357342975,EU 1357342976,1357343231,GB -1357343232,1357343487,EU 1357343488,1357343503,GB -1357343504,1357347615,EU +1357344260,1357344263,FR +1357344512,1357344767,FR 1357347616,1357347647,FR -1357347648,1357351167,EU +1357347840,1357348095,PL 1357351168,1357351423,PL -1357351424,1357359871,EU 1357359872,1357360127,GB -1357360128,1357361151,EU 1357361152,1357363199,GB 1357363200,1357364223,QA 1357364224,1357365247,ES -1357365248,1357366783,EU -1357366784,1357367039,GB -1357367040,1357371391,EU +1357366784,1357366959,FR +1357366960,1357366967,BE +1357366968,1357366975,FR +1357366976,1357367039,GB 1357371392,1357371647,GB -1357371648,1357372159,EU -1357372160,1357372415,GB -1357372416,1357381631,EU +1357372160,1357372927,GB +1357373488,1357373503,GB 1357381632,1357414399,NO 1357414400,1357447167,LV 1357447168,1357479935,IE @@ -13698,52 +13944,35 @@ 1357791232,1357807615,PL 1357807616,1357840383,CH 1357840384,1357873151,NO -1357873152,1357875295,EU 1357875296,1357875327,IE -1357875328,1357877247,EU 1357877248,1357877311,DE -1357877312,1357877375,EU 1357877376,1357877439,DE -1357877440,1357879935,EU 1357879936,1357880063,GB -1357880064,1357883647,EU 1357883648,1357883903,SE -1357883904,1357886105,EU -1357886106,1357886361,SE -1357886362,1357889023,EU +1357885952,1357886207,SE 1357889024,1357889279,GB -1357889280,1357891071,EU +1357889280,1357889535,SE 1357891072,1357891327,NL -1357891328,1357891679,EU 1357891680,1357891711,GB -1357891712,1357891839,EU 1357891840,1357892095,GB -1357892096,1357892607,EU 1357892608,1357892735,NL -1357892736,1357892863,EU 1357892864,1357893119,NL -1357893120,1357893375,SE -1357893376,1357898751,EU 1357898752,1357898879,DE -1357898880,1357899647,EU 1357899648,1357899775,GB -1357899776,1357900415,EU 1357900416,1357900543,SE -1357900544,1357902365,EU +1357902336,1357902365,GB 1357902366,1357902366,NO -1357902367,1357902463,EU -1357902464,1357902591,GB -1357902592,1357902847,EU +1357902367,1357902591,GB +1357902592,1357902847,RU 1357902848,1357903359,GB -1357903360,1357904895,EU 1357904896,1357905407,GB -1357905408,1357905919,EU 1357905920,1357910015,LT 1357910016,1357914111,GR 1357914112,1357922303,RU 1357922304,1357926399,SA 1357926400,1357930495,GB -1357930496,1357942783,RU +1357930496,1357938687,RU +1357938688,1357942783,NL 1357942784,1357946879,RS 1357946880,1357953023,PL 1357953024,1357954047,US @@ -13757,17 +13986,13 @@ 1357979648,1357983743,KZ 1357983744,1357983783,GB 1357983784,1357983791,IT -1357983792,1357984079,GB -1357984080,1357984087,IT -1357984088,1357984103,GB +1357983792,1357984103,GB 1357984104,1357984119,IT 1357984120,1357984303,GB 1357984304,1357984311,IT 1357984312,1357984319,GB 1357984320,1357984327,IT -1357984328,1357984335,GB -1357984336,1357984343,IT -1357984344,1357984367,GB +1357984328,1357984367,GB 1357984368,1357984375,IT 1357984376,1357984487,GB 1357984488,1357984495,IT @@ -13777,21 +14002,15 @@ 1357984592,1357984599,IT 1357984600,1357984671,GB 1357984672,1357984679,IT -1357984680,1357984703,GB -1357984704,1357984711,IT -1357984712,1357984783,GB -1357984784,1357984791,IT -1357984792,1357984823,GB +1357984680,1357984823,GB 1357984824,1357984831,IT 1357984832,1357984911,GB 1357984912,1357984919,IT 1357984920,1357985015,GB 1357985016,1357985023,IT -1357985024,1357985391,GB -1357985392,1357985399,IT -1357985400,1357985511,GB -1357985512,1357985519,IT -1357985520,1357985791,GB +1357985024,1357985575,GB +1357985576,1357985583,IT +1357985584,1357985791,GB 1357985792,1357987839,DE 1357987840,1357989631,GB 1357989632,1357989887,FR @@ -13831,15 +14050,11 @@ 1358155776,1358159871,CH 1358159872,1358163967,ES 1358163968,1358164223,FR -1358164224,1358164735,MQ -1358164736,1358164991,FR +1358164224,1358164479,MQ +1358164480,1358164991,FR 1358164992,1358165503,MQ -1358165504,1358166015,FR -1358166016,1358166271,MQ -1358166272,1358166527,FR -1358166528,1358167551,MQ -1358167552,1358167807,FR -1358167808,1358168063,MQ +1358165504,1358166527,FR +1358166528,1358168063,MQ 1358168064,1358172159,GB 1358172160,1358176255,CY 1358176256,1358180351,RU @@ -13885,13 +14100,11 @@ 1358381056,1358385151,IT 1358385152,1358389247,GB 1358389248,1358397439,RU -1358397440,1358398463,A2 -1358398464,1358399487,GB -1358399488,1358401279,A2 +1358397440,1358401279,GB 1358401280,1358401535,KE -1358401536,1358402303,A2 +1358401536,1358402303,GB 1358402304,1358402559,TZ -1358402560,1358405631,A2 +1358402560,1358405631,GB 1358405632,1358409727,NL 1358409728,1358413823,RU 1358413824,1358422015,NL @@ -13926,10 +14139,9 @@ 1358551040,1358553087,GB 1358553088,1358557183,UA 1358557184,1358557439,IE -1358557440,1358557695,GB -1358557696,1358557951,IE -1358557952,1358561023,GB -1358561024,1358561279,IE +1358557440,1358560255,GB +1358560256,1358560511,IE +1358560512,1358561279,GB 1358561280,1358569471,CZ 1358569472,1358573567,NG 1358573568,1358577663,LV @@ -13942,10 +14154,9 @@ 1358610432,1358614527,IR 1358614528,1358622719,RU 1358622720,1358626815,SK -1358626816,1358628863,A2 +1358626816,1358628863,GB 1358628864,1358629119,IT -1358629120,1358630911,A2 -1358630912,1358635007,GB +1358629120,1358635007,GB 1358635008,1358639103,TR 1358639104,1358643199,RU 1358643200,1358647295,ES @@ -13960,9 +14171,11 @@ 1358670944,1358670951,FR 1358670952,1358670975,GB 1358670976,1358670991,PT -1358670992,1358675967,GB -1358675968,1358676991,SE -1358676992,1358677759,DK +1358670992,1358671935,GB +1358671936,1358671943,PT +1358671944,1358675967,GB +1358675968,1358676735,SE +1358676736,1358677759,DK 1358677760,1358679295,SE 1358679296,1358680063,DK 1358680064,1358688255,RU @@ -14002,29 +14215,27 @@ 1358827520,1358831615,RU 1358831616,1358835711,NO 1358835712,1358839807,RU -1358839808,1358842367,CH -1358842368,1358842879,CH -1358842880,1358843903,CH +1358839808,1358843903,CH 1358843904,1358847999,MT 1358848000,1358856191,RU 1358856192,1358860287,DE -1358860288,1358860835,GB -1358860836,1358860836,EU -1358860837,1358861311,GB -1358861312,1358861361,EU +1358860288,1358860879,GB +1358860880,1358860895,NG +1358860896,1358860951,GB +1358860952,1358860959,SE +1358860960,1358861361,GB 1358861362,1358861363,DE -1358861364,1358861449,EU +1358861364,1358861449,GB 1358861450,1358861450,DE -1358861451,1358861473,EU +1358861451,1358861473,GB 1358861474,1358861474,DE -1358861475,1358861567,EU +1358861475,1358861567,GB 1358861568,1358861823,DE 1358861824,1358862335,FR 1358862336,1358862847,US -1358862848,1358862898,DK +1358862848,1358862898,GB 1358862899,1358862899,NO -1358862900,1358863103,DK -1358863104,1358863359,EU +1358862900,1358863359,GB 1358863360,1358863615,US 1358863616,1358864383,GB 1358864384,1358872575,CH @@ -14033,24 +14244,22 @@ 1358884864,1358888959,SE 1358888960,1358893055,DE 1358893056,1358897151,RU -1358897152,1358899711,A2 +1358897152,1358899711,GB 1358899712,1358899967,US 1358899968,1358900223,KE -1358900224,1358904703,A2 +1358900224,1358904703,GB 1358904704,1358904719,MU -1358904720,1358904735,A2 +1358904720,1358904735,GB 1358904736,1358904767,ZA -1358904768,1358905167,A2 +1358904768,1358905167,GB 1358905168,1358905183,CD -1358905184,1358905343,A2 +1358905184,1358905343,GB 1358905344,1358909439,UA 1358909440,1358913535,RU 1358913536,1358917631,CH 1358917632,1358921727,ES 1358921728,1358929919,RU -1358929920,1358930700,LU -1358930701,1358930701,EU -1358930702,1358934015,LU +1358929920,1358934015,LU 1358934016,1358938111,RU 1358938112,1358946303,GB 1358946304,1358950399,LV @@ -14065,15 +14274,15 @@ 1359063040,1359064063,PL 1359064064,1359101951,RU 1359101952,1359118335,GB -1359118336,1359119359,DE +1359118336,1359119199,DE +1359119200,1359119231,NL +1359119232,1359119359,DE 1359119360,1359120383,NL 1359120384,1359121407,DK 1359121408,1359134719,DE 1359134720,1359151103,CZ 1359151104,1359167487,DE -1359167488,1359172095,GB -1359172096,1359172351,EU -1359172352,1359183871,GB +1359167488,1359183871,GB 1359183872,1359200255,RU 1359200256,1359216639,AT 1359216640,1359233023,EG @@ -14154,9 +14363,7 @@ 1360195584,1360199679,NL 1360199680,1360203775,CZ 1360203776,1360207871,FR -1360207872,1360210943,CZ -1360210944,1360211199,EU -1360211200,1360211967,CZ +1360207872,1360211967,CZ 1360211968,1360216063,GB 1360216064,1360224255,RU 1360224256,1360228351,ES @@ -14252,14 +14459,14 @@ 1360613376,1360617471,SE 1360617472,1360621567,IT 1360621568,1360625663,ES -1360625664,1360625919,A2 -1360625920,1360629759,DE +1360625664,1360629759,DE 1360629760,1360633855,SE 1360633856,1360637951,RU 1360637952,1360642047,FO 1360642048,1360644735,FR 1360644736,1360644863,IT -1360644864,1360646143,FR +1360644864,1360645887,FR +1360645888,1360646143,GB 1360646144,1360650239,AT 1360650240,1360654335,UA 1360654336,1360658431,EE @@ -14352,7 +14559,9 @@ 1362397440,1362397503,US 1362397504,1362398463,FR 1362398464,1362398719,DE -1362398720,1362404607,FR +1362398720,1362403583,FR +1362403584,1362404351,DZ +1362404352,1362404607,FR 1362404608,1362405887,DZ 1362405888,1362406143,FR 1362406144,1362407167,SV @@ -14384,26 +14593,18 @@ 1364262912,1364328447,IT 1364328448,1364459519,BE 1364459520,1364525055,PT -1364525056,1364525311,NL -1364525312,1364525567,A2 -1364525568,1364526591,NL +1364525056,1364526591,NL 1364526592,1364528639,GB -1364528640,1364575999,NL -1364576000,1364576255,US -1364576256,1364579839,NL -1364579840,1364580095,US -1364580096,1364581375,NL +1364528640,1364529663,NL +1364529664,1364530175,GB +1364530176,1364541439,NL +1364541440,1364545535,SE +1364545536,1364581375,NL 1364581376,1364582399,LY -1364582400,1364583167,NL -1364583168,1364583423,US -1364583424,1364585727,NL +1364582400,1364585727,NL 1364585728,1364585983,CA 1364585984,1364586239,LB -1364586240,1364588977,NL -1364588978,1364588978,US -1364588979,1364589567,NL -1364589568,1364589823,A2 -1364589824,1364590591,NL +1364586240,1364590591,NL 1364590592,1364721663,GB 1364721664,1364725759,SE 1364725760,1364733951,DE @@ -14465,9 +14666,7 @@ 1364979712,1364983039,GB 1364983040,1364983295,CH 1364983296,1364983807,GB -1364983808,1364989439,DE -1364989440,1364989695,US -1364989696,1364991999,DE +1364983808,1364991999,DE 1364992000,1364996095,IT 1364996096,1365000191,GR 1365000192,1365004287,SE @@ -14481,13 +14680,16 @@ 1365024768,1365028863,DE 1365028864,1365032959,NL 1365032960,1365041151,PT -1365041152,1365042047,FR +1365041152,1365041695,FR +1365041696,1365041919,LU +1365041920,1365042047,FR 1365042048,1365042055,GB 1365042056,1365044735,FR -1365044736,1365044927,LU +1365044736,1365044799,LU +1365044800,1365044927,FR 1365044928,1365044935,GR -1365044936,1365044991,LU -1365044992,1365045247,FR +1365044936,1365044943,LU +1365044944,1365045247,FR 1365045248,1365047295,AT 1365047296,1365049343,SK 1365049344,1365057535,FR @@ -14569,8 +14771,8 @@ 1369657344,1369659391,RU 1369659392,1369661439,UA 1369661440,1369665535,RU -1369665536,1369677824,UA -1369677825,1369686015,RU +1369665536,1369677823,UA +1369677824,1369686015,RU 1369686016,1369690111,PL 1369690112,1369694207,UA 1369694208,1369702399,RU @@ -14589,8 +14791,8 @@ 1370182144,1370182911,NL 1370182912,1370183167,US 1370183168,1370185983,NL -1370185984,1370186495,US -1370186496,1370188799,NL +1370185984,1370186239,GB +1370186240,1370188799,NL 1370188800,1370189055,US 1370189056,1370189311,NL 1370189312,1370189567,US @@ -14600,9 +14802,7 @@ 1370193920,1370226687,GB 1370226688,1370259455,ES 1370259456,1370292223,SE -1370292224,1370292479,NL -1370292480,1370292735,US -1370292736,1370324991,NL +1370292224,1370324991,NL 1370324992,1370357759,DE 1370357760,1370390527,IT 1370390528,1370423295,GB @@ -14632,24 +14832,24 @@ 1371799552,1371865087,RO 1371865088,1371930623,FI 1371930624,1371996159,LV -1371996160,1371996671,A2 +1371996160,1371996671,GB 1371996672,1371996927,GA -1371996928,1371997183,A2 +1371996928,1371997183,GB 1371997184,1371997439,KE -1371997440,1372000255,A2 +1371997440,1372000255,GB 1372000256,1372004351,UG -1372004352,1372006426,A2 +1372004352,1372006426,GB 1372006427,1372006427,TZ -1372006428,1372012543,A2 +1372006428,1372012543,GB 1372012544,1372013567,ZM -1372013568,1372020735,A2 +1372013568,1372020735,GB 1372020736,1372022783,ZM -1372022784,1372026367,A2 +1372022784,1372026367,GB 1372026368,1372026879,KE 1372026880,1372027903,IL -1372027904,1372043519,A2 +1372027904,1372043519,GB 1372043520,1372043775,NG -1372043776,1372060671,A2 +1372043776,1372060671,GB 1372060672,1372061695,IL 1372061696,1372069887,RU 1372069888,1372073983,FR @@ -14686,19 +14886,14 @@ 1372585984,1372618751,IT 1372618752,1372651519,GB 1372651520,1372684287,FI -1372684288,1372688383,EU 1372688384,1372689407,DE -1372689408,1372690431,EU 1372690432,1372691455,DE -1372691456,1372695999,EU 1372696000,1372696007,DK -1372696008,1372699135,EU -1372699136,1372699391,DE -1372699392,1372699903,EU +1372697344,1372697599,DE +1372698880,1372699391,DE 1372699904,1372700159,DE -1372700160,1372704767,EU +1372702720,1372703231,DE 1372704768,1372713983,DE -1372713984,1372715007,EU 1372715008,1372717055,DE 1372717056,1372749823,PL 1372749824,1372782591,DE @@ -14711,28 +14906,20 @@ 1373306880,1373372415,PL 1373372416,1373437951,FR 1373437952,1373503487,CH -1373503488,1373519871,RU -1373519872,1373523967,GB -1373523968,1373569023,RU +1373503488,1373569023,RU 1373569024,1373634559,AT -1373634560,1374418943,SE -1374418944,1374419199,DK -1374419200,1374683135,SE -1374683136,1375080959,BE -1375080960,1375081215,EU -1375081216,1375207423,BE -1375207424,1375208191,MQ -1375208192,1375208447,FR +1373634560,1374683135,SE +1374683136,1375207423,BE +1375207424,1375207679,MQ +1375207680,1375207935,FR +1375207936,1375208447,MQ 1375208448,1375208703,GP -1375208704,1375208959,MQ -1375208960,1375209215,FR -1375209216,1375210239,MQ +1375208704,1375210239,MQ 1375210240,1375210495,GP -1375210496,1375210751,FR -1375210752,1375211519,MQ -1375211520,1375212287,GP -1375212288,1375212543,FR -1375212544,1375215615,GP +1375210496,1375211519,MQ +1375211520,1375212799,GP +1375212800,1375213055,FR +1375213056,1375215615,GP 1375215616,1375216127,GF 1375216128,1375216383,FR 1375216384,1375216639,GF @@ -14741,93 +14928,88 @@ 1375217664,1375217919,FR 1375217920,1375218175,GF 1375218176,1375218687,FR -1375218688,1375219455,GF -1375219456,1375219711,FR -1375219712,1375221759,GF -1375221760,1375223039,FR -1375223040,1375223807,GF +1375218688,1375221759,GF +1375221760,1375222783,FR +1375222784,1375223807,GF 1375223808,1375224319,MQ 1375224320,1375224575,FR 1375224576,1375225343,MQ -1375225344,1375225599,FR -1375225600,1375225855,MQ -1375225856,1375226111,FR -1375226112,1375226367,MQ -1375226368,1375226879,FR -1375226880,1375227903,MQ -1375227904,1375228159,FR -1375228160,1375230463,MQ +1375225344,1375226111,FR +1375226112,1375226623,MQ +1375226624,1375226879,FR +1375226880,1375227135,MQ +1375227136,1375227647,FR +1375227648,1375230463,MQ 1375230464,1375230719,FR -1375230720,1375230975,MQ -1375230976,1375231231,FR -1375231232,1375231743,MQ -1375231744,1375232255,FR +1375230720,1375231231,MQ +1375231232,1375231487,FR +1375231488,1375231999,MQ +1375232000,1375232255,FR 1375232256,1375232767,MQ 1375232768,1375233023,FR 1375233024,1375234047,MQ 1375234048,1375235071,FR 1375235072,1375235327,MQ -1375235328,1375236607,FR -1375236608,1375237887,MQ -1375237888,1375238399,FR -1375238400,1375240191,MQ -1375240192,1375240703,GP -1375240704,1375241215,FR +1375235328,1375236863,FR +1375236864,1375237631,MQ +1375237632,1375237887,FR +1375237888,1375238655,MQ +1375238656,1375238911,FR +1375238912,1375240191,MQ +1375240192,1375240959,GP +1375240960,1375241215,FR 1375241216,1375242239,GP -1375242240,1375243007,FR -1375243008,1375243263,GP -1375243264,1375243519,FR -1375243520,1375244543,GP -1375244544,1375245055,FR -1375245056,1375245567,GP -1375245568,1375246335,FR -1375246336,1375247103,GP -1375247104,1375247615,FR -1375247616,1375248383,GP -1375248384,1375249151,FR -1375249152,1375250431,GP +1375242240,1375242495,BL +1375242496,1375243263,FR +1375243264,1375244799,GP +1375244800,1375245055,FR +1375245056,1375245311,GP +1375245312,1375245567,FR +1375245568,1375246335,GP +1375246336,1375246591,FR +1375246592,1375246847,GP +1375246848,1375247103,FR +1375247104,1375247359,GP +1375247360,1375247615,FR +1375247616,1375248895,GP +1375248896,1375249151,FR +1375249152,1375249663,GP +1375249664,1375249919,FR +1375249920,1375250431,GP 1375250432,1375251711,FR 1375251712,1375252223,GP -1375252224,1375252991,FR -1375252992,1375253247,GP -1375253248,1375254271,FR -1375254272,1375254527,GP -1375254528,1375255039,FR -1375255040,1375255551,GP -1375255552,1375255807,FR -1375255808,1375256319,GP +1375252224,1375253503,FR +1375253504,1375254271,GP +1375254272,1375255039,FR +1375255040,1375256319,GP 1375256320,1375256575,FR -1375256576,1375256831,RE -1375256832,1375257087,FR -1375257088,1375258623,RE -1375258624,1375258879,FR -1375258880,1375259647,RE -1375259648,1375260927,FR -1375260928,1375261439,RE +1375256576,1375257087,RE +1375257088,1375257343,FR +1375257344,1375259135,RE +1375259136,1375259391,FR +1375259392,1375259647,RE +1375259648,1375261183,FR +1375261184,1375261439,RE 1375261440,1375262207,FR 1375262208,1375263743,RE 1375263744,1375264255,FR -1375264256,1375266303,RE -1375266304,1375268095,FR +1375264256,1375265791,RE +1375265792,1375266047,FR +1375266048,1375266303,RE +1375266304,1375266815,FR +1375266816,1375267071,RE +1375267072,1375268095,FR 1375268096,1375268351,RE -1375268352,1375269119,FR -1375269120,1375269631,RE -1375269632,1375269887,FR -1375269888,1375271423,RE -1375271424,1375271935,FR -1375271936,1375272703,RE -1375272704,1375552511,FR -1375552512,1375553535,EU -1375553536,1375705984,FR -1375705985,1375705985,EU -1375705986,1375731711,FR -1375731712,1375844607,GB -1375844608,1375844735,US -1375844736,1375844767,GB -1375844768,1375844863,US -1375844864,1378719197,GB -1378719198,1378719198,EU -1378719199,1378877439,GB +1375268352,1375268863,FR +1375268864,1375269375,RE +1375269376,1375269887,FR +1375269888,1375270143,RE +1375270144,1375270655,FR +1375270656,1375271423,RE +1375271424,1375271679,FR +1375271680,1375272703,RE +1375272704,1375731711,FR +1375731712,1378877439,GB 1378877440,1379926015,IT 1379926016,1380188159,FR 1380188160,1380450303,GB @@ -14850,7 +15032,6 @@ 1382170624,1382187007,DE 1382187008,1382203391,ES 1382203392,1382205439,GB -1382205440,1382213631,EU 1382213632,1382219775,GB 1382219776,1382222847,SE 1382222848,1382223103,FI @@ -14869,6 +15050,7 @@ 1382432768,1382449151,CY 1382449152,1382465535,IL 1382465536,1382481919,PS +1382481920,1382498303,AT 1382498304,1382514687,BG 1382514688,1382531071,DK 1382531072,1382547455,FI @@ -14885,13 +15067,7 @@ 1383116800,1383120895,RU 1383120896,1383129087,IT 1383129088,1383137279,GB -1383137280,1383139583,MC -1383139584,1383139839,A2 -1383139840,1383140095,MC -1383140096,1383140351,A2 -1383140352,1383141119,MC -1383141120,1383141375,US -1383141376,1383145471,MC +1383137280,1383145471,MC 1383145472,1383153663,CZ 1383153664,1383161855,GB 1383161856,1383170047,DE @@ -14900,14 +15076,12 @@ 1383194624,1383202815,GB 1383202816,1383211007,RU 1383211008,1383219199,CY -1383219200,1383222271,AL -1383222272,1383222527,RS -1383222528,1383223295,AL -1383223296,1383223551,RS -1383223552,1383224831,AL -1383224832,1383225087,RS -1383225088,1383225855,AL -1383225856,1383226111,RS +1383219200,1383223295,AL +1383223296,1383223551,XK +1383223552,1383224063,AL +1383224064,1383224191,XK +1383224192,1383225855,AL +1383225856,1383226111,XK 1383226112,1383226207,AL 1383226208,1383226239,RS 1383226240,1383226879,AL @@ -14918,7 +15092,8 @@ 1383251968,1383260159,CZ 1383260160,1383268351,RU 1383268352,1383273983,IR -1383273984,1383276543,KW +1383273984,1383275775,KW +1383275776,1383276543,IR 1383276544,1383284735,KZ 1383284736,1383292927,PL 1383292928,1383301119,DE @@ -14930,9 +15105,7 @@ 1383350272,1383358463,NO 1383358464,1383367679,DE 1383367680,1383368703,GB -1383368704,1383368957,DE -1383368958,1383368958,US -1383368959,1383369727,DE +1383368704,1383369727,DE 1383369728,1383369760,SA 1383369761,1383369761,KW 1383369762,1383369768,SA @@ -14981,12 +15154,9 @@ 1383596032,1384120319,FR 1384120320,1384153087,NG 1384153088,1384185855,FI -1384185856,1384190975,DE 1384190976,1384191231,DK -1384191232,1384196095,DE 1384196096,1384197119,CZ -1384197120,1384202239,DE -1384202240,1384218623,GB +1384204288,1384206335,ES 1384218624,1384251391,EG 1384251392,1384267775,FI 1384267776,1384284159,CH @@ -15010,7 +15180,6 @@ 1384759296,1384775679,SY 1384775680,1384792063,RU 1384792064,1384808447,FR -1384808448,1384824831,EU 1384824832,1384841215,GB 1384841216,1384857599,PL 1384857600,1384873983,NL @@ -15046,8 +15215,7 @@ 1385267200,1385275391,SE 1385275392,1385283583,IT 1385283584,1385286143,DE -1385286144,1385287679,GB -1385287680,1385291775,EU +1385286144,1385291775,GB 1385291776,1385299967,TR 1385299968,1385308159,BG 1385308160,1385309439,BE @@ -15087,10 +15255,7 @@ 1385545728,1385553919,RU 1385553920,1385562111,DE 1385562112,1385562367,ES -1385562368,1385566975,EU -1385566976,1385567231,FR 1385567232,1385568255,IE -1385568256,1385570303,EU 1385570304,1385578495,HU 1385578496,1385580543,TR 1385580544,1385580799,DK @@ -15138,14 +15303,7 @@ 1388347392,1388363775,DK 1388363776,1388371967,DE 1388371968,1388380159,CH -1388380160,1388388351,IT -1388388352,1388389151,NG -1388389152,1388389167,IT -1388389168,1388390143,NG -1388390144,1388390167,IT -1388390168,1388394495,NG -1388394496,1388395519,IT -1388395520,1388396543,NG +1388380160,1388396543,IT 1388396544,1388404735,LV 1388404736,1388412927,UA 1388412928,1388421119,RU @@ -15169,17 +15327,10 @@ 1388568576,1388576767,CH 1388576768,1388580863,NL 1388580864,1388584959,FR -1388584960,1388587519,EU 1388587520,1388587775,GB -1388587776,1388588287,EU 1388588288,1388588543,GB -1388588544,1388588799,EU 1388588800,1388589823,GB -1388589824,1388590079,EU -1388590080,1388590335,FR -1388590336,1388591103,EU 1388591104,1388591359,AU -1388591360,1388593151,EU 1388593152,1388601343,RU 1388601344,1388609535,SE 1388609536,1388617727,RU @@ -15189,12 +15340,14 @@ 1388642304,1388650495,FI 1388650496,1388658687,PL 1388658688,1388666879,GB -1388666880,1388668159,FR -1388668160,1388668671,RE -1388668672,1388675071,FR -1388675072,1388678143,EU +1388666880,1388667135,FR +1388667136,1388667391,RE +1388667392,1388668159,FR +1388668160,1388668415,RE +1388668416,1388675071,FR +1388677632,1388677887,NL 1388678144,1388679167,DE -1388679168,1388683263,EU +1388681216,1388683263,DE 1388683264,1388685599,CH 1388685600,1388685631,GB 1388685632,1388688127,CH @@ -15207,7 +15360,8 @@ 1388711680,1388711935,LB 1388711936,1388714239,RU 1388714240,1388714495,LB -1388714496,1388715007,RU +1388714496,1388714751,RU +1388714752,1388715007,LT 1388715008,1388715263,LB 1388715264,1388716031,RU 1388716032,1388724223,ES @@ -15232,10 +15386,12 @@ 1388744848,1388745971,GB 1388745972,1388745975,IE 1388745976,1388746495,GB -1388746496,1388746559,IE -1388746560,1388746911,GB +1388746496,1388746751,IE +1388746752,1388746911,GB 1388746912,1388746927,IE -1388746928,1388748799,GB +1388746928,1388748287,GB +1388748288,1388748543,IE +1388748544,1388748799,GB 1388748800,1388756991,RU 1388756992,1388765183,DE 1388765184,1388773375,GB @@ -15243,9 +15399,11 @@ 1388781568,1388789759,ES 1388789760,1388794943,NL 1388794944,1388794959,GB -1388794960,1388796681,NL -1388796682,1388796682,EU -1388796683,1388797951,NL +1388794960,1388796679,NL +1388796680,1388796681,GB +1388796682,1388796682,NL +1388796683,1388796687,GB +1388796688,1388797951,NL 1388797952,1388806143,RU 1388806144,1388814335,DE 1388814336,1388822015,AX @@ -15263,33 +15421,25 @@ 1389101056,1389133823,NL 1389133824,1389166591,RU 1389166592,1389199359,PS -1389199360,1389199871,A2 +1389199360,1389199871,AE 1389199872,1389200159,US -1389200160,1389210627,A2 -1389210628,1389210631,US -1389210632,1389217023,A2 -1389217024,1389217535,US -1389217536,1389218815,A2 +1389200160,1389218815,AE 1389218816,1389219839,AF -1389219840,1389223935,A2 -1389223936,1389224191,US -1389224192,1389228415,A2 +1389219840,1389228415,AE 1389228416,1389228479,LB -1389228480,1389231359,A2 -1389231360,1389231615,EU -1389231616,1389232127,A2 +1389228480,1389232127,AE 1389232128,1389264895,DE 1389264896,1389265151,TZ -1389265152,1389266957,A2 +1389265152,1389266957,GB 1389266958,1389266958,NG -1389266959,1389268863,A2 +1389266959,1389268863,GB 1389268864,1389268871,KE -1389268872,1389275647,A2 +1389268872,1389275647,GB 1389275648,1389275903,ZA -1389275904,1389288447,A2 +1389275904,1389288447,GB 1389288448,1389289471,GN 1389289472,1389290495,NO -1389290496,1389297663,A2 +1389290496,1389297663,GB 1389297664,1389330431,UA 1389330432,1389363199,DE 1389363200,1389379583,CZ @@ -15303,13 +15453,7 @@ 1389494272,1389510655,DE 1389510656,1389527039,NL 1389527040,1389543423,PL -1389543424,1389557247,DE -1389557248,1389557375,EU -1389557376,1389557391,DE -1389557392,1389557503,EU -1389557504,1389558015,DE -1389558016,1389558271,EU -1389558272,1389576191,DE +1389543424,1389576191,DE 1389576192,1389592575,GB 1389592576,1389598719,GE 1389598720,1389598975,RU @@ -15332,18 +15476,11 @@ 1389785088,1389787135,MK 1389787136,1389789183,SI 1389789184,1389805567,PL -1389805568,1389806591,US +1389805568,1389805823,DE +1389805824,1389806079,US +1389806080,1389806591,DE 1389806592,1389806847,SA -1389806848,1389808639,US -1389808640,1389808895,EU -1389808896,1389814271,US -1389814272,1389814527,DE -1389814528,1389814783,US -1389814784,1389815039,EU -1389815040,1389815295,US -1389815296,1389815551,DE -1389815552,1389815807,US -1389815808,1389821951,DE +1389806848,1389821951,DE 1389821952,1389838335,NL 1389838336,1389854719,UZ 1389854720,1389871103,IT @@ -15357,7 +15494,9 @@ 1390280704,1390346239,TR 1390346240,1390411775,ES 1390411776,1392508927,FR -1392508928,1394606079,PL +1392508928,1393623705,PL +1393623706,1393623706,GB +1393623707,1394606079,PL 1394606080,1396703231,ES 1396703232,1396834303,AT 1396834304,1396899839,TR @@ -15377,12 +15516,12 @@ 1397071872,1397096447,RU 1397096448,1397227519,IE 1397227520,1397489663,DK -1397489664,1397751807,CH +1397489664,1397583615,CH +1397583616,1397583871,DE +1397583872,1397751807,CH 1397751808,1398276095,NL 1398276096,1398800383,DK -1398800384,1398817279,KW -1398817280,1398817535,US -1398817536,1398833151,KW +1398800384,1398833151,KW 1398833152,1398865919,NL 1398865920,1398867967,RU 1398867968,1398870015,NL @@ -15416,38 +15555,24 @@ 1399848960,1400111103,FR 1400111104,1400373247,NL 1400373248,1400702463,DE -1400702464,1400702975,EU 1400702976,1400705023,DE -1400705024,1400706047,EU 1400706048,1400707071,DE -1400707072,1400709120,EU 1400709121,1400710142,DE -1400710143,1400711167,EU 1400711168,1400712191,DE -1400712192,1400713215,EU 1400713216,1400718335,DE -1400718336,1400719359,EU 1400719360,1400721407,DE -1400721408,1400729599,EU +1400723456,1400725503,DE 1400729600,1400730623,DE -1400730624,1400731647,EU 1400731648,1400733695,DE -1400733696,1400897535,EU 1400897536,1400963071,NL 1400963072,1401028607,DE 1401028608,1401094143,IL 1401094144,1401159679,HR 1401159680,1401225215,PT 1401225216,1401241599,DE -1401241600,1401246719,EU 1401246720,1401257983,DE -1401257984,1401271295,EU -1401271296,1401273343,DE -1401273344,1401273855,EU -1401273856,1401274111,DE -1401274112,1401278463,EU +1401271296,1401274367,DE 1401278464,1401283583,DE -1401283584,1401286655,EU 1401286656,1401290751,DE 1401290752,1401356287,BE 1401356288,1401421823,DE @@ -15479,16 +15604,14 @@ 1401477120,1401479167,BE 1401479168,1401481215,PL 1401481216,1401485311,RU -1401485312,1401487871,GB -1401487872,1401488127,EU -1401488128,1401489407,GB +1401485312,1401489407,GB 1401489408,1401491455,SE 1401491456,1401493503,NL 1401493504,1401495551,CH 1401495552,1401497599,DE 1401497600,1401499647,AT 1401499648,1401501695,RU -1401501696,1401503487,A2 +1401501696,1401503487,IT 1401503488,1401503743,AL 1401503744,1401505791,DE 1401505792,1401509887,CH @@ -15512,9 +15635,7 @@ 1401546752,1401548799,IT 1401548800,1401550847,FR 1401550848,1401551359,GB -1401551360,1401551615,JE -1401551616,1401551871,GB -1401551872,1401552383,JE +1401551360,1401552383,JE 1401552384,1401552895,GB 1401552896,1401554943,NL 1401554944,1401556991,IE @@ -15585,7 +15706,6 @@ 1401935872,1401937919,FI 1401937920,1401939967,GB 1401939968,1401942015,UA -1401942016,1401944063,EU 1401944064,1401946111,BG 1401946112,1401962495,FR 1401962496,1401978879,PL @@ -15601,7 +15721,9 @@ 1402060800,1402077183,FI 1402077184,1402093567,GB 1402093568,1402109951,RU -1402109952,1402142719,FI +1402109952,1402129919,FI +1402129920,1402130175,AX +1402130176,1402142719,FI 1402142720,1402159103,ES 1402159104,1402175487,IT 1402175488,1402191871,IE @@ -15651,18 +15773,23 @@ 1403518976,1403535359,CY 1403535360,1403551743,PL 1403551744,1403568127,SK -1403568128,1403584511,SE +1403568128,1403573247,SE +1403573248,1403573503,ES +1403573504,1403574783,SE +1403574784,1403575039,IT +1403575040,1403576063,SE +1403576064,1403576319,DE +1403576320,1403578879,SE +1403578880,1403579135,DK +1403579136,1403581951,SE +1403581952,1403582207,US +1403582208,1403584511,SE 1403584512,1403600895,DE 1403600896,1403617279,FR 1403617280,1403633663,DE 1403633664,1403650047,RU -1403650048,1403653631,A2 -1403653632,1403653663,DE -1403653664,1403666431,A2 -1403666432,1403682815,GB -1403682816,1403688959,A2 -1403688960,1403692031,GB -1403692032,1403699199,A2 +1403650048,1403666431,DE +1403666432,1403699199,GB 1403699200,1403715583,UA 1403715584,1403731967,LT 1403731968,1403748351,RU @@ -15693,28 +15820,32 @@ 1404082176,1404083199,DE 1404083200,1404084223,EE 1404084224,1404092415,NO -1404092416,1404094463,SE -1404094464,1404094975,EE +1404092416,1404094719,SE +1404094720,1404094975,EE 1404094976,1404095999,SE -1404096000,1404096511,EE -1404096512,1404098815,SE +1404096000,1404096255,EE +1404096256,1404098815,SE 1404098816,1404099839,EE 1404099840,1404100095,SE -1404100096,1404100351,EE -1404100352,1404102655,SE -1404102656,1404102911,EE +1404100096,1404100607,EE +1404100608,1404102143,SE +1404102144,1404102911,EE 1404102912,1404103167,SE -1404103168,1404104703,EE -1404104704,1404107775,SE -1404107776,1404108287,EE +1404103168,1404104191,EE +1404104192,1404104447,SE +1404104448,1404104703,EE +1404104704,1404107263,SE +1404107264,1404107519,EE +1404107520,1404108031,SE +1404108032,1404108287,EE 1404108288,1404108799,SE 1404108800,1404112895,NL 1404112896,1404114943,HR -1404114944,1404115199,EE -1404115200,1404116735,SE -1404116736,1404116991,EE +1404114944,1404116991,SE 1404116992,1404125183,NO -1404125184,1404127743,SE +1404125184,1404127231,SE +1404127232,1404127487,EE +1404127488,1404127743,SE 1404127744,1404127999,EE 1404128000,1404135423,SE 1404135424,1404137471,NL @@ -15723,17 +15854,13 @@ 1404141568,1404142335,EE 1404142336,1404145663,SE 1404145664,1404146943,EE -1404146944,1404147455,SE -1404147456,1404147967,EE -1404147968,1404148479,SE -1404148480,1404148735,EE -1404148736,1404148991,SE +1404146944,1404147199,SE +1404147200,1404147967,EE +1404147968,1404148991,SE 1404148992,1404149759,EE 1404149760,1404151807,SE 1404151808,1404152319,EE -1404152320,1404153343,SE -1404153344,1404153599,EE -1404153600,1404159999,SE +1404152320,1404159999,SE 1404160000,1404160255,EE 1404160256,1404160511,SE 1404160512,1404160767,EE @@ -15771,62 +15898,67 @@ 1404232704,1404233215,EE 1404233216,1404234239,SE 1404234240,1404234751,EE -1404234752,1404235775,HR -1404235776,1404240895,SE -1404240896,1404241919,EE -1404241920,1404242175,SE -1404242176,1404242394,EE +1404234752,1404239871,HR +1404239872,1404240895,SE +1404240896,1404241663,EE +1404241664,1404241919,SE +1404241920,1404242394,EE 1404242395,1404242395,SE 1404242396,1404242431,EE 1404242432,1404242687,SE 1404242688,1404242943,EE -1404242944,1404248063,SE -1404248064,1404248319,EE -1404248320,1404248575,SE -1404248576,1404248831,EE -1404248832,1404249855,SE -1404249856,1404250111,EE -1404250112,1404256255,SE +1404242944,1404243199,SE +1404243200,1404243711,EE +1404243712,1404248063,SE +1404248064,1404248575,EE +1404248576,1404249087,SE +1404249088,1404249343,EE +1404249344,1404256255,SE 1404256256,1404305407,RU 1404305408,1404313599,EE 1404313600,1404321791,HR 1404321792,1404338175,RU -1404338176,1404340223,SE +1404338176,1404339967,SE +1404339968,1404340223,EE 1404340224,1404342271,HR 1404342272,1404370943,SE 1404370944,1404371199,EE -1404371200,1404374271,SE -1404374272,1404374527,EE -1404374528,1404375807,SE -1404375808,1404376831,EE -1404376832,1404377599,SE -1404377600,1404378111,EE -1404378112,1404379135,SE +1404371200,1404372991,SE +1404372992,1404373503,EE +1404373504,1404373759,SE +1404373760,1404374783,EE +1404374784,1404376063,SE +1404376064,1404376831,EE +1404376832,1404377087,SE +1404377088,1404377343,EE +1404377344,1404379135,SE 1404379136,1404383231,AT 1404383232,1404385279,HR 1404385280,1404386047,LT 1404386048,1404387327,SE 1404387328,1404420095,LT 1404420096,1404436479,RU -1404436480,1404522495,SE +1404436480,1404502527,SE +1404502528,1404502783,EE +1404502784,1404507391,SE +1404507392,1404507453,EE +1404507454,1404507454,SE +1404507455,1404507647,EE +1404507648,1404507903,SE +1404507904,1404507975,EE +1404507976,1404507976,SE +1404507977,1404508415,EE +1404508416,1404509951,SE +1404509952,1404510207,EE +1404510208,1404515583,SE +1404515584,1404515839,HR +1404515840,1404517375,SE +1404517376,1404517631,HR +1404517632,1404522495,SE 1404522496,1404526591,LV 1404526592,1404538879,SE 1404538880,1404542975,LV -1404542976,1404551167,SE -1404551168,1404551423,EE -1404551424,1404552703,SE -1404552704,1404552959,EE -1404552960,1404553215,SE -1404553216,1404553471,EE -1404553472,1404554239,SE -1404554240,1404555007,EE -1404555008,1404555519,SE -1404555520,1404556543,EE -1404556544,1404557055,SE -1404557056,1404557311,EE -1404557312,1404557567,SE -1404557568,1404558847,EE -1404558848,1404559359,SE +1404542976,1404559359,SE 1404559360,1404563455,LV 1404563456,1404567551,SE 1404567552,1404583935,HR @@ -15835,13 +15967,14 @@ 1404645376,1404645887,EE 1404645888,1404677888,SE 1404677889,1404678143,EE -1404678144,1404764159,SE +1404678144,1404680191,HR +1404680192,1404764159,SE 1404764160,1404780543,NL 1404780544,1404796927,SE 1404796928,1404801023,EE 1404801024,1404802047,SE -1404802048,1404803327,EE -1404803328,1404804095,LV +1404802048,1404803583,EE +1404803584,1404804095,LV 1404804096,1404804351,EE 1404804352,1404804607,SE 1404804608,1404805119,EE @@ -15855,49 +15988,40 @@ 1404872704,1404874751,SE 1404874752,1404875775,LV 1404875776,1404876799,EE -1404876800,1404895231,SE -1404895232,1404904959,NL -1404904960,1404905215,DE -1404905216,1404911359,NL -1404911360,1404911615,DE -1404911616,1404919807,NL -1404919808,1404927999,EE +1404876800,1404887039,SE +1404887040,1404887295,NL +1404887296,1404887551,SE +1404887552,1404893951,NL +1404893952,1404894207,SE +1404894208,1404927999,NL 1404928000,1404944383,SE 1404944384,1404960767,LT 1404960768,1405026303,SE 1405026304,1405042687,NO 1405042688,1405043711,SE -1405043712,1405043967,EE -1405043968,1405044223,SE -1405044224,1405044479,EE -1405044480,1405046783,SE -1405046784,1405047807,EE -1405047808,1405048831,SE +1405043712,1405044735,EE +1405044736,1405046783,SE +1405046784,1405047551,EE +1405047552,1405048831,SE 1405048832,1405050879,HR 1405050880,1405059071,AT -1405059072,1405059583,SE -1405059584,1405061119,EE +1405059072,1405059327,SE +1405059328,1405061119,EE 1405061120,1405062143,SE -1405062144,1405062399,EE -1405062400,1405062655,SE -1405062656,1405062911,EE +1405062144,1405062911,EE 1405062912,1405063167,SE 1405063168,1405067263,NO -1405067264,1405084159,EE -1405084160,1405084415,SE -1405084416,1405085951,EE -1405085952,1405086207,SE -1405086208,1405086463,EE -1405086464,1405086719,SE -1405086720,1405086975,EE -1405086976,1405087743,SE +1405067264,1405083903,EE +1405083904,1405084159,SE +1405084160,1405087231,EE +1405087232,1405087743,SE 1405087744,1405087999,EE 1405088000,1405088255,SE -1405088256,1405089023,EE -1405089024,1405089791,SE -1405089792,1405090047,EE -1405090048,1405090303,SE -1405090304,1405090559,EE +1405088256,1405088767,EE +1405088768,1405089023,SE +1405089024,1405089279,EE +1405089280,1405089535,SE +1405089536,1405090559,EE 1405090560,1405091839,SE 1405091840,1406140415,FR 1406140416,1406205951,CZ @@ -15913,11 +16037,11 @@ 1406681088,1406689279,GB 1406689280,1406697471,SE 1406697472,1406705663,GB -1406705664,1406708735,IT -1406708736,1406709759,A2 -1406709760,1406713855,IT +1406705664,1406713855,IT 1406713856,1406717951,AT -1406717952,1406719487,GB +1406717952,1406718975,GB +1406718976,1406719103,AT +1406719104,1406719487,GB 1406719488,1406719743,AT 1406719744,1406719999,GB 1406720000,1406721023,AT @@ -15926,28 +16050,25 @@ 1406730240,1406746623,RU 1406746624,1406754815,BE 1406754816,1406763007,GB -1406763008,1406763263,BE -1406763264,1406764031,LU -1406764032,1406764287,BE -1406764288,1406765567,LU +1406763008,1406763519,BE +1406763520,1406764543,LU +1406764544,1406765055,BE +1406765056,1406765567,LU 1406765568,1406765823,BE -1406765824,1406766079,LU -1406766080,1406766335,BE -1406766336,1406766847,LU +1406765824,1406766847,LU 1406766848,1406767103,BE -1406767104,1406767359,LU -1406767360,1406767615,BE -1406767616,1406767871,LU -1406767872,1406768127,BE -1406768128,1406768639,LU -1406768640,1406768895,BE -1406768896,1406769151,LU -1406769152,1406769919,BE -1406769920,1406770943,LU +1406767104,1406767615,LU +1406767616,1406767871,BE +1406767872,1406769407,LU +1406769408,1406769919,BE +1406769920,1406770687,LU +1406770688,1406770943,GB 1406770944,1406771199,BE 1406771200,1406779391,GB 1406779392,1406787583,RU -1406787584,1406791167,ES +1406787584,1406789631,ES +1406789632,1406789887,FR +1406789888,1406791167,ES 1406791168,1406791295,GB 1406791296,1406792719,ES 1406792720,1406792735,GB @@ -15955,9 +16076,13 @@ 1406793844,1406793847,GB 1406793848,1406794751,ES 1406794752,1406795775,NL -1406795776,1406797055,GB +1406795776,1406796543,GB +1406796544,1406796799,IM +1406796800,1406797055,GB 1406797056,1406797311,IM -1406797312,1406803967,GB +1406797312,1406803455,GB +1406803456,1406803711,IM +1406803712,1406803967,GB 1406803968,1406812159,DE 1406812160,1406820351,SE 1406820352,1406828543,PL @@ -16012,33 +16137,27 @@ 1407320064,1407451135,SE 1407451136,1407483903,BG 1407483904,1407516671,CH -1407516672,1407523871,A2 -1407523872,1407523879,SS -1407523880,1407525895,A2 -1407525896,1407525903,SS -1407525904,1407526231,A2 +1407516672,1407522719,GB +1407522720,1407522727,CD +1407522728,1407526231,GB 1407526232,1407526239,CD -1407526240,1407526823,A2 -1407526824,1407526831,SS -1407526832,1407528959,A2 -1407528960,1407529178,US +1407526240,1407529178,GB 1407529179,1407529180,NG -1407529181,1407529215,US -1407529216,1407531111,A2 -1407531112,1407531119,SS -1407531120,1407531551,A2 -1407531552,1407531559,SS -1407531560,1407534365,A2 +1407529181,1407533311,GB +1407533312,1407533567,BR +1407533568,1407534079,GB +1407534080,1407534335,US +1407534336,1407534365,GB 1407534366,1407534366,NG -1407534367,1407534831,A2 -1407534832,1407534839,SS -1407534840,1407537087,A2 +1407534367,1407537087,GB 1407537088,1407537095,GH -1407537096,1407549439,A2 +1407537096,1407549439,GB 1407549440,1407582207,RU 1407582208,1407614975,PL 1407614976,1407680511,ES -1407680512,1407711239,GB +1407680512,1407702271,GB +1407702272,1407702527,DE +1407702528,1407711239,GB 1407711240,1407711247,FR 1407711248,1407711263,GB 1407711264,1407711295,FR @@ -16100,18 +16219,7 @@ 1409548288,1409810431,FR 1409810432,1409941503,GB 1409941504,1410007039,PL -1410007040,1410011135,A2 -1410011136,1410011391,DE -1410011392,1410017535,A2 -1410017536,1410017791,US -1410017792,1410017792,DE -1410017793,1410042367,A2 -1410042368,1410042623,US -1410042624,1410043169,A2 -1410043170,1410043171,US -1410043172,1410043172,A2 -1410043173,1410043173,US -1410043174,1410072575,A2 +1410007040,1410072575,DE 1410072576,1410203647,GB 1410203648,1410212863,FR 1410212864,1410213119,GB @@ -16128,7 +16236,9 @@ 1410351104,1410359295,CH 1410359296,1410367487,CZ 1410367488,1410375679,RU -1410375680,1410383871,DK +1410375680,1410378015,DK +1410378016,1410378031,NR +1410378032,1410383871,DK 1410383872,1410392063,NO 1410392064,1410400255,DE 1410400256,1410408447,RU @@ -16170,13 +16280,19 @@ 1410678784,1410686975,RU 1410686976,1410695167,CZ 1410695168,1410703359,GB -1410703360,1410711551,ES 1410711552,1410719743,BG 1410719744,1410727935,RU 1410727936,1410736127,BG -1410736128,1410744319,RS -1410744320,1410748415,A2 -1410748416,1410752511,DE +1410736128,1410737663,RS +1410737664,1410737919,XK +1410737920,1410738175,RS +1410738176,1410738431,XK +1410738432,1410738687,RS +1410738688,1410738943,XK +1410738944,1410743295,RS +1410743296,1410743551,XK +1410743552,1410744319,RS +1410744320,1410752511,FR 1410752512,1410760703,NL 1410760704,1410768895,RU 1410768896,1410777087,GB @@ -16220,15 +16336,14 @@ 1411833856,1411837951,NL 1411837952,1411842047,BG 1411842048,1411850239,NL -1411850240,1411858431,RO +1411850240,1411858431,FR 1411858432,1411870719,DE -1411870720,1411870975,GB -1411870976,1411872767,EU 1411872768,1411874815,NL 1411874816,1411876863,RU -1411876864,1411878911,EU 1411878912,1411880959,CH -1411880960,1411883007,DE +1411880960,1411881215,DE +1411881216,1411881471,GB +1411881472,1411883007,DE 1411883008,1411887103,PL 1411887104,1411889151,IR 1411889152,1411891199,IT @@ -16236,9 +16351,7 @@ 1411899392,1411901439,ES 1411901440,1411903487,IE 1411903488,1411907583,RU -1411907584,1411911679,EU 1411911680,1411915775,US -1411915776,1411919871,EU 1411919872,1411923967,DE 1411923968,1411940351,BG 1411940352,1411973119,PL @@ -16256,9 +16369,13 @@ 1412300800,1412333567,DE 1412333568,1412366335,LT 1412366336,1412399103,SK -1412399104,1412415487,RU -1412415488,1412416511,AE -1412416512,1412431871,IR +1412399104,1412412159,RU +1412412160,1412412415,UA +1412412416,1412415487,RU +1412415488,1412419583,AE +1412419584,1412427775,IR +1412427776,1412429823,AE +1412429824,1412431871,IR 1412431872,1412562943,NO 1412562944,1412628479,EE 1412628480,1412641791,TR @@ -16274,11 +16391,8 @@ 1412743168,1412775935,NO 1412775936,1412792319,NL 1412792320,1412793343,US -1412793344,1412793855,EU 1412793856,1412804607,US -1412804608,1412804863,EU 1412804864,1412805631,US -1412805632,1412806143,EU 1412806144,1412808703,US 1412808704,1412825087,RU 1412825088,1412830463,IQ @@ -16293,10 +16407,18 @@ 1412923392,1412939775,FR 1412939776,1412956159,CH 1412956160,1413480447,DE -1413480448,1414004735,GB -1414004736,1414069218,CH +1413480448,1414004735,IN +1414004736,1414036479,CH +1414036480,1414036991,DE +1414036992,1414039551,CH +1414039552,1414040575,DE +1414040576,1414069218,CH 1414069219,1414069219,AT -1414069220,1414266879,CH +1414069220,1414094847,CH +1414094848,1414095615,DE +1414095616,1414119295,CH +1414119296,1414119423,DE +1414119424,1414266879,CH 1414266880,1414529023,ES 1414529024,1415053311,NL 1415053312,1415184383,ES @@ -16306,7 +16428,12 @@ 1415577600,1416101887,FR 1416101888,1416364031,NL 1416364032,1416626175,IL -1416626176,1417019391,AT +1416626176,1416941567,AT +1416941568,1416943615,CH +1416943616,1416944639,AT +1416944640,1416945663,CZ +1416945664,1416953855,AT +1416953856,1417019391,RO 1417019392,1417150463,DE 1417150464,1417674751,ES 1417674752,1421869055,DE @@ -16327,22 +16454,20 @@ 1422655488,1422721023,RU 1422721024,1422729215,PL 1422729216,1422737407,NO -1422737408,1422745599,EU 1422745600,1422753791,EG 1422753792,1422761983,FR 1422761984,1422770175,PL 1422770176,1422786559,GR 1422786560,1422852095,HU -1422852096,1422857087,EU 1422857088,1422857151,FR -1422857152,1422916863,EU -1422916864,1422917375,GB -1422917376,1422917631,EU +1422916864,1422917631,GB 1422917632,1423441919,NO 1423441920,1423704063,SE 1423704064,1423966207,IT 1423966208,1424097279,HU -1424097280,1424228351,CH +1424097280,1424163583,CH +1424163584,1424163839,DE +1424163840,1424228351,CH 1424228352,1424286719,IL 1424286720,1424287743,BG 1424287744,1424359423,IL @@ -16353,20 +16478,16 @@ 1424523264,1424556031,RO 1424556032,1424588799,EG 1424588800,1424595743,GB -1424595744,1424595775,IT -1424595776,1424597069,GB +1424595744,1424595751,IT +1424595752,1424597069,GB 1424597070,1424597070,CZ 1424597071,1424600575,GB 1424600576,1424600831,FR 1424600832,1424602879,GB 1424602880,1424603135,US -1424603136,1424604671,GB -1424604672,1424604927,EU -1424604928,1424607743,GB +1424603136,1424607743,GB 1424607744,1424607775,DE -1424607776,1424615679,GB -1424615680,1424615935,IT -1424615936,1424617215,GB +1424607776,1424617215,GB 1424617216,1424617231,IT 1424617232,1424621567,GB 1424621568,1424625663,PL @@ -16444,20 +16565,24 @@ 1425451008,1425459199,GB 1425459200,1425461247,IM 1425461248,1425463295,ES -1425463296,1425467391,FR +1425463296,1425467135,FR +1425467136,1425467391,ES 1425467392,1425469439,CH 1425469440,1425471487,DK 1425471488,1425473535,DE -1425473536,1425485311,RO -1425485312,1425485823,US -1425485824,1425489407,RO +1425473536,1425479679,RO +1425479680,1425480703,MD +1425480704,1425484799,RO +1425484800,1425485311,MD +1425485312,1425489407,RO 1425489408,1425489663,NL 1425489664,1425506303,RO 1425506304,1425522687,NO 1425522688,1425539071,IT 1425539072,1425801215,FI 1425801216,1425817599,BG -1425817600,1425833983,DE +1425820160,1425820415,DE +1425832448,1425832703,DE 1425833984,1425850367,RU 1425850368,1425866751,GB 1425866752,1425883135,CH @@ -16466,19 +16591,25 @@ 1425915904,1425932287,FI 1425932288,1425948671,GR 1425948672,1425965055,DE -1425965056,1425970175,EU +1425965056,1425970175,IT 1425970176,1425970431,FR -1425970432,1425971967,EU -1425971968,1425972223,A2 -1425972224,1425980415,EU +1425970432,1425980415,IT 1425980416,1425980671,IQ -1425980672,1425981439,A2 +1425980672,1425981439,IT 1425981440,1425997823,RU 1425997824,1426014207,MT 1426014208,1426030591,DK 1426030592,1426046975,BH 1426046976,1426063359,SI -1426063360,1426587647,CH +1426063360,1426088447,CH +1426088448,1426088703,DE +1426088704,1426090495,CH +1426090496,1426090623,DE +1426090624,1426168575,CH +1426168576,1426168831,DE +1426168832,1426311679,CH +1426311680,1426311935,DE +1426311936,1426587647,CH 1426587648,1426604031,SE 1426604032,1426620415,DE 1426636800,1426653183,GB @@ -16523,9 +16654,7 @@ 1427111936,1427177471,DE 1427177472,1427220556,NL 1427220557,1427220557,KG -1427220558,1427236631,NL -1427236632,1427236633,US -1427236634,1427243007,NL +1427220558,1427243007,NL 1427243008,1427308543,IT 1427308544,1427374079,NO 1427374080,1427439615,IT @@ -16536,7 +16665,9 @@ 1427668992,1427701759,SE 1427701760,1427739889,DE 1427739890,1427739890,RU -1427739891,1427767295,DE +1427739891,1427741372,DE +1427741373,1427741373,AT +1427741374,1427767295,DE 1427767296,1427800063,BE 1427800064,1427832831,RU 1427832832,1427865599,BE @@ -16554,10 +16685,7 @@ 1428062208,1428078591,SE 1428078592,1428094975,RU 1428094976,1428103167,AT -1428103168,1428111359,GB -1428111360,1428118783,A2 -1428118784,1428119039,US -1428119040,1428119551,A2 +1428103168,1428119551,GB 1428119552,1428121599,LV 1428121600,1428123647,FR 1428123648,1428127743,RU @@ -16569,12 +16697,14 @@ 1428137984,1428140031,GB 1428140032,1428142079,RU 1428142080,1428144127,DE -1428144128,1428146175,FR -1428146176,1428147519,GB -1428147520,1428147615,FR -1428147616,1428147711,GB +1428144128,1428145151,FR +1428145152,1428147519,GB +1428147520,1428147583,FR +1428147584,1428147711,GB 1428147712,1428147967,FR -1428147968,1428152319,GB +1428147968,1428148735,GB +1428148736,1428148991,FR +1428148992,1428152319,GB 1428152320,1428160511,PL 1428160512,1428260863,IT 1428260864,1428261119,GB @@ -16607,11 +16737,11 @@ 1431928832,1431937023,IT 1431937024,1431945215,PL 1431945216,1431953407,NO -1431953408,1431956735,DK -1431956736,1431956991,EU -1431956992,1431961599,DK +1431953408,1431961599,DK 1431961600,1431969791,CH -1431969792,1431977983,GB +1431969792,1431971583,GB +1431971584,1431971839,AO +1431971840,1431977983,GB 1431977984,1431986175,NL 1431986176,1431994367,RU 1431994368,1432002559,AT @@ -16688,7 +16818,7 @@ 1433610240,1433612287,US 1433612288,1433614335,GB 1433614336,1433615027,DE -1433615028,1433615028,EU +1433615028,1433615028,GB 1433615029,1433615359,DE 1433615360,1433615615,FR 1433615616,1433616383,GB @@ -16735,7 +16865,9 @@ 1433860096,1433862143,DE 1433862144,1433864191,CH 1433864192,1433866239,HU -1433866240,1433868287,NL +1433866240,1433867519,NL +1433867520,1433867775,GB +1433867776,1433868287,NL 1433868288,1433870335,GB 1433870336,1433872383,TR 1433872384,1433874431,IT @@ -16761,9 +16893,7 @@ 1433915392,1433917439,DE 1433917440,1433919487,BE 1433919488,1433921535,GB -1433921536,1433921735,CH -1433921736,1433921736,EU -1433921737,1433923583,CH +1433921536,1433923583,CH 1433923584,1433925631,BE 1433925632,1433927679,GB 1433927680,1434189823,RO @@ -16799,7 +16929,6 @@ 1436221440,1436286975,ES 1436286976,1436418047,FI 1436418048,1436420095,DE -1436420096,1436422143,GB 1436422144,1436424191,FR 1436424192,1436426239,CH 1436426240,1436428287,BA @@ -16813,11 +16942,7 @@ 1436444672,1436446719,BE 1436446720,1436450815,FR 1436450816,1436452863,BH -1436452864,1436453314,GB -1436453315,1436453315,EU -1436453316,1436453631,GB -1436453632,1436453887,EU -1436453888,1436454911,GB +1436452864,1436454911,GB 1436454912,1436456959,AZ 1436456960,1436459007,GB 1436459008,1436461055,NL @@ -16852,9 +16977,7 @@ 1436526592,1436528639,GB 1436528640,1436530687,IT 1436530688,1436532735,GB -1436532736,1436535039,IT -1436535040,1436535295,AP -1436535296,1436536831,IT +1436532736,1436536831,IT 1436536832,1436538879,GB 1436538880,1436540927,JO 1436540928,1436542975,RU @@ -16896,10 +17019,9 @@ 1438859264,1438869655,DE 1438869656,1438869663,UA 1438869664,1438875647,DE -1438875648,1438876927,RU -1438876928,1438877183,IQ -1438877184,1438877439,A2 -1438877440,1438885887,RU +1438875648,1438877951,RU +1438877952,1438878207,LB +1438878208,1438885887,RU 1438885888,1438889983,LT 1438889984,1438892031,RU 1438892032,1438896127,IS @@ -16935,9 +17057,7 @@ 1439330304,1439334399,RS 1439334400,1439338495,RU 1439338496,1439342591,PL -1439342592,1439346687,UA 1439346688,1439350783,RU -1439350784,1439354879,UA 1439354880,1439358975,PL 1439358976,1439367167,RU 1439367168,1439432703,NL @@ -16950,8 +17070,7 @@ 1439518720,1439527935,DE 1439527936,1439528959,GB 1439528960,1439529471,DE -1439529472,1439529727,GB -1439529728,1439529983,DE +1439529472,1439529983,GB 1439529984,1439530239,EG 1439530240,1439534079,DE 1439534080,1439535103,GB @@ -16980,9 +17099,7 @@ 1439629312,1439694847,CZ 1439694848,1439825919,SA 1439825920,1439956991,GB -1439956992,1440204799,DE -1440204800,1440215039,EU -1440215040,1440251903,DE +1439956992,1440251903,DE 1440251904,1440284671,SK 1440284672,1440317439,FI 1440317440,1440350207,BG @@ -17020,11 +17137,9 @@ 1441439744,1441447935,LV 1441447936,1441456127,BE 1441456128,1441464319,NL -1441464320,1441469183,SE -1441469184,1441469439,DK -1441469440,1441469695,SE -1441469696,1441470463,DK -1441470464,1441472511,SE +1441464320,1441469695,SE +1441469696,1441469951,DK +1441469952,1441472511,SE 1441472512,1441480703,RU 1441480704,1441488895,TR 1441488896,1441497087,GB @@ -17036,7 +17151,9 @@ 1441546240,1441554431,DK 1441554432,1441554687,GB 1441554688,1441554943,NL -1441554944,1441564671,GB +1441554944,1441556991,GB +1441556992,1441557503,SE +1441557504,1441564671,GB 1441564672,1441566719,IQ 1441566720,1441568767,GB 1441568768,1441570815,FR @@ -17048,13 +17165,9 @@ 1441619968,1441628159,FR 1441628160,1441636351,SA 1441636352,1441644543,PL -1441644544,1441645823,GB -1441645824,1441646079,GB -1441646080,1441651455,GB +1441644544,1441651455,GB 1441651456,1441651711,CA -1441651712,1441652223,GB -1441652224,1441652479,GB -1441652480,1441652735,GB +1441651712,1441652735,GB 1441652736,1441660927,SK 1441660928,1441669119,ES 1441669120,1441677311,GE @@ -17063,7 +17176,7 @@ 1441693696,1441694719,BR 1441694720,1441695743,DE 1441695744,1441696767,US -1441696768,1441697023,AP +1441696768,1441697023,DE 1441697024,1441697791,SG 1441697792,1441698815,US 1441698816,1441701887,DE @@ -17090,7 +17203,9 @@ 1442709504,1442775039,LV 1442775040,1442779135,PL 1442779136,1442783231,DE -1442783232,1442787327,NO +1442783232,1442786559,NO +1442786560,1442786815,LV +1442786816,1442787327,NO 1442787328,1442791423,LT 1442791424,1442795519,LV 1442799616,1442803711,LT @@ -17106,22 +17221,17 @@ 1442836480,1442840575,PL 1442840576,1444937727,GB 1444937728,1445068799,AT -1445068800,1445076479,RO -1445076480,1445076735,DE -1445076736,1445199871,RO +1445068800,1445199871,RO 1445199872,1445330943,QA 1445330944,1445396479,LT -1445396480,1445429247,BE -1445429248,1445435391,NL -1445435392,1445435647,BE -1445435648,1445448127,NL -1445448128,1445448191,BE -1445448192,1445462015,NL +1445396480,1445462015,BE 1445462016,1445986303,IE 1445986304,1446051839,DK 1446051840,1446117375,CZ 1446117376,1446182911,FI -1446182912,1446248447,SA +1446182912,1446230271,SA +1446230272,1446230527,GB +1446230528,1446248447,SA 1446248448,1446313983,DK 1446313984,1446445055,GB 1446445056,1446510591,RO @@ -17130,18 +17240,17 @@ 1446576128,1446608895,IR 1446608896,1446641663,BY 1446641664,1446674431,SI -1446674432,1446706943,DK -1446706944,1446707199,NO +1446674432,1446707199,DK 1446707200,1446739967,AT -1446739968,1446772735,HU +1446739968,1446753023,HU +1446753024,1446753279,CH +1446753280,1446772735,HU 1446772736,1446805503,SA 1446805504,1446838271,FI 1446838272,1446871039,SI 1446871040,1446903807,CZ -1446905088,1446905343,A2 1446906880,1446907135,IQ 1446910720,1446911231,IQ -1446911488,1446911743,A2 1446920192,1446936575,RU 1446936576,1446952959,NO 1446952960,1446969343,QA @@ -17200,11 +17309,7 @@ 1455423488,1459617791,FR 1459617792,1461714943,IT 1461714944,1462763519,IE -1462763520,1463162611,DK -1463162612,1463162612,US -1463162613,1463162613,DK -1463162614,1463162614,US -1463162615,1463812095,DK +1462763520,1463812095,DK 1463812096,1464074239,BE 1464074240,1464336383,IL 1464336384,1464467455,DK @@ -17232,7 +17337,9 @@ 1466104443,1466104443,GB 1466104444,1466104467,FR 1466104468,1466104468,GB -1466104469,1466105343,FR +1466104469,1466104942,FR +1466104943,1466104943,BE +1466104944,1466105343,FR 1466105344,1466105599,GB 1466105600,1466105855,FR 1466105856,1466122239,PL @@ -17297,19 +17404,7 @@ 1467466752,1467472895,DE 1467472896,1467473919,NL 1467473920,1467482111,RU -1467482112,1467490303,BG -1467490304,1467491327,US -1467491328,1467500543,BG -1467500544,1467501567,US -1467501568,1467541503,BG -1467541504,1467542527,US -1467542528,1467563007,BG -1467563008,1467564031,US -1467564032,1467572223,BG -1467572224,1467573247,US -1467573248,1467574271,BG -1467574272,1467575295,US -1467575296,1467613183,BG +1467482112,1467613183,BG 1467613184,1467744255,DE 1467744256,1467875327,GB 1467875328,1467940863,BG @@ -17346,9 +17441,7 @@ 1474756608,1474822143,FR 1474822144,1474887679,IE 1474887680,1474953215,NL -1474953216,1475016447,DE -1475016448,1475016703,A2 -1475016704,1475018751,DE +1474953216,1475018751,DE 1475018752,1475084287,ES 1475084288,1475086335,NL 1475086336,1475092479,RU @@ -17406,9 +17499,7 @@ 1475203072,1475205119,SE 1475205120,1475205887,DE 1475205888,1475206143,US -1475206144,1475206399,DE -1475206400,1475206655,AP -1475206656,1475207151,DE +1475206144,1475207151,DE 1475207152,1475207183,US 1475207184,1475209215,AE 1475209216,1475211263,UZ @@ -17420,12 +17511,8 @@ 1475235840,1475237887,IE 1475237888,1475239935,ES 1475239936,1475241983,RU -1475241984,1475243007,MC -1475243008,1475243775,FR -1475243776,1475244031,MC -1475244032,1475245055,DE -1475245056,1475245311,US -1475245312,1475245823,DE +1475241984,1475244031,FR +1475244032,1475245823,DE 1475245824,1475246079,RU 1475246080,1475248127,CH 1475248128,1475250175,JO @@ -17448,7 +17535,6 @@ 1475284992,1475287039,GB 1475287040,1475291135,RU 1475291136,1475293183,PL -1475293184,1475295231,GB 1475295232,1475297279,SK 1475297280,1475299327,DK 1475299328,1475301375,PL @@ -17497,7 +17583,9 @@ 1475637304,1475637311,GB 1475637312,1475637471,JE 1475637472,1475637479,GB -1475637480,1475639391,JE +1475637480,1475638783,JE +1475638784,1475639039,GB +1475639040,1475639391,JE 1475639392,1475639399,GB 1475639400,1475639479,JE 1475639480,1475639487,GB @@ -17509,25 +17597,15 @@ 1475639696,1475639703,GB 1475639704,1475641343,JE 1475641344,1475657727,UA -1475657728,1475659263,SK -1475659264,1475659519,HU -1475659520,1475674111,SK +1475657728,1475674111,SK 1475674112,1475690495,DE -1475690496,1475693055,CH -1475693056,1475693311,DE -1475693312,1475706879,CH +1475690496,1475706879,CH 1475706880,1475723263,RU 1475723264,1475726079,GB 1475726080,1475726335,RU -1475726336,1475727807,GB -1475727808,1475727871,FI -1475727872,1475729151,GB -1475729152,1475729215,AT -1475729216,1475729663,GB +1475726336,1475729663,GB 1475729664,1475729671,UA -1475729672,1475729919,GB -1475729920,1475731455,UA -1475731456,1475738111,GB +1475729672,1475738111,GB 1475738112,1475738879,RU 1475738880,1475739647,GB 1475739648,1475756031,BG @@ -17559,13 +17637,13 @@ 1475927632,1475927647,FR 1475927648,1475928063,IT 1475928064,1475952639,RU -1475952640,1475954175,A2 +1475952640,1475954175,GB 1475954176,1475954687,NO -1475954688,1475955247,A2 +1475954688,1475955247,GB 1475955248,1475955255,NG -1475955256,1475958527,A2 +1475955256,1475958527,GB 1475958528,1475958783,NO -1475958784,1475960831,A2 +1475958784,1475960831,GB 1475960832,1475969023,NL 1475969024,1475977215,CZ 1475977216,1475985407,SE @@ -17590,8 +17668,8 @@ 1476165632,1476173823,HR 1476173824,1476182015,BG 1476182016,1476183807,GB -1476183808,1476183839,IE -1476183840,1476186367,GB +1476183808,1476184063,IE +1476184064,1476186367,GB 1476186368,1476186383,IE 1476186384,1476190207,GB 1476190208,1476198399,BY @@ -17614,8 +17692,8 @@ 1476313088,1476315135,DE 1476315136,1476316159,US 1476316160,1476317183,FI -1476317184,1476319231,DE -1476319232,1476321279,FI +1476317184,1476321151,DE +1476321152,1476321279,FI 1476321280,1476329471,MC 1476329472,1476337663,RU 1476337664,1476345855,NL @@ -17631,9 +17709,7 @@ 1479400960,1479898367,IT 1479898368,1479898623,US 1479898624,1480589311,IT -1480589312,1481629951,DE -1481629952,1481630207,US -1481630208,1481637887,DE +1480589312,1481637887,DE 1481637888,1481646079,SE 1481646080,1481654271,RU 1481654272,1481662463,IT @@ -17649,8 +17725,9 @@ 1481736192,1481741311,GG 1481741312,1481741567,GB 1481741568,1481741568,GG -1481741569,1481744255,GB -1481744256,1481744383,JE +1481741569,1481741823,GB +1481741824,1481742079,GG +1481742080,1481744383,GB 1481744384,1481752575,IT 1481752576,1481760767,RU 1481760768,1481768959,UA @@ -17672,9 +17749,7 @@ 1481891840,1481893631,CZ 1481893632,1481893887,SK 1481893888,1481900031,CZ -1481900032,1481900287,CH -1481900288,1481900543,LI -1481900544,1481908223,CH +1481900032,1481908223,CH 1481908224,1481916415,NO 1481916416,1481924607,ES 1481924608,1481932799,SA @@ -17790,29 +17865,17 @@ 1489534976,1489567743,RU 1489567744,1489600511,BH 1489600512,1489633279,RU -1489633280,1489635327,IT -1489635328,1489639423,EU -1489639424,1489640447,IT -1489640448,1489642751,EU -1489642752,1489643519,IT -1489643520,1489644543,EU +1489633280,1489634303,FR +1489634304,1489642751,IT +1489642752,1489643519,FR +1489643520,1489644543,IT 1489644544,1489644799,IQ -1489644800,1489646335,EU -1489646336,1489646847,US -1489646848,1489647615,EU -1489647616,1489648639,IT -1489648640,1489648895,EU -1489648896,1489649151,US -1489649152,1489649158,EU -1489649159,1489649159,US -1489649160,1489649663,EU +1489644800,1489649663,IT 1489649664,1489650687,FR -1489650688,1489651199,EU -1489651200,1489653759,IT -1489653760,1489657855,EU -1489657856,1489659903,IT -1489659904,1489666047,EU -1489666048,1489698815,GB +1489650688,1489666047,IT +1489666048,1489674239,GB +1489674240,1489676287,NL +1489676288,1489698815,GB 1489698816,1489731583,MT 1489731584,1489764351,BG 1489764352,1489797119,RU @@ -17837,9 +17900,9 @@ 1490173952,1490190335,PT 1490190336,1490196991,GB 1490196992,1490197247,IE -1490197248,1490205183,GB -1490205184,1490205439,LY -1490205440,1490206719,GB +1490197248,1490201087,GB +1490201088,1490201343,DE +1490201344,1490206719,GB 1490206720,1490223103,GE 1490223104,1490255871,GB 1490255872,1490272255,NL @@ -17851,7 +17914,7 @@ 1490354176,1490386943,SA 1490386944,1490403327,IT 1490403328,1490419711,BG -1490419712,1490436095,A2 +1490419712,1490436095,DE 1490436096,1490452479,UA 1490452480,1490468863,PT 1490468864,1490480127,GB @@ -17868,57 +17931,52 @@ 1490878464,1490879487,DE 1490879488,1490880511,US 1490880512,1490881535,FR -1490881536,1490885631,EU 1490885632,1490886655,US -1490886656,1490904063,EU 1490904064,1490905087,US -1490905088,1490909183,EU 1490909184,1490910207,US -1490910208,1490913279,EU 1490913280,1490915327,US 1490915328,1490917375,IT 1490917376,1490919423,IL -1490919424,1490927615,EU 1490927616,1490929663,FR -1490929664,1490931711,EU 1490931712,1490931967,DE 1490931968,1490932223,PL 1490932224,1490933759,DE -1490933760,1490934527,EU 1490934528,1490934783,IL -1490934784,1490943999,EU 1490944000,1491075071,LT 1491075072,1493172223,TR 1493172224,1493303295,DE -1493303296,1493431295,FR +1493303296,1493430527,FR +1493430528,1493430783,GP +1493430784,1493431295,FR 1493431296,1493431551,GP 1493431552,1493431807,FR -1493431808,1493432319,GP -1493432320,1493433343,MQ -1493433344,1493433855,FR +1493431808,1493432063,GP +1493432064,1493432319,FR +1493432320,1493433087,MQ +1493433088,1493433343,FR +1493433344,1493433599,MQ +1493433600,1493433855,FR 1493433856,1493434111,MQ 1493434112,1493434367,FR 1493434368,1493565439,SA 1493565440,1493696511,ES 1493696512,1493958655,NO 1493958656,1494220799,DE -1494220800,1494221311,FR -1494221312,1494221567,RE -1494221568,1494221823,FR +1494220800,1494221823,FR 1494221824,1494222079,RE -1494222080,1494223103,FR -1494223104,1494223359,RE -1494223360,1494223615,FR +1494222080,1494222591,FR +1494222592,1494222847,RE +1494222848,1494223615,FR 1494223616,1494223871,RE 1494223872,1494225663,FR 1494225664,1494225919,GP 1494225920,1494226175,FR 1494226176,1494226431,GP 1494226432,1494226687,FR -1494226688,1494227199,GP -1494227200,1494227455,FR -1494227456,1494227967,GP -1494227968,1494228479,FR +1494226688,1494226943,GP +1494226944,1494227455,FR +1494227456,1494228223,GP +1494228224,1494228479,FR 1494228480,1494228991,GP 1494228992,1494237183,RU 1494237184,1494245375,IE @@ -18006,25 +18064,18 @@ 1495060480,1495062527,GB 1495062528,1495064575,JO 1495064576,1495066623,PL -1495066624,1495067007,GB -1495067008,1495067135,IE -1495067136,1495068671,GB +1495066624,1495068671,GB 1495068672,1495070719,DE 1495070720,1495072767,RU 1495072768,1495105535,CZ 1495105536,1495138303,ES 1495138304,1495139327,FR -1495139328,1495140351,EU 1495140352,1495142399,FR -1495142400,1495146495,EU -1495146496,1495150591,FR -1495150592,1495151615,EU +1495148544,1495150591,FR 1495151616,1495153663,FR -1495153664,1495168767,EU +1495163552,1495163567,FR 1495168768,1495169023,GB -1495169024,1495170759,EU 1495170760,1495170763,DE -1495170764,1495170815,EU 1495170816,1495171071,FR 1495171072,1495203839,NL 1495203840,1495205887,DE @@ -18039,8 +18090,7 @@ 1495224320,1495228415,RU 1495228416,1495230463,NL 1495230464,1495234559,RU -1495234560,1495236607,CH -1495236608,1495238655,EU +1495236608,1495238655,AT 1495238656,1495240703,DE 1495240704,1495242751,FR 1495242752,1495244799,MK @@ -18052,8 +18102,7 @@ 1495255040,1495257087,IT 1495257088,1495259135,GB 1495259136,1495261183,BE -1495261184,1495261439,EU -1495261440,1495263231,PT +1495261184,1495263231,PT 1495263232,1495265279,GB 1495265280,1495267327,US 1495267328,1495269375,SE @@ -18062,10 +18111,14 @@ 1495306574,1495306574,RO 1495306575,1495308287,GB 1495308288,1495326719,RO -1495326720,1495330815,MD -1495330816,1495334911,RO +1495326720,1495332863,MD +1495332864,1495334911,RO 1495334912,1495335935,MD -1495335936,1495875583,RO +1495335936,1495759871,RO +1495759872,1495760127,MD +1495760128,1495790079,RO +1495790080,1495790335,MD +1495790336,1495875583,RO 1495875584,1495891967,MD 1495891968,1496078335,RO 1496078336,1496079359,MD @@ -18075,9 +18128,7 @@ 1496121344,1496122367,MD 1496122368,1496197119,RO 1496197120,1496197631,MD -1496197632,1496262911,RO -1496262912,1496263167,US -1496263168,1496276735,RO +1496197632,1496276735,RO 1496276736,1496276991,MD 1496276992,1496295423,RO 1496295424,1496297471,GB @@ -18207,8 +18258,7 @@ 1502937088,1502953471,RO 1502953472,1502969855,MD 1502969856,1502975231,FR -1502975232,1502975359,GB -1502975360,1502975487,IE +1502975232,1502975487,GB 1502975488,1502975743,FR 1502975744,1502975999,DE 1502976000,1502978047,FR @@ -18386,7 +18436,24 @@ 1503901464,1503901471,CH 1503901472,1503901567,DE 1503901568,1503901695,TW -1503901696,1503920127,DE +1503901696,1503902007,DE +1503902008,1503902015,IT +1503902016,1503902079,DE +1503902080,1503902087,BA +1503902088,1503902135,DE +1503902136,1503902143,BE +1503902144,1503902167,DE +1503902168,1503902175,NL +1503902176,1503902215,DE +1503902216,1503902223,US +1503902224,1503902335,DE +1503902336,1503902399,BE +1503902400,1503902407,RO +1503902408,1503903687,DE +1503903688,1503903695,IT +1503903696,1503903711,DE +1503903712,1503903719,IT +1503903720,1503920127,DE 1503920128,1503985663,HR 1503985664,1504018431,IR 1504018432,1504051199,RO @@ -18420,14 +18487,10 @@ 1505296384,1505304575,UA 1505304576,1505312767,FR 1505312768,1505320959,RU -1505320960,1505323007,DE -1505323008,1505324031,AT -1505324032,1505325055,DE -1505325056,1505326079,AT -1505326080,1505328639,DE -1505328640,1505328895,AT -1505328896,1505329151,DE -1505329152,1505337343,IE +1505320960,1505329151,AT +1505329152,1505335807,IE +1505335808,1505336063,GB +1505336064,1505337343,IE 1505337344,1505345535,FR 1505345536,1505353727,MK 1505353728,1505361919,CZ @@ -18471,7 +18534,11 @@ 1505665024,1505673215,IT 1505673216,1505681407,BG 1505681408,1505689599,RU -1505689600,1505697791,NO +1505689600,1505691391,NO +1505691392,1505691418,DK +1505691419,1505691423,NO +1505691424,1505691647,DK +1505691648,1505697791,NO 1505697792,1505705983,IE 1505705984,1505714175,DE 1505714176,1505722367,LV @@ -18479,7 +18546,9 @@ 1505738752,1505746943,GB 1505746944,1505755135,RU 1505755136,1506017279,GB -1506017280,1506279423,DE +1506017280,1506082815,DE +1506082816,1506148351,GB +1506148352,1506279423,DE 1506279424,1506312191,NL 1506312192,1506316287,GB 1506316288,1506322431,PL @@ -18497,16 +18566,16 @@ 1506377728,1506410495,HR 1506410496,1506422063,DE 1506422064,1506422079,GB -1506422080,1506438783,DE -1506438784,1506438799,KR -1506438800,1506443263,DE +1506422080,1506443263,DE 1506443264,1506445087,GB 1506445088,1506445119,DE 1506445120,1506445135,GB 1506445136,1506445151,DE 1506445152,1506445167,GB 1506445168,1506445183,DE -1506445184,1506450047,GB +1506445184,1506446823,GB +1506446824,1506446831,NL +1506446832,1506450047,GB 1506450048,1506450111,CH 1506450112,1506450863,GB 1506450864,1506450879,CZ @@ -18518,23 +18587,22 @@ 1506458245,1506458245,CH 1506458246,1506459135,GB 1506459136,1506459177,BE -1506459178,1506459178,EU +1506459178,1506459178,GB 1506459179,1506459391,BE 1506459392,1506460151,GB 1506460152,1506460159,FR -1506460160,1506460927,GB -1506460928,1506461183,IT -1506461184,1506463231,GB +1506460160,1506462463,GB +1506462464,1506462719,FR +1506462720,1506462975,IT +1506462976,1506463231,GB 1506463232,1506463487,SE 1506463488,1506463679,GB 1506463680,1506463695,DE 1506463696,1506464895,GB 1506464896,1506464911,NL -1506464912,1506465023,GB -1506465024,1506465187,EU +1506464912,1506465187,GB 1506465188,1506465188,NL -1506465189,1506465279,EU -1506465280,1506466383,GB +1506465189,1506466383,GB 1506466384,1506466391,DE 1506466392,1506466399,GB 1506466400,1506466431,DE @@ -18560,7 +18628,9 @@ 1506639872,1506672639,NL 1506672640,1506689023,PL 1506689024,1506705407,CH -1506705408,1506740223,GB +1506705408,1506727935,GB +1506727936,1506728959,FR +1506728960,1506740223,GB 1506740224,1506742271,FI 1506742272,1506744319,SE 1506744320,1506746367,NL @@ -18591,9 +18661,7 @@ 1506803712,1506869247,RU 1506869248,1506934783,UA 1506934784,1507000319,GR -1507000320,1507016191,QA -1507016192,1507016447,US -1507016448,1507065855,QA +1507000320,1507065855,QA 1507065856,1507131391,SI 1507131392,1507196927,GB 1507196928,1507262463,PT @@ -18645,10 +18713,12 @@ 1508638720,1508639487,SE 1508639488,1508639743,DK 1508639744,1508639999,SE -1508640000,1508640767,DK -1508640768,1508641279,SE -1508641280,1508641535,DK -1508641536,1508650751,SE +1508640000,1508640255,DK +1508640256,1508640511,SE +1508640512,1508640767,DK +1508640768,1508642559,SE +1508642560,1508642815,DK +1508642816,1508650751,SE 1508650752,1508651007,DK 1508651008,1508653311,SE 1508653312,1508653567,DK @@ -18734,63 +18804,48 @@ 1509683200,1509687295,CH 1509687296,1509703679,UA 1509703680,1509720063,RU -1509720064,1509721087,TR -1509721088,1509723135,US -1509723136,1509724159,TR -1509724160,1509724927,US -1509724928,1509736447,TR +1509720064,1509736447,TR 1509736448,1509752831,BG 1509752832,1509769215,RU 1509769216,1509785599,SE 1509785600,1509801983,BG 1509801984,1509818367,RU -1509818368,1509834751,NO -1509834752,1509835519,SE -1509835520,1509835775,NO -1509835776,1509838847,SE -1509838848,1509840895,NO -1509840896,1509850623,SE -1509850624,1509850879,NO -1509850880,1509851135,SE +1509818368,1509851135,NO 1509851136,1509867519,LV 1509867520,1509883903,RU 1509883904,1509900287,NL 1509900288,1509916671,RU 1509916672,1509933055,GB 1509933056,1509949439,US -1509949440,1511981311,FR -1511981312,1511983871,RE -1511983872,1511984127,FR -1511984128,1511984639,RE -1511984640,1511985151,FR -1511985152,1511985663,RE -1511985664,1511985919,FR -1511985920,1511986175,RE +1509949440,1511981055,FR +1511981056,1511981567,RE +1511981568,1511982079,FR +1511982080,1511983615,RE +1511983616,1511983871,FR +1511983872,1511986175,RE 1511986176,1511986431,FR 1511986432,1511986687,RE 1511986688,1511987199,FR -1511987200,1511988479,RE -1511988480,1511988735,FR -1511988736,1511989247,RE +1511987200,1511987711,RE +1511987712,1511987967,FR +1511987968,1511989247,RE 1511989248,1511989503,FR -1511989504,1511990015,RE -1511990016,1511990527,FR -1511990528,1511991295,RE -1511991296,1511991807,FR -1511991808,1511992319,RE -1511992320,1511992575,FR -1511992576,1511992831,RE -1511992832,1511993087,FR -1511993088,1511993599,RE -1511993600,1511994111,FR -1511994112,1511994367,RE +1511989504,1511990271,RE +1511990272,1511990527,FR +1511990528,1511990783,RE +1511990784,1511991039,FR +1511991040,1511991295,RE +1511991296,1511991551,FR +1511991552,1511993343,RE +1511993344,1511993855,FR +1511993856,1511994367,RE 1511994368,1511995135,FR -1511995136,1511995903,RE -1511995904,1511996415,FR +1511995136,1511996159,RE +1511996160,1511996415,FR 1511996416,1511997183,RE 1511997184,1511997439,FR -1511997440,1511999231,MQ -1511999232,1511999743,FR +1511997440,1511999487,MQ +1511999488,1511999743,FR 1511999744,1512000767,MQ 1512000768,1512001279,FR 1512001280,1512002303,MQ @@ -18800,33 +18855,43 @@ 1512004352,1512004863,MQ 1512004864,1512005119,FR 1512005120,1512005631,MQ -1512005632,1512005887,GP -1512005888,1512007935,FR -1512007936,1512008191,GP -1512008192,1512008959,FR -1512008960,1512009215,GP -1512009216,1512009471,FR -1512009472,1512009727,GP -1512009728,1512010751,FR -1512010752,1512011007,GP -1512011008,1512013823,FR -1512013824,1512014335,GF -1512014336,1512014591,FR -1512014592,1512016127,GF -1512016128,1512016383,FR -1512016384,1512016639,GF +1512005632,1512005887,BL +1512005888,1512006143,FR +1512006144,1512006655,BL +1512006656,1512006911,FR +1512006912,1512007167,MF +1512007168,1512007679,FR +1512007680,1512007935,BL +1512007936,1512008191,FR +1512008192,1512008447,BL +1512008448,1512008703,MF +1512008704,1512008959,BL +1512008960,1512009215,FR +1512009216,1512009471,MF +1512009472,1512009983,BL +1512009984,1512010239,FR +1512010240,1512010495,BL +1512010496,1512010751,FR +1512010752,1512011007,BL +1512011008,1512011263,MF +1512011264,1512011519,FR +1512011520,1512011775,BL +1512011776,1512012031,FR +1512012032,1512012287,BL +1512012288,1512012543,FR +1512012544,1512013055,BL +1512013056,1512013311,MF +1512013312,1512013567,BL +1512013568,1512013823,FR +1512013824,1512016639,GF 1512016640,1512016895,FR -1512016896,1512017151,GF -1512017152,1512017407,FR -1512017408,1512020223,GF -1512020224,1512022527,FR -1512022528,1512022783,GF -1512022784,1512023039,FR -1512023040,1512023295,GF -1512023296,1512023551,FR -1512023552,1512023807,GF -1512023808,1512024063,FR -1512024064,1512028415,GF +1512016896,1512017663,GF +1512017664,1512017919,FR +1512017920,1512020223,GF +1512020224,1512022015,FR +1512022016,1512022271,GF +1512022272,1512022527,FR +1512022528,1512028415,GF 1512028416,1512030207,FR 1512030208,1512046591,YT 1512046592,1512767487,FR @@ -18835,145 +18900,130 @@ 1512768000,1512771071,RE 1512771072,1512771327,FR 1512771328,1512772351,RE -1512772352,1512772863,FR -1512772864,1512773631,RE -1512773632,1512774143,FR -1512774144,1512774911,RE -1512774912,1512775167,FR -1512775168,1512775423,RE -1512775424,1512775679,FR +1512772352,1512773119,FR +1512773120,1512774911,RE +1512774912,1512775679,FR 1512775680,1512777215,RE 1512777216,1512777471,FR -1512777472,1512778239,RE -1512778240,1512778495,FR -1512778496,1512778751,RE -1512778752,1512779263,FR -1512779264,1512781567,RE +1512777472,1512779519,RE +1512779520,1512779775,FR +1512779776,1512781567,RE 1512781568,1512782847,FR -1512782848,1512783615,RE +1512782848,1512783103,RE +1512783104,1512783359,FR +1512783360,1512783615,RE 1512783616,1512783871,FR -1512783872,1512785151,RE -1512785152,1512785407,FR -1512785408,1512785919,RE -1512785920,1512786943,FR +1512783872,1512784639,RE +1512784640,1512784895,FR +1512784896,1512785663,RE +1512785664,1512786943,FR 1512786944,1512787455,RE 1512787456,1512787711,FR 1512787712,1512787967,RE -1512787968,1512788223,FR -1512788224,1512788735,RE -1512788736,1512789247,FR -1512789248,1512791039,RE -1512791040,1512791295,FR -1512791296,1512791807,RE +1512787968,1512788479,FR +1512788480,1512788735,RE +1512788736,1512788991,FR +1512788992,1512789503,RE +1512789504,1512789759,FR +1512789760,1512791807,RE 1512791808,1512792831,FR -1512792832,1512794111,RE -1512794112,1512794367,FR -1512794368,1512795391,RE -1512795392,1512795647,FR -1512795648,1512796159,RE -1512796160,1512796415,FR -1512796416,1512796671,RE -1512796672,1512796927,FR -1512796928,1512798207,RE -1512798208,1512799231,FR -1512799232,1512799487,RE -1512799488,1512800255,FR -1512800256,1512801023,MQ -1512801024,1512801279,FR -1512801280,1512802047,MQ -1512802048,1512802815,FR -1512802816,1512803327,MQ +1512792832,1512794623,RE +1512794624,1512794879,FR +1512794880,1512796415,RE +1512796416,1512796671,FR +1512796672,1512797183,RE +1512797184,1512797439,FR +1512797440,1512798207,RE +1512798208,1512800767,FR +1512800768,1512801023,MQ +1512801024,1512801535,FR +1512801536,1512802047,MQ +1512802048,1512802303,FR +1512802304,1512803327,MQ 1512803328,1512803583,FR 1512803584,1512803839,MQ -1512803840,1512804095,FR -1512804096,1512804351,MQ -1512804352,1512804863,FR -1512804864,1512805375,MQ +1512803840,1512804607,FR +1512804608,1512805375,MQ 1512805376,1512805631,FR 1512805632,1512805887,MQ 1512805888,1512806143,FR -1512806144,1512806655,MQ -1512806656,1512807423,FR -1512807424,1512807679,MQ -1512807680,1512808191,FR -1512808192,1512809215,MQ -1512809216,1512809983,FR -1512809984,1512810495,MQ -1512810496,1512810751,FR -1512810752,1512811775,MQ -1512811776,1512812287,FR +1512806144,1512807935,MQ +1512807936,1512808191,FR +1512808192,1512808959,MQ +1512808960,1512809215,FR +1512809216,1512812031,MQ +1512812032,1512812287,FR 1512812288,1512812543,MQ 1512812544,1512812799,FR -1512812800,1512814079,MQ -1512814080,1512814335,FR -1512814336,1512814847,MQ -1512814848,1512815103,FR -1512815104,1512816383,MQ -1512816384,1512816639,FR -1512816640,1512817663,GP -1512817664,1512817919,FR -1512817920,1512818175,GP -1512818176,1512818431,FR -1512818432,1512819455,GP -1512819456,1512819711,FR -1512819712,1512821759,GP -1512821760,1512822015,FR -1512822016,1512823295,GP -1512823296,1512823551,FR -1512823552,1512826367,GP -1512826368,1512827391,FR -1512827392,1512827647,GP -1512827648,1512828415,FR -1512828416,1512830463,GP +1512812800,1512813823,MQ +1512813824,1512814079,FR +1512814080,1512814591,MQ +1512814592,1512814847,FR +1512814848,1512816639,MQ +1512816640,1512816895,GP +1512816896,1512817407,FR +1512817408,1512824319,GP +1512824320,1512824575,FR +1512824576,1512825087,GP +1512825088,1512825343,FR +1512825344,1512826367,GP +1512826368,1512826879,FR +1512826880,1512827135,GP +1512827136,1512827391,FR +1512827392,1512830463,GP 1512830464,1512830719,FR -1512830720,1512831231,GP -1512831232,1512831487,FR -1512831488,1512831999,GP +1512830720,1512831999,GP 1512832000,1512832255,FR 1512832256,1512832767,GP -1512832768,1514112255,FR -1514112256,1514112767,GP -1514112768,1514113023,FR -1514113024,1514115583,GP -1514115584,1514118399,FR -1514118400,1514119167,GP -1514119168,1514119423,FR -1514119424,1514120191,GP -1514120192,1514120447,FR -1514120448,1514120959,GP -1514120960,1514121471,FR -1514121472,1514124287,GP -1514124288,1514127359,FR +1512832768,1514110975,FR +1514110976,1514111743,GP +1514111744,1514111999,FR +1514112000,1514112255,GP +1514112256,1514112767,FR +1514112768,1514114047,GP +1514114048,1514114559,FR +1514114560,1514115839,GP +1514115840,1514118143,FR +1514118144,1514119167,GP +1514119168,1514119935,FR +1514119936,1514120191,GP +1514120192,1514121215,FR +1514121216,1514122495,GP +1514122496,1514122751,FR +1514122752,1514123263,GP +1514123264,1514123519,FR +1514123520,1514124543,GP +1514124544,1514127359,FR 1514127360,1514127615,RE -1514127616,1514128383,FR +1514127616,1514127871,FR +1514127872,1514128127,RE +1514128128,1514128383,FR 1514128384,1514128639,RE 1514128640,1514128895,FR -1514128896,1514130687,RE -1514130688,1514130943,FR +1514128896,1514129919,RE +1514129920,1514130175,FR +1514130176,1514130431,RE +1514130432,1514130943,FR 1514130944,1514131199,RE -1514131200,1514131455,FR -1514131456,1514134015,RE -1514134016,1514134783,FR -1514134784,1514135295,RE +1514131200,1514131711,FR +1514131712,1514132735,RE +1514132736,1514132991,FR +1514132992,1514134015,RE +1514134016,1514134271,FR +1514134272,1514135295,RE 1514135296,1514135551,FR 1514135552,1514135807,RE -1514135808,1514136319,FR -1514136320,1514136831,RE +1514135808,1514136063,FR +1514136064,1514136831,RE 1514136832,1514137599,FR -1514137600,1514137855,RE -1514137856,1514138111,FR -1514138112,1514139391,RE +1514137600,1514139391,RE 1514139392,1514139647,FR -1514139648,1514140927,RE -1514140928,1514141183,FR -1514141184,1514142463,RE -1514142464,1514142719,FR -1514142720,1514143231,RE -1514143232,1514143487,FR -1514143488,1514143743,RE -1514143744,1515192639,FR -1515192640,1515192655,EU -1515192656,1515467007,FR +1514139648,1514140159,RE +1514140160,1514140415,FR +1514140416,1514141695,RE +1514141696,1514141951,FR +1514141952,1514143743,RE +1514143744,1515467007,FR 1515467008,1515467263,ES 1515467264,1515467519,FR 1515467520,1515468031,US @@ -18982,7 +19032,15 @@ 1515468544,1515468799,DE 1515468800,1515469823,FR 1515469824,1515470079,DE -1515470080,1518338047,FR +1515470080,1515470335,FR +1515470336,1515470847,US +1515470848,1515488511,FR +1515488512,1515488895,US +1515488896,1515489023,FR +1515489024,1515489039,DE +1515489040,1515489151,FR +1515489152,1515489167,ES +1515489168,1518338047,FR 1518338048,1518370815,DE 1518370816,1518403583,NL 1518403584,1518452735,SE @@ -19028,9 +19086,7 @@ 1518962688,1518964735,NO 1518964736,1518966783,HR 1518966784,1518967807,SE -1518967808,1518970879,HR -1518970880,1518972927,SE -1518972928,1518977023,HR +1518967808,1518977023,HR 1518977024,1518993407,SE 1518993408,1519190015,RU 1519190016,1519259647,SE @@ -19043,7 +19099,11 @@ 1519300608,1519304703,LT 1519304704,1519321087,SE 1519321088,1519386623,RU -1519386624,1519452159,SE +1519386624,1519394815,SE +1519394816,1519398911,HR +1519398912,1519403007,SE +1519403008,1519411199,NL +1519411200,1519452159,SE 1519452160,1519517695,NL 1519517696,1519583231,AT 1519583232,1519648767,IT @@ -19077,11 +19137,9 @@ 1522270208,1522401279,RU 1522401280,1522532351,EE 1522532352,1524629503,GB -1524629504,1524660607,SE -1524660608,1524660735,DK -1524660736,1524853503,SE -1524853504,1524853631,DK -1524853632,1525678079,SE +1524629504,1525092351,SE +1525092352,1525092479,DK +1525092480,1525678079,SE 1525678080,1526726655,GB 1526726656,1531183103,DE 1531183104,1531445247,FR @@ -19156,9 +19214,10 @@ 1533478912,1533480959,RS 1533480960,1533483007,NL 1533483008,1533485055,AM -1533485056,1533486079,GB -1533486080,1533486335,SE -1533486336,1533487103,GB +1533485056,1533485823,GB +1533485824,1533486335,SE +1533486336,1533486591,NO +1533486592,1533487103,GB 1533487104,1533489151,FR 1533489152,1533491199,ES 1533491200,1533493247,AM @@ -19182,9 +19241,13 @@ 1533540352,1533542399,AT 1533542400,1533607935,HU 1533607936,1533640703,LV -1533640704,1533663231,RU +1533640704,1533659135,RU +1533659136,1533660159,LV +1533660160,1533661183,UA +1533661184,1533663231,SE 1533663232,1533665279,NL -1533665280,1533669375,RU +1533665280,1533667327,GB +1533667328,1533669375,RU 1533669376,1533671423,DE 1533671424,1533673471,FI 1533673472,1533677567,DE @@ -19272,7 +19335,10 @@ 1535197184,1535246335,SE 1535246336,1535311871,AT 1535311872,1535344639,NO -1535344640,1535377407,SE +1535344640,1535350783,LV +1535350784,1535352831,HR +1535352832,1535361023,EE +1535361024,1535377407,NL 1535377408,1535442943,GR 1535442944,1535459327,FI 1535459328,1535475711,AT @@ -19283,9 +19349,9 @@ 1535582208,1535590399,NO 1535590400,1535591423,CH 1535591424,1535591679,NL -1535591680,1535593477,CH -1535593478,1535593733,HK -1535593734,1535594495,CH +1535591680,1535593471,CH +1535593472,1535593727,HK +1535593728,1535594495,CH 1535594496,1535598591,LV 1535598592,1535602687,IL 1535602688,1535606783,HU @@ -19309,14 +19375,10 @@ 1535737856,1535770623,HU 1535770624,1535803391,CH 1535803392,1535836159,GR -1535836160,1535868927,HU +1535836160,1535868927,CZ 1535868928,1535901695,BG 1535901696,1535934463,GR -1535934464,1535959551,KW -1535959552,1535959807,US -1535959808,1535963391,KW -1535963392,1535963647,US -1535963648,1535967231,KW +1535934464,1535967231,KW 1535967232,1535999999,AT 1536000000,1536032767,NL 1536032768,1536036863,LV @@ -19338,7 +19400,7 @@ 1536067840,1536068095,PL 1536068096,1536068351,RU 1536068352,1536068607,HR -1536068608,1536069119,RU +1536068864,1536069119,RU 1536069120,1536069375,TR 1536069376,1536069631,IT 1536069632,1536073727,RU @@ -19352,8 +19414,7 @@ 1536114688,1536118783,GB 1536118784,1536122879,DE 1536122880,1536126975,AT -1536126976,1536130815,DK -1536130816,1536131071,EU +1536126976,1536131071,DK 1536131072,1536143359,RU 1536143360,1536147455,GB 1536147456,1536151551,IT @@ -19394,18 +19455,16 @@ 1536589824,1536614399,PL 1536614400,1536622591,DK 1536622592,1536626687,GB -1536626688,1536630783,DE +1536626688,1536626943,DE +1536626944,1536627072,AT +1536627073,1536630783,DE 1536630784,1536634879,RU 1536634880,1536643071,FR 1536643072,1536647167,TR 1536647168,1536651263,ES 1536651264,1536655359,FR 1536655360,1536659455,GE -1536659456,1536659807,DE -1536659808,1536659815,SS -1536659816,1536659841,DE -1536659842,1536659843,US -1536659844,1536662271,DE +1536659456,1536662271,DE 1536662272,1536662527,IQ 1536662528,1536663551,DE 1536663552,1536667647,SA @@ -19429,13 +19488,8 @@ 1538859008,1538875391,RU 1538875392,1538883583,RS 1538883584,1538891775,BE -1538891776,1538894847,DE -1538894848,1538895871,FR -1538895872,1538896895,DE -1538896896,1538897919,FR -1538897920,1538898687,DE -1538898688,1538899455,FR -1538899456,1538899967,DE +1538891776,1538897919,GB +1538897920,1538899967,PL 1538899968,1538908159,SI 1538908160,1538916351,RU 1538916352,1538924543,GB @@ -19448,9 +19502,7 @@ 1538973696,1538981887,JO 1538981888,1538990079,BY 1538990080,1538998271,CZ -1538998272,1539005439,AD -1539005440,1539005695,ES -1539005696,1539006463,AD +1538998272,1539006463,AD 1539006464,1539014655,AL 1539014656,1539022847,RS 1539022848,1539031039,LT @@ -19501,9 +19553,7 @@ 1539213312,1539215359,SE 1539215360,1539219455,DE 1539219456,1539219711,GB -1539219712,1539219967,GG -1539219968,1539220479,GB -1539220480,1539221247,GG +1539219712,1539221247,GG 1539221248,1539221503,GB 1539221504,1539223551,FR 1539223552,1539225599,RU @@ -19560,7 +19610,6 @@ 1539348480,1539351551,UA 1539351552,1539352575,PL 1539352576,1539354623,RU -1539354624,1539355647,PL 1539355648,1539357695,UA 1539357696,1539358719,RU 1539358720,1539359743,GB @@ -19581,7 +19630,6 @@ 1539375104,1539376127,NO 1539377152,1539378175,UA 1539378176,1539379199,PL -1539379200,1539380223,EU 1539380224,1539381247,CH 1539381248,1539382271,RS 1539382272,1539383295,RO @@ -19626,7 +19674,6 @@ 1539421184,1539422207,GB 1539422208,1539423231,PL 1539423232,1539424255,IE -1539424256,1539425279,LV 1539425280,1539426303,PL 1539426304,1539427327,BG 1539427328,1539428351,UA @@ -19645,7 +19692,6 @@ 1539445248,1539445759,PL 1539445760,1539446271,FI 1539446272,1539446783,SE -1539446784,1539447295,RU 1539447296,1539447807,SE 1539447808,1539448831,RO 1539448832,1539449343,AT @@ -19657,7 +19703,6 @@ 1539452416,1539452927,GB 1539452928,1539453439,CH 1539453440,1539453951,UA -1539454464,1539454975,RU 1539454976,1539455487,UA 1539455488,1539455999,RU 1539456000,1539456511,FR @@ -19692,7 +19737,6 @@ 1539474944,1539475455,UA 1539475456,1539475967,NL 1539475968,1539476479,PL -1539476480,1539476991,CZ 1539476992,1539477503,IT 1539477504,1539478015,PL 1539478016,1539478527,CH @@ -19768,7 +19812,7 @@ 1539521536,1539522047,RU 1539522048,1539522559,RO 1539523584,1539524095,UA -1539524096,1539524607,GR +1539524096,1539524607,GB 1539524608,1539525119,FR 1539525120,1539525631,UA 1539525632,1539526143,SE @@ -19811,7 +19855,6 @@ 1539547136,1539547647,NL 1539547648,1539548159,IL 1539548160,1539548671,FR -1539548672,1539549183,EU 1539549184,1539549695,GB 1539549696,1539550207,RU 1539550208,1539550719,UA @@ -19937,7 +19980,8 @@ 1539680256,1539681279,UA 1539681280,1539684351,RU 1539684352,1539685375,UA -1539685376,1539690495,RU +1539685376,1539688447,RU +1539689472,1539690495,RU 1539690496,1539691519,FI 1539691520,1539692543,RU 1539692544,1539694591,UA @@ -20088,7 +20132,6 @@ 1539742464,1539742719,RU 1539742720,1539742975,LV 1539742976,1539743231,DE -1539743232,1539743487,GR 1539743488,1539743743,FR 1539743744,1539743999,RO 1539744000,1539744255,PL @@ -20139,7 +20182,6 @@ 1539757824,1539758079,UA 1539758080,1539758335,HR 1539758336,1539758591,PL -1539758592,1539758847,NL 1539758848,1539759103,BA 1539759360,1539759615,RU 1539759616,1539759871,PL @@ -20230,7 +20272,7 @@ 1539783936,1539784191,SI 1539784192,1539784447,RU 1539784448,1539784703,NO -1539784704,1539784959,EU +1539784704,1539784959,SE 1539784960,1539785215,DE 1539785216,1539785471,CH 1539785472,1539785727,RU @@ -20281,7 +20323,6 @@ 1539799040,1539799295,ES 1539799296,1539799551,DK 1539799552,1539799807,ES -1539799808,1539800063,RO 1539800064,1539800319,SI 1539800320,1539800575,GB 1539800576,1539800831,LV @@ -20301,7 +20342,6 @@ 1539804928,1539805439,UA 1539805440,1539805695,AT 1539805696,1539805951,CH -1539805952,1539806207,RU 1539806208,1539806463,FI 1539806464,1539806719,RU 1539806720,1539806975,BG @@ -20314,7 +20354,6 @@ 1539808512,1539808767,GB 1539808768,1539809023,DE 1539809024,1539809279,GB -1539809280,1539809535,EU 1539809536,1539809791,SI 1539809792,1539810047,DE 1539810304,1539810559,CZ @@ -20333,7 +20372,6 @@ 1539814400,1539814911,GB 1539814912,1539815167,UA 1539815168,1539815423,GB -1539815680,1539815935,RU 1539815936,1539816191,CH 1539816192,1539816447,SA 1539816448,1539816703,UA @@ -20391,7 +20429,6 @@ 1539831040,1539831295,UA 1539831296,1539831551,PL 1539831552,1539831807,DE -1539831808,1539832063,RU 1539832064,1539832319,GB 1539832320,1539832575,PL 1539832576,1539832831,RU @@ -20415,10 +20452,8 @@ 1539853312,1539854335,PL 1539854336,1539855359,UA 1539855360,1539856383,RU -1539856384,1539857407,UA 1539857408,1539858431,PL 1539858432,1539859455,RO -1539859456,1539860479,DE 1539860480,1539861503,PL 1539861504,1539862527,DE 1539862528,1539863551,UA @@ -20443,8 +20478,7 @@ 1539886080,1539887103,FR 1539887104,1539888127,IT 1539888128,1539889151,UA -1539889152,1539889407,RU -1539889408,1539889663,TJ +1539889152,1539889663,RU 1539889664,1539889919,AU 1539889920,1539890175,RU 1539890176,1539891199,UA @@ -20459,7 +20493,8 @@ 1539903488,1539904511,PL 1539904512,1539905535,CZ 1539905536,1539906559,UA -1539908608,1539910655,UA +1539908608,1539909631,UA +1539909632,1539910655,RU 1539910656,1539911679,PL 1539911680,1539913727,RU 1539913728,1539914751,CH @@ -20472,11 +20507,10 @@ 1539922944,1539923967,SE 1539923968,1539924991,RU 1539924992,1539926015,DE -1539926016,1539927039,RU 1539927040,1539928063,UA 1539928064,1539930111,RU 1539930112,1539931135,PL -1539931136,1539932159,UA +1539931136,1539932159,RU 1539932160,1539933183,DE 1539933184,1539934207,ES 1539934208,1539935231,RS @@ -20492,13 +20526,12 @@ 1539946496,1539947519,RU 1539947520,1539948543,UA 1539948544,1539949567,RO -1539949568,1539950591,MD 1539950592,1539950847,GB 1539950848,1539951103,RU 1539951104,1539951615,UA 1539951616,1539953663,RU 1539953664,1539954175,AT -1539954176,1539954687,RU +1539954176,1539954687,KZ 1539954688,1539956735,RO 1539956736,1539957759,UA 1539957760,1539958783,RU @@ -20507,7 +20540,7 @@ 1539964928,1539965951,UA 1539965952,1539966975,RU 1539966976,1539967999,UA -1539968000,1539973119,RU +1539968000,1539972095,RU 1539974144,1539975167,RU 1539975168,1539976191,DE 1539976192,1539977215,RU @@ -20542,10 +20575,8 @@ 1540008960,1540011007,PL 1540011008,1540014079,RU 1540014080,1540015103,PL -1540015104,1540016127,RU -1540016128,1540017151,DE -1540017152,1540019199,RU -1540019200,1540020223,UA +1540015104,1540018175,RU +1540018176,1540020223,UA 1540020224,1540022271,RU 1540022272,1540023295,GB 1540023296,1540024319,PL @@ -20574,9 +20605,7 @@ 1540050688,1540050943,UA 1540050944,1540052991,RU 1540052992,1540054015,UA -1540055040,1540055295,EU -1540055296,1540055551,NO -1540055552,1540056063,EU +1540055040,1540056063,NO 1540056064,1540057087,NL 1540057088,1540057343,PL 1540057344,1540057599,RU @@ -20585,7 +20614,6 @@ 1540058112,1540059135,DE 1540059136,1540060159,UA 1540060160,1540061183,NO -1540061184,1540062207,A2 1540062208,1540063231,RU 1540063232,1540064255,NL 1540064256,1540065279,PL @@ -20605,7 +20633,8 @@ 1540083712,1540084735,RU 1540084736,1540085759,NL 1540085760,1540087807,PL -1540087808,1540092927,RU +1540087808,1540088831,RU +1540089856,1540092927,RU 1540092928,1540094975,PL 1540094976,1540095999,RU 1540096000,1540097023,SE @@ -20638,21 +20667,18 @@ 1540136960,1540137983,PL 1540137984,1540139007,RU 1540139008,1540140031,DE -1540140032,1540140287,US -1540140288,1540141055,GB +1540140032,1540141055,GB 1540141056,1540142079,RU 1540142080,1540143103,UA 1540143104,1540144127,RU 1540144128,1540145151,AM -1540145152,1540145407,EU -1540145408,1540146175,AT +1540145152,1540146175,AT 1540146176,1540147199,UA 1540147200,1540148223,RU 1540148224,1540149247,PL 1540149248,1540150271,GB 1540150272,1540151295,UA 1540151296,1540152319,AT -1540152320,1540153343,SE 1540153344,1540156415,RU 1540156416,1540157439,UZ 1540157440,1540158463,RU @@ -20684,7 +20710,6 @@ 1540185088,1540186111,RU 1540186112,1540187135,NL 1540187136,1540188159,US -1540188160,1540189183,KZ 1540190208,1540191231,PT 1540191232,1540192255,FR 1540192256,1540195327,RU @@ -20752,7 +20777,6 @@ 1540249600,1540250111,KZ 1540250112,1540250367,PL 1540250368,1540250623,CZ -1540250624,1540251135,RU 1540251136,1540251647,GB 1540251648,1540252159,PL 1540252160,1540252671,DE @@ -20826,7 +20850,6 @@ 1540291072,1540291583,BE 1540291584,1540292095,UA 1540292096,1540292607,RU -1540292864,1540293119,IT 1540293120,1540293631,DK 1540293632,1540295167,UA 1540295168,1540295679,PL @@ -20836,12 +20859,10 @@ 1540298240,1540298751,HR 1540298752,1540299263,RU 1540299264,1540299775,UA -1540299776,1540300287,KZ +1540299776,1540300287,KG 1540300288,1540300799,RU 1540300800,1540301311,DK -1540301312,1540301568,IL -1540301569,1540301569,A2 -1540301570,1540301823,IL +1540301312,1540301823,IL 1540301824,1540302847,GB 1540302848,1540303871,RU 1540303872,1540304895,UA @@ -20861,8 +20882,7 @@ 1540313600,1540315135,RU 1540315136,1540315647,UA 1540315648,1540316159,IL -1540316160,1540316415,EU -1540316416,1540316671,DE +1540316160,1540316671,DE 1540316672,1540317183,RO 1540317696,1540318207,UA 1540318208,1540318719,RU @@ -20887,7 +20907,6 @@ 1540329984,1540330495,UA 1540330496,1540331007,PL 1540331008,1540331519,IT -1540331520,1540332031,GB 1540332544,1540333055,PL 1540333056,1540333567,NO 1540333568,1540334079,RO @@ -20895,7 +20914,6 @@ 1540334592,1540335103,RU 1540335104,1540336127,PL 1540336128,1540336639,RU -1540336640,1540337663,MC 1540337664,1540338175,FR 1540338688,1540339199,RU 1540339200,1540339711,UA @@ -20978,7 +20996,6 @@ 1540371712,1540371967,GB 1540371968,1540372223,NO 1540372224,1540372479,PL -1540372480,1540372735,EU 1540372736,1540372991,GR 1540372992,1540373247,DE 1540373248,1540373503,UA @@ -21006,7 +21023,6 @@ 1540379136,1540379391,CH 1540379392,1540379647,DE 1540379648,1540379903,RU -1540379904,1540380159,EU 1540380160,1540380415,IL 1540380416,1540380671,NL 1540380672,1540380927,SI @@ -21045,7 +21061,6 @@ 1540390144,1540390399,SI 1540390400,1540390655,RU 1540390656,1540390911,UA -1540390912,1540391167,SA 1540391168,1540391423,IL 1540391424,1540391679,CH 1540391680,1540391935,NL @@ -21073,7 +21088,7 @@ 1540398080,1540398335,SA 1540398336,1540398591,DK 1540398592,1540399359,DE -1540399360,1540399871,RU +1540399360,1540399615,RU 1540399872,1540400127,GB 1540400128,1540400383,NL 1540400384,1540400639,IR @@ -21104,7 +21119,6 @@ 1540407808,1540408063,UA 1540408064,1540408319,IT 1540408320,1540408575,NL -1540408576,1540408831,HR 1540408832,1540409087,UA 1540409088,1540409343,TR 1540409344,1540409599,SI @@ -21140,12 +21154,11 @@ 1540418048,1540418559,RO 1540418816,1540419071,FR 1540419072,1540419327,RU -1540419328,1540419839,GB +1540419328,1540419583,GB 1540419840,1540420095,NL 1540420096,1540420607,GB 1540420608,1540420863,DE 1540420864,1540421119,GB -1540421120,1540421375,RU 1540421376,1540421631,PL 1540421632,1540422143,RU 1540422144,1540422399,PL @@ -21194,7 +21207,6 @@ 1540434944,1540435199,FR 1540435200,1540435455,RO 1540435456,1540435967,GR -1540435968,1540436223,RU 1540436224,1540436479,SI 1540436480,1540436735,GB 1540436736,1540436991,UA @@ -21203,22 +21215,21 @@ 1540437504,1540438015,UA 1540438016,1540438271,PL 1540438272,1540438527,US -1540438528,1540439039,RU +1540438784,1540439039,RU 1540439040,1540439295,GB 1540439296,1540439551,RO -1540439552,1540439807,PL 1540440064,1540440319,UA 1540440320,1540440575,RU 1540440576,1540440831,MD 1540440832,1540441087,RU -1540441088,1540441343,PL 1540441344,1540441855,RU 1540441856,1540442111,GB 1540442112,1540442367,RU 1540442368,1540442623,GB 1540442624,1540442879,IE 1540442880,1540443135,AT -1540443136,1540443647,RU +1540443136,1540443391,RU +1540443392,1540443647,CZ 1540443648,1540443903,FR 1540443904,1540444159,GB 1540444160,1540444415,RU @@ -21253,7 +21264,6 @@ 1540452352,1540452607,AT 1540452608,1540452863,IL 1540452864,1540453119,HU -1540453120,1540453375,RU 1540453376,1540453631,PL 1540453632,1540453887,FR 1540453888,1540454143,UA @@ -21343,7 +21353,6 @@ 1540481536,1540481791,UA 1540482048,1540482303,DK 1540482304,1540482559,FR -1540482560,1540482815,CH 1540482816,1540483071,DE 1540483072,1540483327,SE 1540483328,1540483839,RU @@ -21450,14 +21459,13 @@ 1540598784,1540600831,UA 1540600832,1540602879,RU 1540602880,1540603903,BG -1540603904,1540605951,RU +1540603904,1540604927,RU 1540605952,1540606975,MD 1540606976,1540607999,UA 1540608000,1540609023,RU 1540609024,1540610047,UA 1540610048,1540611071,RU 1540611072,1540612095,PL -1540612096,1540613119,TR 1540613120,1540614143,RU 1540614144,1540615167,BG 1540615168,1540616191,RU @@ -21478,7 +21486,6 @@ 1540622850,1540622853,RU 1540622854,1540622854,GB 1540622855,1540623103,RU -1540623104,1540623359,SE 1540623360,1540623615,GB 1540623616,1540623871,BG 1540624128,1540624383,RS @@ -21529,9 +21536,7 @@ 1540638208,1540638463,RO 1540638464,1540638719,AM 1540639232,1540639487,RO -1540639488,1540639491,CH -1540639492,1540639492,EU -1540639493,1540639743,CH +1540639488,1540639743,CH 1540639744,1540639999,IL 1540640000,1540640255,CH 1540640256,1540640511,FR @@ -21582,8 +21587,7 @@ 1540653056,1540653311,FR 1540653312,1540653567,DK 1540653568,1540653823,DE -1540653824,1540654079,GB -1540654080,1540654335,EU +1540653824,1540654335,GB 1540654336,1540654591,RU 1540654592,1540654847,SI 1540654848,1540655103,RU @@ -21737,7 +21741,6 @@ 1540697856,1540698111,NO 1540698112,1540698367,DE 1540698368,1540698623,IE -1540698624,1540698879,EU 1540698880,1540699135,RU 1540699136,1540699391,GR 1540699392,1540699647,NL @@ -21887,7 +21890,6 @@ 1540740608,1540740863,NL 1540740864,1540741119,RO 1540741120,1540741375,GB -1540741376,1540741631,EU 1540741632,1540742143,NL 1540742144,1540742399,RU 1540742400,1540742655,DE @@ -21927,7 +21929,8 @@ 1540755456,1540756479,UA 1540756480,1540757503,DK 1540757504,1540758527,PL -1540758528,1540760575,UA +1540758528,1540759551,UA +1540760064,1540760319,UA 1540760576,1540761599,PL 1540761600,1540762623,RU 1540762624,1540763647,LU @@ -21935,13 +21938,11 @@ 1540764672,1540765695,PL 1540765696,1540766719,RU 1540766720,1540767743,IT -1540767744,1540768767,GB 1540768768,1540769791,RU 1540769792,1540770815,IT 1540770816,1540771839,RU 1540771840,1540773887,UA 1540773888,1540774911,SE -1540774912,1540775935,GB 1540775936,1540776959,RU 1540776960,1540777983,IL 1540777984,1540779007,HR @@ -21972,8 +21973,8 @@ 1540812800,1540813823,RU 1540813824,1540815871,UA 1540815872,1540816895,DE -1540816896,1540817920,PL -1540817921,1540818943,NL +1540816896,1540817919,PL +1540817920,1540818943,NL 1540818944,1540819967,UA 1540819968,1540820991,CZ 1540820992,1540823039,RU @@ -22032,7 +22033,6 @@ 1540884480,1540884735,RO 1540884736,1540884991,GB 1540884992,1540885247,BE -1540885248,1540885503,UA 1540885504,1540885759,ES 1540885760,1540886015,DE 1540886016,1540886271,DK @@ -22074,7 +22074,6 @@ 1540896000,1540896255,RU 1540896256,1540896511,SI 1540896512,1540896767,GB -1540896768,1540897023,EU 1540897024,1540897279,GB 1540897280,1540897535,FR 1540897536,1540897791,RU @@ -22285,7 +22284,8 @@ 1540964352,1540964863,IR 1540964864,1540965887,UA 1540965888,1540966399,RU -1540966400,1540966911,GB +1540966400,1540966655,GG +1540966656,1540966911,GB 1540966912,1540967935,RU 1540967936,1540968447,UA 1540968960,1540969471,RO @@ -22496,7 +22496,7 @@ 1541099520,1541100543,UA 1541100544,1541101567,HU 1541101568,1541102591,RU -1541102592,1541103615,EU +1541102592,1541103615,RO 1541103616,1541105663,RU 1541105664,1541106687,PL 1541106688,1541107711,NL @@ -22693,7 +22693,6 @@ 1541188864,1541189119,RU 1541189120,1541189375,UA 1541189376,1541189631,GB -1541189632,1541189887,SC 1541189888,1541190143,PL 1541190144,1541190399,GB 1541190400,1541190655,AT @@ -23112,7 +23111,7 @@ 1541389312,1541389567,RU 1541389568,1541389823,SI 1541389824,1541390079,RO -1541390080,1541390335,US +1541390080,1541390335,NL 1541390336,1541390591,DK 1541390592,1541390847,SI 1541390848,1541391103,RU @@ -23397,7 +23396,7 @@ 1541583616,1541583871,GE 1541583872,1541584127,SE 1541584128,1541584383,GB -1541584384,1541584895,BE +1541584384,1541584895,NL 1541584896,1541585151,DE 1541585152,1541585663,RU 1541585664,1541585919,UA @@ -23503,7 +23502,8 @@ 1541645312,1541645823,IL 1541645824,1541646079,RO 1541646080,1541646335,PL -1541646336,1541648383,RU +1541646336,1541646847,RU +1541647360,1541648383,RU 1541648384,1541648639,PL 1541648640,1541648895,DK 1541648896,1541649151,GB @@ -23730,10 +23730,9 @@ 1541779968,1541780479,DE 1541780480,1541780735,ES 1541780736,1541780991,GB -1541780992,1541781503,RO +1541781248,1541781503,RO 1541781504,1541781759,TR 1541781760,1541782015,RU -1541782016,1541782271,RO 1541782272,1541782527,GB 1541782528,1541783551,RU 1541783552,1541783807,IE @@ -24419,7 +24418,8 @@ 1542183936,1542184191,GB 1542184192,1542184447,RU 1542184448,1542184959,PL -1542184960,1542185983,UA +1542184960,1542185727,UA +1542185728,1542185983,BY 1542185984,1542187007,PL 1542187008,1542187263,DK 1542187264,1542187519,RU @@ -24428,7 +24428,6 @@ 1542188288,1542188543,NL 1542188544,1542189055,PL 1542189056,1542189311,DE -1542189312,1542189567,TR 1542189568,1542189823,SI 1542189824,1542190079,DE 1542190080,1542191103,RU @@ -24621,7 +24620,6 @@ 1542300672,1542301695,UA 1542301696,1542302463,SK 1542302464,1542303231,PL -1542303232,1542303743,EU 1542303744,1542303999,GB 1542304000,1542304255,FR 1542304256,1542305279,RU @@ -24655,7 +24653,6 @@ 1542320128,1542322175,UA 1542322176,1542322431,RO 1542322432,1542322687,RU -1542322688,1542322943,EU 1542322944,1542323199,IL 1542323200,1542323711,RU 1542323712,1542324479,IR @@ -24800,7 +24797,7 @@ 1542405376,1542405631,PL 1542405632,1542405887,GB 1542405888,1542406143,RU -1542406144,1542406655,ES +1542406144,1542406655,NL 1542406656,1542407167,PL 1542407168,1542408191,RU 1542408192,1542408703,GB @@ -24916,7 +24913,7 @@ 1542464512,1542464767,RU 1542464768,1542465023,TR 1542465024,1542465535,RU -1542465536,1542466559,RS +1542465536,1542466559,XK 1542466560,1542466815,PL 1542466816,1542467071,RU 1542467072,1542467583,PL @@ -24938,7 +24935,6 @@ 1542475776,1542476799,LB 1542476800,1542477823,RU 1542477824,1542478079,DK -1542478080,1542478335,RU 1542478336,1542478847,UA 1542478848,1542479103,RU 1542479104,1542479359,PL @@ -25057,7 +25053,8 @@ 1542539008,1542539263,UA 1542539264,1542540287,DE 1542540288,1542540799,IT -1542540800,1542541311,GB +1542540800,1542541055,GB +1542541056,1542541311,BE 1542541312,1542542335,UA 1542542336,1542542847,RU 1542542848,1542543359,GB @@ -25258,17 +25255,18 @@ 1546076160,1546080255,RU 1546080256,1546084351,AZ 1546084352,1546088447,RU -1546088448,1546092159,A2 -1546092160,1546092287,SS -1546092288,1546092543,A2 +1546088448,1546092543,GB 1546092544,1546096639,RU 1546096640,1546100735,IT 1546100736,1546104831,AT 1546104832,1546108927,IE 1546108928,1546113023,IM 1546113024,1546121215,RU -1546121216,1546123263,FR -1546123264,1546125311,ES +1546121216,1546121983,FR +1546121984,1546121987,ES +1546121988,1546122649,FR +1546122650,1546122650,PT +1546122651,1546125311,FR 1546125312,1546256383,GB 1546256384,1546264575,RU 1546264576,1546266623,TR @@ -25341,24 +25339,17 @@ 1546731520,1546731775,RE 1546731776,1546733823,FR 1546733824,1546734079,RE -1546734080,1546734847,FR -1546734848,1546735103,RE -1546735104,1546739711,FR +1546734080,1546739711,FR 1546739712,1546739967,GP -1546739968,1546740223,FR -1546740224,1546740479,GP -1546740480,1546740991,FR -1546740992,1546741503,GP -1546741504,1546741759,FR -1546741760,1546742015,GP +1546739968,1546741247,FR +1546741248,1546742015,GP 1546742016,1546742527,MQ -1546742528,1546743295,GF -1546743296,1546743551,FR -1546743552,1546743807,GF -1546743808,1546744063,MQ -1546744064,1546744319,FR -1546744320,1546744831,MQ -1546744832,1546747903,FR +1546742528,1546743551,GF +1546743552,1546743807,FR +1546743808,1546744575,MQ +1546744576,1546745087,FR +1546745088,1546745599,MQ +1546745600,1546747903,FR 1546747904,1546764287,RU 1546764288,1546780671,UA 1546780672,1546797055,IR @@ -25411,13 +25402,10 @@ 1547522048,1547526143,CZ 1547526144,1547534335,HU 1547534336,1547538431,FR -1547538432,1547542527,EU 1547542528,1547546623,FR 1547546624,1547550719,IR 1547550720,1547554815,IE -1547554816,1547555078,AT -1547555079,1547555079,EU -1547555080,1547558911,AT +1547554816,1547558911,AT 1547558912,1547563007,IL 1547563008,1547565311,NL 1547565312,1547565823,US @@ -25435,39 +25423,39 @@ 1547608064,1547612159,LB 1547612160,1547616255,IR 1547616256,1547620351,DK -1547620352,1547620375,A2 +1547620352,1547620375,JE 1547620376,1547620383,NG -1547620384,1547620399,A2 +1547620384,1547620399,JE 1547620400,1547620407,NG -1547620408,1547620599,A2 +1547620408,1547620599,JE 1547620600,1547620607,NG -1547620608,1547620919,A2 +1547620608,1547620919,JE 1547620920,1547620927,NG -1547620928,1547621015,A2 +1547620928,1547621015,JE 1547621016,1547621023,NG -1547621024,1547621047,A2 +1547621024,1547621047,JE 1547621048,1547621055,NG -1547621056,1547621183,A2 +1547621056,1547621183,JE 1547621184,1547621191,NG -1547621192,1547621215,A2 +1547621192,1547621215,JE 1547621216,1547621223,NG -1547621224,1547621231,A2 +1547621224,1547621231,JE 1547621232,1547621239,NG -1547621240,1547621255,A2 +1547621240,1547621255,JE 1547621256,1547621263,NG -1547621264,1547621271,A2 +1547621264,1547621271,JE 1547621272,1547621279,NG -1547621280,1547621447,A2 +1547621280,1547621447,JE 1547621448,1547621455,NG -1547621456,1547621463,A2 +1547621456,1547621463,JE 1547621464,1547621471,NG -1547621472,1547622919,A2 +1547621472,1547622919,JE 1547622920,1547622935,NG -1547622936,1547623167,A2 +1547622936,1547623167,JE 1547623168,1547623423,NG -1547623424,1547623479,A2 +1547623424,1547623479,JE 1547623480,1547623487,NG -1547623488,1547624447,A2 +1547623488,1547624447,JE 1547624448,1547628543,CZ 1547628544,1547632639,BG 1547632640,1547636735,TR @@ -25477,7 +25465,7 @@ 1547649024,1547653119,RU 1547653120,1547657215,LV 1547657216,1547661311,RU -1547661312,1547665407,LV +1547661312,1547665407,ES 1547665408,1547669503,GB 1547669504,1547673599,AT 1547673600,1547677695,NL @@ -25491,7 +25479,30 @@ 1548159232,1548159235,ES 1548159236,1548159487,NL 1548159488,1548159999,GB -1548160000,1548222463,NL +1548160000,1548160255,NL +1548160256,1548160511,PL +1548160512,1548169215,NL +1548169216,1548171263,DE +1548171264,1548172287,FR +1548172288,1548173311,GB +1548173312,1548174335,BE +1548174336,1548174847,LU +1548174848,1548175359,IE +1548175360,1548175871,ES +1548175872,1548176383,PT +1548176384,1548176895,IT +1548176896,1548177407,CH +1548177408,1548177919,AT +1548177920,1548178431,PL +1548178432,1548178943,DK +1548178944,1548179455,NO +1548179456,1548179967,SE +1548179968,1548180479,FI +1548180480,1548180991,SK +1548180992,1548181503,TR +1548181504,1548182015,US +1548182016,1548182527,HK +1548182528,1548222463,NL 1548222464,1548746751,DE 1548746752,1549271039,RO 1549271040,1549795327,FR @@ -25506,136 +25517,110 @@ 1551106048,1551237119,DE 1551237120,1551368191,GR 1551368192,1551499263,NL -1551499264,1551503359,EU 1551503360,1551504383,GB 1551504384,1551505407,FR -1551505408,1551507455,EU 1551507456,1551508479,DE 1551508480,1551509503,IT -1551509504,1551516671,EU 1551516672,1551517695,IT 1551517696,1551518719,ES -1551518720,1551528959,EU 1551528960,1551529983,FR -1551529984,1551544319,EU 1551544320,1551547391,DE -1551547392,1551548415,EU 1551548416,1551551487,DE -1551551488,1551556607,EU 1551556608,1551558655,FR -1551558656,1551560703,EU 1551560704,1551561727,DE 1551561728,1551562751,FR -1551562752,1551564799,EU 1551564800,1551572991,FR -1551572992,1551577087,EU 1551577088,1551580159,NL -1551580160,1551604479,EU 1551604480,1551604735,SE -1551604736,1551630335,EU 1551630336,1551892479,RU 1551892480,1553989631,FR -1553989632,1553991935,MQ -1553991936,1553992447,FR +1553989632,1553992191,MQ +1553992192,1553992447,FR 1553992448,1553992959,MQ 1553992960,1553993215,FR -1553993216,1553993727,MQ -1553993728,1553993983,FR -1553993984,1553997055,MQ -1553997056,1553997311,FR -1553997312,1553999615,MQ -1553999616,1553999871,FR -1553999872,1554001151,MQ -1554001152,1554001407,FR -1554001408,1554001663,MQ +1553993216,1553996031,MQ +1553996032,1553996287,FR +1553996288,1553999103,MQ +1553999104,1553999359,FR +1553999360,1554001663,MQ 1554001664,1554001919,FR 1554001920,1554002175,MQ -1554002176,1554002687,FR -1554002688,1554004223,MQ -1554004224,1554004479,FR -1554004480,1554005247,MQ -1554005248,1554005759,FR -1554005760,1554006015,MQ -1554006016,1554007039,GP -1554007040,1554007295,FR -1554007296,1554009599,GP -1554009600,1554010111,FR -1554010112,1554010367,GP -1554010368,1554010623,FR -1554010624,1554010879,GP -1554010880,1554011135,FR -1554011136,1554013951,GP -1554013952,1554014207,FR +1554002176,1554002431,FR +1554002432,1554005247,MQ +1554005248,1554005503,FR +1554005504,1554006015,MQ +1554006016,1554006783,GP +1554006784,1554007295,FR +1554007296,1554010623,GP +1554010624,1554011135,FR +1554011136,1554013695,GP +1554013696,1554014207,FR 1554014208,1554015231,GP 1554015232,1554015743,FR 1554015744,1554015999,GP 1554016000,1554016255,FR -1554016256,1554017279,GP -1554017280,1554017535,FR -1554017536,1554018047,GP +1554016256,1554018047,GP 1554018048,1554018303,FR -1554018304,1554018559,GP -1554018560,1554018815,FR -1554018816,1554022143,GP +1554018304,1554020863,GP +1554020864,1554021375,FR +1554021376,1554022143,GP 1554022144,1554022399,FR 1554022400,1554023423,GP 1554023424,1554023679,FR -1554023680,1554023935,GP -1554023936,1554024191,FR -1554024192,1554024703,GP -1554024704,1554024959,FR -1554024960,1554025471,GP +1554023680,1554024703,GP +1554024704,1554025215,FR +1554025216,1554025471,GP 1554025472,1554025727,FR 1554025728,1554026751,GP 1554026752,1554027007,FR 1554027008,1554027519,GP 1554027520,1554027775,FR -1554027776,1554028031,GP -1554028032,1554028543,FR -1554028544,1554029311,GP +1554027776,1554029311,GP 1554029312,1554029567,FR 1554029568,1554030591,GP -1554030592,1554030847,FR -1554030848,1554031359,MQ -1554031360,1554031615,FR -1554031616,1554032383,MQ +1554030592,1554031615,MQ +1554031616,1554032127,FR +1554032128,1554032383,MQ 1554032384,1554032639,FR 1554032640,1554032895,MQ 1554032896,1554033151,FR -1554033152,1554034687,MQ -1554034688,1554034943,FR -1554034944,1554035455,MQ +1554033152,1554035455,MQ 1554035456,1554035711,FR -1554035712,1554038783,MQ +1554035712,1554038271,MQ +1554038272,1554038783,FR 1554038784,1554039295,RE 1554039296,1554039807,FR -1554039808,1554041343,RE -1554041344,1554041599,FR -1554041600,1554041855,RE -1554041856,1554042623,FR -1554042624,1554043135,RE -1554043136,1554043391,FR -1554043392,1554043903,RE +1554039808,1554040319,RE +1554040320,1554040575,FR +1554040576,1554041343,RE +1554041344,1554041855,FR +1554041856,1554042367,RE +1554042368,1554042879,FR +1554042880,1554043903,RE 1554043904,1554044159,FR -1554044160,1554044415,RE -1554044416,1554045183,FR -1554045184,1554046463,RE -1554046464,1554047999,FR -1554048000,1554049791,RE -1554049792,1554050047,FR -1554050048,1554051071,RE -1554051072,1554051327,FR -1554051328,1554052095,RE -1554052096,1554052607,FR -1554052608,1554054655,RE +1554044160,1554046719,RE +1554046720,1554047999,FR +1554048000,1554049023,RE +1554049024,1554049279,FR +1554049280,1554050303,RE +1554050304,1554050559,FR +1554050560,1554050815,RE +1554050816,1554051327,FR +1554051328,1554052351,RE +1554052352,1554052863,FR +1554052864,1554053119,RE +1554053120,1554053375,FR +1554053376,1554053887,RE +1554053888,1554054399,FR +1554054400,1554054655,RE 1554054656,1556086783,FR -1556086784,1556491204,DE -1556491205,1556491205,EU -1556491206,1557921791,DE +1556086784,1557921791,DE 1557921792,1558052863,NO -1558052864,1558708223,DE -1558708224,1559232511,GB -1559232512,1559240703,IL +1558052864,1558118399,DE +1558118400,1558151167,AT +1558151168,1558708223,DE +1558708224,1559236607,GB +1559236608,1559240703,IL 1559240704,1559248895,BA 1559248896,1559257087,LV 1559257088,1559265279,UA @@ -25682,13 +25667,12 @@ 1559617536,1559625727,GB 1559625728,1559633919,DK 1559633920,1559642111,IT -1559642112,1559650303,RU 1559650304,1559658495,IT 1559658496,1559683071,RU 1559683072,1559691263,CH 1559691264,1559756799,BG 1559756800,1559789567,AT -1559789568,1559838719,RU +1559789568,1559822335,RU 1559838720,1559855103,UA 1559855104,1559887871,HU 1559887872,1559920639,PT @@ -25739,8 +25723,7 @@ 1566158848,1566162943,RU 1566162944,1566167039,PL 1566167040,1566171135,UA -1566171136,1566174463,CY -1566174464,1566175231,TR +1566171136,1566175231,CY 1566175232,1566179327,IE 1566179328,1566183423,DK 1566183424,1566187519,ES @@ -25757,9 +25740,7 @@ 1566248960,1566257151,GB 1566257152,1566261247,CZ 1566261248,1566265343,TR -1566265344,1566266367,US -1566266368,1566269407,A2 -1566269408,1566269439,DE +1566265344,1566269439,DE 1566269440,1566273535,NO 1566273536,1566277631,RU 1566277632,1566281727,IT @@ -25820,7 +25801,6 @@ 1566396416,1566398463,GB 1566398464,1566400511,RU 1566400512,1566402559,NO -1566402560,1566404607,IQ 1566404608,1566406655,ES 1566406656,1566408703,NL 1566408704,1566410751,GB @@ -25852,9 +25832,7 @@ 1566471008,1566471011,IE 1566471012,1566471143,GB 1566471144,1566471147,IE -1566471148,1566471167,GB -1566471168,1566471423,IE -1566471424,1566474239,GB +1566471148,1566474239,GB 1566474240,1566476287,DE 1566476288,1566478335,BG 1566478336,1566482431,RU @@ -25895,8 +25873,8 @@ 1566556160,1566558207,RU 1566558208,1566560255,JO 1566560256,1566560767,IT -1566560768,1566561279,SM -1566561280,1566564351,IT +1566560768,1566561023,SM +1566561024,1566564351,IT 1566564352,1566566399,IS 1566566400,1566568447,FR 1566568448,1566570495,KZ @@ -25922,74 +25900,79 @@ 1567705088,1567707135,MD 1567707136,1567715327,RO 1567715328,1567717375,MD -1567717376,1567752191,RO +1567717376,1567742975,RO +1567742976,1567743487,MD +1567743488,1567752191,RO 1567752192,1567756287,MD -1567756288,1567763521,RO -1567763522,1567763522,EU -1567763523,1567763542,RO -1567763543,1567763543,EU -1567763544,1567775743,RO +1567756288,1567775743,RO 1567775744,1567776767,MD 1567776768,1567830015,RO 1567830016,1567831039,MD -1567831040,1567840255,RO -1567840256,1567841279,DE -1567841280,1567875071,RO +1567831040,1567875071,RO 1567875072,1567879167,MD 1567879168,1567880191,RO 1567880192,1567881215,SE 1567881216,1567883263,RO 1567883264,1567948799,MD -1567948800,1568026623,RO +1567948800,1567961087,RO +1567961088,1567965183,MD +1567965184,1568026623,RO 1568026624,1568030719,MD 1568030720,1568083967,RO 1568083968,1568086015,MD 1568086016,1568178175,RO 1568178176,1568210943,RU 1568210944,1568243711,GB -1568243712,1568244735,GP +1568243712,1568243967,FR +1568243968,1568244735,GP 1568244736,1568244991,FR 1568244992,1568245759,GP 1568245760,1568246527,FR 1568246528,1568247039,GP 1568247040,1568247551,FR -1568247552,1568248831,GP +1568247552,1568247807,MF +1568247808,1568248831,GP 1568248832,1568249087,MQ 1568249088,1568249599,GP 1568249600,1568249855,MQ -1568249856,1568250879,GP +1568249856,1568250111,FR +1568250112,1568250879,GP 1568250880,1568251135,FR -1568251136,1568251903,GP +1568251136,1568251647,GP +1568251648,1568251903,MF 1568251904,1568252159,MQ -1568252160,1568252415,GP -1568252416,1568252671,MQ -1568252672,1568252927,GP +1568252160,1568252927,GP 1568252928,1568253183,GF -1568253184,1568254463,GP -1568254464,1568254719,FR -1568254720,1568254975,GF +1568253184,1568253951,GP +1568253952,1568254207,FR +1568254208,1568254463,GP +1568254464,1568254975,FR 1568254976,1568255231,GP 1568255232,1568255743,FR 1568255744,1568255999,GF -1568256000,1568257023,FR +1568256000,1568256255,FR +1568256256,1568256511,GP +1568256512,1568257023,FR 1568257024,1568257279,GP 1568257280,1568257791,FR 1568257792,1568258047,MQ -1568258048,1568258559,FR -1568258560,1568258815,GF -1568258816,1568259071,FR -1568259072,1568259839,MQ -1568259840,1568260095,GP +1568258048,1568259071,FR +1568259072,1568259327,MQ +1568259328,1568260095,GP 1568260096,1568260351,FR -1568260352,1568261119,GP +1568260352,1568260607,MF +1568260608,1568261119,GP 1568261120,1568261375,FR 1568261376,1568262143,GP -1568262144,1568262655,MQ +1568262144,1568262399,FR +1568262400,1568262655,MQ 1568262656,1568263167,GP 1568263168,1568263423,FR 1568263424,1568263935,MQ -1568263936,1568264191,FR -1568264192,1568266239,GP +1568263936,1568264447,FR +1568264448,1568264703,GP +1568264704,1568265215,MF +1568265216,1568266239,GP 1568266240,1568266495,FR 1568266496,1568267263,GP 1568267264,1568268543,FR @@ -25997,33 +25980,26 @@ 1568269312,1568269567,MQ 1568269568,1568269823,GP 1568269824,1568270079,MQ -1568270080,1568270335,GP -1568270336,1568270591,FR -1568270592,1568271359,GP +1568270080,1568271359,GP 1568271360,1568271615,FR 1568271616,1568272383,GP -1568272384,1568272895,FR -1568272896,1568273407,GF -1568273408,1568274175,FR +1568272384,1568273151,FR +1568273152,1568273407,GF +1568273408,1568273663,FR +1568273664,1568273919,MQ +1568273920,1568274175,FR 1568274176,1568274431,MQ 1568274432,1568274687,FR 1568274688,1568274943,MQ -1568274944,1568275199,GP -1568275200,1568275455,MQ -1568275456,1568275711,FR -1568275712,1568275967,MQ -1568275968,1568276479,FR -1568276480,1568292943,DE -1568292944,1568292959,NL -1568292960,1568309247,DE +1568274944,1568275455,GP +1568275456,1568275711,MQ +1568275712,1568276223,FR +1568276224,1568276479,MQ +1568276480,1568309247,DE 1568309248,1568342015,RO -1568342016,1568349183,BG -1568349184,1568350207,US -1568350208,1568362495,BG +1568342016,1568362495,BG 1568362496,1568363264,RO -1568363265,1568370687,BG -1568370688,1568372735,US -1568372736,1568374783,BG +1568363265,1568374783,BG 1568374784,1568440319,RU 1568440320,1568473087,NO 1568473088,1568505855,BY @@ -26073,9 +26049,15 @@ 1570644992,1570645247,GB 1570645248,1570652159,FR 1570652160,1570655999,SE -1570656000,1570656255,GB +1570656000,1570656063,GB +1570656064,1570656127,SE +1570656128,1570656255,GB 1570656256,1570668543,SE -1570668544,1570701311,RU +1570668544,1570686975,RU +1570686976,1570693119,NL +1570693120,1570695167,RU +1570695168,1570696191,PL +1570696192,1570701311,RU 1570701312,1570717695,PL 1570717696,1570725887,HR 1570725888,1570734079,DE @@ -26087,64 +26069,85 @@ 1570764800,1570766847,DE 1570766848,1571291135,DK 1571291136,1571422207,RO -1571422208,1571422719,CZ +1571422208,1571422463,CZ +1571422464,1571422719,UA 1571422720,1571423231,RU 1571423232,1571423487,CZ 1571423488,1571423999,RU 1571424000,1571424255,KZ -1571424256,1571424511,CZ +1571424256,1571424511,KG 1571424512,1571424767,AM -1571424768,1571425279,CZ +1571424768,1571425148,CZ +1571425149,1571425149,RU +1571425150,1571425231,CZ +1571425232,1571425232,RU +1571425233,1571425279,CZ 1571425280,1571425535,RU 1571425536,1571425791,NL -1571425792,1571429375,CZ +1571425792,1571428607,CZ +1571428608,1571428863,UA +1571428864,1571429375,CZ 1571429376,1571435519,UA -1571435520,1571436543,CZ +1571435520,1571436287,CZ +1571436288,1571436543,UA 1571436544,1571438591,RU 1571438592,1571441663,UA 1571441664,1571441791,RU 1571441792,1571441919,DE 1571441920,1571442687,CZ 1571442688,1571443199,UA -1571443200,1571443455,CZ +1571443200,1571443455,RU 1571443456,1571443711,UA 1571443712,1571444735,CZ 1571444736,1571446783,NL -1571446784,1571448831,CZ -1571448832,1571450879,US +1571446784,1571447039,GB +1571447040,1571447295,CZ +1571447296,1571447807,RU +1571447808,1571448831,CZ +1571448832,1571449343,NL +1571449344,1571449855,CZ +1571449856,1571450879,RU 1571450880,1571451903,UA 1571451904,1571453951,CZ 1571453952,1571454975,GB 1571454976,1571455999,RU -1571456000,1571457023,CZ -1571457024,1571458047,UA -1571458048,1571459071,CZ +1571456000,1571456511,UA +1571456512,1571459071,CZ 1571459072,1571463167,UA 1571463168,1571469311,CZ 1571469312,1571470335,RU -1571470336,1571473407,CZ -1571473408,1571475455,RU -1571475456,1571487743,CZ +1571470336,1571471359,CZ +1571471360,1571475455,RU +1571475456,1571476479,CZ +1571476480,1571477503,RU +1571477504,1571487743,CZ 1571487744,1571495935,SK 1571495936,1571504127,CZ 1571504128,1571508223,UA 1571508224,1571514367,CZ 1571514368,1571520511,BY -1571520512,1571522559,KZ -1571522560,1571522815,RU +1571520512,1571522047,UA +1571522048,1571522815,RU 1571522816,1571524607,CZ 1571524608,1571526655,RU -1571526656,1571531263,CZ +1571526656,1571528703,CZ +1571528704,1571529215,BY +1571529216,1571529727,CZ +1571529728,1571530239,RU +1571530240,1571531263,CZ 1571531264,1571531775,UA 1571531776,1571532799,RU 1571532800,1571534079,CZ 1571534080,1571534847,RU 1571534848,1571535103,LV -1571535104,1571535871,CZ +1571535104,1571535617,CZ +1571535618,1571535618,RU +1571535619,1571535871,CZ 1571535872,1571538943,RU -1571538944,1571541248,CZ -1571541249,1571541504,UA -1571541505,1571543551,CZ +1571538944,1571541247,CZ +1571541248,1571541503,UA +1571541504,1571543039,CZ +1571543040,1571543551,NL 1571543552,1571543807,UA 1571543808,1571544063,CZ 1571544064,1571545343,RU @@ -26152,8 +26155,7 @@ 1571545600,1571545855,CZ 1571545856,1571546111,RU 1571546112,1571549183,CZ -1571549184,1571552255,UA -1571552256,1571553279,CZ +1571549184,1571553279,UA 1571553280,1571684351,IL 1571684352,1571686399,ES 1571686400,1571688447,GB @@ -26180,7 +26182,6 @@ 1571731456,1571733503,CH 1571733504,1571735551,FI 1571735552,1571737599,NL -1571737600,1571739647,EU 1571739648,1571741695,GB 1571741696,1571743743,RU 1571743744,1571745791,GB @@ -26195,28 +26196,34 @@ 1571749888,1571758079,RU 1571758080,1571766271,IL 1571766272,1571786751,PL -1571786752,1571790847,EU 1571790848,1571794943,PL 1571794944,1571799039,NL 1571799040,1571815423,UA -1571815424,1571816703,FR -1571816704,1571817471,RE -1571817472,1571818751,FR -1571818752,1571819007,RE -1571819008,1571820799,FR +1571815424,1571815679,FR +1571815680,1571815935,RE +1571815936,1571817215,FR +1571817216,1571817471,RE +1571817472,1571818495,FR +1571818496,1571819263,RE +1571819264,1571820287,FR +1571820288,1571820543,RE +1571820544,1571820799,FR 1571820800,1571821055,RE -1571821056,1571821311,FR -1571821312,1571821567,RE -1571821568,1571824383,FR -1571824384,1571824639,RE -1571824640,1571825407,FR +1571821056,1571823615,FR +1571823616,1571823871,RE +1571823872,1571824895,FR +1571824896,1571825151,RE +1571825152,1571825407,FR 1571825408,1571825663,RE -1571825664,1571827711,FR +1571825664,1571826687,FR +1571826688,1571827199,RE +1571827200,1571827711,FR 1571827712,1571827967,RE -1571827968,1571829503,FR +1571827968,1571828991,FR +1571828992,1571829247,RE +1571829248,1571829503,FR 1571829504,1571829759,RE -1571829760,1571831551,FR -1571831552,1571831807,RE +1571829760,1571831807,FR 1571831808,1571848191,DK 1571848192,1571864575,RU 1571864576,1571880959,PL @@ -26232,7 +26239,9 @@ 1572028416,1572028927,GB 1572028928,1572029183,UA 1572029184,1572030463,GB -1572030464,1572042751,RU +1572030464,1572035583,RU +1572035584,1572036607,GB +1572036608,1572042751,RU 1572042752,1572043263,GB 1572043264,1572044799,RU 1572044800,1572061183,IT @@ -26347,7 +26356,7 @@ 1572591616,1572593663,NL 1572593664,1572595711,GB 1572595712,1572597759,DE -1572597760,1572599807,RS +1572597760,1572599807,XK 1572599808,1572601855,DE 1572601856,1572603903,SE 1572603904,1572605951,GE @@ -26401,12 +26410,17 @@ 1572702208,1572704255,IT 1572704256,1572706303,RU 1572706304,1572708351,DE -1572708352,1572708735,GB -1572708736,1572708863,GG -1572708864,1572710399,GB +1572708352,1572708607,GB +1572708608,1572708863,GG +1572708864,1572709119,GB +1572709120,1572709375,GG +1572709376,1572710143,GB +1572710144,1572710399,GG 1572710400,1572712447,DE 1572712448,1572714495,ES -1572714496,1572716543,IT +1572714496,1572715007,IT +1572715008,1572715775,NG +1572715776,1572716543,IT 1572716544,1572718591,SA 1572718592,1572720639,RU 1572720640,1572722687,IT @@ -26432,8 +26446,7 @@ 1572765696,1572767743,CZ 1572767744,1572769791,NL 1572769792,1572771839,RO -1572771840,1572772095,EU -1572772096,1572773887,ES +1572771840,1572773887,ES 1572773888,1572775935,RS 1572775936,1572777983,GB 1572777984,1572780031,UA @@ -26465,20 +26478,20 @@ 1572835328,1572837375,IE 1572837376,1572839423,DK 1572839424,1572841471,DE -1572841472,1572843519,EU 1572843520,1572845567,JO 1572845568,1572847615,FR 1572847616,1572849663,GI 1572849664,1572851711,GB 1572851712,1572853759,DE -1572853760,1572855807,EU +1572853760,1572855807,BE 1572855808,1572857855,KZ 1572857856,1572859903,SE 1572859904,1572861951,IT 1572861952,1572863999,CH 1572864000,1577058303,DE 1577058304,1578106879,GB -1578106880,1578172415,DE +1578106880,1578139647,DE +1578139648,1578172415,CH 1578172416,1578237951,MT 1578237952,1578303487,DK 1578303488,1578369023,RU @@ -26498,9 +26511,7 @@ 1578592200,1578592207,CH 1578592208,1578593023,FR 1578593024,1578593279,DE -1578593280,1578593471,FR -1578593472,1578593479,GB -1578593480,1578595419,FR +1578593280,1578595419,FR 1578595420,1578595423,GB 1578595424,1578602495,FR 1578602496,1578604543,NL @@ -26528,9 +26539,7 @@ 1579106304,1579122687,DE 1579122688,1579155455,RU 1579155456,1579679743,IT -1579679744,1579686143,PL -1579686144,1579686271,DE -1579686272,1579745279,PL +1579679744,1579745279,PL 1579745280,1579810815,RU 1579810816,1579876351,PL 1579876352,1579941887,GE @@ -26583,14 +26592,13 @@ 1582252032,1582268415,TR 1582268416,1582284799,DE 1582284800,1582301183,BH -1582301184,1583176707,IT -1583176708,1583176709,US -1583176710,1583349759,IT +1582301184,1583349759,IT 1583349760,1583611903,SA 1583611904,1583615999,LV 1583616000,1583620095,NL 1583620096,1583624191,IT -1583624192,1583628287,RS +1583624192,1583624447,XK +1583624448,1583628287,RS 1583628288,1583632383,DE 1583632384,1583636479,RU 1583636480,1583640575,MK @@ -26610,10 +26618,8 @@ 1583697920,1583702015,TR 1583702016,1583706111,RU 1583706368,1583706623,GB -1583707648,1583707903,GI -1583708160,1583708287,GI -1583710208,1583712255,IR -1583712256,1583714303,AE +1583708160,1583708415,GI +1583710208,1583714303,IR 1583714304,1583722495,GB 1583722496,1583726591,IR 1583726592,1583730687,BG @@ -26629,7 +26635,9 @@ 1583767552,1583771647,AT 1583771648,1583775743,RU 1583775744,1583779839,IT -1583779840,1583780263,GB +1583779840,1583779847,GB +1583779848,1583779855,IT +1583779856,1583780263,GB 1583780264,1583780271,IT 1583780272,1583780335,GB 1583780336,1583780343,IT @@ -26637,9 +26645,9 @@ 1583780424,1583780431,IT 1583780432,1583780767,GB 1583780768,1583780775,IT -1583780776,1583780943,GB -1583780944,1583780951,IT -1583780952,1583781031,GB +1583780776,1583780791,GB +1583780792,1583780799,IT +1583780800,1583781031,GB 1583781032,1583781047,IT 1583781048,1583781279,GB 1583781280,1583781287,IT @@ -26647,20 +26655,17 @@ 1583781360,1583781367,IT 1583781368,1583781863,GB 1583781864,1583781871,IT -1583781872,1583782215,GB -1583782216,1583782223,IT -1583782224,1583782415,GB +1583781872,1583782415,GB 1583782416,1583782423,IT 1583782424,1583782431,GB 1583782432,1583782439,IT -1583782440,1583782975,GB +1583782440,1583782703,GB +1583782704,1583782711,IT +1583782712,1583782975,GB 1583782976,1583782983,IT 1583782984,1583783479,GB 1583783480,1583783487,IT -1583783488,1583783535,GB -1583783536,1583783543,IT -1583783544,1583783935,GB -1583783936,1583788031,EU +1583783488,1583783935,GB 1583788032,1583792127,TM 1583792128,1583796223,IE 1583796224,1583800319,DE @@ -26707,19 +26712,20 @@ 1585221632,1585223679,SK 1585223680,1585224959,FR 1585224960,1585225215,RE -1585225216,1585225727,FR -1585225728,1585227775,UA +1585225216,1585225471,FR +1585225472,1585225727,YT +1585225728,1585227007,UA +1585227008,1585227263,RU +1585227264,1585227775,UA 1585227776,1585231871,RU 1585231872,1585233919,CZ 1585233920,1585238015,RU 1585238016,1585240063,DE 1585240064,1585240575,FR -1585240576,1585240831,MQ -1585240832,1585241087,FR +1585240576,1585241087,MQ 1585241088,1585241343,GP 1585241344,1585241599,MQ -1585241600,1585241855,GP -1585241856,1585242111,MQ +1585241600,1585242111,GP 1585242112,1585244159,RU 1585244160,1585246207,FR 1585246208,1585248255,RU @@ -26797,10 +26803,9 @@ 1585400064,1585400319,IL 1585400320,1585400575,GB 1585400576,1585400831,FR -1585400832,1585401088,DE -1585401089,1585401343,US -1585401344,1585401599,DE -1585401600,1585401855,GB +1585400832,1585401087,NL +1585401088,1585401343,US +1585401344,1585401855,GB 1585401856,1585403903,IT 1585403904,1585405951,RU 1585405952,1585407999,GB @@ -26819,7 +26824,8 @@ 1585440768,1585442815,IT 1585442816,1585446911,RU 1585446912,1585577983,KW -1585577984,1585709055,UA +1585577984,1585643519,UA +1585643520,1585709055,RU 1585709056,1585840127,PT 1585840128,1585971199,DE 1585971200,1585979391,AT @@ -26832,7 +26838,8 @@ 1586028544,1586036735,GB 1586036736,1586061311,RU 1586061312,1586069503,SE -1586069504,1586077695,DE +1586069504,1586073599,DK +1586073600,1586077695,DE 1586077696,1586085887,GE 1586085888,1586110463,RU 1586110464,1586118655,IT @@ -26853,7 +26860,6 @@ 1586233344,1586241535,FR 1586241536,1586249727,SE 1586249728,1586257919,SI -1586257920,1586266111,EU 1586266112,1586274303,RU 1586274304,1586282495,BE 1586282496,1586298879,RU @@ -26865,13 +26871,11 @@ 1586339840,1586348031,RU 1586348032,1586356223,SY 1586356224,1586372607,RU -1586372608,1586372863,JO -1586372864,1586373119,US -1586373120,1586380799,JO +1586372608,1586380799,JO 1586380800,1586388991,GB -1586388992,1586389518,ES -1586389519,1586389774,US -1586389775,1586397183,ES +1586388992,1586389503,ES +1586389504,1586389759,US +1586389760,1586397183,ES 1586397184,1586399231,LV 1586399232,1586401279,RU 1586401280,1586403327,IT @@ -26931,17 +26935,12 @@ 1587179520,1587183615,UA 1587183616,1587199999,RU 1587200000,1587216383,UA -1587216384,1587316735,BG -1587316736,1587318783,US -1587318784,1587325951,BG +1587216384,1587325951,BG 1587325952,1587326975,GR -1587326976,1587341311,BG -1587341312,1587342335,US -1587342336,1587343359,DE -1587343360,1587347455,BG +1587326976,1587347455,BG 1587347456,1587412991,NL 1587412992,1587417087,RU -1587417088,1587425279,UA +1587421184,1587425279,UA 1587425280,1587429375,UZ 1587429376,1587437567,UA 1587437568,1587445759,RU @@ -26954,7 +26953,11 @@ 1587511296,1587544063,IL 1587544064,1588068351,IT 1588068352,1588592639,GB -1588592640,1588621311,RO +1588592640,1588593663,RO +1588593664,1588593919,MD +1588593920,1588609279,RO +1588609280,1588613119,MD +1588613120,1588621311,RO 1588621312,1588625407,MD 1588625408,1588641791,RO 1588641792,1588643839,ES @@ -26967,11 +26970,16 @@ 1589182464,1589198847,OM 1589198848,1589200895,FR 1589200896,1589202943,IT -1589202944,1589204991,NL +1589202944,1589204991,SE 1589204992,1589207039,DE 1589207040,1589215231,IT -1589215232,1589247999,GB -1589248000,1589280767,NO +1589215232,1589223167,GB +1589223168,1589223423,US +1589223424,1589247999,GB +1589248000,1589256191,NO +1589256192,1589258239,SE +1589258240,1589264383,LV +1589264384,1589280767,NL 1589280768,1589313535,DE 1589313536,1589346303,LB 1589346304,1589379071,KW @@ -26982,7 +26990,12 @@ 1589510144,1589542911,RU 1589542912,1589575679,BG 1589575680,1589608447,RU -1589608448,1589612543,DK +1589608448,1589608703,SE +1589608704,1589608959,DK +1589608960,1589609087,SE +1589609088,1589611647,DK +1589611648,1589611775,SE +1589611776,1589612543,DK 1589612544,1589620735,SE 1589620736,1589641215,DK 1589641216,1590034431,GB @@ -27006,7 +27019,7 @@ 1590073344,1590075391,NL 1590075392,1590077439,BE 1590077440,1590079487,GB -1590079488,1590079743,MQ +1590079488,1590079743,GP 1590079744,1590081535,FR 1590081536,1590083583,GB 1590083584,1590085631,RU @@ -27044,9 +27057,7 @@ 1590157312,1590161407,GB 1590161408,1590163455,DE 1590163456,1590165503,NL -1590165504,1590176643,AE -1590176644,1590176644,US -1590176645,1590689791,AE +1590165504,1590689791,AE 1590689792,1591214079,NL 1591214080,1591738367,DE 1591738368,1592000511,BE @@ -27163,10 +27174,7 @@ 1593098240,1593114623,CH 1593114624,1593122815,DK 1593122816,1593131007,SE -1593131008,1593136895,GB -1593136896,1593137023,FR -1593137024,1593147135,GB -1593147136,1593147391,EU +1593131008,1593147391,GB 1593147392,1593163775,RU 1593163776,1593180159,AT 1593180160,1593196543,NO @@ -27176,7 +27184,8 @@ 1593245696,1593247743,NL 1593247744,1593249791,IT 1593249792,1593251839,RU -1593251840,1593253887,FR +1593251840,1593253631,FR +1593253632,1593253887,ES 1593253888,1593255935,CZ 1593255936,1593257983,DE 1593257984,1593260031,IE @@ -27236,9 +27245,13 @@ 1596588032,1596719103,BG 1596719104,1596850175,IE 1596850176,1596866559,CZ -1596866560,1596882943,RU -1596882944,1596901375,CZ -1596901376,1596907519,BY +1596866560,1596887039,RU +1596887040,1596889087,UA +1596889088,1596890111,CZ +1596890112,1596890623,RU +1596890624,1596891135,CZ +1596891136,1596900351,RU +1596900352,1596907519,BY 1596907520,1596915711,RU 1596915712,1596942335,CZ 1596942336,1596945407,UA @@ -27254,24 +27267,42 @@ 1596952576,1596952831,RU 1596952832,1596953599,CZ 1596953600,1596954623,UA -1596954624,1596956415,CZ +1596954624,1596954879,RU +1596954880,1596955391,CZ +1596955392,1596955647,RU +1596955648,1596956415,CZ 1596956416,1596956671,RU -1596956672,1596956960,CZ -1596956961,1596956992,DE -1596956993,1596957183,CZ -1596957184,1596957439,UA -1596957440,1596958719,CZ +1596956672,1596956927,CZ +1596956928,1596956963,DE +1596956964,1596956964,RU +1596956965,1596957183,DE +1596957184,1596957695,UA +1596957696,1596958207,CZ +1596958208,1596958463,RU +1596958464,1596958719,UA 1596958720,1596960767,RU -1596960768,1596961791,CZ +1596960768,1596960768,CZ +1596960769,1596960769,RU +1596960770,1596960994,CZ +1596960995,1596960995,RU +1596960996,1596961279,CZ +1596961280,1596961791,SK 1596961792,1596962815,RU 1596962816,1596963327,AM -1596963328,1596964607,CZ +1596963328,1596963839,CZ +1596963840,1596964095,KZ +1596964096,1596964607,CZ 1596964608,1596965887,RU 1596965888,1596966911,KG -1596966912,1596968959,CZ +1596966912,1596967167,RU +1596967168,1596967423,CZ +1596967424,1596967935,RU +1596967936,1596968959,UA 1596968960,1596973055,BA 1596973056,1596975103,BY -1596975104,1596981247,CZ +1596975104,1596975615,CZ +1596975616,1596978431,RU +1596978432,1596981247,CZ 1596981248,1597243391,PL 1597243392,1597505535,RU 1597505536,1597767679,KZ @@ -27300,9 +27331,7 @@ 1599127552,1599143935,CZ 1599143936,1599160319,UA 1599160320,1599176703,IR -1599176704,1599190015,FR -1599190016,1599190271,EU -1599190272,1599193087,FR +1599176704,1599193087,FR 1599193088,1599209471,RU 1599209472,1599242239,IR 1599242240,1599258623,CZ @@ -27310,14 +27339,18 @@ 1599324160,1599340543,IE 1599340544,1599356927,RU 1599356928,1599373311,BH -1599373312,1599438847,RU +1599373312,1599406079,RU +1599406080,1599422463,NL +1599422464,1599438847,RU 1599438848,1599455231,RS 1599455232,1599471615,CZ 1599471616,1599487999,MK 1599488000,1599504383,IL 1599504384,1599520767,AZ 1599520768,1599537151,RU -1599537152,1599553535,BG +1599537152,1599550719,BG +1599550720,1599550975,RS +1599550976,1599553535,BG 1599553536,1599561727,KG 1599561728,1599565823,GB 1599565824,1599567871,SY @@ -27327,15 +27360,10 @@ 1599602688,1599864831,DE 1599864832,1600126975,PT 1600126976,1600389119,NL -1600389120,1600397311,EU 1600397312,1600401407,DE -1600401408,1600442367,EU 1600442368,1600446463,DE -1600446464,1600453119,EU 1600453120,1600453631,IT -1600453632,1600456703,EU 1600456704,1600457727,DE -1600457728,1600520191,EU 1600520192,1600651263,SK 1600651264,1600684031,GE 1600684032,1600749567,RU @@ -27425,9 +27453,7 @@ 1602375680,1602377727,BY 1602377728,1602379775,PS 1602379776,1602383871,GB -1602383872,1602383951,EU -1602383952,1602383952,DE -1602383953,1602385919,EU +1602383872,1602385919,DE 1602385920,1602387967,AT 1602387968,1602390015,RU 1602390016,1602392063,IT @@ -27481,32 +27507,62 @@ 1602781184,1602813951,FR 1602813952,1602846719,RU 1602846720,1602879487,GE -1602879488,1602896127,RE -1602896128,1602896924,FR +1602879488,1602879743,RE +1602879744,1602879999,FR +1602880000,1602880767,RE +1602880768,1602881023,FR +1602881024,1602881279,RE +1602881280,1602881535,FR +1602881536,1602881791,RE +1602881792,1602882047,FR +1602882048,1602882815,RE +1602882816,1602883071,FR +1602883072,1602883839,RE +1602883840,1602884095,FR +1602884096,1602884351,RE +1602884352,1602884607,FR +1602884608,1602884863,RE +1602884864,1602885119,FR +1602885120,1602886399,RE +1602886400,1602886655,FR +1602886656,1602887935,RE +1602887936,1602888191,FR +1602888192,1602888959,RE +1602888960,1602889983,FR +1602889984,1602890751,RE +1602890752,1602891263,FR +1602891264,1602891519,RE +1602891520,1602891775,FR +1602891776,1602892287,RE +1602892288,1602892543,FR +1602892544,1602892799,RE +1602892800,1602893311,FR +1602893312,1602895359,RE +1602895360,1602895615,FR +1602895616,1602896127,RE +1602896128,1602896383,FR +1602896384,1602896639,RE +1602896640,1602896924,FR 1602896925,1602896925,RE 1602896926,1602897407,FR 1602897408,1602897663,RE -1602897664,1602899455,FR -1602899456,1602899711,MQ -1602899712,1602900223,FR -1602900224,1602900383,MQ -1602900384,1602900415,FR -1602900416,1602900479,MQ -1602900480,1602900991,FR +1602897664,1602900223,FR +1602900224,1602900735,MQ +1602900736,1602900991,FR 1602900992,1602901503,MQ 1602901504,1602901759,FR -1602901760,1602902527,MQ -1602902528,1602903551,FR +1602901760,1602902015,MQ +1602902016,1602903551,FR 1602903552,1602903807,MQ -1602903808,1602904063,FR -1602904064,1602904575,RE -1602904576,1602908415,FR +1602903808,1602907135,FR +1602907136,1602907391,RE +1602907392,1602908415,FR 1602908416,1602908671,RE -1602908672,1602909183,FR -1602909184,1602909439,RE -1602909440,1602910463,FR +1602908672,1602910463,FR 1602910464,1602910719,RE -1602910720,1602912255,FR +1602910720,1602911487,FR +1602911488,1602911743,RE +1602911744,1602912255,FR 1602912256,1602928639,GB 1602928640,1602930687,HU 1602930688,1602932735,GB @@ -27539,21 +27595,20 @@ 1603081256,1603081263,FI 1603081264,1603081279,GB 1603081280,1603081295,US -1603081296,1603081407,GB -1603081408,1603081471,ES +1603081296,1603081471,ES 1603081472,1603082239,GB 1603082240,1603082495,DE 1603082496,1603082751,GT 1603082752,1603083007,ES 1603083008,1603083263,UA -1603083264,1603083551,DE +1603083264,1603083535,DE +1603083536,1603083551,LU 1603083552,1603083567,NL 1603083568,1603083583,LU 1603083584,1603083615,DE 1603083616,1603083647,LU 1603083648,1603083775,DE -1603083776,1603083823,LU -1603083824,1603084031,GB +1603083776,1603084031,GB 1603084032,1603088383,IT 1603088384,1603092479,LB 1603092480,1603100671,NO @@ -27565,7 +27620,9 @@ 1603133440,1603137535,RU 1603137536,1603141631,KW 1603141632,1603145727,ES -1603145728,1603149823,IL +1603145728,1603149311,IL +1603149312,1603149567,NL +1603149568,1603149823,IL 1603149824,1603153919,RU 1603153920,1603158015,NL 1603158016,1603162111,DE @@ -27625,7 +27682,9 @@ 1604222976,1604239359,BG 1604239360,1604255743,RU 1604255744,1604272127,SY -1604272128,1604288511,IQ +1604272128,1604282367,IQ +1604282368,1604282623,SE +1604282624,1604288511,IQ 1604288512,1604304895,RU 1604304896,1604321279,SI 1604321280,1604386815,PL @@ -27685,9 +27744,9 @@ 1605110280,1605110287,IT 1605110288,1605111023,GB 1605111024,1605111031,IT -1605111032,1605111847,GB -1605111848,1605111855,IT -1605111856,1605111919,GB +1605111032,1605111199,GB +1605111200,1605111207,IT +1605111208,1605111919,GB 1605111920,1605111927,IT 1605111928,1605111935,GB 1605111936,1605111943,IT @@ -27697,21 +27756,17 @@ 1605112848,1605112855,IT 1605112856,1605113087,GB 1605113088,1605113095,IT -1605113096,1605113223,GB -1605113224,1605113231,IT -1605113232,1605113383,GB +1605113096,1605113383,GB 1605113384,1605113391,IT -1605113392,1605113423,GB -1605113424,1605113431,IT -1605113432,1605113503,GB +1605113392,1605113503,GB 1605113504,1605113511,IT -1605113512,1605114199,GB +1605113512,1605113839,GB +1605113840,1605113847,IT +1605113848,1605114199,GB 1605114200,1605114207,IT 1605114208,1605114263,GB 1605114264,1605114271,IT -1605114272,1605114279,GB -1605114280,1605114287,IT -1605114288,1605114295,GB +1605114272,1605114295,GB 1605114296,1605114303,IT 1605114304,1605114871,GB 1605114872,1605114879,IT @@ -27719,23 +27774,19 @@ 1605114960,1605114967,IT 1605114968,1605115007,GB 1605115008,1605115015,IT -1605115016,1605115903,GB +1605115016,1605115863,GB +1605115864,1605115871,IT +1605115872,1605115903,GB 1605115904,1605124095,RU -1605124096,1605125119,GB -1605125120,1605125267,DE -1605125268,1605125269,EU -1605125270,1605125375,DE -1605125376,1605125904,GB -1605125905,1605125920,DE -1605125921,1605126911,GB -1605126912,1605127167,EU -1605127168,1605130239,GB -1605130240,1605130244,DE -1605130245,1605130245,EU -1605130246,1605130247,DE -1605130248,1605130248,EU -1605130249,1605130367,DE -1605130368,1605132287,GB +1605124096,1605125263,GB +1605125264,1605125267,DE +1605125268,1605125269,GB +1605125270,1605125279,DE +1605125280,1605125903,GB +1605125904,1605125919,DE +1605125920,1605130239,GB +1605130240,1605130271,NL +1605130272,1605132287,GB 1605132288,1605148671,RU 1605148672,1605156863,PT 1605156864,1605165055,JO @@ -27783,9 +27834,11 @@ 1605734400,1605736447,GB 1605736448,1605742591,RU 1605742592,1605744639,GB -1605744640,1605756927,RU -1605756928,1605758975,GB -1605758976,1605795839,RU +1605744640,1605750783,RU +1605750784,1605751807,GB +1605751808,1605756927,RU +1605756928,1605763071,GB +1605763072,1605795839,RU 1605795840,1605828607,BE 1605828608,1605861375,RU 1605861376,1605894143,TR @@ -27800,45 +27853,37 @@ 1607562752,1607569407,SE 1607569408,1607572479,DK 1607572480,1607575551,SE -1607575552,1607577599,DK +1607575552,1607577599,GB 1607577600,1607581695,SE -1607581696,1607583743,DK -1607583744,1607585791,SE +1607581696,1607584511,DK +1607584512,1607585791,SE 1607585792,1607598079,DK -1607598080,1607598335,IT -1607598336,1607598591,EU -1607598592,1607606015,IT +1607598080,1607606015,IT 1607606016,1607606271,FR -1607606272,1607609343,IT -1607609344,1607609599,EU -1607609600,1607610367,IT +1607606272,1607608319,IT +1607608320,1607609343,ES +1607609344,1607610367,IT 1607610368,1607612415,IE -1607612416,1607614463,EU +1607612416,1607614463,IT 1607614464,1607615487,FR 1607615488,1607617535,GB -1607617536,1607618559,EU +1607617536,1607618559,IT 1607618560,1607620607,ES -1607620608,1607621375,IT -1607621376,1607621631,EU -1607621632,1607622655,IT +1607620608,1607622655,IT 1607622656,1607624703,ES -1607624704,1607625727,EU +1607624704,1607625727,IT 1607625728,1607625983,ES -1607625984,1607626239,EU +1607625984,1607626239,IT 1607626240,1607626751,ES -1607626752,1607627519,EU -1607627520,1607628543,IT -1607628544,1607628799,EU +1607626752,1607628799,IT 1607628800,1607629055,FR -1607629056,1607629567,IT -1607629568,1607634431,EU -1607634432,1607636479,IT -1607636480,1607647231,EU +1607629056,1607647231,IT 1607647232,1607651327,DE 1607651328,1607655423,FR 1607655424,1607663615,IT 1607663616,1607729151,NL -1607729152,1607761919,EG +1607729152,1607737343,SY +1607737344,1607761919,EG 1607761920,1607766015,SY 1607766016,1607794687,EG 1607794688,1607860223,RU @@ -27901,20 +27946,22 @@ 1607983104,1607984127,GB 1607984128,1607985151,RU 1607985152,1607986175,PL -1607986176,1607986687,FR +1607986176,1607986431,FR +1607986432,1607986687,GB 1607986688,1607988223,RU 1607988224,1607989247,KG 1607989248,1607991295,RU 1607991296,1608122367,UA -1608122368,1608253439,RO +1608122368,1608155135,GB +1608155136,1608253439,RO 1608253440,1608384511,RU 1608384512,1608515583,DE 1608515584,1610612735,IT 1610612736,1610678271,US 1610678272,1610743807,CA -1610743808,1611169599,US -1611169600,1611169663,IE -1611169664,1611227135,US +1610743808,1611128831,US +1611128832,1611130879,NL +1611130880,1611227135,US 1611227136,1611235327,CA 1611235328,1611923455,US 1611923456,1612185599,CA @@ -27928,8 +27975,7 @@ 1613504512,1613529087,CA 1613529088,1613545471,US 1613545472,1613565951,CA -1613565952,1613574143,US -1613578240,1613606911,US +1613565952,1613606911,US 1613606912,1613615103,CA 1613615104,1613635583,US 1613635584,1613640191,CA @@ -27943,12 +27989,12 @@ 1613676544,1613680639,CA 1613680640,1613737983,US 1613737984,1613742079,CA -1613742080,1613750803,US -1613750804,1613750804,US -1613750805,1613758463,US +1613742080,1613758463,US 1613758464,1614282751,CA 1614282752,1614741503,US -1614741504,1614757887,CA +1614741504,1614743039,CA +1614743040,1614743295,US +1614743296,1614757887,CA 1614757888,1614774271,US 1614774272,1614786559,CA 1614786560,1618837503,US @@ -27974,8 +28020,7 @@ 1634729984,1652293631,US 1652293632,1652310015,CA 1652310016,1653500927,US -1653500928,1653501183,FR -1653501184,1653501439,IL +1653500928,1653501439,IL 1653501440,1653501695,HK 1653501696,1653534719,US 1653534720,1653538815,CA @@ -28004,9 +28049,7 @@ 1680535552,1680539647,CA 1680539648,1680564223,US 1680564224,1680572415,CA -1680572416,1680627199,US -1680627200,1680627263,CA -1680627264,1681915903,US +1680572416,1681915903,US 1686110208,1694498815,US 1694498816,1694499839,CN 1694499840,1694500863,ID @@ -28072,9 +28115,7 @@ 1700986880,1701003263,VN 1701003264,1701011455,MY 1701011456,1701019647,CN -1701019648,1701035519,GU -1701035520,1701035775,US -1701035776,1701052415,GU +1701019648,1701052415,GU 1701052416,1701117951,NZ 1701117952,1701134335,NC 1701134336,1701142527,CN @@ -28100,7 +28141,7 @@ 1701740544,1701838847,JP 1701838848,1702363135,AU 1702363136,1702821887,CN -1702821888,1702887423,HK +1702821888,1702887423,SG 1702887424,1702888447,CN 1702888448,1702889471,AU 1702889472,1702903807,CN @@ -28175,7 +28216,7 @@ 1728171008,1728172031,AU 1728172032,1728173055,VN 1728173056,1728175103,AU -1728175104,1728177151,HK +1728176128,1728177151,HK 1728177152,1728178175,AU 1728178176,1728179199,LA 1728179200,1728180223,VN @@ -28277,13 +28318,7 @@ 1728346112,1728346367,AU 1728346368,1728346623,NZ 1728346624,1728347135,AU -1728347136,1728347147,SG -1728347148,1728347148,AP -1728347149,1728347391,SG -1728347392,1728347421,AU -1728347422,1728347422,AP -1728347423,1728347647,AU -1728347648,1728348159,SG +1728347136,1728348159,SG 1728348160,1728349183,VN 1728349184,1728349951,AU 1728349952,1728350207,NP @@ -28311,7 +28346,6 @@ 1728369664,1728370687,AU 1728370688,1728371711,TH 1728371712,1728372735,IN -1728372736,1728373759,HK 1728373760,1728374783,TH 1728374784,1728375039,SG 1728375040,1728375295,IN @@ -28369,7 +28403,6 @@ 1728425984,1728427007,JP 1728427008,1728428031,MY 1728428032,1728430079,IN -1728430080,1728431103,JP 1728431104,1728431615,AF 1728431616,1728431871,HK 1728431872,1728432127,SG @@ -28409,10 +28442,10 @@ 1728464896,1728465919,KR 1728465920,1728466943,CN 1728466944,1728467967,KR -1728467968,1728468735,HK +1728467968,1728468479,HK +1728468480,1728468735,AU 1728468736,1728469247,IN 1728469248,1728469503,NZ -1728469504,1728470015,HK 1728470016,1728471039,JP 1728471040,1728472063,PH 1728472064,1728473087,KR @@ -28611,7 +28644,6 @@ 1728653312,1728654335,NZ 1728654336,1728655359,ID 1728655872,1728656127,SB -1728656128,1728656383,HK 1728656384,1728661503,AU 1728661504,1728662527,IN 1728662528,1728665599,VN @@ -28645,6 +28677,7 @@ 1728692224,1728693247,JP 1728693248,1728698367,VN 1728698368,1728699391,NZ +1728699392,1728699903,BD 1728699904,1728700415,IN 1728700416,1728700671,BD 1728700672,1728700927,IN @@ -28730,7 +28763,6 @@ 1728772096,1728773375,IN 1728773376,1728773631,ID 1728773632,1728774143,PH -1728774144,1728775167,AU 1728775168,1728776191,JP 1728776192,1728777215,AU 1728777216,1728778239,TH @@ -28787,7 +28819,6 @@ 1728826368,1728827391,AU 1728827392,1728828415,JP 1728828416,1728829439,AU -1728829440,1728830463,KH 1728830464,1728830719,SG 1728830720,1728830975,JP 1728830976,1728831487,ID @@ -28920,7 +28951,7 @@ 1728951552,1728951807,ID 1728951808,1728952063,SG 1728952064,1728952319,IN -1728952320,1728953343,AU +1728952832,1728953343,AU 1728953344,1728954367,HK 1728954368,1728955391,JP 1728955392,1728956415,CN @@ -28929,7 +28960,6 @@ 1728959488,1728960511,TH 1728960512,1728961279,AU 1728961280,1728961535,IN -1728961536,1728962559,JP 1728962560,1728963583,BD 1728963584,1728964607,TH 1728964608,1728965631,HK @@ -28946,7 +28976,6 @@ 1728974848,1728976383,ID 1728976384,1728976895,AU 1728976896,1728977151,AF -1728977408,1728977663,HK 1728977664,1728977919,BD 1728977920,1728978943,MY 1728978944,1728979967,JP @@ -28970,7 +28999,6 @@ 1728994304,1728995327,AU 1728995328,1728996095,IN 1728996096,1728996351,SG -1728996352,1728997375,HK 1728998400,1728998655,ID 1728998656,1728998911,BD 1728998912,1728999423,ID @@ -28996,7 +29024,6 @@ 1729020160,1729020415,BD 1729020416,1729020671,PH 1729020672,1729020927,ID -1729020928,1729021951,JP 1729021952,1729022975,AU 1729022976,1729023999,BD 1729024000,1729025023,IN @@ -29078,7 +29105,6 @@ 1729091584,1729092607,HK 1729092608,1729094143,BD 1729094144,1729094655,IN -1729094656,1729095679,AU 1729095680,1729096703,SG 1729096704,1729097215,AU 1729097216,1729097727,AF @@ -29086,7 +29112,6 @@ 1729098752,1729099775,BD 1729099776,1729100543,IN 1729100544,1729100799,ID -1729100800,1729101823,PH 1729101824,1729102847,VN 1729102848,1729103871,IN 1729103872,1729104895,JP @@ -29095,7 +29120,9 @@ 1729105920,1729106943,SG 1729106944,1729107967,NZ 1729107968,1729108479,IN -1729108480,1729108991,HK +1729108480,1729108647,HK +1729108648,1729108655,KR +1729108656,1729108991,HK 1729108992,1729111039,IN 1729111040,1729112063,JP 1729112064,1729113087,MY @@ -29156,7 +29183,9 @@ 1729162240,1729163263,JP 1729163264,1729165311,TW 1729165312,1729166335,JP -1729166336,1729166847,SG +1729166336,1729166671,SG +1729166672,1729166687,PH +1729166688,1729166847,SG 1729166848,1729167359,HK 1729167360,1729168383,IN 1729168384,1729169407,JP @@ -29187,7 +29216,6 @@ 1729189888,1729190911,VN 1729190912,1729191935,HK 1729191936,1729195007,IN -1729195008,1729195519,MN 1729195520,1729196031,BD 1729196032,1729197055,GU 1729197056,1729198079,HK @@ -29371,11 +29399,9 @@ 1729377024,1729377279,ID 1729377280,1729378303,BD 1729378304,1729378815,IN -1729378816,1729379071,TH 1729379072,1729379327,SG 1729379328,1729380351,HK 1729380352,1729381375,IN -1729381376,1729382399,AU 1729382400,1729383423,JP 1729383424,1729384447,PG 1729384448,1729385471,KH @@ -29429,7 +29455,6 @@ 1729426432,1729427455,AU 1729427456,1729428479,CN 1729428480,1729430527,AU -1729430528,1729431551,BD 1729431552,1729432575,JP 1729432576,1729433599,PH 1729433600,1729433855,IN @@ -29512,8 +29537,9 @@ 1729543168,1729544191,CN 1729544192,1729545215,IN 1729545216,1729546239,AU -1729546240,1729547263,HK -1729548288,1729549311,AU +1729546240,1729546495,JP +1729546496,1729547263,HK +1729548544,1729549311,AU 1729549312,1729550335,JP 1729550336,1729551359,MY 1729551360,1729552383,KR @@ -29544,7 +29570,6 @@ 1729576960,1729577983,AU 1729577984,1729578495,HK 1729578496,1729578751,AU -1729578752,1729579007,MY 1729579008,1729580031,JP 1729580032,1729581055,SG 1729581056,1729583103,KR @@ -29571,7 +29596,7 @@ 1729599488,1729600511,AU 1729600512,1729601535,VN 1729601536,1729603583,CN -1729603584,1729604607,BD +1729603584,1729604607,HK 1729604608,1729605119,AU 1729605376,1729605631,ID 1729605632,1729606655,CN @@ -29830,8 +29855,7 @@ 1729863680,1729864703,AU 1729864704,1729866751,IN 1729866752,1729867775,AU -1729867776,1729868799,CN -1729868800,1729869823,HK +1729867776,1729869823,HK 1729869824,1729870847,JP 1729870848,1729871871,AU 1729871872,1729872895,JP @@ -29874,7 +29898,6 @@ 1729898496,1729899519,AU 1729899520,1729900543,HK 1729900544,1729901567,AU -1729901568,1729902079,BD 1729902080,1729902591,SG 1729902592,1729903615,ID 1729903616,1729905663,KR @@ -29896,8 +29919,7 @@ 1729918976,1729919999,BD 1729920000,1729921023,TH 1729921024,1729922047,AU -1729922048,1729922559,US -1729922560,1729923071,AF +1729922048,1729923071,AF 1729923072,1729924095,VN 1729924096,1729925119,IN 1729925120,1729926143,HK @@ -29988,7 +30010,7 @@ 1730010112,1730011135,IN 1730011136,1730012159,BT 1730012160,1730013183,ID -1730013184,1730015231,IN +1730013184,1730014207,IN 1730015232,1730016255,MY 1730016256,1730017279,PH 1730017280,1730017791,IN @@ -30008,7 +30030,7 @@ 1730031616,1730032639,HK 1730032640,1730033663,JP 1730033664,1730034687,ID -1730034688,1730036735,JP +1730034688,1730035711,JP 1730036736,1730037759,HK 1730037760,1730038783,JP 1730038784,1730039807,HK @@ -30033,7 +30055,6 @@ 1730062336,1730062591,AU 1730062592,1730062847,BD 1730062848,1730064383,ID -1730064384,1730065407,JP 1730065408,1730066431,ID 1730066432,1730067455,AU 1730067456,1730068479,BD @@ -30112,6 +30133,87 @@ 1730147328,1730148351,JP 1730148352,1730149375,ID 1730149376,1730150399,JP +1742733312,1742734335,HK +1742734336,1742735359,IN +1742735360,1742736383,JP +1742736384,1742737407,PK +1742737408,1742738431,SG +1742738432,1742738687,HK +1742738688,1742738943,AU +1742738944,1742739455,HK +1742739456,1742740479,IN +1742740480,1742741503,KH +1742741504,1742743551,IN +1742743552,1742745599,CN +1742745600,1742745855,IN +1742745856,1742746111,AU +1742746112,1742746623,IN +1742746624,1742747135,AU +1742747136,1742747391,IN +1742747392,1742747647,AU +1742747648,1742748671,HK +1742748672,1742749695,CN +1742749696,1742750719,ID +1742750720,1742751743,IN +1742751744,1742752767,HK +1742752768,1742753791,NZ +1742753792,1742754815,CN +1742754816,1742756863,AU +1742756864,1742757887,JP +1742757888,1742758911,BN +1742758912,1742759935,ID +1742759936,1742760191,AU +1742760192,1742760447,IN +1742760448,1742760703,HK +1742760704,1742760959,NZ +1742760960,1742761983,IN +1742761984,1742763007,AU +1742763008,1742764031,SG +1742764032,1742765823,AU +1742765824,1742766079,AF +1742766080,1742767103,NZ +1742767104,1742768127,TW +1742768128,1742769663,ID +1742769664,1742769919,AU +1742769920,1742770175,JP +1742770176,1742774271,IN +1742774272,1742774527,AU +1742774528,1742774783,NZ +1742774784,1742775295,AU +1742775296,1742776319,SG +1742776320,1742777343,VN +1742777344,1742779647,ID +1742779648,1742779903,IN +1742779904,1742780415,AU +1742780416,1742782463,IN +1742782464,1742783487,TW +1742783488,1742784511,MY +1742784512,1742786559,TW +1742786560,1742788095,AU +1742788096,1742788607,AF +1742788608,1742789631,IN +1742789632,1742793727,CN +1742793728,1742796799,IN +1742796800,1742797823,HK +1742797824,1742798847,JP +1742798848,1742799871,TW +1742799872,1742800895,NZ +1742800896,1742801919,HK +1742801920,1742802943,IN +1742802944,1742804991,HK +1742804992,1742807039,IN +1742807040,1742808063,AU +1742808064,1742809087,PH +1742809088,1742810111,IN +1742810112,1742810623,AU +1742810624,1742811135,IN +1742811136,1742812159,PK +1742812160,1742813183,JP +1742813184,1742815231,IN +1742815232,1742815743,SG +1742815744,1742815999,ID +1742816000,1742817279,AU +1742817280,1742819327,IN 1743781888,1743783935,JP 1743783936,1743784959,IN 1743784960,1743785983,JP @@ -30279,6 +30381,8 @@ 1743971328,1743972351,NZ 1743972352,1743972607,IN 1743972608,1743972863,ID +1743972864,1743973119,IN +1743973120,1743973375,AU 1743973376,1743974399,IN 1743974400,1743975423,CN 1743975424,1743976447,NZ @@ -30287,6 +30391,63 @@ 1743978496,1743979519,HK 1743979520,1743980543,JP 1743980544,1743981567,IN +1743981568,1743982591,SG +1743982592,1743983103,AU +1743983104,1743983359,HK +1743983360,1743983615,IN +1743983616,1743984639,KR +1743984640,1743985663,CN +1743985664,1743994879,IN +1743994880,1743995903,AU +1743995904,1743997951,IN +1743997952,1743999999,BD +1744000000,1744001023,AU +1744001024,1744001535,IN +1744001536,1744001791,NZ +1744001792,1744002047,AU +1744002048,1744003071,HK +1744003072,1744004095,NZ +1744004096,1744005119,HK +1744005120,1744006143,VN +1744006144,1744006655,ID +1744006656,1744006911,AU +1744006912,1744009215,IN +1744009216,1744010239,JP +1744010240,1744011263,ID +1744011264,1744012287,HK +1744012288,1744013311,IN +1744013312,1744014335,CN +1744014336,1744015359,BD +1744015360,1744016383,IN +1744016384,1744017407,AU +1744017408,1744018431,JP +1744018432,1744019455,MY +1744019456,1744020479,NZ +1744020480,1744021503,HK +1744021504,1744022527,TH +1744022528,1744023551,SG +1744023552,1744023807,IN +1744023808,1744024319,ID +1744024320,1744024575,AF +1744024576,1744025599,HK +1744025600,1744026623,IN +1744026624,1744027647,JP +1744027648,1744028671,MY +1744028672,1744029695,JP +1744029696,1744030719,KR +1744030720,1744031743,NZ +1744031744,1744032767,JP +1744032768,1744033791,MY +1744033792,1744034815,VN +1744034816,1744035839,SG +1744035840,1744039423,IN +1744039424,1744039679,PH +1744039680,1744039935,AU +1744039936,1744040959,JP +1744040960,1744041471,AU +1744041472,1744041983,ID +1744041984,1744043007,TW +1744043008,1744044031,CN 1744044032,1744045055,HK 1744045056,1744047103,SG 1744047104,1744048127,BD @@ -30316,9 +30477,8 @@ 1744077824,1744078847,PK 1744078848,1744079871,VN 1744079872,1744080895,BD -1744080896,1744081151,US -1744081152,1744081919,AF -1744081920,1744082943,CN +1744080896,1744081919,AF +1744081920,1744082943,HK 1744082944,1744083967,IN 1744083968,1744084991,HK 1744084992,1744085503,ID @@ -30440,9 +30600,9 @@ 1744202240,1744202495,IN 1744202496,1744202751,ID 1744202752,1744203775,PK -1744203776,1744204356,MY -1744204357,1744204484,HK -1744204485,1744204799,MY +1744203776,1744204287,MY +1744204288,1744204415,HK +1744204416,1744204799,MY 1744204800,1744205823,ID 1744205824,1744207871,CN 1744207872,1744208127,AU @@ -30491,7 +30651,7 @@ 1744245504,1744245759,AU 1744245760,1744247807,ID 1744247808,1744248831,IN -1744248832,1744250367,ID +1744248832,1744249855,ID 1744250368,1744250879,PH 1744250880,1744251903,ID 1744251904,1744252927,BD @@ -30653,8 +30813,7 @@ 1744411648,1744412671,JP 1744412672,1744413695,SG 1744413696,1744417791,CN -1744417792,1744418559,IN -1744418560,1744418815,AU +1744417792,1744418815,IN 1744418816,1744419839,JP 1744419840,1744421887,CN 1744421888,1744422911,HK @@ -30709,7 +30868,8 @@ 1744470016,1744471039,TH 1744471040,1744472063,NP 1744472064,1744473087,IN -1744473088,1744474111,SG +1744473088,1744473343,TW +1744473344,1744474111,SG 1744474112,1744481279,IN 1744481280,1744482303,JP 1744482304,1744483327,IN @@ -30792,15 +30952,272 @@ 1744565248,1744566271,HK 1744566272,1744567295,IN 1744567296,1744568319,JP +1744568320,1744569343,VN +1744569344,1744570367,IN +1744570368,1744570879,JP +1744570880,1744571391,AU +1744571392,1744571903,ID +1744571904,1744572415,AU +1744572416,1744573439,HK +1744573440,1744574463,ID +1744574464,1744575487,IN +1744575488,1744576511,CN +1744576512,1744577535,IN +1744577536,1744578559,CN +1744578560,1744580607,IN +1744580608,1744580863,PH +1744580864,1744581119,SG +1744581120,1744581631,ID +1744581632,1744582655,JP +1744582656,1744583679,AU +1744583680,1744584703,IN +1744584704,1744585727,CN +1744585728,1744586751,TW +1744586752,1744588799,HK +1744588800,1744589823,PK +1744589824,1744590079,BT +1744590080,1744590335,ID +1744590336,1744590591,IN +1744590592,1744590847,AU +1744590848,1744591871,HK +1744591872,1744593919,IN +1744593920,1744594431,ID +1744594432,1744594943,AU +1744594944,1744595967,CN +1744595968,1744596991,IN +1744596992,1744598015,SG +1744598016,1744602111,JP +1744602112,1744603135,HK +1744603136,1744604159,JP +1744604160,1744607231,IN +1744607232,1744608255,AU +1744608256,1744609791,IN +1744609792,1744610047,HK +1744610048,1744610303,ID +1744610304,1744612351,IN +1744612352,1744613375,CN +1744613376,1744614399,HK +1744614400,1744615423,JP +1744615424,1744616447,IN +1744616448,1744616959,ID +1744616960,1744617471,AU +1744617472,1744618495,IN +1744618496,1744619519,JP +1744619520,1744620543,SG +1744620544,1744622591,CN +1744622592,1744625663,IN +1744625664,1744626687,SG +1744626688,1744627711,KR +1744627712,1744628735,CN +1744628736,1744629759,IN +1744629760,1744630783,HK +1744630784,1744631039,TW +1744631040,1744631295,IN +1744631296,1744631551,AU +1744631552,1744631807,NZ +1744631808,1744632831,CN +1744632832,1744633855,VN +1744633856,1744634879,ID +1744634880,1744635903,CN +1744635904,1744636927,HK +1744636928,1744637951,MY +1744637952,1744638975,JP +1744638976,1744639999,IN +1744640000,1744641023,SG +1744641024,1744643583,IN +1744643584,1744644095,BD +1744644096,1744645119,HK +1744645120,1744646143,BD +1744646144,1744647167,PH +1744647168,1744648191,IN +1744648192,1744649215,KR +1744649216,1744650239,CN +1744650240,1744651263,AU +1744651264,1744651775,ID +1744651776,1744652287,IN +1744652288,1744653311,TH +1744653312,1744655871,JP +1744655872,1744656383,ID +1744656384,1744657407,VN +1744657408,1744658431,AU +1744658432,1744659455,HK +1744659456,1744660479,JP +1744660480,1744660735,IN +1744660736,1744660991,MY +1744660992,1744661503,ID +1744661504,1744662527,MY +1744662528,1744663551,ID +1744663552,1744663807,NZ +1744663808,1744664063,TH +1744664064,1744664575,AU +1744664576,1744665599,HK +1744665600,1744665855,ID +1744665856,1744666111,IN +1744666112,1744666367,AU +1744666368,1744666623,PH +1744666624,1744667647,JP +1744667648,1744668671,TH +1744668672,1744669695,NZ +1744669696,1744670719,HK +1744670720,1744671743,SG +1744671744,1744673791,IN +1744673792,1744674815,PK +1744674816,1744675839,BD +1744675840,1744676351,SG +1744676352,1744678911,IN +1744678912,1744679935,JP +1744679936,1744680959,KH +1744680960,1744681983,WS +1744681984,1744683007,JP +1744683008,1744685055,AU +1744685056,1744686079,IN +1744686080,1744687103,CN +1744687104,1744688127,IN +1744688128,1744689151,ID +1744689152,1744690175,JP +1744690176,1744692223,CN +1744692224,1744693247,IN +1744693248,1744694271,CN +1744694272,1744696319,HK +1744696320,1744697343,PH +1744697344,1744698367,HK +1744698368,1744699391,KH +1744699392,1744700415,NZ +1744700416,1744701439,AU +1744701440,1744702463,CN +1744702464,1744704511,VN +1744704512,1744705535,CN +1744705536,1744705791,AU +1744705792,1744706047,ID +1744706048,1744706303,BD +1744706304,1744708607,IN +1744708608,1744709631,PH +1744709632,1744710655,VN +1744710656,1744711679,SG +1744711680,1744712191,ID +1744712192,1744712447,AU +1744712448,1744712703,ID +1744712704,1744714751,IN +1744714752,1744715775,JP +1744715776,1744719871,CN +1744719872,1744720895,IN +1744720896,1744721919,BD +1744721920,1744723455,AU +1744723456,1744723711,BD +1744723712,1744723967,ID +1744723968,1744726015,IN +1744726016,1744727039,ID +1744727040,1744728063,HK +1744728064,1744729087,CN +1744729088,1744730111,HK +1744730112,1744731135,MN +1744731136,1744731647,IN +1744731648,1744732159,ID +1744732160,1744733183,IN +1744733184,1744734207,NZ +1744734208,1744736255,AU +1744736256,1744737279,JP +1744737280,1744738303,CN +1744738304,1744739327,SG +1744739328,1744740351,NZ +1744740352,1744741375,IN +1744741376,1744741887,AU +1744741888,1744742143,AF +1744742144,1744742399,BD +1744742400,1744743423,ID +1744743424,1744744447,IN +1744744448,1744745471,CN +1744745472,1744747519,NP +1744747520,1744748543,CN +1744748544,1744749055,JP +1744749056,1744749567,NZ +1744749568,1744749823,CN +1744749824,1744750591,AU +1744750592,1744752639,IN +1744752640,1744753663,HK +1744753664,1744754687,SG +1744754688,1744755711,VN +1744755712,1744756735,CN +1744756736,1744757759,PF +1744757760,1744758271,NZ +1744758272,1744758527,IN +1744758528,1744758783,NZ +1744758784,1744759807,PF +1744759808,1744762879,IN +1744762880,1744763903,PH +1744763904,1744764927,HK +1744764928,1744765951,JP +1744765952,1744766975,PK +1744766976,1744767999,IN +1744768000,1744768255,ID +1744768256,1744768511,TH +1744768512,1744769023,ID +1744769024,1744770047,AU +1744770048,1744771071,JP +1744771072,1744772095,NZ +1744772096,1744772351,IN +1744772352,1744772607,ID +1744772608,1744772863,BD +1744772864,1744773119,AU +1744773120,1744774143,SG +1744774144,1744776191,IN +1744776192,1744777215,HK +1744777216,1744778239,AU +1744778240,1744778751,ID +1744778752,1744779263,AU +1744779264,1744781311,HK +1744781312,1744782335,JP +1744782336,1744783359,CN +1744783360,1744786431,IN +1744786432,1744787455,VN +1744787456,1744789503,CN +1744789504,1744792575,IN +1744792576,1744793599,PK +1744793600,1744794623,IN +1744794624,1744795647,KH +1744795648,1744797183,ID +1744797184,1744797439,NP +1744797440,1744797695,HK +1744797696,1744798719,PK +1744798720,1744799743,HK +1744799744,1744801791,CN +1744801792,1744802815,IN +1744802816,1744803839,PK +1744803840,1744804863,PH +1744804864,1744805375,ID +1744805376,1744808447,IN +1744808448,1744808959,MY +1744808960,1744809983,MM +1744809984,1744811007,HK +1744811008,1744812031,IN +1744812032,1744813055,CN +1744813056,1744816127,IN +1744816128,1744817151,CN +1744817152,1744818175,IN +1744818176,1744820223,CN +1744820224,1744823295,IN +1744823296,1744824319,CN +1744824320,1744825343,IN +1744825344,1744826367,VN +1744826368,1744827391,ID +1744827392,1744828415,JP +1744828416,1744828927,AU +1744828928,1744829183,SG +1744829184,1744829439,AU +1744829440,1744830463,HK +1744830464,1745879039,US +1764753408,1765801983,KE +1765801984,1766850559,MA +1766850560,1767899135,EG +1767899136,1768947711,DZ 1768947712,1769996287,NG 1769996288,1772093439,MA 1772093440,1772617727,KE 1772617728,1773142015,AO 1773142016,1773273087,ZA 1773404160,1773666303,EG -1774190592,1774452735,EG -1774452736,1774714879,NG -1774714880,1775239167,EG +1773666304,1773928447,ZA +1774190592,1775239167,EG 1775239168,1776680959,ZA 1776680960,1776812031,KE 1776812032,1776877567,NA @@ -30841,15 +31258,13 @@ 1784676352,1785200639,KR 1785200640,1785462783,TW 1785462784,1786773503,CN -1786773504,1790596607,JP -1790596608,1790597119,US -1790597120,1790672387,JP -1790672388,1790672388,AP -1790672389,1790967807,JP +1786773504,1790967807,JP 1790967808,1793064959,IN 1793064960,1794113535,CN 1794113536,1795162111,KR -1795162112,1795555839,US +1795162112,1795387903,US +1795387904,1795388415,CA +1795388416,1795555839,US 1795555840,1795555855,CA 1795555856,1795556351,US 1795556352,1795556607,CA @@ -30865,18 +31280,39 @@ 1795565824,1795566079,CA 1795566080,1795583999,US 1795584000,1795588095,SG -1795588096,1796231935,US -1796231936,1796232191,CA -1796232192,1796253695,US -1796253696,1796253951,CA -1796253952,1796257919,US -1796257920,1796258047,PR -1796258048,1796262911,US -1796262912,1796263167,PR -1796263168,1796325375,US -1796325376,1796325631,PR -1796325632,1803550719,US -1807745024,1815822335,US +1795588096,1795591167,US +1795591168,1795592191,NL +1795592192,1795593727,US +1795593728,1795595775,NL +1795595776,1795596287,US +1795596288,1795603455,NL +1795603456,1805049855,US +1805049856,1805058047,CA +1805058048,1805144063,US +1805144064,1805148159,CA +1805148160,1805171231,US +1805171232,1805171239,CA +1805171240,1805171607,US +1805171608,1805171615,CA +1805171616,1805582335,US +1805582336,1805647871,CA +1805647872,1805713407,US +1805713408,1805717503,CA +1805717504,1805721599,US +1805721600,1805725695,CA +1805725696,1805729791,US +1805729792,1805733887,CA +1805733888,1805737983,US +1805737984,1805742079,CA +1805742080,1806163967,US +1806172160,1806401535,US +1806401536,1806434303,CA +1806434304,1806843903,US +1806893056,1806925823,US +1806925824,1806958591,CA +1807745024,1807917823,US +1807917824,1807918079,VI +1807918080,1815822335,US 1815822336,1815826431,CA 1815826432,1815871487,US 1815871488,1815879679,CA @@ -30908,8 +31344,10 @@ 1822553856,1822554111,HK 1822554112,1822572543,US 1822572544,1822605311,CA -1822605312,1822620159,US -1822620160,1822620415,AU +1822605312,1822609407,US +1822609408,1822609663,SG +1822609664,1822619903,US +1822619904,1822620415,AU 1822620416,1822654463,US 1822654464,1822662143,CA 1822662144,1822662399,US @@ -30940,46 +31378,42 @@ 1823421464,1823428607,US 1823428608,1823432703,CA 1823432704,1823440895,US -1823440896,1823441407,CA -1823441408,1823441663,US -1823441664,1823444991,CA +1823440896,1823444991,CA 1823444992,1823465471,US 1823465472,1823469567,CA 1823469568,1823735807,US 1823735808,1823866879,CA 1823866880,1828716543,US -1828716544,1830813695,FR +1828716544,1830797007,FR +1830797008,1830797008,MQ +1830797009,1830813695,FR 1830813696,1831337983,NL 1831337984,1831862271,DE 1831862272,1832124415,PT 1832124416,1832386559,IT 1832386560,1832517631,DK 1832517632,1832583167,SE -1832583168,1832587519,DK -1832587520,1832587775,SE -1832587776,1832648703,DK +1832583168,1832648703,DK 1832648704,1832681471,HR 1832681472,1832714239,RU 1832714240,1832747007,HU 1832747008,1832779775,RU -1832779776,1832780031,MQ -1832780032,1832780543,FR -1832780544,1832780799,MQ -1832780800,1832781567,FR -1832781568,1832781823,MQ +1832779776,1832780287,MQ +1832780288,1832781311,FR +1832781312,1832781823,MQ 1832781824,1832782335,FR 1832782336,1832783615,MQ -1832783616,1832784895,FR +1832783616,1832783871,FR +1832783872,1832784127,GP +1832784128,1832784895,FR 1832784896,1832785407,GP -1832785408,1832785919,FR -1832785920,1832786175,GP +1832785408,1832785663,FR +1832785664,1832786175,GP 1832786176,1832787199,FR 1832787200,1832787455,GF 1832787456,1832789503,FR 1832789504,1832789759,RE -1832789760,1832791551,FR -1832791552,1832791807,YT -1832791808,1832792319,FR +1832789760,1832792319,FR 1832792320,1832792575,RE 1832792576,1832793343,FR 1832793344,1832793599,YT @@ -30995,11 +31429,11 @@ 1832798976,1832799231,GP 1832799232,1832799487,FR 1832799488,1832799743,GP -1832799744,1832801279,FR -1832801280,1832802047,MQ +1832799744,1832801535,FR +1832801536,1832802047,MQ 1832802048,1832802815,FR -1832802816,1832803071,MQ -1832803072,1832803839,FR +1832802816,1832803327,MQ +1832803328,1832803839,FR 1832803840,1832804095,MQ 1832804096,1832812543,FR 1832812544,1832845311,RU @@ -31052,7 +31486,6 @@ 1833267200,1833269247,HU 1833269248,1833271295,FI 1833271296,1833273343,IT -1833273344,1833275391,EU 1833275392,1833277439,IT 1833277440,1833279487,CH 1833279488,1833281535,AL @@ -31075,10 +31508,7 @@ 1833318400,1833320447,GB 1833320448,1833320959,AE 1833320960,1833321215,IQ -1833321216,1833321282,US -1833321283,1833321283,AE -1833321284,1833321471,US -1833321472,1833322495,AE +1833321216,1833322495,AE 1833322496,1833324543,IT 1833324544,1833326591,NO 1833326592,1833328639,US @@ -31098,8 +31528,8 @@ 1833357312,1833357587,GB 1833357588,1833357631,IE 1833357632,1833357823,GB -1833357824,1833357903,IE -1833357904,1833359359,GB +1833357824,1833358079,IE +1833358080,1833359359,GB 1833359360,1833361407,DE 1833361408,1833363455,GB 1833363456,1833365503,RU @@ -31120,7 +31550,9 @@ 1833398272,1833400319,DE 1833400320,1833402367,GB 1833402368,1833406463,FR -1833406464,1833408511,GB +1833406464,1833406719,GB +1833406720,1833406975,LV +1833406976,1833408511,GB 1833410560,1833412607,LU 1833412608,1833414655,GB 1833414656,1833416703,RU @@ -31138,13 +31570,12 @@ 1833447424,1833451519,RS 1833451520,1833455615,RU 1833455616,1833459711,NL -1833459712,1833459967,ME -1833459968,1833460223,RU -1833460224,1833463807,ME +1833459712,1833463807,ME 1833463808,1833467903,UA 1833467904,1833471999,CH -1833472000,1833473023,UA -1833473024,1833474047,NL +1833472000,1833473247,NL +1833473280,1833473311,NL +1833473344,1833474047,NL 1833474048,1833475071,UA 1833475072,1833476095,DE 1833476096,1833484287,NL @@ -31158,7 +31589,7 @@ 1833521152,1833525247,IT 1833525248,1833529343,LV 1833529344,1833533439,GB -1833533440,1833537535,RU +1833535488,1833537535,RU 1833537536,1833541631,AT 1833541632,1833541887,GB 1833541888,1833542143,IN @@ -31270,7 +31701,6 @@ 1835687936,1835696127,IE 1835696128,1835704319,RU 1835704320,1835709439,NL -1835709440,1835712511,EU 1835712512,1835720703,RU 1835720704,1835728895,RS 1835728896,1835737087,PL @@ -31297,21 +31727,23 @@ 1835909120,1835911167,RS 1835911168,1835913215,DE 1835913216,1835917311,RU -1835917312,1835917919,GB +1835917312,1835917855,GB +1835917856,1835917863,IT +1835917864,1835917919,GB 1835917920,1835917935,IT -1835917936,1835918351,GB -1835918352,1835918359,IT -1835918360,1835918439,GB +1835917936,1835918439,GB 1835918440,1835918447,IT 1835918448,1835918519,GB 1835918520,1835918527,IT -1835918528,1835918567,GB -1835918568,1835918575,IT -1835918576,1835918711,GB +1835918528,1835918695,GB +1835918696,1835918703,IT +1835918704,1835918711,GB 1835918712,1835918719,IT 1835918720,1835918735,GB 1835918736,1835918743,IT -1835918744,1835918847,GB +1835918744,1835918823,GB +1835918824,1835918831,IT +1835918832,1835918847,GB 1835918848,1835918855,IT 1835918856,1835919095,GB 1835919096,1835919103,IT @@ -31321,9 +31753,7 @@ 1835919752,1835919759,IT 1835919760,1835920479,GB 1835920480,1835920487,IT -1835920488,1835920631,GB -1835920632,1835920639,IT -1835920640,1835920727,GB +1835920488,1835920727,GB 1835920728,1835920735,IT 1835920736,1835920863,GB 1835920864,1835920871,IT @@ -31333,17 +31763,15 @@ 1835921120,1835921127,IT 1835921128,1835921343,GB 1835921344,1835921351,IT -1835921352,1835921439,GB -1835921440,1835921447,IT -1835921448,1835921463,GB +1835921352,1835921463,GB 1835921464,1835921471,IT 1835921472,1835922415,GB 1835922416,1835922423,IT -1835922424,1835922559,GB +1835922424,1835922455,GB +1835922456,1835922463,IT +1835922464,1835922559,GB 1835922560,1835922567,IT -1835922568,1835922583,GB -1835922584,1835922591,IT -1835922592,1835922815,GB +1835922568,1835922815,GB 1835922816,1835922831,IT 1835922832,1835923351,GB 1835923352,1835923359,IT @@ -31351,17 +31779,11 @@ 1835923520,1835923527,IT 1835923528,1835923863,GB 1835923864,1835923871,IT -1835923872,1835924007,GB -1835924008,1835924015,IT -1835924016,1835924103,GB -1835924104,1835924111,IT -1835924112,1835924151,GB +1835923872,1835924151,GB 1835924152,1835924159,IT 1835924160,1835924375,GB 1835924376,1835924383,IT -1835924384,1835925223,GB -1835925224,1835925231,IT -1835925232,1835925503,GB +1835924384,1835925503,GB 1835925504,1835933695,LV 1835933696,1835941887,RU 1835941888,1835950079,UA @@ -31379,10 +31801,8 @@ 1836048384,1836056575,RS 1836056576,1836580863,IT 1836580864,1836597247,RU -1836597248,1836597759,LU -1836597760,1836601599,DE -1836601600,1836603391,LU -1836603392,1836605439,FR +1836597248,1836598271,LU +1836598272,1836605439,FR 1836605440,1836612607,LU 1836612608,1836613631,DE 1836613632,1836630015,RU @@ -31397,32 +31817,30 @@ 1836728320,1836744703,RS 1836744704,1836745983,FR 1836745984,1836746239,RE -1836746240,1836746495,FR -1836746496,1836746751,RE -1836746752,1836747263,FR -1836747264,1836748287,RE -1836748288,1836748543,FR +1836746240,1836747775,FR +1836747776,1836748031,RE +1836748032,1836748543,FR 1836748544,1836748799,RE -1836748800,1836749823,FR -1836749824,1836750079,RE -1836750080,1836750335,FR -1836750336,1836750591,RE +1836748800,1836749055,FR +1836749056,1836749567,RE +1836749568,1836749823,FR +1836749824,1836750591,RE 1836750592,1836750847,FR -1836750848,1836751103,RE -1836751104,1836751359,FR -1836751360,1836752383,RE +1836750848,1836752383,RE 1836752384,1836753151,FR -1836753152,1836754175,RE -1836754176,1836754687,FR -1836754688,1836754943,RE +1836753152,1836753407,RE +1836753408,1836753919,FR +1836753920,1836754943,RE 1836754944,1836755455,FR -1836755456,1836755967,RE -1836755968,1836756223,FR +1836755456,1836755711,RE +1836755712,1836756223,FR 1836756224,1836756735,RE 1836756736,1836758271,FR 1836758272,1836759295,RE -1836759296,1836760575,FR -1836760576,1836761087,RE +1836759296,1836759807,FR +1836759808,1836760575,RE +1836760576,1836760831,FR +1836760832,1836761087,RE 1836761088,1836777471,IR 1836777472,1836793855,SI 1836793856,1836810239,GB @@ -31555,8 +31973,8 @@ 1841831936,1841840127,MT 1841840128,1841848319,PL 1841848320,1841856511,RU -1841856512,1841864769,UA -1841864770,1841872895,YE +1841856512,1841864703,UA +1841864704,1841872895,YE 1841872896,1841876991,NL 1841876992,1841878015,JP 1841878016,1841879039,AU @@ -31567,15 +31985,13 @@ 1841889280,1841897471,IR 1841897472,1841905663,RO 1841905664,1841922047,RU -1841922048,1841925887,NL -1841925888,1841926015,DE -1841926016,1841926079,NL -1841926080,1841926111,DE -1841926112,1841927167,NL +1841922048,1841924351,NL +1841924352,1841924607,DE +1841924608,1841925887,NL +1841925888,1841926143,DE +1841926144,1841927167,NL 1841927168,1841927423,DE -1841927424,1841928703,NL -1841928704,1841928959,NO -1841928960,1841930239,NL +1841927424,1841930239,NL 1841930240,1841938431,KG 1841938432,1841946623,RU 1841946624,1841954815,UA @@ -31596,23 +32012,26 @@ 1842053120,1842061311,ES 1842061312,1842069503,IR 1842069504,1842077695,RU -1842077696,1842078463,MQ +1842077696,1842077951,FR +1842077952,1842078463,MQ 1842078464,1842078719,FR 1842078720,1842078975,MQ -1842078976,1842079487,FR -1842079488,1842079743,MQ +1842078976,1842079231,FR +1842079232,1842079743,MQ 1842079744,1842080255,GP 1842080256,1842080767,MQ -1842080768,1842081023,GP -1842081024,1842081279,MQ -1842081280,1842081535,GP -1842081536,1842084351,MQ -1842084352,1842084863,GP +1842080768,1842081535,GP +1842081536,1842083327,MQ +1842083328,1842083839,GP +1842083840,1842084607,MQ +1842084608,1842084863,GP 1842084864,1842085887,MQ 1842085888,1842118655,GB 1842118656,1842151423,FI 1842151424,1842153471,FR -1842153472,1842155519,NO +1842153472,1842154271,NO +1842154272,1842154303,HK +1842154304,1842155519,NO 1842155520,1842157567,IT 1842157568,1842159615,AE 1842159616,1842161663,BA @@ -31647,15 +32066,13 @@ 1842225152,1842233343,UA 1842233344,1842241535,RO 1842241536,1842249727,RS -1842249728,1842258162,RU -1842258163,1842266111,EU +1842249728,1842257919,RU 1842266112,1842274303,PL 1842274304,1842282495,RO 1842282496,1842286591,RU 1842286592,1842290687,GB 1842290688,1842294783,RS 1842294784,1842298879,PL -1842298880,1842302975,UA 1842302976,1842307071,RU 1842307072,1842311167,PL 1842311168,1842315263,UA @@ -31696,9 +32113,7 @@ 1843789824,1843806207,SK 1843806208,1843822591,IR 1843822592,1843838975,RU -1843838976,1843849215,DE -1843849216,1843850239,GB -1843850240,1843855359,DE +1843838976,1843855359,DE 1843855360,1843871743,PL 1843871744,1843888127,GB 1843888128,1843904511,CZ @@ -31734,9 +32149,7 @@ 1843982336,1843984383,PL 1843984384,1843986431,RU 1843986432,1843988479,NO -1843988480,1843988527,GB -1843988528,1843988528,EU -1843988529,1843990527,GB +1843988480,1843990527,GB 1843990528,1843992575,LB 1843992576,1843994623,AT 1843994624,1844000767,GB @@ -31751,10 +32164,8 @@ 1844021248,1844027391,DE 1844027392,1844029439,CZ 1844029440,1844031487,RU -1844031488,1844031743,EU 1844031744,1844031999,AT 1844032000,1844032255,GB -1844032256,1844033535,EU 1844033536,1844035583,RS 1844035584,1844037631,MD 1844037632,1844041727,RU @@ -31770,8 +32181,8 @@ 1844068352,1844070399,ES 1844070400,1844072447,LU 1844072448,1844076543,ES -1844076544,1844077311,GB -1844077312,1844077567,IE +1844076544,1844077055,GB +1844077056,1844077567,IE 1844077568,1844078591,GB 1844078592,1844080639,DE 1844080640,1844082687,GE @@ -31786,7 +32197,8 @@ 1844101120,1844105215,GB 1844105216,1844107263,ES 1844107264,1844109311,DE -1844109312,1844111359,GB +1844109312,1844109567,US +1844109568,1844111359,GB 1844111360,1844113407,AL 1844113408,1844115455,FI 1844115456,1844117503,DE @@ -31834,10 +32246,7 @@ 1844207616,1844211711,RU 1844211712,1844215807,SK 1844215808,1844219903,BE -1844219904,1844220159,US -1844220160,1844220927,DE -1844220928,1844222975,A2 -1844222976,1844223999,DE +1844219904,1844223999,DE 1844224000,1844228095,GB 1844228096,1844232191,DK 1844232192,1844236287,ES @@ -32061,7 +32470,11 @@ 1860736000,1860737023,AU 1860737024,1860739071,JP 1860739072,1860743167,PH -1860743168,1860744191,AU +1860743168,1860743333,AU +1860743334,1860743334,HK +1860743335,1860743462,AU +1860743463,1860743464,JP +1860743465,1860744191,AU 1860744192,1860745215,IN 1860745216,1860746239,AU 1860746240,1860747263,PK @@ -32105,9 +32518,7 @@ 1867907072,1868038143,JP 1868038144,1868103679,PK 1868103680,1868201983,JP -1868201984,1868207615,MY -1868207616,1868207871,A2 -1868207872,1868210175,MY +1868201984,1868210175,MY 1868210176,1868212223,JP 1868212224,1868214271,IN 1868214272,1868218367,KH @@ -32151,9 +32562,7 @@ 1870118912,1870135295,IN 1870135296,1870462975,CN 1870462976,1870479359,JP -1870479360,1870480895,PH -1870480896,1870481151,US -1870481152,1870495743,PH +1870479360,1870495743,PH 1870495744,1870497791,TW 1870497792,1870499839,IN 1870499840,1870501887,JP @@ -32262,7 +32671,9 @@ 1888030720,1888034815,HK 1888034816,1888038911,JP 1888038912,1888040959,CN -1888040960,1888059391,JP +1888040960,1888041471,JP +1888041472,1888041727,NZ +1888041728,1888059391,JP 1888059392,1888063487,VN 1888063488,1888067583,JP 1888067584,1888071679,MY @@ -32399,7 +32810,9 @@ 1899850752,1899851775,VN 1899851776,1899855871,JP 1899855872,1899888639,TW -1899888640,1904345087,CN +1899888640,1902210559,CN +1902210560,1902210815,MO +1902210816,1904345087,CN 1904345088,1904361471,JP 1904361472,1904369663,KR 1904369664,1904375807,CN @@ -32407,9 +32820,7 @@ 1904376832,1904377855,KH 1904377856,1904476159,KR 1904476160,1905262591,CN -1905262592,1905429765,JP -1905429766,1905429766,AP -1905429767,1906311167,JP +1905262592,1906311167,JP 1906311168,1908408319,VN 1908408320,1908424703,AU 1908424704,1908441087,KR @@ -32440,14 +32851,12 @@ 1909161984,1909194751,PK 1909194752,1909456895,CN 1909456896,1909473279,JP -1909473280,1909479939,HK -1909479940,1909479940,US -1909479941,1909481471,HK +1909473280,1909481471,HK 1909481472,1909587967,CN 1909587968,1909719039,MY 1909719040,1909735423,CN 1909735424,1909736713,US -1909736714,1909736714,AP +1909736714,1909736714,IN 1909736715,1909743615,US 1909743616,1909744639,AU 1909744640,1909745663,CN @@ -32583,9 +32992,7 @@ 1921945600,1921949695,HK 1921949696,1921953791,AU 1921953792,1921957887,JP -1921957888,1921965055,GU -1921965056,1921965567,US -1921965568,1921974271,GU +1921957888,1921974271,GU 1921974272,1922039807,IN 1922039808,1925447679,JP 1925447680,1925578751,CN @@ -32623,9 +33030,7 @@ 1932156928,1932161023,JP 1932161024,1932163071,TW 1932163072,1932165119,PH -1932165120,1932182523,SG -1932182524,1932182524,AP -1932182525,1932197887,SG +1932165120,1932197887,SG 1932197888,1932263423,TW 1932263424,1933574143,CN 1933574144,1933639679,AU @@ -32915,7 +33320,8 @@ 1959260160,1959264255,JP 1959264256,1959395327,KR 1959395328,1959526399,IN -1959526400,1960050687,CN +1959526400,1959657471,CN +1959723008,1960050687,CN 1960050688,1960058879,KR 1960058880,1960067071,VN 1960067072,1960069119,AU @@ -32938,9 +33344,7 @@ 1960187904,1960189951,IN 1960189952,1960202239,CN 1960202240,1960206335,JP -1960206336,1960212582,SG -1960212583,1960212583,AP -1960212584,1960214527,SG +1960206336,1960214527,SG 1960214528,1960574975,CN 1960574976,1960837119,JP 1960837120,1961885695,CN @@ -32975,17 +33379,17 @@ 1964138496,1964146687,HK 1964146688,1964171263,JP 1964171264,1964173311,BD -1964173312,1964173727,AP +1964173312,1964173727,AU 1964173728,1964173743,JP -1964173744,1964173776,AP +1964173744,1964173776,AU 1964173777,1964173777,JP -1964173778,1964173823,AP +1964173778,1964173823,AU 1964173824,1964174079,HK 1964174080,1964174335,AU 1964174336,1964174495,SG 1964174496,1964174511,SN 1964174512,1964174591,SG -1964174592,1964175359,AP +1964174592,1964175359,AU 1964175360,1964179455,GB 1964179456,1964244991,TW 1964244992,1964249087,AU @@ -33018,11 +33422,7 @@ 1966473216,1966538751,ID 1966538752,1966571519,JP 1966571520,1966587903,KR -1966587904,1966588415,AF -1966588416,1966588671,US -1966588672,1966590975,AF -1966590976,1966591231,US -1966591232,1966591999,AF +1966587904,1966591999,AF 1966592000,1966596095,JP 1966596096,1966600191,AU 1966600192,1966602239,IN @@ -33109,7 +33509,7 @@ 1975517184,1979711487,IN 1979711488,1981284351,JP 1981284352,1981546494,CN -1981546495,1981546495,SG +1981546495,1981546495,JP 1981546496,1981808639,CN 1981808640,1983905791,KR 1983905792,1984102399,CN @@ -33178,9 +33578,7 @@ 1988034560,1988067327,AU 1988067328,1988075519,CN 1988075520,1988083711,AU -1988083712,1988158975,KR -1988158976,1988159231,US -1988159232,1988362239,KR +1988083712,1988362239,KR 1988362240,1988624383,CN 1988624384,1988755455,ID 1988755456,1988861951,AU @@ -33203,11 +33601,7 @@ 1991376896,1991442431,CN 1991442432,1991499775,BD 1991499776,1991507967,NC -1991507968,1991835647,CN -1991835648,1991852031,SG -1991852032,1991868415,CN -1991868416,1991901183,SG -1991901184,1992097791,CN +1991507968,1992097791,CN 1992097792,1992163327,SG 1992163328,1992818687,CN 1992818688,1992949759,SG @@ -33231,7 +33625,8 @@ 1996636160,1996644351,ID 1996644352,1996652543,BT 1996652544,1997078527,CN -1997078528,1997144063,HK +1997078528,1997094911,AU +1997094912,1997144063,HK 1997144064,1997176831,CN 1997176832,1997180927,AU 1997180928,1997185023,HK @@ -33287,23 +33682,16 @@ 1998553088,1998561279,JP 1998561280,1998562047,IN 1998562048,1998562303,TH -1998562304,1998562559,IN -1998562560,1998562815,AP -1998562816,1998562863,IN +1998562304,1998562863,IN 1998562864,1998562864,HK 1998562865,1998565375,IN 1998565376,1998569471,TW 1998569472,1998577663,CN 1998577664,1998579711,AU 1998579712,1998581759,SG -1998581760,1998583807,KR -1998583808,1998584063,AU -1998584064,1998584319,KR +1998581760,1998584319,KR 1998584320,1998584575,OM -1998584576,1998585087,KR -1998585088,1998585343,SG -1998585344,1998585599,JP -1998585600,1998585855,IN +1998584576,1998585855,KR 1998585856,1999130623,CN 1999130624,1999134719,BD 1999134720,1999136767,MN @@ -33334,9 +33722,7 @@ 2000355328,2000371711,KR 2000371712,2000373759,JP 2000373760,2000375807,HK -2000375808,2000376319,AF -2000376320,2000376575,US -2000376576,2000377855,AF +2000375808,2000377855,AF 2000377856,2000379903,JP 2000379904,2000388095,TH 2000388096,2000617471,CN @@ -33390,7 +33776,9 @@ 2003828736,2006188031,CN 2006188032,2006204415,BD 2006204416,2006212607,AU -2006212608,2006214655,TH +2006212608,2006213119,TH +2006213120,2006213375,JP +2006213376,2006214655,TH 2006214656,2006216703,JP 2006216704,2006228991,KR 2006228992,2006237183,CN @@ -33408,7 +33796,7 @@ 2007035904,2007039999,TW 2007040000,2007048191,KR 2007048192,2007064575,AU -2007064576,2007072767,JP +2007066624,2007070719,JP 2007072768,2007498751,CN 2007498752,2008023039,JP 2008023040,2009071615,CN @@ -33458,13 +33846,14 @@ 2015166464,2015182847,AU 2015182848,2015199231,PH 2015199232,2015203327,KR -2015203328,2015204095,JP -2015204096,2015205375,US +2015203328,2015205375,JP 2015205376,2015207423,ID 2015207424,2015215615,JP -2015215616,2015219711,IN +2015215616,2015216383,IN +2015216384,2015216639,AU +2015216640,2015219711,IN 2015219712,2015219967,US -2015219968,2015220223,PH +2015219968,2015220223,HK 2015220224,2015220479,IN 2015220480,2015220735,HK 2015220736,2015223807,IN @@ -33499,9 +33888,7 @@ 2019037184,2019041279,JP 2019041280,2019045375,IN 2019045376,2019045631,US -2019045632,2019046399,JP -2019046400,2019046655,US -2019046656,2019049471,JP +2019045632,2019049471,JP 2019049472,2019078143,AU 2019078144,2019082239,IN 2019082240,2019098623,HK @@ -33599,7 +33986,9 @@ 2033713152,2033876991,CN 2033876992,2033879039,JP 2033879040,2033887231,CN -2033887232,2033889279,IN +2033887232,2033887743,IN +2033887744,2033887999,PH +2033888000,2033889279,IN 2033889280,2033891327,JP 2033891328,2033893375,ID 2033893376,2033909759,PH @@ -33786,13 +34175,13 @@ 2056816864,2056816895,MY 2056816896,2056817663,JP 2056817664,2056817919,AU -2056817920,2056818943,JP +2056817920,2056818175,JP +2056818176,2056818431,SG +2056818432,2056818943,JP 2056818944,2056818993,MY -2056818994,2056818994,AP +2056818994,2056818994,JP 2056818995,2056819199,MY -2056819200,2056819711,JP -2056819712,2056819967,AU -2056819968,2056830975,JP +2056819200,2056830975,JP 2056830976,2056847359,CN 2056847360,2056912895,KR 2056912896,2057043967,TH @@ -33821,9 +34210,7 @@ 2059997184,2060001279,MN 2060001280,2060002559,HK 2060002560,2060002815,ID -2060002816,2060004351,HK -2060004352,2060004607,US -2060004608,2060005375,HK +2060002816,2060005375,HK 2060005376,2060009471,CN 2060009472,2060025855,AU 2060025856,2060058623,TW @@ -33838,25 +34225,23 @@ 2061500416,2063073279,CN 2063073280,2063077375,BD 2063077376,2063077377,PH -2063077378,2063077378,AP +2063077378,2063077378,HK 2063077379,2063077631,PH -2063077632,2063079423,HK +2063077632,2063077887,HK +2063077888,2063078143,SG +2063078144,2063079423,HK 2063079424,2063081471,CN 2063081472,2063085567,ID 2063085568,2063089663,CN 2063089664,2063097855,JP 2063097856,2063106047,MM -2063106048,2063106559,JP -2063106560,2063106815,AU -2063106816,2063107071,JP -2063107072,2063107327,AP -2063107328,2063107623,JP +2063106048,2063107623,JP 2063107624,2063107631,AU 2063107632,2063111167,JP -2063111168,2063111423,AU -2063111424,2063111679,JP -2063111680,2063112191,AU -2063112192,2063114495,JP +2063111168,2063112191,AU +2063112192,2063113727,JP +2063113728,2063113983,AU +2063113984,2063114495,JP 2063114496,2063114751,IN 2063114752,2063115007,JP 2063115008,2063115263,IN @@ -33873,10 +34258,10 @@ 2063138816,2063335423,JP 2063335424,2063341567,AU 2063341568,2063343615,SG -2063343616,2063351807,AP +2063343616,2063351807,JP 2063351808,2063368191,KR 2063368192,2063372287,JP -2063372288,2063374335,AP +2063372288,2063374335,AU 2063374336,2063376383,NZ 2063376384,2063380479,TW 2063380480,2063382527,KH @@ -34048,7 +34433,8 @@ 2080636928,2080702463,IN 2080702464,2080767999,KR 2080768000,2080776191,TW -2080776192,2080784383,ID +2080776192,2080782335,ID +2080782336,2080784383,SG 2080784384,2080800767,CN 2080800768,2080817151,PH 2080817152,2080825343,NZ @@ -34276,7 +34662,9 @@ 2108358656,2108424191,CN 2108424192,2108686335,JP 2108686336,2109734911,KR -2109734912,2110783487,JP +2109734912,2110714623,JP +2110714624,2110714879,NC +2110714880,2110783487,JP 2110783488,2110799871,CN 2110799872,2110816255,KR 2110816256,2110832639,ID @@ -34306,7 +34694,11 @@ 2112487424,2112618495,VN 2112618496,2112880639,NZ 2112880640,2113683455,KR -2113683456,2113688319,JP +2113683456,2113685759,JP +2113685760,2113686015,MY +2113686016,2113687807,JP +2113687808,2113688063,AU +2113688064,2113688319,JP 2113688320,2113688575,SG 2113688576,2113716223,JP 2113716224,2113732607,SG @@ -34357,7 +34749,7 @@ 2150432768,2150498303,IT 2150498304,2151743487,US 2151743488,2151759871,BY -2151759872,2151768063,US +2151759872,2151768063,DE 2151768064,2151770111,GB 2151770112,2151772159,BA 2151772160,2151776255,IT @@ -34379,9 +34771,16 @@ 2152726528,2153119743,US 2153119744,2153185279,GB 2153185280,2153250815,SE -2153250816,2153316095,US -2153316096,2153316351,AP -2153316352,2153578495,US +2153250816,2153406463,US +2153406464,2153407487,JP +2153407488,2153407743,HK +2153407744,2153407999,US +2153408000,2153408511,BR +2153408512,2153409791,US +2153409792,2153410047,MX +2153410048,2153411583,US +2153411584,2153411839,MX +2153411840,2153578495,US 2153578496,2153644031,FR 2153644032,2153906175,US 2153906176,2153971711,GB @@ -34440,8 +34839,9 @@ 2159607808,2159869951,US 2159869952,2159935487,CA 2159935488,2160525311,US -2160525312,2160590847,GB -2160590848,2160852991,US +2160525312,2160590847,SG +2160590848,2160656383,US +2160721920,2160852991,US 2160852992,2160885759,RU 2160885760,2160893951,AT 2160893952,2160902143,RU @@ -34460,21 +34860,18 @@ 2162819072,2162884607,RO 2162884608,2163212287,US 2163212288,2163277823,GB -2163277824,2163288063,US -2163288064,2163290111,US -2163290112,2163304447,US -2163304448,2163306495,US -2163306496,2163408895,US +2163277824,2163408895,US 2163408896,2163474431,GB 2163474432,2163605503,US 2163605504,2163623935,DE -2163623936,2163624191,AP +2163623936,2163624191,CH 2163624192,2163638271,DE 2163638272,2163638527,US 2163638528,2163671039,DE 2163671040,2163867647,US 2163867648,2163933183,AU -2163933184,2164981759,US +2163933184,2164260863,US +2164326400,2164981759,US 2164981760,2165112831,GB 2165112832,2165178367,DE 2165178368,2165309439,US @@ -34493,11 +34890,15 @@ 2166571008,2166575103,GB 2166575104,2166575359,US 2166575360,2166575615,GB -2166575616,2166607009,US +2166575616,2166606847,US +2166606848,2166607009,GB 2166607010,2166607010,DE -2166607011,2166613759,US +2166607011,2166607103,GB +2166607104,2166613759,US 2166613760,2166614015,DE -2166614016,2168193023,US +2166614016,2167209983,US +2167275520,2167930879,US +2167996416,2168193023,US 2168193024,2168258559,JP 2168258560,2168651775,US 2168651776,2168717311,GB @@ -34520,7 +34921,8 @@ 2170945536,2171011071,FR 2171011072,2171076607,DE 2171076608,2171142143,FR -2171142144,2172452863,US +2171142144,2172256255,US +2172321792,2172452863,US 2172452864,2172518399,NL 2172518400,2172583935,US 2172583936,2172649471,AU @@ -34550,9 +34952,7 @@ 2176516096,2176581631,DE 2176581632,2176868607,US 2176868608,2176868863,IT -2176868864,2176893951,US -2176893952,2176894207,AP -2176894208,2176897023,US +2176868864,2176897023,US 2176897024,2176897279,AU 2176897280,2176974847,US 2176974848,2177105919,CH @@ -34631,23 +35031,20 @@ 2183266304,2183331839,JP 2183331840,2183416575,US 2183416576,2183416831,GB -2183416832,2183419647,US -2183419648,2183419903,EU -2183419904,2183421695,US -2183421696,2183421951,EU -2183421952,2183437055,US -2183437056,2183437311,AP -2183437312,2183462911,US +2183416832,2183462911,US 2183462912,2183528447,NL 2183528448,2183856127,US 2183856128,2183888895,GR 2183888896,2183905279,GB 2183905280,2183921663,HU -2183921664,2184577023,US +2183921664,2184380415,US +2184445952,2184577023,US 2184577024,2184642559,JP 2184642560,2184708095,US 2184708096,2184773631,AU -2184773632,2184803839,US +2184773632,2184781311,US +2184781312,2184781567,AU +2184781568,2184803839,US 2184803840,2184804351,GB 2184804352,2184904703,US 2184904704,2185035775,CH @@ -34675,27 +35072,7 @@ 2186870784,2186936319,NL 2186936320,2187067391,US 2187067392,2187132927,CH -2187132928,2187221887,US -2187221888,2187222015,US -2187222016,2187225471,US -2187225472,2187225599,US -2187225600,2187225823,US -2187225824,2187225855,US -2187225856,2187225983,US -2187225984,2187226111,US -2187226112,2187229471,US -2187229472,2187229479,US -2187229480,2187229607,US -2187229608,2187229615,US -2187229616,2187229679,US -2187229680,2187229687,US -2187229688,2187230111,US -2187230112,2187230143,US -2187230144,2187232511,US -2187232512,2187232639,US -2187232640,2187232767,US -2187232768,2187233023,US -2187233024,2187263999,US +2187132928,2187263999,US 2187264000,2187329535,AU 2187329536,2187460607,US 2187460608,2187526143,FR @@ -34711,62 +35088,53 @@ 2188509184,2188574719,US 2188574720,2188640255,NL 2188640256,2188705791,AU -2188705792,2188705857,EU +2188705792,2188705857,US 2188705858,2188705858,DE -2188705859,2188705957,EU +2188705859,2188705957,US 2188705958,2188705958,DE -2188705959,2188706101,EU +2188705959,2188706101,US 2188706102,2188706102,DE -2188706103,2188706453,EU +2188706103,2188706453,US 2188706454,2188706454,DK -2188706455,2188708351,EU -2188708352,2188708863,FR -2188708864,2188711800,EU +2188706455,2188708607,US +2188708608,2188708863,FR +2188708864,2188711800,US 2188711801,2188711801,DE -2188711802,2188716031,EU -2188716032,2188716287,FR -2188716288,2188717055,EU -2188717056,2188717311,FR -2188717312,2188717567,EU +2188711802,2188717567,US 2188717568,2188717823,FR -2188717824,2188718581,EU +2188717824,2188718581,US 2188718582,2188718582,DE -2188718583,2188724463,EU +2188718583,2188724463,US 2188724464,2188724464,NL -2188724465,2188724991,EU -2188724992,2188725247,IL -2188725248,2188726783,EU +2188724465,2188724991,US +2188724992,2188725247,RS +2188725248,2188726783,US 2188726784,2188727039,GB -2188727040,2188728319,EU -2188728320,2188728463,GB -2188728464,2188728479,ES -2188728480,2188728575,GB -2188728576,2188734463,EU +2188727040,2188728319,US +2188728320,2188728575,GB +2188728576,2188734463,US 2188734464,2188734719,FR -2188734720,2188750335,EU -2188750336,2188750591,US -2188750592,2188768767,EU +2188734720,2188738306,US +2188738307,2188738307,GB +2188738308,2188749055,US +2188749056,2188749311,SL +2188749312,2188768767,US 2188768768,2188769279,YT -2188769280,2188771327,EU -2188771328,2188900351,US -2188900352,2188900607,EU -2188900608,2188902399,US +2188769280,2188902399,US 2188902400,2188967935,FR 2188967936,2189099007,US 2189099008,2189164543,NZ 2189164544,2189230079,US 2189230080,2189295615,CH 2189295616,2189492223,US -2189492224,2189557759,CA +2189492224,2189557759,CZ 2189557760,2189623295,AU 2189623296,2189754367,US 2189754368,2189819903,DE 2189819904,2189950975,US 2189950976,2190016511,IT 2190016512,2190082047,US -2190082048,2190140159,NL -2190140160,2190140415,EU -2190140416,2190737407,NL +2190082048,2190737407,NL 2190737408,2190802943,GB 2190802944,2190868479,DE 2190868480,2191065087,US @@ -34817,9 +35185,22 @@ 2193686528,2193688575,FR 2193688576,2193692671,CZ 2193692672,2193694719,FR -2193694720,2193704959,RU +2193694720,2193695743,US +2193695744,2193696767,RU +2193696768,2193697791,US +2193697792,2193698815,RU +2193698816,2193701887,US +2193701888,2193704959,RU 2193704960,2193707007,IT -2193707008,2193711103,GB +2193707008,2193707151,GB +2193707152,2193707159,IT +2193707160,2193707303,GB +2193707304,2193707311,IT +2193707312,2193707407,GB +2193707408,2193707415,IT +2193707416,2193707751,GB +2193707752,2193707759,IT +2193707760,2193711103,GB 2193711104,2193713151,DE 2193713152,2193715199,ES 2193715200,2193717247,DE @@ -34829,21 +35210,17 @@ 2193817600,2193883135,NZ 2193883136,2194014207,US 2194014208,2194079743,CH -2194079744,2194210815,US -2194210816,2194276351,GB -2194276352,2194407423,US -2194407424,2194472959,BG +2194079744,2194407423,US +2194407424,2194469631,BG +2194469632,2194469887,ES +2194469888,2194472959,BG 2194472960,2194538495,US 2194538496,2194604031,ES 2194604032,2194669567,US 2194669568,2194735103,IS 2194735104,2194800639,GB 2194800640,2194866175,US -2194931712,2195069436,US -2195069437,2195069437,AP -2195069438,2195073023,US -2195073024,2195073279,EU -2195073280,2195193855,US +2194931712,2195193855,US 2195193856,2195324927,NZ 2195324928,2195455999,US 2195456000,2195521535,AU @@ -34883,7 +35260,8 @@ 2197796864,2197798911,DE 2197798912,2197815295,IR 2197880832,2197946367,IT -2197946368,2204172287,US +2197946368,2202533887,US +2202599424,2204172287,US 2204172288,2204237823,SE 2204237824,2204303359,US 2204303360,2204368895,DE @@ -34964,7 +35342,7 @@ 2210136064,2210201599,DE 2210201600,2210594815,US 2210594816,2210660351,CA -2210660352,2211053567,US +2210725888,2211053567,US 2211053568,2211119103,CA 2211119104,2211184639,NZ 2211184640,2211250175,US @@ -34985,9 +35363,15 @@ 2212691968,2212757503,GB 2212757504,2212761599,FI 2212761600,2212762623,GB -2212762624,2212766719,FI +2212762624,2212764927,FI +2212764928,2212765183,IN +2212765184,2212766719,FI 2212766720,2212767743,GB -2212767744,2212823039,FI +2212767744,2212796415,FI +2212796416,2212797951,NL +2212797952,2212807679,FI +2212807680,2212808703,US +2212808704,2212823039,FI 2212823040,2212954111,US 2212954112,2213019647,GB 2213019648,2213085183,CA @@ -35026,7 +35410,7 @@ 2224750592,2224816127,FI 2224816128,2224881663,CA 2224947200,2225340415,US -2225340416,2225733631,FR +2225405952,2225733631,FR 2225733632,2225799167,US 2225799168,2225864703,FI 2225864704,2226126847,US @@ -35040,13 +35424,9 @@ 2226716672,2226782207,GB 2226782208,2226847743,ZA 2226847744,2226913279,DE -2226913280,2226921471,US -2226921472,2226921727,EU -2226921728,2227052543,US -2227052544,2227052609,EU +2226913280,2227052609,US 2227052610,2227052610,CH -2227052611,2227052799,EU -2227052800,2227109887,US +2227052611,2227109887,US 2227175424,2227372031,US 2227372032,2227437567,DE 2227437568,2227503103,SE @@ -35065,10 +35445,9 @@ 2229796864,2229862399,GB 2229862400,2229927935,US 2229927936,2229993471,AU -2229993472,2230583295,US -2230583296,2230601727,GB -2230601728,2230601983,EU -2230601984,2230603775,GB +2229993472,2230321151,US +2230386688,2230583295,US +2230583296,2230603775,GB 2230603776,2230607871,US 2230607872,2230637567,GB 2230637568,2230638591,SG @@ -35125,14 +35504,16 @@ 2250375168,2250440703,DE 2250440704,2250506239,US 2250506240,2250571775,GB -2250571776,2250637055,FI -2250637056,2250637311,EU -2250637312,2250702847,CH -2250702848,2251227135,US +2250571776,2250637311,FI +2250637312,2250956799,US +2250956800,2250957055,HK +2250957056,2250957311,SG +2250957312,2250957567,AU +2250957568,2250957823,JP +2250957824,2251227135,US 2251227136,2251292671,NO 2251292672,2251685887,US -2251685888,2251686143,EU -2251686144,2251751423,BE +2251685888,2251751423,BE 2251751424,2251948031,US 2251948032,2252013567,BE 2252013568,2252079103,FR @@ -35174,16 +35555,10 @@ 2257453056,2257518591,GB 2257518592,2257584127,NL 2257584128,2257649663,AU -2257649664,2257715199,NL -2257715200,2257715455,EU -2257715456,2257716735,NL -2257716736,2257716991,EU -2257716992,2257717503,NL +2257649664,2257717503,NL 2257717504,2257717759,GB 2257717760,2257718015,FR -2257718016,2257765119,NL -2257765120,2257765375,EU -2257765376,2257771007,NL +2257718016,2257771007,NL 2257771008,2257771263,NO 2257771264,2257776639,NL 2257776640,2257776895,IN @@ -35199,40 +35574,201 @@ 2258305024,2258370559,DE 2258370560,2258436095,US 2258436096,2258567167,FR -2258567168,2258583551,US +2258567168,2258568191,US +2258568192,2258568447,HK +2258568448,2258582783,US +2258582784,2258582791,GB +2258582792,2258583551,US 2258583552,2258591743,GB -2258591744,2258594559,AU -2258594560,2258594613,AP -2258594614,2258594614,HK -2258594615,2258594815,AP -2258594816,2258596351,AU -2258596352,2258596863,AP -2258596864,2258597119,AU -2258597120,2258597375,PG -2258597376,2258600959,AU +2258591744,2258591935,AU +2258591936,2258591967,HK +2258591968,2258592271,AU +2258592272,2258592279,JP +2258592280,2258592287,AU +2258592288,2258592291,JP +2258592292,2258592439,AU +2258592440,2258592447,JP +2258592448,2258592791,AU +2258592792,2258592803,HK +2258592804,2258593279,AU +2258593280,2258593535,HK +2258593536,2258594047,AU +2258594048,2258594111,HK +2258594112,2258594303,AU +2258594304,2258594319,HK +2258594320,2258594559,AU +2258594560,2258594815,HK +2258594816,2258595103,AU +2258595104,2258595167,TW +2258595168,2258595231,AU +2258595232,2258595263,TW +2258595264,2258595295,AU +2258595296,2258595327,TW +2258595328,2258595383,AU +2258595384,2258595391,KR +2258595392,2258595887,AU +2258595888,2258595895,NZ +2258595896,2258595967,AU +2258595968,2258595983,TW +2258595984,2258596095,AU +2258596096,2258596103,HK +2258596104,2258596159,AU +2258596160,2258596255,HK +2258596256,2258596351,AU +2258596352,2258596863,HK +2258596864,2258596887,AU +2258596888,2258596903,HK +2258596904,2258596991,AU +2258596992,2258597023,HK +2258597024,2258597071,AU +2258597072,2258597079,TW +2258597080,2258597115,AU +2258597116,2258597215,HK +2258597216,2258597263,PG +2258597264,2258597293,HK +2258597294,2258597294,PG +2258597295,2258597303,HK +2258597304,2258597311,PG +2258597312,2258597367,HK +2258597368,2258597371,PG +2258597372,2258597535,HK +2258597536,2258597567,AU +2258597568,2258597583,HK +2258597584,2258597599,AU +2258597600,2258597631,HK +2258597632,2258597759,AU +2258597760,2258597887,HK +2258597888,2258597903,AU +2258597904,2258597919,JP +2258597920,2258597927,AU +2258597928,2258597935,JP +2258597936,2258598079,AU +2258598080,2258598087,TW +2258598088,2258598095,AU +2258598096,2258598111,TW +2258598112,2258598143,JP +2258598144,2258598495,AU +2258598496,2258598511,NZ +2258598512,2258598519,AU +2258598520,2258598527,JP +2258598528,2258598623,AU +2258598624,2258598655,TW +2258598656,2258599183,AU +2258599184,2258599187,JP +2258599188,2258599675,AU +2258599676,2258599679,JP +2258599680,2258600263,AU +2258600264,2258600267,HK +2258600268,2258600515,AU +2258600516,2258600519,IN +2258600520,2258600523,AU +2258600524,2258600527,IN +2258600528,2258600959,AU 2258600960,2258601087,SG -2258601088,2258603007,AU +2258601088,2258601167,AU +2258601168,2258601175,NZ +2258601176,2258601215,AU +2258601216,2258601343,TW +2258601344,2258601471,AU +2258601472,2258601983,JP +2258601984,2258602303,AU +2258602304,2258602327,HK +2258602328,2258602335,AU +2258602336,2258602367,HK +2258602368,2258602399,AU +2258602400,2258602447,HK +2258602448,2258602479,AU +2258602480,2258602495,HK +2258602496,2258602815,AU +2258602816,2258602879,HK +2258602880,2258603007,AU 2258603008,2258603071,HK -2258603072,2258603089,AU +2258603072,2258603087,PG +2258603088,2258603089,HK 2258603090,2258603090,PG -2258603091,2258604799,AU -2258604800,2258605055,AP -2258605056,2258608127,AU -2258608128,2258608639,HK -2258608640,2258609151,AU -2258609152,2258609407,HK -2258609408,2258609663,AU -2258609664,2258611455,HK -2258611456,2258611711,AU -2258611712,2258615295,HK -2258615296,2258615551,AU -2258615552,2258632703,HK +2258603091,2258603103,HK +2258603104,2258603135,PG +2258603136,2258603139,HK +2258603140,2258603199,AU +2258603200,2258603207,HK +2258603208,2258603775,AU +2258603776,2258603839,HK +2258603840,2258603903,AU +2258603904,2258603943,HK +2258603944,2258603951,AU +2258603952,2258603967,HK +2258603968,2258604031,AU +2258604032,2258604287,HK +2258604288,2258604671,AU +2258604672,2258604735,SG +2258604736,2258604799,AU +2258604800,2258605055,HK +2258605056,2258605311,AU +2258605312,2258605439,SG +2258605440,2258606143,AU +2258606144,2258606147,HK +2258606148,2258606151,AU +2258606152,2258606191,HK +2258606192,2258606199,AU +2258606200,2258606367,HK +2258606368,2258606415,AU +2258606416,2258606423,HK +2258606424,2258606463,AU +2258606464,2258606471,HK +2258606472,2258606487,AU +2258606488,2258606535,HK +2258606536,2258606963,AU +2258606964,2258606967,NZ +2258606968,2258607091,AU +2258607092,2258607095,NZ +2258607096,2258607351,AU +2258607352,2258607359,NZ +2258607360,2258607819,AU +2258607820,2258607823,HK +2258607824,2258607871,AU +2258607872,2258607879,HK +2258607880,2258607903,AU +2258607904,2258607999,HK +2258608000,2258608063,AU +2258608064,2258608127,HK +2258608128,2258608183,AU +2258608184,2258608187,TW +2258608188,2258608255,AU +2258608256,2258608259,JP +2258608260,2258608279,AU +2258608280,2258608283,JP +2258608284,2258608655,AU +2258608656,2258608663,JP +2258608664,2258608671,AU +2258608672,2258608687,JP +2258608688,2258610175,AU +2258610176,2258610431,IN +2258610432,2258610703,AU +2258610704,2258610719,TW +2258610720,2258610751,AU +2258610752,2258610755,TW +2258610756,2258610759,AU +2258610760,2258610783,TW +2258610784,2258611071,AU +2258611072,2258611103,JP +2258611104,2258611119,AU +2258611120,2258611167,JP +2258611168,2258611215,AU +2258611216,2258611223,NZ +2258611224,2258611711,AU +2258611712,2258611967,NZ +2258611968,2258614783,AU +2258614784,2258614815,IN +2258614816,2258615039,AU +2258615040,2258615055,IN +2258615056,2258616319,AU +2258616320,2258632703,HK 2258632704,2258698239,JP 2258698240,2259222527,US 2259222528,2259288063,DE 2259288064,2259353599,US 2259353600,2259419135,DE -2259419136,2259681279,US +2259419136,2259615743,US 2259681280,2259746815,DE 2259746816,2259812351,US 2259812352,2259877887,AU @@ -35252,14 +35788,18 @@ 2260723968,2260729343,GB 2260729344,2260729599,IL 2260729600,2260729855,GB -2260729856,2260991999,US +2260729856,2260926463,US 2260992000,2261057535,CN 2261057536,2261188607,US 2261188608,2261254143,CA 2261254144,2261385215,US 2261385216,2261450751,PR 2261450752,2261516287,NL -2261516288,2261647359,US +2261516288,2261569535,US +2261569536,2261569791,TH +2261569792,2261573631,US +2261573632,2261573887,GB +2261573888,2261647359,US 2261647360,2261712895,FR 2261712896,2261778431,US 2261778432,2261843967,TW @@ -35293,9 +35833,7 @@ 2264899584,2264905727,IT 2264905728,2264907775,ES 2264907776,2264924159,DE -2264924160,2264971775,CA -2264971776,2264972031,US -2264972032,2264989695,CA +2264924160,2264989695,CA 2264989696,2265605887,US 2265605888,2265606143,GB 2265606144,2265710847,US @@ -35310,29 +35848,21 @@ 2276786176,2276851711,CA 2276851712,2277769215,US 2277769216,2277834751,GB -2277834752,2280998911,US -2280998912,2280999167,EU -2280999168,2281007103,US +2277834752,2281007103,US 2281007104,2281007359,IN 2281007360,2281023487,US 2281023488,2281023743,IN -2281023744,2281705471,US +2281023744,2281037823,US +2281037824,2281038079,FR +2281038080,2281705471,US 2281705472,2281705727,CN -2281705728,2282226019,US -2282226020,2282226020,AP -2282226021,2282226175,US +2281705728,2282226175,US 2282226176,2282226243,AU -2282226244,2282226245,AP +2282226244,2282226245,US 2282226246,2282226431,AU -2282226432,2282226943,US -2282226944,2282227199,AP -2282227200,2282234111,US +2282226432,2282234111,US 2282234112,2282234367,GB -2282234368,2282264063,US -2282264064,2282264319,EU -2282264320,2282264575,US -2282264576,2282264831,EU -2282264832,2291204095,US +2282234368,2291204095,US 2291204096,2291269631,PR 2291269632,2291400703,US 2291400704,2291466239,GB @@ -35352,13 +35882,11 @@ 2292842496,2292908031,GB 2292908032,2292973567,US 2292973568,2293039103,DE -2293039104,2293054975,EU -2293054976,2293055231,LU -2293055232,2293080575,EU +2293039104,2293080575,LU 2293080576,2293080831,BE -2293080832,2293085183,EU +2293080832,2293085183,LU 2293085184,2293085439,BE -2293085440,2293104639,EU +2293085440,2293104639,LU 2293104640,2293825535,US 2293825536,2293891071,IN 2293891072,2293956607,AU @@ -35401,13 +35929,12 @@ 2302279680,2302345215,SE 2302410752,2302541823,SE 2302541824,2302607359,CH -2302672896,2302935039,US +2302607360,2302640127,SC +2302738432,2302935039,US 2302935040,2303000575,KR -2303000576,2303189503,US -2303189504,2303189759,IE -2303189760,2303190527,US -2303190528,2303190783,AP -2303190784,2303262719,US +2303000576,2303189557,US +2303189558,2303189558,IE +2303189559,2303262719,US 2303262720,2303328255,GB 2303328256,2303393791,CA 2303393792,2303459327,US @@ -35429,7 +35956,8 @@ 2305622016,2305687551,AU 2305687552,2305753087,US 2305753088,2305818623,AU -2305818624,2306342911,US +2305818624,2306015231,US +2306080768,2306342911,US 2306342912,2306408447,NL 2306408448,2306473983,FR 2306473984,2306539519,CA @@ -35455,7 +35983,7 @@ 2309160960,2309226495,FI 2309226496,2309357567,US 2309357568,2309423103,AU -2309423104,2309750783,US +2309423104,2309685247,US 2309750784,2309816319,AU 2309816320,2309881855,US 2309881856,2309947391,NL @@ -35471,7 +35999,7 @@ 2311127040,2311192575,DE 2311192576,2311258111,FR 2311258112,2311323647,GB -2311323648,2311847935,US +2311389184,2311847935,US 2311847936,2311913471,IT 2311913472,2311979007,GB 2311979008,2312044543,US @@ -35520,16 +36048,12 @@ 2317395968,2317396223,NO 2317396224,2317398015,US 2317398016,2317398271,GB -2317398272,2317401087,US -2317401088,2317401343,GB -2317401344,2317413119,US +2317398272,2317413119,US 2317413120,2317413375,CA 2317413376,2317413631,ID 2317413632,2317414655,US 2317414656,2317414911,AU -2317414912,2317417983,US -2317417984,2317418239,AP -2317418240,2317484031,US +2317414912,2317484031,US 2317484032,2317487359,CA 2317487360,2317487615,US 2317487616,2317549567,CA @@ -35562,7 +36086,8 @@ 2320433152,2320564223,AU 2320564224,2320629759,CH 2320629760,2320695295,CA -2320695296,2321547263,US +2320695296,2321416191,US +2321481728,2321547263,US 2321547264,2321612799,FR 2321678336,2321743871,US 2321809408,2321874943,ES @@ -35574,10 +36099,12 @@ 2322202624,2322268159,SE 2322268160,2322333695,JP 2322333696,2322923519,US -2323054592,2323185663,CA +2323054592,2323120127,CA 2323316736,2323382271,US 2323382272,2323447807,NO -2323447808,2323775487,US +2323447808,2323644415,US +2323677184,2323677695,US +2323709952,2323775487,US 2323775488,2323841023,AU 2323841024,2323906559,CH 2323906560,2323972095,IT @@ -35590,9 +36117,7 @@ 2328035328,2328100863,FR 2328100864,2328231935,US 2328231936,2328297471,GB -2328297472,2328313855,EU 2328313856,2328317951,NL -2328317952,2328363007,EU 2328363008,2328494079,DE 2328494080,2328559615,US 2328559616,2328625151,BE @@ -35609,7 +36134,7 @@ 2329477120,2329542655,AU 2329542656,2329608191,CA 2329673728,2329739263,US -2329739264,2329804799,CH +2329739264,2329804799,SE 2329804800,2329870335,DE 2329870336,2329935871,CH 2329935872,2330001407,DE @@ -35634,10 +36159,12 @@ 2331836416,2331901951,GB 2331901952,2331967487,US 2332033024,2332098559,ID -2332098560,2332622847,DE +2332098560,2332360703,DE +2332426240,2332622847,DE 2332622848,2332688383,CN 2332688384,2332753919,NL -2332753920,2333868031,DE +2332753920,2333736959,DE +2333802496,2333868031,DE 2333933568,2334064639,DE 2334064640,2334916607,US 2334916608,2334982143,AU @@ -35671,9 +36198,16 @@ 2337865728,2337931263,DE 2337931264,2337996799,BE 2337996800,2338062335,GR -2338062336,2338115071,EU +2338086912,2338087423,DE +2338092288,2338092543,SE +2338113536,2338113791,FR 2338115072,2338115839,IL -2338115840,2338127871,EU +2338120448,2338120703,DE +2338123008,2338123263,AT +2338123520,2338123775,IT +2338124800,2338125055,GB +2338125056,2338125311,FR +2338125312,2338125567,GB 2338127872,2338324479,US 2338324480,2338390015,SE 2338390016,2338455551,FI @@ -35750,9 +36284,7 @@ 2344353792,2344419327,AU 2344419328,2344484863,CN 2344484864,2344550399,PK -2344550400,2344609023,EU 2344609024,2344609279,IT -2344609280,2344615935,EU 2344615936,2344878079,ID 2344878080,2346188799,CN 2346188800,2346450943,AU @@ -35778,17 +36310,14 @@ 2354249728,2354315263,AU 2354315264,2354380799,DE 2354380800,2354446335,NL -2354446336,2354511871,SE -2354511872,2354577407,CA -2354577408,2354839551,US +2354446336,2354511871,FR +2354511872,2354839551,US 2354839552,2354905087,TW 2354905088,2355036159,FR 2355036160,2355101695,US 2355101696,2355167231,TW 2355167232,2355232767,GB -2355232768,2355433471,US -2355433472,2355433727,GB -2355433728,2355691519,US +2355232768,2355691519,US 2355691520,2355757055,IT 2355757056,2355953663,US 2355953664,2357919743,TW @@ -35821,7 +36350,7 @@ 2361917440,2361982975,NZ 2361982976,2362114047,US 2362114048,2362179583,IE -2362179584,2362245119,GB +2362179584,2362245119,US 2362245120,2362441727,CN 2362441728,2362572799,US 2362572800,2362638335,CN @@ -35831,17 +36360,12 @@ 2363490304,2363555839,CN 2363555840,2363883519,US 2363883520,2363949055,CA -2363949056,2364342271,US +2363949056,2364211199,US +2364276736,2364342271,US 2364342272,2364407807,CN 2364407808,2364538879,US 2364538880,2364604415,CN -2364604416,2364676863,US -2364676864,2364676867,EU -2364676868,2364681727,US -2364681728,2364681983,EU -2364681984,2364724735,US -2364724736,2364724991,AP -2364724992,2364735487,US +2364604416,2364735487,US 2364735488,2364801023,CN 2364801024,2364932095,US 2364932096,2364997631,CN @@ -35854,7 +36378,7 @@ 2365587456,2365589503,JO 2365589504,2365590527,US 2365590528,2365591039,NO -2365591040,2365591455,EU +2365591040,2365591455,US 2365591456,2365591551,NO 2365591552,2365593599,DE 2365593600,2365595647,NL @@ -35868,13 +36392,27 @@ 2365638656,2365640703,FR 2365640704,2365644799,GB 2365644800,2365652991,NO -2365652992,2365983487,DE -2365983488,2365983519,EU -2365983520,2366032895,DE +2365652992,2366032895,DE 2366032896,2366033151,GB 2366033152,2366111743,DE 2366111744,2366144511,MT -2366144512,2366162943,RU +2366144512,2366149375,RU +2366149376,2366149407,DE +2366149408,2366149423,PL +2366149424,2366149439,SK +2366149440,2366149455,PT +2366149456,2366149471,ES +2366149472,2366149487,FR +2366149488,2366149495,MD +2366149496,2366149503,LT +2366149504,2366149511,LV +2366149512,2366149519,EE +2366149520,2366149527,BG +2366149528,2366149535,RS +2366149536,2366149543,UA +2366149544,2366149551,BY +2366149552,2366149559,KZ +2366149560,2366162943,RU 2366162944,2366164991,AL 2366164992,2366167039,GE 2366167040,2366169087,GB @@ -35903,12 +36441,11 @@ 2372206592,2372214783,UA 2372214784,2372218879,DE 2372218880,2372222975,FR -2372222976,2372227071,EU -2372227072,2372227327,DK -2372227328,2372231679,EU -2372231680,2372232191,GB -2372232192,2372239359,EU -2372239360,2372264447,RU +2372227072,2372227583,SE +2372231936,2372232191,GB +2372238730,2372238730,US +2372239360,2372241407,NL +2372241408,2372264447,RU 2372264448,2372266495,UA 2372266496,2372272127,RU 2372272128,2372337663,US @@ -35927,7 +36464,9 @@ 2372501504,2372505599,UA 2372505600,2372507647,NL 2372507648,2372509695,IT -2372509696,2372511743,A2 +2372509696,2372510207,AE +2372510208,2372510463,AO +2372510464,2372511743,AE 2372511744,2372513791,SI 2372513792,2372534271,GB 2372534272,2372665343,US @@ -35950,7 +36489,7 @@ 2373627904,2373648383,CH 2373648384,2373910527,US 2373910528,2373911041,FI -2373911042,2373911042,EU +2373911042,2373911042,US 2373911043,2373976063,FI 2373976064,2374107135,US 2374107136,2374172671,DE @@ -35990,11 +36529,12 @@ 2374686720,2374688767,NL 2374688768,2374696959,GB 2374696960,2374959103,US -2374959104,2375024639,SE +2374959104,2375024639,BE 2375024640,2375090175,DK 2375090176,2375155711,NO 2375155712,2375221247,US -2375221248,2375352319,SE +2375221248,2375286783,SE +2375286784,2375352319,CH 2375352320,2376269823,US 2376269824,2376335359,GB 2376335360,2376597503,US @@ -36017,23 +36557,21 @@ 2377449472,2377515007,FR 2377515008,2377842687,US 2377842688,2377908223,GB -2377908224,2378025983,US +2377908224,2378010111,US +2378010112,2378010367,AU +2378010368,2378025983,US 2378025984,2378026239,NL -2378026240,2378026495,EU +2378026240,2378026495,US 2378026496,2378027007,FR 2378027008,2378170367,US 2378170368,2378235903,FI 2378235904,2378301439,US -2378301440,2378303231,FR -2378303232,2378303487,EU -2378303488,2378366975,FR +2378301440,2378366975,FR 2378366976,2378432511,US 2378432512,2378498047,TR 2378498048,2378500607,US 2378500608,2378500863,GB -2378500864,2378501631,US -2378501632,2378501887,EU -2378501888,2378694655,US +2378500864,2378694655,US 2378694656,2378760191,DE 2378760192,2378825727,AT 2378825728,2378891263,US @@ -36048,16 +36586,12 @@ 2380398592,2380464127,IL 2380464128,2380464895,FR 2380464896,2380465151,US -2380465152,2380465407,FR -2380465408,2380465663,AP -2380465664,2380529663,FR +2380465152,2380529663,FR 2380529664,2380558847,GB 2380558848,2380559103,ZA 2380559104,2380579327,GB 2380579328,2380579583,HK -2380579584,2380593663,GB -2380593664,2380593919,AP -2380593920,2380595199,GB +2380579584,2380595199,GB 2380660736,2380726271,US 2380726272,2380791807,GB 2380791808,2381119487,US @@ -36085,7 +36619,9 @@ 2382348288,2382364671,SI 2382364672,2382368767,US 2382368768,2382372863,CA -2382372864,2382401535,US +2382372864,2382383209,US +2382383210,2382383210,AE +2382383211,2382401535,US 2382401536,2382409727,CA 2382409728,2382422015,US 2382422016,2382426111,JM @@ -36097,9 +36633,13 @@ 2382692352,2383085567,CA 2383085568,2383151103,US 2383151104,2385903615,CA -2385903616,2385915903,US +2385903616,2385905663,US +2385907712,2385908223,US +2385911808,2385915903,US 2385915904,2385919999,CA -2385920000,2385969151,US +2385920000,2385952767,US +2385954816,2385955327,US +2385956864,2385969151,US 2385969152,2386067455,CA 2386067456,2386083839,US 2386083840,2386624511,CA @@ -36124,11 +36664,15 @@ 2390995456,2391015423,US 2391015424,2391277567,CA 2391277568,2391343103,US -2391343104,2394947583,CA +2391343104,2393245951,CA +2393245952,2393246079,US +2393246080,2394947583,CA 2394947584,2395013119,US 2395013120,2395209727,CA 2395209728,2395340799,US -2395340800,2395814911,CA +2395340800,2395804159,CA +2395804160,2395804415,GB +2395804416,2395814911,CA 2395814912,2395815167,US 2395815168,2395841279,CA 2395841280,2395841535,GB @@ -36141,9 +36685,7 @@ 2398945280,2399010815,CA 2399010816,2399109119,US 2399109120,2399141887,PR -2399141888,2401036287,US -2401036288,2401036543,EU -2401036544,2401828863,US +2399141888,2401828863,US 2401828864,2401894399,GB 2401894400,2402222079,US 2402222080,2402287615,IE @@ -36205,7 +36747,8 @@ 2411462656,2411593727,AU 2411593728,2411986943,US 2411986944,2412052479,FR -2412052480,2412576767,US +2412052480,2412314623,US +2412445696,2412576767,US 2412576768,2412642303,AT 2412642304,2412773375,US 2412838912,2412904447,US @@ -36243,9 +36786,7 @@ 2416377856,2416443391,CN 2416443392,2416705535,US 2416705536,2416771071,CN -2416771072,2416963583,US -2416963584,2416963839,EU -2416963840,2416967679,US +2416771072,2416967679,US 2416967680,2417033215,IN 2417033216,2417229823,US 2417229824,2417295359,ES @@ -36270,10 +36811,10 @@ 2418606080,2418671615,DE 2418671616,2418737151,US 2418737152,2418802687,NL -2418802688,2418868223,EU 2418868224,2418998271,US 2418998272,2418998527,GB -2418998528,2419326975,US +2418998528,2419064831,US +2419130368,2419326975,US 2419326976,2419392511,CN 2419392512,2419458047,AU 2419458048,2419523583,NL @@ -36296,12 +36837,9 @@ 2421555200,2421620735,US 2421620736,2421686271,GB 2421686272,2422145023,US -2422145024,2422153215,NL -2422153216,2422153471,EU -2422153472,2422154239,NL +2422145024,2422154239,NL 2422154240,2422155263,US -2422155264,2422155519,AP -2422155520,2422161407,NL +2422155264,2422161407,NL 2422161408,2422163455,GB 2422163456,2422165503,US 2422165504,2422167551,HK @@ -36327,27 +36865,22 @@ 2425487360,2426667007,US 2426667008,2426732543,NO 2426732544,2426798079,FR -2426798080,2427207679,US +2426798080,2426929151,US +2426994688,2427207679,US 2427256832,2427322367,GB 2427322368,2427453439,US 2427453440,2427536895,NO 2427536896,2427537151,US -2427537152,2427544575,NO -2427544576,2427544831,AP -2427544832,2427584511,NO +2427537152,2427584511,NO 2427584512,2427650047,GB 2427650048,2427846655,NO 2427846656,2428174335,US 2428174336,2428178431,GB -2428178432,2428183562,US -2428183563,2428183563,EU -2428183564,2428185087,US +2428178432,2428185087,US 2428185088,2428185343,GB 2428185344,2428567551,US 2428567552,2428633087,NO -2428633088,2428696831,CA -2428696832,2428697087,EU -2428697088,2428698623,CA +2428633088,2428698623,CA 2428698624,2428960767,US 2428960768,2429026303,MY 2429026304,2429091839,CH @@ -36362,15 +36895,18 @@ 2429681664,2429878271,US 2429878272,2429943807,JP 2429943808,2430009343,HK -2430009344,2432172031,US +2430009344,2430205951,US +2430271488,2432172031,US 2432172032,2432237567,BE -2432237568,2432577535,US +2432237568,2432568575,US +2432568576,2432568831,BE +2432568832,2432577535,US 2432577536,2432577791,GB -2432577792,2432615935,US -2432615936,2432616191,NL -2432616192,2432616448,US -2432616449,2432617472,NL -2432617473,2432630783,US +2432577792,2432587263,US +2432587264,2432587519,IE +2432587520,2432616447,US +2432616448,2432617471,NL +2432617472,2432630783,US 2432630784,2432696319,CN 2432696320,2433247231,NL 2433247232,2433247487,GB @@ -36382,14 +36918,15 @@ 2436300800,2436366335,GB 2436366336,2436759551,NL 2436759552,2436767743,GB -2436767744,2436767874,EU +2436767744,2436767874,NL 2436767875,2436767875,DE -2436767876,2436767999,EU +2436767876,2436767999,NL 2436768000,2436825087,GB -2436825088,2441150463,NL +2436825088,2436955647,NL +2436955648,2436955903,DE +2436955904,2441150463,NL 2441150464,2441215999,BE 2441216000,2446983167,NL -2446983168,2447048703,EU 2447048704,2447376383,NL 2447376384,2447441919,GB 2447441920,2447446271,DE @@ -36418,7 +36955,9 @@ 2448818176,2448850943,GB 2448850944,2448851967,US 2448851968,2448883711,GB -2448883712,2448949247,FI +2448883712,2448887039,FI +2448887040,2448887295,SE +2448887296,2448949247,FI 2448949248,2449014783,FR 2449014784,2449080319,RU 2449080320,2449145855,CH @@ -36429,8 +36968,8 @@ 2449420288,2449422335,DE 2449422336,2449424383,DK 2449424384,2449440767,OM -2449440768,2449441023,NL -2449441024,2449442815,RO +2449440768,2449441279,NL +2449441280,2449442815,RO 2449442816,2449444863,RU 2449444864,2449448959,SK 2449448960,2449457151,KZ @@ -36463,13 +37002,11 @@ 2450849792,2450915327,SE 2450915328,2451026431,US 2451026432,2451026687,AU -2451026688,2451031039,US -2451031040,2451031295,AP -2451031296,2451031807,US +2451026688,2451031807,US 2451031808,2451032063,AU -2451032064,2451035135,US -2451035136,2451035391,EU -2451035392,2451986959,US +2451032064,2451042815,US +2451042816,2451043071,ZA +2451043072,2451986959,US 2451986960,2451986960,GB 2451986961,2452619263,US 2452619264,2452684799,IT @@ -36495,7 +37032,6 @@ 2453831680,2453833727,IQ 2453833728,2453835775,ES 2453835776,2453837823,FR -2453837824,2453839871,EU 2453839872,2453852159,RU 2453852160,2453856255,RO 2453856256,2453858303,DE @@ -36515,13 +37051,17 @@ 2454781952,2454847487,FI 2454847488,2454885503,US 2454885504,2454885631,GB -2454885632,2454904999,US +2454885632,2454890495,US +2454890496,2454890751,DK +2454890752,2454904999,US 2454905000,2454905007,BR 2454905008,2454905919,US 2454905920,2454905951,AR 2454905952,2454906943,US 2454906944,2454906951,CL -2454906952,2454913023,US +2454906952,2454907903,US +2454907904,2454908159,VE +2454908160,2454913023,US 2454913024,2454978559,CL 2454978560,2455175167,US 2455175168,2455240703,GB @@ -36536,11 +37076,8 @@ 2456223744,2456289279,BE 2456289280,2456354815,NL 2456354816,2456420351,GB -2456420352,2456485887,EU 2456485888,2456551423,DE -2456551424,2456603135,AT -2456603136,2456603391,EU -2456603392,2456616959,AT +2456551424,2456616959,AT 2456616960,2456682495,CH 2456682496,2456748031,HU 2456748032,2456813567,US @@ -36549,17 +37086,21 @@ 2457075712,2457141247,AU 2457206784,2457272319,AU 2457272320,2457337855,FI -2457337856,2457346047,CZ +2457337856,2457343999,RU +2457344000,2457346047,UA 2457346048,2457360383,RU -2457360384,2457361407,CZ -2457361408,2457366527,RU +2457360384,2457360895,CZ +2457360896,2457361151,RU +2457361152,2457361407,CZ +2457361408,2457365503,RU +2457365504,2457366527,CZ 2457366528,2457367551,GB 2457367552,2457372671,CZ 2457372672,2457376767,RU 2457376768,2457378815,DE 2457378816,2457393151,RU -2457393152,2457398271,CZ -2457398272,2457403391,RU +2457393152,2457397247,CZ +2457397248,2457403391,RU 2457403392,2457599999,US 2457600000,2457665535,GR 2457665536,2458058751,US @@ -36572,9 +37113,10 @@ 2458451968,2458648575,US 2458648576,2458714111,DE 2458714112,2458779647,ZA -2458779648,2459191295,US -2459191296,2459191551,EU -2459191552,2459631615,US +2458779648,2458910719,US +2458976256,2459172863,US +2459191296,2459191551,US +2459238400,2459631615,US 2459631616,2459697151,CL 2459697152,2459828223,US 2459828224,2459860991,RU @@ -36606,13 +37148,16 @@ 2461601792,2461605887,GB 2461605888,2461607935,LB 2461607936,2461609983,FR -2461609984,2461612031,NL +2461609984,2461611007,BE +2461611008,2461612031,NL 2461612032,2461613567,IL 2461613568,2461613823,PS 2461613824,2461614079,IL 2461614080,2461630463,TR 2461630464,2461646847,NL -2461646848,2461663231,RU +2461646848,2461659391,RU +2461659392,2461659647,UA +2461659648,2461663231,RU 2461663232,2461794303,US 2461794304,2461859839,GB 2461859840,2461990911,US @@ -36696,9 +37241,9 @@ 2466326016,2466326271,SG 2466326272,2466336767,US 2466336768,2466337023,SG -2466337024,2466374039,US -2466374040,2466374040,GB -2466374041,2466643967,US +2466337024,2466373887,US +2466373888,2466374143,GB +2466374144,2466643967,US 2466643968,2466709503,KR 2466709504,2466775039,HU 2466775040,2466840575,HK @@ -36710,9 +37255,7 @@ 2467233792,2468020223,US 2468020224,2468085759,GR 2468085760,2468151295,US -2468151296,2468180479,DK -2468180480,2468180735,EU -2468180736,2468216831,DK +2468151296,2468216831,DK 2468216832,2468282367,KZ 2468282368,2468347903,US 2468347904,2468478975,CZ @@ -36728,9 +37271,7 @@ 2469724160,2469789695,US 2469789696,2469855231,DE 2469855232,2470182911,US -2470182912,2470183167,CH -2470183168,2470183423,AP -2470183424,2470248447,CH +2470182912,2470248447,CH 2470248448,2470510591,US 2470510592,2470576127,BR 2470576128,2470641663,AU @@ -36757,16 +37298,24 @@ 2472673280,2472869887,FR 2472869888,2472935423,US 2472935424,2473000959,GR -2473000960,2473394175,US +2473000960,2473332735,US +2473332736,2473333247,AE +2473333248,2473342975,US +2473342976,2473345023,GB +2473345024,2473345535,US +2473345536,2473346047,AE +2473346048,2473348095,US +2473348096,2473348607,SA +2473348608,2473379839,US +2473379840,2473381887,AU +2473381888,2473394175,US 2473394176,2473459711,AU 2473459712,2473525247,ZA 2473525248,2473656319,NO 2473656320,2473721855,US 2473721856,2473730559,GB 2473730560,2473731071,HK -2473731072,2473785599,GB -2473785600,2473785855,AP -2473785856,2473787391,GB +2473731072,2473787391,GB 2473787392,2474049535,US 2474049536,2474115071,GB 2474115072,2474246143,US @@ -36801,9 +37350,7 @@ 2477850624,2478047231,US 2478047232,2478112767,SE 2478112768,2478178303,NL -2478178304,2478229759,US -2478229760,2478230015,AP -2478230016,2478309375,US +2478178304,2478309375,US 2478309376,2478374911,GB 2478374912,2478440447,US 2478440448,2478505983,SE @@ -36855,20 +37402,23 @@ 2486697984,2486763519,AT 2486763520,2486960127,US 2486960128,2487025663,FR -2487025664,2487877631,US -2487877632,2487943167,A2 -2487943168,2488205311,US +2487025664,2488205311,US 2488205312,2488270847,GB 2488270848,2488336383,US 2488336384,2488401919,PL 2488401920,2488532991,NO 2488532992,2488795135,US 2488795136,2488860671,GB -2488860672,2489995544,US -2489995545,2489995545,AP -2489995546,2490041599,US -2490041600,2490041855,AP -2490041856,2490043391,US +2488860672,2489647103,US +2489843712,2489992447,US +2489992448,2489992703,HK +2489992704,2489995519,US +2489995520,2489995544,SG +2489995545,2489995545,US +2489995546,2489995775,SG +2489995776,2490013695,US +2490013696,2490015743,GB +2490015744,2490043391,US 2490043392,2490043647,GB 2490043648,2490236927,US 2490236928,2490302463,LU @@ -36886,13 +37436,15 @@ 2492465152,2492530687,US 2492530688,2492596223,AU 2492596224,2492727295,US -2492727296,2492792831,NL +2492727296,2492792831,SE 2492792832,2492923903,US 2492923904,2492989439,OM 2492989440,2493513727,US 2493513728,2493579263,SE 2493579264,2493644799,JP -2493644800,2494103551,US +2493644800,2493710335,US +2493755904,2493756415,US +2493775872,2494103551,US 2494103552,2494169087,FR 2494169088,2494562303,US 2494562304,2494627839,GB @@ -36900,37 +37452,29 @@ 2494650624,2494650879,BR 2494650880,2494655487,US 2494655488,2494655743,MX -2494655744,2494660607,US -2494660608,2494661119,EU -2494661120,2494677247,US +2494655744,2494657535,US +2494657536,2494657791,CO +2494657792,2494677247,US 2494677248,2494677503,AU 2494677504,2494677759,US 2494677760,2494678015,AU 2494678016,2494683135,US 2494683136,2494683391,SG -2494683392,2494683647,AP -2494683648,2494689791,US +2494683392,2494689791,US 2494689792,2494690047,IN 2494690048,2494889983,US 2494889984,2494955519,GB 2494955520,2495021055,AU 2495021056,2495152127,US -2495152128,2495217663,EU 2495217664,2495283199,US 2495283200,2495348735,CH -2495348736,2495349051,US -2495349052,2495349052,EU -2495349053,2495351039,US -2495351040,2495351295,EU -2495351296,2495353143,US -2495353144,2495353144,EU -2495353145,2495412223,US -2495412224,2495412479,AP -2495412480,2495807487,US +2495348736,2495807487,US 2495807488,2495873023,AU 2495873024,2495938559,CH 2495938560,2496004095,GB -2496004096,2496069631,AT +2496004096,2496015103,AT +2496015104,2496015359,PL +2496015360,2496069631,AT 2496069632,2496135167,US 2496135168,2496200703,NL 2496200704,2498475007,MX @@ -36970,8 +37514,8 @@ 2500158976,2500161023,US 2500161024,2500161791,GB 2500161792,2500162175,US -2500162176,2500162559,GB -2500162560,2500175871,US +2500162176,2500162815,GB +2500162816,2500175871,US 2500175872,2500175879,RO 2500175880,2500188159,US 2500188160,2500188415,CH @@ -36981,23 +37525,19 @@ 2500199424,2500199935,IE 2500199936,2500219135,US 2500219136,2500219391,DE -2500219392,2500225553,US -2500225554,2500225561,ES -2500225562,2500227583,US +2500219392,2500225551,US +2500225552,2500225559,ES +2500225560,2500227583,US 2500227584,2500227839,FR 2500227840,2500228607,US 2500228608,2500228863,FR -2500228864,2500230143,US -2500230144,2500230399,GB -2500230400,2500235775,US +2500228864,2500235775,US 2500235776,2500236287,GB 2500236288,2500236837,US 2500236838,2500236838,ES 2500236839,2500238047,US 2500238048,2500238055,FR -2500238056,2500238079,US -2500238080,2500238335,YT -2500238336,2500238383,US +2500238056,2500238383,US 2500238384,2500238399,DE 2500238400,2500238463,US 2500238464,2500238527,DE @@ -37011,11 +37551,9 @@ 2500246016,2500246527,GB 2500246528,2500272127,US 2500272128,2500272639,GB -2500272640,2500274431,US -2500274432,2500274687,GB -2500274688,2500275199,US -2500275200,2500275455,GB -2500275456,2500276223,US +2500272640,2500275199,US +2500275200,2500275711,GB +2500275712,2500276223,US 2500276224,2500276735,GB 2500276736,2500276991,US 2500276992,2500277247,GB @@ -37035,24 +37573,28 @@ 2500532750,2500532750,GR 2500532751,2500535295,US 2500535296,2500535551,IE -2500535552,2500537343,US -2500537344,2500537599,GB -2500537600,2500551679,US +2500535552,2500551679,US 2500551680,2500551935,FR 2500551936,2500553759,US 2500553760,2500553767,GB 2500553768,2500555263,US 2500555264,2500555519,FR -2500555520,2500616191,US -2500616192,2500616703,IT +2500555520,2500591615,US +2500591616,2500595711,GB +2500595712,2500609023,US +2500609024,2500609279,ES +2500609280,2500616319,US +2500616320,2500616703,IT 2500616704,2500636735,US 2500636736,2500636799,GB 2500636800,2500646911,US 2500646912,2500647935,ES 2500647936,2500687871,US 2500687872,2500689919,FR -2500689920,2500719615,US -2500719616,2500720639,IE +2500689920,2500694271,US +2500694272,2500694527,IT +2500694528,2500719103,US +2500719104,2500720639,IE 2500720640,2500723711,US 2500723712,2500723967,ES 2500723968,2501574655,US @@ -37074,11 +37616,14 @@ 2503911424,2503915519,ES 2503915520,2503917567,IT 2503917568,2503933951,BG -2503933952,2506293247,US +2503933952,2504916991,US +2504916992,2504949759,IL +2504949760,2506293247,US 2506293248,2506358783,CA 2506358784,2507124735,US 2507124736,2507124991,IN -2507124992,2508062719,US +2507124992,2507145215,US +2507210752,2508062719,US 2508062720,2508064767,CH 2508064768,2508066815,ES 2508066816,2508068863,RU @@ -37126,9 +37671,7 @@ 2509928448,2509930495,FI 2509930496,2509934591,RU 2509934592,2509936639,DE -2509936640,2509937683,AT -2509937684,2509937684,SS -2509937685,2509937919,AT +2509936640,2509937919,AT 2509937920,2509938175,IT 2509938176,2509938431,US 2509938432,2509938687,DE @@ -37158,9 +37701,7 @@ 2513698816,2513764351,DK 2513764352,2514419711,DE 2514419712,2514485247,GB -2514485248,2514681599,DE -2514681600,2514681855,EU -2514681856,2515205119,DE +2514485248,2515205119,DE 2515205120,2515206143,US 2515206144,2515599359,DE 2515599360,2515664895,GB @@ -37175,8 +37716,8 @@ 2516520960,2516523007,SA 2516523008,2516525055,RU 2516525056,2516525183,US -2516525184,2516525246,NL -2516525247,2516525391,US +2516525184,2516525247,NL +2516525248,2516525391,US 2516525392,2516525407,NL 2516525408,2516525423,US 2516525424,2516525431,NL @@ -37226,8 +37767,7 @@ 2524512256,2524643327,CN 2524643328,2524963071,US 2524963072,2524963311,GB -2524963312,2524963327,EU -2524963328,2524971007,US +2524963312,2524971007,US 2524971008,2525036543,ES 2525102080,2525233151,US 2525233152,2525298687,SE @@ -37297,7 +37837,7 @@ 2540961792,2541223935,US 2541223936,2541289471,CH 2541289472,2541682687,US -2541682688,2541748223,CH +2541682688,2541748223,PL 2541748224,2541813759,US 2541813760,2541879295,GB 2541879296,2541944831,AU @@ -37316,7 +37856,6 @@ 2544500736,2544566271,GB 2544566272,2544631807,US 2544697344,2544828415,US -2544828416,2544893951,EU 2544893952,2544959487,GB 2544959488,2545025023,SE 2545025024,2545090559,AU @@ -37331,12 +37870,12 @@ 2545614848,2545680383,NO 2545680384,2545745919,US 2545745920,2545811455,DE -2545811456,2546038783,US -2546038784,2546039039,EU -2546039040,2547187711,US +2545811456,2547187711,US 2547187712,2547318783,GB 2547318784,2547515391,US -2547548160,2547580927,RU +2547515392,2547531775,BE +2547531776,2547539967,UA +2547553024,2547553279,RU 2548039680,2548563967,GB 2548563968,2548826111,IR 2548826112,2548829695,AT @@ -37379,10 +37918,9 @@ 2549612544,2549614591,SE 2549614592,2549616639,IT 2549616640,2549618687,BE -2549618688,2549618751,DE -2549618752,2549619455,A2 -2549619456,2549619711,DE -2549619712,2549620735,A2 +2549618688,2549619711,DE +2549619712,2549619967,GB +2549619968,2549620735,DE 2549620736,2549624831,PL 2549624832,2549626879,BE 2549626880,2549628927,PL @@ -37397,7 +37935,6 @@ 2549701632,2549701887,PL 2549701888,2549702143,FR 2549702144,2549702399,GB -2549702400,2549702655,EU 2549702656,2549704703,UA 2549704704,2549706751,CZ 2549706752,2549710847,NO @@ -37421,17 +37958,13 @@ 2549929984,2549932031,DE 2549932032,2549940223,HR 2549940224,2550136831,RO -2550136832,2554211383,US -2554211384,2554211387,AP -2554211388,2554227967,US -2554227968,2554228223,EU -2554228224,2554462207,US +2550202368,2553544703,US +2553544704,2553610239,IN +2553610240,2554462207,US 2554462208,2554527743,HU 2554527744,2554789887,US 2554789888,2554855423,GB -2554855424,2554888703,US -2554888704,2554888959,EU -2554888960,2554920959,US +2554855424,2554920959,US 2554920960,2554986495,DK 2554986496,2555052031,CL 2555052032,2555117567,US @@ -37475,9 +38008,7 @@ 2557673472,2557739007,DK 2557739008,2557870079,US 2557870080,2557935615,ID -2557935616,2558658499,US -2558658500,2558658500,PR -2558658501,2558789571,US +2557935616,2558789571,US 2558789572,2558789572,PR 2558789573,2558918655,US 2558918656,2558984191,GB @@ -37492,10 +38023,12 @@ 2559967232,2560032767,GB 2560032768,2560098303,US 2560098304,2560163839,BE -2560229376,2560628479,US +2560229376,2560360447,US +2560425984,2560628479,US 2560628480,2560628735,CA 2560628736,2561015807,US -2561671168,2564947967,US +2561671168,2563244031,US +2563768320,2564947967,US 2564947968,2565013503,SG 2565013504,2565210111,US 2566914048,2566979583,CN @@ -37518,15 +38051,12 @@ 2569666560,2569797631,US 2569797632,2569863167,NO 2569863168,2569994239,CH -2569994240,2569994495,EU -2569994496,2570125311,US +2569994240,2570125311,US 2570125312,2570190847,BE 2570190848,2572681215,US 2572681216,2572746751,SE 2572746752,2572943359,US -2572943360,2573336575,DE -2573336576,2573369343,EU -2573369344,2573402111,DE +2572943360,2573402111,DE 2573402112,2573467647,CN 2573467648,2573533183,DE 2573533184,2573598719,CN @@ -37535,7 +38065,9 @@ 2573991936,2574123007,CH 2574123008,2574188543,NO 2574188544,2574254079,NZ -2574254080,2574319615,SE +2574254080,2574286847,SE +2574286848,2574287103,AU +2574287104,2574319615,SE 2574319616,2574647295,US 2574647296,2574778367,CN 2574778368,2583691263,JP @@ -37568,9 +38100,7 @@ 2586480640,2586484735,IL 2586484736,2586610175,US 2586610176,2586610431,GB -2586610432,2586610943,US -2586610944,2586611199,ES -2586611200,2586611711,US +2586610432,2586611711,US 2586611712,2586611967,GB 2586611968,2586619903,US 2586619904,2586620415,FR @@ -37580,11 +38110,19 @@ 2586804992,2586805247,ES 2586805248,2586828799,US 2586828800,2586829055,CH -2586829056,2587017215,US +2586829056,2586870783,US +2586870784,2586871807,ES +2586871808,2586872063,US +2586872064,2586872319,ES +2586872320,2586875135,US +2586875136,2586875391,ES +2586875392,2587017215,US 2587017216,2587017471,IE 2587017472,2587018239,US 2587018240,2587018495,IE -2587018496,2587067647,US +2587018496,2587021823,US +2587021824,2587022335,IE +2587022336,2587067647,US 2587067648,2587067903,GB 2587067904,2587068415,US 2587068416,2587068479,GB @@ -37600,7 +38138,9 @@ 2587443200,2587447295,CH 2587447296,2587492351,US 2587492352,2587493375,ES -2587493376,2587926527,US +2587493376,2587508735,US +2587508736,2587516927,GB +2587516928,2587926527,US 2587926528,2587930623,BG 2587930624,2587951103,US 2587951104,2587952127,ZA @@ -37609,11 +38149,64 @@ 2587954176,2587955199,ZA 2587955200,2587959295,KE 2587959296,2587961343,SN -2587963392,2587964415,SD +2587961344,2587962367,ZA +2587962368,2587964415,SD 2587964416,2587965439,ZA +2587965440,2587966463,KE +2587966464,2587967487,BF 2587967488,2587975679,ZA +2587975680,2587983871,GH +2587983872,2588016639,AO +2588016640,2588033023,NG +2588033024,2588037119,ZA +2588037120,2588038143,AO +2588038144,2588039167,GN +2588039168,2588041215,ZA +2588041216,2588042239,DZ +2588042240,2588043263,SD +2588043264,2588044287,AO +2588044288,2588045311,LS +2588046336,2588047359,TD +2588047360,2588049407,MW +2588049408,2588053503,BJ +2588053504,2588057599,ZA +2588057600,2588061695,BF +2588061696,2588070911,ZA +2588070912,2588071935,TZ +2588071936,2588072959,UG +2588072960,2588073983,NE +2588073984,2588075007,TZ +2588075008,2588076031,MU +2588076032,2588078079,GA +2588078080,2588080127,MU +2588080128,2588082175,ZA 2588082176,2588114943,RE +2588147712,2588164095,CI +2588164096,2588180479,RW +2588196864,2588213247,NG +2588213248,2588278783,ZA +2588278784,2588295167,KE +2588295168,2588299263,GH +2588303360,2588311551,CM +2588311552,2588315647,ZA +2588315648,2588317695,BW +2588317696,2588318719,MU +2588318720,2588319743,UG +2588319744,2588327935,SC +2588327936,2588328959,ML +2588328960,2588329983,BI +2588329984,2588332031,MA +2588332032,2588336127,ZA +2588344320,2588409855,MU +2588409856,2588410879,KE +2588410880,2588412927,ZA +2588412928,2588413951,ST +2588418048,2588420095,NG +2588420096,2588422143,ZA +2588459008,2588467199,UG +2588467200,2588471295,TN 2588934144,2589982719,SC +2589982720,2590507007,SD 2600534016,2600665087,US 2600665088,2600730623,CA 2600730624,2600796159,NO @@ -37633,11 +38226,7 @@ 2604007424,2604072959,ES 2604072960,2604138495,NO 2604138496,2604204031,DE -2604204032,2604243711,US -2604243712,2604243967,AP -2604243968,2604244991,US -2604244992,2604245247,EU -2604245248,2604335103,US +2604204032,2604335103,US 2604335104,2604400639,NZ 2604400640,2604466175,AU 2604466176,2604793855,US @@ -37649,20 +38238,13 @@ 2605187072,2605252607,US 2605252608,2605318143,AT 2605318144,2606301183,US -2606366720,2606448649,US -2606448650,2606448651,EU -2606448652,2606467071,US -2606467072,2606467327,AP -2606467328,2606563327,US -2606628864,2606646783,US -2606646784,2606647039,EU -2606647040,2606648831,US +2606366720,2606563327,US +2606628864,2606645247,US +2606646784,2606647039,US 2606648832,2606649087,IE -2606649088,2607349759,US +2606694400,2607349759,US 2607349760,2607415295,CH -2607415296,2608728063,US -2608728064,2608728319,AP -2608728320,2609053695,US +2607415296,2609053695,US 2609053696,2609119231,GB 2609119232,2609184767,FR 2609184768,2609250303,PL @@ -37670,10 +38252,7 @@ 2609381376,2609446911,GB 2609446912,2609512447,DK 2609512448,2609643519,US -2609643520,2609677815,GB -2609677816,2609677817,EU -2609677818,2609708799,GB -2609708800,2609709055,AP +2609643520,2609709055,GB 2609709056,2609840127,US 2609840128,2609971199,AU 2609971200,2610036735,GB @@ -37703,13 +38282,13 @@ 2613903360,2613968895,AU 2613968896,2614034431,US 2614034432,2614099967,GR -2614099968,2614164991,US -2614164992,2614165247,EU -2614165248,2614165503,US +2614099968,2614165503,US 2614165504,2614231039,NO 2614231040,2614296575,ES 2614296576,2614362111,BR -2614362112,2615083007,US +2614362112,2614386431,US +2614386432,2614386559,PR +2614386560,2615083007,US 2615083008,2615148543,TR 2615148544,2615345151,US 2615345152,2615410687,NO @@ -37720,19 +38299,16 @@ 2615672832,2616262655,ZA 2616262656,2616524799,US 2616524800,2616590335,GB -2616590336,2616770303,US -2616770304,2616770559,EU -2616770560,2616786943,US +2616590336,2616786943,US 2616786944,2616852479,GB 2616852480,2616885247,DE 2616885248,2616885503,FR -2616885504,2616885527,DE -2616885528,2616885529,EU -2616885530,2616918015,DE +2616885504,2616918015,DE 2616983552,2617049087,US 2617049088,2617114623,IT -2617114624,2617180159,US -2617245696,2617769983,US +2617114880,2617115135,US +2617147392,2617148159,US +2617311232,2617769983,US 2617769984,2617835519,ZA 2617835520,2617901055,US 2617901056,2617966591,FI @@ -37752,11 +38328,13 @@ 2619146240,2619277311,US 2619277312,2619342847,BN 2619342848,2619473919,US -2619473920,2619539455,CA +2619473920,2619498495,CA +2619498496,2619498751,US +2619498752,2619524223,CA +2619524224,2619524351,US +2619524352,2619539455,CA 2619539456,2619604991,ES -2619604992,2619735295,US -2619735296,2619735551,EU -2619735552,2619736063,US +2619604992,2619736063,US 2619801600,2620063743,US 2620063744,2620129279,GB 2620129280,2620194815,CA @@ -37787,13 +38365,7 @@ 2623602688,2623668223,CL 2623668224,2624192511,US 2624192512,2624258047,CH -2624258048,2624266495,US -2624266496,2624266751,AP -2624266752,2624391696,US -2624391697,2624391697,EU -2624391698,2624393727,US -2624393728,2624393983,EU -2624393984,2624716799,US +2624258048,2624716799,US 2624716800,2624782335,NL 2624782336,2624847871,CH 2624847872,2624913407,NO @@ -37808,7 +38380,7 @@ 2626945024,2627010559,IT 2627010560,2627076095,NZ 2627076096,2627141631,NL -2627141632,2627469311,US +2627141632,2627403775,US 2634022912,2634088447,CN 2634088448,2635202559,JP 2635202560,2635268095,CN @@ -37843,7 +38415,8 @@ 2640445440,2640510975,US 2640510976,2640576511,FR 2640576512,2640642047,EC -2640642048,2641952767,JP +2640642048,2641821695,JP +2641887232,2641952767,JP 2641952768,2642018303,US 2642018304,2642083839,CN 2642083840,2642149375,US @@ -37912,9 +38485,7 @@ 2647916544,2648899583,US 2648899584,2648965119,IN 2648965120,2649030655,GB -2649030656,2649413631,US -2649413632,2649413887,AP -2649413888,2649489407,US +2649030656,2649489407,US 2649489408,2649554943,GB 2649554944,2649620479,NO 2649620480,2649948159,US @@ -37930,9 +38501,7 @@ 2650603520,2650669055,CO 2650669056,2650734591,US 2650734592,2650800127,CN -2650800128,2653089791,US -2653089792,2653090047,AP -2653090048,2653159423,US +2650800128,2653159423,US 2653159424,2653421567,NO 2653421568,2653487103,AU 2653487104,2653552639,GB @@ -37966,7 +38535,6 @@ 2654994432,2655059967,LU 2655059968,2655125503,US 2655125504,2655191039,PL -2655191040,2655256575,EU 2655256576,2655715327,US 2655715328,2655780863,PL 2655780864,2656632831,US @@ -37992,9 +38560,7 @@ 2658009088,2658074623,IT 2658074624,2658140159,US 2658140160,2658205695,NO -2658205696,2658459648,US -2658459649,2658459649,EU -2658459650,2658598911,US +2658205696,2658598911,US 2658598912,2658664447,GB 2658664448,2658926591,US 2658926592,2659057663,GB @@ -38026,7 +38592,9 @@ 2661548032,2661679103,US 2661679104,2661909247,LU 2661909248,2661909503,BE -2661909504,2661941247,LU +2661909504,2661914111,LU +2661914112,2661914367,BE +2661914368,2661941247,LU 2661941248,2662006783,CL 2662006784,2662072319,US 2662072320,2662137855,ES @@ -38051,7 +38619,9 @@ 2665086976,2665152511,GB 2665152512,2665218047,US 2665218048,2665283583,CH -2665283584,2665381887,US +2665283584,2665349119,US +2665359360,2665361407,US +2665374720,2665375231,US 2665414656,2665480191,GB 2665480192,2665545727,US 2665545728,2665611263,DE @@ -38072,8 +38642,8 @@ 2667511808,2667513855,RU 2667513856,2667515903,GB 2667515904,2667517951,CZ -2667517952,2667518975,SK -2667518976,2667522047,CZ +2667517952,2667519999,SK +2667520000,2667522047,CZ 2667522048,2667524095,GB 2667524096,2667526143,RU 2667526144,2667528191,LV @@ -38081,9 +38651,12 @@ 2667532288,2667534335,RU 2667534336,2667536383,PL 2667536384,2667536639,FR -2667536640,2667537151,AT -2667537152,2667537407,FR -2667537408,2667544575,AT +2667536640,2667537087,AT +2667537088,2667537119,FR +2667537120,2667537151,AT +2667537152,2667541503,FR +2667541504,2667542527,AT +2667542528,2667544575,FR 2667544576,2667560959,RU 2667560960,2667565055,IT 2667565056,2667565311,HK @@ -38149,9 +38722,7 @@ 2670592000,2670657535,NL 2670657536,2670854143,US 2670854144,2670919679,FR -2670919680,2670980095,DE -2670980096,2670980351,EU -2670980352,2670985215,DE +2670919680,2670985215,DE 2670985216,2671050751,AU 2671050752,2671181823,US 2671181824,2671247359,CA @@ -38159,9 +38730,9 @@ 2671378432,2671443967,NO 2671443968,2671509503,US 2671509504,2671575039,NL -2671575040,2671720433,US -2671720434,2671720434,VE -2671720435,2671749119,US +2671575040,2671720191,US +2671720192,2671720447,VE +2671720448,2671749119,US 2671749120,2671750143,CA 2671750144,2672295935,US 2672295936,2672361471,SE @@ -38182,7 +38753,9 @@ 2673737728,2673803263,US 2673803264,2673868799,FR 2673868800,2674130943,US -2674130944,2674249727,GB +2674130944,2674180095,GB +2674180096,2674188287,US +2674188288,2674249727,GB 2674249728,2674251775,US 2674251776,2674262015,GB 2674262016,2674327551,US @@ -38217,13 +38790,11 @@ 2677407744,2677473279,US 2677473280,2677538815,FR 2677538816,2677604351,FI -2677604352,2677639679,US +2677604352,2677622783,US +2677622784,2677623039,IE +2677623040,2677639679,US 2677639680,2677639935,CA -2677639936,2677644287,US -2677644288,2677644347,GB -2677644348,2677644348,EU -2677644349,2677644543,GB -2677644544,2677669887,US +2677639936,2677669887,US 2677669888,2677735423,DE 2677735424,2677800959,US 2677800960,2677866495,CH @@ -38266,12 +38837,10 @@ 2679177216,2679242751,CA 2679242752,2679308287,US 2679308288,2679373823,CH -2679373824,2679422975,GB -2679422976,2679431167,US +2679373824,2679406591,GB +2679406592,2679431167,US 2679431168,2679439359,FR -2679439360,2679525631,US -2679525632,2679525887,BR -2679525888,2680029183,US +2679439360,2680029183,US 2680029184,2680094719,SE 2680094720,2680225791,US 2680225792,2680356863,SE @@ -38315,15 +38884,11 @@ 2683371520,2683437055,CH 2683437056,2683568127,US 2683568128,2683633663,GB -2683633664,2683637759,EU 2683637760,2683637859,NL -2683637860,2683637860,EU 2683637861,2683641855,NL 2683641856,2683645951,US -2683645952,2683646207,AP 2683646208,2683650047,SG 2683650048,2683651071,US -2683651072,2683699199,EU 2683699200,2683830271,US 2683830272,2683895807,AU 2683895808,2684157951,US @@ -38339,44 +38904,133 @@ 2684184576,2684186623,SK 2684186624,2684188671,DE 2684188672,2684190719,RU -2684190720,2684191551,NL +2684190720,2684190735,US +2684190736,2684190783,NL +2684190784,2684190787,US +2684190788,2684190971,NL +2684190972,2684190975,US +2684190976,2684191487,NL +2684191488,2684191495,US +2684191496,2684191551,NL 2684191552,2684191615,US -2684191616,2684192775,NL +2684191616,2684191759,NL +2684191760,2684191767,US +2684191768,2684191807,NL +2684191808,2684191815,US +2684191816,2684191843,NL +2684191844,2684191847,US +2684191848,2684191859,NL +2684191860,2684191863,US +2684191864,2684191987,NL +2684191988,2684191999,US +2684192000,2684192103,NL +2684192104,2684192107,US +2684192108,2684192387,NL +2684192388,2684192391,US +2684192392,2684192459,NL +2684192460,2684192463,US +2684192464,2684192511,NL +2684192512,2684192519,US +2684192520,2684192523,NL +2684192524,2684192535,US +2684192536,2684192607,NL +2684192608,2684192611,US +2684192612,2684192623,NL +2684192624,2684192627,US +2684192628,2684192735,NL +2684192736,2684192767,US +2684192768,2684192775,NL 2684192776,2684192783,US -2684192784,2684193735,NL +2684192784,2684192979,NL +2684192980,2684192983,US +2684192984,2684193147,NL +2684193148,2684193151,US +2684193152,2684193275,NL +2684193276,2684193279,US +2684193280,2684193735,NL 2684193736,2684193743,US 2684193744,2684193847,NL 2684193848,2684193855,US 2684193856,2684193887,NL 2684193888,2684193911,US -2684193912,2684194071,NL +2684193912,2684193931,NL +2684193932,2684193935,US +2684193936,2684194003,NL +2684194004,2684194007,US +2684194008,2684194071,NL 2684194072,2684194079,US -2684194080,2684194111,NL -2684194112,2684194119,US -2684194120,2684194143,NL +2684194080,2684194143,NL 2684194144,2684194151,US -2684194152,2684194471,NL -2684194472,2684194479,TR -2684194480,2684194487,NL +2684194152,2684194167,NL +2684194168,2684194171,US +2684194172,2684194351,NL +2684194352,2684194359,US +2684194360,2684194487,NL 2684194488,2684194495,GB 2684194496,2684194511,NL 2684194512,2684194519,GB -2684194520,2684194559,NL +2684194520,2684194527,NL +2684194528,2684194535,US +2684194536,2684194559,NL 2684194560,2684194623,US -2684194624,2684195071,NL -2684195072,2684195327,US -2684195328,2684195339,NL -2684195340,2684195343,US -2684195344,2684196095,NL +2684194624,2684194723,NL +2684194724,2684194727,US +2684194728,2684195119,NL +2684195120,2684195123,US +2684195124,2684195199,NL +2684195200,2684195263,US +2684195264,2684195323,NL +2684195324,2684195327,US +2684195328,2684195335,NL +2684195336,2684195339,US +2684195340,2684195663,NL +2684195664,2684195667,US +2684195668,2684195867,NL +2684195868,2684195871,US +2684195872,2684195927,NL +2684195928,2684195935,JP +2684195936,2684195979,NL +2684195980,2684195983,US +2684195984,2684196095,NL 2684196096,2684196159,US -2684196160,2684196391,NL +2684196160,2684196343,NL +2684196344,2684196351,US +2684196352,2684196391,NL 2684196392,2684196399,US -2684196400,2684197143,NL +2684196400,2684196419,NL +2684196420,2684196423,US +2684196424,2684196517,NL +2684196518,2684196518,GB +2684196519,2684196535,NL +2684196536,2684196539,US +2684196540,2684196939,NL +2684196940,2684196943,US +2684196944,2684196959,NL +2684196960,2684196963,US +2684196964,2684197099,NL +2684197100,2684197103,US +2684197104,2684197115,NL +2684197116,2684197119,US +2684197120,2684197123,NL +2684197124,2684197127,US +2684197128,2684197143,NL 2684197144,2684197151,GB -2684197152,2684198911,NL -2684198912,2684199423,GB -2684199424,2684199679,EU -2684199680,2684200959,GB +2684197152,2684197191,NL +2684197192,2684197195,US +2684197196,2684197211,NL +2684197212,2684197215,US +2684197216,2684197251,NL +2684197252,2684197255,US +2684197256,2684197259,NL +2684197260,2684197263,US +2684197264,2684197267,NL +2684197268,2684197271,US +2684197272,2684197303,NL +2684197304,2684197311,US +2684197312,2684197343,NL +2684197344,2684197355,US +2684197356,2684198911,NL +2684198912,2684200959,GB 2684200960,2684203007,RU 2684203008,2684205055,GB 2684205056,2684207103,IT @@ -38415,8 +39069,8 @@ 2686976000,2687041535,GR 2687041536,2687238143,US 2687238144,2687297231,DE -2687297232,2687297247,GB -2687297248,2687301375,DE +2687297232,2687297239,GB +2687297240,2687301375,DE 2687301376,2687301631,NL 2687301632,2687560191,DE 2687560192,2687560447,ZA @@ -38426,11 +39080,7 @@ 2687893504,2688221183,DE 2688221184,2688286719,CH 2688286720,2688352255,DE -2688352256,2688418825,CH -2688418826,2688418826,EU -2688418827,2688421119,CH -2688421120,2688421375,AP -2688421376,2688548863,CH +2688352256,2688548863,CH 2688548864,2688614399,AU 2688614400,2688679935,US 2688679936,2688745471,IT @@ -38459,12 +39109,15 @@ 2689802240,2689810431,GB 2689810432,2689818623,US 2689818624,2689819135,IN -2689819136,2689826815,US +2689819136,2689820671,US +2689820672,2689820927,HK +2689820928,2689826815,US 2689826816,2689835007,JP 2689835008,2689843199,AU 2689843200,2689925119,US 2689925120,2689990655,CH -2689990656,2690383871,US +2689990656,2690187263,US +2690318336,2690383871,US 2690383872,2690449407,FR 2690449408,2690646015,US 2690646016,2690711551,SG @@ -38478,14 +39131,19 @@ 2691301376,2691366911,CA 2691366912,2691760127,US 2691825664,2691891199,HU -2691891200,2692546559,ZA -2692546560,2694840319,US +2691891200,2692218879,ZA +2692284416,2692546559,ZA +2692546560,2694316031,US +2694381568,2694447103,US 2696151040,2696216575,IT +2696216576,2696282111,ZA 2696413184,2697789439,JP 2697789440,2697854975,US 2697854976,2697889791,AU 2697889792,2697891839,US -2697891840,2697920511,AU +2697891840,2697892863,AU +2697892864,2697894143,US +2697894144,2697920511,AU 2697920512,2698117119,US 2698117120,2698182655,IS 2698182656,2698248191,DE @@ -38503,7 +39161,8 @@ 2699296768,2699362303,FR 2699362304,2699624447,US 2699624448,2699689983,JP -2699755520,2700935167,JP +2699755520,2699821055,JP +2699886592,2700935167,JP 2700935168,2701066239,US 2701197312,2701262847,US 2701262848,2701328383,GB @@ -38577,16 +39236,13 @@ 2706960384,2706964479,US 2706964480,2707226623,NL 2707226624,2707488767,JP -2707488768,2707619839,US -2707619840,2707947519,GB +2707488768,2707947519,US 2707947520,2708144127,FR 2708144128,2708340735,US 2708340736,2708406271,AT 2708406272,2708471807,ES 2708471808,2708537343,GB -2708537344,2708635135,US -2708635136,2708635391,EU -2708635392,2708661247,US +2708537344,2708661247,US 2708661248,2708661503,AU 2708661504,2708733951,US 2708733952,2708799487,ES @@ -38612,9 +39268,7 @@ 2711093248,2711158783,AU 2711158784,2711486463,US 2711486464,2711551999,NL -2711552000,2711765247,US -2711765248,2711765503,EU -2711765504,2713190399,US +2711552000,2713190399,US 2713190400,2713255935,CA 2713255936,2713387007,US 2713387008,2713452543,CA @@ -38630,25 +39284,27 @@ 2714370048,2714435583,CH 2714435584,2714697727,US 2714697728,2714763263,CN -2714763264,2715287551,US +2714763264,2715025407,US +2715090944,2715287551,US 2715287552,2715353087,CA 2715353088,2716139519,US 2716139520,2716205055,SG -2716205056,2716729343,US +2716205056,2716467199,US +2716532736,2716729343,US 2716729344,2716794879,CL 2716794880,2717253631,US 2717253632,2717319167,TH -2717319168,2717646847,US +2717319168,2717384703,US +2717450240,2717646847,US 2717646848,2717712383,KW 2717712384,2717843455,US 2717908992,2717974527,CA -2717974528,2718629887,US +2717974528,2718171135,US +2718236672,2718629887,US 2718629888,2718695423,GB 2718695424,2718760959,US 2718760960,2718826495,GB -2718826496,2719125247,US -2719125248,2719125503,EU -2719125504,2719285247,US +2718826496,2719285247,US 2719285248,2719350783,CH 2719350784,2719416319,US 2719416320,2719481855,CH @@ -38677,9 +39333,7 @@ 2724855808,2724921343,CA 2724921344,2725249023,US 2725249024,2725314559,NZ -2725314560,2725543423,US -2725543424,2725543679,EU -2725543680,2725904383,US +2725314560,2725904383,US 2725904384,2725969919,VE 2725969920,2727018495,US 2727018496,2727084031,CA @@ -38807,7 +39461,9 @@ 2732375040,2732376063,CA 2732376064,2732379135,US 2732379136,2732380159,CA -2732380160,2732390399,US +2732380160,2732389887,US +2732389888,2732390143,IT +2732390144,2732390399,US 2732390400,2732391423,CA 2732391424,2732395519,US 2732395520,2732396543,CA @@ -38821,8 +39477,93 @@ 2732455936,2732457983,CA 2732457984,2732472319,US 2732472320,2732474367,CA -2732474368,2732478463,US -2732589056,2734686207,US +2732474368,2732475391,US +2732475392,2732476415,CA +2732476416,2732478463,US +2732478464,2732479487,CA +2732479488,2732480511,AG +2732480512,2732485631,US +2732485632,2732486655,PR +2732486656,2732488703,US +2732488704,2732490751,CA +2732490752,2732492799,US +2732492800,2732493823,CA +2732493824,2732494847,US +2732494848,2732495871,CA +2732495872,2732497919,US +2732497920,2732499967,CA +2732499968,2732515327,US +2732515328,2732516351,VG +2732516352,2732523519,US +2732523520,2732525567,CA +2732525568,2732534783,US +2732534784,2732536831,CA +2732536832,2732549119,US +2732549120,2732550143,CA +2732550144,2732580863,US +2732580864,2732582911,CA +2732582912,2733899775,US +2734161920,2734163967,US +2734163968,2734164991,CA +2734164992,2734170111,US +2734170112,2734172159,CA +2734172160,2734173183,US +2734173184,2734174207,PR +2734174208,2734192639,US +2734192640,2734194687,CA +2734194688,2734197759,US +2734197760,2734198783,CA +2734198784,2734200831,US +2734200832,2734205951,CA +2734205952,2734206975,US +2734206976,2734209023,CA +2734209024,2734229503,US +2734229504,2734230527,CA +2734230528,2734237695,US +2734237696,2734238719,CA +2734238720,2734249983,US +2734249984,2734252031,CA +2734252032,2734260223,US +2734260224,2734262271,KY +2734262272,2734268415,US +2734268416,2734269439,CA +2734269440,2734287871,US +2734287872,2734288895,CA +2734288896,2734296063,US +2734296064,2734297087,CA +2734297088,2734304255,US +2734304256,2734305279,CA +2734305280,2734335999,US +2734336000,2734338047,CA +2734338048,2734341119,US +2734341120,2734344191,CA +2734344192,2734349311,US +2734349312,2734350335,CA +2734350336,2734362623,US +2734362624,2734363647,CA +2734363648,2734364671,VG +2734364672,2734373887,US +2734373888,2734374911,CA +2734374912,2734376959,US +2734376960,2734379007,CA +2734379008,2734381055,VG +2734381056,2734386175,US +2734386176,2734387199,AI +2734387200,2734389247,US +2734389248,2734390271,CA +2734390272,2734398463,US +2734398464,2734399487,PR +2734399488,2734407679,US +2734407680,2734409727,CA +2734409728,2734435327,US +2734435328,2734436351,CA +2734436352,2734447615,US +2734447616,2734448639,CA +2734448640,2734452735,US +2734452736,2734454783,CA +2734454784,2734457855,US +2734457856,2734458879,CA +2734458880,2734460927,US 2734686208,2734751743,CN 2734751744,2734817279,GB 2734817280,2734882815,US @@ -38839,7 +39580,8 @@ 2736848896,2736914431,US 2736914432,2736979967,NO 2736979968,2737438719,US -2737438720,2738749439,JP +2737438720,2738094079,JP +2738225152,2738749439,JP 2738749440,2742353919,FR 2742353920,2742419455,ES 2742419456,2742484991,US @@ -38860,9 +39602,7 @@ 2744713216,2744844287,US 2744844288,2744909823,CA 2744909824,2744975359,GB -2744975360,2745040383,SE -2745040384,2745040639,EU -2745040640,2745040895,SE +2744975360,2745040895,SE 2745040896,2745106431,DE 2745106432,2745171967,SI 2745171968,2745237503,GB @@ -38893,7 +39633,8 @@ 2748121088,2748317695,US 2748317696,2748645375,JP 2748645376,2748710911,KR -2748710912,2749235199,JP +2748710912,2748841983,JP +2748907520,2749235199,JP 2749235200,2749300735,KR 2749300736,2749628415,JP 2749628416,2749693951,US @@ -38902,9 +39643,7 @@ 2749890560,2750021631,AU 2750021632,2750349311,US 2750349312,2750414847,KR -2750414848,2750692863,US -2750692864,2750693375,EU -2750693376,2750724351,US +2750414848,2750724351,US 2750724352,2750724607,TW 2750724608,2750873599,US 2750873600,2750939135,CL @@ -38919,9 +39658,7 @@ 2751660032,2751716351,AT 2751716352,2751716607,US 2751716608,2751725567,AT -2751725568,2751729951,SE -2751729952,2751729953,EU -2751729954,2751791103,SE +2751725568,2751791103,SE 2751791104,2751856639,FI 2751856640,2751922175,GB 2751922176,2751987711,FR @@ -38959,9 +39696,7 @@ 2755002368,2755330047,US 2755330048,2755395583,DE 2755395584,2755461119,FR -2755461120,2755514879,DE -2755514880,2755515135,EU -2755515136,2755526655,DE +2755461120,2755526655,DE 2755526656,2755985407,US 2755985408,2756182015,JP 2756182016,2756247551,US @@ -38998,9 +39733,7 @@ 2759589888,2759720959,KR 2759720960,2759852031,PL 2759852032,2759917567,CH -2759917568,2759917823,FR -2759917824,2759918079,EU -2759918080,2759983103,FR +2759917568,2759983103,FR 2759983104,2760048639,IT 2760048640,2760114175,FR 2760114176,2760179711,IT @@ -39035,14 +39768,12 @@ 2760835072,2760898559,GB 2760898560,2760899583,US 2760899584,2760900607,GB -2760900608,2760932096,US -2760932097,2760932097,EU -2760932098,2761031679,US +2760900608,2761031679,US 2761031680,2761424895,ZA 2761424896,2761621503,US 2761621504,2761687039,ZA 2761687040,2761949183,US -2761949184,2762211327,JP +2762014720,2762145791,JP 2762211328,2762276863,IN 2762276864,2762342399,US 2762342400,2762407935,CA @@ -39062,11 +39793,7 @@ 2765568000,2765570047,IR 2765570048,2765578239,RU 2765578240,2765580287,AZ -2765580288,2765581311,GB -2765581312,2765581567,US -2765581568,2765581823,GB -2765581824,2765582079,US -2765582080,2765582335,GB +2765580288,2765582335,GB 2765582336,2765586431,CZ 2765586432,2765619199,IR 2765619200,2768240639,US @@ -39093,7 +39820,7 @@ 2772697088,2772762623,US 2772762624,2772828159,AU 2772828160,2773010431,US -2773010432,2773010687,EU +2773010432,2773010687,CZ 2773010688,2773024767,US 2773090304,2773221375,US 2773221376,2773286911,JP @@ -39101,7 +39828,8 @@ 2773745664,2773811199,NZ 2773811200,2773876735,US 2773876736,2773942271,AU -2773942272,2774335487,US +2773942272,2774138879,US +2774204416,2774335487,US 2774335488,2774401023,JP 2774401024,2774532095,US 2774532096,2774597631,JP @@ -39117,13 +39845,9 @@ 2775973888,2776039423,AU 2776039424,2776104959,US 2776104960,2776170495,GB -2776170496,2776478207,US -2776478208,2776478463,EU -2776478464,2776478975,US +2776170496,2776478975,US 2776478976,2776479231,AU -2776479232,2776697614,US -2776697615,2776697615,EU -2776697616,2776891391,US +2776479232,2776891391,US 2776891392,2777022463,KR 2777022464,2777481215,US 2777481216,2777546751,KR @@ -39133,7 +39857,8 @@ 2778333184,2778398719,CA 2778398720,2779054079,US 2779054080,2779119615,ZA -2779119616,2779906047,US +2779119616,2779316223,US +2779381760,2779906047,US 2779906048,2779971583,CA 2779971584,2780037119,US 2780037120,2780102655,ZA @@ -39153,9 +39878,7 @@ 2781478912,2781544447,HK 2781544448,2781624063,US 2781624064,2781624319,CA -2781624320,2781629951,US -2781629952,2781630207,EU -2781630208,2781675519,US +2781624320,2781675519,US 2781675520,2781741055,NZ 2781741056,2781937663,US 2781937664,2782003199,TH @@ -39171,7 +39894,7 @@ 2783182848,2783248383,AU 2783248384,2783313919,KR 2783313920,2783379455,US -2783379456,2783444991,ZA +2783379456,2783444991,SC 2783444992,2783510527,US 2783510528,2783576063,ZA 2783576064,2783969279,US @@ -39180,7 +39903,10 @@ 2784165888,2784296959,KR 2784296960,2784362495,US 2784362496,2784428031,KR -2784428032,2785542143,US +2784428032,2784952319,US +2785017856,2785300735,US +2785300736,2785300991,PR +2785300992,2785542143,US 2785542144,2786066431,CH 2786066432,2788163583,US 2788163584,2788229119,CA @@ -39202,7 +39928,9 @@ 2790588416,2790653951,ZA 2790653952,2790719487,US 2790719488,2790785023,SA -2790785024,2791571455,US +2790785024,2791112703,US +2791170304,2791170559,US +2791178240,2791571455,US 2791571456,2791636991,JP 2791636992,2791768063,US 2791768064,2791899135,KR @@ -39220,17 +39948,12 @@ 2793209856,2793275391,KR 2793275392,2796748799,US 2796748800,2796814335,NZ -2796814336,2798434559,US -2798434560,2798434815,PR -2798434816,2798838015,US +2796814336,2798838015,US 2798838016,2798838271,CO -2798838272,2799086335,US -2799086336,2799086591,PR -2799086592,2799106303,US +2798838272,2799106303,US 2799106304,2799106559,PR -2799106560,2802386186,US -2802386187,2802386187,EU -2802386188,2802515967,US +2799106560,2801795071,US +2801860608,2802515967,US 2802515968,2802581503,CA 2802581504,2802909183,US 2802909184,2802974719,CA @@ -39239,18 +39962,14 @@ 2803695616,2803761151,US 2803761152,2803826687,AU 2803826688,2803892223,US -2803892224,2805989375,CA +2803892224,2805465087,CA 2805989376,2806012927,US 2806012928,2806013183,HK 2806013184,2806644735,US 2806644736,2806710271,CA 2806710272,2807103487,US 2807103488,2807169023,NL -2807169024,2807236863,US -2807236864,2807237119,EU -2807237120,2807259647,US -2807259648,2807260159,AP -2807260160,2807271679,US +2807169024,2807271679,US 2807271680,2807271935,AU 2807271936,2807824383,US 2807824384,2807889919,CA @@ -39259,7 +39978,8 @@ 2808610816,2808872959,US 2808938496,2809069567,US 2809069568,2809135103,SA -2809135104,2809855999,US +2809135104,2809397247,US +2809462784,2809855999,US 2809856000,2809921535,AU 2809921536,2809987071,US 2809987072,2810052607,CA @@ -39274,7 +39994,8 @@ 2811559936,2811625471,CH 2811625472,2812084223,US 2812084224,2812149759,BO -2812149760,2812411903,US +2812149760,2812280831,US +2812346368,2812411903,US 2812411904,2812477439,AU 2812477440,2812753919,US 2812753920,2812755967,BR @@ -39301,13 +40022,9 @@ 2813263872,2813329407,JP 2813329408,2813526015,US 2813526016,2813591551,NZ -2813591552,2813908479,US -2813908480,2813908735,SG -2813908736,2814181375,US +2813591552,2814181375,US 2814181376,2814246911,AU -2814246912,2814377215,US -2814377216,2814377471,EU -2814377472,2815033343,US +2814246912,2815033343,US 2815033344,2815098879,NL 2815098880,2815111347,GB 2815111348,2815111348,US @@ -39331,33 +40048,23 @@ 2816273408,2816275455,IN 2816275456,2816671743,US 2816671744,2816737279,CA -2816737280,2817059071,US -2817059072,2817059327,AP -2817059328,2817060863,US -2817060864,2817061119,EU +2816737280,2817061119,US 2817061120,2817062911,LU -2817062912,2817325055,US -2817325056,2817325311,EU -2817325312,2817933055,US +2817062912,2817933055,US 2817933056,2817933311,CA 2817933312,2817933567,PR -2817933568,2817986303,US -2817986304,2817986559,AP -2817986560,2818003711,US +2817933568,2818003711,US 2818003712,2818003722,GB -2818003723,2818003723,EU +2818003723,2818003723,US 2818003724,2818003967,GB -2818003968,2818038537,US -2818038538,2818038538,AP -2818038539,2818310143,US +2818003968,2818113535,US +2818244608,2818310143,US 2818310144,2818375679,AR 2818375680,2818572287,US 2818637824,2818703359,CH 2818703360,2822731894,US 2822731895,2822731895,GB -2822731896,2822848997,US -2822848998,2822848998,EU -2822848999,2823159807,US +2822731896,2823159807,US 2823159808,2823225343,HK 2823225344,2823553023,US 2823553024,2823618559,ZA @@ -39366,9 +40073,7 @@ 2823815168,2823946239,ZA 2823946240,2824011775,US 2824011776,2824077311,AR -2824077312,2824274720,US -2824274721,2824274721,EU -2824274722,2824357375,US +2824077312,2824357375,US 2824357376,2824357631,GB 2824357632,2824404991,US 2824404992,2824470527,ZA @@ -39400,31 +40105,21 @@ 2827747328,2827812863,AU 2827812864,2827878399,US 2827878400,2827943935,ZA -2827943936,2827973119,US -2827973120,2827973375,US -2827973376,2827974015,US -2827974016,2827974143,US -2827974144,2827974655,US -2827974656,2827974783,US -2827974784,2827975487,US -2827975488,2827975551,US -2827975552,2827991471,US -2827991472,2827991487,US -2827991488,2827991503,US -2827991504,2827991519,US -2827991520,2828009471,US +2827943936,2828009471,US 2828009472,2828075007,CA 2828075008,2828533759,US 2828533760,2828664831,AU 2828664832,2828730367,KR 2828730368,2828795903,ZA -2828795904,2829041663,US +2828795904,2829033471,US +2829033472,2829033727,IN +2829033728,2829041663,US 2829041664,2829041919,AU 2829041920,2829058047,US 2829058048,2829123583,CN 2829123584,2829148159,US -2829148160,2829148415,HK -2829148416,2829174783,US +2829148160,2829148671,HK +2829148672,2829174783,US 2829174784,2829175807,GB 2829175808,2829176319,US 2829176320,2829176831,DE @@ -39446,34 +40141,24 @@ 2829516800,2829582335,BW 2829582336,2829590783,US 2829590784,2829591033,GB -2829591034,2829591034,EU +2829591034,2829591034,US 2829591035,2829591039,GB -2829591040,2829593343,US -2829593344,2829593599,EU -2829593600,2829844479,US +2829591040,2829844479,US 2829844480,2829910015,ZA 2829910016,2830066431,US 2830066432,2830066687,HK -2830066688,2830106623,US +2830066688,2830085887,US +2830085888,2830086143,GB +2830086144,2830106623,US 2830106624,2830172159,CO 2830172160,2830434303,US -2830499840,2830586879,US -2830586880,2830587135,EU -2830587136,2830761983,US +2830499840,2830761983,US 2830761984,2830827519,AU -2830827520,2830830335,KW -2830830336,2830830591,US -2830830592,2830853887,KW -2830853888,2830854143,US -2830854144,2830855935,KW -2830855936,2830856191,US -2830856192,2830893055,KW +2830827520,2830893055,KW 2830893056,2830958591,KR 2830958592,2831286271,US 2831548416,2831613951,AU -2831613952,2831810559,US -2831810560,2831876095,IT -2831876096,2832007167,US +2831613952,2832007167,US 2832072704,2832138239,ZA 2832138240,2832269311,US 2832269312,2832400383,ZA @@ -39483,9 +40168,7 @@ 2832924672,2832990207,KR 2832990208,2833252621,US 2833252622,2833252622,GB -2833252623,2833293311,US -2833293312,2833293567,EU -2833293568,2833383423,US +2833252623,2833383423,US 2833383424,2833448959,AR 2833580032,2833707007,US 2833707008,2833707263,GB @@ -39494,7 +40177,9 @@ 2833842176,2833907711,US 2833907712,2833973247,GT 2833973248,2833989631,US -2834038784,2834497535,US +2834038784,2834186239,US +2834186240,2834186495,GB +2834186496,2834497535,US 2834497536,2834563071,SV 2834563072,2834825215,US 2834825216,2834956287,KR @@ -39502,7 +40187,7 @@ 2835087360,2835152895,AU 2835218432,2835283967,US 2835283968,2835349503,MX -2835349504,2837446655,US +2835480576,2837446655,US 2837446656,2839543807,CH 2839543808,2843803647,US 2843803648,2843869183,ZA @@ -39511,22 +40196,24 @@ 2844590080,2844783359,US 2844783360,2844783615,AU 2844783616,2844784639,DE -2844784640,2844902655,US +2844784640,2844862975,US +2844862976,2844863231,CA +2844863232,2844902655,US 2844902656,2844902911,SG 2844902912,2844912639,US 2844912640,2844912895,JP 2844912896,2845704191,US -2845704192,2845755391,CU -2845755392,2845755647,EU -2845755648,2845769727,CU -2845835264,2848522239,US +2845704192,2845769727,CU +2845835264,2848276479,US +2848325632,2848522239,US 2848522240,2848587775,AU 2848587776,2848653311,ZA 2848653312,2848980991,US 2848980992,2849964031,KR 2849964032,2850029567,HK -2850029568,2851995647,US -2852126720,2852716653,US +2850029568,2851012607,US +2851078144,2851995647,US +2852192256,2852716653,US 2852716654,2852716654,AU 2852716655,2852765695,US 2852765696,2852765951,GB @@ -39535,37 +40222,37 @@ 2853371904,2853765119,US 2853765120,2853830655,MX 2853830656,2854603775,US -2854603776,2854604031,NL +2854603776,2854604031,GB 2854604032,2854617087,US 2854617088,2854682623,MY 2854748160,2855469055,US -2855469056,2855484415,PY -2855484416,2855485439,AR +2855469056,2855484671,PY +2855484672,2855485439,AR 2855485440,2855501823,UY 2855501824,2855534591,AR -2855534592,2855706623,US -2855706624,2855706879,EU -2855706880,2855811583,US +2855534592,2855811583,US 2855811584,2855811839,DE 2855811840,2856058879,US 2856058880,2856124415,CH 2856124416,2856184831,US 2856184832,2856185855,GB -2856185856,2856452095,US +2856185856,2856189439,US +2856189440,2856189695,AU +2856189696,2856452095,US 2856452096,2856517631,BR 2856517632,2856714239,US 2856714240,2856779775,MX -2856779776,2857369599,US -2857697280,2857766655,US -2857766656,2857766911,EU -2857766912,2859007999,US +2856779776,2857074687,US +2857107456,2857238527,US +2857697280,2858352639,US +2858418176,2859007999,US 2859008000,2859073535,JP -2859073536,2861069055,US +2859073536,2860646399,US +2860711936,2861069055,US 2861069056,2861069311,GB -2861069312,2861850623,US -2861850624,2861850879,AP +2861069312,2861850879,US 2861850880,2861851391,HK -2861851392,2861851647,AP +2861851392,2861851647,US 2861851648,2861861375,HK 2861861376,2861862911,US 2861862912,2861863167,AU @@ -39578,13 +40265,11 @@ 2862284800,2862350335,AR 2862350336,2862415871,US 2862415872,2862481407,AU -2862481408,2862751999,US -2862752000,2862752255,EU -2862752256,2863202303,US +2862481408,2863202303,US 2863202304,2863267839,MX 2863267840,2863595519,US 2863595520,2863661055,CA -2863661056,2863857663,US +2863661056,2863825919,US 2863857664,2863923199,SG 2863923200,2864844799,US 2864844800,2864845055,NL @@ -39596,26 +40281,20 @@ 2865577984,2865610751,BE 2865610752,2865889279,US 2865889280,2865954815,AR -2865954816,2867593215,US +2865954816,2867265535,US +2867331072,2867396607,US +2867462144,2867593215,US 2867593216,2867724287,CH 2867855360,2868117503,US 2868379648,2868605376,US 2868605377,2868605377,NO 2868605378,2868658175,US 2868658176,2868658431,GB -2868658432,2868660223,US -2868660224,2868660479,EU -2868660480,2868662271,US -2868662272,2868662527,EU -2868662528,2868673023,US +2868658432,2868673023,US 2868673024,2868673279,FR -2868673280,2868674336,US -2868674337,2868674337,EU -2868674338,2868676607,US +2868673280,2868676607,US 2868676608,2868676863,AU -2868676864,2868682752,US -2868682753,2868682753,AP -2868682754,2868689407,US +2868676864,2868689407,US 2868689408,2868689663,AU 2868689664,2868689919,US 2868689920,2868690175,SG @@ -39629,17 +40308,13 @@ 2870018048,2870083583,DE 2870083584,2870089727,FR 2870089728,2870091775,DE -2870091776,2870095871,FR -2870095872,2870096127,SG -2870096128,2870149119,FR +2870091776,2870149119,FR 2870149120,2870214655,HU 2870214656,2870280191,DK 2870280192,2870345727,NL 2870345728,2870411263,GB 2870411264,2870476799,NO -2870476800,2870536447,DE -2870536448,2870536703,ES -2870536704,2870542335,DE +2870476800,2870542335,DE 2870542336,2870575103,CH 2870575104,2870583295,SE 2870583296,2870584319,NO @@ -39651,8 +40326,7 @@ 2870588160,2870588415,NL 2870588416,2870588927,HU 2870588928,2870589439,PL -2870589440,2870590975,RU -2870590976,2870591231,LV +2870589440,2870591231,RU 2870591232,2870591487,IT 2870591488,2870591743,PL 2870591744,2870591999,SE @@ -39683,7 +40357,7 @@ 2870935552,2871001087,HU 2871001088,2871066623,SE 2871066624,2871083007,CH -2871083008,2871099391,RO +2871083008,2871099391,FR 2871099392,2871101439,NL 2871101440,2871103487,CZ 2871103488,2871104063,GB @@ -39705,19 +40379,15 @@ 2875719680,2877292543,CN 2877292544,2879336447,US 2879336448,2879336959,GB -2879336960,2879467519,US -2879467520,2879468031,AP -2879468032,2879469567,US -2879469568,2879470079,AP -2879470080,2881486847,US +2879336960,2881486847,US 2881486848,2881487103,GB 2881487104,2882469887,US 2882469888,2882535423,SG 2882535424,2883583999,CN 2883584000,2885681151,VN -2885681152,2886667022,US -2886667023,2886667278,DE -2886667279,2886729727,US +2885681152,2886667007,US +2886667008,2886667263,DE +2886667264,2886729727,US 2887778304,2889875455,US 2894069760,2894921727,US 2894921728,2895118335,GB @@ -39746,9 +40416,7 @@ 2899574784,2899902463,GB 2899902464,2899967999,US 2899968000,2900099071,CA -2900099072,2902458367,US -2902458368,2902462463,US -2902462464,2902507519,US +2900099072,2902507519,US 2902507520,2902515711,CA 2902515712,2902564399,US 2902564400,2902564415,CN @@ -39756,11 +40424,15 @@ 2902564688,2902564703,AU 2902564704,2904555519,US 2904555520,2904817663,CA -2904817664,2905002152,US -2905002153,2905002153,EU -2905002154,2905045247,US +2904817664,2905001983,US +2905001984,2905002152,GB +2905002153,2905002153,US +2905002154,2905002495,GB +2905002496,2905045247,US 2905045248,2905045503,SG -2905045504,2905473023,US +2905045504,2905405679,US +2905405680,2905405687,CN +2905405688,2905473023,US 2905473024,2905481215,CA 2905481216,2913992703,US 2913992704,2914516991,CA @@ -39800,13 +40472,17 @@ 2916319232,2916335615,PR 2916335616,2916368383,US 2916368384,2916401151,CA -2916401152,2916515839,US +2916401152,2916417535,US +2916433920,2916515839,US 2916515840,2916519935,CA 2916519936,2916581375,US 2916581376,2916614143,PR -2916614144,2917195775,US -2917195776,2917199871,A2 -2917199872,2917203967,CA +2916614144,2917117951,US +2917117952,2917122047,NL +2917122048,2917179391,US +2917181440,2917181951,US +2917183488,2917195775,US +2917195776,2917203967,CA 2917203968,2917257215,US 2917257216,2917261311,KY 2917261312,2917265407,US @@ -39821,7 +40497,9 @@ 2917621760,2917629951,CA 2917629952,2917653503,US 2917653504,2917654015,GB -2917654016,2917704191,US +2917654016,2917700959,US +2917700960,2917700967,CN +2917700968,2917704191,US 2917704192,2917704447,CA 2917704448,2917842175,US 2917842176,2917842431,CA @@ -39834,8 +40512,8 @@ 2918121472,2918154239,US 2918154240,2918170623,CA 2918170624,2918187775,US -2918187776,2918187839,CA -2918187840,2918232063,US +2918187776,2918188031,CA +2918188032,2918232063,US 2918232064,2918236159,CA 2918236160,2918260735,US 2918260736,2918264831,CA @@ -39877,9 +40555,7 @@ 2918842368,2918875135,CA 2918875136,2918973439,US 2918973440,2918989823,CA -2918989824,2919010559,US -2919010560,2919010815,CA -2919010816,2919020543,US +2918989824,2919020543,US 2919020544,2919020559,CA 2919020560,2919020607,US 2919020608,2919020623,CA @@ -39935,20 +40611,32 @@ 2921594880,2925002751,US 2925002752,2925527039,CA 2925527040,2926575615,US -2926575616,2927099903,CA -2927099904,2928175551,US +2926575616,2926778111,CA +2926778112,2926778367,US +2926778368,2927084799,CA +2927084800,2927085055,US +2927085056,2927085567,CA +2927085568,2927085823,US +2927085824,2927099903,CA +2927099904,2927581183,US +2927581184,2927581439,SG +2927581440,2928175551,US 2928175552,2928175559,VN 2928175560,2928177151,US -2928177152,2928181247,CA -2928181248,2928226303,US +2928177152,2928178431,CA +2928178432,2928178687,US +2928178688,2928181247,CA +2928181248,2928197631,US +2928214016,2928226303,US 2928226304,2928230399,CA 2928230400,2928263167,US 2928263168,2928279551,CA 2928279552,2928312319,US 2928312320,2928316415,CA +2928316416,2928320511,HK 2928320512,2928328703,US 2928328704,2928336895,CA -2928345088,2928455679,US +2928336896,2928455679,US 2928455680,2928459775,CA 2928459776,2928541695,US 2928541696,2928570671,CA @@ -39986,13 +40674,13 @@ 2938710016,2938712063,AU 2938712064,2938716159,TW 2938716160,2938732543,JP -2938732544,2938733823,SG -2938733824,2938734079,AP -2938734080,2938748927,SG +2938732544,2938748927,SG 2938748928,2938765311,JP 2938765312,2938961919,CN 2938961920,2938978303,HK -2938978304,2938996735,AU +2938978304,2938986495,AU +2938986496,2938986751,NZ +2938986752,2938996735,AU 2938996736,2938998783,JP 2938998784,2939002879,AU 2939002880,2939004927,KR @@ -40067,10 +40755,9 @@ 2947603456,2947604479,TH 2947604480,2947609599,HK 2947609600,2947609855,GB -2947609856,2947610111,US -2947610112,2947611135,HK -2947611136,2947611391,AU -2947611392,2947612671,HK +2947609856,2947611199,HK +2947611200,2947611263,AU +2947611264,2947612671,HK 2947612672,2947678207,JP 2947678208,2947743743,CN 2947743744,2947809279,JP @@ -40093,14 +40780,13 @@ 2953457664,2953459711,DE 2953459712,2953461759,IT 2953461760,2953465855,ES -2953465856,2953466111,EU 2953466112,2953466127,GB -2953466128,2953466367,EU 2953466368,2953466879,GB -2953466880,2953467391,EU -2953467392,2953467903,GB +2953467392,2953467647,GB 2953467904,2953469951,BE -2953469952,2953478143,CH +2953469952,2953474815,CH +2953474816,2953475071,DE +2953475072,2953478143,CH 2953478144,2953503551,SE 2953503552,2953503559,NO 2953503560,2953510911,SE @@ -40126,13 +40812,9 @@ 2954756096,2954821631,TR 2954821632,2954823395,FR 2954823396,2954823399,GB -2954823400,2954824455,FR -2954824456,2954824463,NL -2954824464,2954827799,FR +2954823400,2954827799,FR 2954827800,2954827807,DE -2954827808,2954828799,FR -2954828800,2954828815,NL -2954828816,2954829751,FR +2954827808,2954829751,FR 2954829752,2954829752,ES 2954829753,2954829759,FR 2954829760,2954829823,ES @@ -40168,9 +40850,7 @@ 2954855508,2954855511,DE 2954855512,2954861875,FR 2954861876,2954861879,CH -2954861880,2954862211,FR -2954862212,2954862215,PT -2954862216,2954863615,FR +2954861880,2954863615,FR 2954863616,2954864639,DE 2954864640,2954865663,IT 2954865664,2954866687,ES @@ -40197,7 +40877,9 @@ 2954948608,2954950655,RU 2954950656,2954952703,ES 2954952704,2955018239,TR -2955018240,2955034623,JP +2955018240,2955027726,JP +2955027727,2955027727,IE +2955027728,2955034623,JP 2955034624,2955083775,IE 2955083776,2955149311,GB 2955149312,2955411455,UA @@ -40236,7 +40918,7 @@ 2956496896,2956500991,IR 2956500992,2956503039,NL 2956503040,2956504063,CY -2956504064,2956504319,NL +2956504064,2956504319,CH 2956504320,2956504575,RU 2956504576,2956504831,NL 2956504832,2956505087,RU @@ -40256,7 +40938,9 @@ 2956548096,2956550143,ME 2956550144,2956554239,ES 2956554240,2956558335,IT -2956558336,2956574719,DE +2956558336,2956574527,DE +2956574528,2956574559,PL +2956574560,2956574719,DE 2956574720,2956576767,SE 2956576768,2956578815,ES 2956578816,2956582911,RU @@ -40272,11 +40956,9 @@ 2956613632,2956613887,GB 2956613888,2956614143,NL 2956614144,2956614399,FR -2956614400,2956614655,EU 2956614656,2956614911,GB 2956614912,2956615167,NL 2956615168,2956615423,FR -2956615424,2956615679,EU 2956615680,2956623871,GB 2956623872,2956656639,GR 2956656640,2956722175,RU @@ -40505,8 +41187,12 @@ 2959765504,2959767551,RU 2959767552,2959769599,RS 2959769600,2959777791,RU -2959777792,2959783935,LV -2959783936,2959785983,SK +2959777792,2959781887,LV +2959781888,2959782399,SK +2959782400,2959782655,LV +2959782656,2959783083,SK +2959783084,2959783084,LV +2959783085,2959785983,SK 2959785984,2959794175,UA 2959794176,2959796223,IL 2959796224,2959806463,RU @@ -40572,14 +41258,7 @@ 2960080896,2960084991,RU 2960084992,2960089087,UA 2960089088,2960091135,RU -2960091136,2960093147,PT -2960093148,2960093148,GB -2960093149,2960093149,PT -2960093150,2960093150,NL -2960093151,2960093151,FR -2960093152,2960093152,DE -2960093153,2960093153,ES -2960093154,2960093183,PT +2960091136,2960093183,PT 2960093184,2960105471,PL 2960105472,2960107519,RO 2960109568,2960113663,UA @@ -40599,7 +41278,8 @@ 2960162816,2960171007,CZ 2960171008,2960175103,RU 2960175104,2960179199,SK -2960179200,2960211967,RU +2960179200,2960205823,RU +2960207872,2960211967,RU 2960220160,2960224255,RO 2960224256,2960228351,RU 2960228352,2960232447,TJ @@ -40666,7 +41346,8 @@ 2960592896,2960594943,RU 2960594944,2960596991,UA 2960596992,2960605183,PL -2960605184,2960629759,UA +2960605184,2960621567,UA +2960621568,2960629759,CZ 2960629760,2960646143,RU 2960646144,2960648191,KZ 2960648192,2960650239,UA @@ -40832,9 +41513,7 @@ 2967601152,2967633919,HU 2967633920,2967666687,RU 2967666688,2967699455,TR -2967699456,2967702143,GB -2967702144,2967702271,EU -2967702272,2967703551,GB +2967699456,2967703551,GB 2967703552,2967707647,ES 2967707648,2967709695,PL 2967709696,2967711743,IT @@ -40860,14 +41539,51 @@ 2968633344,2968643583,RU 2968643584,2968645631,NO 2968645632,2968647679,PL -2968647680,2968647935,FR -2968647936,2968649727,GB +2968647680,2968648223,FR +2968648224,2968648255,CH +2968648256,2968648287,GB +2968648288,2968648319,BE +2968648320,2968648479,FR +2968648480,2968648511,CH +2968648512,2968648543,GB +2968648544,2968648575,BE +2968648576,2968649727,FR 2968649728,2969042943,IT 2969042944,2969567231,GB -2969567232,2972174079,BR -2972174080,2972174335,AU -2972174336,2984247295,BR -2984247296,2985295871,MX +2969567232,2971073535,BR +2971074560,2972507135,BR +2972508160,2974243839,BR +2974244864,2974433279,BR +2974449664,2975112191,BR +2975113216,2975149055,BR +2975150080,2975157247,BR +2975158272,2975210495,BR +2975211520,2975243263,BR +2975244288,2975263743,BR +2975264768,2975271935,BR +2975272960,2975300607,BR +2975301632,2975308799,BR +2975309824,2975321087,BR +2975322112,2975329279,BR +2975330304,2975333375,BR +2975334400,2975596543,BR +2975858688,2977770495,BR +2977771520,2977790975,BR +2977792000,2977823743,BR +2977824768,2977991679,BR +2977992704,2978008063,BR +2978009088,2978012159,BR +2978013184,2978028543,BR +2978029568,2978559999,BR +2978562048,2978568191,BR +2978570240,2978584575,BR +2978586624,2978609151,BR +2978611200,2979576831,BR +2979577856,2981723135,BR +2981724160,2984148991,BR +2984181760,2984243199,BR +2984247296,2984935423,MX +2985033728,2985295871,MX 2986344448,2987393023,DE 2987393024,2987397119,IM 2987397120,2987401215,LV @@ -40890,7 +41606,7 @@ 2987462656,2987466751,RS 2987466752,2987470847,GB 2987470848,2987474431,IQ -2987474432,2987474943,US +2987474432,2987474943,DE 2987474944,2987479039,GB 2987479040,2987487231,CZ 2987487232,2987491327,HR @@ -40901,9 +41617,7 @@ 2987500208,2987503615,MD 2987503616,2987511807,RU 2987511808,2987515903,JO -2987515904,2987516159,US -2987516160,2987517951,A2 -2987517952,2987518207,DE +2987515904,2987518207,DE 2987518208,2987519487,US 2987519488,2987519999,DE 2987520000,2987524095,GB @@ -41153,16 +41867,16 @@ 2988526416,2988526423,ES 2988526424,2988527831,FR 2988527832,2988527839,ES -2988527840,2988529247,FR -2988529248,2988529251,GB -2988529252,2988535807,FR +2988527840,2988529351,FR +2988529352,2988529359,GB +2988529360,2988529375,FR +2988529376,2988529383,GB +2988529384,2988535807,FR 2988535808,2988537855,ES 2988537856,2988544671,FR 2988544672,2988544687,GB 2988544688,2988544691,NL -2988544692,2988546451,FR -2988546452,2988546455,ES -2988546456,2988547655,FR +2988544692,2988547655,FR 2988547656,2988547663,PL 2988547664,2988547871,FR 2988547872,2988547903,GB @@ -41173,12 +41887,14 @@ 2988550440,2988550463,FR 2988550464,2988550527,DE 2988550528,2988555527,FR -2988555528,2988555531,DE +2988555528,2988555531,ES 2988555532,2988556207,FR 2988556208,2988556211,DE 2988556212,2988558203,FR 2988558204,2988558207,DE -2988558208,2988561763,FR +2988558208,2988561583,FR +2988561584,2988561591,GB +2988561592,2988561763,FR 2988561764,2988561767,IT 2988561768,2988562847,FR 2988562848,2988562863,GB @@ -41199,14 +41915,14 @@ 2989883392,2989948927,UA 2989948928,2990014463,FI 2990014464,2990079999,PL -2990080000,2990145535,RU +2990080000,2990135295,RU +2990135296,2990137343,GB +2990137344,2990145535,RU 2990145536,2990211071,SI 2990211072,2990276607,GR 2990276608,2990342143,ES -2990342144,2990385919,KW -2990385920,2990386175,US -2990386176,2990407679,KW -2990407680,2990473215,RU +2990342144,2990407679,KW +2990407680,2990473215,NL 2990473216,2990475674,DE 2990475675,2990475675,HR 2990475676,2990500113,DE @@ -41214,8 +41930,7 @@ 2990500116,2990538751,DE 2990538752,2991063039,RU 2991063040,2991067135,SE -2991067136,2991070975,DK -2991070976,2991071231,SE +2991067136,2991071231,DK 2991071232,2991079423,NO 2991079424,2991095807,RU 2991095808,2991112191,AM @@ -41223,7 +41938,9 @@ 2991128576,2991144959,PL 2991144960,2991161343,SA 2991161344,2991177727,FR -2991177728,2991194111,SE +2991177728,2991179503,SE +2991179504,2991179507,ES +2991179508,2991194111,SE 2991194112,2991210495,NO 2991210496,2991243263,RU 2991243264,2991259647,UA @@ -41232,13 +41949,9 @@ 2991308800,2991325183,BG 2991325184,2991341567,AZ 2991341568,2991357951,MD -2991357952,2991358207,DE -2991358208,2991358463,US -2991358464,2991361279,DE -2991361280,2991361535,US -2991361536,2991366143,DE -2991366144,2991366399,US -2991366400,2991374335,DE +2991357952,2991362559,DE +2991362560,2991362623,US +2991362624,2991374335,DE 2991374336,2991390719,RU 2991390720,2991407103,BA 2991407104,2991423487,DE @@ -41282,7 +41995,7 @@ 2995046400,2995048447,RU 2995048448,2995050495,NL 2995050496,2995050561,AL -2995050562,2995050562,RS +2995050562,2995050562,XK 2995050563,2995052543,AL 2995052544,2995056639,DK 2995056640,2995058687,DE @@ -41302,7 +42015,9 @@ 2996174848,2996305919,UA 2996305920,2996436991,QA 2996436992,2996469759,BY -2996469760,2996535295,RU +2996469760,2996502399,RU +2996502400,2996502431,TR +2996502432,2996535295,RU 2996535296,2996568063,DK 2996568064,2996600831,ES 2996600832,2996633599,RO @@ -41324,9 +42039,9 @@ 2996809728,2996813823,UA 2996813824,2996817919,PL 2996817920,2996826111,UA -2996826112,2996828160,BY -2996828161,2996830208,RU -2996830209,2996862975,HR +2996826112,2996828159,BY +2996828160,2996830207,RU +2996830208,2996862975,HR 2996862976,2996895743,AM 2996895744,2996928511,KW 2996928512,2996994047,RU @@ -41392,7 +42107,11 @@ 2998140928,2998403071,PL 2998403072,2998665215,RU 2998665216,2998927359,AT -2998927360,2999451647,CH +2998927360,2998991615,CH +2998991616,2998991871,DE +2998991872,2999380351,CH +2999380352,2999380479,DE +2999380480,2999451647,CH 2999451648,2999713791,DE 2999713792,2999975935,RU 2999975936,2999984127,FR @@ -41550,7 +42269,6 @@ 3000682496,3000684543,UZ 3000684544,3000688639,RU 3000688640,3000692735,PL -3000692736,3000696831,UA 3000696832,3000700927,RS 3000700928,3000705023,PL 3000705024,3000709119,RU @@ -41828,41 +42546,153 @@ 3003128320,3003128575,PY 3003128576,3003128831,CO 3003128832,3003129087,TT -3003129856,3003154431,CR +3003129344,3003129599,BO +3003129600,3003129855,HN +3003129856,3003138815,CR +3003138816,3003139071,PA +3003139072,3003139583,CR +3003139584,3003140351,PA +3003140352,3003140863,CR +3003140864,3003141119,PA +3003141120,3003143935,CR +3003143936,3003144447,PA +3003144448,3003146239,CR +3003146240,3003146495,PA +3003146496,3003147007,CR +3003147008,3003147263,PA +3003147264,3003148031,CR +3003148032,3003148543,PA +3003148544,3003149055,CR +3003149056,3003149311,PA +3003149312,3003152127,CR +3003152128,3003152383,PA +3003152384,3003154431,CR 3003154432,3003154687,CL 3003154688,3003154943,EC -3003154944,3003158527,AR +3003154944,3003159039,AR +3003159040,3003159295,CO +3003159296,3003160575,AR +3003160576,3003161599,CL +3003162624,3003170815,CR 3003187200,3003252735,CO 3003252736,3003449343,CL 3003449344,3003514879,SV 3003514880,3003645951,PE 3003645952,3003777023,CL 3003908096,3004170239,CO +3004432384,3004694527,VE 3004694528,3005218815,UY 3005218816,3005349887,CO 3005480960,3005874175,AR -3005874176,3005915135,PA +3005874176,3005875455,PA +3005875456,3005875711,CO +3005875712,3005879807,PA +3005879808,3005880063,CO +3005880064,3005881343,PA +3005881344,3005881599,CO +3005881600,3005883135,PA +3005883136,3005883391,CO +3005883392,3005886975,PA +3005886976,3005887487,CO +3005887488,3005887999,PA +3005888000,3005888255,CO +3005888256,3005890047,PA +3005890048,3005890303,CO +3005890304,3005891071,PA +3005891072,3005891327,CO +3005891328,3005893119,PA +3005893120,3005893375,CO +3005893376,3005893887,PA +3005893888,3005894143,CO +3005894144,3005894655,PA +3005894656,3005894911,CO +3005894912,3005896703,PA +3005896704,3005896959,CO +3005896960,3005902591,PA +3005902592,3005902847,CO +3005902848,3005903615,PA +3005903616,3005903871,CO +3005903872,3005905919,PA +3005905920,3005906431,CO +3005906432,3005906687,PA +3005906688,3005906943,CO +3005906944,3005911039,PA +3005911040,3005911295,CO +3005911296,3005913855,PA +3005913856,3005914111,CO +3005914112,3005915135,PA +3005915136,3005918207,AR +3005918208,3005919231,CO 3005919232,3005923327,AR 3005923328,3005939711,BZ +3005939712,3005956095,CR +3005956096,3005960191,AR +3005960192,3005965311,PE +3005965312,3005966335,AR +3005966336,3005968383,CO +3005968384,3005972479,AR +3005972480,3005988863,CH 3005988864,3006005247,DO 3006005248,3006267391,VE 3006267392,3006267647,PA 3006267648,3006267903,NI -3006267904,3006271231,PA +3006267904,3006268671,PA +3006268672,3006268927,NI +3006268928,3006271231,PA 3006271232,3006271487,NI -3006271488,3006277887,PA +3006271488,3006273535,PA +3006273536,3006273791,NI +3006273792,3006275583,PA +3006275584,3006275839,NI +3006275840,3006276095,PA +3006276096,3006276351,NI +3006276352,3006277887,PA 3006277888,3006278143,NI -3006278144,3006292991,PA +3006278144,3006279167,PA +3006279168,3006279423,NI +3006279424,3006283519,PA +3006283520,3006283775,NI +3006283776,3006284031,PA +3006284032,3006284287,CR +3006284288,3006284799,PA +3006284800,3006285055,CR +3006285056,3006285311,PA +3006285312,3006285567,CR +3006285568,3006285823,PA +3006285824,3006286079,CR +3006286080,3006287103,PA +3006287104,3006287359,CR +3006287360,3006288639,PA +3006288640,3006288895,CR +3006288896,3006291455,PA +3006291456,3006291711,CR +3006291712,3006292991,PA 3006292992,3006293247,CR 3006293248,3006296575,PA 3006296576,3006296831,CR 3006296832,3006308351,PA -3006308352,3006308607,CR -3006308608,3006322431,PA -3006322432,3006322687,CR -3006322688,3006330367,PA +3006308352,3006308863,CR +3006308864,3006310143,PA +3006310144,3006310399,CR +3006310400,3006311679,PA +3006311680,3006312191,CR +3006312192,3006312703,PA +3006312704,3006312959,CR +3006312960,3006315519,PA +3006315520,3006315775,CR +3006315776,3006321663,PA +3006321664,3006321919,CR +3006321920,3006322431,PA +3006322432,3006323199,CR +3006323200,3006323455,PA +3006323456,3006323711,CR +3006323712,3006329343,PA +3006329344,3006329855,NI +3006329856,3006330367,PA 3006330368,3006330623,NI 3006330624,3006330879,PA +3006330880,3006331903,CR +3006331904,3006332927,AR 3006332928,3006349311,EC 3006349312,3006351359,PE 3006351360,3006353407,AR @@ -41871,17 +42701,45 @@ 3006361600,3006363647,HN 3006363648,3006365695,AR 3006365696,3006431231,CO +3006431232,3006463999,CR 3006464000,3006480383,SV -3006496768,3006529535,CR +3006480384,3006484479,DO +3006484480,3006488575,AR +3006488576,3006496767,CO +3006496768,3006500351,CR +3006500352,3006500607,MX +3006500608,3006506239,CR +3006506240,3006506495,MX +3006506496,3006506751,CR +3006506752,3006507007,MX +3006507008,3006507519,CR +3006507520,3006507775,MX +3006507776,3006512895,CR +3006512896,3006513151,MX +3006513152,3006513407,CR +3006513408,3006513663,PA +3006513664,3006514431,CR +3006514432,3006514687,PA +3006514688,3006517503,CR +3006517504,3006517759,NI +3006517760,3006518783,CR +3006518784,3006519039,NI +3006519040,3006521343,CR +3006521344,3006528511,AR +3006528512,3006529535,BZ 3006529536,3006660607,DO 3006791680,3006922751,CL -3006922752,3006988287,BO +3006922752,3007053823,BO 3007053824,3007062015,AR +3007062016,3007066111,CO +3007066112,3007070207,EC 3007070208,3007078399,CL 3007078400,3007082495,AR 3007082496,3007086591,BO 3007086592,3007090687,PA -3007090688,3007092735,BZ +3007090688,3007091711,NL +3007091712,3007092223,RU +3007092224,3007092735,DE 3007092736,3007094783,AR 3007094784,3007096831,CR 3007096832,3007098879,AR @@ -41892,21 +42750,82 @@ 3007107072,3007108095,AR 3007108096,3007109119,TT 3007109120,3007111167,AR +3007111168,3007112191,PE +3007112192,3007115263,AR +3007115264,3007116287,CO +3007116288,3007117311,EC +3007117312,3007122431,AR +3007122432,3007123455,CL +3007123456,3007143935,AR +3007143936,3007148031,CL +3007148032,3007152127,CO +3007152128,3007184895,CL 3007184896,3007250431,AR -3007250432,3007272191,CR +3007250432,3007268095,CR +3007268096,3007268351,PA +3007268352,3007269631,CR +3007269632,3007269887,PA +3007269888,3007270911,CR +3007270912,3007271167,PA +3007271168,3007272191,CR 3007272192,3007272447,PA -3007272448,3007299583,CR +3007272448,3007272959,CR +3007272960,3007273215,PA +3007273216,3007274751,CR +3007274752,3007275007,PA +3007275008,3007279359,CR +3007279360,3007279871,PA +3007279872,3007280639,CR +3007280640,3007280895,PA +3007280896,3007281151,CR +3007281152,3007281407,PA +3007281408,3007281663,CR +3007281664,3007281919,PA +3007281920,3007283967,CR +3007283968,3007284223,PA +3007284224,3007286015,CR +3007286016,3007286271,PA +3007286272,3007286783,CR +3007286784,3007287295,PA +3007287296,3007287551,CR +3007287552,3007287807,MX +3007287808,3007289087,CR +3007289088,3007289343,MX +3007289344,3007292415,CR +3007292416,3007292671,MX +3007292672,3007293439,CR +3007293440,3007293695,MX +3007293696,3007294207,CR +3007294208,3007294463,MX +3007294464,3007294719,CR +3007294720,3007294975,MX +3007294976,3007296767,CR +3007296768,3007297023,MX +3007297024,3007299583,CR 3007299584,3007301631,PA 3007301632,3007305727,AR +3007305728,3007307775,BZ 3007307776,3007310847,CL 3007310848,3007312895,AR 3007312896,3007313919,CL 3007313920,3007314943,AR 3007314944,3007315967,HN -3007315968,3019898879,BR -3019898880,3022660863,JP -3022660864,3022661119,US -3022661120,3024093183,JP +3007315968,3009472511,BR +3009474560,3009527807,BR +3009544192,3010002943,BR +3010068480,3010111487,BR +3010113536,3010166783,BR +3010174976,3010246655,BR +3010248704,3012427775,BR +3012558848,3015526399,BR +3015528448,3015536639,BR +3015540736,3015544831,BR +3015548928,3015589887,BR +3015606272,3015641087,BR +3015643136,3015653375,BR +3015655424,3015696383,BR +3015704576,3019898879,BR +3019898880,3024093183,JP 3024093184,3024617471,KR 3024617472,3024879615,MY 3024879616,3025141759,CN @@ -41916,14 +42835,28 @@ 3025603840,3025604095,HK 3025604096,3025604381,IN 3025604382,3025604637,SG -3025604638,3025607167,IN +3025604638,3025606815,IN +3025606816,3025606831,SG +3025606832,3025607167,IN 3025607168,3025607423,SG 3025607424,3025607679,HK -3025607680,3025620991,IN +3025607680,3025608191,IN +3025608192,3025608203,JP +3025608204,3025616895,IN +3025616896,3025617407,SG +3025617408,3025618943,IN +3025618944,3025619455,SG +3025619456,3025620991,IN 3025620992,3025621247,PH 3025621248,3025625391,IN 3025625392,3025625395,SG -3025625396,3025631239,IN +3025625396,3025625407,IN +3025625408,3025625471,SG +3025625472,3025625599,IN +3025625600,3025625855,SG +3025625856,3025629439,IN +3025629440,3025629467,HK +3025629468,3025631239,IN 3025631240,3025631247,AU 3025631248,3025633535,IN 3025633536,3025633791,HK @@ -41934,14 +42867,20 @@ 3025638280,3025638287,SG 3025638288,3025638399,IN 3025638400,3025638655,SG -3025638656,3025639167,IN +3025638656,3025638783,IN +3025638784,3025638787,HK +3025638788,3025639167,IN 3025639168,3025639175,SG 3025639176,3025639423,IN 3025639424,3025639679,SG 3025639680,3025639935,HK 3025639936,3025640447,IN 3025640448,3025640703,MY -3025640704,3025647103,IN +3025640704,3025641727,IN +3025641728,3025641743,HK +3025641744,3025641759,IN +3025641760,3025641775,HK +3025641776,3025647103,IN 3025647104,3025647359,SG 3025647360,3025647615,AU 3025647616,3025649151,IN @@ -41973,21 +42912,7 @@ 3026069504,3026071551,JP 3026071552,3026073599,HK 3026073600,3026075647,CN -3026075648,3026077183,AF -3026077184,3026077695,US -3026077696,3026077951,AF -3026077952,3026078207,US -3026078208,3026079487,AF -3026079488,3026079743,US -3026079744,3026079999,AF -3026080000,3026080255,US -3026080256,3026080769,AF -3026080770,3026080770,US -3026080771,3026081791,AF -3026081792,3026082047,US -3026082048,3026082303,AF -3026082304,3026082559,US -3026082560,3026083839,AF +3026075648,3026083839,AF 3026083840,3026087935,CN 3026087936,3026089983,AU 3026092032,3026108415,MO @@ -42010,8 +42935,7 @@ 3028521984,3028523007,LA 3028523008,3028525055,JP 3028525056,3028533247,HK -3028533248,3028537343,JP -3028537344,3028549631,US +3028533248,3028549631,JP 3028549632,3028811775,KR 3028811776,3029336063,CN 3029336064,3029598207,JP @@ -42141,13 +43065,7 @@ 3034472448,3034478591,IN 3034478592,3034480639,JP 3034480640,3034482687,SG -3034482688,3034483455,AF -3034483456,3034483711,US -3034483712,3034484223,AF -3034484224,3034484351,US -3034484352,3034484383,AF -3034484384,3034484479,US -3034484480,3034484735,AF +3034482688,3034484735,AF 3034484736,3034488831,TH 3034488832,3034492927,NZ 3034492928,3034497023,JP @@ -42202,10 +43120,18 @@ 3039166464,3039231999,PA 3039297536,3039363071,PY 3039363072,3039412223,BZ -3039412224,3039420415,CL +3039412224,3039412991,CL +3039412992,3039413247,BR +3039413248,3039415295,CL +3039415296,3039415807,BR +3039415808,3039417087,CL +3039417088,3039417343,BR +3039417344,3039419647,CL +3039419648,3039420159,BR +3039420160,3039420415,CL 3039420416,3039428607,AR 3039428608,3039559679,CL -3039690752,3039821823,AR +3039559680,3039821823,AR 3039821824,3040870399,CO 3040870400,3041132543,PE 3041132544,3041394687,CO @@ -42226,9 +43152,12 @@ 3044245504,3044278271,BO 3044278272,3044417535,AR 3044417536,3044425727,PA -3044425728,3044442111,AR +3044425728,3044446207,AR +3044446208,3044450303,CO 3044450304,3044454399,CL -3044454400,3044503551,AR +3044454400,3044482559,AR +3044482560,3044482687,CO +3044482688,3044503551,AR 3044503552,3044507647,US 3044507648,3044540415,AR 3044540416,3045064703,PY @@ -42237,12 +43166,23 @@ 3047424000,3047948287,AR 3047948288,3048079359,CL 3048079360,3048095743,CO +3048095744,3048112127,GT 3048112128,3048120319,AR -3048128512,3048144895,CR +3048120320,3048121343,PY +3048121344,3048122367,PA +3048122368,3048123391,CR +3048123392,3048126463,AR +3048126464,3048128511,VE +3048128512,3048132607,AR +3048132608,3048135935,CR +3048135936,3048136447,PA +3048136448,3048144895,CR 3048144896,3048210431,EC 3048210432,3048275967,PE 3048275968,3048292351,AR -3048292352,3048308735,BZ +3048292352,3048292607,BZ +3048292608,3048293375,HN +3048293376,3048308735,BZ 3048308736,3048325119,BO 3048325120,3048331263,AR 3048331264,3048332287,GY @@ -42251,6 +43191,8 @@ 3048341504,3048472575,PA 3048472576,3048996863,VE 3048996864,3049029631,TT +3049029632,3049046015,BO +3049046016,3049062399,EC 3049062400,3049078271,CR 3049078272,3049078527,MX 3049078528,3049095167,CR @@ -42268,11 +43210,13 @@ 3049291776,3049324543,CO 3049324544,3049521151,CR 3049521152,3049586687,EC +3049586688,3049635839,PA +3049635840,3049652223,AR 3049652224,3049750527,EC 3049750528,3049754623,PE 3049754624,3049762815,AR 3049762816,3049766911,HN -3049766912,3049775103,CO +3049766912,3049775103,ES 3049775104,3049783295,PA 3049783296,3050045439,CL 3050045440,3050307583,CO @@ -42280,7 +43224,12 @@ 3050373120,3050405887,AR 3050405888,3050438655,GT 3050438656,3050504191,HN -3051356160,3051376895,CR +3050504192,3050569727,EC +3051356160,3051373055,CR +3051373056,3051373311,PA +3051373312,3051374847,CR +3051374848,3051375615,PA +3051375616,3051376895,CR 3051376896,3051377151,PA 3051377152,3051379455,CR 3051379456,3051379711,PA @@ -42312,17 +43261,32 @@ 3051479040,3051487231,CU 3051487232,3051552767,CL 3051552768,3051618303,BO -3051618304,3051749375,AR +3051618304,3051880447,AR 3051880448,3051913215,CO -3051945984,3051964671,CR +3051913216,3051963135,CR +3051963136,3051963391,PA +3051963392,3051964671,CR 3051964672,3051964927,PA -3051964928,3051971071,CR +3051964928,3051965183,CR +3051965184,3051965439,PA +3051965440,3051965695,CR +3051965696,3051965951,PA +3051965952,3051968511,CR +3051968512,3051968767,PA +3051968768,3051969535,CR +3051969536,3051969791,PA +3051969792,3051971071,CR 3051971072,3051971327,PA 3051971328,3051971839,CR 3051971840,3051972351,PA 3051972352,3051973887,CR 3051973888,3051974143,PA -3051974144,3051995135,CR +3051974144,3051974399,CR +3051974400,3051974655,PA +3051974656,3051976191,CR +3051976192,3051976447,PA +3051976448,3051983871,CR +3051984896,3051995135,CR 3051995136,3052011519,PE 3052011520,3052273663,CO 3052273664,3052404735,AR @@ -42391,9 +43355,7 @@ 3057041408,3057049599,MY 3057049600,3057050623,AU 3057050624,3057051647,SG -3057051648,3057051903,AU -3057051904,3057052159,EU -3057052160,3057052415,AU +3057051648,3057052415,AU 3057052416,3057052671,ES 3057052672,3057052927,IL 3057052928,3057053183,GB @@ -42546,15 +43508,20 @@ 3082158080,3082166271,CN 3082166272,3082174463,JP 3082174464,3082178559,PH -3082178560,3082179583,HK 3082179584,3082181631,IN 3082181632,3082182655,ID 3082182656,3082190847,LA 3082190848,3082289151,JP 3082289152,3087007743,CN -3087007744,3088711167,US +3087007744,3088629759,US +3088629760,3088633855,NL +3088633856,3088711167,US 3088711168,3088711423,AU -3088711424,3091202047,US +3088711424,3090325503,US +3090325504,3090329599,NL +3090329600,3090389503,US +3090389504,3090389631,CA +3090389632,3091202047,US 3091202048,3091726335,CA 3091726336,3091955711,US 3091955712,3091959807,CA @@ -42562,7 +43529,15 @@ 3091976192,3091980287,CA 3091980288,3092569343,US 3092569344,3092569599,AU -3092569600,3093168127,US +3092569600,3092615167,US +3092615168,3092619263,NL +3092619264,3092623359,US +3092623360,3092631551,NL +3092631552,3092643839,US +3092643840,3092647935,NL +3092647936,3092688895,US +3092688896,3092692991,NL +3092692992,3093168127,US 3093168128,3093200895,CA 3093200896,3093213183,US 3093213184,3093217279,CA @@ -42576,9 +43551,7 @@ 3093839872,3093843455,NL 3093843456,3093850111,US 3093850112,3093855487,DE -3093855488,3093908991,US -3093908992,3093909247,PR -3093909248,3094020095,US +3093855488,3094020095,US 3094020096,3094032759,CA 3094032760,3094032767,GI 3094032768,3094085631,CA @@ -42605,7 +43578,7 @@ 3098106624,3098106879,NL 3098106880,3098107135,DE 3098107136,3098107391,FR -3098107392,3098107647,EU +3098107392,3098107647,US 3098107648,3098107903,SE 3098107904,3098108159,ES 3098108160,3098108415,IL @@ -42628,9 +43601,11 @@ 3098278848,3098278911,CA 3098278912,3098476543,US 3098476544,3098492927,CA -3098492928,3103784959,US +3098492928,3098525695,US +3098542080,3103784959,US 3103850496,3103850751,RU 3103850752,3103851007,PS +3103851008,3103851263,FR 3103851520,3103852543,PL 3103852544,3103852799,AE 3103852800,3103853567,PL @@ -42641,6 +43616,9 @@ 3103854592,3103854847,UA 3103854848,3103855103,PL 3103855104,3103855359,DE +3103855360,3103855615,RU +3103855616,3103855871,ES +3103855872,3103856127,PL 3103916032,3103917055,CH 3103917056,3103918079,IT 3103918080,3103919103,DE @@ -42649,8 +43627,7 @@ 3103921152,3103922175,CH 3103922176,3103923199,NL 3103923200,3103923711,SE -3103923712,3103923967,NL -3103923968,3103924223,SE +3103923712,3103924223,NL 3103924224,3103925247,RU 3103925248,3103926271,PL 3103926272,3103927295,CZ @@ -42678,7 +43655,8 @@ 3103950848,3103951871,GB 3103951872,3103952895,DE 3103952896,3103953919,IT -3103953920,3103954943,NL +3103953920,3103954431,NL +3103954432,3103954943,ES 3103954944,3103955967,SE 3103955968,3103956991,AT 3103956992,3103958015,DE @@ -42708,7 +43686,6 @@ 3103985664,3103986687,RU 3103986688,3103987711,LB 3103987712,3103988735,FR -3103988736,3103989759,EU 3103989760,3103990783,RU 3103990784,3103991807,IT 3103991808,3103992831,DE @@ -42721,9 +43698,7 @@ 3103998976,3103999999,RU 3104000000,3104002047,GB 3104002048,3104003071,DE -3104003072,3104004863,GB -3104004864,3104005119,EU -3104005120,3104006143,GB +3104003072,3104006143,GB 3104006144,3104007167,DE 3104007168,3104008191,GB 3104008192,3104009215,NL @@ -42792,7 +43767,10 @@ 3104075776,3104076799,NL 3104076800,3104077823,GB 3104077824,3104078847,AT -3104078848,3104079871,FR +3104078848,3104079103,LU +3104079104,3104079359,FR +3104079360,3104079615,LU +3104079616,3104079871,FR 3104079872,3104080895,GB 3104080896,3104081919,GR 3104081920,3104082943,DK @@ -42843,7 +43821,6 @@ 3104128000,3104129023,IT 3104129024,3104130047,GB 3104130048,3104131071,CZ -3104131072,3104132095,EU 3104132096,3104133119,GR 3104133120,3104134143,DE 3104134144,3104135167,ES @@ -42867,8 +43844,8 @@ 3104153600,3104154623,RU 3104154624,3104155647,DK 3104155648,3104156671,DE -3104156672,3104157697,RO -3104157698,3104158719,TR +3104156672,3104157695,RO +3104157696,3104158719,TR 3104158720,3104159743,IT 3104159744,3104160767,CH 3104160768,3104161791,GB @@ -42885,7 +43862,6 @@ 3104173056,3104174079,ES 3104174080,3104175103,IE 3104175104,3104176127,IT -3104176128,3104177151,NO 3104177152,3104178175,UA 3104178176,3104179199,PL 3104179200,3104180223,ES @@ -42924,7 +43900,7 @@ 3104212992,3104214015,HU 3104214016,3104215039,FR 3104215040,3104216063,DE -3104216064,3104218111,GB +3104217088,3104218111,GB 3104218112,3104219135,HU 3104219136,3104220159,NL 3104220160,3104221183,RU @@ -42955,7 +43931,8 @@ 3104247808,3104248831,AT 3104248832,3104250879,CZ 3104250880,3104251903,RU -3104251904,3104252927,NL +3104251904,3104252415,SE +3104252416,3104252927,NL 3104252928,3104253951,FR 3104253952,3104254975,RU 3104254976,3104255999,CZ @@ -43151,7 +44128,6 @@ 3104463872,3104464895,DE 3104464896,3104465919,NL 3104465920,3104466943,GB -3104466944,3104467967,EU 3104467968,3104468991,DE 3104468992,3104470015,SA 3104470016,3104471039,IE @@ -43277,7 +44253,7 @@ 3104598016,3104599039,ES 3104599040,3104600063,TR 3104600064,3104601087,UA -3104601088,3104602111,FR +3104601088,3104602111,PT 3104602112,3104603135,NL 3104603136,3104604159,RU 3104604160,3104605183,CH @@ -43300,8 +44276,7 @@ 3104622592,3104623615,GB 3104623616,3104624639,FR 3104624640,3104625663,RU -3104625664,3104626687,BY -3104626688,3104627711,NL +3104625664,3104627711,NL 3104627712,3104628735,LB 3104628736,3104629759,TR 3104629760,3104630783,RU @@ -43442,7 +44417,7 @@ 3104778240,3104779263,TR 3104779264,3104780287,PL 3104780288,3104782335,FR -3104782336,3104783359,US +3104782336,3104783359,NL 3104783360,3104784383,RU 3104784384,3104785407,BA 3104785408,3104786431,FR @@ -43471,7 +44446,6 @@ 3104809984,3104811007,NL 3104811008,3104812031,IT 3104812032,3104813055,RU -3104813056,3104814079,IT 3104814080,3104816127,DE 3104816128,3104817151,RU 3104817152,3104818175,DE @@ -43686,7 +44660,6 @@ 3105042432,3105043455,FR 3105043456,3105044479,DE 3105044480,3105045503,NL -3105045504,3105046527,IQ 3105046528,3105047551,NO 3105047552,3105048575,ES 3105048576,3105049599,SK @@ -43732,7 +44705,7 @@ 3105091584,3105092607,FR 3105092608,3105093631,UA 3105093632,3105094655,SE -3105094656,3105097727,GB +3105095680,3105097727,GB 3105097728,3105098751,FR 3105098752,3105099775,SE 3105099776,3105100799,FR @@ -43933,15 +44906,15 @@ 3105312768,3105313791,RU 3105313792,3105314815,IT 3105314816,3105315839,GR -3105315840,3105316863,FR -3105316864,3105317887,A2 +3105315840,3105317887,FR 3105317888,3105318911,GB 3105318912,3105319935,UA 3105319936,3105320959,HU 3105320960,3105321983,SK 3105321984,3105323007,GB 3105323008,3105324031,ES -3105324032,3105325055,BH +3105324032,3105324287,SA +3105324288,3105325055,BH 3105325056,3105326079,IR 3105326080,3105328127,FR 3105328128,3105329151,NL @@ -43999,7 +44972,8 @@ 3105386496,3105387519,RU 3105387520,3105388543,IT 3105388544,3105389567,GB -3105389568,3105390591,TR +3105389568,3105389823,LB +3105389824,3105390591,TR 3105390592,3105391615,JO 3105391616,3105392639,NL 3105392640,3105393663,IR @@ -44072,7 +45046,6 @@ 3105466368,3105467391,BE 3105467392,3105468415,GB 3105468416,3105469439,RU -3105469440,3105470463,EU 3105470464,3105471487,CZ 3105471488,3105472511,GB 3105472512,3105473535,CH @@ -44094,7 +45067,7 @@ 3105490944,3105491967,SE 3105491968,3105494015,GB 3105494016,3105495039,BE -3105495040,3105496063,A2 +3105495040,3105496063,AE 3105496064,3105497087,RU 3105497088,3105498111,IR 3105498112,3105499135,DE @@ -44131,7 +45104,7 @@ 3105531904,3105532927,RU 3105532928,3105533951,RS 3105533952,3105534975,BA -3105534976,3105535999,EU +3105534976,3105535999,NO 3105536000,3105537023,AZ 3105537024,3105538047,AT 3105538048,3105539071,RU @@ -44145,8 +45118,8 @@ 3105546240,3105547263,ES 3105547264,3105548287,GB 3105548288,3105549311,IR -3105549312,3105550335,AT -3105550336,3105551359,SK +3105549312,3105550079,AT +3105550080,3105550335,FR 3105551360,3105552383,US 3105552384,3105553407,FR 3105553408,3105554431,DE @@ -44208,9 +45181,7 @@ 3105614848,3105615871,NL 3105615872,3105616895,SE 3105616896,3105617919,GB -3105617920,3105618431,NL -3105618432,3105618687,US -3105618688,3105618943,NL +3105617920,3105618943,NL 3105618944,3105619967,DE 3105619968,3105620991,TR 3105620992,3105622015,DE @@ -44226,7 +45197,7 @@ 3105633280,3105634303,IT 3105634304,3105635327,NL 3105635328,3105636351,GB -3105636352,3105637375,EU +3105636352,3105637375,IT 3105637376,3105637631,NL 3105637632,3105637887,DE 3105637888,3105638399,US @@ -44274,7 +45245,8 @@ 3105683456,3105684479,PL 3105684480,3105686527,GB 3105686528,3105687551,BE -3105687552,3105688575,LV +3105687552,3105687807,SE +3105687808,3105688575,LV 3105688576,3105689599,PL 3105689600,3105690623,SI 3105690624,3105691647,SE @@ -44398,7 +45370,6 @@ 3105817600,3105818623,DE 3105818624,3105819647,NL 3105819648,3105820671,GB -3105820672,3105821695,EU 3105821696,3105822719,ES 3105822720,3105823743,PL 3105823744,3105824767,AT @@ -44436,10 +45407,11 @@ 3105859584,3105860607,GB 3105860608,3105861631,NL 3105861632,3105862655,DK -3105862656,3105863679,DE +3105862656,3105863679,CH 3105863680,3105864703,PL 3105864704,3105865727,AE -3105865728,3105866751,RU +3105865728,3105866239,NL +3105866240,3105866751,RU 3105866752,3105867775,SE 3105867776,3105868799,NL 3105868800,3105869823,GB @@ -44491,7 +45463,6 @@ 3105916928,3105917951,ES 3105917952,3105918975,NL 3105918976,3105919999,PL -3105920000,3105921023,FR 3105921024,3105922047,IE 3105922048,3105923071,PL 3105923072,3105924095,CZ @@ -44503,9 +45474,16 @@ 3105928448,3105929215,CZ 3105929216,3105930239,RU 3105930240,3105931263,PT -3105931264,3105932287,EU 3105932288,3105933311,SE -3105933312,3105934335,GB +3105933312,3105933343,GB +3105933344,3105933359,IT +3105933360,3105933463,GB +3105933464,3105933471,IT +3105933472,3105933591,GB +3105933592,3105933599,IT +3105933600,3105934231,GB +3105934232,3105934239,IT +3105934240,3105934335,GB 3105934336,3105935359,SE 3105935360,3105936383,FR 3105936384,3105937407,CH @@ -44573,10 +45551,10 @@ 3106000896,3106001919,GB 3106001920,3106002943,FR 3106002944,3106003967,DE -3106003968,3106004991,EU +3106003968,3106004991,NL 3106004992,3106006015,CH 3106006016,3106007039,RU -3106007040,3106008063,TR +3106007040,3106008063,CY 3106008064,3106009087,RU 3106009088,3106010111,GB 3106010112,3106011135,RU @@ -44596,7 +45574,14 @@ 3106024448,3106025471,GB 3106025472,3106026495,PL 3106026496,3106027519,NL -3106027520,3106029567,GB +3106027520,3106027535,PL +3106027536,3106027551,FR +3106027552,3106027567,CH +3106027568,3106027583,DE +3106027584,3106027599,CZ +3106027600,3106027615,IT +3106027616,3106027631,NL +3106027632,3106029567,GB 3106029568,3106031615,NL 3106031616,3106032639,AZ 3106032640,3106033663,PL @@ -44704,7 +45689,6 @@ 3106146304,3106147327,GB 3106147328,3106148351,FR 3106148352,3106149375,AT -3106149376,3106150399,EU 3106150400,3106151423,GB 3106151424,3106152447,NO 3106152448,3106153471,GB @@ -44731,6 +45715,605 @@ 3106173952,3106175999,DE 3106176000,3106177023,NO 3106177024,3106178047,IT +3106178048,3106179071,NL +3106179072,3106180095,DE +3106180096,3106181119,NO +3106181120,3106182143,ES +3106182144,3106183167,AX +3106183168,3106184191,PL +3106184192,3106185215,RU +3106185216,3106186239,CZ +3106186240,3106187263,BE +3106187264,3106188287,PL +3106188288,3106189311,RU +3106189312,3106190335,KW +3106190336,3106191359,LU +3106191360,3106192383,DK +3106192384,3106193407,UA +3106193408,3106194431,IR +3106194432,3106195455,UA +3106195456,3106196479,AZ +3106196480,3106198527,ES +3106198528,3106199551,NO +3106199552,3106200575,FR +3106200576,3106202623,CH +3106202624,3106203647,RU +3106203648,3106204671,GR +3106204672,3106205695,MT +3106205696,3106206719,NO +3106206720,3106207743,GE +3106207744,3106208767,SE +3106208768,3106209791,RO +3106209792,3106210815,CH +3106210816,3106211839,NL +3106211840,3106212863,BE +3106212864,3106213887,PS +3106213888,3106214911,DE +3106214912,3106215935,NL +3106215936,3106216959,RS +3106216960,3106217983,FR +3106217984,3106219007,ME +3106219008,3106220031,US +3106220032,3106221055,FR +3106221056,3106222079,IT +3106222080,3106223103,RU +3106223104,3106224127,IR +3106224128,3106226175,RU +3106226176,3106228223,NL +3106228224,3106229247,CH +3106229248,3106230271,GB +3106230272,3106231295,IT +3106231296,3106232319,DK +3106232320,3106233343,IQ +3106233344,3106234367,IT +3106234368,3106235391,QA +3106235392,3106235647,BA +3106235648,3106235903,RU +3106235904,3106236159,RO +3106236160,3106236415,TR +3106236416,3106237439,AT +3106237440,3106238463,QA +3106238464,3106239487,PL +3106239488,3106240511,IT +3106240512,3106241535,IE +3106241536,3106242559,NL +3106243584,3106244607,FI +3106244608,3106245631,DE +3106245632,3106246655,SE +3106246656,3106247679,DE +3106247680,3106248703,NO +3106248704,3106249727,DE +3106249728,3106250751,FR +3106250752,3106251775,IQ +3106251776,3106252799,RU +3106252800,3106253823,RS +3106253824,3106255871,GB +3106255872,3106256895,IT +3106256896,3106257919,TR +3106257920,3106258943,RU +3106258944,3106259967,UA +3106259968,3106260991,GB +3106260992,3106262015,AT +3106262016,3106263039,IT +3106263040,3106264063,PT +3106264064,3106265087,ES +3106265088,3106266111,GB +3106266112,3106267135,FR +3106267136,3106269183,ES +3106269184,3106270207,IS +3106270208,3106271231,GB +3106271232,3106272255,SK +3106272256,3106273279,NL +3106273280,3106274303,DE +3106274304,3106275327,FR +3106275328,3106276351,FI +3106276352,3106277375,AT +3106277376,3106278399,DE +3106278400,3106279423,NL +3106279424,3106280447,RU +3106280448,3106281471,FR +3106281472,3106282495,DK +3106282496,3106283519,LB +3106283520,3106285567,GB +3106285568,3106286591,DE +3106286592,3106287615,GB +3106287616,3106289663,DE +3106289664,3106290687,LV +3106290688,3106291711,IE +3106291712,3106292735,CH +3106292736,3106293759,NO +3106293760,3106294783,UA +3106294784,3106295807,DE +3106295808,3106296831,GB +3106296832,3106297855,RU +3106297856,3106298879,NL +3106298880,3106299903,FR +3106299904,3106300927,GB +3106300928,3106301951,NL +3106301952,3106302975,GB +3106302976,3106303999,CZ +3106304000,3106305023,GB +3106305024,3106306047,DE +3106306048,3106307071,NO +3106307072,3106308095,HU +3106308096,3106309119,ES +3106309120,3106310143,GB +3106310144,3106311167,IT +3106311168,3106312191,PT +3106312192,3106313215,BA +3106313216,3106314239,GB +3106314240,3106316287,NL +3106316288,3106317311,RU +3106317312,3106318335,LT +3106318336,3106319359,AT +3106319360,3106320383,DK +3106320384,3106321407,HR +3106321408,3106322431,DK +3106322432,3106323455,ME +3106323456,3106324479,CZ +3106324480,3106325503,AL +3106325504,3106326527,FR +3106326528,3106326783,NL +3106326784,3106327551,IL +3106327552,3106328575,RU +3106328576,3106329599,UA +3106329600,3106330623,IQ +3106330624,3106331647,UA +3106331648,3106333695,PL +3106333696,3106334719,GB +3106334720,3106335743,NL +3106335744,3106336767,NO +3106336768,3106337791,RU +3106337792,3106338815,GB +3106338816,3106339839,PL +3106339840,3106340863,IT +3106340864,3106341887,BA +3106341888,3106342911,RU +3106342912,3106343935,CH +3106343936,3106344959,DE +3106344960,3106345983,RU +3106345984,3106347007,DE +3106347008,3106348031,IT +3106348032,3106349055,UA +3106349056,3106350079,CH +3106350080,3106351103,SA +3106351104,3106352127,ES +3106352128,3106353151,NL +3106353152,3106354175,DE +3106354176,3106355199,NL +3106355200,3106356223,DE +3106356224,3106357247,ES +3106357248,3106358271,DE +3106358272,3106359295,ES +3106359296,3106360319,UA +3106360320,3106361343,IQ +3106361344,3106362367,RU +3106362368,3106364415,DE +3106364416,3106365439,CH +3106365440,3106366463,ES +3106366464,3106367487,IT +3106367488,3106369535,DE +3106369536,3106371583,RU +3106371584,3106372607,NL +3106372608,3106373631,SE +3106373632,3106374655,FI +3106374656,3106375679,RU +3106375680,3106376703,SA +3106376704,3106377727,FR +3106377728,3106378751,SE +3106378752,3106379775,RU +3106379776,3106380799,LU +3106380800,3106381823,FR +3106381824,3106382847,PL +3106382848,3106383871,IE +3106383872,3106384895,ES +3106384896,3106385919,AT +3106385920,3106386943,DE +3106386944,3106387967,IR +3106387968,3106388991,FI +3106388992,3106390015,IT +3106390016,3106391039,RU +3106391040,3106392063,UA +3106392064,3106393087,NO +3106393088,3106394111,RU +3106394112,3106395135,PT +3106395136,3106396159,NO +3106396160,3106397183,FR +3106397184,3106398207,DE +3106398208,3106399231,UA +3106399232,3106400255,CH +3106400256,3106402303,GB +3106402304,3106403327,IT +3106403328,3106405375,GB +3106405376,3106406399,DE +3106406400,3106407423,RU +3106407424,3106409471,GB +3106409472,3106411519,IT +3106411520,3106412543,HU +3106412544,3106413567,GB +3106413568,3106414591,RU +3106414592,3106415615,AZ +3106415616,3106416639,ES +3106416640,3106417663,RU +3106417664,3106418687,DK +3106418688,3106419711,UA +3106419712,3106420735,AT +3106420736,3106421759,NL +3106421760,3106422783,LU +3106422784,3106423807,IE +3106423808,3106424831,BE +3106424832,3106425855,TR +3106425856,3106426879,RU +3106426880,3106427903,CZ +3106427904,3106428927,TR +3106428928,3106429951,FI +3106429952,3106431999,NL +3106432000,3106433023,FR +3106433024,3106434047,RU +3106434048,3106435071,NL +3106435072,3106436095,PL +3106436096,3106437119,DE +3106437120,3106438143,IS +3106438144,3106439167,GB +3106439168,3106440191,RU +3106440192,3106441215,DE +3106441216,3106442239,HU +3106442240,3106443263,GB +3106443264,3106445311,ES +3106445312,3106446335,RU +3106446336,3106448383,DE +3106448384,3106449407,BG +3106449408,3106450431,AT +3106450432,3106451455,DE +3106451456,3106452479,AZ +3106452480,3106453503,UA +3106453504,3106454527,SE +3106454528,3106455551,ME +3106455552,3106456575,PS +3106456576,3106457599,RU +3106457600,3106458623,FI +3106458624,3106459647,GB +3106459648,3106460671,LB +3106460672,3106461695,IT +3106461696,3106462719,CH +3106462720,3106463743,IT +3106463744,3106464767,IR +3106464768,3106465791,PL +3106466816,3106467839,EE +3106467840,3106468863,IR +3106468864,3106469887,GB +3106469888,3106470911,DE +3106470912,3106471935,NL +3106471936,3106472959,IR +3106472960,3106473983,FR +3106473984,3106475007,GB +3106475008,3106476031,DE +3106476032,3106477055,NO +3106477056,3106478079,UA +3106478080,3106479103,GB +3106479104,3106480127,FR +3106480128,3106481151,IT +3106481152,3106482175,NL +3106482176,3106483199,RU +3106483200,3106484223,GB +3106484224,3106485247,NL +3106485248,3106486271,CZ +3106486272,3106488319,DE +3106488320,3106489343,NO +3106489344,3106490367,PL +3106490368,3106491391,IT +3106491392,3106492415,CH +3106492416,3106493439,PL +3106493440,3106494463,SY +3106494464,3106495487,SA +3106495488,3106496511,PL +3106496512,3106497535,ES +3106497536,3106498559,RU +3106498560,3106500607,DE +3106500608,3106501631,RU +3106501632,3106502655,PT +3106502656,3106503679,RU +3106503680,3106504703,NL +3106504704,3106505727,PL +3106505728,3106506751,CH +3106506752,3106509823,NL +3106509824,3106510847,SE +3106510848,3106511871,ES +3106511872,3106512895,GE +3106512896,3106513919,RU +3106513920,3106514943,IT +3106514944,3106515967,RU +3106515968,3106516991,SE +3106516992,3106518015,SI +3106518016,3106519039,FR +3106519040,3106520063,RU +3106520064,3106521087,GB +3106521088,3106522111,UA +3106522112,3106523135,RU +3106523136,3106524159,AZ +3106524160,3106525183,RU +3106525184,3106526207,CY +3106526208,3106527231,IT +3106527232,3106528255,KW +3106528256,3106532351,GB +3106532352,3106533375,BE +3106533376,3106534399,NO +3106534400,3106535423,ES +3106535424,3106536447,FR +3106536448,3106537471,IT +3106537472,3106538495,GB +3106538496,3106539519,SK +3106539520,3106540543,NL +3106540544,3106541567,RU +3106541568,3106542591,GB +3106542592,3106543615,ES +3106543616,3106544639,IR +3106544640,3106545663,FR +3106545664,3106546687,CY +3106546688,3106547711,MK +3106547712,3106548735,UA +3106548736,3106549759,PL +3106549760,3106550783,RU +3106550784,3106551807,GB +3106551808,3106552831,NL +3106552832,3106553855,RU +3106553856,3106554879,GB +3106554880,3106556927,NL +3106556928,3106558975,RU +3106558976,3106559999,NL +3106560000,3106562047,RU +3106562048,3106563071,TJ +3106564096,3106565119,ES +3106565120,3106566143,RU +3106566144,3106568191,FR +3106568192,3106569215,ES +3106569216,3106570239,RU +3106570240,3106571263,UA +3106571264,3106572287,FR +3106572288,3106573311,SE +3106573312,3106574335,AE +3106574336,3106575359,RU +3106575360,3106577407,GB +3106577408,3106578431,RU +3106578432,3106579455,IT +3106579456,3106580479,RU +3106580480,3106581503,NO +3106581504,3106582527,TR +3106582528,3106583551,FR +3106583552,3106584575,RU +3106584576,3106585599,PL +3106585600,3106586623,FR +3106586624,3106587647,IQ +3106587648,3106589695,NL +3106590720,3106591743,GR +3106591744,3106592767,IR +3106592768,3106593791,LU +3106593792,3106594815,GB +3106594816,3106595839,IR +3106595840,3106596863,CZ +3106596864,3106597887,FR +3106597888,3106598911,GB +3106598912,3106599935,ES +3106599936,3106601983,CH +3106601984,3106603007,DE +3106603008,3106604031,BE +3106604032,3106606079,RU +3106606080,3106607103,AT +3106607104,3106608127,IT +3106608128,3106609151,NL +3106609152,3106611199,DE +3106611200,3106612223,GB +3106612224,3106613247,FR +3106613248,3106614271,GB +3106614272,3106615295,FR +3106615296,3106616319,GB +3106616320,3106617343,DE +3106617344,3106618367,BG +3106618368,3106619391,FR +3106619392,3106620415,NL +3106620416,3106621439,FR +3106621440,3106622463,ES +3106622464,3106623487,GB +3106623488,3106624511,NL +3106624512,3106625535,RU +3106625536,3106626559,FI +3106626560,3106627583,RU +3106627584,3106628607,GB +3106628608,3106629631,RU +3106629632,3106630655,EE +3106630656,3106631679,GB +3106631680,3106632703,SK +3106632704,3106633727,DE +3106633728,3106634751,FI +3106634752,3106635775,BE +3106635776,3106636799,GB +3106636800,3106637823,CZ +3106637824,3106638847,PL +3106638848,3106639871,DK +3106639872,3106640895,GB +3106640896,3106641919,IT +3106641920,3106642943,BE +3106642944,3106643967,GB +3106643968,3106644991,PL +3106644992,3106646015,IT +3106646016,3106647039,DE +3106647040,3106648063,HU +3106648064,3106649087,DE +3106649088,3106650111,ES +3106650112,3106651135,GB +3106651136,3106652159,AZ +3106652160,3106653183,IE +3106653184,3106654207,RU +3106654208,3106655231,CH +3106655232,3106656255,HU +3106656256,3106657279,GB +3106657280,3106658303,NL +3106658304,3106659327,GB +3106659328,3106660351,NL +3106660352,3106661375,UA +3106661376,3106662399,TR +3106662400,3106663423,IE +3106663424,3106664447,UA +3106664448,3106665471,FR +3106665472,3106666495,CH +3106666496,3106667519,UA +3106667520,3106668543,ES +3106668544,3106669567,RU +3106669568,3106670591,DE +3106670592,3106672639,RU +3106672640,3106673663,ES +3106673664,3106674687,CH +3106674688,3106676735,ES +3106676736,3106677759,DE +3106677760,3106678783,IR +3106678784,3106680831,FR +3106680832,3106682879,AT +3106682880,3106683903,LU +3106683904,3106684927,ES +3106684928,3106685951,IR +3106685952,3106686975,RU +3106686976,3106687999,LT +3106688000,3106689023,GB +3106689024,3106690047,CH +3106690048,3106691071,UA +3106691072,3106692095,FR +3106692096,3106693119,NL +3106693120,3106694143,NO +3106694144,3106695167,IR +3106695168,3106697215,DE +3106697216,3106698239,IR +3106698240,3106699263,BG +3106699264,3106700287,RU +3106700288,3106701311,BG +3106701312,3106702335,NL +3106702336,3106703359,DE +3106703360,3106704383,NL +3106704384,3106705407,FR +3106705408,3106706431,GR +3106706432,3106707455,DE +3106707456,3106708479,LB +3106708480,3106709503,LI +3106709504,3106710527,NL +3106710528,3106711551,RU +3106711552,3106712575,NL +3106712576,3106713599,PL +3106713600,3106714623,DE +3106714624,3106715647,IT +3106715648,3106716671,SE +3106716672,3106717695,CZ +3106717696,3106718719,TR +3106718720,3106719743,CH +3106719744,3106720767,DE +3106720768,3106722815,AT +3106722816,3106723839,IT +3106723840,3106724863,PL +3106724864,3106725887,IT +3106725888,3106726911,NL +3106726912,3106727935,AM +3106727936,3106728959,ES +3106728960,3106729983,RU +3106729984,3106731007,IS +3106731008,3106732031,NL +3106732032,3106735103,GB +3106735104,3106737151,IE +3106737152,3106738175,RO +3106738176,3106739199,DE +3106739200,3106740223,DK +3106740224,3106741247,GB +3106741248,3106742271,NL +3106742272,3106743295,FR +3106743296,3106744319,NO +3106744320,3106745343,SM +3106745344,3106746367,NL +3106746368,3106747391,DK +3106747392,3106748415,BE +3106748416,3106749439,CZ +3106749440,3106750463,RU +3106750464,3106751487,BG +3106751488,3106752511,IT +3106752512,3106753535,ES +3106753536,3106754559,IS +3106754560,3106755583,RU +3106755584,3106756607,SE +3106756608,3106757631,DE +3106757632,3106758655,RU +3106758656,3106759679,GB +3106759680,3106760703,RU +3106760704,3106761727,IE +3106761728,3106762751,GB +3106762752,3106763775,DE +3106763776,3106764799,NL +3106764800,3106765823,SE +3106765824,3106766847,CZ +3106766848,3106767871,SE +3106767872,3106768895,DE +3106768896,3106769919,CZ +3106769920,3106770943,EE +3106770944,3106771967,RU +3106771968,3106772991,DK +3106772992,3106774015,BG +3106774016,3106775039,AE +3106775040,3106776063,GB +3106776064,3106777087,ES +3106777088,3106778111,GB +3106778112,3106779135,FR +3106779136,3106780159,NO +3106780160,3106781183,FR +3106781184,3106782207,DK +3106782208,3106783231,IR +3106783232,3106784255,SC +3106784256,3106785279,HU +3106785280,3106786303,CZ +3106786304,3106787327,DE +3106787328,3106788351,IT +3106788352,3106789375,AT +3106789376,3106790399,PL +3106790400,3106792447,GB +3106792448,3106793471,FR +3106793472,3106794495,AT +3106794496,3106795519,CH +3106795520,3106796543,DE +3106796544,3106797567,UA +3106797568,3106798591,DE +3106798592,3106799615,FR +3106799616,3106800639,IR +3106800640,3106801663,GR +3106801664,3106804735,RU +3106804736,3106805759,EE +3106805760,3106806783,IT +3106806784,3106807807,NL +3106807808,3106808831,HR +3106808832,3106809855,DK +3106809856,3106810879,TR +3106810880,3106812927,RU +3106812928,3106813951,TR +3106813952,3106814975,CH +3106814976,3106815999,MD +3106816000,3106817023,NL +3106817024,3106818047,IT +3106818048,3106819071,IE +3106819072,3106820095,BE +3106820096,3106824191,CH +3106824192,3106825215,RU +3106825216,3106826239,IT +3106826240,3106827263,PL +3106827264,3106828287,IR +3106828288,3106829311,GB +3106829312,3106830335,NL +3106830336,3106831359,US +3106831360,3106832383,ES +3106832384,3106833407,DE +3106833408,3106834431,NO +3106834432,3106835455,DE +3106835456,3106836479,IT +3106836480,3106837503,KW +3106837504,3106838527,UA +3106838528,3106839551,RU +3106839552,3106840575,NL +3106840576,3106841599,BG +3106841600,3106842623,FR +3106842624,3106843647,PL +3106843648,3106844671,GB 3120562176,3120594943,CO 3120594944,3120599039,AR 3120599040,3120601087,EC @@ -44849,14 +46432,23 @@ 3124953088,3125018623,CL 3125018624,3125280767,EC 3125280768,3125542911,PA -3125542912,3125673983,NI +3125542912,3125658111,NI +3125658112,3125658367,MX +3125658368,3125673983,NI 3125673984,3125805055,CL 3125805056,3126329343,CO 3126329344,3126853631,VE -3126853632,3126870015,AR +3126853632,3126855807,AR +3126855808,3126855935,US +3126855936,3126857855,AR +3126857856,3126857983,US +3126857984,3126858495,AR +3126858496,3126858623,US +3126858624,3126870015,AR 3126870016,3126874111,VE 3126874112,3126878207,CR -3126878208,3126886399,PA +3126878208,3126882303,PA +3126882304,3126886399,US 3126886400,3126918143,AR 3126918144,3126919167,HN 3126919168,3127115775,CO @@ -44870,9 +46462,9 @@ 3128492032,3128524799,CO 3128524800,3128541183,AR 3128541184,3128557567,BO -3128557568,3128574463,AR -3128574464,3128574719,UY -3128574720,3129999359,AR +3128557568,3128574207,AR +3128574208,3128574463,UY +3128574464,3129999359,AR 3129999360,3130261503,CO 3130261504,3130277887,CL 3130277888,3130284031,AR @@ -44884,7 +46476,9 @@ 3130314752,3130315775,CL 3130315776,3130316799,CR 3130316800,3130318847,CW -3130318848,3130327039,AR +3130318848,3130319871,AR +3130319872,3130320895,RU +3130320896,3130327039,AR 3130327040,3130458111,DO 3130458112,3130523647,GT 3130523648,3130654719,AR @@ -44901,8 +46495,8 @@ 3131310080,3131572223,VE 3131572224,3131834367,CO 3131834368,3132096511,CL -3132096512,3132194815,CR -3132219392,3132227583,AR +3132096512,3132211199,CR +3132211200,3132227583,AR 3132227584,3132293119,EC 3132293120,3132309503,HN 3132309504,3132313599,CR @@ -44922,8 +46516,15 @@ 3133074432,3133075455,CL 3133075456,3133079551,CW 3133079552,3133145087,AR -3133145088,3145727999,BR -3145728000,3154116607,MX +3133145088,3135429631,BR +3135430656,3135978495,BR +3135979520,3136011263,BR +3136012288,3136109567,BR +3136110592,3138387967,BR +3138392064,3145727999,BR +3145728000,3149135871,MX +3149398016,3149881343,MX +3149922304,3154051071,MX 3154116608,3154124799,RU 3154124800,3154126847,PL 3154126848,3154128895,RU @@ -44955,7 +46556,9 @@ 3156759432,3156759432,GB 3156759433,3156803583,DE 3156803584,3156869119,TR -3156869120,3156934655,LU +3156869120,3156930559,LU +3156930560,3156933631,US +3156933632,3156934655,LU 3156934656,3157000191,RU 3157000192,3157008383,MK 3157008384,3157016575,RU @@ -45041,11 +46644,7 @@ 3158507520,3158573055,FI 3158573056,3158638591,RU 3158638592,3158704127,LT -3158704128,3158824959,KW -3158824960,3158825215,US -3158825216,3158825727,KW -3158825728,3158825983,US -3158825984,3158835199,KW +3158704128,3158835199,KW 3158835200,3158851583,IQ 3158851584,3158867967,RU 3158867968,3158884351,AZ @@ -45183,7 +46782,7 @@ 3160358912,3160360959,JO 3160360960,3160363007,IT 3160363008,3160365055,GB -3160365056,3160369151,NL +3160367104,3160369151,NL 3160369152,3160371199,RU 3160371200,3160373247,ES 3160373248,3160375295,CZ @@ -45212,45 +46811,47 @@ 3161571328,3161587711,UZ 3161587712,3161604095,RU 3161604096,3161612287,PL -3161612288,3161616383,EU 3161616384,3161618431,GB 3161618432,3161620479,IQ 3161620480,3161636863,DK 3161636864,3161653247,RU 3161653248,3161669631,LU -3161669632,3161670399,FR +3161669632,3161669887,FR +3161669888,3161670143,RE +3161670144,3161670399,FR 3161670400,3161670655,RE -3161670656,3161671679,FR -3161671680,3161672191,RE +3161670656,3161671935,FR +3161671936,3161672191,RE 3161672192,3161672447,FR -3161672448,3161672703,RE -3161672704,3161674751,FR -3161674752,3161675263,RE -3161675264,3161675775,FR +3161672448,3161672959,RE +3161672960,3161674751,FR +3161674752,3161675007,RE +3161675008,3161675775,FR 3161675776,3161676031,RE -3161676032,3161676799,FR -3161676800,3161677055,RE -3161677056,3161677311,FR -3161677312,3161677823,RE -3161677824,3161678079,FR -3161678080,3161678335,MQ -3161678336,3161678847,FR -3161678848,3161679103,MQ -3161679104,3161679359,FR -3161679360,3161679615,MQ -3161679616,3161680383,FR -3161680384,3161680639,GP -3161680640,3161680895,FR +3161676032,3161677055,FR +3161677056,3161677311,RE +3161677312,3161677823,FR +3161677824,3161678079,MQ +3161678080,3161678335,FR +3161678336,3161678591,MQ +3161678592,3161678847,FR +3161678848,3161679871,MQ +3161679872,3161680127,FR +3161680128,3161680383,GP +3161680384,3161680895,FR 3161680896,3161681407,GP -3161681408,3161681919,FR +3161681408,3161681663,FR +3161681664,3161681919,GP 3161681920,3161682431,GF 3161682432,3161682687,FR 3161682688,3161682943,GF -3161682944,3161683711,FR +3161682944,3161683199,FR +3161683200,3161683455,MQ +3161683456,3161683711,FR 3161683712,3161683967,MQ 3161683968,3161684223,FR -3161684224,3161684735,MQ -3161684736,3161684991,FR +3161684224,3161684479,MQ +3161684480,3161684991,FR 3161684992,3161685759,MQ 3161685760,3161686015,FR 3161686016,3161702399,UA @@ -45289,20 +46890,8 @@ 3162071040,3162087423,IR 3162087424,3162095615,SK 3162095616,3162103807,GE -3162103808,3162105087,FR -3162105088,3162105855,NL -3162105856,3162106111,FR -3162106112,3162106367,NL -3162106368,3162106623,FR -3162106624,3162106879,NL -3162106880,3162107135,FR -3162107136,3162107391,NL -3162107392,3162107647,FR -3162107648,3162108415,NL -3162108416,3162108671,FR -3162108672,3162108927,NL -3162108928,3162110975,FR -3162110976,3162111103,NL +3162103808,3162104831,FR +3162104832,3162111103,NL 3162111104,3162111167,FR 3162111168,3162111999,NL 3162112000,3162120191,PL @@ -45390,7 +46979,9 @@ 3163186535,3163186535,FR 3163186536,3163186673,DE 3163186674,3163186674,FR -3163186675,3163193343,DE +3163186675,3163192621,DE +3163192622,3163192622,EG +3163192623,3163193343,DE 3163193344,3163226111,MD 3163226112,3163258879,SA 3163258880,3163291647,SY @@ -45405,7 +46996,9 @@ 3163684864,3163815935,PL 3163815936,3164078079,NO 3164078080,3164209151,IT -3164209152,3164340223,CH +3164209152,3164238847,CH +3164238848,3164239103,DE +3164239104,3164340223,CH 3164340224,3164471295,HU 3164471296,3164602367,IR 3164602368,3164667903,SY @@ -45444,7 +47037,9 @@ 3164953256,3164953263,CZ 3164953264,3164953583,FR 3164953584,3164953599,ES -3164953600,3164962815,FR +3164953600,3164961511,FR +3164961512,3164961519,GB +3164961520,3164962815,FR 3164962816,3164964863,ES 3164964864,3164966911,FI 3164966912,3164968319,FR @@ -45459,7 +47054,9 @@ 3164973664,3164973695,GB 3164973696,3164974335,FR 3164974336,3164974463,GB -3164974464,3164976295,FR +3164974464,3164974527,FR +3164974528,3164974559,ES +3164974560,3164976295,FR 3164976296,3164976303,IT 3164976304,3164995583,FR 3164995584,3165061119,RU @@ -45521,7 +47118,9 @@ 3168829440,3168862207,RO 3168862208,3168894975,RU 3168894976,3168927743,PS -3168927744,3169026047,RU +3168927744,3168960511,RU +3168960512,3168993279,NL +3168993280,3169026047,RU 3169026048,3169034239,CZ 3169034240,3169042431,GB 3169042432,3169044479,GR @@ -45532,16 +47131,12 @@ 3169054720,3169056767,GB 3169056768,3169058815,EE 3169058816,3169091583,DK -3169091584,3169111039,IT -3169111040,3169111295,US -3169111296,3169124351,IT +3169091584,3169124351,IT 3169124352,3169157119,RO 3169157120,3169189887,SY 3169189888,3169222655,UA 3169222656,3169255423,SI -3169255424,3169264127,KW -3169264128,3169264383,US -3169264384,3169279999,KW +3169255424,3169279999,KW 3169280000,3169282047,GB 3169282048,3169288191,KW 3169288192,3169320959,UA @@ -45596,8 +47191,19 @@ 3170795520,3170828287,BG 3170828288,3170861055,RU 3170861056,3170893823,RS -3170893824,3179282431,BR -3179282432,3187671039,MX +3170893824,3173887999,BR +3173892096,3174223871,BR +3174227968,3176828927,BR +3176833024,3178311679,BR +3178312192,3178312703,BR +3178312960,3179282431,BR +3179282432,3184116735,MX +3184123904,3184124927,MX +3184128000,3184131071,MX +3184132096,3184295935,MX +3184328704,3184459775,MX +3184525312,3184885759,MX +3184918528,3187671039,MX 3187671040,3187687423,CO 3187687424,3187695615,DO 3187695616,3187703807,AR @@ -45610,7 +47216,8 @@ 3187734528,3187736575,BO 3187736576,3187752959,AR 3187752960,3187755519,CO -3187755520,3187761151,VE +3187755520,3187756031,VE +3187756032,3187761151,CO 3187761152,3187769343,AR 3187769344,3187802111,CO 3187802112,3187818495,AR @@ -45627,17 +47234,21 @@ 3187910656,3187914751,CL 3187914752,3187916799,BO 3187916800,3187933183,CO -3187933184,3187933439,GT -3187933440,3187933695,HN -3187933696,3187935607,GT +3187933184,3187935607,GT 3187935608,3187935615,HN -3187935616,3187935999,GT -3187936000,3187936255,HN -3187936256,3187936711,GT +3187935616,3187936047,GT +3187936048,3187936063,HN +3187936064,3187936711,GT 3187936712,3187936719,HN 3187936720,3187937279,GT 3187937280,3187937535,HN -3187937536,3187946111,GT +3187937536,3187940963,GT +3187940964,3187940967,HN +3187940968,3187943127,GT +3187943128,3187943135,HN +3187943136,3187945971,GT +3187945972,3187945975,HN +3187945976,3187946111,GT 3187946112,3187946239,HN 3187946240,3187946639,GT 3187946640,3187946647,HN @@ -45714,7 +47325,9 @@ 3188490240,3188498431,CO 3188498432,3188517119,AR 3188517120,3188517247,US -3188517248,3188523007,AR +3188517248,3188518271,AR +3188518272,3188518399,US +3188518400,3188523007,AR 3188523008,3188539391,CO 3188539392,3188543487,CL 3188543488,3188545535,PA @@ -45757,7 +47370,11 @@ 3191093248,3191095295,AR 3191095296,3191099391,EC 3191099392,3191103487,AR -3191107584,3191109119,PE +3191107584,3191108607,PE +3191108608,3191108639,MX +3191108640,3191108959,PE +3191108960,3191108991,CO +3191108992,3191109119,PE 3191109120,3191109631,MX 3191109632,3191111679,PE 3191111680,3191128063,PY @@ -45765,27 +47382,29 @@ 3191132160,3191136255,AR 3191136256,3191144447,DO 3191144448,3191152639,SV -3191152640,3191154687,NI -3191154688,3191156735,SV +3191152640,3191155711,NI +3191155712,3191156735,SV 3191156736,3191169023,HN 3191169024,3191193599,SV 3191193600,3191209983,HN 3191209984,3191275519,CL 3191275520,3191341055,AR -3191341056,3191405855,GT -3191405856,3191405863,SV -3191405864,3191405871,GT -3191405872,3191405887,SV -3191405888,3191406591,GT +3191341056,3191406079,GT +3191406080,3191406335,SV +3191406336,3191406591,GT 3191406592,3191439359,SV 3191439360,3191455743,EC 3191455744,3191472127,AR 3191472128,3191603199,TT 3191603200,3191607807,CO 3191607808,3191608319,CL -3191608320,3191611391,CO +3191608320,3191610623,CO +3191610624,3191610879,PE +3191610880,3191611391,CO 3191611392,3191619583,VE -3191619584,3191648255,CO +3191619584,3191647743,CO +3191647744,3191647807,AR +3191647808,3191648255,CO 3191648256,3191649791,US 3191649792,3191650303,CO 3191650304,3191650815,US @@ -45794,41 +47413,46 @@ 3191651840,3191670015,CO 3191670016,3191670271,AR 3191670272,3191676927,CO -3191676928,3191679487,AR +3191676928,3191677439,AR +3191677440,3191677695,US +3191677696,3191678463,AR +3191678464,3191678719,US +3191678720,3191679487,AR 3191679488,3191679743,US 3191679744,3191679999,AR 3191680000,3191680255,US 3191680256,3191680511,AR 3191680512,3191680767,US 3191680768,3191683327,AR -3191683328,3191683583,US -3191683584,3191683839,AR -3191683840,3191684095,US -3191684096,3191684351,AR -3191684352,3191684607,US -3191684608,3191685631,AR +3191683328,3191684607,US +3191684608,3191684863,AR +3191684864,3191685119,US +3191685120,3191685631,AR 3191685632,3191685887,US -3191685888,3191688703,AR +3191685888,3191687167,AR +3191687168,3191688703,CO 3191688704,3191693311,US -3191693312,3191696383,CO -3191696384,3191696895,US -3191696896,3191697407,CO -3191697408,3191701503,US +3191693312,3191695871,CO +3191695872,3191696127,US +3191696128,3191696383,CO +3191696384,3191701503,US 3191701504,3191702527,CO 3191702528,3191703039,US 3191703040,3191704063,CO 3191704064,3191704575,US -3191704576,3191705087,CO -3191705088,3191705343,US +3191704576,3191704831,CO +3191704832,3191705343,US 3191705344,3191705599,CO 3191705600,3191705855,US -3191705856,3191706367,CO -3191706368,3191706623,US -3191706624,3191720447,CO -3191720448,3191721215,AR -3191721216,3191721983,CO -3191721984,3191722495,AR -3191722496,3191726079,CO +3191705856,3191706111,CO +3191706112,3191706623,US +3191706624,3191719935,CO +3191719936,3191721215,AR +3191721216,3191721471,CO +3191721472,3191722495,AR +3191722496,3191725055,CO +3191725056,3191725311,AR +3191725312,3191726079,CO 3191726080,3191726335,AR 3191726336,3191727103,CO 3191727104,3191727359,AR @@ -45838,7 +47462,9 @@ 3191730944,3191731199,AR 3191731200,3191732479,CO 3191732480,3191732735,AR -3191732736,3191734271,CO +3191732736,3191734079,CO +3191734080,3191734143,US +3191734144,3191734271,CO 3191734272,3191799807,SV 3191799808,3191865343,EC 3191865344,3191930879,UY @@ -45854,8 +47480,8 @@ 3193438208,3193569279,CW 3193569280,3193579263,CO 3193579264,3193579519,EC -3193579520,3193582847,CO -3193582848,3193583103,EC +3193579520,3193582591,CO +3193582592,3193583103,EC 3193583104,3193599999,CO 3193600000,3193600255,EC 3193600256,3193605375,CO @@ -45863,14 +47489,18 @@ 3193605632,3193606143,CO 3193606144,3193606399,EC 3193606400,3193606655,CO -3193606656,3193606911,EC -3193606912,3193622527,CO -3193622528,3193623295,EC -3193623296,3193625599,CO +3193606656,3193607167,EC +3193607168,3193617151,CO +3193617152,3193617407,EC +3193617408,3193622527,CO +3193622528,3193623551,EC +3193623552,3193625599,CO 3193625600,3193625855,EC 3193625856,3193626111,CO -3193626112,3193626367,US -3193626368,3193634815,CO +3193626112,3193626623,US +3193626624,3193629439,CO +3193629440,3193629695,EC +3193629696,3193634815,CO 3193634816,3193700351,CL 3193700352,3193722751,HN 3193722752,3193722879,GT @@ -45882,9 +47512,7 @@ 3193735680,3193736191,AR 3193736192,3193736447,US 3193736448,3193737471,AR -3193737472,3193737727,US -3193737728,3193737983,AR -3193737984,3193738495,US +3193737472,3193738495,US 3193738496,3193738751,AR 3193738752,3193739007,US 3193739008,3193739263,AR @@ -45892,19 +47520,29 @@ 3193739520,3193740031,AR 3193740032,3193740287,US 3193740288,3193741311,AR -3193741312,3193741567,US -3193741568,3193742591,AR +3193741312,3193741823,US +3193741824,3193742079,AR +3193742080,3193742335,US +3193742336,3193742591,AR 3193742592,3193742719,US 3193742720,3193743231,AR 3193743232,3193743359,US -3193743360,3193745279,AR +3193743360,3193743743,AR +3193743744,3193743871,US +3193743872,3193743999,AR +3193744000,3193744127,US +3193744128,3193745279,AR 3193745280,3193745407,US -3193745408,3193746751,AR +3193745408,3193746431,AR +3193746432,3193746687,US +3193746688,3193746751,AR 3193746752,3193746815,US -3193746816,3193747327,AR -3193747328,3193747455,US -3193747456,3193747839,AR -3193747840,3193748223,US +3193746816,3193746879,AR +3193746880,3193746943,US +3193746944,3193747199,AR +3193747200,3193747455,US +3193747456,3193747583,AR +3193747584,3193748223,US 3193748224,3193748863,AR 3193748864,3193748991,US 3193748992,3193749503,AR @@ -45915,11 +47553,15 @@ 3193750528,3193750783,US 3193750784,3193751807,AR 3193751808,3193752319,US -3193752320,3193753087,AR +3193752320,3193752831,AR +3193752832,3193752959,US +3193752960,3193753087,AR 3193753088,3193753343,US 3193753344,3193754623,AR 3193754624,3193754751,US -3193754752,3193765887,AR +3193754752,3193755135,AR +3193755136,3193755263,US +3193755264,3193765887,AR 3193765888,3193774079,TT 3193774080,3193775103,PA 3193775104,3193776127,GY @@ -45946,13 +47588,12 @@ 3194028032,3194044415,AR 3194044416,3194052607,CO 3194052608,3194056703,TT -3194056704,3194058239,CW -3194058240,3194058495,CA -3194058496,3194058751,CW +3194056704,3194058495,CW +3194058496,3194058751,CA 3194058752,3194060799,AR 3194060800,3194068991,CO 3194068992,3194071039,PA -3194071040,3194073087,CL +3194071040,3194072063,CL 3194073088,3194077183,HN 3194077184,3194085375,CO 3194085376,3194093567,VE @@ -45966,8 +47607,8 @@ 3194134528,3194135551,AR 3194135552,3194136575,GT 3194136576,3194137087,BR -3194137088,3194140671,AR -3194140672,3194142719,CR +3194137088,3194140159,AR +3194140160,3194142719,CR 3194142720,3194159103,CL 3194159104,3194165247,HN 3194165248,3194175487,SV @@ -46016,7 +47657,9 @@ 3194515456,3194519551,GT 3194519552,3194535935,PY 3194535936,3194585087,AR -3194585088,3194589183,HN +3194585088,3194586623,HN +3194586624,3194586879,US +3194586880,3194589183,HN 3194589184,3194591231,AR 3194591232,3194592255,PA 3194592256,3194593279,GY @@ -46035,15 +47678,21 @@ 3194640384,3194642431,BZ 3194642432,3194646527,AR 3194646528,3194648575,DO -3194648576,3194659839,AR +3194648576,3194652671,AR +3194652672,3194654719,MX +3194654720,3194659839,AR 3194659840,3194660351,US -3194660352,3194662143,AR +3194660352,3194661119,AR +3194661120,3194661375,US +3194661376,3194662143,AR 3194662144,3194662399,US 3194662400,3194663167,AR 3194663168,3194663423,US 3194663424,3194663679,AR -3194663680,3194663935,US -3194663936,3194665471,AR +3194663680,3194664447,US +3194664448,3194664959,AR +3194664960,3194665215,US +3194665216,3194665471,AR 3194665472,3194665727,US 3194665728,3194665983,AR 3194665984,3194666239,US @@ -46080,7 +47729,8 @@ 3194799104,3194804223,GY 3194804224,3194805247,AR 3194805248,3194806271,CR -3194806272,3194830847,AR +3194806272,3194814463,AR +3194818560,3194830847,AR 3194830848,3194839039,PA 3194839040,3194863615,CO 3194863616,3194871807,HN @@ -46149,8 +47799,8 @@ 3195207680,3195211775,GT 3195211776,3195215871,BZ 3195215872,3195224063,AR -3195224064,3195232511,PA -3195232512,3195234559,CR +3195224064,3195232255,PA +3195232256,3195234559,CR 3195234560,3195234815,PA 3195234816,3195235327,CR 3195235328,3195235583,PA @@ -46160,7 +47810,9 @@ 3195256832,3195265023,AR 3195265024,3195273215,CO 3195273216,3195535359,PE -3195535360,3195543551,SV +3195535360,3195536639,SV +3195536640,3195536895,FR +3195536896,3195543551,SV 3195547648,3195551743,AR 3195551744,3195559935,EC 3195559936,3195568127,AR @@ -46189,14 +47841,15 @@ 3195712512,3195713535,AR 3195713536,3195714559,GT 3195714560,3195715583,PA -3195715584,3195731967,AR +3195715584,3195721727,AR +3195723776,3195731967,AR 3195731968,3195736063,EC 3195736064,3195737087,BQ 3195737088,3195738111,CW 3195738112,3195740159,HN 3195740160,3195740415,US -3195740416,3195741183,PA -3195741184,3195741951,US +3195740416,3195740927,PA +3195740928,3195741951,US 3195741952,3195744255,PA 3195744256,3195748351,EC 3195748352,3195752447,CL @@ -46224,9 +47877,7 @@ 3195838464,3195840511,HN 3195840512,3195842559,AR 3195846656,3195852799,AR -3195852800,3195853055,CW -3195853056,3195853311,SX -3195853312,3195853823,CW +3195852800,3195853823,CW 3195853824,3195854847,GY 3195854848,3195859967,AR 3195859968,3195862015,CR @@ -46239,7 +47890,9 @@ 3196223488,3196305407,EC 3196305408,3196321791,CO 3196321792,3196583935,UY -3196583936,3196846079,AR +3196583936,3196690687,AR +3196690688,3196690943,UY +3196690944,3196846079,AR 3196846080,3196977151,PA 3196977152,3197042687,VE 3197042688,3197075455,CO @@ -46318,23 +47971,29 @@ 3201560576,3201561599,PY 3201561600,3201562623,AR 3201562624,3201563647,CL -3201563648,3201564671,PA +3201563648,3201564287,PA +3201564288,3201564415,GB +3201564416,3201564671,PA 3201564672,3201630207,NI 3201630208,3201695743,TT 3201695744,3201761279,EC 3201761280,3201826815,CL -3201826816,3201859583,AR +3201826816,3201851391,AR +3201851392,3201855487,EC +3201855488,3201859583,PE 3201859584,3201863679,CO 3201863680,3201865727,CL 3201865728,3201867775,AR 3201867776,3201869823,PE -3201869824,3201871871,AR +3201869824,3201869855,AR +3201869856,3201869871,PE +3201869872,3201870847,AR +3201870848,3201871103,PE +3201871104,3201871871,AR 3201871872,3201875967,PE 3201875968,3201880063,CO 3201880064,3201884159,EC -3201884160,3201891327,VE -3201891328,3201891583,US -3201891584,3201892351,VE +3201884160,3201892351,VE 3201892352,3201925119,AR 3201925120,3201957887,CL 3201957888,3202088959,PA @@ -46362,13 +48021,39 @@ 3203538688,3203538943,CO 3203538944,3203539967,BZ 3203539968,3203543551,CO -3203543552,3203544063,GT -3203544064,3203547135,CO +3203543552,3203544575,GT +3203544576,3203545087,CO +3203545088,3203545599,GT +3203545600,3203547135,CO 3203547136,3203549183,PA -3203549184,3203661823,CO +3203549184,3203561471,CO +3203561472,3203562495,SV +3203562496,3203564031,CO +3203564032,3203564287,PA +3203564288,3203661823,CO 3203661824,3203923967,AR 3203923968,3204448255,CO -3219128320,3220176895,BR +3204448256,3204875263,BR +3205234688,3206545407,BR +3208642560,3210739711,CO +3210739712,3210805247,CL +3210805248,3210809343,PA +3210809344,3210810367,VE +3210810368,3210811391,PA +3210811392,3210817535,AR +3210817536,3210821631,PE +3210821632,3210822655,EC +3210822656,3210825727,AR +3210825728,3210827775,BZ +3210827776,3210829823,DO +3210829824,3210830847,AR +3210838016,3210870783,AR +3210870784,3210903551,CO +3210903552,3210919935,PE +3210936320,3211067391,EC +3211264000,3211788287,CO +3211788288,3212836863,CL +3214934016,3221225471,BR 3221225480,3221225727,GB 3221226496,3221227519,KY 3221227520,3221242879,US @@ -46377,16 +48062,21 @@ 3221258240,3221291007,CA 3221291008,3221334269,US 3221334270,3221334270,DZ -3221334271,3221560319,US +3221334271,3221553151,US +3221553664,3221555967,US +3221556224,3221560319,US 3221560320,3221561343,GB 3221561344,3221562367,US 3221562368,3221562623,SE -3221562624,3221565951,US +3221562624,3221564927,US +3221565184,3221565951,US 3221565952,3221566207,SE 3221566464,3221567743,US 3221568256,3221568511,FR 3221568768,3221569279,FR -3221569280,3221576191,US +3221569280,3221570559,US +3221571072,3221571327,US +3221571584,3221576191,US 3221576192,3221576447,KR 3221576448,3221577727,US 3221577728,3221577983,CA @@ -46396,28 +48086,25 @@ 3221589760,3221590015,US 3221590016,3221590271,CA 3221590272,3221590527,DE -3221590528,3221594623,US +3221590528,3221591807,US +3221592064,3221592575,US +3221593088,3221594623,US 3221594624,3221594879,AT -3221594880,3221605375,US +3221594880,3221605119,US 3221605376,3221605887,CA -3221605888,3221608447,US +3221605888,3221607167,US +3221607424,3221608447,US 3221608448,3221608703,JP 3221608704,3221614335,US 3221614336,3221614591,GB 3221614592,3221614847,AU -3221615104,3221616269,US -3221616270,3221616270,AP -3221616271,3221618175,US +3221615104,3221618175,US 3221618176,3221618431,GB -3221618688,3221621247,US -3221621248,3221621503,GB -3221621504,3221633791,US +3221618688,3221633791,US 3221633792,3221634047,FR 3221634048,3221647103,US 3221647104,3221647359,FR -3221647360,3221664255,US -3221664256,3221664511,EU -3221664512,3221801983,US +3221647360,3221801983,US 3221801984,3221802239,IN 3221802240,3221803775,US 3221803776,3221804031,IN @@ -46425,15 +48112,15 @@ 3221806080,3221806335,IN 3221806336,3221806591,US 3221806592,3221806847,IN -3221806848,3221843967,US -3221843968,3221844223,EU -3221844224,3221993727,US -3221993728,3221993983,EU -3221993984,3222003967,US -3222003968,3222004223,AP -3222004224,3222011903,US +3221806848,3222011903,US 3222012160,3222012415,GB -3222012672,3222023423,US +3222012672,3222016511,US +3222016768,3222017023,US +3222017536,3222017791,US +3222018048,3222018559,US +3222018816,3222019839,US +3222020096,3222022399,US +3222022656,3222023423,US 3222023936,3222024191,IT 3222024192,3222025727,US 3222025728,3222025983,NL @@ -46451,10 +48138,12 @@ 3222036736,3222036991,US 3222036992,3222037247,CA 3222037248,3222037503,GB -3222037504,3222039551,US -3222040576,3222044671,US +3222037504,3222038271,US +3222038528,3222039551,US +3222042368,3222044671,US 3222044928,3222045183,CA -3222045184,3222055935,US +3222045184,3222051327,US +3222051584,3222055935,US 3222056192,3222056447,US 3222056448,3222059007,CA 3222059008,3222061055,US @@ -46468,16 +48157,18 @@ 3222071296,3222071551,PT 3222071552,3222072063,US 3222072064,3222072319,SE -3222072320,3222075135,US +3222072576,3222075135,US 3222075136,3222075391,CH 3222075392,3222274559,US 3222274560,3222274815,AU -3222274816,3222305535,US +3222274816,3222292735,US +3222292992,3222305535,US 3222305536,3222309119,SE 3222309120,3222309375,DE 3222309376,3222313727,SE 3222313728,3222316799,CH -3222316800,3222319615,US +3222316800,3222318591,US +3222318848,3222319615,US 3222319616,3222320127,JP 3222320128,3222320383,AU 3222320384,3222320895,US @@ -46486,33 +48177,15 @@ 3222326528,3222339583,CA 3222339584,3222405375,US 3222405376,3222405631,GB -3222405632,3222406143,US -3222406144,3222406399,EU -3222406400,3222407167,US -3222407168,3222407423,EU -3222407424,3222409471,US -3222409472,3222409727,AP -3222409728,3222455039,US +3222405632,3222455039,US 3222455040,3222455295,GB -3222455296,3222466559,US -3222466560,3222466815,EU -3222466816,3222599167,US -3222599168,3222599423,AP -3222599424,3222600447,US -3222600448,3222600703,AP -3222600704,3222741759,US -3222741760,3222742015,AP -3222742016,3222775807,US -3222775808,3222776063,AP -3222776064,3222868735,US -3222868736,3222868991,EU -3222868992,3222874623,US -3222874624,3222874848,AP +3222455296,3222866431,US +3222866944,3222867199,US +3222867712,3222874848,US 3222874849,3222874849,MY -3222874850,3222874879,AP -3222874880,3222876159,US -3222876160,3222876415,AP -3222876416,3222936575,US +3222874850,3222893311,US +3222893824,3222931711,US +3222931968,3222936319,US 3222936576,3222940927,CH 3222940928,3222941183,GB 3222941184,3222941695,CH @@ -46524,8 +48197,11 @@ 3222953984,3222954239,JP 3222954240,3222954495,US 3222955008,3222956031,US -3222956032,3222964223,FI -3222964224,3222968831,US +3222956288,3222962431,FI +3222963456,3222964223,FI +3222964224,3222964479,US +3222965248,3222966271,US +3222967040,3222968831,US 3222968832,3222973951,NL 3222973952,3222979071,DE 3222979072,3222983167,US @@ -46541,27 +48217,36 @@ 3222990080,3222990335,NL 3222990336,3222990591,AT 3222990592,3222990847,PT -3222990848,3223077119,US -3223077120,3223077375,EU -3223077376,3223201791,US +3222990848,3223200767,US +3223201024,3223201279,US 3223201792,3223202815,PR -3223202816,3223214079,US +3223202816,3223206911,US +3223207168,3223207423,US +3223207936,3223214079,US 3223214848,3223215103,US 3223215104,3223215359,AU 3223215360,3223215871,US -3223216128,3223227391,US +3223216128,3223216383,US +3223217152,3223217407,US +3223218176,3223219455,US +3223220480,3223220735,US +3223220992,3223227391,US 3223227904,3223228159,CA 3223229184,3223229695,US 3223229696,3223229951,CA 3223230464,3223236607,US 3223236608,3223237631,GB -3223237632,3223243007,US +3223237632,3223239679,US +3223240448,3223243007,US 3223243264,3223243519,CA -3223244288,3223248895,US +3223244288,3223245311,US +3223245824,3223248895,US 3223249408,3223249663,CA 3223249920,3223250943,US 3223250944,3223252991,CA -3223252992,3223258623,US +3223252992,3223254015,US +3223254784,3223255295,US +3223256064,3223258623,US 3223258624,3223258879,CA 3223258880,3223260671,US 3223260672,3223260927,DE @@ -46570,37 +48255,53 @@ 3223263232,3223263743,US 3223263744,3223263999,GB 3223264000,3223264255,FR -3223264256,3223265023,US +3223264256,3223264511,US +3223264512,3223264767,CA +3223264768,3223265023,US 3223265024,3223265279,GB 3223265280,3223266559,US 3223266560,3223266815,AU 3223266816,3223267327,US 3223267328,3223267583,BE -3223267584,3223269631,US +3223267584,3223269119,US +3223269376,3223269631,US 3223270400,3223271423,CA 3223271424,3223272447,US 3223272960,3223273215,GB -3223273216,3223283199,US +3223273216,3223280383,US +3223280640,3223280895,US +3223281408,3223283199,US 3223283200,3223283455,DE -3223283712,3223286783,US +3223283968,3223284991,US +3223285504,3223286783,US 3223286784,3223289855,JP -3223289856,3223299327,US +3223289856,3223293951,US +3223294208,3223297279,US +3223297536,3223298815,US +3223299072,3223299327,US 3223299584,3223301119,NL 3223301120,3223302399,US 3223303168,3223303423,CA 3223303424,3223303679,US -3223304192,3223307263,US +3223304192,3223305215,US +3223305984,3223307263,US 3223307264,3223310079,JP 3223310080,3223310335,US 3223310848,3223311103,US 3223311104,3223311359,FR -3223311360,3223315455,US +3223311360,3223311871,US +3223312128,3223314431,US +3223314688,3223315455,US 3223315712,3223316223,US 3223316224,3223316479,NL -3223316480,3223321599,US +3223316480,3223316991,US +3223317248,3223317759,US +3223318016,3223319039,US +3223319808,3223321599,US 3223321600,3223321855,FR 3223321856,3223322367,US -3223322624,3223390719,US +3223322624,3223388159,US +3223388672,3223390719,US 3223390720,3223390975,ZA 3223391232,3223391999,US 3223392000,3223392255,FR @@ -46620,8 +48321,9 @@ 3223422464,3223422719,US 3223422720,3223422975,JP 3223422976,3223424767,US -3223424768,3223432191,FR -3223432192,3223433215,A2 +3223424768,3223425535,FR +3223425792,3223432191,FR +3223432192,3223433215,US 3223433216,3223435007,FR 3223435008,3223437311,US 3223437312,3223447551,CH @@ -46632,7 +48334,9 @@ 3223453184,3223453439,DE 3223453696,3223457791,US 3223458560,3223458815,GB -3223458816,3223461887,US +3223458816,3223459839,US +3223460096,3223460351,US +3223460864,3223461887,US 3223462656,3223462911,US 3223462912,3223463935,CA 3223463936,3223465983,US @@ -46649,15 +48353,19 @@ 3223481088,3223481343,SE 3223481344,3223483391,US 3223483392,3223483647,NL -3223484416,3223498751,US +3223484416,3223490559,US +3223490816,3223491071,US +3223491584,3223496703,US +3223496960,3223497215,US +3223497728,3223498751,US 3223499520,3223499775,FI -3223499776,3223504895,CA +3223499776,3223503871,CA +3223504640,3223504895,CA 3223504896,3223508991,US 3223508992,3223513087,CA -3223513088,3223519231,US -3223519232,3223523583,DE -3223523584,3223523615,EU -3223523616,3223524351,DE +3223513088,3223516415,US +3223516928,3223519231,US +3223519232,3223524351,DE 3223524352,3223528233,US 3223528234,3223528234,GB 3223528235,3223534335,US @@ -46665,23 +48373,26 @@ 3223534592,3223534847,US 3223535104,3223535359,US 3223535360,3223537919,DE -3223537920,3223542271,US +3223537920,3223540991,US +3223541248,3223542271,US 3223542272,3223542527,DE 3223542528,3223543295,US 3223543296,3223543551,GB -3223543552,3223546879,US +3223543552,3223545855,US +3223546112,3223546879,US 3223546880,3223547135,GB 3223547136,3223552511,US 3223552512,3223553535,NL 3223553536,3223554559,US 3223554560,3223554815,GB -3223555072,3223556095,US +3223555328,3223556095,US 3223556096,3223556351,CA 3223556352,3223556607,US 3223556608,3223556863,IT 3223556864,3223557375,US 3223557376,3223558655,DE -3223558656,3223563263,US +3223558656,3223559423,US +3223559936,3223563263,US 3223563264,3223563519,GB 3223563520,3223565567,US 3223565824,3223566079,US @@ -46700,18 +48411,70 @@ 3223582464,3223582719,NL 3223582720,3223582975,AU 3223583488,3223584767,US -3223584768,3223594495,SE +3223584768,3223585023,GB +3223585024,3223585791,SE +3223585792,3223586047,GB +3223586048,3223586303,SE +3223586304,3223586559,GB +3223586560,3223589119,SE +3223589120,3223589375,US +3223589376,3223594495,SE 3223594496,3223595007,AT 3223595008,3223599103,SE 3223599104,3223599615,AT -3223599616,3223650303,SE +3223599616,3223601663,SE +3223601664,3223602175,GB +3223602176,3223606527,SE +3223606528,3223606783,GB +3223606784,3223607551,SE +3223607552,3223607807,GB +3223607808,3223610367,SE +3223610368,3223610623,IT +3223610624,3223610879,SE +3223610880,3223611135,NO +3223611136,3223611647,SE +3223611648,3223611903,GB +3223611904,3223615999,SE +3223616000,3223616767,GB +3223616768,3223617535,SE +3223617536,3223617791,NO +3223617792,3223620863,SE +3223620864,3223621119,DK +3223621120,3223621375,GB +3223621376,3223627775,SE +3223627776,3223628031,DE +3223628032,3223628287,SE +3223628288,3223628543,ES +3223628544,3223630591,SE +3223630592,3223630847,GB +3223630848,3223634431,SE +3223634432,3223634687,US +3223634688,3223634943,SE +3223634944,3223635455,GB +3223635456,3223637247,SE +3223637248,3223637503,GB +3223637504,3223638271,SE +3223638272,3223638527,GB +3223638528,3223640831,SE +3223640832,3223641087,GB +3223641088,3223646207,SE +3223646208,3223646463,IT +3223646464,3223646975,SE +3223646976,3223647231,IT +3223647232,3223648511,SE +3223648512,3223648767,GB +3223648768,3223650047,SE +3223650048,3223650303,GB 3223650304,3223715839,CH 3223715840,3223781375,DK 3223781376,3223784191,US 3223784192,3223784703,GB -3223784704,3223855103,US +3223784704,3223847935,US +3223848704,3223855103,US 3223855104,3223857151,CA -3223857152,3223863295,US +3223857152,3223859455,US +3223859968,3223862271,US +3223862528,3223862783,US 3223863552,3223863807,US 3223864576,3223864831,AE 3223864832,3223865343,HR @@ -46720,9 +48483,14 @@ 3223868416,3223869439,BM 3223869440,3223871487,US 3223871488,3223873535,CA -3223873536,3223881727,US +3223873536,3223874559,US +3223874816,3223875071,US +3223875584,3223876863,US +3223877632,3223881727,US 3223881728,3223882751,CA -3223883520,3223902207,US +3223883520,3223898111,US +3223898368,3223898623,US +3223899136,3223902207,US 3223902464,3223902719,CA 3223903232,3223905279,US 3223905280,3223905535,FI @@ -46733,7 +48501,7 @@ 3223938816,3223946239,GB 3223946240,3223947519,CH 3223947520,3223947775,US -3223948288,3223948543,US +3223948288,3223948543,NL 3223948544,3223949823,CH 3223949824,3223950079,AU 3223950080,3223950335,DE @@ -46757,7 +48525,7 @@ 3223968256,3223968511,IT 3223968512,3223970303,US 3223970560,3223970815,DE -3223970816,3223977983,US +3223971072,3223977983,US 3223978240,3223978495,DE 3223978752,3223979263,US 3223979264,3223979775,CA @@ -46785,25 +48553,31 @@ 3224004096,3224004351,FR 3224004352,3224005631,JP 3224005632,3224006655,US -3224006656,3224012031,NL +3224006912,3224012031,NL 3224012032,3224014591,US 3224014592,3224014847,DE -3224014848,3224016639,US +3224014848,3224015615,US +3224015872,3224016639,US 3224016640,3224016895,AU -3224016896,3224024063,US +3224016896,3224017663,US +3224017920,3224024063,US 3224024064,3224029695,CH 3224029696,3224030463,CA 3224030720,3224030975,CA 3224030976,3224038655,US 3224038656,3224038911,JP -3224038912,3224042751,US +3224038912,3224039679,US +3224039936,3224040959,US +3224041216,3224042751,US 3224042752,3224043007,DE 3224043008,3224043263,US 3224043520,3224084991,US 3224084992,3224087551,SE -3224087552,3224090879,US +3224087552,3224088063,US +3224088320,3224090879,US 3224090880,3224091135,AU -3224091648,3224092671,US +3224091648,3224091903,US +3224092416,3224092671,US 3224092672,3224093951,CH 3224093952,3224094207,US 3224094208,3224094463,AU @@ -46821,13 +48595,16 @@ 3224103424,3224103679,GB 3224103680,3224104447,US 3224104704,3224104959,AU -3224104960,3224109055,US +3224104960,3224105471,US +3224105728,3224106495,US +3224106752,3224108799,US 3224109056,3224119551,DE 3224119552,3224129791,FR 3224129792,3224132351,DE 3224132352,3224170495,US 3224170496,3224173567,SE -3224173568,3224288255,US +3224173568,3224174335,US +3224174592,3224288255,US 3224288256,3224289023,DE 3224289024,3224305663,US 3224305664,3224367615,JP @@ -46837,7 +48614,8 @@ 3224373248,3224373503,AU 3224373504,3224379135,US 3224379136,3224379391,DE -3224379392,3224398079,US +3224379392,3224392191,US +3224392704,3224398079,US 3224398336,3224398591,US 3224398592,3224398847,DE 3224398848,3224399103,US @@ -46846,7 +48624,9 @@ 3224407296,3224407551,CA 3224407808,3224408319,US 3224408320,3224408575,DE -3224408576,3224428543,US +3224408576,3224424959,US +3224425216,3224427007,US +3224427520,3224428543,US 3224428544,3224428799,DE 3224428800,3224430079,US 3224430336,3224430591,DE @@ -46854,7 +48634,8 @@ 3224431104,3224431359,CA 3224431360,3224431615,US 3224432128,3224432383,US -3224432640,3224435967,US +3224433152,3224433407,US +3224433664,3224435967,US 3224435968,3224436223,ZA 3224436224,3224436479,US 3224436736,3224502271,FI @@ -46866,7 +48647,8 @@ 3224651776,3224652287,AU 3224652800,3224660991,US 3224660992,3224661247,CA -3224661504,3224664063,US +3224661504,3224662527,US +3224663040,3224663551,US 3224672000,3224672255,US 3224672256,3224672511,NL 3224672512,3224673791,US @@ -46875,13 +48657,17 @@ 3224675072,3224675839,US 3224676864,3224677119,US 3224677120,3224678655,AU -3224678656,3224689919,US +3224678656,3224682495,US +3224683008,3224683519,US +3224684032,3224689919,US 3224689920,3224690687,NL -3224690688,3224692735,US +3224690688,3224691455,US +3224691712,3224692735,US 3224692736,3224692991,DZ 3224692992,3224694527,US 3224694528,3224694783,CA -3224694784,3224697343,US +3224694784,3224695039,US +3224695808,3224697343,US 3224697856,3224698111,US 3224698112,3224698367,GB 3224698368,3224698623,FR @@ -46889,8 +48675,10 @@ 3224725248,3224725503,DE 3224725504,3224725759,CH 3224725760,3224772351,US -3224772352,3224785151,DE -3224785152,3224791039,US +3224772352,3224778751,DE +3224779776,3224785151,DE +3224785152,3224787967,US +3224788480,3224791039,US 3224791040,3224791295,DE 3224791296,3224791807,AU 3224791808,3224793343,US @@ -46909,7 +48697,7 @@ 3224798976,3224799231,AU 3224799744,3224799999,US 3224800000,3224800255,DE -3224800256,3224816639,FR +3224800512,3224816639,FR 3224816640,3224816895,IL 3224816896,3224820735,FR 3224820736,3224820991,PL @@ -46917,7 +48705,8 @@ 3224821248,3224822015,US 3224822016,3224822271,SE 3224822272,3224822527,US -3224822784,3224826367,US +3224822784,3224823039,US +3224823296,3224826367,US 3224826368,3224826623,CA 3224826624,3224826879,US 3224827136,3224827391,GB @@ -46926,15 +48715,14 @@ 3224828672,3224828927,AU 3224829184,3224829439,US 3224829440,3224829695,DE -3224829952,3224834047,US +3224830208,3224834047,US 3224834048,3224834303,SG 3224834304,3224834559,US 3224834560,3224834815,TH -3224834816,3224839423,US -3224839424,3224839679,EU -3224839680,3224841727,US +3224834816,3224841727,US 3224841728,3224841983,CN -3224841984,3224851455,US +3224841984,3224850943,US +3224851200,3224851455,US 3224851456,3224851711,DE 3224851968,3224852735,US 3224852736,3224852991,DE @@ -46953,13 +48741,11 @@ 3224859392,3224859647,NL 3224859648,3224860159,US 3224860160,3224860415,JP -3224860672,3224862719,US +3224860928,3224862719,US 3224862976,3224863231,NL 3224863488,3224863743,US 3224863744,3224863999,GB -3224864000,3224870143,US -3224870144,3224870399,EU -3224870400,3224870655,US +3224864000,3224870655,US 3224870656,3224870911,IT 3224870912,3224878079,US 3224878080,3224878335,DE @@ -46972,7 +48758,8 @@ 3224880640,3224880895,AU 3224880896,3224882431,US 3224882688,3224882943,CA -3224882944,3224884223,US +3224882944,3224883455,US +3224883712,3224884223,US 3224884224,3224884479,GB 3224884480,3224884991,US 3224885248,3224885503,CA @@ -46981,12 +48768,14 @@ 3224886272,3224886527,JP 3224886528,3224887295,US 3224887296,3224887551,CA -3224887808,3224889343,US +3224887808,3224889087,US 3224889344,3224889599,AU -3224889600,3224891647,US +3224889600,3224890879,US +3224891136,3224891647,US 3224892416,3224892671,DE 3224892928,3224893183,US -3224893440,3225028863,US +3224893440,3224893951,US +3224894464,3225028863,US 3225028864,3225031423,JP 3225031424,3225033727,US 3225033728,3225033983,LU @@ -46995,12 +48784,15 @@ 3225034752,3225035775,BG 3225035776,3225037055,US 3225037056,3225049599,FI -3225050112,3225057535,US +3225050112,3225051135,US +3225052672,3225056767,US +3225057024,3225057535,US 3225057536,3225057791,CA 3225057792,3225060351,US 3225060352,3225061631,AU 3225062400,3225063423,VC -3225063424,3225075967,US +3225063424,3225064447,US +3225064704,3225075967,US 3225076224,3225076479,CA 3225076480,3225076991,US 3225076992,3225077247,SE @@ -47013,14 +48805,13 @@ 3225085184,3225085439,ES 3225085440,3225089279,US 3225089280,3225089535,CA -3225089536,3225090047,US -3225090048,3225090303,AP -3225090304,3225091071,US +3225089536,3225091071,US 3225091584,3225091839,US 3225092096,3225419775,US 3225420032,3225420287,US 3225420800,3225423871,CA -3225423872,3225426943,US +3225423872,3225424383,US +3225424896,3225426943,US 3225426944,3225427199,AT 3225427968,3225428991,US 3225429504,3225429759,CA @@ -47028,7 +48819,9 @@ 3225431040,3225431551,CZ 3225431552,3225434111,US 3225434112,3225436159,CA -3225436160,3225444607,US +3225436160,3225437695,US +3225438208,3225442559,US +3225443328,3225444607,US 3225445376,3225446399,BE 3225446400,3225450495,US 3225450496,3225451263,AG @@ -47045,7 +48838,8 @@ 3225471744,3225472511,US 3225473024,3225498111,US 3225498368,3225503487,NL -3225503488,3225506047,US +3225503488,3225505535,US +3225505792,3225506047,US 3225506304,3225508863,AU 3225508864,3225509631,CH 3225509632,3225509887,US @@ -47063,7 +48857,8 @@ 3225524480,3225524735,GB 3225525248,3225526271,US 3225526272,3225528319,BB -3225528320,3225530367,US +3225529088,3225529343,US +3225529600,3225530367,US 3225530368,3225530623,PR 3225530624,3225530879,US 3225531136,3225531647,US @@ -47074,7 +48869,8 @@ 3225541120,3225541375,US 3225541376,3225544703,GB 3225544704,3225546751,CA -3225546752,3225550847,US +3225546752,3225548543,US +3225548800,3225550591,US 3225550848,3225616383,DK 3225617152,3225617407,IE 3225617408,3225617663,GB @@ -47100,7 +48896,10 @@ 3225630464,3225630719,DE 3225630720,3225631231,US 3225631232,3225631487,SE -3225631488,3225635839,US +3225631488,3225632767,US +3225633536,3225633791,US +3225634048,3225634815,US +3225635072,3225635583,US 3225635840,3225636095,PT 3225636096,3225636607,US 3225636608,3225636863,ES @@ -47113,7 +48912,8 @@ 3225640704,3225641983,US 3225641984,3225643263,GB 3225643264,3225643775,CA -3225643776,3225650943,US +3225643776,3225649919,US +3225650176,3225650943,US 3225650944,3225651199,GB 3225651200,3225658367,US 3225658624,3225658879,US @@ -47130,7 +48930,8 @@ 3225673728,3225679871,US 3225679872,3225680127,AU 3225680128,3225680383,GR -3225680640,3225681919,US +3225680640,3225681151,US +3225681408,3225681663,US 3225681920,3225682943,DE 3225682944,3225683199,AT 3225683200,3225687039,DE @@ -47145,7 +48946,8 @@ 3225701120,3225701375,US 3225701376,3225709567,NO 3225709568,3225710079,US -3225710592,3225715455,US +3225710592,3225711615,US +3225712128,3225715455,US 3225715456,3225715711,CA 3225715712,3225715967,AU 3225715968,3225716991,US @@ -47153,7 +48955,8 @@ 3225717248,3225717503,TN 3225717760,3225720063,US 3225720576,3225721343,GB -3225721344,3225723903,US +3225721344,3225722111,US +3225722624,3225723903,US 3225723904,3225725439,DE 3225725440,3225725695,GB 3225725696,3225726207,AU @@ -47167,7 +48970,8 @@ 3225728768,3225729023,US 3225729024,3225729279,CA 3225729536,3225729791,PT -3225729792,3225735167,US +3225729792,3225733887,US +3225734144,3225735167,US 3225735424,3225735679,PT 3225735680,3225735935,US 3225735936,3225737215,DE @@ -47184,7 +48988,10 @@ 3225745920,3225746687,NL 3225746688,3225746943,US 3225746944,3225747199,DE -3225747456,3225757695,US +3225747456,3225747711,US +3225748480,3225752575,US +3225752832,3225753087,US +3225753600,3225757695,US 3225757696,3225758719,CA 3225759232,3225759487,US 3225759744,3225763839,US @@ -47200,9 +49007,12 @@ 3225781248,3225782271,CA 3225782272,3225785343,US 3225785344,3225788415,CA -3225788416,3225806847,US +3225788416,3225795583,US +3225796096,3225796351,US +3225796608,3225806847,US 3225807360,3225807615,DE -3225807872,3225812991,US +3225807872,3225809919,US +3225810688,3225812991,US 3225812992,3225843711,FR 3225843712,3225847039,US 3225847040,3225847551,TR @@ -47210,7 +49020,8 @@ 3225847808,3225848063,IT 3225848064,3225848831,US 3225848832,3225853951,DE -3225853952,3225857023,US +3225853952,3225854719,US +3225854976,3225857023,US 3225857024,3225857279,CA 3225857280,3225857535,US 3225857536,3225857791,AU @@ -47218,8 +49029,8 @@ 3225858048,3225858559,CA 3225858560,3225858815,US 3225858816,3225859583,JP -3225860096,3225862143,US -3225864192,3225868287,US +3225860096,3225861887,US +3225864704,3225868287,US 3225868288,3225868543,AU 3225868544,3225869055,US 3225869056,3225869311,AU @@ -47230,34 +49041,57 @@ 3225873920,3225874943,US 3225874944,3225875199,GB 3225875456,3225875967,US -3225876480,3225878527,US -3225878528,3225885183,SE +3225876480,3225878271,US +3225878528,3225881343,SE +3225881344,3225881599,IT +3225881600,3225885183,SE 3225885184,3225885695,AT -3225885696,3225917183,SE +3225885696,3225887999,SE +3225888000,3225888255,GB +3225888256,3225905407,SE +3225905408,3225905663,IT +3225905664,3225913855,SE +3225913856,3225914111,DE +3225914112,3225915135,SE +3225915136,3225915391,DK +3225915392,3225917183,SE 3225917184,3225917439,NL -3225917440,3225923327,SE +3225917440,3225918463,SE +3225918464,3225918719,GB +3225918720,3225920767,SE +3225920768,3225921023,GB +3225921024,3225921791,SE +3225921792,3225922047,GB +3225922048,3225923327,SE 3225923328,3225923583,IN -3225923584,3225932543,SE -3225932544,3225932799,AT -3225932800,3225933055,SE -3225933056,3225933311,AT +3225923584,3225923839,SE +3225923840,3225924095,GB +3225924096,3225930239,SE +3225930240,3225930495,FR +3225930496,3225932543,SE +3225932544,3225932799,IM +3225932800,3225933055,IT +3225933056,3225933311,ES 3225933312,3225934335,SE -3225934336,3225934591,AT -3225934592,3225936639,SE +3225934336,3225934591,IS +3225934592,3225935359,SE +3225935360,3225935615,US +3225935616,3225936639,SE 3225936640,3225936895,US -3225936896,3225938175,SE +3225936896,3225937407,SE +3225937408,3225937663,US +3225937664,3225938175,SE 3225938176,3225938431,RU -3225938432,3225940991,SE +3225938432,3225938687,US +3225938688,3225940991,SE 3225940992,3225941247,IL 3225941248,3225941503,IT -3225941504,3225942038,SE -3225942039,3225942039,EU -3225942040,3225942271,SE +3225941504,3225942271,SE 3225942272,3225942527,HU 3225942528,3225944063,SE 3225944064,3226008831,TW 3226008832,3226009343,US -3226009600,3226010879,US +3226009856,3226010879,US 3226010880,3226011135,CA 3226011136,3226012671,US 3226012672,3226012927,AU @@ -47269,9 +49103,11 @@ 3226016256,3226018303,US 3226018304,3226018559,DE 3226018560,3226021119,CH -3226021376,3226026495,US +3226021376,3226023423,US +3226023680,3226026495,US 3226026496,3226026751,AU -3226026752,3226067455,US +3226026752,3226064383,US +3226064640,3226067455,US 3226067456,3226067711,BE 3226067712,3226068223,US 3226068224,3226068479,GB @@ -47279,16 +49115,22 @@ 3226110208,3226110719,US 3226110720,3226128639,AU 3226128640,3226140671,US -3226140672,3226157567,CA +3226140672,3226141695,CA +3226141952,3226156543,CA +3226156800,3226157567,CA 3226157568,3226157823,US -3226157824,3226177535,CA +3226157824,3226175487,CA +3226176000,3226177535,CA 3226177536,3226178559,US -3226178560,3226189823,CA -3226189824,3226191871,US -3226191872,3226206207,CA +3226178560,3226188799,CA +3226189056,3226189311,CA +3226189568,3226189823,CA +3226189824,3226190847,US +3226191360,3226191615,US +3226191872,3226205951,CA 3226206208,3226207231,US 3226207744,3226215423,GB -3226215424,3226236927,US +3226215424,3226236159,US 3226237184,3226237439,US 3226237440,3226237695,AU 3226237696,3226241535,DE @@ -47296,7 +49138,8 @@ 3226241792,3226250495,DE 3226250496,3226251263,US 3226251264,3226251519,DE -3226251520,3226267903,US +3226251520,3226252287,US +3226252544,3226267903,US 3226267904,3226268159,DE 3226268160,3226268415,PT 3226268416,3226268927,AT @@ -47307,7 +49150,8 @@ 3226274560,3226274815,CH 3226274816,3226283519,US 3226283520,3226291199,CA -3226291200,3226300927,US +3226291200,3226300159,US +3226300416,3226300927,US 3226300928,3226301439,DE 3226301440,3226302463,US 3226302464,3226303487,FI @@ -47315,11 +49159,16 @@ 3226305536,3226307327,GB 3226307328,3226307583,US 3226307584,3226308095,ES -3226308096,3226374143,US +3226308096,3226308863,US +3226309120,3226317823,US +3226318080,3226318335,US +3226319360,3226319615,US +3226319872,3226374143,US 3226374144,3226375423,DE 3226375424,3226397695,US 3226397696,3226400255,DE -3226400256,3226473471,US +3226400256,3226470399,US +3226470656,3226473471,US 3226473472,3226473983,PT 3226473984,3226474495,US 3226474496,3226474751,CL @@ -47330,22 +49179,35 @@ 3226480128,3226480383,GB 3226480384,3226481407,US 3226481408,3226481663,DE -3226481664,3226521855,US +3226481664,3226483199,US +3226483968,3226484479,US +3226484736,3226488831,US +3226489088,3226520575,US +3226521344,3226521855,US 3226521856,3226522111,BR -3226522112,3226536191,US +3226522112,3226523135,US +3226523392,3226536191,US 3226536960,3226542079,CA 3226542080,3226546431,US 3226547200,3226548223,CA 3226548992,3226549247,BE 3226549248,3226550271,GB -3226550272,3226555391,US +3226551040,3226551807,US +3226552832,3226553087,US +3226553344,3226555391,US 3226555648,3226555903,CA -3226556416,3226561535,US +3226556416,3226556671,US +3226557440,3226558463,US +3226558720,3226558975,US +3226559488,3226561535,US 3226561792,3226562047,NO -3226562560,3226564607,US +3226563072,3226563327,US +3226563584,3226564607,US 3226564864,3226565119,DE 3226565376,3226565631,FI -3226565632,3226574847,US +3226565632,3226569727,US +3226569984,3226570239,US +3226570752,3226574847,US 3226574848,3226575103,FI 3226576384,3226576639,US 3226576896,3226578943,CA @@ -47357,9 +49219,12 @@ 3226591232,3226592255,CA 3226592768,3226593023,DE 3226593792,3226594047,GB -3226594304,3226626047,US +3226594304,3226598911,US +3226599424,3226625535,US +3226625792,3226626047,US 3226626048,3226626303,CA -3226626304,3226629375,US +3226626304,3226627327,US +3226627584,3226629375,US 3226629376,3226629631,CA 3226629632,3226630399,US 3226630400,3226630655,GB @@ -47402,7 +49267,8 @@ 3226696448,3226696703,AU 3226696704,3226698495,US 3226698496,3226698751,CA -3226698752,3226705919,US +3226698752,3226704895,US +3226705408,3226705919,US 3226705920,3226706175,FR 3226706176,3226706943,US 3226707200,3226707455,PL @@ -47426,7 +49292,7 @@ 3226726144,3226727679,US 3226727936,3226728191,US 3226728192,3226728447,CA -3226728448,3226730495,US +3226728448,3226729983,US 3226731008,3226731519,US 3226731776,3226732031,GB 3226732288,3226733567,US @@ -47434,13 +49300,15 @@ 3226733824,3226734079,PT 3226734080,3226734335,US 3226734336,3226734591,PT -3226734592,3226737407,US +3226734592,3226736383,US +3226736896,3226737407,US 3226737408,3226737663,AT 3226737664,3226738175,US 3226738176,3226738431,NL 3226738432,3226738687,US 3226738688,3226739199,NO -3226739712,3226746367,US +3226739712,3226743807,US +3226744576,3226746367,US 3226746368,3226746623,PT 3226746624,3226748927,US 3226749440,3226749695,US @@ -47462,9 +49330,9 @@ 3226774784,3226775039,GB 3226775040,3226775295,US 3226775552,3226782463,FI -3226782464,3226782719,EU 3226782720,3226783743,FI -3226783744,3226784767,US +3226783744,3226783999,US +3226784256,3226784767,US 3226784768,3226785023,GB 3226785024,3226786559,US 3226786560,3226786815,AU @@ -47486,7 +49354,9 @@ 3226796032,3226800127,US 3226800128,3226800639,DE 3226800640,3226824191,US -3226824192,3226824447,EU +3226824192,3226824291,DE +3226824292,3226824293,US +3226824294,3226824447,DE 3226824448,3226861567,US 3226861824,3226862079,CA 3226862080,3226864383,US @@ -47501,7 +49371,8 @@ 3226868480,3226868735,GB 3226868736,3226884351,US 3226884352,3226884607,IL -3226884608,3226893567,US +3226884608,3226892799,US +3226893056,3226893567,US 3226893568,3226894079,NL 3226894080,3226894335,GB 3226894336,3226895359,US @@ -47528,11 +49399,12 @@ 3226994176,3226994687,AU 3226994688,3226994943,US 3226994944,3226995455,GB -3226995456,3226996735,US +3226995456,3226996479,US 3226996992,3226997247,PT 3226998016,3226998527,US 3226998528,3226999039,AT -3226999040,3227013119,US +3226999040,3227005439,US +3227005696,3227013119,US 3227013376,3227013887,US 3227013888,3227014399,GB 3227014400,3227014655,NZ @@ -47552,10 +49424,8 @@ 3227025920,3227026175,GB 3227026176,3227026687,US 3227026688,3227026943,GB -3227027456,3227035135,US -3227035136,3227035391,EU -3227035392,3227035647,AP -3227035648,3227040255,US +3227027456,3227038207,US +3227038720,3227040255,US 3227040512,3227040767,AU 3227040768,3227041279,US 3227041280,3227041535,NZ @@ -47564,21 +49434,16 @@ 3227043072,3227043327,US 3227043584,3227044863,US 3227044864,3227045119,PL -3227045120,3227051519,US -3227051520,3227051775,AP -3227051776,3227053567,US +3227045120,3227053567,US 3227053568,3227053823,GB 3227053824,3227054079,DE 3227054080,3227056639,US 3227056640,3227058175,PT 3227058176,3227123711,FI -3227123712,3227143167,US -3227143168,3227143423,FR -3227143424,3227204617,US -3227204618,3227204619,EU -3227204620,3227225087,US +3227123712,3227224831,US 3227225088,3227225599,LU -3227225600,3227234559,US +3227225600,3227226111,US +3227226368,3227234559,US 3227234560,3227234815,PT 3227234816,3227235071,US 3227235072,3227235327,AU @@ -47599,10 +49464,14 @@ 3227244032,3227249151,SE 3227249408,3227249663,US 3227249664,3227252735,CH -3227252736,3227276543,US +3227252736,3227252991,US +3227253248,3227254271,US +3227254784,3227258623,US +3227258880,3227259135,US +3227259392,3227276543,US 3227276800,3227277055,FR 3227277312,3227278847,US -3227278848,3227279103,EU +3227278848,3227279103,IE 3227279104,3227281407,US 3227281408,3227282175,IT 3227282176,3227282431,US @@ -47627,7 +49496,11 @@ 3227290880,3227291135,AT 3227291136,3227294207,PT 3227294464,3227294975,GR -3227295232,3227310079,US +3227295232,3227299839,US +3227300096,3227301375,US +3227301632,3227302399,US +3227302656,3227309055,US +3227309824,3227310079,US 3227310080,3227310335,NO 3227310336,3227320319,US 3227320320,3227362047,FR @@ -47638,9 +49511,7 @@ 3227392000,3227392255,PT 3227392256,3227393023,US 3227393024,3227393279,AT -3227393280,3227393791,US -3227393792,3227394047,EU -3227394048,3227396351,US +3227393280,3227396351,US 3227396352,3227396607,AU 3227396608,3227400447,US 3227400448,3227400703,AT @@ -47651,7 +49522,7 @@ 3227402496,3227402751,US 3227403008,3227403519,GR 3227403520,3227403775,US -3227404288,3227405311,US +3227404544,3227405311,US 3227405312,3227405567,DE 3227406080,3227414015,US 3227414272,3227416063,GB @@ -47660,7 +49531,8 @@ 3227417344,3227417599,US 3227417856,3227418111,US 3227418112,3227418367,CA -3227418368,3227425791,US +3227418368,3227425023,US +3227425280,3227425791,US 3227425792,3227427583,DK 3227427584,3227427839,ES 3227427840,3227429119,US @@ -47670,7 +49542,8 @@ 3227430144,3227430399,US 3227430400,3227430655,HK 3227430656,3227437055,FR -3227437056,3227439103,US +3227437056,3227438079,US +3227438848,3227439103,US 3227439104,3227439615,AU 3227439616,3227439871,ZA 3227439872,3227440127,US @@ -47690,12 +49563,15 @@ 3227448064,3227448575,AU 3227448576,3227448831,US 3227448832,3227449087,ZA -3227449088,3227451455,US +3227449088,3227450111,US +3227450368,3227451455,US 3227451456,3227452375,CA 3227452376,3227452382,US 3227452383,3227452735,CA 3227452736,3227452767,US -3227452768,3227454687,CA +3227452768,3227453503,CA +3227453504,3227453507,US +3227453508,3227454687,CA 3227454688,3227454719,US 3227454720,3227455047,CA 3227455048,3227455051,US @@ -47715,10 +49591,17 @@ 3227464448,3227464575,US 3227464576,3227465147,CA 3227465148,3227465151,US -3227465152,3227467775,CA -3227467776,3227484159,US -3227484160,3227516927,CA -3227516928,3227533311,ZA +3227465152,3227466135,CA +3227466136,3227466143,US +3227466144,3227467775,CA +3227468032,3227468287,US +3227468800,3227484159,US +3227484160,3227504639,CA +3227504640,3227504895,US +3227504896,3227516927,CA +3227517184,3227522815,ZA +3227523072,3227526143,ZA +3227526400,3227533311,ZA 3227533312,3227534335,US 3227534336,3227557887,ZA 3227557888,3227558911,US @@ -47726,7 +49609,8 @@ 3227559936,3227561983,US 3227561984,3227568127,ZA 3227568128,3227574271,US -3227574272,3227582463,ZA +3227574272,3227579391,ZA +3227579648,3227582463,ZA 3227582464,3227647999,US 3227648000,3227713535,FI 3227713536,3227779071,CA @@ -47737,7 +49621,8 @@ 3227783936,3227784703,US 3227784704,3227784959,AU 3227784960,3227785727,AT -3227785728,3227792383,US +3227785728,3227786495,US +3227786752,3227792383,US 3227792384,3227792639,GB 3227792640,3227792895,NZ 3227792896,3227794687,US @@ -47761,17 +49646,24 @@ 3227806720,3227807743,US 3227807744,3227809023,FI 3227809024,3227809279,IN -3227809280,3227812351,FI -3227812352,3227812607,EU -3227812608,3227813375,FI +3227809280,3227813375,FI 3227813376,3227813631,US -3227813632,3227813887,MY -3227813888,3227815167,GB +3227813632,3227815167,GB 3227815168,3227815935,US 3227815936,3227816191,GB 3227816192,3227818495,US 3227818496,3227818751,GB -3227818752,3227844607,MX +3227818752,3227819263,MX +3227819520,3227822847,MX +3227823104,3227824383,MX +3227824640,3227825663,MX +3227825920,3227826687,MX +3227827200,3227829759,MX +3227830016,3227831807,MX +3227832064,3227833855,MX +3227834368,3227837439,MX +3227837952,3227842303,MX +3227842816,3227843327,MX 3227844864,3227845119,ES 3227845120,3227845631,US 3227845632,3227845887,RU @@ -47784,7 +49676,8 @@ 3227851776,3227852031,DE 3227852032,3227852799,US 3227853312,3227853567,GB -3227853568,3227860991,US +3227853568,3227856127,US +3227856896,3227860991,US 3227863808,3227864063,DE 3227864064,3227865343,US 3227865344,3227867903,NL @@ -47803,7 +49696,8 @@ 3227885568,3227887871,ES 3227887872,3227888127,PR 3227888128,3227888383,BE -3227888384,3227889663,US +3227888384,3227889151,US +3227889408,3227889663,US 3227889664,3227889919,CH 3227890176,3227890431,US 3227890432,3227890943,DE @@ -47813,7 +49707,9 @@ 3227893760,3227894015,FI 3227894016,3227895039,US 3227895040,3227895551,DE -3227895808,3227909631,US +3227895808,3227909119,US +3227909120,3227909375,BE +3227909376,3227909631,US 3227909632,3227909887,AU 3227910400,3227910655,AT 3227910656,3227911679,US @@ -47836,11 +49732,10 @@ 3227934464,3227934719,CH 3227934720,3227947519,US 3227947520,3227955711,DE -3227955712,3227962367,US -3227962368,3227962623,CN -3227962624,3227964927,US +3227955712,3227964927,US 3227964928,3227965183,GB -3227965184,3227967487,US +3227965184,3227966975,US +3227967232,3227967487,US 3227967488,3227967743,FR 3227967744,3227967999,PL 3227968000,3227968255,US @@ -47867,7 +49762,8 @@ 3227982848,3227985919,GB 3227985920,3227986175,DE 3227986176,3227986431,US -3227986688,3227997439,US +3227986688,3227987455,US +3227987712,3227997439,US 3227997440,3228005631,FI 3228005632,3228008959,US 3228008960,3228009215,AU @@ -47875,7 +49771,10 @@ 3228010752,3228011519,GB 3228011520,3228013311,US 3228013312,3228013567,PT -3228013568,3228045055,US +3228013568,3228039423,US +3228040192,3228041215,US +3228041472,3228042239,US +3228042752,3228045055,US 3228045056,3228045311,KR 3228045312,3228046335,US 3228046592,3228047103,US @@ -47911,7 +49810,7 @@ 3228079104,3228080639,US 3228080640,3228080895,IE 3228080896,3228081151,FR -3228081152,3228082175,US +3228081152,3228081919,US 3228082944,3228083967,US 3228083968,3228084479,BE 3228084480,3228085247,US @@ -47926,7 +49825,8 @@ 3228104704,3228104959,DK 3228104960,3228105471,US 3228105472,3228105727,CH -3228105728,3228109311,US +3228105984,3228106495,US +3228106752,3228109311,US 3228109312,3228109567,NZ 3228109568,3228125951,US 3228125952,3228126207,RU @@ -47975,12 +49875,12 @@ 3228297216,3228297727,AT 3228297728,3228297983,US 3228297984,3228298495,DE -3228298496,3228309247,US +3228298496,3228303103,US +3228303360,3228309247,US 3228309248,3228310271,DE -3228310272,3228311807,EU 3228311808,3228312063,DE -3228312064,3228312319,EU -3228312320,3228327167,DE +3228312320,3228316159,DE +3228316416,3228327167,DE 3228327168,3228328703,US 3228328704,3228328959,AU 3228328960,3228329471,NO @@ -48012,7 +49912,8 @@ 3228347392,3228348159,SK 3228348160,3228353279,US 3228353280,3228358399,SE -3228358400,3228362239,US +3228358400,3228361471,US +3228361728,3228362239,US 3228362240,3228362495,TH 3228362496,3228362751,US 3228363008,3228363263,US @@ -48020,10 +49921,9 @@ 3228363520,3228364287,US 3228364288,3228364543,AT 3228364800,3228368895,US -3228368896,3228404735,DE -3228404736,3228404863,FR -3228404864,3228404895,EU -3228404896,3228405247,FR +3228368896,3228380415,DE +3228380672,3228404735,DE +3228404736,3228405247,FR 3228405248,3228405503,KR 3228405504,3228405759,SG 3228405760,3228406015,IN @@ -48032,9 +49932,11 @@ 3228407040,3228430847,DE 3228430848,3228431103,ZA 3228431104,3228434431,DE -3228434432,3228477695,US +3228434432,3228472831,US +3228473344,3228477695,US 3228478464,3228479487,CA -3228479488,3228508159,US +3228479488,3228490751,US +3228491520,3228508159,US 3228508160,3228508415,AU 3228508416,3228508671,NO 3228508672,3228509439,US @@ -48045,7 +49947,8 @@ 3228512000,3228512255,DE 3228512256,3228512511,CH 3228512512,3228513791,US -3228514304,3228522495,US +3228514304,3228521471,US +3228521984,3228522495,US 3228522496,3228522751,GB 3228522752,3228525823,US 3228525824,3228526079,PT @@ -48057,15 +49960,18 @@ 3228531712,3228532223,NO 3228532224,3228532479,US 3228532480,3228532735,DE -3228532736,3228558591,US +3228532736,3228554751,US +3228555008,3228557311,US +3228557568,3228558591,US 3228558592,3228558847,BR 3228559104,3228564479,US 3228564480,3228564735,AT 3228564992,3228565247,US -3228565504,3228572927,US +3228565760,3228572927,US 3228573184,3228573951,PT 3228573952,3228574463,US -3228574720,3228577023,US +3228574720,3228574975,US +3228575232,3228577023,US 3228577024,3228577279,PT 3228577280,3228578047,US 3228578048,3228578303,GB @@ -48077,7 +49983,9 @@ 3228590592,3228590847,GB 3228590848,3228591103,DK 3228591104,3228591359,GB -3228591360,3228617727,US +3228591360,3228603391,US +3228603648,3228603903,US +3228604160,3228617727,US 3228617728,3228617983,FI 3228617984,3228618239,US 3228618240,3228618495,SE @@ -48097,7 +50005,9 @@ 3228826373,3228830719,IL 3228830720,3228833791,PS 3228833792,3229024255,IL -3229024256,3229061119,US +3229024512,3229024767,US +3229025280,3229058047,US +3229058816,3229061119,US 3229061120,3229062433,CA 3229062434,3229062450,US 3229062451,3229064951,CA @@ -48108,21 +50018,41 @@ 3229092864,3229093119,US 3229093120,3229093631,AU 3229093632,3229155327,US -3229155328,3229159423,SE +3229155328,3229155583,GB +3229155584,3229155839,SE +3229155840,3229156095,ES +3229156096,3229159423,SE 3229159424,3229159935,AT 3229159936,3229160959,SE -3229160960,3229161471,AT -3229161472,3229167103,SE -3229167104,3229167615,AT -3229167616,3229183999,SE -3229184000,3229184511,AT +3229160960,3229161471,DE +3229161472,3229161727,SE +3229161728,3229161983,GB +3229161984,3229164543,SE +3229164544,3229165055,GB +3229165056,3229167103,SE +3229167104,3229167615,IT +3229167616,3229171711,SE +3229171712,3229172223,GB +3229172224,3229182463,SE +3229182464,3229182975,GB +3229182976,3229183999,SE +3229184000,3229184511,GB 3229184512,3229195263,SE 3229195264,3229196287,DE 3229196288,3229196799,SE 3229196800,3229197311,AT 3229197312,3229198847,SE 3229198848,3229199359,AT -3229199360,3229220863,SE +3229199360,3229200383,SE +3229200384,3229200895,GB +3229200896,3229201151,DE +3229201152,3229201663,SE +3229201664,3229201919,DK +3229201920,3229203199,SE +3229203200,3229203967,GB +3229203968,3229205503,SE +3229205504,3229206015,GB +3229206016,3229220863,SE 3229220864,3229245439,GB 3229245440,3229246463,US 3229246464,3229254399,GB @@ -48135,7 +50065,8 @@ 3229265920,3229266175,AU 3229266176,3229266943,US 3229266944,3229267199,NZ -3229267200,3229275647,US +3229267200,3229272319,US +3229273856,3229275647,US 3229275648,3229275903,GB 3229276160,3229281023,IE 3229281024,3229281791,US @@ -48172,16 +50103,17 @@ 3229408256,3229412095,US 3229412096,3229414911,DE 3229414912,3229415167,US -3229415168,3229483007,DE +3229415168,3229415679,DE +3229415936,3229417215,DE +3229417472,3229483007,DE 3229483008,3229499647,FI 3229499648,3229500671,US 3229501440,3229614847,US 3229614848,3229615103,GB -3229615104,3229679103,US -3229679104,3229679359,EU -3229679360,3229679615,US -3229679616,3229695487,DE -3229695488,3229700095,US +3229615104,3229679615,US +3229679872,3229695487,DE +3229695488,3229697535,US +3229697792,3229700095,US 3229700096,3229700351,AT 3229700352,3229701887,US 3229701888,3229702143,TR @@ -48216,12 +50148,12 @@ 3229844736,3229844991,US 3229845248,3229845503,US 3229845504,3229847295,CA -3229847296,3229864703,US -3229864704,3229864959,AP -3229864960,3229874943,US +3229847296,3229870335,US +3229870848,3229874943,US 3229874944,3229875455,AU 3229875456,3229875967,US -3229876224,3229878271,US +3229876224,3229877503,US +3229877760,3229878271,US 3229878528,3229878783,GB 3229878784,3229879039,IT 3229879040,3229879295,NO @@ -48246,7 +50178,8 @@ 3229900032,3229900287,AU 3229900288,3229901567,US 3229901568,3229901823,GB -3229901824,3229937407,US +3229901824,3229928703,US +3229928960,3229937407,US 3229937408,3229937663,GB 3229937664,3229937919,US 3229937920,3229938175,CA @@ -48258,7 +50191,9 @@ 3229940736,3229940991,CH 3229940992,3229941247,AU 3229941248,3229941503,US -3229941760,3229945087,US +3229942272,3229942783,US +3229943040,3229943295,US +3229943552,3229945087,US 3229945600,3229945855,PT 3229945856,3229947135,US 3229947136,3229947391,AU @@ -48280,7 +50215,11 @@ 3229958144,3229958399,NO 3229958400,3229958655,US 3229958912,3229959167,SG -3229959168,3229968895,US +3229959168,3229962239,US +3229963008,3229963519,US +3229963776,3229967615,US +3229967872,3229968127,US +3229968384,3229968895,US 3229969408,3229969663,PT 3229969664,3229969919,AT 3229969920,3229970431,FI @@ -48292,7 +50231,7 @@ 3230004224,3230004479,GB 3230004480,3230004991,US 3230005760,3230006015,ZA -3230006016,3230007295,US +3230006016,3230007039,US 3230007296,3230072831,FR 3230072832,3230074623,US 3230074624,3230074879,DE @@ -48319,7 +50258,8 @@ 3230094336,3230095615,US 3230095616,3230095871,JP 3230096384,3230101503,JP -3230101504,3230105855,US +3230101504,3230104319,US +3230104576,3230105855,US 3230105856,3230106111,PT 3230106112,3230106879,US 3230106880,3230107135,AT @@ -48335,7 +50275,8 @@ 3230117888,3230120191,US 3230120448,3230120703,US 3230120704,3230120959,PT -3230120960,3230125055,US +3230121216,3230122495,US +3230123008,3230125055,US 3230125312,3230125567,US 3230125824,3230126335,AU 3230126336,3230126591,US @@ -48383,16 +50324,17 @@ 3230153984,3230154239,RU 3230154240,3230156543,US 3230156544,3230164991,FI -3230164992,3230167295,US +3230165504,3230167295,US 3230167552,3230168063,CA -3230168832,3230177791,US +3230168832,3230174463,US +3230175232,3230177791,US 3230177792,3230178303,GB 3230178304,3230178559,CH 3230179328,3230223615,US 3230223616,3230225919,LU -3230225920,3230245631,US -3230245632,3230245887,SE -3230245888,3230269439,US +3230225920,3230241023,US +3230241024,3230241791,GB +3230241792,3230269439,US 3230269440,3230271743,GB 3230272512,3230291455,US 3230291456,3230291711,PT @@ -48400,11 +50342,14 @@ 3230295040,3230295295,AU 3230295296,3230296319,US 3230296320,3230297343,NO -3230297344,3230300159,SE -3230301696,3230309119,US +3230297344,3230299647,SE +3230301696,3230302207,US +3230302976,3230307327,US +3230307584,3230309119,US 3230309120,3230309375,NO 3230309376,3230310143,GB -3230310144,3230316287,US +3230310144,3230310655,US +3230310912,3230316287,US 3230316288,3230316543,IT 3230316544,3230316799,US 3230316800,3230317311,CA @@ -48414,7 +50359,8 @@ 3230318848,3230321663,US 3230321664,3230321919,PT 3230321920,3230322175,US -3230322432,3230327807,US +3230322432,3230322943,US +3230323968,3230327807,US 3230327808,3230328063,AT 3230328064,3230328319,GB 3230328320,3230329087,CH @@ -48422,17 +50368,25 @@ 3230332928,3230333183,GB 3230333184,3230333695,US 3230333696,3230333951,NZ -3230333952,3230334975,US -3230334976,3230354943,CA +3230333952,3230334719,US +3230334976,3230340095,CA +3230340352,3230350847,CA +3230351104,3230354943,CA 3230354944,3230355199,FR 3230355200,3230365183,CA 3230365184,3230365439,US -3230365440,3230368767,CA +3230365440,3230367743,CA +3230368000,3230368511,CA 3230368768,3230370303,US 3230370304,3230370559,CA -3230370816,3230400511,CA +3230370816,3230372607,CA +3230372864,3230383359,CA +3230383616,3230384127,CA +3230384384,3230387455,CA +3230387712,3230400511,CA 3230681088,3230683135,FR -3230785536,3230823679,US +3230787584,3230793727,US +3230793984,3230823679,US 3230823680,3230823935,DK 3230824192,3230824447,FR 3230824448,3230825215,US @@ -48461,9 +50415,10 @@ 3230840832,3230841087,JP 3230841088,3230841343,DE 3230841600,3230841855,ES -3230841856,3230843135,US +3230841856,3230842111,US +3230842624,3230843135,US 3230843136,3230843391,NO -3230843392,3230844927,US +3230843392,3230844671,US 3230844928,3230845183,AU 3230845184,3230845951,US 3230845952,3230846207,CZ @@ -48484,7 +50439,7 @@ 3230858752,3230859007,US 3230859264,3230865151,US 3230865152,3230865407,GB -3230865408,3230867967,US +3230865664,3230867967,US 3230867968,3230868223,IS 3230868224,3230868479,US 3230868480,3230868735,GB @@ -48492,7 +50447,8 @@ 3230870016,3230870271,PL 3230870272,3230873343,US 3230873344,3230873599,HK -3230873600,3230878719,US +3230873600,3230877183,US +3230877696,3230878719,US 3230878720,3230879487,PT 3230879488,3230879743,FR 3230879744,3230888447,US @@ -48521,12 +50477,12 @@ 3230922240,3230922495,AU 3230922496,3230922751,IT 3230922752,3230923519,US -3230923520,3230923775,EU 3230923776,3230933247,US 3230933248,3230948607,SE 3230948608,3230951167,US 3230951168,3230951423,PT -3230951424,3230953471,US +3230951680,3230951935,US +3230952192,3230953471,US 3230953472,3230954495,CA 3230954496,3230967295,AU 3230967296,3230967551,RU @@ -48551,7 +50507,7 @@ 3230981376,3230981631,NZ 3230981632,3230981887,US 3230981888,3230983935,AU -3230983936,3230990335,US +3230983936,3230989823,US 3230990592,3230991103,US 3230991104,3230991359,PL 3230991360,3230991615,US @@ -48585,17 +50541,22 @@ 3231010048,3231010303,FR 3231010304,3231010815,NO 3231010816,3231011071,CA -3231011328,3231014911,US +3231011328,3231011839,US +3231012096,3231012863,US +3231013120,3231013375,US +3231013888,3231014655,US 3231015168,3231015423,US 3231015424,3231015679,CA 3231015680,3231015935,US 3231015936,3231016191,NO 3231016192,3231016447,US 3231016448,3231016703,NO -3231016704,3231018495,US +3231016704,3231016959,US +3231017216,3231018495,US 3231018496,3231018751,IT 3231018752,3231019007,GB -3231019008,3231020287,US +3231019008,3231019775,US +3231020032,3231020287,US 3231020288,3231020543,GB 3231020544,3231020799,NL 3231020800,3231021567,GB @@ -48603,7 +50564,8 @@ 3231021824,3231022079,CA 3231022080,3231022591,US 3231022592,3231022847,DE -3231022848,3231042047,US +3231022848,3231028479,US +3231028736,3231042047,US 3231042048,3231042303,GU 3231042304,3231043839,US 3231043840,3231044095,JP @@ -48614,12 +50576,13 @@ 3231049984,3231050239,US 3231050496,3231051263,US 3231051264,3231051519,GB -3231051776,3231057919,US -3231057920,3231058175,EU -3231058176,3231060991,US -3231060992,3231061247,EU -3231061248,3231070463,US -3231070720,3231077119,SE +3231051776,3231053055,US +3231053824,3231055103,US +3231055872,3231057151,US +3231057152,3231057407,CA +3231057408,3231070463,US +3231070720,3231074559,SE +3231075072,3231077119,SE 3231077120,3231077375,PL 3231077376,3231077631,SE 3231078144,3231078655,US @@ -48637,13 +50600,16 @@ 3231087872,3231088127,US 3231088128,3231088383,GT 3231088384,3231088895,US -3231088896,3231091711,AU +3231088896,3231090687,AU +3231090944,3231091711,AU 3231091712,3231091967,GB 3231091968,3231092223,US 3231092480,3231092735,US 3231092992,3231093247,US 3231093248,3231093503,IT -3231093504,3231101183,US +3231093504,3231094527,US +3231094784,3231100415,US +3231100672,3231101183,US 3231101184,3231103231,GB 3231103488,3231103999,US 3231104000,3231104255,NO @@ -48695,7 +50661,7 @@ 3231191296,3231191551,GB 3231191552,3231192575,US 3231193600,3231194111,DE -3231194112,3231197695,US +3231194368,3231197695,US 3231197696,3231197951,FR 3231197952,3231198207,US 3231198208,3231198463,GB @@ -48741,14 +50707,17 @@ 3231229696,3231229951,FR 3231229952,3231231487,US 3231231488,3231231743,PT -3231231744,3231234047,US +3231231744,3231233023,US +3231233536,3231234047,US 3231234048,3231235071,GB 3231235072,3231236095,US 3231236608,3231236863,US 3231236864,3231237119,CA -3231237120,3231241215,US +3231237120,3231238911,US +3231239168,3231241215,US 3231241216,3231241471,JP -3231241984,3231248639,US +3231241984,3231244287,US +3231244544,3231248639,US 3231248640,3231248895,GB 3231248896,3231249407,US 3231249408,3231249663,GB @@ -48759,12 +50728,14 @@ 3231251968,3231252223,AT 3231252736,3231252991,US 3231252992,3231253503,GB -3231253504,3231255551,US +3231253504,3231254015,US +3231254272,3231255551,US 3231255552,3231255807,GB 3231255808,3231256063,PT 3231256320,3231257087,US 3231257088,3231257599,HU -3231257600,3231275007,US +3231257600,3231258879,US +3231259136,3231275007,US 3231275008,3231275263,BR 3231275264,3231275519,CH 3231275520,3231276287,US @@ -48805,9 +50776,11 @@ 3231308032,3231308287,CA 3231308288,3231308799,US 3231308800,3231309055,CA -3231309824,3231316735,US +3231310848,3231316735,US 3231316736,3231316991,NZ -3231316992,3231322111,US +3231316992,3231317759,US +3231318272,3231318783,US +3231319040,3231322111,US 3231322112,3231324671,SG 3231325184,3231326207,CA 3231326208,3231352831,US @@ -48826,7 +50799,8 @@ 3231491328,3231491583,NZ 3231491584,3231491839,US 3231491840,3231492095,GB -3231492096,3231499263,US +3231492096,3231497727,US +3231497984,3231499263,US 3231499520,3231500031,US 3231500032,3231500287,BM 3231500288,3231502079,US @@ -48847,16 +50821,19 @@ 3231510528,3231512575,US 3231512576,3231512831,LU 3231513088,3231513343,US -3231513600,3231514623,US +3231513600,3231514367,US 3231514624,3231515647,NO 3231515648,3231516159,US -3231516672,3231519231,SE -3231519744,3231526911,US -3231526912,3231528959,A2 +3231516672,3231518719,SE +3231518720,3231518975,BR +3231518976,3231519231,SE +3231519744,3231521791,US +3231522560,3231528959,US 3231528960,3231528999,CA 3231529000,3231529015,US 3231529016,3231531007,CA -3231531008,3231539199,US +3231531008,3231533567,US +3231534080,3231539199,US 3231539200,3231547391,CA 3231547392,3231547647,US 3231547648,3231547903,NO @@ -48866,7 +50843,8 @@ 3231553024,3231553791,JP 3231553792,3231554047,US 3231554048,3231555327,DE -3231555328,3231556095,CA +3231555328,3231555583,CA +3231555584,3231556095,US 3231556352,3231556607,US 3231556608,3231556863,CA 3231556864,3231557887,AT @@ -48886,13 +50864,17 @@ 3231563264,3231563519,ZA 3231563776,3231583231,US 3231583232,3231584255,CA -3231584256,3231588863,US +3231584256,3231586559,US +3231587328,3231588863,US 3231588864,3231589119,GB 3231589120,3231591679,US 3231591680,3231591935,AU 3231591936,3231593983,US 3231593984,3231594495,GB -3231594496,3231649791,US +3231594496,3231596031,US +3231596544,3231644927,US +3231645184,3231645439,US +3231645696,3231649791,US 3231649792,3231653887,SG 3231653888,3231663103,US 3231663616,3231663871,FI @@ -48948,14 +50930,16 @@ 3231723008,3231723519,US 3231723776,3231724031,US 3231724032,3231724287,BR -3231724288,3231727871,US +3231724288,3231725055,US +3231725312,3231727871,US 3231727872,3231728127,DE 3231728384,3231728639,AT 3231728640,3231729407,US 3231729408,3231729663,AU 3231729664,3231735551,US 3231735552,3231736063,CH -3231736064,3231738367,US +3231736064,3231737087,US +3231737600,3231738367,US 3231738368,3231738623,NL 3231738624,3231739135,US 3231739136,3231739391,GB @@ -48985,7 +50969,8 @@ 3231755520,3231755775,US 3231755776,3231756543,PR 3231756544,3231757311,GB -3231757312,3231760895,US +3231757312,3231759359,US +3231759616,3231760895,US 3231760896,3231761407,GB 3231761408,3231763711,US 3231763712,3231763967,AU @@ -49064,36 +51049,61 @@ 3231903744,3231905791,RU 3231905792,3231906047,PL 3231906048,3231907839,RU -3231907840,3231912959,US -3231912960,3231913215,AP +3231907840,3231913215,US 3231913984,3231916031,US 3231916032,3231948799,FI 3231948800,3231973375,US 3231973376,3232038911,AT -3232038912,3232052991,SE +3232038912,3232039167,SE +3232039168,3232039423,DK +3232039424,3232039679,IT +3232039680,3232047359,SE +3232047360,3232048639,GB +3232048640,3232049151,SE +3232049152,3232049407,GB +3232049408,3232051967,SE +3232051968,3232052991,GB 3232052992,3232053247,US 3232053248,3232056063,SE 3232056064,3232056319,IT -3232056320,3232079871,SE +3232056320,3232060415,SE +3232060416,3232060671,IE +3232060672,3232065791,SE +3232065792,3232066303,GB +3232066304,3232066559,SE +3232066560,3232066815,NO +3232066816,3232079871,SE 3232079872,3232080895,GB -3232080896,3232093439,SE +3232080896,3232082687,SE +3232082688,3232083199,GB +3232083200,3232083455,SE +3232083456,3232083711,DE +3232083712,3232086527,SE +3232086528,3232087039,GB +3232087040,3232089087,SE +3232089088,3232089343,ES +3232089344,3232090367,SE +3232090368,3232090623,IT +3232090624,3232093439,SE 3232093440,3232093675,GB -3232093676,3232093676,EU +3232093676,3232093676,SE 3232093677,3232093695,GB -3232093696,3232093951,AP -3232093952,3232095231,SE +3232093696,3232095231,SE 3232095232,3232096255,GB -3232096256,3232102144,SE -3232102145,3232102145,EU -3232102146,3232104447,SE -3232104448,3232107519,DE +3232096256,3232098047,SE +3232098048,3232098303,FR +3232098304,3232100095,SE +3232100096,3232100351,IE +3232100352,3232101119,GB +3232101120,3232104447,SE +3232104448,3232106495,DE 3232107520,3232108543,RU -3232108544,3232129023,DE +3232108544,3232112639,DE +3232116736,3232129023,DE 3232129024,3232130047,NL 3232130048,3232131071,UA 3232131072,3232133119,DE 3232133120,3232133631,UA -3232133888,3232134143,DE 3232134144,3232135167,RU 3232135168,3232135679,PL 3232135680,3232135935,RO @@ -49106,7 +51116,7 @@ 3232142336,3232143359,ES 3232143360,3232156159,DE 3232156160,3232156671,PL -3232156672,3232159743,DE +3232157696,3232159743,DE 3232159744,3232160767,PL 3232160768,3232161791,DE 3232163840,3232165887,RU @@ -49114,15 +51124,21 @@ 3232169216,3232169727,DE 3232169728,3232169983,PL 3232169984,3232235519,IT -3232301056,3232309247,US +3232301056,3232302335,US +3232303104,3232303615,US +3232304128,3232309247,US 3232309248,3232311807,SG -3232312320,3232407039,US +3232312320,3232317951,US +3232318464,3232399615,US +3232400384,3232407039,US 3232407040,3232407551,SG 3232407552,3232432127,US -3232432128,3232433663,EU -3232433920,3232440319,US +3232433920,3232435455,US +3232436224,3232436735,US +3232437248,3232440319,US 3232440320,3232448511,CA -3232448512,3232462847,US +3232448512,3232461311,US +3232461824,3232462847,US 3232462848,3232464895,BB 3232464896,3232483327,GB 3232483328,3232555007,US @@ -49134,7 +51150,7 @@ 3232561920,3232562431,US 3232562432,3232562687,LU 3232562688,3232562943,CA -3232563200,3232565247,GB +3232563456,3232564479,GB 3232565248,3232567295,US 3232567296,3232569599,NZ 3232570368,3232571391,CA @@ -49144,7 +51160,7 @@ 3232629248,3232629759,US 3232629760,3232630783,CA 3232630784,3232645119,US -3232645120,3232647167,AT +3232645120,3232646399,AT 3232647168,3232661503,US 3232661504,3232694271,JP 3232694272,3232702463,US @@ -49153,22 +51169,67 @@ 3232704000,3232704511,CH 3232704512,3232705535,GB 3232705536,3232706559,FI -3232706560,3232716799,US +3232706560,3232706815,US +3232707584,3232716799,US 3232716800,3232727039,CA 3232727040,3232759807,US 3232759808,3232772095,SE 3232772096,3232774143,IT -3232774144,3232825343,SE -3232825344,3233288191,US +3232774144,3232774911,SE +3232774912,3232775167,IE +3232775168,3232794879,SE +3232794880,3232795135,DE +3232795136,3232802559,SE +3232802560,3232802815,DK +3232802816,3232803071,SE +3232803072,3232803327,IE +3232803328,3232804607,SE +3232804608,3232804863,IT +3232804864,3232812031,SE +3232812032,3232812543,GB +3232812544,3232812799,SE +3232812800,3232813055,ES +3232813056,3232820223,SE +3232820224,3232820479,IE +3232820480,3232825343,SE +3232825344,3233285375,US +3233286144,3233288191,US 3233288192,3233292287,CA 3233292288,3233431551,US -3233431552,3233451519,CA +3233431552,3233450047,CA +3233450048,3233450111,US +3233450112,3233451519,CA 3233451520,3233451775,GB -3233451776,3233464319,CA -3233464320,3233484799,US +3233451776,3233452543,CA +3233452544,3233452799,US +3233452800,3233453567,CA +3233453568,3233453823,IT +3233453824,3233455743,CA +3233455744,3233455775,US +3233455776,3233456127,CA +3233456128,3233456383,LV +3233456384,3233456639,UA +3233456640,3233457855,CA +3233457856,3233457863,US +3233457864,3233458687,CA +3233458688,3233458943,HU +3233458944,3233459199,BG +3233459200,3233459455,US +3233459456,3233460223,CA +3233460224,3233460479,US +3233460480,3233460735,CA +3233460736,3233460991,US +3233460992,3233463295,CA +3233463296,3233463551,US +3233463552,3233463967,CA +3233463968,3233463999,US +3233464000,3233464063,CA +3233464064,3233484799,US 3233484800,3233487359,ES 3233487872,3233488895,CA -3233488896,3233548287,US +3233488896,3233547519,US +3233547520,3233547775,CA +3233547776,3233548287,US 3233548800,3233549055,PT 3233549056,3233549311,BR 3233549312,3233557247,US @@ -49212,7 +51273,7 @@ 3233583360,3233583615,GB 3233583616,3233584895,US 3233584896,3233585151,AU -3233585152,3233586431,US +3233585152,3233586175,US 3233586432,3233586943,GB 3233586944,3233588223,US 3233588224,3233589247,GA @@ -49221,7 +51282,7 @@ 3233590528,3233590783,US 3233590784,3233591039,PH 3233591040,3233591295,ID -3233591296,3233593599,US +3233591552,3233593599,US 3233593600,3233593855,NZ 3233593856,3233594111,AU 3233594112,3233594367,RU @@ -49229,12 +51290,14 @@ 3233594624,3233594879,RU 3233594880,3233595903,US 3233595904,3233596927,EC -3233596928,3233605887,US +3233596928,3233597695,US +3233597952,3233605887,US 3233605888,3233607167,PL 3233607168,3233607935,US 3233607936,3233608191,NZ 3233608192,3233609727,HU -3233609728,3233611775,US +3233609984,3233610495,US +3233610752,3233611519,US 3233612032,3233612287,GB 3233612544,3233613823,US 3233613824,3233614847,GB @@ -49255,7 +51318,8 @@ 3233625344,3233625599,US 3233625600,3233625855,AU 3233625856,3233626111,GB -3233626112,3233628671,US +3233626112,3233626879,US +3233627136,3233628671,US 3233628672,3233628927,FR 3233628928,3233629439,CA 3233629440,3233629695,GB @@ -49285,18 +51349,20 @@ 3233654272,3233655551,GB 3233655552,3233662975,US 3233663488,3233663999,GB -3233664000,3233665023,US +3233664256,3233665023,US 3233665024,3233666047,AU 3233666048,3233668863,US 3233668864,3233669119,PH 3233669120,3233670399,US 3233670400,3233670655,AU -3233671168,3233675263,US +3233671680,3233675263,US 3233675520,3233676031,US 3233676032,3233676287,DE -3233676288,3233684991,US +3233676288,3233679103,US +3233679360,3233682431,US +3233682944,3233684991,US 3233685248,3233685503,BR -3233685504,3233688063,US +3233685760,3233688063,US 3233688576,3233688831,GB 3233688832,3233692159,US 3233692160,3233692671,NO @@ -49330,7 +51396,8 @@ 3233729280,3233729535,US 3233729536,3233730047,SG 3233730560,3233732607,AU -3233732608,3233736959,US +3233732608,3233734911,US +3233735680,3233736959,US 3233736960,3233737983,FR 3233737984,3233738751,US 3233738752,3233739007,GB @@ -49338,25 +51405,18 @@ 3233739264,3233739519,FR 3233739520,3233740543,US 3233740544,3233741311,GB -3233741312,3233808383,US +3233741312,3233742591,US +3233742848,3233808383,US 3233808384,3233873919,TW 3233873920,3233874175,US 3233874176,3233874687,AU 3233874688,3233903615,US 3233903616,3233903743,GB -3233903744,3233903807,EU +3233903744,3233903807,US 3233903808,3233903871,GB -3233903872,3233907711,US -3233907712,3233907967,AP -3233907968,3233914879,US -3233914880,3233915135,AP -3233915136,3233915903,US -3233915904,3233916159,AP -3233916160,3233926294,US +3233903872,3233926294,US 3233926295,3233926295,MX -3233926296,3233936639,US -3233936640,3233936895,EU -3233936896,3233939455,US +3233926296,3233939455,US 3233939456,3234004991,FI 3234005248,3234005503,GB 3234006528,3234007039,US @@ -49374,10 +51434,11 @@ 3234015744,3234015999,IE 3234016000,3234016255,GB 3234016256,3234019327,AU -3234019328,3234023423,US +3234019840,3234023423,US 3234023424,3234023679,PL 3234023680,3234024703,US -3234025472,3234030079,US +3234025472,3234026495,US +3234026752,3234030079,US 3234030080,3234030335,DE 3234030336,3234031103,US 3234031104,3234031359,AU @@ -49404,49 +51465,63 @@ 3234054912,3234055167,PT 3234055168,3234055423,US 3234055424,3234055679,AU -3234055680,3234061055,US +3234055680,3234056959,US +3234057216,3234061055,US 3234061056,3234061311,NZ -3234061312,3234065407,US +3234061312,3234064639,US +3234064896,3234065407,US 3234065408,3234065663,GB 3234065664,3234065919,BR 3234065920,3234070527,US 3234070528,3234110463,FR -3234110464,3234136063,US -3234136064,3234172927,CA +3234110464,3234123775,US +3234127872,3234136063,US +3234136064,3234150911,CA +3234151424,3234158847,CA +3234159104,3234159359,CA +3234160128,3234167295,CA +3234167808,3234172927,CA 3234172928,3234173951,US 3234173952,3234175999,CA 3234176000,3234177279,US 3234177280,3234187007,CA 3234187008,3234187519,US -3234187520,3234192383,CA +3234187520,3234189055,CA +3234189312,3234192383,CA 3234192384,3234193663,US -3234193664,3234201599,CA +3234193664,3234201343,CA 3234201600,3234203647,US 3234203648,3234205695,BR -3234205696,3234226175,US -3234226176,3234234367,CA -3234234368,3234238975,US +3234205696,3234208255,US +3234208768,3234232319,US +3234232320,3234232575,EG +3234232576,3234232831,US +3234232832,3234233087,BR +3234233088,3234238975,US 3234238976,3234239487,MY -3234239488,3234240255,US -3234240256,3234240383,EU +3234239488,3234240383,US 3234240384,3234240387,IE -3234240388,3234240511,EU -3234240512,3234240607,US +3234240388,3234240607,US 3234240608,3234240611,IL -3234240612,3234269695,US +3234240612,3234247167,US +3234247680,3234269695,US 3234270208,3234271231,CA 3234271232,3234275327,PT 3234275328,3234279423,AU 3234279424,3234283519,CA 3234283520,3234310367,US 3234310368,3234310371,HK -3234310372,3234316287,US +3234310372,3234312703,US +3234313216,3234316287,US 3234316288,3234320383,CA -3234320384,3234349055,US +3234320384,3234332671,US +3234332928,3234334975,US +3234335744,3234349055,US 3234349056,3234353151,NZ 3234353152,3234549759,US 3234549760,3234550015,RU -3234553856,3234556415,US +3234553856,3234554367,US +3234554880,3234556415,US 3234556416,3234556927,CA 3234556928,3234557439,FI 3234557440,3234564607,US @@ -49458,7 +51533,9 @@ 3234569984,3234574335,US 3234574336,3234574591,AU 3234574592,3234574847,MX -3234574848,3234579711,US +3234574848,3234576127,US +3234576896,3234578687,US +3234578944,3234579711,US 3234579712,3234579967,CA 3234579968,3234581247,US 3234581248,3234581503,CA @@ -49476,35 +51553,47 @@ 3234589440,3234589695,AU 3234589696,3234592511,US 3234592512,3234592767,TH -3234592768,3234611199,US -3234611200,3234615295,US -3234615296,3234725887,US +3234592768,3234594047,US +3234594816,3234725887,US 3234726144,3234726399,CA 3234726400,3234726911,US 3234726912,3234727935,CA -3234727936,3234733055,US +3234727936,3234730495,US +3234730752,3234733055,US 3234733056,3234733311,CA -3234733312,3234744319,US +3234733312,3234735103,US +3234735616,3234737407,US +3234738176,3234739455,US +3234740224,3234742015,US +3234742272,3234743551,US 3234744832,3234745599,US 3234745600,3234746879,GB 3234746880,3234747903,US 3234747904,3234748159,IL 3234748160,3234749439,US 3234749440,3234750463,CA -3234750464,3234762751,US +3234750464,3234751999,US +3234752256,3234753535,US +3234753792,3234754047,US +3234754560,3234755839,US +3234756096,3234762751,US 3234762752,3234764799,CA 3234764800,3234766335,NZ 3234766336,3234772223,US 3234772224,3234772479,CA 3234772480,3234772735,US -3234772992,3234781439,US +3234772992,3234777599,US +3234778112,3234781439,US 3234781440,3234781951,CA 3234781952,3234782719,US 3234782720,3234783999,IL -3234784000,3234794495,US +3234784000,3234791167,US +3234791424,3234794495,US 3234794752,3234795007,US 3234795008,3234795263,GB -3234795264,3234799359,US +3234795264,3234795519,US +3234795776,3234796031,US +3234796544,3234799359,US 3234799360,3234799615,NL 3234799616,3234799871,US 3234799872,3234800127,AU @@ -49513,7 +51602,8 @@ 3234801664,3234802431,EC 3234802432,3234803711,US 3234803712,3234803967,PR -3234804224,3234807807,US +3234804224,3234806783,US +3234807552,3234807807,US 3234807808,3234808063,TH 3234808064,3234809087,EC 3234809088,3234810879,US @@ -49561,9 +51651,12 @@ 3234855168,3234855935,US 3234856192,3234856447,US 3234856960,3234861055,CA -3234861056,3234988031,US -3234988032,3234991103,CA -3234991104,3235004415,US +3234861056,3234886143,US +3234886656,3234926847,US +3234927616,3234988031,US +3234988032,3234990847,CA +3234991104,3234998783,US +3234999296,3235004415,US 3235004416,3235021823,CA 3235021824,3235026943,US 3235026944,3235028991,CA @@ -49580,7 +51673,8 @@ 3235282944,3235315711,CA 3235315712,3235512319,US 3235512320,3235577855,JP -3235577856,3235643391,CA +3235577856,3235641855,CA +3235642112,3235643391,CA 3235643392,3235774463,US 3235774464,3235776767,CA 3235777536,3235807231,US @@ -49591,9 +51685,7 @@ 3235856384,3235872767,BR 3235872768,3235875839,US 3235875840,3235876095,GB -3235876096,3235876607,US -3235876608,3235876863,AP -3235876864,3235880447,US +3235876096,3235880447,US 3235880448,3235880703,GB 3235880704,3235914495,US 3235914496,3235914751,CA @@ -49605,31 +51697,38 @@ 3235929088,3235929343,CA 3235929344,3235945983,US 3235945984,3235946239,CA -3235946240,3236044799,US +3235946240,3235977727,US +3235978240,3235985663,US +3235986432,3236010239,US +3236011008,3236044799,US 3236044800,3236052991,CA 3236052992,3236069375,US 3236069376,3236102143,CA 3236102144,3236106239,PH 3236106240,3236139007,US -3236139008,3236143103,CA +3236139008,3236142079,CA +3236142080,3236142335,US +3236142336,3236143103,CA 3236143104,3236167679,US 3236167680,3236175871,CA 3236175872,3236200447,US 3236200448,3236233215,MY -3236233216,3236237567,US -3236237568,3236237936,EU -3236237937,3236238591,US +3236233216,3236238591,US 3236239360,3236241407,CA -3236241408,3236368127,US +3236241408,3236302847,US +3236306944,3236364287,US +3236364544,3236365567,US +3236365824,3236368127,US 3236368128,3236368383,NZ 3236368384,3236372991,US 3236372992,3236373247,AU -3236373504,3236379391,US +3236373760,3236379391,US 3236379392,3236379647,AU 3236379648,3236380927,US 3236381184,3236381439,CA 3236381440,3236381695,AT -3236381696,3236385279,US +3236381696,3236383999,US +3236384256,3236385279,US 3236385280,3236385535,DE 3236385536,3236385791,US 3236386304,3236387071,US @@ -49651,34 +51750,43 @@ 3236407552,3236408063,SG 3236408064,3236408319,US 3236408320,3236409343,CA -3236409344,3236413695,US +3236409600,3236412415,US +3236412672,3236413695,US 3236413696,3236413951,AU 3236413952,3236416255,US 3236416256,3236416511,AU -3236416512,3236418559,US +3236416512,3236418303,US 3236418560,3236418815,AU 3236418816,3236419071,US -3236419328,3236427519,US +3236419328,3236419583,US +3236419840,3236420095,US +3236420352,3236427519,US 3236427520,3236427775,CA 3236428800,3236429311,US 3236429312,3236429567,ZA 3236429824,3236438015,US -3236446208,3236447487,US -3236447488,3236447743,AP -3236447744,3236450047,US -3236450048,3236450303,EU -3236450304,3236462591,US +3236446208,3236462591,US 3236462592,3236470783,AU -3236470784,3236566783,US +3236470784,3236560895,US +3236561152,3236566783,US 3236566784,3236567039,CA -3236567040,3236585983,US +3236567040,3236568831,US +3236569856,3236570367,US +3236571136,3236575743,US +3236576000,3236583423,US +3236583680,3236585983,US 3236585984,3236586239,CA -3236586240,3236604671,US +3236586240,3236587519,US +3236588032,3236589823,US +3236590080,3236591103,US +3236592128,3236601343,US +3236601600,3236604671,US 3236604672,3236604927,CA 3236604928,3236610047,US 3236610560,3236611071,US 3236611072,3236612095,CA -3236612096,3236617471,US +3236612096,3236612607,US +3236613120,3236617471,US 3236617728,3236617983,US 3236617984,3236619775,CA 3236619776,3236620031,US @@ -49692,7 +51800,8 @@ 3236659200,3236691967,CA 3236691968,3236694271,US 3236695040,3236696063,CA -3236696064,3236757503,US +3236696064,3236698623,US +3236699136,3236757503,US 3236757504,3236765695,CA 3236765696,3236778239,US 3236778240,3236778751,GB @@ -49706,40 +51815,70 @@ 3236962304,3237021695,US 3237021696,3237023743,CA 3237023744,3237036031,US -3237036032,3237052415,CA +3237036032,3237036799,CA +3237036800,3237037055,US +3237037056,3237039359,CA +3237039360,3237039615,US +3237039616,3237039935,CA +3237039936,3237040063,US +3237040064,3237040383,CA +3237040384,3237040511,US +3237040512,3237041663,CA +3237041664,3237041791,US +3237041792,3237043199,CA +3237043200,3237043455,US +3237043456,3237043967,CA +3237043968,3237044223,CH +3237044224,3237045759,CA +3237045760,3237046015,US +3237046016,3237047039,CA +3237047040,3237047295,FR +3237047296,3237047551,US +3237047552,3237047807,IE +3237047808,3237048319,CA +3237048320,3237048575,US +3237048576,3237050367,CA +3237050368,3237051135,US +3237051136,3237051391,CA +3237051392,3237051903,US +3237051904,3237052159,TR +3237052160,3237052415,CA 3237052416,3237154815,US 3237154816,3237155839,ES 3237155840,3237156863,AU 3237156864,3237163007,US 3237163008,3237167103,DM 3237167104,3237182463,US -3237182464,3237183487,DE +3237182464,3237183487,NL 3237183488,3237216255,US 3237216256,3237281791,JP -3237281792,3237285119,US +3237282560,3237285119,US 3237285120,3237285631,AU 3237285632,3237287935,US 3237287936,3237288191,CA -3237288192,3237290495,US +3237288192,3237289471,US +3237289728,3237290495,US 3237291008,3237291263,NZ 3237291264,3237294847,US 3237294848,3237295103,CA 3237295104,3237296639,US 3237296640,3237297151,SG 3237297152,3237297407,CL -3237297408,3237305087,US +3237297408,3237300479,US +3237302528,3237305087,US 3237305088,3237305343,CA 3237305344,3237308671,US 3237308672,3237310719,AU 3237310720,3237312767,US 3237312768,3237313023,BO -3237313024,3237319679,US +3237313024,3237317631,US +3237317888,3237319679,US 3237319680,3237319935,DZ 3237319936,3237320703,US 3237320704,3237320959,UA 3237320960,3237321471,US 3237321728,3237321983,US -3237322752,3237325055,US +3237323264,3237325055,US 3237325056,3237325311,PL 3237325312,3237325823,US 3237325824,3237326079,CA @@ -49763,7 +51902,8 @@ 3237340160,3237340415,CA 3237340416,3237345535,US 3237345536,3237346303,KR -3237346304,3237412863,US +3237346304,3237347071,US +3237347328,3237412863,US 3237412864,3237415935,GB 3237415936,3237416959,CA 3237416960,3237478399,US @@ -49772,11 +51912,7 @@ 3237548032,3237552127,KR 3237552128,3237553154,US 3237553155,3237553155,GB -3237553156,3237553922,US -3237553923,3237553923,EU -3237553924,3237554434,US -3237554435,3237554435,AP -3237554436,3237568511,US +3237553156,3237568511,US 3237568512,3237572607,CA 3237572608,3237576703,US 3237576704,3237609471,CA @@ -49784,17 +51920,14 @@ 3237613568,3237614591,CA 3237615104,3237615615,US 3237615616,3237616895,CA -3237617152,3237622015,US -3237622016,3237622271,AP -3237622272,3237634309,US +3237617152,3237634309,US 3237634310,3237634310,GB -3237634311,3237634601,US -3237634602,3237634603,EU -3237634604,3237647103,US +3237634311,3237647103,US 3237647104,3237647359,AU 3237647360,3237648639,US 3237648640,3237648895,AU -3237648896,3237681663,US +3237648896,3237679359,US +3237679872,3237681663,US 3237681664,3237682943,CA 3237682944,3237684991,US 3237684992,3237685247,CL @@ -49804,7 +51937,8 @@ 3237690624,3237691903,SA 3237691904,3237698303,US 3237698304,3237698559,CA -3237698560,3237712895,US +3237698560,3237701631,US +3237702400,3237712895,US 3237712896,3237713151,AU 3237713152,3237716991,US 3237716992,3237717247,CA @@ -49834,7 +51968,8 @@ 3238002688,3238008831,NL 3238008832,3238010879,GR 3238010880,3238017023,CH -3238017024,3238018303,DK +3238017024,3238018047,DK +3238018048,3238018303,FR 3238018304,3238018559,UA 3238018560,3238018815,FR 3238018816,3238019071,DE @@ -49877,10 +52012,9 @@ 3238061056,3238061311,UA 3238061824,3238062079,CZ 3238062080,3238062591,CH -3238062848,3238063103,SE 3238063104,3238063359,PL 3238063360,3238063615,CH -3238063616,3238063871,EU +3238063616,3238063871,DE 3238064128,3238064383,UA 3238064384,3238064639,ES 3238064640,3238064895,PL @@ -49908,7 +52042,8 @@ 3238502400,3238504447,RU 3238504448,3238526975,DE 3238526976,3238527231,RU -3238527232,3238535167,CH +3238527232,3238530047,CH +3238530560,3238535167,CH 3238535168,3238536191,SE 3238536192,3238537215,DK 3238537216,3238538495,CH @@ -49918,7 +52053,7 @@ 3238541568,3238541823,PL 3238541824,3238542591,CH 3238542592,3238542847,PL -3238542848,3238545919,CH +3238542848,3238545407,CH 3238545920,3238546431,RU 3238546432,3238546943,CH 3238546944,3238547455,UA @@ -49928,9 +52063,10 @@ 3238559232,3238559487,SE 3238559488,3238562559,CH 3238562560,3238562815,IR -3238562816,3238573567,CH +3238562816,3238571263,CH +3238571520,3238573567,CH 3238573568,3238574079,PL -3238574080,3238575103,CH +3238574080,3238574591,CH 3238575104,3238575615,DE 3238575616,3238578431,CH 3238578432,3238578687,UA @@ -49944,8 +52080,7 @@ 3238592512,3238594559,GB 3238594560,3238595583,BE 3238595584,3238595839,SI -3238595840,3238596095,EU -3238596096,3238596607,GB +3238595840,3238596607,GB 3238596608,3238596863,BG 3238596864,3238597119,RU 3238597120,3238597375,DE @@ -50036,7 +52171,8 @@ 3239024640,3239026687,SE 3239026688,3239028735,HR 3239028736,3239051263,SE -3239051264,3239062271,DE +3239051264,3239053311,DE +3239054336,3239062271,DE 3239062272,3239062527,ES 3239062528,3239062783,CH 3239062784,3239063039,UA @@ -50052,14 +52188,12 @@ 3239077632,3239077887,PT 3239077888,3239078143,CZ 3239078144,3239078399,UA -3239078400,3239078655,RU 3239078656,3239078911,PL 3239078912,3239079167,GB 3239079168,3239079423,SI 3239079424,3239079679,FR 3239079680,3239079935,MD 3239079936,3239088127,DE -3239088384,3239088639,GB 3239088640,3239088895,DK 3239088896,3239089151,IL 3239089152,3239089407,RO @@ -50125,7 +52259,7 @@ 3239130112,3239130367,RU 3239130368,3239130623,JO 3239130624,3239130879,PL -3239131136,3239133183,DE +3239132160,3239133183,DE 3239133184,3239133439,CH 3239133440,3239133695,GB 3239133696,3239133951,ES @@ -50161,8 +52295,7 @@ 3239163904,3239164159,PL 3239164160,3239164671,DE 3239164672,3239164927,GB -3239164928,3239165183,DK -3239165184,3239165951,DE +3239164928,3239165951,DE 3239165952,3239166207,FR 3239166208,3239166463,DE 3239166464,3239166719,CH @@ -50188,20 +52321,17 @@ 3239172096,3239172607,UA 3239172608,3239172863,SE 3239172864,3239173119,DE -3239173120,3239173375,RO 3239173376,3239173631,DE 3239173632,3239173887,AT 3239173888,3239174143,PL 3239174400,3239174655,RO 3239174656,3239174911,GB 3239174912,3239175167,SI -3239175168,3239175423,UA 3239175424,3239175679,BG 3239175680,3239175935,DE 3239176192,3239180287,DE 3239180288,3239181311,CZ 3239181312,3239181567,AT -3239181568,3239181823,UA 3239181824,3239205887,DE 3239205888,3239206143,US 3239206144,3239264255,DE @@ -50252,17 +52382,15 @@ 3239296768,3239297023,GB 3239297024,3239298047,RO 3239298048,3239299071,GB -3239300096,3239301119,UA 3239301120,3239302143,FR 3239302144,3239303167,PL 3239303168,3239304191,FR -3239304192,3239305215,SI +3239304192,3239305215,HR 3239305216,3239306239,NL 3239306240,3239307263,UA 3239307264,3239308287,EG 3239308288,3239309311,DE 3239309312,3239311359,UA -3239311360,3239312383,FR 3239312384,3239313407,UA 3239313408,3239445759,DE 3239445760,3239446015,PL @@ -50299,7 +52427,6 @@ 3239474944,3239475199,ES 3239475200,3239479807,DE 3239479808,3239480063,UA -3239480064,3239480319,FR 3239480320,3239480575,UA 3239480576,3239480831,RO 3239480832,3239481087,CH @@ -50315,10 +52442,7 @@ 3239488768,3239489023,RO 3239489024,3239489279,DE 3239489280,3239489535,PL -3239489536,3239496959,DE -3239496960,3239497215,EU -3239497216,3239501823,DE -3239501824,3239505919,BE +3239489536,3239501823,DE 3239505920,3239506431,DE 3239506432,3239506687,RU 3239506688,3239506943,GB @@ -50334,9 +52458,7 @@ 3239509760,3239510015,DE 3239510016,3239510271,UA 3239510272,3239514111,DE -3239518208,3239521023,DE -3239521024,3239521279,AP -3239521280,3239522303,DE +3239518208,3239522303,DE 3239522304,3239522559,PL 3239522560,3239522815,SI 3239523072,3239523327,PL @@ -50348,7 +52470,6 @@ 3239524608,3239524863,SE 3239524864,3239525119,UA 3239525120,3239525375,LT -3239525376,3239525631,UA 3239525632,3239525887,PL 3239525888,3239526143,SI 3239526144,3239526399,PL @@ -50358,7 +52479,6 @@ 3239539456,3239539711,BE 3239539712,3239539967,GB 3239539968,3239540223,SE -3239540224,3239540479,GR 3239540480,3239540735,DE 3239540736,3239540991,GB 3239540992,3239541247,FR @@ -50383,7 +52503,6 @@ 3239550720,3239550975,NO 3239550976,3239554047,DE 3239554048,3239554303,SE -3239554304,3239554559,DK 3239554560,3239554815,PL 3239554816,3239555071,UA 3239555072,3239556095,DE @@ -50400,7 +52519,8 @@ 3239568128,3239568383,FR 3239568384,3239568639,SE 3239568640,3239568895,NO -3239568896,3239575295,DE +3239568896,3239574783,DE +3239575040,3239575295,DE 3239575296,3239575551,DK 3239575552,3239575807,RO 3239575808,3239579135,DE @@ -50417,9 +52537,7 @@ 3239583744,3239591935,DE 3239591936,3239592447,FI 3239592448,3239592703,US -3239592704,3239592959,FI -3239592960,3239593215,EU -3239593216,3239593983,FI +3239592704,3239593983,FI 3239593984,3239624703,DE 3239624704,3239625727,CH 3239625728,3239626751,RU @@ -50470,9 +52588,7 @@ 3239691008,3239691263,FR 3239691264,3239691519,IT 3239691520,3239691775,FR -3239691776,3239691821,EU 3239691822,3239691822,GB -3239691823,3239692031,EU 3239692032,3239692287,AT 3239692288,3239697407,DE 3239697408,3239697663,HR @@ -50480,9 +52596,7 @@ 3239697920,3239698431,PL 3239698432,3239706367,DE 3239706368,3239706623,UA -3239706624,3239706879,RU 3239706880,3239707135,NL -3239707136,3239707391,RU 3239707392,3239707647,UA 3239707648,3239707903,GB 3239707904,3239708159,DE @@ -50535,7 +52649,7 @@ 3239762688,3239762943,RO 3239762944,3239763199,SI 3239763200,3239763455,SE -3239763456,3239763967,GB +3239763456,3239763711,GB 3239763968,3239772159,DE 3239772160,3239772415,NL 3239772416,3239772671,IE @@ -50545,7 +52659,6 @@ 3239773952,3239774207,SA 3239774208,3239774463,PL 3239774464,3239774719,ES -3239774720,3239774975,FR 3239774976,3239775231,PT 3239775232,3239782399,DE 3239782400,3239782655,AT @@ -50556,7 +52669,6 @@ 3239783936,3239784191,DE 3239784192,3239784447,ES 3239784448,3239788543,DE -3239788544,3239789055,EU 3239789056,3239789567,DE 3239789568,3239790079,FR 3239790080,3239790591,RO @@ -50586,8 +52698,7 @@ 3239826944,3239827455,RU 3239827456,3239827967,DK 3239827968,3239828479,CH -3239828480,3239828735,EU -3239828736,3239828991,DE +3239828480,3239828991,DE 3239828992,3239830015,RU 3239830016,3239830527,CH 3239831040,3239831551,RU @@ -50595,12 +52706,12 @@ 3239832576,3239834111,RU 3239834112,3239834623,UA 3239834624,3239835135,AT -3239835648,3239836159,RU 3239836160,3239836671,DK 3239836672,3239837183,DE 3239837184,3239837695,SE 3239837696,3239837951,PL -3239837952,3239839231,DE +3239837952,3239838463,DE +3239838720,3239839231,DE 3239839232,3239839487,RU 3239839488,3239839743,DE 3239839744,3239839999,SK @@ -50623,7 +52734,6 @@ 3239860480,3239860735,FI 3239860736,3239861247,DE 3239861248,3239861503,UA -3239861504,3239861759,PL 3239861760,3239862015,SA 3239862016,3239862271,IT 3239862272,3239874559,DE @@ -50645,13 +52755,10 @@ 3239878656,3239882751,DE 3239882752,3239883007,GB 3239883008,3239883263,UA -3239883264,3239883316,EU -3239883317,3239883317,GB -3239883318,3239883519,EU +3239883264,3239883519,GB 3239883520,3239883775,RU 3239883776,3239884031,DE 3239884032,3239884287,RU -3239884288,3239884543,GB 3239884544,3239884799,FR 3239884800,3239885055,UA 3239885056,3239885311,CH @@ -50688,14 +52795,14 @@ 3239899136,3239901695,DE 3239901696,3239901951,BG 3239901952,3239902207,DE -3239902208,3239902463,PL 3239902464,3239902719,RU 3239902720,3239902975,EE 3239903232,3239907327,DE 3239907328,3239907583,UA 3239907584,3239908095,DE 3239908096,3239908351,RU -3239908352,3239913215,DE +3239908352,3239911423,DE +3239912960,3239913215,DE 3239913216,3239913471,LT 3239913472,3239915519,DE 3239915520,3239915775,PL @@ -50737,7 +52844,6 @@ 3239978752,3239979007,RU 3239979264,3239979519,GB 3239979520,3239979775,DE -3239979776,3239980031,SI 3239980032,3239996415,DE 3239996416,3239996671,GB 3239996672,3239996927,PL @@ -50756,9 +52862,7 @@ 3240011776,3240026111,DE 3240026112,3240027135,FR 3240027136,3240028159,BG -3240028160,3240028160,GB -3240028161,3240028161,EU -3240028162,3240029183,GB +3240028160,3240029183,GB 3240029184,3240030207,RU 3240030208,3240032255,UA 3240032256,3240033279,RS @@ -50768,24 +52872,20 @@ 3240034304,3240034559,RU 3240034560,3240037887,DE 3240037888,3240038143,AT -3240038144,3240038399,DK -3240038400,3240083455,DE +3240038400,3240041983,DE +3240042496,3240083455,DE 3240083456,3240085503,RU 3240085504,3240087551,KZ 3240087552,3240098815,DE 3240098816,3240099327,CH 3240099328,3240099839,DE -3240099840,3240100690,GB -3240100691,3240100691,EU -3240100692,3240102911,GB +3240099840,3240102911,GB 3240102912,3240103935,UA 3240103936,3240104703,GB 3240104704,3240104959,NL 3240104960,3240105215,RU 3240105216,3240105471,UA -3240105472,3240107583,GB -3240107584,3240107599,EU -3240107600,3240109055,GB +3240105472,3240109055,GB 3240109056,3240109567,PL 3240109568,3240112639,GB 3240112640,3240112895,PL @@ -50802,16 +52902,15 @@ 3240116224,3240116479,DE 3240116480,3240116735,DK 3240116736,3240117247,RO -3240117248,3240118271,EU +3240117248,3240118271,RU 3240118272,3240120319,ES 3240120320,3240120831,IR -3240120832,3240125439,GB -3240125440,3240125695,RO -3240125696,3240165375,GB +3240120832,3240132607,GB +3240140800,3240144895,GB +3240153088,3240165375,GB 3240165376,3240165887,PL 3240165888,3240166399,ES 3240166400,3240166911,PL -3240166912,3240167423,RO 3240167424,3240167935,PL 3240167936,3240168447,RU 3240168448,3240168959,FR @@ -50846,7 +52945,6 @@ 3240184832,3240185343,GB 3240185344,3240185855,FR 3240185856,3240187391,RU -3240187392,3240187903,UA 3240187904,3240188415,RU 3240188416,3240188927,RO 3240188928,3240189439,MD @@ -50866,7 +52964,6 @@ 3240197120,3240197631,PL 3240197632,3240198143,CZ 3240198144,3240198655,CH -3240198656,3240199167,RO 3240199168,3240199679,RU 3240199680,3240200191,NL 3240200192,3240200703,RO @@ -50882,7 +52979,7 @@ 3240205312,3240205823,GB 3240205824,3240206335,DE 3240206336,3240206847,RU -3240206848,3240207871,RO +3240207360,3240207871,RO 3240207872,3240208127,RU 3240208128,3240208895,FR 3240208896,3240209407,GB @@ -50900,7 +52997,6 @@ 3240216064,3240216575,GB 3240216576,3240217087,RO 3240217088,3240217599,UA -3240217600,3240218111,RU 3240218112,3240218623,UA 3240218624,3240219135,NL 3240219136,3240219647,AT @@ -50917,7 +53013,7 @@ 3240225280,3240225791,IL 3240225792,3240226303,UA 3240226304,3240226815,CH -3240226816,3240227839,RU +3240226816,3240227327,RU 3240227840,3240228351,GB 3240228352,3240228863,SE 3240228864,3240229375,GB @@ -50931,8 +53027,7 @@ 3240237056,3240239103,DE 3240239104,3240240127,FR 3240240128,3240241151,US -3240241152,3240241407,EU -3240241408,3240242175,FI +3240241152,3240242175,FI 3240242176,3240243199,PL 3240243200,3240243711,GB 3240243712,3240244223,DE @@ -50946,8 +53041,7 @@ 3240252416,3240253439,LT 3240253440,3240254463,BE 3240254464,3240256511,UA -3240256512,3240256767,EU -3240256768,3240257535,DE +3240256512,3240257535,DE 3240257536,3240258559,FO 3240258560,3240259583,RO 3240259584,3240260607,PL @@ -50986,7 +53080,6 @@ 3240280064,3240280191,DE 3240280192,3240280319,SE 3240280320,3240280447,PL -3240280448,3240280575,UA 3240280704,3240280831,RU 3240280832,3240280959,GB 3240280960,3240281215,PL @@ -51015,10 +53108,10 @@ 3240296448,3240296703,RO 3240296704,3240302847,GB 3240302848,3240303103,UA -3240303104,3240304639,GB +3240303104,3240303359,GB +3240303616,3240304639,GB 3240304640,3240305663,RU 3240305664,3240305919,PL -3240305920,3240306175,EU 3240306176,3240306687,RU 3240306688,3240306943,BG 3240306944,3240307199,PL @@ -51064,12 +53157,9 @@ 3240407040,3240407295,IL 3240407296,3240407551,NL 3240407552,3240407807,NO -3240408064,3240408319,DE -3240408320,3240408575,CH 3240408576,3240408831,FR 3240408832,3240409087,PL 3240409088,3240409343,TR -3240409344,3240409599,GB 3240409600,3240409855,NL 3240409856,3240410367,DE 3240410368,3240410623,AT @@ -51087,7 +53177,7 @@ 3240460288,3240461055,IL 3240461056,3240461567,DE 3240461568,3240461823,UA -3240461824,3240462079,EU +3240461824,3240462079,RU 3240462080,3240462335,TR 3240462336,3240462591,RO 3240462592,3240462847,RU @@ -51105,7 +53195,6 @@ 3240466176,3240466687,DE 3240466688,3240466943,PT 3240466944,3240467199,TR -3240467200,3240467455,NL 3240467456,3240467711,UA 3240467712,3240467967,RU 3240467968,3240468223,DE @@ -51166,7 +53255,6 @@ 3240698368,3240698623,GB 3240698624,3240699135,SI 3240699136,3240699391,DE -3240699392,3240699647,UA 3240699648,3240699903,NO 3240699904,3240700159,LT 3240700160,3240700415,AT @@ -51185,7 +53273,6 @@ 3240709120,3240710143,RU 3240710144,3240710399,UA 3240710400,3240710655,LT -3240710656,3240710911,DE 3240710912,3240711167,FR 3240711168,3240711679,IT 3240711680,3240711935,RU @@ -51201,11 +53288,9 @@ 3240714240,3240716287,GB 3240716288,3240718335,CH 3240718336,3240718847,PL -3240718848,3240719359,PT 3240719360,3240719871,DE 3240719872,3240720383,SE 3240720384,3240720895,DE -3240720896,3240721407,RO 3240721408,3240721919,DE 3240721920,3240722431,RO 3240722432,3240723455,UA @@ -51268,8 +53353,7 @@ 3240751104,3240752127,ES 3240752128,3240754175,RO 3240754176,3240755199,DE -3240755200,3240755455,IE -3240755456,3240791551,IT +3240755200,3240791551,IT 3240791552,3240791807,RU 3240791808,3240792063,ES 3240792064,3240792319,GB @@ -51277,7 +53361,6 @@ 3240792576,3240792831,CH 3240792832,3240793087,PL 3240793088,3240793343,UA -3240793344,3240793599,RU 3240793600,3240794111,FR 3240794112,3240794367,GB 3240794368,3240794879,PL @@ -51305,7 +53388,7 @@ 3240814592,3240818687,IT 3240818688,3240819711,NL 3240819712,3240819715,GB -3240819716,3240819716,EU +3240819716,3240819716,NL 3240819717,3240819967,GB 3240819968,3240820735,NL 3240820736,3240820799,FR @@ -51318,7 +53401,6 @@ 3240827136,3240827391,FR 3240827392,3240827647,BG 3240827648,3240827903,CH -3240827904,3240828159,IT 3240828160,3240828415,DE 3240828416,3240837119,IT 3240837120,3240837375,GB @@ -51365,7 +53447,6 @@ 3240877568,3240879103,UA 3240879104,3240880127,PL 3240880128,3240881151,RU -3240881152,3240882175,EU 3240882176,3240883199,PL 3240883200,3240884223,IL 3240884224,3240886271,UA @@ -51382,7 +53463,6 @@ 3241033728,3241033983,IL 3241033984,3241034239,RU 3241034240,3241034495,UA -3241034496,3241034751,DE 3241034752,3241035007,PL 3241035008,3241035263,DK 3241035264,3241035519,RO @@ -51393,7 +53473,6 @@ 3241036544,3241036799,SI 3241036800,3241037055,GB 3241037056,3241037311,RU -3241037312,3241037567,BE 3241037824,3241038079,NL 3241038080,3241038335,UA 3241038336,3241038591,DE @@ -51437,10 +53516,7 @@ 3241078528,3241078783,DE 3241078784,3241082879,AT 3241082880,3241083135,FR -3241083136,3241084927,CH -3241084928,3241085183,AP -3241085184,3241100799,CH -3241100800,3241101055,UA +3241083136,3241100799,CH 3241101056,3241101311,DK 3241101312,3241101567,RO 3241101568,3241101823,DE @@ -51454,7 +53530,6 @@ 3241104128,3241104383,GB 3241104384,3241104639,ES 3241104640,3241104895,UA -3241104896,3241105151,ES 3241105152,3241105407,RU 3241105408,3241108223,CH 3241108224,3241108735,DE @@ -51468,7 +53543,7 @@ 3241118720,3241118975,CH 3241118976,3241119231,FR 3241119232,3241119487,DK -3241119488,3241119743,EU +3241119488,3241119743,LT 3241119744,3241119999,RO 3241120000,3241120255,ES 3241120256,3241120511,RU @@ -51507,7 +53582,7 @@ 3241148416,3241373951,FR 3241373952,3241374207,RE 3241374208,3241476095,FR -3241476096,3241481727,BE +3241476608,3241481727,BE 3241481728,3241481983,PT 3241481984,3241482239,DE 3241482240,3241484799,SE @@ -51524,8 +53599,9 @@ 3241499904,3241500159,DE 3241500160,3241500671,GB 3241500672,3241501439,BE -3241501440,3241501951,EU -3241501952,3241502463,BE +3241501440,3241501440,GB +3241501696,3241501696,GB +3241501697,3241502463,BE 3241503232,3241503487,RS 3241503488,3241508095,BE 3241508096,3241508351,NL @@ -51533,9 +53609,12 @@ 3241541376,3241541631,PL 3241541632,3241724415,FR 3241724416,3241724671,RU -3241724672,3241803775,FR +3241724672,3241771007,FR +3241772032,3241789439,FR +3241789696,3241789951,FR +3241790464,3241790975,FR +3241791488,3241803775,FR 3241803776,3241803823,CY -3241803824,3241803831,EU 3241803832,3241803839,GB 3241803840,3241804031,CY 3241804032,3241820159,BE @@ -51582,11 +53661,7 @@ 3241869312,3241934847,PL 3241934848,3242196991,GB 3242196992,3242393599,FI -3242393600,3242419967,NL -3242419968,3242420223,EU -3242420224,3242426113,NL -3242426114,3242426114,EU -3242426115,3242459135,NL +3242393600,3242459135,NL 3242459136,3242467327,BG 3242467328,3242475519,HU 3242475520,3242483711,LV @@ -51609,7 +53684,6 @@ 3243509760,3243510015,RU 3243510016,3243510271,NL 3243510272,3243511807,CZ -3243511808,3243512063,GB 3243512064,3243512319,UA 3243512320,3243512575,FR 3243512576,3243512831,UA @@ -51648,10 +53722,8 @@ 3243527936,3243528191,PL 3243528192,3243529215,CZ 3243529216,3243529471,BE -3243529472,3243529727,GB 3243529728,3243529983,BG 3243529984,3243530239,GB -3243530240,3243530495,RU 3243530496,3243530751,FR 3243531008,3243531263,DE 3243531264,3243531775,CZ @@ -51660,8 +53732,8 @@ 3243532288,3243536383,CZ 3243536384,3243536639,AT 3243536896,3243537151,CZ -3243537152,3243537407,RO -3243537408,3243544063,CZ +3243537408,3243537919,CZ +3243538432,3243544063,CZ 3243544064,3243544319,GB 3243544320,3243544575,NL 3243544576,3243552767,CZ @@ -51700,7 +53772,6 @@ 3244100608,3244102655,UA 3244102656,3244103679,CH 3244103680,3244104703,BG -3244104704,3244105727,DE 3244105728,3244107775,GB 3244107776,3244108799,RO 3244108800,3244109823,GB @@ -51713,7 +53784,6 @@ 3244116992,3244118015,UA 3244118016,3244120063,GB 3244120064,3244122111,PL -3244122112,3244123135,A2 3244123136,3244124159,UA 3244124160,3244125183,PL 3244125184,3244126207,UA @@ -51751,15 +53821,9 @@ 3244228608,3244261375,TN 3244261376,3244277759,IE 3244277760,3244294143,SI -3244294144,3244343807,DE -3244343808,3244344063,EU -3244344064,3244452863,DE -3244452864,3244453119,EU -3244453120,3244501503,DE +3244294144,3244501503,DE 3244501504,3244501759,GB -3244501760,3244545279,DE -3244545280,3244545535,EU -3244545536,3244818431,DE +3244501760,3244818431,DE 3244818432,3244818687,ES 3244818688,3244818943,AT 3244818944,3244819199,PL @@ -51954,7 +54018,7 @@ 3244872704,3244872959,IR 3244872960,3244873215,UA 3244873216,3244873471,SE -3244873472,3244873727,EU +3244873472,3244873727,IE 3244873728,3244873983,DE 3244873984,3244874239,SE 3244874240,3244874495,ES @@ -52012,7 +54076,7 @@ 3244888576,3244888831,FR 3244888832,3244889087,DE 3244889088,3244889343,PL -3244889344,3244889599,RO +3244889344,3244889599,US 3244889600,3244889855,SI 3244889856,3244890111,HR 3244890112,3244890367,PL @@ -52135,7 +54199,6 @@ 3244922368,3244922623,GB 3244922880,3244923135,UA 3244923136,3244923391,AT -3244923392,3244923647,EU 3244923648,3244923903,LV 3244923904,3244924159,RU 3244924160,3244924927,CZ @@ -52230,10 +54293,8 @@ 3244951552,3244952575,FI 3244952576,3244953599,GB 3244953600,3244954623,DE -3244954624,3244955647,PL 3244955648,3244956671,UA 3244956672,3244957695,LT -3244957696,3244958719,EU 3244958720,3244959743,FR 3244959744,3244960767,RU 3244960768,3244961791,RO @@ -52283,7 +54344,7 @@ 3245010688,3245010943,FR 3245010944,3245011967,RU 3245011968,3245012991,PL -3245012992,3245014015,RU +3245012992,3245014015,UA 3245014016,3245015039,GR 3245015040,3245016063,RU 3245016064,3245017087,RS @@ -52300,7 +54361,6 @@ 3245030400,3245032447,RU 3245032448,3245033471,BG 3245033472,3245034495,UA -3245034496,3245035519,SE 3245035520,3245036543,UA 3245036544,3245037567,IS 3245037568,3245038591,PL @@ -52360,9 +54420,8 @@ 3245093888,3245094911,RO 3245094912,3245095935,UA 3245095936,3245096959,IT -3245096960,3245099007,EU +3245096960,3245099007,CZ 3245099008,3245103103,GB -3245103104,3245105151,EU 3245105152,3245105663,GB 3245105664,3245106175,NL 3245106176,3245106687,AT @@ -52381,7 +54440,6 @@ 3245116928,3245117439,KW 3245117440,3245118463,LV 3245118464,3245119487,GB -3245119488,3245120511,EU 3245120512,3245121093,GB 3245121094,3245121095,US 3245121096,3245121535,GB @@ -52439,7 +54497,6 @@ 3245138944,3245139455,PL 3245139456,3245139967,RU 3245139968,3245140479,CH -3245140480,3245140991,RO 3245140992,3245141503,UA 3245141504,3245141759,NL 3245141760,3245142015,SE @@ -52479,7 +54536,7 @@ 3245168640,3245168895,AT 3245168896,3245169151,RU 3245169152,3245169407,IT -3245169408,3245169919,PL +3245169408,3245169663,PL 3245169920,3245170175,PT 3245170176,3245170431,GB 3245170432,3245170687,CH @@ -52558,12 +54615,10 @@ 3245215744,3245217791,UA 3245217792,3245218815,DE 3245218816,3245219839,AT -3245219840,3245220863,FI -3245220864,3245221119,SE -3245221120,3245221887,FI +3245219840,3245221887,FI 3245221888,3245223935,DE 3245223936,3245225471,NL -3245225472,3245225727,EU +3245225472,3245225727,GB 3245225728,3245225983,NL 3245225984,3245228031,HU 3245228032,3245229055,FI @@ -52574,9 +54629,7 @@ 3245232640,3245232895,BG 3245232896,3245233151,IT 3245233152,3245233407,DK -3245233408,3245233452,CH -3245233453,3245233453,EU -3245233454,3245233663,CH +3245233408,3245233663,CH 3245233664,3245233919,GR 3245233920,3245234175,DK 3245234176,3245234431,GB @@ -52598,7 +54651,7 @@ 3245243392,3245244415,UA 3245244416,3245244671,ES 3245244672,3245244927,AT -3245244928,3245245183,US +3245244928,3245245183,BE 3245245440,3245245695,BG 3245245696,3245245951,DE 3245246208,3245246463,GB @@ -52611,8 +54664,7 @@ 3245248256,3245248511,GB 3245248512,3245248767,UA 3245248768,3245249023,SI -3245249024,3245249279,FR -3245249280,3245249535,NL +3245249024,3245249535,NL 3245249536,3245249791,FR 3245249792,3245250047,GB 3245250048,3245250303,DE @@ -52623,7 +54675,6 @@ 3245251328,3245251583,MT 3245251584,3245251839,UA 3245251840,3245252095,NL -3245252096,3245252351,BE 3245252352,3245252607,BG 3245252608,3245253631,UA 3245253632,3245254143,LV @@ -52652,7 +54703,6 @@ 3245275136,3245277183,BE 3245277184,3245277695,UA 3245277696,3245278207,RU -3245278208,3245278719,GB 3245278720,3245279743,UA 3245279744,3245280255,TJ 3245280256,3245280767,BE @@ -52677,7 +54727,6 @@ 3245288960,3245289215,IT 3245289216,3245289471,AT 3245289472,3245290495,UA -3245290496,3245291519,LU 3245291520,3245292543,DE 3245292544,3245293567,UA 3245293568,3245294079,FI @@ -52685,7 +54734,6 @@ 3245294592,3245295103,RO 3245295104,3245296127,IT 3245296128,3245296639,GB -3245297152,3245297663,IT 3245297920,3245298175,NL 3245298176,3245298431,IE 3245298432,3245298687,UA @@ -52730,7 +54778,7 @@ 3245321472,3245321727,UA 3245321984,3245322239,DE 3245322240,3245323263,RU -3245323264,3245325311,GB +3245324288,3245325311,GB 3245325312,3245326335,UA 3245326336,3245326847,SI 3245326848,3245327359,BG @@ -52743,15 +54791,14 @@ 3245333504,3245334527,SI 3245334528,3245334783,HU 3245334784,3245335039,BE -3245335040,3245335551,GB +3245335296,3245335551,GB 3245335552,3245335807,NL 3245335808,3245336063,RO 3245336064,3245336575,GB 3245336576,3245336831,RO 3245336832,3245337087,DE -3245337088,3245337343,GB 3245337344,3245337599,BE -3245337600,3245337855,LT +3245337600,3245337855,PL 3245337856,3245338367,DE 3245338368,3245339647,UA 3245339648,3245340671,LV @@ -52767,35 +54814,30 @@ 3245998080,3246129151,GB 3246129152,3246260223,RU 3246260224,3246325759,PT -3246325760,3246351615,EU 3246351616,3246352639,ES -3246352640,3246376959,EU 3246376960,3246377215,ES -3246377216,3246378751,EU 3246378752,3246379007,ES 3246379008,3246381055,GB -3246381056,3246381567,EU 3246381568,3246381823,ES -3246381824,3246391295,EU -3246391296,3246547199,GB -3246547200,3246547455,EU -3246547456,3246613503,GB +3246391296,3246613503,GB 3246613504,3246614527,HU 3246614528,3246744543,GB 3246744544,3246744559,NG 3246744560,3246784511,GB 3246784512,3246825983,CH 3246825984,3246826239,US -3246826240,3246828066,CH -3246828067,3246828067,EU -3246828068,3246915583,CH +3246826240,3246862847,CH +3246862848,3246863103,AU +3246863104,3246874623,CH +3246874624,3246875647,DE +3246875648,3246915583,CH 3246915584,3247046655,PT 3247046656,3247046911,AT 3247046912,3247048191,SI 3247048192,3247048703,NO 3247048704,3247048959,EE 3247048960,3247049215,SI -3247049216,3247054079,DE +3247049216,3247053823,DE 3247054080,3247054335,CH 3247054336,3247054591,LT 3247054592,3247054847,DE @@ -52824,7 +54866,7 @@ 3247068928,3247069183,UA 3247069184,3247069439,DE 3247069440,3247069695,RU -3247069696,3247069951,FR +3247069696,3247069951,NL 3247069952,3247070207,DE 3247070208,3247070463,IL 3247070464,3247070719,UA @@ -52850,7 +54892,6 @@ 3247076608,3247076863,DE 3247076864,3247077119,PL 3247077120,3247077375,DE -3247077376,3247077631,GB 3247077632,3247077887,NL 3247077888,3247078143,UA 3247078144,3247078399,AT @@ -52867,7 +54908,6 @@ 3247086592,3247087615,DE 3247087616,3247088639,IT 3247088640,3247089663,DE -3247089664,3247090687,RO 3247091712,3247092735,RU 3247092736,3247093759,DE 3247093760,3247094783,UA @@ -52892,14 +54932,10 @@ 3247253504,3247254527,DE 3247254528,3247267839,NL 3247267840,3247268351,DE -3247268352,3247279871,NL -3247279872,3247280127,DE -3247280128,3247290367,NL +3247268352,3247290367,NL 3247290368,3247291391,DE 3247291392,3247292415,NL -3247292416,3247299363,DE -3247299364,3247299364,EU -3247299365,3247300607,DE +3247292416,3247300607,DE 3247300608,3247308799,NL 3247308800,3247309055,BG 3247309056,3247313663,FI @@ -52926,7 +54962,7 @@ 3247337984,3247338239,UA 3247338240,3247338495,PL 3247338496,3247338751,SI -3247338752,3247339519,GB +3247339008,3247339519,GB 3247339520,3247340543,FI 3247340544,3247340799,UA 3247340800,3247341055,CH @@ -52940,7 +54976,7 @@ 3247347456,3247347711,IL 3247347712,3247347967,FI 3247347968,3247348223,HU -3247348224,3247348991,FI +3247348224,3247348735,FI 3247348992,3247349247,DE 3247349248,3247349503,FR 3247349504,3247349759,UA @@ -52971,9 +55007,7 @@ 3247372800,3247373055,RO 3247373056,3247374335,FI 3247374336,3247374591,RU -3247374592,3247382527,FI -3247382528,3247382783,EU -3247382784,3247394047,FI +3247374592,3247394047,FI 3247394048,3247394303,PL 3247394304,3247397887,FI 3247397888,3247398143,RU @@ -53003,9 +55037,8 @@ 3247713280,3247713535,RU 3247713536,3247713791,BE 3247713792,3247714047,SK -3247714048,3247714303,RU 3247714304,3247716351,CH -3247716352,3247717887,ES +3247717376,3247717887,ES 3247717888,3247718399,CH 3247718400,3247742975,ES 3247742976,3247751167,DE @@ -53014,14 +55047,10 @@ 3247771648,3247775743,ES 3247775744,3247783935,DE 3247783936,3247792127,GB -3247792128,3247794438,FR -3247794439,3247794439,EU -3247794440,3247800319,FR +3247792128,3247800319,FR 3247800320,3247816703,DK -3247816704,3247818751,EU 3247818752,3247820799,BE 3247820800,3247821823,CH -3247821824,3247826943,EU 3247826944,3247828991,CH 3247828992,3247833087,BE 3247833088,3247833599,RU @@ -53043,8 +55072,8 @@ 3247842304,3247842815,PL 3247842816,3247843327,CZ 3247843328,3247843583,LT -3247843584,3247845376,PL -3247845377,3247845631,CH +3247843584,3247845375,PL +3247845376,3247845631,CH 3247845632,3247845887,UA 3247845888,3247846399,PL 3247846400,3247847423,RU @@ -53065,7 +55094,6 @@ 3247856128,3247856639,ES 3247856640,3247857663,RU 3247857664,3247858175,UA -3247858176,3247858687,EU 3247858688,3247859711,RU 3247859712,3247859967,SE 3247859968,3247861759,RU @@ -53126,7 +55154,9 @@ 3247963136,3247964159,UA 3247964160,3248095231,ES 3248095232,3248160767,AT -3248160768,3248226303,DE +3248160768,3248169215,DE +3248169216,3248169471,GB +3248169472,3248226303,DE 3248226304,3248357375,NO 3248357376,3248488447,DE 3248488448,3248488703,FR @@ -53141,18 +55171,22 @@ 3248513536,3248514047,AT 3248514048,3248521983,NO 3248521984,3248522239,RU -3248522240,3248525311,NO +3248522240,3248524287,NO 3248525312,3248525567,DE 3248525568,3248525823,DK -3248525824,3248528895,NO +3248525824,3248527871,NO +3248528384,3248528895,NO 3248528896,3248529151,RU 3248529152,3248529407,BG 3248529408,3248540671,NO 3248540672,3248541183,RU -3248541184,3248545791,NO +3248541184,3248541695,SE +3248541696,3248545791,NO 3248545792,3248546815,UA 3248546816,3248547839,RU -3248547840,3248553215,NO +3248547840,3248549631,NO +3248549632,3248549887,SE +3248549888,3248553215,NO 3248553472,3248553727,NO 3248553728,3248553983,RU 3248553984,3248554239,RO @@ -53160,21 +55194,18 @@ 3248557056,3248558079,UA 3248558080,3248575487,NO 3248575488,3248576511,CZ -3248576512,3248603135,NO +3248576512,3248599039,NO +3248599040,3248603135,SE 3248603136,3248603391,BG 3248603392,3248603647,RU 3248603648,3248619519,NO -3248619520,3248719871,DK -3248719872,3248720127,EU -3248720128,3248748543,DK -3248748544,3248748799,EU -3248748800,3248750591,DK +3248619520,3248750591,DK 3248750592,3248750847,PT 3248750848,3248752383,PL 3248752384,3248752639,NL 3248752640,3248752895,DE 3248752896,3248753151,TR -3248753152,3248753663,GB +3248753408,3248753663,GB 3248753664,3248753919,FR 3248753920,3248754431,GB 3248754432,3248754687,AT @@ -53185,17 +55216,14 @@ 3248783616,3248783871,PL 3248783872,3248784127,UA 3248784128,3248785407,DE -3248785408,3248785663,RO -3248785664,3248786943,SI +3248785408,3248786943,SI 3248786944,3248787199,PL 3248787200,3248787455,FR 3248787456,3248787711,NL 3248787712,3248787967,CH 3248787968,3248788223,RU 3248788224,3248788479,ES -3248788480,3248788735,FR -3248788736,3248788991,UA -3248788992,3248789503,FR +3248788480,3248789503,FR 3248789760,3248790015,FR 3248790016,3248790271,DE 3248790272,3248790527,DK @@ -53204,13 +55232,9 @@ 3248791040,3248791295,BE 3248791296,3248791551,DE 3248791552,3248792063,GB -3248792064,3248792319,EU 3248792320,3248792575,GB -3248792576,3248796607,EU 3248796608,3248796863,GB -3248796864,3248798975,EU 3248798976,3248799231,GB -3248799232,3248799735,EU 3248799736,3248799743,GB 3248799744,3248800255,NL 3248800256,3248800767,RU @@ -53219,7 +55243,7 @@ 3248801792,3248802303,RU 3248802304,3248802815,FR 3248802816,3248803327,RU -3248803328,3248804351,GB +3248803328,3248803839,GB 3248804352,3248804863,LV 3248804864,3248805375,DE 3248805376,3248805887,RU @@ -53298,7 +55322,6 @@ 3249103872,3249104383,FI 3249104384,3249104895,RU 3249104896,3249105407,IL -3249105408,3249105919,RU 3249105920,3249106431,NL 3249106432,3249106943,RU 3249106944,3249108479,PL @@ -53324,8 +55347,7 @@ 3249119744,3249120255,IT 3249120256,3249120767,SE 3249120768,3249121279,LV -3249121280,3249121535,DE -3249121536,3249121791,GB +3249121280,3249121791,DE 3249122304,3249124351,RU 3249124352,3249124863,DE 3249124864,3249125375,CZ @@ -53360,13 +55382,7 @@ 3249142784,3249143295,UA 3249143296,3249143807,GB 3249143808,3249274879,AT -3249274880,3249279743,NL -3249279744,3249279999,EU -3249280000,3249313279,NL -3249313280,3249313535,EU -3249313536,3249369855,NL -3249369856,3249370111,EU -3249370112,3249405951,NL +3249274880,3249405951,NL 3249405952,3249521279,DE 3249521280,3249521343,UA 3249521344,3249537023,DE @@ -53391,7 +55407,7 @@ 3249676544,3249676799,IE 3249676800,3249677055,UA 3249677056,3249677311,SE -3249677312,3249679103,IE +3249677312,3249678847,IE 3249679104,3249679359,CH 3249679360,3249683455,IE 3249683456,3249684479,SE @@ -53452,7 +55468,6 @@ 3249722624,3249723135,PL 3249723136,3249723391,RU 3249723392,3249723647,IT -3249723648,3249723903,GB 3249723904,3249724159,TR 3249724160,3249724415,LU 3249724416,3249724671,IL @@ -53472,41 +55487,119 @@ 3249731584,3249732607,UA 3249732608,3249733631,IT 3249733632,3249799167,CZ -3249799168,3249855487,SE +3249799168,3249802239,SE +3249802240,3249802751,DE +3249802752,3249828607,SE +3249828608,3249828863,AT +3249828864,3249829375,DE +3249829376,3249829631,AT +3249829632,3249829887,SE +3249829888,3249830143,GB +3249830144,3249830399,SE +3249830400,3249830655,IT +3249830656,3249844479,SE +3249844480,3249844735,AT +3249844736,3249844991,AU +3249844992,3249845759,SE +3249845760,3249846271,DE +3249846272,3249850623,SE +3249850624,3249850879,GB +3249850880,3249854719,SE +3249854720,3249854975,US +3249854976,3249855487,SE 3249855488,3249856511,NL -3249856512,3249865727,SE -3249865728,3249866751,GB -3249866752,3249868799,SE +3249856512,3249859583,SE +3249859584,3249860095,DE +3249860096,3249861375,SE +3249861376,3249861631,BE +3249861632,3249862143,DE +3249862144,3249862655,SE +3249862656,3249863167,DE +3249863168,3249863423,BE +3249863424,3249863679,SE +3249863680,3249863935,ES +3249863936,3249865471,SE +3249865472,3249866751,GB +3249866752,3249868543,SE +3249868544,3249868799,DE 3249868800,3249869823,NL -3249869824,3249871359,SE +3249869824,3249871103,SE +3249871104,3249871359,NO 3249871360,3249871615,US -3249871616,3249910783,SE +3249871616,3249871871,NO +3249871872,3249872383,SE +3249872384,3249872639,GB +3249872640,3249910783,SE 3249910784,3249911807,GB -3249911808,3249932287,SE +3249911808,3249926143,SE +3249926144,3249926399,AU +3249926400,3249926655,SE +3249926656,3249926911,AU +3249926912,3249929471,SE +3249929472,3249929983,CA +3249929984,3249932287,SE 3249932288,3249934335,US 3249934336,3249934847,IT -3249934848,3249967103,SE +3249934848,3249960447,SE +3249960448,3249960959,DE +3249960960,3249961215,CA +3249961216,3249961471,SE +3249961472,3249961727,NL +3249961728,3249967103,SE 3249967104,3249967615,AT -3249967616,3249968127,SE +3249967616,3249967871,GB +3249967872,3249968127,SE 3249968128,3249969151,FR -3249969152,3249972479,SE -3249972480,3249972735,DE -3249972736,3250012159,SE +3249969152,3249969663,SE +3249969664,3249970175,DE +3249970176,3249971199,SE +3249971200,3249971455,IT +3249971456,3249971711,SE +3249971712,3249972735,DE +3249972736,3249974527,SE +3249974528,3249974783,ES +3249974784,3249976063,SE +3249976064,3249976319,FR +3249976320,3249976831,SE +3249976832,3249977087,GB +3249977088,3249991679,SE +3249991680,3249991935,US +3249991936,3249993215,SE +3249993216,3249993471,NL +3249993472,3249993727,SE +3249993728,3249994239,DE +3249994240,3249994495,CH +3249994496,3249995263,SE +3249995264,3249995519,GB +3249995520,3249997055,SE +3249997056,3249997311,US +3249997312,3250000127,SE +3250000128,3250000383,GB +3250000384,3250007295,SE +3250007296,3250007551,GB +3250007552,3250010367,SE +3250010368,3250010879,CH +3250010880,3250012159,SE 3250012160,3250013183,DE -3250013184,3250015999,SE -3250016000,3250016005,DK -3250016006,3250016007,SE -3250016008,3250016255,DK -3250016256,3250020863,SE +3250013184,3250020863,SE 3250020864,3250021375,IT 3250021376,3250022399,FR 3250022400,3250023423,SE 3250023424,3250024447,DE 3250024448,3250026495,SE 3250026496,3250027519,FR -3250027520,3250032639,SE -3250032640,3250032895,AP -3250032896,3250061311,SE +3250027520,3250030335,SE +3250030336,3250030591,DK +3250030592,3250031103,DE +3250031104,3250031359,DK +3250031360,3250031615,US +3250031616,3250035455,SE +3250035456,3250035711,US +3250035712,3250038271,SE +3250038272,3250039295,ES +3250039296,3250042623,SE +3250042624,3250043135,FR +3250043136,3250061311,SE 3250061312,3250192383,FI 3250192384,3250192639,AT 3250192640,3250192895,RU @@ -53517,7 +55610,7 @@ 3250194176,3250194431,DE 3250194432,3250194687,FR 3250194688,3250194943,UA -3250194944,3250195455,RO +3250194944,3250195199,RO 3250195456,3250195711,DE 3250195712,3250196223,GB 3250196224,3250196479,UA @@ -53533,13 +55626,14 @@ 3250233600,3250233855,AT 3250233856,3250234111,GB 3250234112,3250234367,GR -3250234368,3250245631,AT +3250234368,3250239743,AT +3250239744,3250239999,DE +3250240000,3250241535,AT 3250245632,3250245887,TR 3250245888,3250246143,AT 3250246144,3250246399,GB 3250246656,3250257663,AT 3250257664,3250257919,PL -3250257920,3250258175,EU 3250258176,3250271231,AT 3250271232,3250271743,PL 3250271744,3250271999,LB @@ -53549,7 +55643,9 @@ 3250276352,3250276607,GB 3250276608,3250276863,RU 3250276864,3250277375,IT -3250277376,3250278399,UA +3250277376,3250277631,UA +3250277632,3250277887,DE +3250277888,3250278399,UA 3250278400,3250279423,RU 3250279424,3250323199,AT 3250323200,3250323455,RU @@ -53592,9 +55688,7 @@ 3250374656,3250374911,SA 3250374912,3250375679,SE 3250375680,3250376703,GB -3250376704,3250377983,AT -3250377984,3250378239,AP -3250378240,3250380799,AT +3250376704,3250380799,AT 3250380800,3250386943,CH 3250386944,3250387199,SE 3250387200,3250387455,FR @@ -53613,7 +55707,6 @@ 3250408960,3250409471,DE 3250409472,3250409983,GB 3250409984,3250410495,DE -3250410496,3250411007,AT 3250411008,3250411519,LT 3250411520,3250412031,RU 3250412544,3250413055,DK @@ -53627,7 +55720,6 @@ 3250417664,3250418175,IT 3250418176,3250418687,DE 3250418688,3250419199,PL -3250419200,3250419711,NO 3250419712,3250420223,RU 3250420224,3250420735,IR 3250420736,3250421247,FR @@ -53644,7 +55736,6 @@ 3250425344,3250425599,TR 3250425600,3250425855,FR 3250425856,3250426111,LT -3250426112,3250426367,NO 3250426368,3250426623,AT 3250426624,3250426879,BE 3250426880,3250427135,JO @@ -53656,12 +55747,9 @@ 3250454528,3250585599,BE 3250585600,3250585855,NL 3250585856,3250588671,PT -3250588672,3250588799,IE 3250588800,3250588927,CY 3250588928,3250589183,GB 3250589184,3250589439,DE -3250589440,3250589471,IE -3250589472,3250589503,NL 3250589504,3250589567,HR 3250589568,3250589631,RU 3250589632,3250589695,NO @@ -53685,7 +55773,7 @@ 3250634752,3250642943,GB 3250642944,3250651135,CH 3250651136,3250659327,IT -3250659328,3250667519,EU +3250659328,3250660607,GB 3250667520,3250675711,PL 3250675712,3250683903,GB 3250683904,3250692095,CH @@ -53725,11 +55813,9 @@ 3250748160,3250748415,PL 3250748416,3250749439,UA 3250749440,3250749695,GH -3250749696,3250749951,EU -3250749952,3250750463,RO -3250750464,3250750537,FR -3250750538,3250750541,EU -3250750542,3250751487,FR +3250749696,3250749951,IT +3250750208,3250750463,RO +3250750464,3250751487,FR 3250751488,3250751999,DE 3250752000,3250752511,CH 3250752512,3250753023,BG @@ -53750,7 +55836,6 @@ 3250847744,3250978815,DE 3250978816,3251044351,HR 3251044352,3251109887,FI -3251109888,3251110143,SI 3251110144,3251110655,BG 3251110656,3251110911,IT 3251110912,3251111167,FR @@ -53761,9 +55846,7 @@ 3251112192,3251112447,SK 3251112448,3251112703,RU 3251112704,3251112959,SE -3251112960,3251113215,BG -3251113216,3251113471,VG -3251113472,3251113983,BG +3251112960,3251113983,BG 3251114496,3251114751,RU 3251114752,3251115007,RO 3251115008,3251115263,PL @@ -53791,12 +55874,10 @@ 3251123712,3251124223,RU 3251124736,3251125247,FR 3251125248,3251125759,BE -3251125760,3251126271,RU 3251126272,3251126783,UA 3251126784,3251127295,PL 3251127296,3251127807,UA 3251127808,3251128319,NL -3251128320,3251128831,DE 3251128832,3251129343,SE 3251129344,3251129855,UA 3251129856,3251130367,CH @@ -53841,9 +55922,7 @@ 3251147520,3251147775,NL 3251147776,3251148031,SE 3251148032,3251148287,RU -3251148288,3251148543,EU 3251148544,3251148799,UA -3251148800,3251149055,HU 3251149056,3251149311,NL 3251149312,3251149567,DE 3251149568,3251149823,IE @@ -53853,7 +55932,6 @@ 3251150848,3251151103,DE 3251151104,3251151359,UA 3251151360,3251151615,DE -3251151616,3251151871,PL 3251151872,3251152127,NL 3251152128,3251152639,RO 3251152640,3251152895,UA @@ -53900,11 +55978,9 @@ 3251164416,3251164671,IT 3251164672,3251164927,NL 3251164928,3251165439,PL -3251165440,3251165695,CH 3251165696,3251165951,DE 3251165952,3251166207,UA 3251166208,3251166463,CH -3251166464,3251166719,RU 3251166720,3251166975,FR 3251166976,3251167231,CH 3251167232,3251167487,LV @@ -53922,19 +55998,16 @@ 3251171328,3251171839,DE 3251171840,3251172095,RO 3251172096,3251172351,ES -3251172352,3251172607,RO 3251172608,3251172863,GB 3251172864,3251173119,UA 3251173120,3251173375,SA 3251173376,3251173631,UA 3251173632,3251173887,DE 3251173888,3251174143,DK -3251174144,3251174399,RU -3251174400,3251174655,RO 3251174656,3251174911,DE 3251174912,3251175167,RO 3251175168,3251175423,UA -3251175424,3251177471,IT +3251175424,3251177471,FR 3251177472,3251179519,DE 3251179520,3251180031,SE 3251180032,3251180543,PL @@ -53947,7 +56020,6 @@ 3251183616,3251183871,LT 3251183872,3251184127,CH 3251184128,3251184383,PL -3251184384,3251184639,DK 3251184640,3251184895,PL 3251184896,3251185151,DE 3251185408,3251185663,DK @@ -53961,7 +56033,6 @@ 3251187456,3251187711,GB 3251187712,3251188735,NL 3251188736,3251189759,DE -3251189760,3251190783,IT 3251190784,3251191807,UA 3251191808,3251192319,GB 3251192320,3251192831,LV @@ -54000,7 +56071,6 @@ 3251211264,3251212287,UA 3251212288,3251212415,PL 3251212416,3251212671,FI -3251212672,3251212799,SE 3251212800,3251212927,FR 3251212928,3251213055,RO 3251213056,3251213119,SE @@ -54018,10 +56088,8 @@ 3251213760,3251213823,CY 3251213824,3251213887,GB 3251213888,3251214015,CY -3251214016,3251214079,UA 3251214080,3251214143,CY 3251214144,3251214207,AF -3251214208,3251214271,RU 3251214272,3251214335,DE 3251214336,3251214463,RU 3251214464,3251214591,UA @@ -54065,12 +56133,9 @@ 3251234816,3251235839,RO 3251235840,3251236863,DE 3251236864,3251237887,BG -3251237888,3251238911,DK 3251238912,3251239935,FR -3251239936,3251240959,US 3251240960,3251241215,BE 3251241216,3251243007,GB -3251243008,3251245055,BE 3251245056,3251245311,DE 3251245312,3251245567,BE 3251245568,3251245823,TR @@ -54081,13 +56146,9 @@ 3251246848,3251247103,NL 3251247104,3251249151,DE 3251249152,3251251199,NL -3251251200,3251252735,EU 3251252736,3251256831,CH 3251256832,3251257343,GB -3251257344,3251257855,BE -3251257856,3251258111,NL -3251258112,3251259903,BE -3251260160,3251260671,EU +3251257344,3251259903,BE 3251260672,3251261439,FR 3251261440,3251264255,CH 3251264256,3251265535,FR @@ -54115,8 +56176,7 @@ 3251272960,3251273471,FR 3251273472,3251290111,DE 3251290112,3251302399,GB -3251302400,3251306239,LI -3251306240,3251306495,EU +3251302400,3251306495,LI 3251306496,3251306751,AT 3251306752,3251307007,MK 3251307008,3251307519,RS @@ -54135,23 +56195,17 @@ 3251315712,3251317759,RU 3251317760,3251318783,PL 3251318784,3251319807,UA -3251319808,3251320831,HU 3251320832,3251321855,PL 3251321856,3251322879,RU -3251322880,3251331071,GB -3251331072,3251331262,FR -3251331263,3251331263,GB -3251331264,3251331319,FR -3251331320,3251331320,GB -3251331321,3251331321,FR -3251331322,3251331323,GB -3251331324,3251331583,FR +3251322880,3251331319,GB +3251331320,3251331321,FR +3251331322,3251331327,GB +3251331328,3251331583,FR 3251331584,3251332095,PL 3251332096,3251333119,RU 3251333120,3251333631,CH 3251333632,3251334143,PT 3251334144,3251334655,FR -3251334656,3251335167,UA 3251335168,3251335679,RU 3251335680,3251336191,RO 3251336192,3251336703,GB @@ -54171,7 +56225,6 @@ 3251359232,3251360255,PL 3251360256,3251360767,GB 3251360768,3251361279,FR -3251361280,3251361791,RO 3251361792,3251362303,AT 3251362304,3251362815,UA 3251362816,3251363327,NL @@ -54208,31 +56261,30 @@ 3252203008,3252205567,HR 3252205568,3252205823,SE 3252205824,3252206079,NO -3252206080,3252207615,SE +3252206080,3252206591,SE +3252206592,3252207615,NO 3252207616,3252211711,NL -3252211712,3252213759,SE -3252213760,3252214527,NO -3252214528,3252223999,SE +3252211712,3252212735,SE +3252212736,3252214527,NO +3252214528,3252214783,SE +3252214784,3252217855,NO +3252217856,3252223999,SE 3252224000,3252232320,NL 3252232321,3252233215,SE -3252233216,3252234239,NO -3252234240,3252236287,SE -3252236288,3252247551,NO +3252233216,3252247551,NO 3252247552,3252248575,SE 3252248576,3252256767,NL -3252256768,3252273151,NO -3252273152,3252276223,SE -3252276224,3252277247,NO -3252277248,3252278271,SE -3252278272,3252286463,HR +3252256768,3252277247,NO +3252277248,3252277759,SE +3252277760,3252286463,HR 3252286464,3252287487,SE 3252287488,3252289535,LT 3252289536,3252289791,BG 3252289792,3252291327,GR 3252291328,3252291583,SK 3252291584,3252293631,FR -3252293632,3252297983,DE -3252297984,3252313599,GR +3252293632,3252297727,DE +3252297728,3252313599,GR 3252313600,3252313855,SI 3252313856,3252314111,DE 3252314112,3252314623,GR @@ -54279,8 +56331,7 @@ 3252346624,3252355071,GR 3252355072,3252355327,GB 3252355328,3252356351,LT -3252356352,3252356863,EU -3252356864,3252358911,LT +3252357120,3252358911,LT 3252358912,3252359167,DE 3252359168,3252362239,DK 3252362240,3252362495,PL @@ -54310,7 +56361,6 @@ 3252385280,3252385535,GB 3252385536,3252385791,RO 3252385792,3252386047,GB -3252386048,3252386303,SI 3252386304,3252386559,GB 3252386560,3252386815,BE 3252386816,3252387071,UA @@ -54319,19 +56369,11 @@ 3252387584,3252387839,RU 3252387840,3252404223,LT 3252404224,3252405759,NO -3252405760,3252409263,LT -3252409264,3252409271,SS -3252409272,3252409663,LT +3252405760,3252409663,LT 3252409664,3252409679,CD -3252409680,3252409791,LT -3252409792,3252409823,BI -3252409824,3252415487,LT -3252415488,3252415743,US -3252415744,3252421631,LT +3252409680,3252421631,LT 3252421632,3252423679,NO -3252423680,3252424799,LT -3252424800,3252424815,SS -3252424816,3252448511,LT +3252423680,3252448511,LT 3252448512,3252448767,NO 3252448768,3252449791,LT 3252449792,3252450047,DK @@ -54347,15 +56389,11 @@ 3252496128,3252496383,AU 3252496384,3252500223,SE 3252500224,3252500479,GB -3252500480,3252501247,SE -3252501248,3252501503,EU -3252501504,3252505343,SE +3252500480,3252505343,SE 3252505344,3252505599,US 3252505600,3252507135,SE 3252507136,3252507647,RO -3252507648,3252509183,GB -3252509184,3252509439,AP -3252509440,3252509951,GB +3252507648,3252509951,GB 3252509952,3252510719,CH 3252510720,3252514815,FR 3252514816,3252515071,SI @@ -54367,7 +56405,6 @@ 3252516352,3252516607,GB 3252516608,3252516863,SE 3252516864,3252517119,FR -3252517120,3252517375,EU 3252517376,3252517631,PL 3252517888,3252518143,DK 3252518144,3252518399,NL @@ -54376,7 +56413,6 @@ 3252518912,3252527103,NL 3252527104,3252535295,BE 3252535296,3252539391,GB -3252539392,3252540415,IE 3252540416,3252541951,NL 3252541952,3252542207,CI 3252542208,3252551679,BE @@ -54419,9 +56455,8 @@ 3252616704,3252616959,ES 3252616960,3252617215,CH 3252617216,3252617471,PL -3252617472,3252634623,CH +3252617472,3252633599,CH 3252634624,3252634879,RU -3252634880,3252636671,CH 3252636672,3252636927,TR 3252636928,3252637183,DE 3252637184,3252637695,GB @@ -54431,7 +56466,6 @@ 3252642816,3252643071,NL 3252643072,3252643327,RO 3252643328,3252643583,CH -3252643584,3252643839,AT 3252643840,3252682751,CH 3252682752,3252813823,HU 3252813824,3252830207,RO @@ -54451,7 +56485,7 @@ 3252906496,3252906751,GB 3252906752,3252907007,FR 3252907008,3252907263,AT -3252907264,3252907775,RO +3252907520,3252907775,RO 3252907776,3252908031,GB 3252908032,3252908287,PL 3252908288,3252908543,AT @@ -54460,7 +56494,6 @@ 3252909312,3252909567,DE 3252909568,3252909823,GB 3252909824,3252910335,UA -3252910336,3252910591,NL 3252910848,3252911103,PL 3252911104,3252911359,DE 3252911360,3252911615,RU @@ -54504,7 +56537,6 @@ 3252945152,3252945407,GB 3252945408,3252945663,UA 3252945664,3252980735,AT -3252980736,3252980991,PL 3252980992,3252981247,GB 3252981248,3252981503,RU 3252981504,3252981759,SE @@ -54512,7 +56544,6 @@ 3252982016,3252982271,RO 3252982272,3252982527,DE 3252982528,3252982783,FR -3252982784,3252983039,UA 3252983040,3252983551,DE 3252983552,3252983807,SI 3252983808,3252984063,BG @@ -54532,19 +56563,69 @@ 3253207040,3253270527,RU 3253270528,3253271551,BY 3253271552,3253338111,RU -3253338112,3253401343,SE -3253401344,3253401599,EU -3253401600,3253405563,SE -3253405564,3253405564,EU -3253405565,3253441023,SE +3253338112,3253338367,PL +3253338368,3253380863,SE +3253380864,3253381119,IT +3253381120,3253383935,SE +3253383936,3253384191,NO +3253384192,3253388287,SE +3253388288,3253388799,FR +3253388800,3253389055,SE +3253389056,3253389823,FR +3253389824,3253395455,SE +3253395456,3253395967,IT +3253395968,3253398271,SE +3253398272,3253398783,FR +3253398784,3253399039,SE +3253399040,3253399295,FR +3253399296,3253399551,IT +3253399552,3253400575,SE +3253400576,3253401087,IT +3253401088,3253402111,SE +3253402112,3253402367,IT +3253402368,3253402623,JP +3253402624,3253403647,SE +3253403648,3253403903,PL +3253403904,3253409791,SE +3253409792,3253410047,GB +3253410048,3253412351,SE +3253412352,3253412607,US +3253412608,3253416447,SE +3253416448,3253416703,GB +3253416704,3253428223,SE +3253428224,3253428479,DE +3253428480,3253429247,SE +3253429248,3253429759,JP +3253429760,3253430015,ES +3253430016,3253433087,SE +3253433088,3253433343,DE +3253433344,3253434111,SE +3253434112,3253434367,GB +3253434368,3253434623,IT +3253434624,3253434879,SE +3253434880,3253435135,IT +3253435136,3253435903,SE +3253435904,3253436159,NL +3253436160,3253436415,NO +3253436416,3253440511,SE +3253440512,3253440767,FR +3253440768,3253441023,SE 3253441024,3253441535,AT -3253441536,3253454335,SE -3253454336,3253454591,EU -3253454592,3253463039,SE +3253441536,3253443839,SE +3253443840,3253444351,NO +3253444352,3253453311,SE +3253453312,3253453567,NO +3253453568,3253454079,SE +3253454080,3253454335,GB +3253454336,3253460735,SE +3253460736,3253460991,IT +3253460992,3253461759,SE +3253461760,3253462015,PL +3253462016,3253462527,SE +3253462528,3253463039,US 3253463040,3253464063,GB 3253464064,3253469183,SE -3253469184,3253471231,AO -3253471232,3253534719,PT +3253469184,3253534719,PT 3253534720,3253600255,GB 3253601280,3253602303,FI 3253602304,3253603327,DE @@ -54590,7 +56671,6 @@ 3253646336,3253647359,PL 3253647360,3253648383,DK 3253648384,3253649407,IL -3253649408,3253650431,UA 3253650432,3253651455,DE 3253651456,3253652479,PL 3253652480,3253653503,LI @@ -54599,7 +56679,6 @@ 3253657600,3253658623,UA 3253658624,3253659647,DE 3253659648,3253660671,GB -3253660672,3253661695,NO 3253661696,3253662719,NL 3253662720,3253663743,RO 3253663744,3253664767,NL @@ -54682,7 +56761,6 @@ 3253725184,3253725439,SE 3253725440,3253725695,RU 3253725696,3253726207,UA -3253726208,3253726719,RO 3253726720,3253727231,UA 3253727232,3253727743,FR 3253727744,3253728255,RU @@ -54700,7 +56778,9 @@ 3253737856,3253738559,GB 3253738560,3253738567,CZ 3253738568,3253738575,BE -3253738576,3253760511,GB +3253738576,3253741679,GB +3253741680,3253741695,RU +3253741696,3253760511,GB 3253760512,3253760767,FR 3253760768,3253761407,GB 3253761408,3253761471,ES @@ -54816,12 +56896,15 @@ 3253985280,3253993471,GB 3253993472,3254067711,BE 3254067712,3254067967,CZ -3254067968,3254124543,BE +3254067968,3254079743,BE +3254079744,3254079999,HU +3254080000,3254124543,BE 3254124544,3254255615,CH 3254255616,3254255871,FR 3254255872,3254256127,RE -3254256128,3254256639,GP -3254256640,3254488431,FR +3254256128,3254263807,FR +3254263808,3254264063,GF +3254264064,3254488431,FR 3254488432,3254488447,MG 3254488448,3254489407,FR 3254489408,3254489439,MR @@ -54839,27 +56922,31 @@ 3254493344,3254493354,GP 3254493355,3254493375,FR 3254493376,3254493410,GP -3254493411,3254494207,FR +3254493411,3254493695,FR +3254493696,3254493951,GP +3254493952,3254494207,GF 3254494208,3254494527,GP 3254494528,3254494975,FR 3254494976,3254494983,DJ 3254494984,3254495055,FR 3254495056,3254495063,DJ -3254495064,3254508799,FR +3254495064,3254495487,FR +3254495488,3254495743,DZ +3254495744,3254508799,FR 3254508800,3254508831,MQ 3254508832,3254521855,FR 3254521856,3254522111,GB 3254522112,3254607871,FR -3254607872,3254610687,RE -3254610688,3254611199,FR +3254607872,3254610175,RE +3254610176,3254610431,FR +3254610432,3254610943,RE +3254610944,3254611199,FR 3254611200,3254611455,RE 3254611456,3254611456,YT 3254611457,3254611711,FR 3254611712,3254611712,YT 3254611713,3254611967,FR -3254611968,3254612991,RE -3254612992,3254613247,FR -3254613248,3254613759,RE +3254611968,3254613759,RE 3254613760,3254614527,FR 3254614528,3254615039,RE 3254615040,3254615551,FR @@ -54867,8 +56954,7 @@ 3254615553,3254615807,FR 3254615808,3254615808,YT 3254615809,3254648831,FR -3254648832,3254648895,DK -3254648896,3254649087,GB +3254648832,3254649087,GB 3254649088,3254649855,AL 3254649856,3254650879,SE 3254650880,3254653439,CH @@ -54880,12 +56966,10 @@ 3254656512,3254656767,DE 3254656768,3254657023,GB 3254657024,3254665215,RO -3254665216,3254681599,EU 3254681600,3254697983,DE 3254697984,3254698495,SE 3254698496,3254699007,GB 3254699008,3254699519,UA -3254699520,3254700031,US 3254700032,3254700543,GR 3254700544,3254701055,DE 3254701056,3254701567,RU @@ -54894,7 +56978,8 @@ 3254702592,3254703103,GB 3254703104,3254703615,DE 3254703616,3254704127,NL -3254704128,3254705663,UA +3254704128,3254704639,UA +3254705152,3254705663,UA 3254705664,3254706175,GR 3254706176,3254707199,RU 3254707200,3254707711,TR @@ -54906,6 +56991,7 @@ 3254710784,3254711295,RO 3254711808,3254712319,PL 3254712320,3254712831,RU +3254712832,3254713343,KZ 3254713344,3254713855,TR 3254713856,3254714367,NL 3254714368,3254779903,TR @@ -54934,7 +57020,6 @@ 3254788352,3254789119,ES 3254789120,3254789375,FR 3254789376,3254789631,BE -3254789632,3254790655,EU 3254790656,3254790911,LU 3254790912,3254791423,BE 3254791424,3254791679,SK @@ -54967,7 +57052,6 @@ 3254813184,3254813439,TR 3254813440,3254813695,UA 3254813696,3254813951,DK -3254813952,3254814207,IT 3254814208,3254814463,SE 3254814464,3254814719,DE 3254814720,3254814975,RU @@ -54975,7 +57059,6 @@ 3254815232,3254815487,UA 3254815488,3254815743,GB 3254815744,3254815999,IT -3254816000,3254816255,RU 3254816256,3254816511,TR 3254816512,3254816767,DE 3254816768,3254817279,RU @@ -55014,9 +57097,7 @@ 3254826240,3254826495,PL 3254826496,3254827263,DE 3254827264,3254827519,GR -3254827520,3254827775,PL 3254827776,3254828031,UA -3254828032,3254828287,DE 3254828288,3254828799,RO 3254828800,3254829055,SI 3254829056,3254829311,NO @@ -55053,15 +57134,13 @@ 3254837504,3254837759,RU 3254837760,3254838015,IE 3254838016,3254838271,GE -3254838272,3254838527,DE 3254838528,3254838783,CH 3254838784,3254839039,AT -3254839040,3254839295,RU 3254839296,3254839551,DE 3254839552,3254839807,PL 3254839808,3254840063,BE 3254840064,3254840319,BG -3254840320,3254840575,EU +3254840320,3254840575,DK 3254840576,3254840831,UA 3254840832,3254841343,GB 3254841344,3254841599,PL @@ -55103,8 +57182,7 @@ 3254888960,3254889471,RU 3254889472,3254890495,SK 3254890496,3254890751,DE -3254890752,3254891007,UA -3254891008,3254891519,RO +3254891008,3254891263,RO 3254891520,3254891775,GB 3254891776,3254892031,DE 3254892032,3254892287,GB @@ -55149,93 +57227,54 @@ 3254908928,3254909951,RU 3254909952,3254910719,PL 3254910720,3254910975,HR -3254910976,3255072767,FR -3255072768,3255073023,BE -3255073024,3255120639,FR +3254910976,3255120639,FR 3255120640,3255120895,DE 3255120896,3255123711,FR 3255123712,3255123967,DE -3255123968,3255126527,FR -3255126528,3255127551,EU -3255127552,3255129855,FR +3255123968,3255129855,FR 3255129856,3255130111,HR 3255130112,3255172351,FR 3255172352,3255172607,DE 3255172608,3255173119,FR 3255173120,3255173631,SH -3255173632,3255173647,EU 3255173648,3255173711,GB -3255173712,3255173759,EU 3255173760,3255173823,GB -3255173824,3255173839,EU 3255173840,3255174151,GB -3255174152,3255174159,EU 3255174160,3255174167,GB -3255174168,3255174199,EU 3255174200,3255174207,GB -3255174208,3255174215,EU 3255174216,3255174247,GB -3255174248,3255174271,EU 3255174272,3255174279,GB -3255174280,3255174311,EU 3255174312,3255174319,GB -3255174320,3255174327,EU 3255174328,3255174335,GB -3255174336,3255174375,EU 3255174376,3255174383,GB -3255174384,3255174399,EU 3255174400,3255175167,GB -3255175168,3255175199,EU 3255175200,3255175231,GB -3255175232,3255175247,EU 3255175248,3255175263,GB -3255175264,3255175279,EU 3255175280,3255175295,GB -3255175296,3255175311,EU 3255175312,3255175327,GB -3255175328,3255175431,EU 3255175432,3255175447,GB -3255175448,3255175455,EU 3255175456,3255175503,GB -3255175504,3255175511,EU 3255175512,3255175535,GB -3255175536,3255175551,EU 3255175552,3255175559,GB -3255175560,3255175591,EU 3255175592,3255175607,GB -3255175608,3255175679,EU 3255175680,3255175935,GB -3255175936,3255176191,EU 3255176192,3255177215,GB -3255177216,3255177471,EU 3255177472,3255177855,GB -3255177856,3255177983,EU 3255177984,3255187199,GB 3255187200,3255187455,DE 3255187456,3255187711,GB -3255187712,3255188479,EU 3255188480,3255191807,GB -3255191808,3255192319,EU 3255192320,3255193863,GB -3255193864,3255193887,EU 3255193888,3255193959,GB -3255193960,3255193967,EU 3255193968,3255193975,GB 3255193976,3255193983,GI 3255193984,3255193999,GB -3255194000,3255194015,EU 3255194016,3255194039,GB -3255194040,3255194055,EU 3255194056,3255194063,GB -3255194064,3255194071,EU 3255194072,3255194431,GB -3255194432,3255194495,EU 3255194496,3255194559,GB -3255194560,3255194623,EU 3255194624,3255194703,GB -3255194704,3255194719,EU 3255194720,3255194815,GB -3255194816,3255194879,EU 3255194880,3255205887,GB 3255205888,3255214079,FR 3255214080,3255222271,CH @@ -55270,13 +57309,11 @@ 3255236608,3255236863,GB 3255236864,3255237119,DE 3255237120,3255237375,AT -3255237376,3255237887,SE +3255237632,3255237887,SE 3255237888,3255238143,ES 3255238144,3255238399,GB 3255238400,3255238655,QA -3255238656,3255280018,BE -3255280019,3255280019,EU -3255280020,3255292311,BE +3255238656,3255292311,BE 3255292312,3255292319,LU 3255292320,3255304191,BE 3255304192,3255304447,DE @@ -55286,14 +57323,13 @@ 3255307776,3255308031,PL 3255308032,3255308287,CH 3255308288,3255311359,LV -3255311360,3255311615,GB 3255311616,3255311871,SE 3255311872,3255312127,PT 3255312128,3255312383,SE 3255312384,3255315711,LV 3255315712,3255316223,PL 3255316224,3255316479,RU -3255316736,3255316991,EU +3255316736,3255316991,GB 3255316992,3255317247,FR 3255317248,3255317503,UA 3255317504,3255317759,BE @@ -55302,7 +57338,6 @@ 3255318272,3255318527,RU 3255318528,3255318783,UA 3255318784,3255319295,DE -3255319296,3255319551,UA 3255319552,3255319807,BG 3255319808,3255320063,AT 3255320064,3255320319,BE @@ -55365,7 +57400,6 @@ 3255382528,3255383039,UA 3255383040,3255383551,PL 3255383552,3255384063,CH -3255384064,3255384575,RO 3255384576,3255385087,AT 3255385088,3255385599,RO 3255385600,3255386111,FR @@ -55384,9 +57418,7 @@ 3255392768,3255393791,RO 3255393792,3255399679,SE 3255399680,3255400447,DE -3255400448,3255400703,CH -3255400704,3255400959,EU -3255400960,3255401471,CH +3255400448,3255401471,CH 3255401472,3255412479,DE 3255412480,3255412735,RO 3255412736,3255413247,DE @@ -55403,28 +57435,17 @@ 3255426048,3255426559,IT 3255426816,3255427071,PL 3255427072,3255431167,RU -3255431168,3255434464,GB -3255434465,3255434465,EU -3255434466,3255434720,GB -3255434721,3255434721,EU -3255434722,3255436287,GB -3255436288,3255451647,EU +3255431168,3255436287,GB 3255451648,3255452671,FR -3255452672,3255474175,EU 3255474176,3255476223,GB -3255476224,3255483391,EU 3255483392,3255484415,DE -3255484416,3255485439,EU 3255485440,3255486463,FR -3255486464,3255488511,EU 3255488512,3255489535,AT -3255489536,3255492607,EU 3255492608,3255496703,GB -3255496704,3255498751,EU 3255498752,3255500799,FR 3255500800,3255504895,CH 3255504896,3255505151,RU -3255505152,3255505919,GB +3255505152,3255505663,GB 3255505920,3255506431,RU 3255506432,3255506687,PL 3255506688,3255506943,PT @@ -55433,19 +57454,18 @@ 3255507712,3255507967,AT 3255507968,3255508223,UA 3255508224,3255508479,RU -3255508480,3255521023,CH -3255521024,3255521279,EU -3255521280,3255544319,CH +3255508480,3255544319,CH 3255544320,3255544575,DE 3255544576,3255544831,AT 3255544832,3255558143,CH 3255558144,3255558399,BE 3255558400,3255558655,UA -3255558656,3255564031,CH +3255558656,3255563263,CH +3255563776,3255564031,CH 3255564032,3255564287,RU 3255564288,3255565311,CH 3255565312,3255565955,DE -3255565956,3255565956,EU +3255565956,3255565956,CH 3255565957,3255566079,DE 3255566080,3255566335,CH 3255566336,3255570431,GB @@ -55461,9 +57481,16 @@ 3255660544,3255666431,NL 3255666432,3255666687,DE 3255666688,3255697407,NL -3255697408,3255743231,SE +3255697408,3255710719,SE +3255710720,3255710975,ES +3255710976,3255724543,SE +3255724544,3255725055,US +3255725056,3255725311,ES +3255725312,3255730943,SE +3255730944,3255731199,GB +3255731200,3255743231,SE 3255743232,3255743487,IT -3255743488,3255743743,SE +3255743488,3255743743,DE 3255743744,3255743999,US 3255744000,3255762943,SE 3255762944,3255791615,DE @@ -55483,9 +57510,7 @@ 3255821824,3255822079,DE 3255822080,3255822335,CH 3255822336,3255828479,DE -3255828480,3255947484,SE -3255947485,3255947485,EU -3255947486,3256025087,SE +3255828480,3256025087,SE 3256025088,3256057855,NO 3256057856,3256082431,DK 3256082432,3256090623,LV @@ -55497,12 +57522,9 @@ 3256233984,3256238079,SE 3256238080,3256246271,NO 3256246272,3256352767,SE -3256352768,3256353279,CH -3256353280,3256353535,EU -3256353536,3256385535,CH +3256352768,3256385535,CH 3256385536,3256393727,AT 3256393728,3256394239,DE -3256394240,3256394751,UA 3256394752,3256395263,PL 3256395264,3256395775,GB 3256395776,3256396287,TR @@ -55531,14 +57553,14 @@ 3256417024,3256417279,GB 3256417280,3256417791,NO 3256417792,3256418303,GB -3256418304,3256444415,DE -3256444416,3256444671,EU -3256444672,3256483839,DE +3256418304,3256483839,DE 3256483840,3256489471,NL 3256489472,3256489983,GR 3256489984,3256490239,BE 3256490240,3256490495,DE -3256490496,3256513791,NL +3256490496,3256490751,CH +3256490752,3256513023,NL +3256513280,3256513791,NL 3256513792,3256514047,GB 3256514048,3256524287,NL 3256524288,3256524799,DE @@ -55603,18 +57625,9 @@ 3256693760,3256694783,IT 3256694784,3256695807,DE 3256695808,3256696831,UA -3256696832,3256698367,EU -3256698368,3256698623,NL -3256698624,3256698879,GB -3256698880,3256699391,EU 3256699392,3256699647,GB -3256699648,3256705023,EU 3256705024,3256705279,IE -3256705280,3256705535,EU 3256705536,3256705791,BE -3256705792,3256710655,EU -3256710656,3256710911,SE -3256710912,3256713215,EU 3256713216,3256727551,PL 3256727552,3256727807,DE 3256727808,3256728063,HU @@ -55649,11 +57662,8 @@ 3256791552,3256791807,GR 3256791808,3256792063,PL 3256792064,3256792319,DE -3256792320,3256792489,CH -3256792490,3256792490,EU -3256792491,3256792575,CH +3256792320,3256792575,CH 3256792576,3256792831,NL -3256792832,3256793087,DE 3256793088,3256793343,GB 3256793344,3256793599,DE 3256793600,3256793855,GB @@ -55702,8 +57712,7 @@ 3256946176,3256946431,RO 3256946432,3256946687,UA 3256946688,3256946943,GB -3256946944,3256947199,EU -3256947200,3256947711,DE +3256946944,3256947711,DE 3256947712,3256958975,GB 3256958976,3256959999,RO 3256960000,3256960255,SA @@ -55733,7 +57742,8 @@ 3256973312,3256973823,DE 3256973824,3256975359,IR 3256975360,3256988671,GB -3256988672,3256989183,UA +3256988672,3256988927,RU +3256988928,3256989183,UA 3256989184,3256989439,FR 3256989440,3256989695,GB 3256989696,3256989951,HU @@ -55747,7 +57757,8 @@ 3257011200,3257011455,BG 3257011456,3257024511,GB 3257024512,3257032703,AU -3257032704,3257058815,GB +3257032704,3257051135,GB +3257051648,3257058815,GB 3257058816,3257059071,PL 3257059072,3257092607,GB 3257092608,3257092863,RO @@ -55760,7 +57771,8 @@ 3257144320,3257144575,DE 3257144576,3257144831,GB 3257144832,3257145087,FR -3257145088,3257180159,GB +3257145088,3257169919,GB +3257170176,3257180159,GB 3257180160,3257180415,TR 3257180416,3257180671,RU 3257180672,3257180927,EE @@ -55788,13 +57800,12 @@ 3257357312,3257357567,PT 3257357568,3257357823,SI 3257357824,3257371903,DE -3257371904,3257372159,EU +3257371904,3257372159,BE 3257372160,3257372671,GB 3257372672,3257388799,DE 3257388800,3257389055,FR -3257389056,3257391615,DE -3257391616,3257391871,EU -3257391872,3257401343,DE +3257389056,3257390079,DE +3257390592,3257401343,DE 3257401344,3257453567,CH 3257453568,3257454591,RO 3257454592,3257455103,IT @@ -55804,18 +57815,18 @@ 3257466880,3257467135,DE 3257467392,3257467903,SE 3257467904,3257468927,IT -3257468928,3257469183,EU 3257469184,3257469439,IT 3257469440,3257469951,GB 3257469952,3257470975,PL -3257470976,3257475071,FI +3257470976,3257471999,FI +3257472000,3257472511,SG +3257472512,3257475071,FI 3257475072,3257475327,ES 3257475328,3257475583,FI 3257475584,3257477119,DE 3257477120,3257477375,NL 3257477376,3257477887,SE 3257477888,3257480447,GB -3257480448,3257480959,NL 3257480960,3257481215,SE 3257481216,3257481471,GB 3257481472,3257481727,DE @@ -55825,9 +57836,7 @@ 3257482752,3257483007,NL 3257483008,3257491455,CH 3257491456,3257495551,BE -3257495552,3257497855,CH -3257497856,3257499647,NL -3257499648,3257532415,CH +3257495552,3257532415,CH 3257532416,3257542655,CY 3257542656,3257542911,PL 3257542912,3257543423,IT @@ -55848,7 +57857,6 @@ 3257548800,3257554943,GB 3257554944,3257555199,CH 3257555200,3257556991,GB -3257556992,3257557503,MW 3257557504,3257558015,LU 3257558016,3257559551,RO 3257559552,3257560063,UA @@ -55862,7 +57870,6 @@ 3257564672,3257565183,RO 3257565184,3257573375,CY 3257573376,3257574015,CH -3257574016,3257576447,EU 3257576448,3257577471,AT 3257577472,3257581567,DE 3257581568,3257585663,UA @@ -55878,7 +57885,9 @@ 3257589760,3257663487,GB 3257663488,3257729023,UA 3257729024,3257730047,DE -3257730048,3257742335,NL +3257730048,3257740799,NL +3257740800,3257741055,FR +3257741056,3257742335,NL 3257742336,3257743359,DE 3257743360,3257748479,NL 3257748480,3257749503,DE @@ -55889,10 +57898,8 @@ 3257767936,3257782271,NL 3257782272,3257784319,DE 3257784320,3257794559,NL -3257794560,3257829375,GB -3257829376,3257830399,IE -3257830400,3257835519,GB -3257835520,3257843711,IE +3257794560,3257827327,GB +3257827328,3257843711,IE 3257843712,3257844735,GB 3257844736,3257860095,IE 3257860096,3257925631,SE @@ -55918,7 +57925,8 @@ 3257981952,3257987327,AT 3257987328,3257987583,CZ 3257987584,3257991167,AT -3257991168,3258003967,DE +3257991168,3257995519,DE +3257995776,3258003967,DE 3258003968,3258004479,RU 3258004480,3258021887,DE 3258021888,3258022911,RU @@ -55969,7 +57977,6 @@ 3258074112,3258074879,DE 3258074880,3258075135,IL 3258075136,3258075391,RO -3258075392,3258075647,BG 3258075648,3258075903,FR 3258075904,3258076159,PL 3258076160,3258076415,BG @@ -55988,7 +57995,6 @@ 3258080000,3258080255,BE 3258080256,3258080511,FR 3258080512,3258080767,DE -3258080768,3258081023,GB 3258081024,3258081279,FR 3258081280,3258081535,NL 3258081536,3258081791,BE @@ -56072,14 +58078,14 @@ 3258121728,3258121983,UA 3258121984,3258122239,RU 3258122240,3258187775,FR -3258187776,3258231807,SE -3258231808,3258232831,NO -3258232832,3258251007,SE -3258251008,3258251775,NO -3258251776,3258253311,SE +3258187776,3258230783,SE +3258230784,3258232831,NO +3258232832,3258249215,SE +3258249216,3258253311,NO 3258253312,3258272767,NL 3258272768,3258273791,FR -3258273792,3258297343,NL +3258273792,3258279935,NL +3258281984,3258297343,NL 3258297344,3258297599,BE 3258297600,3258298111,NL 3258298112,3258298367,GB @@ -56093,7 +58099,7 @@ 3258335232,3258336255,RU 3258336256,3258337279,NO 3258337280,3258338303,DE -3258338304,3258340351,UA +3258339328,3258340351,UA 3258340352,3258341375,PL 3258341376,3258342399,UA 3258342400,3258343423,DE @@ -56109,7 +58115,7 @@ 3258361856,3258362879,IL 3258362880,3258363903,IM 3258363904,3258364927,RU -3258364928,3258365951,RS +3258364928,3258365951,XK 3258365952,3258366975,UA 3258366976,3258367999,PL 3258368000,3258384383,KW @@ -56123,12 +58129,10 @@ 3258504960,3258505215,IL 3258505216,3258506495,CH 3258506496,3258506751,DE -3258506752,3258515455,CH +3258507008,3258515455,CH 3258515456,3258580991,FR 3258580992,3258646527,RU -3258646528,3258690559,DE -3258690560,3258690815,EU -3258690816,3258691583,DE +3258646528,3258691583,DE 3258691584,3258691839,RU 3258691840,3258692351,AT 3258692352,3258692607,DE @@ -56190,7 +58194,8 @@ 3258795008,3258796031,PL 3258796032,3258802175,GB 3258802176,3258806271,LU -3258806272,3258818047,GB +3258806272,3258813439,GB +3258814464,3258818047,GB 3258818048,3258818303,SE 3258818304,3258843135,GB 3258843136,3258843391,RU @@ -56207,7 +58212,7 @@ 3258904064,3258941439,GB 3258941440,3258943487,PL 3258943488,3258944511,BG -3258944512,3258946559,RU +3258944512,3258945535,RU 3258946560,3258947583,CH 3258948608,3258949631,RU 3258949632,3258972159,GR @@ -56222,38 +58227,49 @@ 3259226112,3259227391,RU 3259227392,3259227647,KZ 3259227648,3259236351,RU -3259236352,3259240447,SE -3259240448,3259241471,CZ -3259241472,3259243007,SE +3259236352,3259237887,SE +3259237888,3259238143,FR +3259238144,3259243007,SE 3259243008,3259243519,AT 3259243520,3259244543,US 3259244544,3259246591,SE 3259246592,3259247615,IT -3259247616,3259248895,SE +3259247616,3259248127,SE +3259248128,3259248383,GB +3259248384,3259248895,SE 3259248896,3259249151,GB -3259249152,3259250175,SE -3259250176,3259250687,AT -3259250688,3259250722,SE -3259250723,3259250723,EU -3259250724,3259252479,SE -3259252480,3259252735,EU -3259252736,3259281407,SE +3259249152,3259258623,SE +3259258624,3259258879,ES +3259258880,3259262719,SE +3259262720,3259262975,DK +3259262976,3259276287,SE +3259276288,3259276543,ES +3259276544,3259280639,SE +3259280640,3259280895,US +3259280896,3259281407,SE 3259281408,3259282431,US -3259282432,3259301887,SE +3259282432,3259283711,SE +3259283712,3259283967,US +3259283968,3259284479,SE +3259284480,3259284735,US +3259284736,3259285759,SE +3259285760,3259286015,GB +3259286016,3259290879,SE +3259290880,3259291135,US +3259291136,3259297535,SE +3259297536,3259297791,GB +3259297792,3259301887,SE 3259301888,3259302143,DE 3259302144,3259302399,AE 3259302400,3259303423,CH 3259303424,3259305983,SE 3259305984,3259310079,NL -3259310080,3259317247,EU 3259317248,3259318271,CH 3259318272,3259334655,GB 3259334656,3259338751,DE 3259338752,3259339263,GB -3259339264,3259339519,EU 3259339520,3259342847,GB 3259342848,3259344895,CH -3259344896,3259348991,EU 3259348992,3259351039,NL 3259351040,3259351551,IT 3259351552,3259352063,FR @@ -56269,17 +58285,17 @@ 3259367424,3259432959,GB 3259432960,3259435263,SE 3259435264,3259435519,IT -3259435520,3259454719,SE -3259454720,3259454975,EU -3259454976,3259458559,SE -3259458560,3259459583,CZ -3259459584,3259470847,SE +3259435520,3259438079,SE +3259438080,3259438335,ES +3259438336,3259470847,SE 3259470848,3259471871,US -3259471872,3259485183,SE -3259485184,3259485695,AT -3259485696,3259491327,SE -3259491328,3259492351,CZ -3259492352,3259498495,SE +3259471872,3259479807,SE +3259479808,3259480063,DK +3259480064,3259480831,SE +3259480832,3259481087,ES +3259481088,3259490303,SE +3259490304,3259490815,IN +3259490816,3259498495,SE 3259498496,3259541503,GB 3259541504,3259543551,NL 3259543552,3259760639,GB @@ -56292,11 +58308,7 @@ 3259823616,3259823871,NO 3259823872,3259824127,IE 3259824128,3259891711,DE -3259891712,3259893503,BE -3259893504,3259893759,EU -3259893760,3259900866,BE -3259900867,3259900867,EU -3259900868,3259957247,BE +3259891712,3259957247,BE 3259957248,3259958271,DE 3259958272,3259959295,RU 3259959296,3259960319,UA @@ -56305,7 +58317,8 @@ 3259962368,3259963391,UA 3259963392,3259964415,PL 3259964416,3259965439,GB -3259965440,3259967487,RU +3259965440,3259966463,RU +3259966464,3259967487,DE 3259967488,3259968511,RS 3259968512,3259969535,RU 3259970560,3259971583,CZ @@ -56334,7 +58347,6 @@ 3260547840,3260548095,PL 3260548096,3260548351,IE 3260548352,3260548607,DK -3260548608,3260548863,RO 3260548864,3260549119,CH 3260549120,3260549375,AT 3260549376,3260549631,CH @@ -56378,7 +58390,6 @@ 3260602880,3260603903,UA 3260603904,3260604415,FR 3260604416,3260604927,PL -3260604928,3260605439,RO 3260605440,3260605951,BG 3260605952,3260606463,NL 3260606464,3260607487,SE @@ -56390,7 +58401,6 @@ 3260610048,3260610559,FR 3260610560,3260611071,RO 3260611072,3260611583,BG -3260611584,3260612095,RU 3260612096,3260612607,SE 3260612608,3260678143,FI 3260678144,3260743679,IL @@ -56418,37 +58428,29 @@ 3261136896,3261150143,DE 3261150144,3261150207,US 3261150208,3261202431,DE -3261202432,3261205503,FR -3261205504,3261205759,EU -3261205760,3261212671,FR -3261212672,3261212927,EU -3261212928,3261213202,FR -3261213203,3261213203,EU -3261213204,3261213439,FR +3261202432,3261213439,FR 3261213440,3261213695,AF -3261213696,3261239237,FR -3261239238,3261239238,EU -3261239239,3261267967,FR -3261267968,3261280512,DE -3261280513,3261280513,EU -3261280514,3261297663,DE +3261213696,3261267967,FR +3261267968,3261297663,DE 3261297664,3261297919,RU 3261297920,3261298175,PL -3261298176,3261333503,DE +3261298176,3261323263,DE +3261323264,3261323519,RU +3261323520,3261333503,DE 3261333504,3261399039,FI 3261399040,3261472767,GB 3261472768,3261530111,RO -3261530112,3261534207,SE +3261530112,3261531903,SE +3261531904,3261532159,GB +3261532160,3261534207,SE 3261534208,3261534463,NL 3261534464,3261534719,SE 3261534720,3261534975,US 3261534976,3261539327,SE 3261539328,3261540351,SG -3261540352,3261540863,AT -3261540864,3261564927,SE -3261564928,3261565951,CZ -3261565952,3261595647,SE -3261595648,3261661183,NL +3261540352,3261595647,SE +3261595648,3261636095,NL +3261636352,3261661183,NL 3261661184,3261669375,RO 3261669376,3261673471,MT 3261673472,3261675519,IT @@ -56459,11 +58461,12 @@ 3261677056,3261685759,GB 3261685760,3261687807,DE 3261687808,3261689855,RO -3261689856,3261690351,GB -3261690352,3261690352,EU +3261689856,3261690352,GB 3261690353,3261690354,SG -3261690355,3261690355,EU -3261690356,3261691903,GB +3261690355,3261690623,GB +3261690624,3261690879,AU +3261690880,3261691647,GB +3261691648,3261691903,US 3261691904,3261692997,NL 3261692998,3261692998,US 3261692999,3261694463,NL @@ -56497,7 +58500,6 @@ 3261777452,3261777663,IR 3261777664,3261777919,GB 3261777920,3261778431,PL -3261778432,3261778943,RU 3261778944,3261779455,RO 3261779456,3261779967,DE 3261779968,3261780479,UA @@ -56557,7 +58559,6 @@ 3262006784,3262007039,SE 3262007040,3262007295,IT 3262007552,3262007807,GR -3262007808,3262008063,RO 3262008064,3262008319,GB 3262008320,3262008575,PT 3262008576,3262008831,PL @@ -56583,13 +58584,13 @@ 3262028288,3262028543,FR 3262028544,3262028799,AE 3262028800,3262029823,DE -3262029824,3262030847,US +3262029824,3262030847,NL 3262030848,3262031871,FR 3262031872,3262033919,FI 3262033920,3262038015,AX 3262038016,3262038271,FR 3262038272,3262038527,RU -3262038528,3262038783,GB +3262038528,3262038783,IL 3262038784,3262039039,NO 3262039040,3262039295,DE 3262039296,3262039551,GB @@ -56623,7 +58624,7 @@ 3262050816,3262051071,CH 3262051072,3262051583,GB 3262051584,3262051839,FR -3262051840,3262052351,DE +3262052096,3262052351,DE 3262052352,3262052607,UA 3262052608,3262052863,IL 3262052864,3262053119,GB @@ -56635,60 +58636,36 @@ 3262119936,3262124031,AX 3262124032,3262128127,DE 3262128128,3262136319,GB -3262136320,3262137599,EU 3262137600,3262137855,DE -3262137856,3262139391,EU 3262139392,3262140415,GB 3262140416,3262140671,DE -3262140672,3262141183,EU 3262141184,3262141439,DE 3262141440,3262142463,ES 3262142464,3262142719,DE -3262142720,3262143487,EU 3262143488,3262143743,GB -3262143744,3262143999,EU 3262144000,3262144047,DE -3262144048,3262145023,EU 3262145024,3262145279,DE -3262145280,3262145551,EU 3262145552,3262145567,DE -3262145568,3262145615,EU 3262145616,3262145631,DE -3262145632,3262145663,EU 3262145664,3262145791,DE 3262145792,3262146047,GB 3262146048,3262146815,DE -3262146816,3262147583,EU 3262147584,3262147839,DE -3262147840,3262148607,EU 3262148608,3262148863,DE -3262148864,3262148879,EU 3262148880,3262148919,DE -3262148920,3262148927,EU 3262148928,3262149119,DE 3262149120,3262149151,FR 3262149152,3262149159,DE -3262149160,3262149167,EU 3262149168,3262149375,FR -3262149376,3262149631,EU 3262149632,3262149887,DE -3262149888,3262150911,EU 3262150912,3262151047,DE -3262151048,3262151071,EU 3262151072,3262151103,DE -3262151104,3262151135,EU 3262151136,3262151151,DE -3262151152,3262151167,EU 3262151168,3262151423,DE -3262151424,3262151935,EU 3262151936,3262152191,DE -3262152192,3262152663,EU 3262152664,3262152671,DE -3262152672,3262152703,EU 3262152704,3262185471,AT -3262185472,3262200575,DE -3262200576,3262200831,EU -3262200832,3262224895,DE +3262185472,3262224383,DE 3262224896,3262225151,AT 3262225152,3262227711,DE 3262227712,3262227967,RO @@ -56732,7 +58709,6 @@ 3262429184,3262429695,ES 3262429696,3262430207,DE 3262430208,3262430719,EE -3262430720,3262431231,RO 3262431232,3262431743,PL 3262431744,3262432255,UA 3262432256,3262432767,CH @@ -56752,13 +58728,11 @@ 3262440960,3262441471,IL 3262441472,3262441983,UA 3262441984,3262442495,DE -3262442496,3262443007,RO 3262443008,3262443519,UA 3262443520,3262444031,ES 3262444032,3262444543,AT 3262444544,3262445055,UA 3262445056,3262445567,RO -3262445568,3262446079,PL 3262446592,3262447103,PL 3262447104,3262447615,GB 3262447616,3262460415,PT @@ -56878,11 +58852,7 @@ 3262479655,3262479655,NL 3262479656,3262479751,DE 3262479752,3262479752,CH -3262479753,3262479871,DE -3262479872,3262479881,EU -3262479882,3262479882,DE -3262479883,3262480127,EU -3262480128,3262480282,DE +3262479753,3262480282,DE 3262480283,3262480283,GB 3262480284,3262480316,DE 3262480317,3262480317,NL @@ -56909,13 +58879,9 @@ 3262627840,3262636031,IT 3262636032,3262644223,BE 3262644224,3262648319,NL -3262648320,3262648575,EU +3262648320,3262648575,DE 3262648576,3262664703,NL -3262664704,3262665727,DE -3262665728,3262665983,EU -3262665984,3262666751,DE -3262666752,3262667007,EU -3262667008,3262670847,DE +3262664704,3262670847,DE 3262670848,3262690815,NL 3262690816,3262691583,DE 3262691584,3262693375,NL @@ -56960,7 +58926,6 @@ 3263074816,3263075327,RO 3263075328,3263075839,IT 3263075840,3263076351,SE -3263076352,3263076863,RO 3263077376,3263077887,FR 3263077888,3263078399,DE 3263079424,3263080447,PL @@ -56997,7 +58962,7 @@ 3263094528,3263094783,DK 3263094784,3263095039,UA 3263095040,3263095295,ES -3263095296,3263095551,EU +3263095296,3263095551,FR 3263095552,3263095807,RO 3263095808,3263096063,DE 3263096064,3263096319,PL @@ -57026,48 +58991,54 @@ 3263102208,3263102463,RO 3263102464,3263102719,PL 3263102720,3263102975,GR -3263102976,3263121407,DE -3263121408,3263121420,EU +3263102976,3263121420,DE 3263121421,3263121421,BE -3263121422,3263121663,EU -3263121664,3263137791,DE +3263121422,3263137791,DE 3263137792,3263138303,PL 3263138304,3263138551,DE 3263138552,3263138815,AT 3263138816,3263168511,DE 3263168512,3263430655,GB -3263430656,3263432703,SE -3263432704,3263433215,AT -3263433216,3263469567,SE +3263430656,3263436543,SE +3263436544,3263436799,ES +3263436800,3263458047,SE +3263458048,3263458303,DE +3263458304,3263459583,SE +3263459584,3263459839,FR +3263459840,3263469567,SE 3263469568,3263470591,SG 3263470592,3263475711,SE 3263475712,3263476735,JP -3263476736,3263480831,SE +3263476736,3263478527,SE +3263478528,3263478783,ES +3263478784,3263480831,SE 3263480832,3263481855,JP 3263481856,3263482879,SE 3263482880,3263483903,IT 3263483904,3263496191,SE -3263496192,3263499775,EU -3263499776,3263500031,FR -3263500032,3263500799,EU -3263500800,3263501055,GB -3263501056,3263501519,EU +3263496192,3263501519,GB 3263501520,3263501527,IE -3263501528,3263512063,EU -3263512064,3263512319,GB -3263512320,3263518719,EU +3263501528,3263503103,GB +3263503104,3263503359,DE +3263503360,3263511551,GB +3263511552,3263512063,BE +3263512064,3263512575,GB +3263512576,3263512831,ES +3263512832,3263513855,GB +3263513856,3263514111,RU +3263514112,3263518719,GB 3263518720,3263518751,IE -3263518752,3263525887,EU +3263518752,3263520767,GB +3263520768,3263525887,DE 3263525888,3263526143,ZA -3263526144,3263561727,EU +3263526144,3263545343,DE +3263545344,3263561727,US 3263561728,3263627263,NL 3263627264,3263692799,RU 3263692800,3263823871,FI 3263823872,3263826943,DE 3263826944,3263827199,AT -3263827200,3263833903,DE -3263833904,3263833919,EU -3263833920,3263878145,DE +3263827200,3263878145,DE 3263878146,3263878146,US 3263878147,3263886079,DE 3263886080,3263886335,SG @@ -57081,7 +59052,6 @@ 3264012800,3264013055,GB 3264013056,3264013311,TR 3264013312,3264013567,UA -3264013568,3264013823,RU 3264013824,3264014079,NL 3264014080,3264014335,DE 3264014336,3264014591,PT @@ -57099,7 +59069,6 @@ 3264017920,3264018175,NL 3264018176,3264018431,FR 3264018432,3264018687,HU -3264018688,3264018943,GB 3264018944,3264019199,PL 3264019200,3264019967,GB 3264019968,3264020223,AT @@ -57135,7 +59104,7 @@ 3264307200,3264311295,PL 3264311296,3264311551,FR 3264311808,3264312063,DE -3264312064,3264312319,EU +3264312064,3264312319,CH 3264312320,3264312575,PL 3264312576,3264312831,UA 3264312832,3264313087,DE @@ -57177,7 +59146,7 @@ 3264334336,3264334847,UA 3264334848,3264335359,PL 3264335360,3264335871,SK -3264335872,3264336895,GB +3264335872,3264336383,GB 3264336896,3264337407,RU 3264337408,3264338431,UA 3264338432,3264338943,DE @@ -57200,7 +59169,8 @@ 3264345088,3264346111,NL 3264346112,3264347135,SE 3264347136,3264348159,DE -3264348160,3264375039,FR +3264348672,3264372223,FR +3264372736,3264375039,FR 3264375040,3264376063,SE 3264376064,3264376319,HR 3264376320,3264376575,UA @@ -57236,7 +59206,6 @@ 3264397312,3264398335,GB 3264398336,3264399359,UA 3264399360,3264400383,RU -3264400384,3264401407,PA 3264401408,3264402431,DE 3264402432,3264403455,CH 3264403456,3264404479,PL @@ -57252,13 +59221,15 @@ 3264431616,3264431871,CH 3264432128,3264441343,CH 3264441344,3264441599,PL -3264441600,3264446207,CH +3264441600,3264444927,CH +3264444928,3264445183,DE +3264445184,3264446207,CH 3264446208,3264446463,FR 3264446464,3264447743,CH 3264447744,3264447999,DE 3264448000,3264463871,CH -3264463872,3264466687,LI -3264466688,3264476671,CH +3264463872,3264466943,LI +3264466944,3264476671,CH 3264476672,3264477183,RU 3264477184,3264477439,PL 3264477440,3264477695,RU @@ -57291,9 +59262,9 @@ 3264607488,3264610303,DE 3264610304,3264612351,GB 3264612352,3264612607,FR -3264612608,3264613119,GB -3264613120,3264613375,FR -3264613376,3264617983,GB +3264612608,3264614911,GB +3264614912,3264615167,SE +3264615168,3264617983,GB 3264617984,3264618239,US 3264618240,3264619391,GB 3264619392,3264619519,BE @@ -57306,7 +59277,6 @@ 3264630784,3264631807,DE 3264631808,3264632831,RO 3264632832,3264633855,RU -3264633856,3264634879,UA 3264634880,3264636927,PL 3264636928,3264637951,RU 3264637952,3264639999,DK @@ -57358,11 +59328,7 @@ 3264674304,3264674815,PL 3264674816,3264675327,GB 3264675328,3264675839,RU -3264675840,3264695233,NL -3264695234,3264695234,EU -3264695235,3264697924,NL -3264697925,3264697925,EU -3264697926,3264741375,NL +3264675840,3264741375,NL 3264741376,3264749567,SI 3264749568,3264750079,LV 3264750080,3264750591,RU @@ -57389,11 +59355,11 @@ 3264815104,3264825343,SE 3264825344,3264825599,NO 3264825856,3264826111,NL -3264826112,3264826879,GB +3264826112,3264826367,GB 3264826880,3264827135,NL 3264827136,3264827391,LV 3264827648,3264828159,GR -3264828160,3264828415,EU +3264828160,3264828415,CH 3264828416,3264828671,SE 3264828672,3264828927,MT 3264828928,3264829439,DE @@ -57442,13 +59408,11 @@ 3264846720,3264846847,RU 3264846848,3264846911,DK 3264846912,3264847103,CY -3264847104,3264847135,FR 3264847168,3264847199,IE 3264847200,3264847231,NO 3264847232,3264847263,CH 3264847264,3264847295,LI 3264847296,3264847359,CY -3264847360,3264847487,FR 3264847488,3264847615,RU 3264847616,3264847679,PL 3264847680,3264847743,FI @@ -57481,9 +59445,9 @@ 3264921600,3264929791,LU 3264929792,3264937983,SK 3264937984,3265003519,GB -3265003520,3265015807,DE -3265015808,3265016063,EU -3265016064,3265018879,DE +3265003520,3265014804,DE +3265014805,3265014805,PL +3265014806,3265018879,DE 3265018880,3265019903,HK 3265019904,3265045759,DE 3265045760,3265046015,TR @@ -57491,19 +59455,19 @@ 3265055232,3265055743,FR 3265055744,3265069055,DE 3265069056,3265134591,FI -3265134592,3265138863,CH +3265134592,3265137983,CH +3265137984,3265138047,NL +3265138048,3265138863,CH 3265138864,3265138879,SE 3265138880,3265139999,CH 3265140000,3265140015,BE -3265140016,3265141135,CH -3265141136,3265141151,GB -3265141152,3265141553,CH -3265141554,3265141557,IE -3265141558,3265141759,CH -3265141760,3265141767,GB -3265141768,3265141791,CH -3265141792,3265141887,GB -3265141888,3265142783,CH +3265140016,3265140991,CH +3265140992,3265141247,GB +3265141248,3265141551,CH +3265141552,3265141555,IE +3265141556,3265141759,CH +3265141760,3265142015,GB +3265142016,3265142783,CH 3265142784,3265150975,MT 3265150976,3265159167,AD 3265159168,3265167359,FR @@ -57514,37 +59478,23 @@ 3265200128,3265265663,GB 3265265664,3265331199,SK 3265331200,3265334271,GB -3265334272,3265336319,EU 3265336320,3265337343,GB -3265337344,3265338367,EU 3265338368,3265340415,GB -3265340416,3265342463,EU 3265342464,3265343487,GB -3265343488,3265345535,EU 3265345536,3265347583,DE 3265347584,3265348607,FR -3265348608,3265349631,EU 3265349632,3265351679,FR -3265351680,3265360895,EU 3265360896,3265361919,GB 3265361920,3265363967,IT 3265363968,3265366015,ES -3265366016,3265368063,EU 3265368064,3265369087,DK -3265369088,3265371135,EU 3265371136,3265376255,DE -3265376256,3265377279,EU 3265377280,3265378303,GB 3265378304,3265379327,NL -3265379328,3265380351,EU 3265380352,3265382399,GB -3265382400,3265386495,EU 3265386496,3265386751,NL -3265386752,3265387007,EU -3265387008,3265387263,SE -3265387264,3265388543,EU +3265387008,3265387263,NL 3265388544,3265392639,GB -3265392640,3265394687,EU 3265394688,3265396735,GB 3265396736,3265527807,DE 3265527808,3265582476,GB @@ -57584,7 +59534,6 @@ 3265607168,3265607423,PL 3265607424,3265607935,DK 3265607936,3265608191,CZ -3265608192,3265608447,RU 3265608448,3265608703,SE 3265608704,3265608959,GB 3265608960,3265609215,RU @@ -57646,10 +59595,8 @@ 3265916672,3265916927,DE 3265916928,3265917183,FR 3265917184,3265917439,PL -3265917440,3265917695,RU 3265917696,3265917951,SE 3265917952,3265918207,GB -3265918208,3265918463,EU 3265918464,3265918719,AT 3265918720,3265918975,RU 3265918976,3265919231,NL @@ -57657,18 +59604,11 @@ 3265919488,3265919743,RU 3265919744,3265919999,DE 3265920000,3265920255,CZ -3265920256,3265920511,TR 3265920512,3265920767,GB 3265920768,3265921023,RU 3265921024,3265986559,AE 3265986560,3266052095,NL -3266052096,3266122751,DE -3266122752,3266123007,EU -3266123008,3266199807,DE -3266199808,3266200063,EU -3266200064,3266310911,DE -3266310912,3266311167,EU -3266311168,3266322431,DE +3266052096,3266322431,DE 3266322432,3266330623,LT 3266330624,3266338815,GB 3266338816,3266339071,RU @@ -57690,7 +59630,6 @@ 3266343424,3266343679,RU 3266343680,3266343935,RO 3266343936,3266344191,CH -3266344192,3266344447,UA 3266344448,3266344703,RU 3266344704,3266344959,ES 3266344960,3266345727,DE @@ -57698,27 +59637,16 @@ 3266345984,3266346495,GB 3266346496,3266346751,IT 3266346752,3266347007,FR -3266347008,3266351359,EU 3266351360,3266352607,GB -3266352608,3266352895,EU 3266352896,3266353567,GB -3266353568,3266353583,EU 3266353584,3266353591,GB -3266353592,3266353663,EU 3266353664,3266353671,GB -3266353672,3266353679,EU 3266353680,3266353687,GB -3266353688,3266353775,EU 3266353776,3266353783,US -3266353784,3266353855,EU 3266353856,3266353863,GB -3266353864,3266353879,EU 3266353880,3266353887,GB -3266353888,3266353895,EU 3266353896,3266353903,GB -3266353904,3266353919,EU 3266353920,3266354175,GB -3266354176,3266354687,EU 3266354688,3266355199,GB 3266355200,3266363391,RO 3266363392,3266371583,GB @@ -57768,7 +59696,7 @@ 3267035136,3267039231,NO 3267039232,3267040255,DE 3267040256,3267041279,RO -3267041280,3267043327,UA +3267042304,3267043327,UA 3267043328,3267044351,GB 3267044352,3267045375,RU 3267045376,3267046399,PL @@ -57788,9 +59716,8 @@ 3267059712,3267060735,NL 3267060736,3267061759,LV 3267061760,3267063807,UA -3267063808,3267064063,DE -3267064064,3267064576,BE -3267064577,3267064577,EU +3267063808,3267064576,BE +3267064577,3267064577,DE 3267064578,3267064831,BE 3267064832,3267065855,PL 3267066880,3267067903,IT @@ -57828,340 +59755,188 @@ 3267166208,3267231743,GB 3267231744,3267297279,RU 3267297280,3267362815,CH -3267362816,3267368480,DK -3267368481,3267368481,EU -3267368482,3267428351,DK +3267362816,3267368447,DK +3267368448,3267368480,SE +3267368481,3267368481,DK +3267368482,3267368703,SE +3267368704,3267428351,DK 3267428352,3267493887,GB -3267493888,3267501055,EU 3267501056,3267504127,GB -3267504128,3267511295,EU 3267511296,3267512319,FR -3267512320,3267513343,EU 3267513344,3267514367,FR 3267514368,3267515391,DE -3267515392,3267516415,EU 3267516416,3267517439,DE -3267517440,3267520511,EU 3267520512,3267521535,DE -3267521536,3267522559,EU 3267522560,3267523583,DE -3267523584,3267527679,EU 3267527680,3267528703,FR -3267528704,3267529727,EU 3267529728,3267530751,AT -3267530752,3267531775,EU 3267531776,3267532799,FR -3267532800,3267534847,EU 3267534848,3267536895,FR -3267536896,3267537919,EU 3267537920,3267538943,FR -3267538944,3267549183,EU 3267549184,3267550207,DK -3267550208,3267559423,EU 3267559424,3267624959,DE -3267624960,3267630079,EU 3267630080,3267631095,GB 3267631096,3267631103,IT 3267631104,3267631615,GB -3267631616,3267634175,EU 3267634176,3267635199,GB -3267635200,3267636863,EU 3267636864,3267636991,ZA -3267636992,3267648319,EU 3267648320,3267648335,GB -3267648336,3267650319,EU 3267650320,3267650335,AT -3267650336,3267660607,EU 3267660608,3267660671,ES -3267660672,3267662847,EU 3267662848,3267663103,GB -3267663104,3267665919,EU 3267665920,3267666287,GB 3267666288,3267666295,GR 3267666296,3267666943,GB -3267666944,3267667455,EU 3267667456,3267667967,GB -3267667968,3267670015,EU 3267670016,3267671039,ZA -3267671040,3267674207,EU 3267674208,3267674239,GB -3267674240,3267684351,EU 3267684352,3267684863,GB -3267684864,3267690495,EU 3267690496,3267691519,FI 3267691520,3267692543,SE 3267692544,3267741759,FI 3267741760,3267741791,SE 3267741792,3267756031,FI -3267756032,3267761919,SE -3267761920,3267762175,NO -3267762176,3267821567,SE +3267756032,3267821567,SE 3267821568,3267845375,FR 3267845376,3267845631,GP 3267845632,3267846655,FR 3267846656,3267846911,MQ 3267846912,3267887103,FR -3267887104,3268078591,GB -3268078592,3268078847,EU -3268078848,3268139005,GB -3268139006,3268139006,EU -3268139007,3268149247,GB +3267887104,3268115711,GB +3268115712,3268115967,DE +3268115968,3268149247,GB 3268149248,3268165631,EE -3268165632,3268167170,CH -3268167171,3268167171,EU -3268167172,3268173823,CH +3268165632,3268173823,CH 3268173824,3268182015,MT 3268182016,3268198399,PL 3268198400,3268214783,MA -3268214784,3268215583,EU 3268215584,3268215615,GB -3268215616,3268215647,EU 3268215648,3268215679,GB -3268215680,3268215711,EU 3268215712,3268215743,GB -3268215744,3268215807,EU 3268215808,3268216063,GB -3268216064,3268218111,EU 3268218112,3268218367,GB -3268218368,3268219807,EU 3268219808,3268219823,GB -3268219824,3268221439,EU 3268221440,3268221471,GB -3268221472,3268221503,EU 3268221504,3268221599,GB -3268221600,3268221695,EU 3268221696,3268221951,GB -3268221952,3268222975,EU 3268222976,3268223167,GB -3268223168,3268223199,EU 3268223200,3268223231,GB -3268223232,3268224767,EU 3268224768,3268225023,US -3268225024,3268226367,EU 3268226368,3268226399,GB -3268226400,3268226495,EU 3268226496,3268226663,GB -3268226664,3268226687,EU 3268226688,3268226815,GB -3268226816,3268227327,EU 3268227328,3268227391,GB -3268227392,3268227519,EU 3268227520,3268227615,GB -3268227616,3268231167,EU 3268231168,3268231199,GB -3268231200,3268231319,EU 3268231320,3268231359,GB -3268231360,3268231391,EU 3268231392,3268231423,GB -3268231424,3268231647,EU 3268231648,3268231679,GB -3268231680,3268231743,EU 3268231744,3268231807,GB -3268231808,3268232223,EU 3268232224,3268232243,GB -3268232244,3268232351,EU 3268232352,3268232367,GB -3268232368,3268232383,EU 3268232384,3268232415,GB -3268232416,3268232479,EU 3268232480,3268232575,GB -3268232576,3268232959,EU 3268232960,3268233087,GB -3268233088,3268233983,EU 3268233984,3268234047,GB -3268234048,3268234175,EU 3268234176,3268234239,GB -3268234240,3268234559,EU 3268234560,3268234623,GB -3268234624,3268235007,EU 3268235008,3268235263,GB 3268235264,3268235519,DE 3268235520,3268235775,GB -3268235776,3268235935,EU 3268235936,3268236031,GB -3268236032,3268236191,EU 3268236192,3268236207,GB -3268236208,3268236543,EU 3268236544,3268236607,GB -3268236608,3268236671,EU 3268236672,3268236799,GB -3268236800,3268238335,EU 3268238336,3268238359,GB -3268238360,3268238479,EU -3268238480,3268238847,GB -3268238848,3268239583,EU +3268238368,3268238383,GB +3268238472,3268238543,GB +3268238552,3268238847,GB 3268239584,3268240127,GB -3268240128,3268240159,EU 3268240160,3268240191,GB -3268240192,3268240383,EU 3268240384,3268240399,GB -3268240400,3268240479,EU 3268240480,3268240487,GB -3268240488,3268240687,EU 3268240688,3268240695,GB -3268240696,3268240711,EU 3268240712,3268240735,GB -3268240736,3268240743,EU 3268240744,3268240751,GB -3268240752,3268240975,EU 3268240976,3268240991,GB -3268240992,3268241007,EU 3268241008,3268241023,GB -3268241024,3268241543,EU 3268241544,3268241551,GB -3268241552,3268241639,EU 3268241640,3268241655,GB -3268241656,3268242495,EU 3268242496,3268242523,GB -3268242524,3268242879,EU 3268242880,3268243071,GB -3268243072,3268243327,EU 3268243328,3268243391,GB -3268243392,3268243743,EU -3268243744,3268243775,GB -3268243776,3268244775,EU 3268244776,3268244783,GB -3268244784,3268244791,EU 3268244792,3268244799,GB -3268244800,3268245503,EU 3268245504,3268245759,GB -3268245760,3268246271,EU 3268246272,3268246783,GB -3268246784,3268246799,EU 3268246800,3268246807,GB -3268246808,3268246975,EU 3268246976,3268246991,GB -3268246992,3268248319,EU 3268248320,3268248447,GB -3268248448,3268248511,EU 3268248512,3268248543,GB -3268248544,3268249599,EU 3268249600,3268251311,GB 3268251312,3268251327,IE 3268251328,3268251647,GB -3268251648,3268254463,EU 3268254464,3268254543,GB -3268254544,3268254591,EU 3268254592,3268254607,GB -3268254608,3268254623,EU 3268254624,3268254639,GB -3268254640,3268254895,EU 3268254896,3268254903,GB -3268254904,3268255823,EU 3268255824,3268255863,GB -3268255864,3268255895,EU 3268255896,3268255919,GB -3268255920,3268255951,EU 3268255952,3268255959,GB -3268255960,3268255967,EU 3268255968,3268255983,GB -3268255984,3268256895,EU 3268256896,3268256959,GB -3268256960,3268257023,EU 3268257024,3268257055,GB -3268257056,3268257087,EU 3268257088,3268257119,GB -3268257120,3268257415,EU 3268257416,3268257419,GB -3268257420,3268257431,EU 3268257432,3268257439,IT -3268257440,3268257463,EU 3268257464,3268257471,GB -3268257472,3268257487,EU 3268257488,3268257527,GB -3268257528,3268258559,EU 3268258560,3268258623,GB -3268258624,3268258687,EU 3268258688,3268258751,GB -3268258752,3268259519,EU 3268259520,3268259527,GB -3268259528,3268259543,EU 3268259544,3268259551,GB -3268259552,3268259559,EU 3268259560,3268259575,GB -3268259576,3268259807,EU 3268259808,3268259815,GB -3268259816,3268259831,EU 3268259832,3268260095,GB -3268260096,3268260351,EU 3268260352,3268260383,GB -3268260384,3268260415,EU 3268260416,3268260447,GB -3268260448,3268260511,EU 3268260512,3268260607,GB -3268260608,3268260639,EU 3268260640,3268260647,GB -3268260648,3268260655,EU -3268260656,3268260671,GB -3268260672,3268261935,EU 3268261936,3268261951,GB -3268261952,3268262767,EU 3268262768,3268262783,GB -3268262784,3268262879,EU 3268262880,3268262887,GB -3268262888,3268263231,EU 3268263232,3268263263,GB -3268263264,3268263775,EU 3268263776,3268263783,GB -3268263784,3268264735,EU 3268264736,3268264767,GB -3268264768,3268265415,EU 3268265416,3268265431,GB -3268265432,3268265983,EU 3268265984,3268266495,GB -3268266496,3268266983,EU 3268266984,3268266991,GB -3268266992,3268267535,EU 3268267536,3268267551,GB -3268267552,3268267583,EU 3268267584,3268267599,GB -3268267600,3268267615,EU 3268267616,3268267647,GB -3268267648,3268267743,EU 3268267744,3268267775,GB -3268267776,3268267951,EU 3268267952,3268267959,GB -3268267960,3268268543,EU 3268268544,3268268799,GB -3268268800,3268270351,EU 3268270352,3268270367,GB -3268270368,3268270495,EU 3268270496,3268270511,GB -3268270512,3268270847,EU 3268270848,3268271359,GB -3268271360,3268271911,EU 3268271912,3268271919,GB -3268271920,3268271927,EU 3268271928,3268271935,GB -3268271936,3268272703,EU +3268272640,3268272671,GB 3268272704,3268272711,GB -3268272712,3268272727,EU 3268272728,3268272735,GB -3268272736,3268273023,EU 3268273024,3268273151,GB -3268273152,3268274111,EU 3268274112,3268274175,GB -3268274176,3268274455,EU 3268274456,3268274459,GB -3268274460,3268274527,EU 3268274528,3268274543,GB -3268274544,3268274559,EU 3268274560,3268274591,GB -3268274592,3268275983,EU 3268275984,3268275999,GB -3268276000,3268276639,EU 3268276640,3268276655,GB -3268276656,3268276671,EU 3268276672,3268276687,GB -3268276688,3268276863,EU 3268276864,3268276895,GB -3268276896,3268277055,EU 3268277056,3268277119,GB -3268277120,3268277759,EU 3268277760,3268278015,GB -3268278016,3268278463,EU 3268278464,3268278495,GB -3268278496,3268280063,EU 3268280064,3268280319,GB 3268280320,3268345855,FR 3268345856,3268411391,GB @@ -58194,7 +59969,6 @@ 3268743168,3268743423,RO 3268743680,3268743935,GB 3268743936,3268744191,ES -3268744192,3268744447,DE 3268744448,3268744703,RU 3268744704,3268744959,PL 3268744960,3268745215,UA @@ -58232,165 +60006,100 @@ 3269066752,3269132287,SE 3269132288,3269197823,GR 3269197824,3269263359,RU -3269263360,3269264639,EU 3269264640,3269264895,DE -3269264896,3269265855,EU 3269265856,3269265919,DE 3269265920,3269266175,GB -3269266176,3269266687,EU 3269266688,3269266943,DE 3269266944,3269267455,GB -3269267456,3269272575,EU 3269272576,3269272583,DE -3269272584,3269272703,EU 3269272704,3269272831,DE 3269272832,3269272847,GB 3269272848,3269272863,NL 3269272864,3269272887,GB -3269272888,3269272895,EU 3269272896,3269273087,NL 3269273088,3269273343,DE -3269273344,3269273599,EU 3269273600,3269273855,GB 3269273856,3269275647,DE -3269275648,3269275903,EU 3269275904,3269276159,DE 3269276160,3269276415,GB -3269276416,3269277183,EU 3269277184,3269277695,FR 3269277696,3269277759,GB 3269277760,3269278719,NL -3269278720,3269279231,EU 3269279232,3269279487,NL -3269279488,3269279671,EU 3269279672,3269279679,CH -3269279680,3269279743,EU 3269279744,3269280255,GB 3269280256,3269280271,DE 3269280272,3269280767,NL 3269280768,3269281023,GB 3269281024,3269281279,DE 3269281280,3269281535,FR -3269281536,3269282047,EU 3269282048,3269282303,DE 3269282304,3269282559,GB 3269282560,3269282815,FR -3269282816,3269283327,EU 3269283328,3269283583,DE -3269283584,3269283871,EU 3269283872,3269283903,DE -3269283904,3269284095,EU 3269284096,3269284351,GB -3269284352,3269284863,EU 3269284864,3269285055,FR -3269285056,3269285087,EU 3269285088,3269285135,DE 3269285136,3269285151,GB 3269285152,3269285215,DE -3269285216,3269285311,EU 3269285312,3269285327,DE -3269285328,3269285335,EU 3269285336,3269285343,FR 3269285344,3269285344,GB -3269285345,3269285345,EU 3269285346,3269285631,GB 3269285632,3269285887,DE -3269285888,3269286399,EU 3269286400,3269286463,DE -3269286464,3269288687,EU 3269288688,3269288959,DE -3269288960,3269290559,EU 3269290560,3269290575,DE -3269290576,3269290591,EU 3269290592,3269290687,DE -3269290688,3269290735,EU 3269290736,3269290743,DE -3269290744,3269291263,EU 3269291264,3269291519,DE 3269291520,3269291575,GB -3269291576,3269291583,EU 3269291584,3269291647,GB -3269291648,3269291775,EU 3269291776,3269292287,ES -3269292288,3269293119,EU 3269293120,3269293151,DE -3269293152,3269293207,EU 3269293208,3269293215,DE -3269293216,3269293247,EU 3269293248,3269293279,DE -3269293280,3269293375,EU 3269293376,3269293391,DE -3269293392,3269293855,EU 3269293856,3269293887,DE -3269293888,3269293919,EU 3269293920,3269293951,DE -3269293952,3269296231,EU +3269294080,3269295103,GB 3269296232,3269296235,DE -3269296236,3269296367,EU 3269296368,3269296375,DE -3269296376,3269297151,EU 3269297152,3269297663,GB -3269297664,3269298663,EU 3269298664,3269298671,DE -3269298672,3269303039,EU 3269303040,3269303295,DE 3269303296,3269303423,GB -3269303424,3269303551,EU 3269303552,3269303679,DE -3269303680,3269305343,EU 3269305344,3269305351,DE -3269305352,3269305855,EU 3269305856,3269306879,DE -3269306880,3269307647,EU 3269307648,3269307903,DE -3269307904,3269310655,EU 3269310656,3269310671,DE -3269310672,3269310975,EU 3269310976,3269311231,DE -3269311232,3269311871,EU 3269311872,3269311999,DE -3269312000,3269313791,EU 3269313792,3269314175,DE -3269314176,3269314191,EU 3269314192,3269314199,DE -3269314200,3269315583,EU 3269315584,3269315591,DE -3269315592,3269317631,EU 3269317632,3269317663,GB 3269317664,3269317671,IE 3269317672,3269317887,GB 3269317888,3269318399,DE 3269318400,3269318655,GB 3269318656,3269318983,DE -3269318984,3269319007,EU 3269319008,3269319047,DE -3269319048,3269319055,EU 3269319056,3269319071,DE -3269319072,3269319135,EU 3269319136,3269320447,DE -3269320448,3269320703,EU 3269320704,3269321727,GB -3269321728,3269322239,EU 3269322240,3269322495,DE -3269322496,3269322655,EU 3269322656,3269322671,DE -3269322672,3269322751,EU 3269322752,3269323263,DE -3269323264,3269326847,EU 3269326848,3269326855,DE -3269326856,3269326959,EU 3269326960,3269326971,DE -3269326972,3269326991,EU 3269326992,3269326999,DE -3269327000,3269327023,EU 3269327024,3269327039,DE -3269327040,3269327055,EU 3269327056,3269327103,DE -3269327104,3269327759,EU 3269327760,3269327767,DE -3269327768,3269327863,EU 3269327864,3269328383,DE -3269328384,3269328895,EU 3269328896,3269459967,GB 3269459968,3269525503,ES 3269525504,3269591039,IR @@ -58404,20 +60113,12 @@ 3269918720,3269984255,DE 3269984256,3270049791,AT 3270049792,3270115327,DE -3270115328,3270148351,EU 3270148352,3270149887,FI -3270149888,3270150655,EU 3270150656,3270151423,FI -3270151424,3270152703,EU 3270152704,3270153727,FI -3270153728,3270166527,EU 3270166528,3270167551,NO -3270167552,3270235135,EU 3270235136,3270236159,NL -3270236160,3270246399,EU -3270246400,3270348287,SE -3270348288,3270348543,EU -3270348544,3270377471,SE +3270246400,3270377471,SE 3270377472,3270443007,GB 3270443008,3270508543,DK 3270508544,3270639615,FI @@ -58445,7 +60146,6 @@ 3270650624,3270651391,FR 3270651392,3270651647,DE 3270651648,3270651903,FR -3270651904,3270652415,IT 3270652416,3270652671,DK 3270652672,3270652927,CH 3270652928,3270653183,PL @@ -58469,17 +60169,13 @@ 3270680576,3270688767,FR 3270688768,3270836223,IT 3270836224,3270901759,DE -3270901760,3270905855,IT -3270905856,3270906111,EU -3270906112,3270909951,IT +3270901760,3270909951,IT 3270909952,3270911839,DE 3270911840,3270911871,PL 3270911872,3270911935,DE 3270911936,3270911967,PL 3270911968,3270911999,NL -3270912000,3270913535,DE -3270913536,3270913791,EU -3270913792,3270920703,DE +3270912000,3270920703,DE 3270920704,3270921215,UA 3270921216,3270921471,DK 3270921472,3270921727,UA @@ -58566,35 +60262,20 @@ 3271229440,3271280687,FI 3271280688,3271280703,SE 3271280704,3271360511,FI -3271360512,3271378943,EU 3271378944,3271380991,GB -3271380992,3271389183,EU 3271389184,3271391231,DE -3271391232,3271395327,EU 3271395328,3271396351,IT -3271396352,3271409663,EU 3271409664,3271417855,BE -3271417856,3271419903,EU 3271419904,3271421951,FR -3271421952,3271426047,EU 3271426048,3271491583,FR -3271491584,3271502591,DK -3271502592,3271502723,SE -3271502724,3271502727,DK -3271502728,3271502847,SE -3271502848,3271513343,DK -3271513344,3271513599,EU -3271513600,3271557119,DK +3271491584,3271557119,DK 3271557120,3271589887,BE 3271589888,3271688191,NO -3271688192,3271691775,EU 3271691776,3271692031,US 3271692032,3271692287,GB -3271692288,3271694591,EU +3271694080,3271694335,IE 3271694592,3271695103,GB -3271695104,3271696383,EU 3271696384,3271698431,GB -3271698432,3271704575,EU 3271704576,3271712767,RU 3271712768,3271720959,LV 3271720960,3271729151,GB @@ -58607,7 +60288,8 @@ 3271740416,3271740927,UA 3271740928,3271741439,RU 3271741440,3271741951,PL -3271741952,3271743999,RU +3271741952,3271742463,RU +3271742976,3271743999,RU 3271744000,3271744511,RO 3271744512,3271745023,AT 3271745024,3271745535,PL @@ -58619,7 +60301,6 @@ 3271748096,3271748607,GR 3271748608,3271749119,UA 3271749120,3271750143,RU -3271750144,3271750655,UA 3271750656,3271751167,GB 3271751168,3271751679,RO 3271751680,3271752191,NL @@ -58647,7 +60328,6 @@ 3271803904,3271804927,UA 3271804928,3271805951,PL 3271805952,3271806975,UA -3271806976,3271807999,EU 3271808000,3271810047,DE 3271810048,3271811071,PL 3271811072,3271812095,UA @@ -58683,9 +60363,7 @@ 3271926784,3271927295,SI 3271927296,3271927551,NO 3271927552,3271927807,GB -3271927808,3271928063,TR 3271928064,3271928319,GB -3271928320,3271928575,RU 3271928576,3271928831,CH 3271928832,3271929087,IE 3271929088,3271929343,LB @@ -58711,9 +60389,7 @@ 3272020992,3272024063,DK 3272024064,3272032255,IE 3272032256,3272040447,SE -3272040448,3272041885,FR -3272041886,3272041886,EU -3272041887,3272048639,FR +3272040448,3272048639,FR 3272048640,3272056831,NL 3272056832,3272065023,RU 3272065024,3272073727,GB @@ -58753,7 +60429,7 @@ 3272110080,3272110335,SE 3272110336,3272110591,CH 3272110848,3272111103,LV -3272111104,3272111871,GB +3272111104,3272111615,GB 3272111872,3272112383,RO 3272112384,3272113151,DE 3272113152,3272113407,FR @@ -58795,86 +60471,57 @@ 3272213568,3272213575,GB 3272213576,3272213583,IE 3272213584,3272213599,DE -3272213600,3272213631,EU 3272213632,3272213639,NL -3272213640,3272213655,EU 3272213656,3272213663,IT -3272213664,3272213671,EU 3272213672,3272213679,IT -3272213680,3272213695,EU 3272213696,3272213735,IT -3272213736,3272213751,EU 3272213752,3272213759,IT 3272213760,3272214015,NL 3272214016,3272214271,ES 3272214272,3272214351,GB 3272214352,3272214407,FR -3272214408,3272214431,EU 3272214432,3272214463,SE -3272214464,3272214527,EU 3272214528,3272215039,FR 3272215040,3272215295,ES 3272215296,3272215551,NL 3272215552,3272215807,CH 3272215808,3272215823,NL -3272215824,3272215871,EU 3272215872,3272215879,BE -3272215880,3272215883,EU 3272215884,3272215919,CH 3272215920,3272215935,NL 3272215936,3272215999,GB -3272216000,3272216015,EU 3272216016,3272216031,DE -3272216032,3272216039,EU 3272216040,3272216047,GB -3272216048,3272216191,EU 3272216192,3272216207,BE -3272216208,3272216215,EU 3272216216,3272216223,FR 3272216224,3272216231,DE -3272216232,3272216239,EU 3272216240,3272216255,NL 3272216256,3272216287,CH -3272216288,3272216303,EU 3272216304,3272216311,ES -3272216312,3272216319,EU 3272216320,3272216351,NL 3272216352,3272216383,DE 3272216384,3272216447,CH -3272216448,3272216451,EU 3272216452,3272216455,NL -3272216456,3272216463,EU 3272216464,3272216479,FR 3272216480,3272216495,IR -3272216496,3272216511,EU 3272216512,3272216575,IT 3272216576,3272216895,GB 3272216896,3272216911,FR 3272216912,3272216927,DE -3272216928,3272216959,EU 3272216960,3272217007,GB -3272217008,3272217087,EU 3272217088,3272217151,GB -3272217152,3272217215,EU 3272217216,3272217279,BE 3272217280,3272217303,DE 3272217304,3272217311,BE -3272217312,3272217343,EU 3272217344,3272217599,GB 3272217600,3272217631,CH -3272217632,3272217855,EU 3272217856,3272217875,ES -3272217876,3272217879,EU 3272217880,3272217895,IT 3272217896,3272217911,ES -3272217912,3272217919,EU 3272217920,3272217983,DE 3272217984,3272218079,ES -3272218080,3272218111,EU 3272218112,3272218623,GB -3272218624,3272218687,EU 3272218688,3272218719,DE -3272218720,3272218751,EU 3272218752,3272218879,GB 3272218880,3272219135,BE 3272219136,3272219391,NL @@ -58887,40 +60534,25 @@ 3272221440,3272221447,SE 3272221448,3272221455,NO 3272221456,3272221463,SE -3272221464,3272221695,EU 3272221696,3272221951,NL 3272221952,3272222207,GB 3272222208,3272222463,ES 3272222464,3272222719,NL -3272222720,3272222975,EU -3272222976,3272223015,GB -3272223016,3272223023,EU +3272222720,3272223015,GB 3272223024,3272223039,GB -3272223040,3272223231,EU 3272223232,3272223487,NL 3272223488,3272223503,SG -3272223504,3272223743,EU -3272223744,3272223775,GI -3272223776,3272223807,EU -3272223808,3272223815,CY -3272223816,3272223823,EU -3272223824,3272223839,GB -3272223840,3272223999,EU -3272224000,3272224255,GB -3272224256,3272224383,GI -3272224384,3272224511,EU -3272224512,3272225279,GB +3272223520,3272223551,HK +3272223744,3272224255,GB +3272224768,3272225023,GB 3272225280,3272225535,IT 3272225536,3272225791,GB -3272225792,3272225855,EU 3272225856,3272225919,GB -3272225920,3272226047,EU 3272226048,3272226815,FR 3272226816,3272227071,GB 3272227072,3272227327,FR 3272227328,3272227359,US 3272227360,3272227511,GB -3272227512,3272227519,EU 3272227520,3272227583,GB 3272227584,3272227839,FR 3272227840,3272228095,ES @@ -58954,7 +60586,6 @@ 3272265216,3272265471,AT 3272265472,3272265727,DK 3272265728,3272265983,DE -3272265984,3272266239,GB 3272266240,3272266495,UA 3272266496,3272266751,SE 3272266752,3272267007,NL @@ -58963,7 +60594,6 @@ 3272267776,3272268031,LV 3272268032,3272268287,MT 3272268288,3272268543,UA -3272268544,3272268799,RO 3272268800,3272269055,IL 3272269056,3272269311,GB 3272269312,3272269567,IL @@ -58982,17 +60612,12 @@ 3272376320,3272384511,SK 3272384512,3272392703,LT 3272392704,3272400895,AT -3272400896,3272400911,EU 3272400912,3272400919,GB -3272400920,3272402559,EU 3272402560,3272402623,GB -3272402624,3272402687,EU 3272402688,3272402815,SE -3272402816,3272403967,EU 3272403968,3272404991,FR 3272404992,3272406015,DE 3272406016,3272407039,NL -3272407040,3272409087,EU 3272409088,3272417279,BE 3272417280,3272418687,FR 3272418688,3272419327,PL @@ -59020,7 +60645,6 @@ 3272476160,3272476415,RO 3272476672,3272476927,DE 3272476928,3272477183,GR -3272477184,3272477439,GB 3272477440,3272477695,PL 3272477696,3272477951,RU 3272477952,3272478207,RO @@ -59060,7 +60684,6 @@ 3272540160,3272605695,CH 3272605696,3272613887,BE 3272613888,3272622079,RU -3272622080,3272623103,RO 3272623104,3272624127,DE 3272624128,3272625151,RU 3272625152,3272626175,UA @@ -59121,7 +60744,6 @@ 3272903424,3272903679,AT 3272903680,3272904191,RU 3272904192,3272904447,SI -3272904448,3272904703,BE 3272904704,3272904959,NL 3272904960,3272905215,RO 3272905216,3272905727,CH @@ -59154,8 +60776,7 @@ 3272924160,3272924671,DE 3272924672,3272925183,GB 3272925184,3272933375,DE -3272933376,3272934399,FI -3272934400,3272998911,GB +3272933376,3272998911,GB 3272998912,3273007103,PT 3273007104,3273015295,CZ 3273015296,3273023487,SE @@ -59165,10 +60786,8 @@ 3273026560,3273028607,UA 3273028608,3273029631,PL 3273029632,3273029887,CH -3273029888,3273029897,GB -3273029898,3273029898,EU -3273029899,3273030143,GB -3273030144,3273030655,RU +3273029888,3273030143,GB +3273030400,3273030655,RU 3273030656,3273031679,PL 3273031680,3273032191,GB 3273032192,3273033215,UA @@ -59181,7 +60800,6 @@ 3273036288,3273036799,BG 3273036800,3273037311,IL 3273037312,3273037823,GB -3273037824,3273038335,UA 3273038336,3273038847,GR 3273038848,3273039871,GB 3273039872,3273048063,LT @@ -59208,7 +60826,6 @@ 3273192448,3273192959,DK 3273192960,3273193471,FR 3273193472,3273193983,PL -3273193984,3273194495,EU 3273194496,3273195007,UA 3273195008,3273195519,RU 3273195520,3273261055,FR @@ -59229,7 +60846,6 @@ 3273268736,3273269247,RU 3273269248,3273277439,GB 3273277440,3273278463,UA -3273278464,3273279487,RU 3273279488,3273281535,PL 3273281536,3273283583,UA 3273283584,3273284607,GB @@ -59240,15 +60856,14 @@ 3273310208,3273318399,AT 3273318400,3273326591,GB 3273326592,3273326847,IE -3273326848,3273326983,EU 3273326984,3273326987,DE -3273326988,3273326991,EU 3273326992,3273327047,DE -3273327048,3273327263,EU 3273327264,3273327287,DE -3273327288,3273327359,EU -3273327360,3273327615,IE -3273327616,3273328511,EU +3273327360,3273327423,IE +3273327424,3273327511,GB +3273327520,3273327551,IE +3273327552,3273327583,GB +3273327584,3273327615,IE 3273328512,3273328639,DE 3273328640,3273329423,GB 3273329424,3273329439,DE @@ -59259,196 +60874,116 @@ 3273330224,3273330271,GB 3273330272,3273330431,IE 3273330432,3273331199,GB -3273331200,3273331711,EU -3273331712,3273331791,GB -3273331792,3273331807,EU +3273331712,3273331743,GB +3273331752,3273331791,GB 3273331808,3273331967,GB 3273331968,3273332031,DE 3273332032,3273332095,GB 3273332096,3273332223,DE 3273332224,3273332479,GB -3273332480,3273332543,EU 3273332544,3273332575,DE -3273332576,3273332607,EU 3273332608,3273332671,DE -3273332672,3273333055,EU 3273333056,3273333119,DE -3273333120,3273334271,EU 3273334272,3273334783,DE -3273334784,3273335039,EU 3273335040,3273335295,DE 3273335296,3273335807,GB -3273335808,3273335935,EU 3273335936,3273335999,DE -3273336000,3273336847,EU 3273336848,3273336863,DE 3273336864,3273336871,GB 3273336872,3273336895,DE -3273336896,3273336959,EU 3273336960,3273337087,DE -3273337088,3273337855,EU 3273337856,3273338111,DE -3273338112,3273338623,EU 3273338624,3273338879,DE -3273338880,3273339135,EU -3273339136,3273339903,DE -3273339904,3273340415,GB -3273340416,3273340927,EU +3273339136,3273339391,DE +3273339392,3273340415,GB 3273340928,3273341695,FR 3273341696,3273341951,DE 3273341952,3273342207,GB -3273342208,3273342463,EU 3273342464,3273342975,DE 3273342976,3273343999,GB 3273344000,3273344767,DE -3273344768,3273345023,EU 3273345024,3273345279,DE -3273345280,3273346815,EU 3273346816,3273347071,DE -3273347072,3273347839,EU 3273347840,3273348351,DE -3273348352,3273349119,EU 3273349120,3273349631,DE -3273349632,3273350271,EU 3273350272,3273350287,DE -3273350288,3273350335,EU 3273350336,3273350351,DE -3273350352,3273351423,EU 3273351424,3273351455,DE -3273351456,3273351503,EU 3273351504,3273351519,DE -3273351520,3273351871,EU 3273351872,3273351903,DE -3273351904,3273351935,EU 3273351936,3273352191,DE -3273352192,3273352927,EU 3273352928,3273352959,DE -3273352960,3273352991,EU 3273352992,3273353023,DE -3273353024,3273355519,EU 3273355520,3273356287,DE -3273356288,3273359887,EU +3273357312,3273358335,GB 3273359888,3273359903,DE -3273359904,3273360015,EU 3273360016,3273360079,DE -3273360080,3273361471,EU 3273361472,3273361535,DE -3273361536,3273361631,EU 3273361632,3273361663,DE -3273361664,3273361791,EU 3273361792,3273361823,DE -3273361824,3273361855,EU 3273361856,3273361919,DE -3273361920,3273362047,EU 3273362048,3273362175,DE -3273362176,3273362239,EU 3273362240,3273362255,DE -3273362256,3273363207,EU 3273363208,3273363211,DE -3273363212,3273363327,EU 3273363328,3273363391,DE -3273363392,3273364607,EU 3273364608,3273364735,DE -3273364736,3273364991,EU 3273364992,3273365247,DE -3273365248,3273365503,EU 3273365504,3273365519,NL 3273365520,3273365543,GB 3273365544,3273365759,NL 3273365760,3273365767,GB -3273365768,3273365887,EU 3273365888,3273366015,FR 3273366016,3273366527,DE -3273366528,3273367295,EU 3273367296,3273367423,DE -3273367424,3273367551,EU 3273367552,3273367567,DE -3273367568,3273368063,EU 3273368064,3273368575,DE -3273368576,3273369343,EU 3273369344,3273369855,DE -3273369856,3273370623,EU 3273370624,3273371135,DE -3273371136,3273371711,EU 3273371712,3273371743,DE -3273371744,3273371759,EU 3273371760,3273371775,DE -3273371776,3273371807,EU 3273371808,3273371823,DE -3273371824,3273371871,EU 3273371872,3273371875,DE -3273371876,3273371999,EU 3273372000,3273372055,DE -3273372056,3273372671,EU 3273372672,3273372927,GB 3273372928,3273373183,NL 3273373184,3273373455,GB 3273373456,3273373567,DE 3273373568,3273373695,GB -3273373696,3273375231,EU 3273375232,3273375551,DE -3273375552,3273375743,EU 3273375744,3273375871,DE -3273375872,3273375999,EU 3273376000,3273376255,DE -3273376256,3273376535,EU 3273376536,3273376543,DE -3273376544,3273377791,EU 3273377792,3273378095,DE -3273378096,3273378559,EU 3273378560,3273378815,DE -3273378816,3273381887,EU 3273381888,3273382143,DE 3273382144,3273382399,GB 3273382400,3273382463,DE -3273382464,3273382479,EU 3273382480,3273382591,DE -3273382592,3273382639,EU 3273382640,3273382687,DE -3273382688,3273384191,EU 3273384192,3273384703,DE -3273384704,3273384959,EU 3273384960,3273385215,DE -3273385216,3273385279,EU 3273385280,3273385343,DE -3273385344,3273385471,EU 3273385472,3273385727,DE -3273385728,3273385759,EU 3273385760,3273385791,DE -3273385792,3273385855,EU 3273385856,3273385919,DE -3273385920,3273387055,EU 3273387056,3273387071,DE -3273387072,3273387215,EU 3273387216,3273387231,DE -3273387232,3273387263,EU 3273387264,3273387519,DE -3273387520,3273387551,EU 3273387552,3273387583,DE -3273387584,3273388159,EU 3273388160,3273388223,DE -3273388224,3273388543,EU 3273388544,3273388807,DE -3273388808,3273388815,EU 3273388816,3273388863,DE -3273388864,3273388871,EU 3273388872,3273388879,DE -3273388880,3273388903,EU 3273388904,3273388911,DE 3273388912,3273388927,GB 3273388928,3273389055,DE -3273389056,3273390079,EU 3273390080,3273390207,DE -3273390208,3273390335,EU 3273390336,3273390463,DE -3273390464,3273391103,EU 3273391104,3273391359,DE -3273391360,3273391871,EU 3273391872,3273392127,DE 3273392128,3273392639,PL 3273392640,3273393663,RO 3273394176,3273394687,RO -3273394688,3273395199,RU 3273395200,3273395711,DE 3273395712,3273396223,RU 3273396224,3273396735,PL @@ -59465,7 +61000,6 @@ 3273433600,3273434111,RO 3273434112,3273434623,BE 3273434624,3273435135,IL -3273435136,3273435647,GB 3273435648,3273436159,PL 3273436160,3273436671,NO 3273436672,3273437183,DE @@ -59492,30 +61026,21 @@ 3273727089,3273727095,ES 3273727096,3273727119,NL 3273727120,3273727127,PT -3273727128,3273727151,NL -3273727152,3273727183,IT -3273727184,3273728590,NL -3273728591,3273728592,EU -3273728593,3273732095,NL +3273727128,3273727135,NL +3273727136,3273727167,IT +3273727168,3273732095,NL 3273732096,3273736191,GB 3273736192,3273744383,FR 3273744384,3273746943,GB -3273746944,3273747199,EU +3273746944,3273747199,NL 3273747200,3273752575,GB -3273752576,3273752831,NL -3273752832,3273753087,EU -3273753088,3273753343,NL -3273753344,3273753599,EU -3273753600,3273755647,NL -3273755648,3273755903,EU -3273755904,3273760767,NL +3273752576,3273760767,NL 3273760768,3273762303,DE -3273762304,3273762559,EU +3273762304,3273762559,NL 3273762560,3273768959,DE 3273768960,3273785343,TR 3273785344,3273801727,RU 3273801728,3273802239,DE -3273802240,3273802751,RO 3273802752,3273803263,SA 3273803264,3273803775,ES 3273803776,3273804287,CH @@ -59534,7 +61059,8 @@ 3273818112,3273826303,AT 3273826304,3273834495,DE 3273834496,3273835519,RU -3273835520,3273838591,UA +3273835520,3273836543,UA +3273837568,3273838591,UA 3273838592,3273839615,PL 3273839616,3273840639,LT 3273840640,3273841663,PL @@ -59603,11 +61129,7 @@ 3274088448,3274096639,KG 3274096640,3274113023,NL 3274113024,3274145791,CZ -3274145792,3274150911,KW -3274150912,3274151167,US -3274151168,3274152447,KW -3274152448,3274152703,US -3274152704,3274162175,KW +3274145792,3274162175,KW 3274162176,3274162687,GB 3274163200,3274163711,UA 3274163712,3274164223,BG @@ -59621,7 +61143,8 @@ 3274168832,3274169343,DZ 3274169344,3274170367,DE 3274170368,3274170879,TR -3274170880,3274171391,DE +3274170880,3274171135,BE +3274171136,3274171391,DE 3274171392,3274171903,RU 3274171904,3274172415,DE 3274172416,3274172927,UA @@ -59735,161 +61258,83 @@ 3274424320,3274435711,SE 3274435712,3274435839,US 3274435840,3274440703,SE -3274440704,3274442751,EU 3274442752,3274443263,GB -3274443264,3274443519,EU 3274443520,3274443647,GB -3274443648,3274443711,EU 3274443712,3274443775,GB -3274443776,3274443807,EU 3274443808,3274444031,GB -3274444032,3274446335,EU 3274446336,3274447871,GB -3274447872,3274448383,EU 3274448384,3274448639,GB -3274448640,3274448895,EU 3274448896,3274449663,GB -3274449664,3274449919,EU 3274449920,3274450623,GB -3274450624,3274450655,EU 3274450656,3274450687,GB -3274450688,3274451199,EU 3274451200,3274452255,GB -3274452256,3274452263,EU 3274452264,3274452311,GB -3274452312,3274452319,EU 3274452320,3274452335,GB -3274452336,3274452343,EU 3274452344,3274452367,GB -3274452368,3274452383,EU 3274452384,3274452391,GB -3274452392,3274452399,EU 3274452400,3274452423,GB -3274452424,3274452431,EU 3274452432,3274452439,GB -3274452440,3274452447,EU 3274452448,3274452455,GB -3274452456,3274452463,EU 3274452464,3274452471,GB -3274452472,3274452495,EU 3274452496,3274452543,GB -3274452544,3274452559,EU 3274452560,3274452575,GB -3274452576,3274452655,EU 3274452656,3274452703,GB -3274452704,3274452735,EU 3274452736,3274452927,GB -3274452928,3274452991,EU 3274452992,3274453767,GB -3274453768,3274453783,EU 3274453784,3274453791,GB -3274453792,3274453799,EU 3274453800,3274453847,GB -3274453848,3274453863,EU 3274453864,3274453871,GB -3274453872,3274453887,EU 3274453888,3274453903,GB -3274453904,3274453919,EU 3274453920,3274453935,GB -3274453936,3274453943,EU 3274453944,3274453951,GB -3274453952,3274453959,EU 3274453960,3274453975,GB -3274453976,3274453983,EU 3274453984,3274453991,GB -3274453992,3274453999,EU 3274454000,3274454271,GB -3274454272,3274454655,EU 3274454656,3274455311,GB -3274455312,3274455327,EU 3274455328,3274455335,GB -3274455336,3274455343,EU 3274455344,3274455351,GB -3274455352,3274455359,EU 3274455360,3274455375,GB -3274455376,3274455383,EU 3274455384,3274455391,GB -3274455392,3274455399,EU 3274455400,3274455423,GB -3274455424,3274455431,EU 3274455432,3274455439,GB -3274455440,3274455447,EU 3274455448,3274455503,GB -3274455504,3274455519,EU 3274455520,3274455535,GB -3274455536,3274455743,EU 3274455744,3274455807,GB -3274455808,3274455871,EU 3274455872,3274455935,GB -3274455936,3274455967,EU 3274455968,3274456359,GB -3274456360,3274456367,EU 3274456368,3274456375,GB -3274456376,3274456383,EU 3274456384,3274456391,GB -3274456392,3274456399,EU 3274456400,3274456407,GB -3274456408,3274456415,EU 3274456416,3274456447,GB -3274456448,3274456455,EU 3274456456,3274456511,GB -3274456512,3274456527,EU 3274456528,3274456535,GB -3274456536,3274456543,EU 3274456544,3274456559,GB -3274456560,3274456567,EU 3274456568,3274460223,GB -3274460224,3274460415,EU 3274460416,3274462207,GB -3274462208,3274462463,EU 3274462464,3274465023,GB -3274465024,3274465151,EU 3274465152,3274466351,GB -3274466352,3274466367,EU 3274466368,3274466399,GB -3274466400,3274466415,EU 3274466416,3274466463,GB -3274466464,3274466559,EU 3274466560,3274466735,GB -3274466736,3274466743,EU 3274466744,3274466763,GB -3274466764,3274466767,EU 3274466768,3274466783,GB -3274466784,3274466815,EU 3274466816,3274467099,GB -3274467100,3274467103,EU 3274467104,3274467307,GB -3274467308,3274467327,EU 3274467328,3274470383,GB -3274470384,3274470399,EU 3274470400,3274470535,GB -3274470536,3274470655,EU 3274470656,3274471423,GB -3274471424,3274471535,EU 3274471536,3274471615,GB -3274471616,3274471679,EU 3274471680,3274471935,GB -3274471936,3274472959,EU 3274472960,3274483711,GB -3274483712,3274489599,EU 3274489600,3274489855,GB -3274489856,3274490175,EU 3274490176,3274490895,GB -3274490896,3274490911,EU 3274490912,3274491247,GB -3274491248,3274491255,EU 3274491256,3274491295,GB -3274491296,3274491303,EU 3274491304,3274491319,GB -3274491320,3274491327,EU 3274491328,3274491383,GB -3274491384,3274491391,EU 3274491392,3274504447,GB -3274504448,3274505727,EU 3274505728,3274505791,GB -3274505792,3274505792,EU 3274505793,3274505855,GB -3274505856,3274506239,EU 3274506240,3274571775,IT 3274571776,3274579967,GR 3274579968,3274580991,UA @@ -59907,9 +61352,7 @@ 3274604544,3274612735,TR 3274612736,3274620927,RU 3274620928,3274629119,FR -3274629120,3274635519,LU -3274635520,3274635775,EU -3274635776,3274637311,LU +3274629120,3274637311,LU 3274637312,3274670079,CZ 3274670080,3274686463,DK 3274686464,3274686719,RU @@ -60003,29 +61446,18 @@ 3274850304,3274866687,GB 3274866688,3274883071,DE 3274883072,3274899455,EE -3274899456,3274903551,EU 3274903552,3274908671,DE -3274908672,3274913791,EU 3274913792,3274914815,DE -3274914816,3274920959,EU 3274920960,3274921983,BE -3274921984,3274923263,EU 3274923264,3274924031,NL -3274924032,3274926079,EU 3274926080,3274928127,FR -3274928128,3274939391,EU 3274939392,3274940415,ZA -3274940416,3274941439,EU 3274941440,3274942463,DE 3274942464,3274943487,FR -3274943488,3274944511,EU 3274944512,3274948607,NL 3274948608,3274951679,DK -3274951680,3274952703,EU 3274952704,3274953727,AT -3274953728,3274958079,EU 3274958080,3274958207,IE -3274958208,3274964991,EU 3274964992,3275030527,DE 3275030528,3275096063,ES 3275096064,3275104767,RU @@ -60044,11 +61476,8 @@ 3275110912,3275111423,GB 3275111424,3275111935,IT 3275111936,3275112447,FR -3275112448,3275117581,DK -3275117582,3275117582,EU -3275117583,3275120639,DK +3275112448,3275120639,DK 3275120640,3275137023,SE -3275137024,3275137535,DE 3275137536,3275138047,UA 3275138048,3275138559,DE 3275138560,3275139071,UA @@ -60064,11 +61493,7 @@ 3275145216,3275153407,RU 3275153408,3275161599,GB 3275161600,3275227135,ES -3275227136,3275246847,HU -3275246848,3275247103,EU -3275247104,3275262975,HU -3275262976,3275263231,EU -3275263232,3275292671,HU +3275227136,3275292671,HU 3275292672,3275358207,ES 3275358208,3275374591,RU 3275374592,3275382783,GB @@ -60078,88 +61503,54 @@ 3275407360,3275415551,GB 3275415552,3275423743,UA 3275423744,3275423751,GB -3275423752,3275423775,EU 3275423776,3275423839,GB -3275423840,3275423871,EU -3275423872,3275425559,GB -3275425560,3275425567,EU +3275423872,3275425343,GB +3275425536,3275425559,GB 3275425568,3275425583,GB -3275425584,3275425791,EU 3275425792,3275426559,GB -3275426560,3275426575,EU 3275426576,3275428367,GB -3275428368,3275428375,EU 3275428376,3275428407,GB -3275428408,3275428415,EU 3275428416,3275428447,GB -3275428448,3275429887,EU 3275429888,3275430143,GB -3275430144,3275430271,EU 3275430272,3275430399,GB -3275430400,3275430591,EU 3275430592,3275430631,GB -3275430632,3275430655,EU 3275430656,3275430911,GB -3275430912,3275431935,EU -3275431936,3275432883,GB -3275432884,3275433983,EU +3275431936,3275432959,GB 3275433984,3275436543,GB -3275436544,3275436799,EU 3275436800,3275438847,GB -3275438848,3275439103,EU 3275439104,3275441407,GB -3275441408,3275441423,EU 3275441424,3275441439,GB -3275441440,3275441471,EU 3275441472,3275441535,GB -3275441536,3275441599,EU 3275441600,3275441823,GB -3275441824,3275441855,EU -3275441856,3275442723,GB -3275442724,3275443199,EU +3275441832,3275441835,GB +3275441840,3275442723,GB 3275443200,3275443227,GB -3275443228,3275443231,EU 3275443232,3275443239,GB -3275443240,3275443255,EU -3275443256,3275443311,GB -3275443312,3275443327,EU -3275443328,3275443391,GB -3275443392,3275443423,EU +3275443248,3275443391,GB 3275443424,3275443439,GB -3275443440,3275443447,EU 3275443448,3275443727,GB -3275443728,3275443759,EU 3275443760,3275443775,GB -3275443776,3275444223,EU +3275443840,3275443903,GB 3275444224,3275444735,GB -3275444736,3275446271,EU 3275446272,3275446783,GB -3275446784,3275446799,EU -3275446800,3275446831,GB -3275446832,3275446847,EU +3275446800,3275446823,GB 3275446848,3275447039,GB -3275447040,3275447055,EU 3275447056,3275447151,GB -3275447152,3275448319,EU 3275448320,3275450207,GB -3275450208,3275450223,EU 3275450224,3275450879,GB -3275450880,3275451231,EU 3275451232,3275451263,GB -3275451264,3275451391,EU 3275451392,3275451663,GB -3275451664,3275451679,EU 3275451680,3275451711,GB -3275451712,3275451719,EU 3275451720,3275451727,GB -3275451728,3275452415,EU -3275452416,3275457023,GB -3275457024,3275457791,FK +3275451744,3275451767,GB +3275452416,3275455231,GB +3275455248,3275456407,GB +3275456416,3275457535,GB +3275457536,3275457791,FK 3275457792,3275458559,GB 3275458560,3275460095,IE 3275460096,3275460223,GB 3275460224,3275460239,IE -3275460240,3275460351,EU 3275460352,3275460607,IE 3275460608,3275460863,HK 3275460864,3275468655,GB @@ -60168,26 +61559,21 @@ 3275468736,3275468751,IE 3275468752,3275468767,GB 3275468768,3275468799,IE -3275468800,3275475879,GB -3275475880,3275475967,EU -3275475968,3275476223,GB -3275476224,3275476287,EU -3275476288,3275476319,GB -3275476320,3275476351,EU -3275476352,3275476479,GB -3275476480,3275476991,EU +3275468800,3275469071,GB +3275469072,3275469087,IE +3275469088,3275476223,GB +3275476288,3275476479,GB 3275476992,3275477567,GB -3275477568,3275477759,EU 3275477760,3275478271,GB -3275478272,3275478527,EU 3275478528,3275481087,GB -3275481088,3275483135,EU 3275483136,3275483647,GB -3275483648,3275485183,EU +3275484160,3275484415,GB 3275485184,3275485215,GB -3275485216,3275485247,EU +3275485224,3275485231,GB 3275485248,3275485375,GB -3275485376,3275489279,EU +3275485408,3275485423,GB +3275485440,3275485695,GB +3275488768,3275489279,CZ 3275489280,3275497471,GB 3275497472,3275505663,DE 3275505664,3275506175,PL @@ -60217,7 +61603,7 @@ 3275510720,3275510751,GB 3275510752,3275510783,NL 3275510784,3275510911,CY -3275510912,3275511167,GB +3275511040,3275511167,GB 3275511296,3275511551,GB 3275511552,3275511679,NL 3275511680,3275511807,CY @@ -60257,7 +61643,7 @@ 3275537920,3275538431,IT 3275538432,3275539455,CH 3275539456,3275540479,GB -3275540480,3275542527,UA +3275540480,3275541503,UA 3275542528,3275543551,DE 3275543552,3275544575,NL 3275544576,3275545599,PL @@ -60269,11 +61655,8 @@ 3275551744,3275552767,RU 3275552768,3275553791,LV 3275553792,3275554815,FI -3275554816,3275588447,EU 3275588448,3275588463,BE -3275588464,3275612927,EU 3275612928,3275613183,LU -3275613184,3275620351,EU 3275620352,3275622399,RU 3275622400,3275623423,GB 3275623424,3275623935,PL @@ -60308,7 +61691,6 @@ 3275640832,3275641343,DE 3275641344,3275641855,NL 3275641856,3275642367,AT -3275642368,3275642879,RU 3275642880,3275643391,RO 3275643392,3275643903,BE 3275643904,3275644415,RU @@ -60319,12 +61701,9 @@ 3275669504,3275677695,GB 3275677696,3275685887,IT 3275685888,3275751423,DE -3275751424,3275751679,AT -3275751680,3275751935,EU -3275751936,3275759615,AT +3275751424,3275759615,AT 3275759616,3275775999,NL 3275776000,3275784191,DE -3275784192,3275784703,RO 3275784704,3275785215,PL 3275785216,3275785727,RO 3275785728,3275786239,CH @@ -60336,7 +61715,6 @@ 3275788800,3275789311,AT 3275789312,3275789823,UA 3275789824,3275790335,PL -3275790336,3275790847,MD 3275790848,3275791359,UA 3275791360,3275791871,RU 3275791872,3275792383,PL @@ -60357,9 +61735,7 @@ 3275800064,3275800575,UA 3275800576,3275808767,RU 3275808768,3275816959,UA -3275816960,3275839231,CH -3275839232,3275839487,EU -3275839488,3275882495,CH +3275816960,3275882495,CH 3275882496,3275884543,DE 3275884544,3275886591,IT 3275886592,3275888639,PL @@ -60385,14 +61761,12 @@ 3275904000,3275904255,RU 3275904256,3275904511,CH 3275904512,3275904767,PL -3275904768,3275905023,RU 3275905024,3275905279,PL 3275905280,3275905535,RU 3275905536,3275905791,NL 3275905792,3275906303,AT 3275906304,3275906559,UA -3275906560,3275906815,NO -3275906816,3275907071,SE +3275906560,3275907071,SE 3275907072,3275907327,RU 3275907328,3275907583,CH 3275907584,3275907839,PL @@ -60417,7 +61791,6 @@ 3275912448,3275912703,RU 3275912704,3275912959,IL 3275912960,3275913215,FR -3275913216,3275913471,UA 3275913472,3275913983,DE 3275913984,3275914239,CH 3275914240,3275914495,RO @@ -60446,21 +61819,33 @@ 3276014240,3276014247,FR 3276014248,3276014799,GB 3276014800,3276014815,FR -3276014816,3276019495,GB +3276014816,3276014951,GB +3276014952,3276014959,ES +3276014960,3276019495,GB 3276019496,3276019503,FR 3276019504,3276019631,GB 3276019632,3276019639,FR 3276019640,3276020129,GB 3276020130,3276020130,FR -3276020131,3276025159,GB +3276020131,3276020735,GB +3276020736,3276020991,FR +3276020992,3276025159,GB 3276025160,3276025167,FR -3276025168,3276031479,GB +3276025168,3276026367,GB +3276026368,3276026623,FR +3276026624,3276027647,GB +3276027648,3276027903,FR +3276027904,3276029375,GB +3276029376,3276029439,FR +3276029440,3276031479,GB 3276031480,3276031487,FR 3276031488,3276032311,GB 3276032312,3276032319,FR 3276032320,3276033535,GB 3276033536,3276033791,FR -3276033792,3276040351,GB +3276033792,3276039167,GB +3276039168,3276039423,FR +3276039424,3276040351,GB 3276040352,3276040367,FR 3276040368,3276042015,GB 3276042016,3276042031,FR @@ -60560,9 +61945,7 @@ 3276201984,3276210175,AT 3276210176,3276234303,DE 3276234304,3276234367,GB -3276234368,3276259071,DE -3276259072,3276259327,US -3276259328,3276275711,DE +3276234368,3276275711,DE 3276275712,3276283903,SK 3276283904,3276292095,GB 3276292096,3276300287,BE @@ -60622,42 +62005,24 @@ 3276431104,3276431359,RU 3276431360,3276447743,GB 3276447744,3276451583,DE -3276451584,3276455935,EU 3276455936,3276464127,BE 3276464128,3276472319,GR -3276472320,3276473303,EU 3276473304,3276473311,AT -3276473312,3276479999,EU -3276480000,3276480255,FR -3276480256,3276485631,EU +3276480256,3276480511,FR 3276485632,3276486655,GB -3276486656,3276503039,EU 3276503040,3276505087,DE -3276505088,3276508679,EU 3276508680,3276508687,GB -3276508688,3276509183,EU 3276509184,3276510207,IT -3276510208,3276512255,EU 3276512256,3276513023,ZA -3276513024,3276517631,EU 3276517632,3276517887,NL -3276517888,3276518367,EU 3276518368,3276518383,NL -3276518384,3276522495,EU 3276522496,3276523519,NL -3276523520,3276527615,EU 3276527616,3276527743,PK -3276527744,3276528351,EU 3276528352,3276528359,GB -3276528360,3276530687,EU 3276530688,3276531711,NL -3276531712,3276534527,EU -3276534528,3276534783,AU -3276534784,3276536687,EU +3276532480,3276532607,NL 3276536688,3276536695,HU -3276536696,3276537343,EU 3276537344,3276537599,AT -3276537600,3276537855,EU 3276537856,3276668927,ES 3276668928,3276677119,MC 3276677120,3276678143,HR @@ -60695,7 +62060,6 @@ 3276695040,3276695551,RU 3276695552,3276696063,UA 3276696064,3276696575,RO -3276696576,3276697087,EU 3276697088,3276697599,GB 3276697600,3276698111,UA 3276698112,3276699647,RU @@ -60714,24 +62078,15 @@ 3276731392,3276732415,UA 3276732416,3276733439,DE 3276733440,3276734463,UA -3276734464,3276746751,EU 3276746752,3276747775,CH -3276747776,3276758015,EU 3276758016,3276759039,GB -3276759040,3276760063,EU 3276760064,3276761087,DE -3276761088,3276765183,EU 3276765184,3276766207,GB -3276766208,3276775423,EU 3276775424,3276780543,NL -3276780544,3276781567,EU 3276781568,3276782591,BE -3276782592,3276789279,EU 3276789280,3276789295,FI -3276789296,3276794879,EU 3276794880,3276795903,BE 3276795904,3276797951,AT -3276797952,3276799999,EU 3276800000,3276824575,GB 3276824576,3276832767,EE 3276832768,3276834815,PL @@ -60752,24 +62107,23 @@ 3276859136,3276859647,UA 3276859648,3276859903,CH 3276859904,3276860159,AT -3276860160,3276860415,EU +3276860160,3276860415,CH 3276860416,3276860927,PL 3276860928,3276861183,BE 3276861184,3276861439,DE 3276861440,3276865535,DK 3276865536,3276866303,NL -3276866304,3276866559,EU -3276866560,3276866815,GB -3276866816,3276867071,EU -3276867072,3276873983,GB +3276866304,3276873983,GB 3276873984,3276874239,ES 3276874240,3276876383,GB 3276876384,3276876415,NL 3276876416,3276882431,GB -3276882432,3276882687,IT -3276882688,3276886363,GB +3276882432,3276882943,IT +3276882944,3276886363,GB 3276886364,3276886367,DE -3276886368,3276892159,GB +3276886368,3276890111,GB +3276890112,3276890367,US +3276890368,3276892159,GB 3276892160,3276893183,IT 3276893184,3276893695,GB 3276893696,3276893951,IT @@ -60777,9 +62131,7 @@ 3276898672,3276898687,CH 3276898688,3276903423,GB 3276903424,3276903679,SE -3276903680,3276907341,GB -3276907342,3276907342,EU -3276907343,3276907519,GB +3276903680,3276907519,GB 3276907520,3276907775,NL 3276907776,3276908287,GB 3276908288,3276908543,BE @@ -60788,8 +62140,8 @@ 3276911872,3276912383,GB 3276912384,3276912511,IT 3276912512,3276912879,GB -3276912880,3276913151,IT -3276913152,3276917231,GB +3276912880,3276912895,IT +3276912896,3276917231,GB 3276917232,3276917247,FR 3276917248,3276919375,GB 3276919376,3276919391,DE @@ -60808,7 +62160,7 @@ 3276939264,3276955647,DE 3276955648,3276963839,GB 3276963840,3276964351,IL -3276964352,3276965375,RO +3276964352,3276964863,RO 3276965376,3276966399,RU 3276966400,3276966911,BH 3276966912,3276968959,RU @@ -60826,9 +62178,8 @@ 3277160448,3277176831,NL 3277176832,3277177087,SI 3277177088,3277177343,GB -3277177344,3277177599,RO 3277177600,3277178111,PL -3277178112,3277178623,UA +3277178368,3277178623,UA 3277178624,3277178879,PL 3277178880,3277179135,ES 3277179136,3277179391,RO @@ -60847,7 +62198,6 @@ 3277182720,3277182975,BG 3277182976,3277183231,UA 3277183232,3277183487,DE -3277183488,3277183743,DK 3277183744,3277183999,UA 3277184000,3277184255,DE 3277184256,3277184511,PT @@ -60982,9 +62332,7 @@ 3277380608,3277381119,RU 3277381120,3277381631,KW 3277381632,3277382143,RU -3277382144,3277382655,MD 3277382656,3277383167,GB -3277383168,3277383679,UA 3277383680,3277384191,PL 3277384704,3277385215,GB 3277385216,3277385727,AT @@ -61003,25 +62351,25 @@ 3277402608,3277403135,GB 3277403136,3277403215,FR 3277403216,3277403231,GB -3277403232,3277403295,FR -3277403296,3277403423,GB -3277403424,3277403439,FR +3277403232,3277403279,FR +3277403280,3277403295,DE +3277403296,3277403311,FR +3277403312,3277403327,GB +3277403328,3277403359,FR +3277403360,3277403391,GB +3277403392,3277403439,FR 3277403440,3277403647,GB 3277403648,3277403807,ES 3277403808,3277404159,GB 3277404160,3277404415,DE -3277404416,3277404463,IT -3277404464,3277404495,GB -3277404496,3277404511,IT -3277404512,3277404543,GB -3277404544,3277404559,IT -3277404560,3277404591,GB -3277404592,3277404607,IT -3277404608,3277404623,GB -3277404624,3277404649,IT +3277404416,3277404511,IT +3277404512,3277404527,GB +3277404528,3277404649,IT 3277404650,3277404671,GB -3277404672,3277404719,CH -3277404720,3277405183,GB +3277404672,3277404735,CH +3277404736,3277404943,GB +3277404944,3277404959,NL +3277404960,3277405183,GB 3277405184,3277405263,SE 3277405264,3277405439,GB 3277405440,3277405471,DE @@ -61084,17 +62432,14 @@ 3277697536,3277698047,PL 3277698048,3277698559,RU 3277698560,3277699071,DE -3277699072,3277699583,UA 3277699584,3277700607,RU 3277700608,3277701119,UA 3277701120,3277701631,DK 3277701632,3277702143,AT -3277702144,3277702655,EU 3277702656,3277703679,DE 3277703680,3277704191,PL 3277704192,3277704703,UA 3277704704,3277705215,RU -3277705216,3277705727,KZ 3277705728,3277706239,ES 3277706240,3277707263,UA 3277707264,3277707775,CZ @@ -61128,7 +62473,7 @@ 3277816576,3277816831,GB 3277816832,3277817087,CH 3277817088,3277817343,GB -3277817344,3277817855,FR +3277817600,3277817855,FR 3277817856,3277818111,BE 3277818112,3277818367,DE 3277818368,3277818623,CY @@ -61148,7 +62493,6 @@ 3277821952,3277822207,RO 3277822208,3277822463,ES 3277822464,3277822719,PL -3277822720,3277822975,RU 3277822976,3277823231,SG 3277823232,3277823487,UA 3277823488,3277823743,SI @@ -61180,7 +62524,6 @@ 3277831168,3277831423,PL 3277831424,3277831679,UA 3277831680,3277832191,IE -3277832192,3277833215,EU 3277833216,3277833727,BE 3277833728,3277834239,NL 3277834240,3277834751,RU @@ -61209,11 +62552,11 @@ 3277856768,3277864959,DE 3277864960,3277873151,RU 3277873152,3277881343,NL -3277881344,3277886463,A2 +3277881344,3277886463,IT 3277886464,3277887487,IQ -3277887488,3277888255,A2 +3277887488,3277888255,IT 3277888256,3277888767,LB -3277888768,3277889535,A2 +3277888768,3277889535,IT 3277889536,3277897727,RU 3277897728,3277905919,IT 3277905920,3277914111,BG @@ -61231,13 +62574,13 @@ 3278061568,3278065663,NL 3278065664,3278110719,GB 3278110720,3278176255,SE -3278176256,3278241791,FR +3278176256,3278210559,FR +3278210560,3278210815,MQ +3278210816,3278241791,FR 3278241792,3278307327,GB 3278307328,3278372863,IT 3278372864,3278635007,GB -3278635008,3278635263,NL -3278635264,3278635519,EU -3278635520,3278766079,NL +3278635008,3278766079,NL 3278766080,3278766591,RO 3278767104,3278767615,RO 3278767616,3278768127,UA @@ -61404,11 +62747,10 @@ 3278962688,3279028223,CZ 3279028224,3279028735,PL 3279028736,3279029247,RU -3279029248,3279030271,UA +3279029760,3279030271,UA 3279030272,3279030783,RU 3279030784,3279031295,DE 3279031296,3279031807,NL -3279031808,3279032319,RO 3279032320,3279032831,HU 3279032832,3279033343,FR 3279033344,3279033855,RU @@ -61424,8 +62766,6 @@ 3279054336,3279054847,GB 3279054848,3279055359,RU 3279055360,3279055871,SA -3279055872,3279056383,TR -3279056384,3279056895,GB 3279056896,3279057151,RU 3279057152,3279057407,GB 3279057408,3279057919,FR @@ -61435,56 +62775,45 @@ 3279060480,3279060991,PL 3279060992,3279069183,UA 3279069184,3279077375,PL -3279077376,3279084543,ES -3279084544,3279085567,IT +3279077376,3279085567,ES 3279085568,3279089663,NL 3279089664,3279093759,KG 3279093760,3279123455,FR -3279123456,3279123716,RE -3279123717,3279123717,FR -3279123718,3279123720,RE +3279123456,3279123720,RE 3279123721,3279123721,FR 3279123722,3279123967,RE 3279123968,3279159295,FR 3279159296,3279290367,PL -3279290368,3279292415,EU 3279292416,3279294463,NL -3279294464,3279295999,EU 3279296000,3279296511,ZA -3279296512,3279298047,EU 3279298048,3279298559,ZA -3279298560,3279301631,EU 3279301632,3279304703,DE -3279304704,3279310847,EU 3279310848,3279311871,DE -3279311872,3279319295,EU 3279319296,3279319423,AT -3279319424,3279320063,EU 3279320064,3279321087,FR -3279321088,3279327231,EU 3279327232,3279329279,GB -3279329280,3279331327,EU 3279331328,3279332351,GB -3279332352,3279337471,EU 3279337472,3279339519,GB -3279339520,3279343871,EU 3279343872,3279344127,BE -3279344128,3279353855,EU 3279353856,3279354879,DK -3279354880,3279373311,EU 3279373312,3279374335,FI -3279374336,3279374591,EU 3279374592,3279375359,FI -3279375360,3279421439,EU +3279388672,3279396863,GR 3279421440,3279486975,IT 3279486976,3279552511,NL 3279552512,3279560703,LV 3279560704,3279568895,GB 3279568896,3279577087,IT 3279577088,3279585279,BE -3279585280,3279593407,GB +3279585280,3279587583,GB +3279587584,3279588095,DE +3279588096,3279590911,GB +3279590912,3279591167,DE +3279591168,3279593407,GB 3279593408,3279593440,DE -3279593441,3279596543,GB +3279593441,3279593599,GB +3279593600,3279593727,DE +3279593728,3279596543,GB 3279596544,3279597311,DE 3279597312,3279598591,GB 3279598592,3279599615,DE @@ -61492,14 +62821,9 @@ 3279601664,3279609855,CZ 3279609856,3279618047,RU 3279618048,3279683583,UA -3279683584,3279688191,DE -3279688192,3279688447,EU -3279688448,3279895295,DE -3279895296,3279895551,EU -3279895552,3279946751,DE +3279683584,3279946751,DE 3279946752,3279947775,SE 3279947776,3279948799,NL -3279948800,3279949823,GB 3279949824,3279950847,UA 3279950848,3279951871,DE 3279952896,3279953919,PL @@ -61559,16 +62883,12 @@ 3280005632,3280006143,IT 3280006144,3280006655,DK 3280006656,3280007167,GB -3280007168,3280007679,SE 3280007680,3280008191,PL 3280008192,3280009215,RU 3280009216,3280009727,UA 3280009728,3280010239,GB 3280010240,3280010751,UA -3280010752,3280011263,TR -3280011264,3280023551,EU 3280023552,3280024575,IT -3280024576,3280076799,EU 3280076800,3280084991,GB 3280084992,3280093183,BA 3280093184,3280109567,GR @@ -61581,15 +62901,13 @@ 3280126976,3280127231,CH 3280127232,3280127487,PL 3280127488,3280127743,AT -3280127744,3280127999,EU 3280128000,3280128255,SE 3280128256,3280128511,GB 3280128512,3280129023,HU -3280129024,3280129279,RU 3280129280,3280129535,LV 3280129536,3280129791,SA 3280129792,3280130047,FR -3280130048,3280130559,RU +3280130304,3280130559,RU 3280130560,3280130815,GB 3280130816,3280131071,IS 3280131072,3280131327,PL @@ -61662,7 +62980,6 @@ 3280582912,3280583167,UA 3280583168,3280583423,RO 3280583424,3280583679,RU -3280583680,3280583935,PS 3280583936,3280584191,PL 3280584192,3280584447,KW 3280584448,3280584703,DE @@ -61672,7 +62989,6 @@ 3280586240,3280586751,DE 3280586752,3280587263,RU 3280587264,3280587775,UA -3280587776,3280588287,RO 3280588288,3280588799,UA 3280588800,3280589311,PL 3280589312,3280590335,DE @@ -61684,8 +63000,7 @@ 3280592896,3280593407,DE 3280593408,3280593919,UA 3280593920,3280594431,LU -3280594432,3280594687,NL -3280594688,3280594943,EU +3280594432,3280594943,NL 3280594944,3280595455,UA 3280595456,3280595967,DE 3280595968,3280596479,DK @@ -61736,7 +63051,7 @@ 3280662528,3280666623,DE 3280666624,3280732159,NO 3280732160,3280764927,DE -3280764928,3280765951,TJ +3280764928,3280765183,TJ 3280765952,3280766975,DK 3280766976,3280767999,AT 3280768000,3280769023,FR @@ -61772,9 +63087,9 @@ 3280928832,3280928847,RU 3280928848,3280928855,GB 3280928856,3280928863,RU -3280928864,3280955709,GB -3280955710,3280955713,DE -3280955714,3280958919,GB +3280928864,3280955707,GB +3280955708,3280955711,DE +3280955712,3280958919,GB 3280958920,3280958927,DE 3280958928,3280963375,GB 3280963376,3280963383,DE @@ -61811,43 +63126,32 @@ 3281010688,3281018879,BE 3281018880,3281027071,CZ 3281027072,3281027327,GB -3281027328,3281027583,EU 3281027584,3281027615,GB -3281027616,3281027631,EU 3281027632,3281027679,GB -3281027680,3281027695,EU 3281027696,3281027743,GB -3281027744,3281027775,EU 3281027776,3281027807,GB -3281027808,3281027839,EU 3281027840,3281027903,GB -3281027904,3281028063,EU 3281028064,3281028159,GB -3281028160,3281028991,EU 3281028992,3281029055,GB -3281029056,3281030399,EU 3281030400,3281035263,GB 3281035264,3281043455,CH 3281043456,3281059839,RU -3281059840,3281062911,DE -3281062912,3281063039,EU -3281063040,3281063111,DE -3281063112,3281063167,EU -3281063168,3281125375,DE +3281059840,3281125375,DE 3281125376,3281133567,SK 3281133568,3281141759,IR 3281141760,3281149951,RU 3281149952,3281158143,CZ 3281158144,3281166335,SK 3281166336,3281174527,GB -3281174528,3281190911,FR +3281174528,3281189375,FR +3281189376,3281189631,GB +3281189632,3281190911,FR 3281190912,3281256447,GB 3281256448,3281321983,FI 3281321984,3281338367,GB 3281338368,3281338623,PL 3281338624,3281338879,SA 3281338880,3281339135,FR -3281339136,3281339391,RO 3281339392,3281339647,PL 3281339648,3281339903,GB 3281339904,3281340159,UA @@ -61891,8 +63195,7 @@ 3281351680,3281351935,TR 3281351936,3281352191,UA 3281352192,3281352447,PL -3281352448,3281352703,RO -3281352704,3281352959,EU +3281352704,3281352959,DE 3281352960,3281353215,GB 3281353216,3281353471,DE 3281353472,3281353727,SE @@ -61931,7 +63234,6 @@ 3281972736,3281973247,RU 3281973248,3281973759,FR 3281973760,3281974271,DK -3281974272,3281974783,RU 3281974784,3281975295,PL 3281975296,3281976319,RU 3281976320,3281976831,DE @@ -61967,12 +63269,12 @@ 3282104320,3282105343,IL 3282105344,3282106367,RU 3282106368,3282107391,DE -3282107392,3282108415,EU +3282107392,3282108415,NL 3282108416,3282173951,RU 3282173952,3282174463,UA 3282174464,3282174975,GB 3282174976,3282175487,DE -3282175488,3282177023,RU +3282176000,3282177023,RU 3282177024,3282177535,GB 3282177536,3282178047,KZ 3282178048,3282178559,PL @@ -62047,13 +63349,11 @@ 3282745856,3282746111,PL 3282746112,3282746367,SE 3282746368,3282746623,PL -3282746624,3282746879,EU +3282746624,3282746879,SE 3282746880,3282747135,RO 3282747136,3282747391,PL 3282747392,3282763775,RU -3282763776,3282772991,GB -3282772992,3282773247,EU -3282773248,3282960383,GB +3282763776,3282960383,GB 3282960384,3283091455,TR 3283091456,3283111935,CH 3283111936,3283113471,LI @@ -62082,9 +63382,7 @@ 3283209728,3283210239,TR 3283210240,3283210751,UA 3283210752,3283211263,PL -3283211264,3283211488,GB -3283211489,3283211489,EU -3283211490,3283211775,GB +3283211264,3283211775,GB 3283211776,3283212287,NL 3283212288,3283212799,PL 3283212800,3283213311,BG @@ -62106,7 +63404,6 @@ 3283222016,3283223039,DE 3283223040,3283223551,RU 3283223552,3283224063,NL -3283224064,3283224575,EU 3283224576,3283225087,BG 3283225088,3283225599,UA 3283225600,3283226111,RU @@ -62133,7 +63430,7 @@ 3283252736,3283253247,SI 3283253248,3283253759,RO 3283253760,3283254271,PL -3283254272,3283255295,RO +3283254784,3283255295,RO 3283255296,3283263487,UA 3283263488,3283271679,SE 3283271680,3283279871,RU @@ -62155,7 +63452,6 @@ 3283487744,3283487999,CH 3283488000,3283488255,NL 3283488256,3283488511,PL -3283488512,3283488767,RU 3283488768,3283489279,FR 3283489280,3283489535,DE 3283489536,3283489791,PL @@ -62218,19 +63514,12 @@ 3283540992,3283541503,RO 3283541504,3283542015,CH 3283542016,3283550207,IT -3283550208,3283561471,EU 3283561472,3283562495,GB -3283562496,3283563519,EU 3283563520,3283564543,GB -3283564544,3283568639,EU 3283568640,3283569663,GB -3283569664,3283570687,EU 3283570688,3283570943,GB -3283570944,3283576831,EU 3283576832,3283579903,DE -3283579904,3283593215,EU 3283593216,3283595263,IT -3283595264,3283615743,EU 3283615744,3283623935,HU 3283623936,3283632127,DK 3283632128,3283632639,NL @@ -62308,10 +63597,9 @@ 3283984896,3283985407,GR 3283985408,3283985919,RO 3283985920,3283986431,AT -3283986432,3283986943,RU 3283986944,3283987455,AT 3283987456,3283987967,GB -3283987968,3283988991,RO +3283988480,3283988991,RO 3283988992,3283989503,FR 3283989504,3283990015,RU 3283990016,3283990527,SE @@ -62397,12 +63685,10 @@ 3284046336,3284046591,NL 3284046592,3284046847,SE 3284046848,3284047103,DE -3284047104,3284047359,DK -3284047360,3284047615,EU +3284047360,3284047615,DE 3284047616,3284047871,NL 3284047872,3284048127,UA 3284048128,3284048383,DK -3284048384,3284048639,GB 3284048640,3284049151,FR 3284049152,3284049407,UA 3284049408,3284049663,SI @@ -62420,7 +63706,6 @@ 3284078592,3284079103,NL 3284079104,3284079615,RU 3284079616,3284080127,DE -3284080128,3284080639,BE 3284080640,3284081151,UA 3284081152,3284081663,DE 3284081664,3284082175,IE @@ -62458,11 +63743,9 @@ 3284099328,3284099583,HU 3284099584,3284100095,GR 3284100096,3284100607,AM -3284100608,3284101119,EU 3284101120,3284101631,UA 3284101632,3284102143,GB -3284102144,3284102399,DK -3284102400,3284102655,EU +3284102144,3284102655,DK 3284102656,3284103167,AT 3284103168,3284103679,NL 3284103680,3284104191,DE @@ -62529,9 +63812,7 @@ 3284138496,3284139007,RU 3284139008,3284140031,AT 3284140032,3284205567,DK -3284205568,3284206335,NL -3284206336,3284206591,EU -3284206592,3284257535,NL +3284205568,3284257535,NL 3284257536,3284257791,GB 3284257792,3284271103,NL 3284271104,3284402175,GB @@ -62551,7 +63832,7 @@ 3284684288,3284684799,FR 3284684800,3284685311,DE 3284685312,3284685823,NL -3284685824,3284686335,US +3284685824,3284686335,DE 3284686336,3284686847,RO 3284686848,3284687359,PL 3284687360,3284687871,UA @@ -62569,9 +63850,7 @@ 3284715008,3284715263,GB 3284715264,3284715519,PL 3284715520,3284715775,SI -3284715776,3284715816,BE -3284715817,3284715817,EU -3284715818,3284716031,BE +3284715776,3284716031,BE 3284716032,3284716287,IT 3284716288,3284716543,RU 3284716544,3284716799,GR @@ -62584,12 +63863,10 @@ 3284718592,3284718847,PL 3284718848,3284719103,RU 3284719104,3284719359,PL -3284719360,3284719615,DE 3284719616,3284719871,RU 3284719872,3284720127,FR 3284720128,3284720383,CH 3284720384,3284720895,SE -3284720896,3284721151,UA 3284721152,3284721407,TR 3284721408,3284721663,NL 3284721664,3284722175,BE @@ -62614,15 +63891,17 @@ 3284811776,3284819967,KE 3284819968,3284828159,GB 3284828160,3284844543,AT -3284844544,3284860927,CH +3284844544,3284847999,CH +3284848000,3284848127,FR +3284848128,3284856063,CH +3284856064,3284856191,DE +3284856192,3284860927,CH 3284860928,3284926463,DE 3284926464,3284991999,NO 3284992000,3285057535,PL 3285057536,3285065727,IT 3285065728,3285073919,RU -3285073920,3285076479,NL -3285076480,3285076735,EU -3285076736,3285082111,NL +3285073920,3285082111,NL 3285082112,3285084159,AT 3285085184,3285086207,GB 3285086208,3285088255,PL @@ -62728,27 +64007,17 @@ 3285446656,3285447679,UA 3285447680,3285449727,RU 3285449728,3285450751,UA -3285450752,3285451455,EU 3285451456,3285451471,GB -3285451472,3285451607,EU 3285451608,3285451615,GB -3285451616,3285452495,EU 3285452496,3285452511,GB -3285452512,3285453439,EU 3285453440,3285453567,GB -3285453568,3285457071,EU 3285457072,3285457079,GB -3285457080,3285461183,EU 3285461184,3285461215,NL -3285461216,3285472255,EU -3285472256,3285472511,US -3285472512,3285480959,EU +3285472256,3285472271,US +3285472272,3285472287,DE +3285472288,3285472511,US 3285480960,3285481215,CH -3285481216,3285510143,EU 3285510144,3285512191,GB -3285512192,3285513983,EU -3285513984,3285514239,GR -3285514240,3285516287,EU 3285516288,3285516687,BE 3285516688,3285516691,NL 3285516692,3285517311,BE @@ -62767,9 +64036,7 @@ 3285533552,3285533567,GB 3285533568,3285536991,BE 3285536992,3285537007,GB -3285537008,3285544959,BE -3285544960,3285545215,EU -3285545216,3285546687,BE +3285537008,3285546687,BE 3285546688,3285546751,GB 3285546752,3285550335,BE 3285550336,3285550463,GB @@ -62814,7 +64081,7 @@ 3285765120,3285766143,UA 3285766144,3285766655,DE 3285766656,3285767679,UA -3285767680,3285768191,EU +3285767680,3285768191,FR 3285768192,3285768703,RU 3285768704,3285768959,RO 3285768960,3285769215,PL @@ -62840,9 +64107,7 @@ 3285774848,3285775103,FR 3285775104,3285775359,GB 3285775360,3285775615,RU -3285775616,3285775871,NG 3285775872,3285776127,NL -3285776128,3285776383,RO 3285776384,3285776639,UA 3285776640,3285776895,FR 3285776896,3285777151,PL @@ -62857,41 +64122,31 @@ 3285860352,3285868543,FI 3285868544,3285876735,IE 3285876736,3285909503,RU -3285909504,3285910335,EU 3285910336,3285910399,ES -3285910400,3285911551,EU -3285911552,3285911807,GB -3285911808,3285917695,EU +3285911552,3285912447,GB +3285913648,3285913655,IE +3285913656,3285913659,GB +3285913664,3285913679,GB 3285917696,3285917703,GB -3285917704,3285919743,EU 3285919744,3285921791,QA -3285921792,3285922047,EU 3285922048,3285922303,FR -3285922304,3285926431,EU 3285926432,3285926463,CH -3285926464,3285935871,EU +3285928304,3285928311,GB +3285931528,3285931535,DE 3285935872,3285936127,GB -3285936128,3285939135,EU 3285939136,3285939175,GB -3285939176,3285939183,EU 3285939184,3285939191,GB -3285939192,3285939743,EU 3285939744,3285939759,GB -3285939760,3285939839,EU 3285939840,3285939967,GB -3285939968,3285941247,EU 3285941248,3285941503,ES -3285941504,3285949855,EU +3285946112,3285946367,ES 3285949856,3285949887,ES -3285949888,3285950207,EU 3285950208,3285950463,IT -3285950464,3285951647,EU 3285951648,3285951679,ES -3285951680,3285953535,EU 3285953536,3285954047,PK -3285954048,3285962751,EU +3285954048,3285954303,AE +3285954560,3285954815,GB 3285962752,3285963775,DE -3285963776,3285975039,EU 3285975040,3286013695,FR 3286013696,3286013951,RE 3286013952,3286106111,FR @@ -62926,8 +64181,6 @@ 3286317056,3286317567,RU 3286317568,3286318079,RO 3286318080,3286318591,CH -3286318592,3286319103,EU -3286319104,3286320127,RO 3286320128,3286321151,PL 3286321152,3286322175,CZ 3286322176,3286323199,PL @@ -62977,15 +64230,11 @@ 3286384640,3286401023,DE 3286401024,3286403071,GB 3286403072,3286403327,GG -3286403328,3286404863,GB -3286404864,3286405375,GG +3286403328,3286404607,GB +3286404608,3286405375,GG 3286405376,3286405887,GB -3286405888,3286405951,GG -3286405952,3286406015,GB -3286406016,3286406143,GG -3286406144,3286407935,GB -3286407936,3286408191,GG -3286408192,3286409215,GB +3286405888,3286406143,GG +3286406144,3286409215,GB 3286409216,3286417407,DE 3286417408,3286417663,UA 3286417664,3286417919,IT @@ -63080,7 +64329,6 @@ 3286897152,3286897663,AT 3286897664,3286898175,PL 3286898176,3286898687,HR -3286898688,3286899199,EU 3286899200,3286899711,IL 3286899712,3286900223,DE 3286900224,3286900735,RO @@ -63109,12 +64357,10 @@ 3286907648,3286907903,ES 3286907904,3286908159,CH 3286908160,3286908415,ES -3286908416,3286908671,FR 3286908672,3286908927,PL 3286908928,3286909951,CH 3286909952,3286913023,UA -3286913024,3286913279,DE -3286913280,3286913535,GB +3286913024,3286913535,GB 3286914048,3286915071,BG 3286915072,3286916095,FR 3286917120,3286918143,RU @@ -63124,7 +64370,6 @@ 3286921216,3286922239,UA 3286922240,3286923263,GB 3286923264,3286924287,CM -3286924288,3286925311,UA 3286925312,3286925823,DE 3286925824,3286926079,RO 3286926080,3286926335,LV @@ -63150,7 +64395,6 @@ 3286931712,3286931967,GB 3286931968,3286932223,FR 3286932224,3286932479,DK -3286932480,3286932735,GB 3286932736,3286932991,AT 3286932992,3286933503,IL 3286933504,3286933759,DK @@ -63196,27 +64440,22 @@ 3286952960,3286953983,BG 3286953984,3286955007,GB 3286955008,3286956031,DE -3286956032,3286957055,A2 +3286956032,3286957055,FR 3286957056,3286958079,EG 3286958080,3287023615,ES 3287023616,3287154687,FI 3287154688,3287162879,BE -3287162880,3287164927,US -3287164928,3287165183,DE -3287165184,3287165439,US +3287162880,3287165439,DE 3287165440,3287165695,SA -3287165696,3287165951,US +3287165696,3287165951,DE 3287165952,3287166207,SA -3287166208,3287166975,US +3287166208,3287166975,DE 3287166976,3287167743,SA -3287167744,3287168511,US -3287168512,3287168767,EU +3287167744,3287168767,DE 3287168768,3287169279,SA -3287169280,3287169535,US +3287169280,3287169535,DE 3287169536,3287169791,SA -3287169792,3287170303,US -3287170304,3287170559,DE -3287170560,3287170815,US +3287169792,3287170815,DE 3287170816,3287171071,GB 3287171072,3287171583,LT 3287171584,3287172095,PL @@ -63225,13 +64464,11 @@ 3287173120,3287173631,RU 3287173632,3287174143,NL 3287174144,3287174655,SE -3287174656,3287175167,GB 3287175168,3287176191,RO 3287176192,3287176703,BG 3287176704,3287177215,NL 3287177216,3287178239,RO 3287178240,3287178751,UA -3287178752,3287179263,RO 3287179264,3287180287,FR 3287180288,3287181311,RU 3287181312,3287182335,UZ @@ -63258,11 +64495,9 @@ 3287215616,3287215871,DE 3287215872,3287216127,RU 3287216128,3287216639,GB -3287216640,3287216895,MD 3287217152,3287217407,NL 3287217408,3287217663,PL 3287217664,3287217919,RU -3287217920,3287218175,PL 3287218432,3287218687,GB 3287218688,3287218943,RU 3287218944,3287219199,FR @@ -63289,7 +64524,6 @@ 3287439872,3287440895,PL 3287440896,3287441407,UA 3287441408,3287442431,NL -3287442432,3287442943,PL 3287442944,3287443967,DE 3287443968,3287444479,BG 3287444480,3287444991,PL @@ -63334,7 +64568,6 @@ 3287462656,3287462911,UA 3287462912,3287463167,FR 3287463168,3287463423,IT -3287463424,3287463679,RO 3287463680,3287463935,PL 3287463936,3287464191,AT 3287464192,3287464447,SK @@ -63393,16 +64626,13 @@ 3287637504,3287638015,PL 3287638528,3287639039,DE 3287639040,3287639551,GB -3287639552,3287640063,RU 3287640064,3287640575,PL 3287640576,3287641087,SI -3287641088,3287641599,EU 3287642112,3287642623,UA 3287642624,3287643135,BE 3287643136,3287643647,IT 3287643648,3287644671,UA 3287644672,3287645183,NL -3287645184,3287646207,EU 3287646208,3287662591,PT 3287662592,3287662847,DE 3287662848,3287663103,DK @@ -63478,7 +64708,6 @@ 3287706624,3287707135,GB 3287707648,3287708159,BE 3287708160,3287708671,NL -3287708672,3287709183,EU 3287709184,3287709695,RU 3287709696,3287710207,SE 3287710208,3287710719,RU @@ -63509,8 +64738,6 @@ 3287740416,3287740927,BG 3287740928,3287741439,RO 3287741440,3287741951,CH -3287741952,3287742463,RO -3287742464,3287742975,RU 3287742976,3287743487,RO 3287743488,3287743999,DE 3287744000,3287744511,FR @@ -63553,19 +64780,12 @@ 3287851008,3287859199,UA 3287859200,3287859455,GB 3287859456,3287859711,FK -3287859712,3287859967,EU 3287859968,3287860479,GB -3287860480,3287861247,EU 3287861248,3287862015,GB -3287862016,3287863807,EU 3287863808,3287864063,GB -3287864064,3287866383,EU 3287866384,3287866439,GB -3287866440,3287866495,EU 3287866496,3287866591,GB -3287866592,3287866607,EU 3287866608,3287866623,GB -3287866624,3287867391,EU 3287867392,3287867903,UA 3287867904,3287868415,PL 3287868416,3287868927,RO @@ -63610,7 +64830,6 @@ 3287956480,3287956735,BG 3287956736,3287956991,SE 3287956992,3287957247,UA -3287957248,3287957503,GB 3287957504,3287965695,AM 3287965696,3287973887,RS 3287973888,3287982079,CZ @@ -63714,25 +64933,23 @@ 3288467456,3288469503,BI 3288469504,3288481791,ZA 3288481792,3288482303,ZW -3288482304,3288484863,ZA -3288484864,3288485119,ZW -3288485120,3288485631,ZA +3288482304,3288483071,ZA +3288483072,3288483327,ZW +3288483328,3288485631,ZA 3288485632,3288485887,ZW 3288485888,3288489983,MA 3288489984,3288514559,ZA 3288514560,3288522751,EG 3288530944,3288532991,JM 3288532992,3288534527,PR -3288534528,3288535039,EG +3288534528,3288535039,MG 3288535040,3288539135,CW -3288539136,3288543487,US -3288543488,3288543743,AP -3288543744,3288543996,CH -3288543997,3288543997,EU -3288543998,3288543999,CH -3288544000,3288544498,US -3288544499,3288544499,EU -3288544500,3288544767,US +3288539136,3288543995,US +3288543996,3288543996,FR +3288543997,3288543997,US +3288543998,3288543998,CH +3288543999,3288543999,FR +3288544000,3288544767,US 3288544768,3288545023,MX 3288545024,3288545279,FR 3288545280,3288545535,AU @@ -63763,7 +64980,6 @@ 3288569856,3288570111,CU 3288570112,3288570367,JM 3288570368,3288577023,ZA -3288577024,3288578047,NG 3288578048,3288580095,JM 3288580096,3288588287,BB 3288588288,3288608255,ZA @@ -63795,7 +65011,7 @@ 3288787968,3288788223,EG 3288788224,3288792831,ZA 3288792832,3288793087,AO -3288793088,3289003007,ZA +3288793088,3289004031,ZA 3289005056,3289005311,TZ 3289005312,3289014527,ZA 3289014528,3289014783,EG @@ -63810,7 +65026,7 @@ 3289025024,3289025535,UG 3289026048,3289027327,ZA 3289027328,3289027583,TZ -3289027584,3289041407,ZA +3289027840,3289041407,ZA 3289041408,3289041663,NG 3289041664,3289044991,ZA 3289044992,3289047039,ML @@ -63818,14 +65034,29 @@ 3289048064,3289048319,UG 3289048320,3289048831,ZA 3289048832,3289049087,NG -3289049088,3289054207,ZA -3289054208,3289055231,NG -3289055232,3289074431,ZA +3289049088,3289053951,ZA +3289053952,3289055231,NG +3289055232,3289063423,ZA +3289067520,3289071103,ZA +3289071104,3289071359,SO +3289071616,3289074431,ZA 3289074432,3289074687,DZ 3289074688,3289075711,ZA -3289077760,3289086975,ZA +3289077760,3289078271,KE +3289078272,3289078527,GH +3289078528,3289081599,ZA +3289081856,3289082111,NG +3289082112,3289086975,ZA 3289086976,3289087231,SZ -3289087232,3289120767,ZA +3289087232,3289089791,ZA +3289090048,3289093631,ZA +3289096192,3289100287,ZA +3289102336,3289103359,NG +3289103360,3289103615,ZA +3289104384,3289107967,ZA +3289108480,3289115135,ZA +3289115392,3289119231,ZA +3289119744,3289120767,ZA 3289120768,3289123327,PR 3289123328,3289123583,NA 3289123584,3289123839,EG @@ -63836,14 +65067,15 @@ 3289153536,3289161727,RW 3289161728,3289169919,PR 3289169920,3289186303,MA -3289186304,3289229311,ZA +3289186304,3289212927,ZA +3289215232,3289220351,ZA +3289221632,3289229311,ZA 3289229312,3289229567,SZ 3289229824,3289230591,ZA -3289233408,3289319423,ZA -3289319424,3289319679,A2 -3289319680,3289319935,ZA -3289319936,3289320447,A2 -3289320448,3289321471,ZA +3289233408,3289233919,ZA +3289234176,3289235455,ZA +3289237504,3289239551,ZA +3289240064,3289321471,ZA 3289321472,3289325567,IN 3289325568,3289333759,SA 3289333760,3289645055,ZA @@ -63936,6 +65168,7 @@ 3291045888,3291078655,ZA 3291078656,3291086847,DZ 3291086848,3291103231,PR +3291103232,3291119615,ZA 3291152384,3291168767,ZA 3291168768,3291176959,TZ 3291176960,3291185151,ZW @@ -63991,7 +65224,6 @@ 3291215616,3291215871,BF 3291215872,3291216127,KE 3291216128,3291216383,LS -3291216384,3291216639,AO 3291216640,3291216895,NG 3291217920,3291230207,ZA 3291230208,3291234303,GH @@ -64006,7 +65238,8 @@ 3291287552,3291291647,ZA 3291291648,3291295743,TZ 3291295744,3291299839,NG -3291299840,3291316223,ZA +3291299840,3291315199,ZA +3291315200,3291316223,UG 3291316224,3291324415,TZ 3291324416,3291325439,AO 3291325440,3291326463,BW @@ -64051,46 +65284,56 @@ 3291408384,3291410431,GM 3291410432,3291412479,NG 3291412480,3291414527,DZ -3291414528,3291432703,ZA +3291414528,3291426815,ZA +3291426816,3291430911,NA +3291430912,3291432703,ZA 3291432704,3291432959,NA -3291432960,3291434239,ZA -3291434240,3291434751,A2 -3291434752,3291435007,ZA -3291435008,3291439103,A2 +3291432960,3291439103,ZA 3291439104,3291447295,NG 3291447296,3291463679,CI -3291480064,3291484159,SC -3291484160,3291488255,DE +3291480064,3291488255,DE 3291488256,3291496447,SC -3291496448,3291504639,US -3291504640,3291529215,SC -3291529216,3291533311,US -3291533312,3291535359,SC -3291535360,3291537407,US -3291537408,3291545599,SC +3291496448,3291512831,US +3291512832,3291529215,SC +3291529216,3291545599,US +3291545600,3291545855,CI +3291545856,3291546111,GM 3291742208,3292004351,US 3292004352,3292266495,SC 3292397568,3292528639,ZA 3300917248,3300921343,MU 3300925440,3300929535,MG -3300933632,3300950015,MU +3300933632,3300935679,MU +3300937728,3300938751,MU +3300941824,3300950015,MU 3300953088,3300954111,MU -3300982784,3301175295,ZA -3301175296,3301179391,AF -3301179392,3301311487,SC +3300982784,3301113855,ZA +3301113856,3301146623,NG +3301146624,3301175295,ZA +3301175296,3301177343,AF +3301177344,3301177599,ZA +3301177600,3301179391,AF +3301179392,3301181439,SC +3301181440,3301182463,SE +3301182464,3301212159,SC +3301212160,3301214207,SE +3301214208,3301215231,SC +3301215232,3301216255,SE +3301216256,3301244927,SC +3301244928,3301246975,SE +3301246976,3301311487,SC 3301311488,3301313535,SA -3301313536,3301318655,SC +3301313536,3301314559,SC +3301314560,3301315583,SE +3301315584,3301318655,SC 3301318656,3301322751,DE 3301322752,3301330943,SA -3301330944,3301335039,SC +3301330944,3301335039,SE 3301335040,3301339135,SA -3301339136,3301347327,SC +3301339136,3301347327,SE 3301347328,3301351423,PL -3301351424,3301355519,SC -3301355520,3301365759,SE -3301365760,3301367807,SC -3301367808,3301371903,SE -3301371904,3301441535,SC +3301351424,3301375999,SE +3301376000,3301441535,SC 3301441536,3301445631,ZA 3301445632,3301453823,KE 3301453824,3301457919,ML @@ -64106,17 +65349,13 @@ 3301507328,3301507583,ZW 3301507584,3301507839,GH 3301507840,3301508095,EG -3301508096,3301508607,MW 3301508608,3301509119,ZA 3301510144,3301511167,MW 3301511168,3301513215,ZW 3301513216,3301515263,EG 3301515264,3301523455,GH 3301523456,3301531647,CI -3301539840,3301543935,A2 -3301543936,3301544959,KE -3301544960,3301545215,A2 -3301545216,3301548031,KE +3301539840,3301548031,KE 3301548032,3301556223,GH 3301556224,3301557759,DJ 3301557760,3301558015,US @@ -64173,6 +65412,10 @@ 3302540800,3302541311,AO 3302541312,3302542335,NG 3302543360,3302544383,NG +3302544384,3302544639,CM +3302544640,3302544895,MU +3302544896,3302545151,GH +3302545152,3302545407,ZA 3302548480,3302548991,GH 3302548992,3302549503,ZA 3302549504,3302550015,KE @@ -64195,7 +65438,8 @@ 3302555648,3302621183,MA 3302621184,3302684671,EG 3302684672,3302686719,JO -3302686720,3302752255,EG +3302686720,3302750207,EG +3302750208,3302752255,JO 3302752256,3302760447,NG 3302760448,3302762495,ZA 3302762496,3302766591,US @@ -64233,11 +65477,19 @@ 3302956032,3302956287,CD 3302956544,3302957055,ZA 3302957056,3302957311,CG -3304062976,3304587263,SC -3304587264,3305111551,ZA -3305111552,3307208703,TN +3302957312,3302957567,MZ +3302957568,3302957823,GM +3304062976,3304456191,SC +3304456192,3304521727,NG +3304521728,3304587263,SC +3304587264,3304718335,ZA +3304849408,3305111551,ZA +3305111552,3305130239,TN +3305130240,3305130495,GP +3305130496,3307208703,TN 3307208704,3309305855,EG -3309305856,3312451583,ZA +3309305856,3310878719,ZA +3311403008,3312451583,ZA 3312451584,3312975871,DZ 3312975872,3313500159,EG 3313500160,3313762303,MA @@ -64309,7 +65561,9 @@ 3315463168,3315464191,SO 3315464192,3315465215,CD 3315465216,3315466239,CG -3315466240,3315482623,MZ +3315466240,3315467263,MZ +3315467264,3315467519,ZA +3315467520,3315482623,MZ 3315482624,3315499007,MG 3315499008,3315515391,ZM 3315515392,3315531775,SC @@ -64402,7 +65656,7 @@ 3320307712,3320308735,CV 3320308736,3320309759,LY 3320309760,3320310783,ZA -3320310784,3320311807,SD +3320310784,3320311807,SS 3320311808,3320312831,BJ 3320312832,3320313855,ZM 3320313856,3320314879,BI @@ -64487,8 +65741,7 @@ 3322023936,3322028031,CL 3322028032,3322036223,US 3322036224,3322052607,CA -3322052608,3322353663,US -3322353664,3322354175,VI +3322052608,3322354175,US 3322354176,3322354431,JP 3322354432,3322609663,US 3322609664,3322610687,SA @@ -64496,9 +65749,7 @@ 3322683392,3322691583,BR 3322691584,3322875903,US 3322880000,3322888191,AU -3322888192,3322940671,US -3322940672,3322940927,AP -3322940928,3322945535,US +3322888192,3322945535,US 3322945536,3322951679,CN 3322951680,3322970111,US 3322970112,3323002879,CA @@ -64509,13 +65760,14 @@ 3323014144,3323017727,US 3323017728,3323017983,CA 3323017984,3323020799,US -3323020800,3323021055,AP +3323020800,3323021055,SG 3323021056,3323022591,US 3323022592,3323022847,GB 3323022848,3323023103,US 3323023360,3323027455,US 3323027456,3323027711,CA -3323027712,3323031807,US +3323027712,3323030015,US +3323030272,3323031807,US 3323032576,3323032831,US 3323032832,3323033087,IT 3323033088,3323033343,JP @@ -64527,16 +65779,15 @@ 3323048960,3323049727,NL 3323049728,3323062271,US 3323062272,3323062527,BR -3323062528,3323068415,US +3323062528,3323064319,US +3323064832,3323068415,US 3323199488,3323201535,US 3323201536,3323203583,CA 3323203584,3323207679,US 3323207680,3323215871,CA 3323215872,3323224063,US -3323224064,3323228159,NL -3323228160,3323240447,US -3323240448,3323248639,CA -3323248640,3323270420,US +3323224064,3323232255,NL +3323232256,3323270420,US 3323270421,3323270421,CH 3323270422,3323331071,US 3323331072,3323331839,CA @@ -64560,7 +65811,10 @@ 3323391232,3323391487,CA 3323391488,3323394559,US 3323394560,3323395071,CL -3323395072,3323437823,US +3323395072,3323402751,US +3323403264,3323416399,US +3323416400,3323416479,GB +3323416480,3323437823,US 3323437824,3323438079,CA 3323438080,3323462655,US 3323462656,3323463167,BR @@ -64569,7 +65823,11 @@ 3323660544,3323661311,US 3323661312,3323662335,CA 3323662336,3323674623,US -3323674624,3323682955,CA +3323674624,3323678523,CA +3323678524,3323678527,US +3323678528,3323678583,CA +3323678584,3323678587,US +3323678588,3323682955,CA 3323682956,3323682959,US 3323682960,3323687073,CA 3323687074,3323687074,US @@ -64616,11 +65874,7 @@ 3324193792,3324255231,US 3324255232,3324256255,VI 3324256256,3324260095,SA -3324260096,3324266495,US -3324266496,3324266751,AP -3324266752,3324270079,US -3324270080,3324270591,EU -3324270592,3324277759,US +3324260096,3324277759,US 3324277760,3324278783,CA 3324278784,3324354559,US 3324354560,3324362751,CA @@ -64632,7 +65886,9 @@ 3324470272,3324470527,GB 3324470528,3324471295,US 3324471296,3324474367,GB -3324474368,3324579839,US +3324474368,3324533247,US +3324533248,3324533503,DE +3324533504,3324579839,US 3324582912,3324583935,CA 3324583936,3324587775,CL 3324587776,3324647679,US @@ -64641,22 +65897,19 @@ 3324655872,3324656127,CA 3324656128,3324696063,US 3324696064,3324696319,CA -3324696320,3324732415,US -3324732416,3324732671,EU -3324732672,3324843799,US -3324843800,3324843801,AP -3324843802,3324844543,US -3324844544,3324844799,EU -3324844800,3324980223,US +3324696320,3324843775,US +3324843776,3324843799,AU +3324843800,3324843801,US +3324843802,3324844031,AU +3324844032,3324980223,US 3324980224,3324981247,CA -3324981248,3324998399,US -3324998400,3324998655,US -3324998656,3325034495,US +3324981248,3325034495,US 3325034496,3325035519,NZ 3325035520,3325067263,US 3325067264,3325100287,CA 3325100288,3325100543,US -3325101056,3325128703,US +3325101056,3325108223,US +3325110272,3325128703,US 3325128704,3325129215,TH 3325129216,3325131775,US 3325131776,3325132031,AU @@ -64681,17 +65934,33 @@ 3325206640,3325206655,US 3325206656,3325207807,CA 3325207808,3325207935,US -3325207936,3325211647,CA +3325207936,3325211419,CA +3325211420,3325211423,US +3325211424,3325211647,CA 3325211648,3325211775,US -3325211776,3325218207,CA +3325211776,3325216527,CA +3325216528,3325216531,US +3325216532,3325217939,CA +3325217940,3325217943,US +3325217944,3325218207,CA 3325218208,3325218239,US 3325218240,3325220863,CA 3325220864,3325220879,US -3325220880,3325225671,CA +3325220880,3325221451,CA +3325221452,3325221455,US +3325221456,3325224671,CA +3325224672,3325224675,US +3325224676,3325225671,CA 3325225672,3325225675,US -3325225676,3325229591,CA +3325225676,3325226592,CA +3325226593,3325226593,US +3325226594,3325226949,CA +3325226950,3325226950,US +3325226951,3325229591,CA 3325229592,3325229599,US -3325229600,3325231103,CA +3325229600,3325230319,CA +3325230320,3325230323,US +3325230324,3325231103,CA 3325231104,3325232127,US 3325233152,3325234175,US 3325234176,3325234431,SA @@ -64712,15 +65981,14 @@ 3325269760,3325270015,CA 3325270016,3325271039,US 3325271040,3325271295,CA -3325271296,3325281023,US +3325271296,3325278719,US +3325278976,3325281023,US 3325281024,3325281279,NZ -3325281280,3325284863,US +3325281536,3325284863,US 3325284864,3325285119,AU 3325285376,3325296383,US 3325296384,3325296639,CA -3325296640,3325304063,US -3325304064,3325304191,AS -3325304192,3325304831,US +3325296640,3325304831,US 3325304832,3325313023,CA 3325313024,3325362175,US 3325362176,3325427711,CA @@ -64745,32 +66013,50 @@ 3325469952,3325470207,ZA 3325470208,3325471231,US 3325471232,3325471487,ZA -3325471488,3325471743,US -3325471744,3325478911,ZA +3325471488,3325471999,US +3325472000,3325474303,ZA +3325474304,3325474559,US +3325474560,3325478911,ZA 3325478912,3325479423,US -3325479424,3325481983,ZA +3325479424,3325481727,ZA +3325481728,3325481983,US 3325481984,3325483007,CA -3325483008,3325483519,US -3325483776,3325488127,ZA -3325488128,3325490687,US -3325490944,3325493247,ZA -3325493248,3325497343,US +3325483008,3325483775,US +3325483776,3325484287,ZA +3325484288,3325484799,US +3325484800,3325485055,ZA +3325485056,3325485311,US +3325485312,3325486591,ZA +3325486592,3325486847,US +3325486848,3325487359,ZA +3325487360,3325487615,US +3325487616,3325487871,ZA +3325487872,3325490943,US +3325490944,3325492991,ZA +3325492992,3325497343,US 3325497344,3325499903,PR 3325499904,3325505535,US 3325505536,3325509631,CA 3325509632,3325551615,US 3325551616,3325552639,CA -3325552640,3325573119,US +3325552640,3325562879,US +3325564928,3325573119,US 3325573120,3325575167,BB -3325575168,3325640703,US +3325575168,3325630975,US +3325630976,3325631487,CA +3325631488,3325640703,US 3325640704,3325644799,CA 3325644800,3325689855,US 3325689856,3325690367,JM -3325690368,3325691903,US -3325691904,3325693951,BR -3325693952,3325722623,US +3325690368,3325691647,US +3325691648,3325691903,CA +3325691904,3325693183,BR +3325693184,3325722623,US 3325722624,3325755391,CA -3325755392,3325956095,US +3325755392,3325886463,US +3325886464,3325886719,UM +3325887488,3325888511,US +3325890560,3325956095,US 3325956096,3325960191,CA 3325960192,3325976063,US 3325976064,3325976319,CA @@ -64778,23 +66064,16 @@ 3325980672,3325980927,CA 3325980928,3325992447,US 3325992448,3325992959,CA -3325992960,3325996799,US +3325992960,3325993983,US +3325993984,3325994239,CA +3325994240,3325996799,US 3325996800,3325997055,CA -3325997056,3326189567,US -3326189568,3326189823,US -3326189824,3326190591,US -3326190592,3326190719,US -3326190720,3326190847,US -3326190848,3326190975,US -3326190976,3326191295,US -3326191296,3326191359,US -3326191360,3326191551,US -3326191552,3326191583,US -3326191584,3326406655,US +3325997056,3326406655,US 3326406656,3326408703,CO 3326408704,3326420991,US 3326420992,3326423039,PR -3326423040,3326613503,US +3326423040,3326609151,US +3326609408,3326613503,US 3326613504,3326615551,CA 3326615552,3326619647,US 3326619648,3326620159,CA @@ -64802,61 +66081,96 @@ 3326620416,3326623743,CA 3326623744,3326631935,US 3326631936,3326640127,CA -3326640128,3326680063,US -3326680832,3326682623,CA +3326640128,3326680831,US +3326680832,3326681087,CA +3326681088,3326681343,US +3326681344,3326682623,CA 3326682624,3326682879,US -3326682880,3326697471,CA -3326697472,3326699519,US +3326682880,3326697215,CA +3326697216,3326699519,US 3326699520,3326713343,CA 3326713344,3326714111,US 3326714112,3326716927,CA 3326716928,3326717951,US -3326717952,3326729215,CA +3326717952,3326726399,CA +3326726400,3326726655,US +3326726656,3326729215,CA 3326729216,3326729471,JP 3326729472,3326729727,CA 3326729728,3326734335,US 3326734336,3326737663,CA 3326737664,3326737919,US 3326737920,3326738175,CA -3326738432,3327144959,US +3326738176,3326740479,US +3326741760,3326742015,US +3326742528,3326746623,US +3326749184,3327144959,US 3327144960,3327145983,CA -3327145984,3327172863,US -3327172864,3327173119,AP -3327173120,3327197183,US +3327145984,3327197183,US 3327197184,3327198207,JP 3327198208,3327199231,US 3327199232,3327200255,BR -3327200256,3327426559,US +3327200256,3327397375,US +3327397376,3327397887,CA +3327397888,3327426559,US 3327426560,3327459327,CA 3327459328,3327723519,US -3327723520,3327725567,CA -3327725568,3327803647,US -3327803648,3327803903,AP -3327803904,3327805695,US +3327723520,3327725311,CA +3327725312,3327769087,US +3327770112,3327788287,US +3327788288,3327788543,CA +3327789056,3327790591,US +3327791104,3327805951,US 3327806464,3327811583,CA -3327811584,3327885311,US +3327811584,3327858175,US +3327858688,3327863295,US +3327863808,3327871487,US +3327872000,3327885311,US 3327885312,3327918079,CA 3327918080,3327995903,US 3327995904,3327996927,CW 3327996928,3328028671,US 3328028672,3328030719,CW -3328030720,3328180223,US -3328180224,3328202751,CA +3328030720,3328180479,US +3328180480,3328181247,CA +3328181760,3328185855,CA +3328185856,3328186111,US +3328186112,3328187647,CA +3328187648,3328187903,US +3328187904,3328196351,CA +3328196352,3328196607,US +3328196608,3328202751,CA 3328202752,3328204799,US 3328204800,3328214783,CA 3328214784,3328215295,GB 3328215296,3328224255,CA 3328224256,3328224511,US 3328224512,3328235007,CA -3328235008,3328235263,US -3328235520,3328241663,CA -3328241664,3328241919,US +3328235008,3328235519,US +3328235520,3328236543,CA +3328237056,3328237311,US +3328237312,3328241663,CA +3328241664,3328242175,US 3328242688,3328242943,US 3328242944,3328243199,GB 3328243200,3328245759,CA -3328245760,3328300031,US -3328300032,3328301055,CA -3328301056,3328358399,US +3328245760,3328249343,US +3328249856,3328255487,US +3328255744,3328259071,US +3328259584,3328265471,US +3328265728,3328271871,US +3328272128,3328297471,US +3328297984,3328299775,US +3328299776,3328301055,CA +3328301056,3328303103,US +3328303616,3328305151,US +3328305664,3328306431,US +3328306432,3328306687,CA +3328307200,3328307455,US +3328307968,3328309247,US +3328309504,3328314879,US +3328315392,3328356863,US +3328357376,3328358399,US 3328358400,3328360447,CA 3328360448,3328383487,US 3328384000,3328385023,CA @@ -64871,47 +66185,53 @@ 3328421376,3328432639,US 3328432640,3328433663,CA 3328433664,3328433919,CH -3328433920,3328475135,US +3328433920,3328447999,US +3328448512,3328475135,US 3328475136,3328477183,CA 3328477184,3328479231,US 3328479232,3328481759,CA 3328481760,3328481760,US -3328481761,3328483327,CA +3328481761,3328482303,CA +3328482304,3328482815,US +3328482816,3328483327,CA 3328483328,3328514559,US 3328515072,3328516095,DM 3328516096,3328617983,US 3328617984,3328618239,CA -3328618240,3328629503,US -3328629504,3328629759,EU -3328629760,3328630783,US +3328618240,3328630015,US +3328630016,3328630271,CA +3328630272,3328630783,US 3328630784,3328631807,CA 3328631808,3328638975,US 3328638976,3328704511,CA -3328704512,3328788479,US +3328704512,3328773631,US +3328774144,3328776703,US +3328777216,3328788479,US 3328788480,3328789503,FR -3328789504,3328790015,AP -3328790016,3328794623,US +3328789504,3328794623,US 3328794624,3328802815,CA 3328802816,3328826813,US 3328826814,3328826814,SG 3328826815,3330621183,US 3330621184,3330623743,CA 3330623744,3330624255,US +3330624256,3330624511,CA 3330624512,3330625535,US 3330625536,3330627071,GB -3330627072,3330640895,US +3330627072,3330637823,US +3330638336,3330640895,US 3330640896,3330641151,CH -3330641152,3330641663,US -3330641920,3330646527,US +3330641152,3330646527,US 3330646528,3330647295,CA 3330647296,3330647807,US -3330648064,3330649343,US +3330648064,3330649599,US 3330649600,3330649855,CA 3330649856,3330662911,US 3330662912,3330663167,GB 3330663168,3330664191,US 3330664192,3330664447,CA -3330664448,3330677759,US +3330664448,3330672127,US +3330672640,3330677759,US 3330677760,3330678783,CA 3330678784,3330714367,US 3330714368,3330714623,CA @@ -64919,16 +66239,17 @@ 3330726656,3330726911,CA 3330726912,3330754559,US 3330754560,3330754815,CA -3330754816,3330755071,US -3330755328,3330763519,US +3330754816,3330763519,US 3330763520,3330763775,CA 3330763776,3330765823,US 3330765824,3330766335,CA -3330766336,3330771199,US +3330766336,3330767871,US +3330768384,3330771199,US 3330771200,3330771711,CH 3330771712,3330778879,US 3330778880,3330779135,GB -3330779136,3330791423,US +3330779136,3330785279,US +3330785792,3330791423,US 3330791424,3330791679,CA 3330791680,3330796543,US 3330796544,3330796799,CA @@ -64954,15 +66275,7 @@ 3331102464,3331102719,CA 3331102720,3331194879,US 3331194880,3331260415,AU -3331260416,3331269375,US -3331269376,3331269631,AU -3331269632,3331352575,US -3331352576,3331352831,US -3331352832,3331352919,US -3331352920,3331352920,US -3331352921,3331353087,US -3331353088,3331353599,US -3331353600,3331362815,US +3331260416,3331362815,US 3331362816,3331366911,CA 3331366912,3331527423,US 3331527424,3331527679,GB @@ -64972,7 +66285,9 @@ 3331565568,3331566079,CA 3331566080,3331575807,US 3331575808,3331576831,KY -3331576832,3331633407,US +3331576832,3331632639,US +3331632640,3331632895,CA +3331632896,3331633407,US 3331633408,3331633919,CH 3331633920,3331647231,US 3331647232,3331647487,CA @@ -64982,34 +66297,34 @@ 3331798272,3331798527,AU 3331798528,3331818495,US 3331818496,3331818751,MX -3331818752,3331853823,US -3331853824,3331854079,AP -3331854080,3331868161,US -3331868162,3331868162,EU -3331868163,3331935231,US +3331818752,3331840111,US +3331840112,3331840115,CA +3331840116,3331935231,US 3331935232,3331936255,CA -3331936256,3331988479,US +3331936256,3331983103,US +3331983104,3331983359,CA +3331983360,3331988479,US 3331988480,3331989503,CA 3331989504,3332001791,US 3332001792,3332003839,CA -3332003840,3332005887,A2 -3332005888,3332028415,US +3332003840,3332028415,US 3332028416,3332030463,CA 3332030464,3332083967,US -3332083968,3332084223,AP -3332084224,3332095231,US -3332095232,3332095487,EU -3332095488,3332440319,US +3332083968,3332084223,AU +3332084224,3332389375,US +3332389888,3332423423,US +3332423424,3332423679,CA +3332423680,3332440319,US 3332440320,3332460543,CA 3332460544,3332460799,US 3332460800,3332461311,CA +3332461312,3332461567,US 3332461568,3332462335,CA 3332462336,3332462591,US 3332462592,3332473855,CA 3332473856,3332477951,US 3332477952,3332482303,CA -3332482304,3332483071,US -3332483072,3332484095,A2 +3332482304,3332484095,US 3332484096,3332491263,CA 3332491264,3332492031,US 3332492032,3332500735,CA @@ -65049,7 +66364,8 @@ 3332616192,3332616959,US 3332616960,3332617727,CA 3332617728,3332624383,US -3332624384,3332636415,CA +3332624384,3332625919,CA +3332626688,3332636415,CA 3332636416,3332636671,US 3332636672,3332724735,CA 3332724736,3332726783,PM @@ -65089,40 +66405,39 @@ 3332964352,3332964607,US 3332964608,3332966143,CA 3332966144,3332966399,US -3332966400,3332979967,CA +3332966400,3332966911,CA +3332967424,3332979967,CA 3332979968,3332980223,US 3332980736,3332988927,CA 3332988928,3332989951,US 3332989952,3332997119,CA 3332997120,3332997375,US -3332997376,3333012479,CA +3332997376,3333008383,CA +3333008896,3333012479,CA 3333012480,3333012991,US -3333012992,3333023743,CA -3333023744,3333024767,US +3333012992,3333014015,CA +3333014016,3333014527,US +3333014528,3333017599,CA +3333017600,3333018111,US +3333018112,3333023231,CA +3333023232,3333025279,US 3333025280,3333029631,CA -3333029632,3333212415,US -3333212416,3333212927,US -3333212928,3333213055,US -3333213056,3333213439,US -3333213440,3333213695,US -3333213696,3333214079,US -3333214080,3333374975,US +3333029632,3333374975,US 3333374976,3333375231,IN -3333375232,3333396689,US -3333396690,3333396691,EU -3333396692,3333428007,US -3333428008,3333428008,EU -3333428009,3333480191,US +3333375232,3333480191,US 3333480192,3333481471,DE -3333481472,3333583359,US +3333481472,3333517823,US +3333517824,3333518335,CA +3333518336,3333583871,US 3333583872,3333584895,CA 3333584896,3333593855,US 3333593856,3333594111,CA -3333594112,3333603328,US -3333603329,3333603329,EU -3333603330,3333609733,US +3333594112,3333609733,US 3333609734,3333609734,AU -3333609735,3333624319,US +3333609735,3333613567,US +3333613824,3333614591,US +3333614592,3333614847,GB +3333614848,3333624319,US 3333624320,3333624575,CA 3333624576,3333675775,US 3333675776,3333676031,CA @@ -65134,9 +66449,7 @@ 3333781504,3333783551,CA 3333783552,3333801727,US 3333801728,3333801983,CA -3333801984,3333825791,US -3333825792,3333826047,EU -3333826048,3333829657,US +3333801984,3333829657,US 3333829658,3333829658,IN 3333829659,3333859839,US 3333859840,3333860095,BM @@ -65150,15 +66463,15 @@ 3333997824,3333998079,CA 3333998080,3334006527,US 3334006528,3334006783,NL -3334006784,3334007551,US -3334007552,3334007807,EU -3334007808,3334019583,US +3334006784,3334020095,US 3334020096,3334021119,CA -3334021120,3334138623,US +3334021120,3334111487,US +3334111744,3334138623,US 3334138624,3334138879,BM 3334138880,3334187775,US 3334187776,3334188031,BM -3334188032,3334932223,US +3334188032,3334205183,US +3334205440,3334932223,US 3334932224,3334932479,CA 3334932480,3334934015,US 3334934016,3334934527,CA @@ -65186,11 +66499,7 @@ 3335524352,3335524607,AU 3335524608,3335573759,US 3335573760,3335574015,IN -3335574016,3335581695,US -3335581696,3335581951,EU -3335581952,3335582463,US -3335582464,3335582719,EU -3335582720,3335784191,US +3335574016,3335784191,US 3335784192,3335784447,CA 3335784448,3335860991,US 3335860992,3335861247,MX @@ -65252,15 +66561,9 @@ 3337900032,3337948671,US 3337948672,3337949183,CA 3337949184,3337957375,US -3337957376,3337963128,CA -3337963129,3337963129,US -3337963130,3337964031,CA -3337964032,3337964543,A2 -3337964544,3337965567,CA -3337965568,3337969663,US -3337969664,3337970559,PR -3337970560,3337970687,US -3337970688,3337973759,PR +3337957376,3337961471,CA +3337961472,3337969663,US +3337969664,3337973759,PR 3337973760,3337977855,CA 3337977856,3337980671,US 3337980672,3337980927,PR @@ -65306,9 +66609,17 @@ 3338935040,3338935295,GB 3338935296,3338964991,US 3338964992,3338965247,CA -3338965248,3339059629,US +3338965248,3338969343,US +3338969600,3338993407,US +3338993664,3339000319,US +3339000832,3339028735,US +3339028992,3339031295,US +3339031552,3339045119,US +3339045376,3339050751,US +3339051008,3339059629,US 3339059630,3339059885,NL -3339059886,3339075583,US +3339059886,3339063039,US +3339063296,3339075583,US 3339075584,3339076863,GB 3339076864,3339077631,JP 3339077632,3339079679,US @@ -65322,7 +66633,7 @@ 3339092992,3339142655,US 3339142656,3339142911,NL 3339142912,3339146239,US -3339146496,3339147007,US +3339146752,3339147007,US 3339147008,3339147775,CA 3339147776,3339148031,MS 3339148032,3339153407,US @@ -65339,12 +66650,19 @@ 3339180032,3339181055,CA 3339181056,3339184127,US 3339184128,3339186175,CA -3339186176,3339327999,US +3339186176,3339270399,US +3339271168,3339327999,US 3339328512,3339329535,CA 3339329536,3339337727,US 3339337984,3339338239,US 3339338240,3339338495,CA -3339338496,3339669503,US +3339338496,3339342847,US +3339343104,3339343615,US +3339343872,3339348223,US +3339348480,3339373055,US +3339373568,3339655679,US +3339656192,3339667967,US +3339668480,3339669503,US 3339669504,3339671807,CA 3339672576,3339728591,US 3339728592,3339728599,IN @@ -65359,7 +66677,8 @@ 3339754496,3339760639,US 3339760640,3339761663,CA 3339761664,3339923455,US -3339923456,3339927551,CA +3339923456,3339926015,CA +3339926528,3339927551,CA 3339927552,3339934719,US 3339934720,3339935743,CA 3339935744,3339937279,US @@ -65368,7 +66687,11 @@ 3339952128,3339956223,CA 3339956224,3339965439,US 3339965440,3339968511,CA -3339968512,3340080127,US +3339968512,3339975935,US +3339975936,3339976191,CA +3339976192,3339991807,US +3339991808,3339992063,CA +3339992064,3340080127,US 3340080128,3340081151,CA 3340081152,3340084223,US 3340084224,3340085247,KN @@ -65383,15 +66706,19 @@ 3340387328,3340388351,CA 3340388352,3340390399,US 3340390400,3340391423,CA -3340391424,3340429823,US +3340391424,3340411903,US +3340412160,3340417023,US +3340417280,3340418559,US +3340419328,3340425983,US +3340426752,3340429823,US 3340429824,3340430079,PA -3340430080,3340452863,US +3340430080,3340431871,US +3340432384,3340435199,US +3340435456,3340452863,US 3340452864,3340453887,CA 3340453888,3340460031,US 3340460032,3340462079,PR -3340462080,3340466175,US -3340466176,3340467199,A2 -3340467200,3340481535,US +3340462080,3340481535,US 3340481536,3340482559,CA 3340482560,3340490751,US 3340490752,3340492799,CA @@ -65403,17 +66730,28 @@ 3340677120,3340679167,CA 3340679168,3340694783,US 3340694784,3340695039,CA -3340695040,3340857343,US +3340695040,3340835327,US +3340835840,3340845567,US +3340846080,3340848127,US +3340848896,3340849151,US +3340849408,3340849663,US +3340850176,3340857343,US 3340857344,3340858367,CA -3340859136,3340925815,US +3340859136,3340861439,US +3340861952,3340865279,US +3340865536,3340923391,US +3340923904,3340925815,US 3340925816,3340925823,AU -3340925824,3341082623,US +3340925824,3341027839,US +3341028352,3341031935,US +3341032448,3341082623,US 3341082624,3341084671,CA -3341084672,3341180927,US +3341084672,3341162751,US +3341163520,3341180927,US 3341180928,3341182975,CA -3341182976,3341205503,US -3341205504,3341206271,BB -3341206272,3341207551,VC +3341182976,3341196799,US +3341197312,3341205503,US +3341205504,3341207551,BB 3341207552,3341216255,US 3341216256,3341216511,JP 3341216512,3341216767,US @@ -65421,16 +66759,16 @@ 3341217792,3341218623,US 3341218624,3341218655,CA 3341218656,3341339647,US -3341339648,3341339903,AP +3341339648,3341339903,CZ 3341339904,3341340159,US -3341340160,3341340415,AP +3341340160,3341340415,CZ 3341340416,3341439200,US 3341439201,3341439201,CA 3341439202,3341484287,US 3341484288,3341485055,CA 3341485056,3341488639,US 3341488640,3341488895,JP -3341488896,3341489151,AP +3341488896,3341489151,HK 3341489152,3341495551,US 3341495552,3341495807,HK 3341495808,3341500159,US @@ -65463,17 +66801,20 @@ 3341796864,3341797375,JP 3341797376,3341807615,US 3341807616,3341808639,CA -3341808640,3341828095,US +3341808640,3341815039,US +3341815808,3341828095,US 3341828096,3341829119,CA 3341829120,3341837311,US 3341837312,3341838335,CA -3341838336,3341863963,US -3341863964,3341864959,AG +3341838336,3341863935,US +3341863936,3341864959,AG 3341864960,3341867007,US 3341867008,3341869055,CA 3341869056,3341881087,US 3341881088,3341881343,SG -3341881344,3342139391,US +3341881344,3341891071,US +3341891072,3341891327,AU +3341891328,3342139391,US 3342139392,3342204927,CH 3342204928,3342487551,US 3342487552,3342488575,CA @@ -65488,7 +66829,8 @@ 3342516224,3342517247,CA 3342517248,3342526463,US 3342526464,3342528511,CA -3342528512,3342552063,US +3342528512,3342543359,US +3342543872,3342552063,US 3342552064,3342553087,CA 3342553088,3342565375,US 3342565376,3342567423,CA @@ -65501,24 +66843,20 @@ 3342603264,3342604799,US 3342604800,3342605311,CA 3342605312,3342605567,US -3342605568,3342663679,CA -3342663680,3342795007,US -3342795008,3342795263,AP -3342795264,3342831103,US +3342605568,3342627839,CA +3342628096,3342663423,CA +3342663680,3342831103,US 3342831104,3342831359,IN -3342831360,3342878967,US -3342878968,3342878975,EU -3342878976,3343013887,US +3342831360,3343013887,US 3343013888,3343015935,CA 3343015936,3343055871,US 3343055872,3343056895,CA -3343056896,3343108863,US -3343108864,3343109119,EU -3343109120,3343127551,US +3343056896,3343127551,US 3343127552,3343127807,GB -3343127808,3343153151,US -3343153152,3343155199,CA -3343155200,3343167487,US +3343127808,3343129087,US +3343129600,3343153151,US +3343153152,3343154943,CA +3343154944,3343167487,US 3343167488,3343169535,CA 3343169536,3343171583,US 3343171584,3343172607,BM @@ -65527,18 +66865,24 @@ 3343346176,3343346687,US 3343346688,3343355391,CA 3343355392,3343355903,US -3343355904,3343364095,CA +3343355904,3343359743,CA +3343360000,3343364095,CA 3343364096,3343365631,US -3343365632,3343372543,CA +3343365632,3343366655,CA +3343366912,3343372543,CA 3343372800,3343380479,US 3343380480,3343384575,CA -3343384576,3343460863,US +3343384576,3343456511,US +3343456768,3343460863,US 3343460864,3343461375,CA 3343461376,3343465471,US 3343465472,3343466495,JM -3343466496,3343858687,US +3343466496,3343470847,US +3343471104,3343557119,US +3343557376,3343858687,US 3343858688,3343859711,VG -3343859712,3344116223,US +3343859712,3344111871,US +3344112128,3344116223,US 3344116224,3344116735,CA 3344116736,3344126975,US 3344126976,3344127999,CA @@ -65556,9 +66900,7 @@ 3344168960,3344171263,US 3344171264,3344236543,CA 3344236544,3344237055,US -3344237056,3344241407,CA -3344241408,3344241663,US -3344241664,3344242175,CA +3344237056,3344242175,CA 3344242176,3344242687,US 3344242688,3344255999,CA 3344256000,3344261631,US @@ -65567,7 +66909,8 @@ 3344266752,3344268543,CA 3344268544,3344268799,GB 3344268800,3344269311,US -3344269312,3344288767,CA +3344269312,3344287743,CA +3344288000,3344288767,CA 3344288768,3344289791,PR 3344289792,3344292863,US 3344292864,3344296447,CA @@ -65578,16 +66921,22 @@ 3344299520,3344299775,US 3344299776,3344300543,CA 3344300544,3344300799,US -3344300800,3344302079,CA +3344300800,3344301823,CA 3344302080,3344379903,US 3344379904,3344380927,CA 3344380928,3344406527,US 3344406528,3344408575,CA 3344408576,3344429055,US 3344429056,3344431103,CA -3344431104,3344486399,US +3344431104,3344446463,US +3344447488,3344469247,US +3344469504,3344486399,US 3344486400,3344488447,NL -3344488448,3344552959,US +3344488448,3344495871,US +3344496128,3344511231,US +3344511488,3344531711,US +3344531968,3344536831,US +3344537088,3344552959,US 3344552960,3344553215,GB 3344553216,3344633855,US 3344633856,3344637951,CH @@ -65597,7 +66946,9 @@ 3344652288,3344658431,US 3344658432,3344660479,CA 3344660480,3344670719,US -3344670720,3344671743,GP +3344670720,3344671231,GP +3344671232,3344671487,MF +3344671488,3344671743,GP 3344671744,3344676863,US 3344676864,3344677407,CA 3344677408,3344677423,US @@ -65616,7 +66967,8 @@ 3345007616,3345008639,CA 3345008640,3345010687,US 3345010688,3345011711,CA -3345011712,3345299455,US +3345011712,3345295871,US +3345296384,3345299455,US 3345299456,3345301503,CA 3345301504,3345315071,US 3345315072,3345315327,TW @@ -65628,10 +66980,7 @@ 3345327104,3345328127,CA 3345328128,3345333247,US 3345333248,3345334271,MF -3345334272,3345334527,US -3345334528,3345335295,US -3345335296,3345335551,US -3345335552,3345339391,US +3345334272,3345339391,US 3345339392,3345340415,CA 3345340416,3345375231,US 3345375232,3345377279,CA @@ -65683,12 +67032,11 @@ 3345446400,3345446655,US 3345446656,3345446911,IT 3345446912,3345447679,US -3345447680,3345447935,BE -3345447936,3345448447,FR +3345447680,3345448447,FR 3345448448,3345448959,BE -3345448960,3346194175,US -3346194176,3346194431,US -3346194432,3346196479,US +3345448960,3346140671,US +3346141184,3346188799,US +3346189312,3346196479,US 3346196480,3346197503,CA 3346197504,3346201599,US 3346201600,3346202623,CA @@ -65709,7 +67057,10 @@ 3346323456,3346325503,CA 3346325504,3346327551,US 3346327552,3346328575,CA -3346328576,3346497535,US +3346328576,3346329599,US +3346329600,3346330623,CA +3346330624,3346471423,US +3346471936,3346497535,US 3346497536,3346498559,CA 3346498560,3346520063,US 3346520064,3346521087,CA @@ -65718,18 +67069,24 @@ 3346525184,3346528255,US 3346528256,3346529279,PR 3346529280,3346530303,CA -3346530304,3346591487,US +3346530304,3346545151,US +3346545664,3346568703,US +3346569216,3346591231,US 3346591488,3346591743,CA 3346591744,3346663167,US 3346663168,3346663423,CA 3346663424,3346691071,US 3346691072,3346692095,CA -3346692096,3346793215,US +3346692096,3346730495,US +3346731008,3346793215,US 3346793216,3346793471,CA 3346793472,3346793983,US -3346794496,3346923519,US +3346794496,3346799103,US +3346799616,3346807295,US +3346807808,3346923519,US 3346923520,3346989055,CA -3346989056,3347015647,US +3346989056,3346999807,US +3347000320,3347015647,US 3347015648,3347015663,AE 3347015664,3347016703,US 3347016704,3347017727,CA @@ -65747,15 +67104,15 @@ 3349463040,3349463295,CA 3349463296,3349479167,US 3349479168,3349479423,CA -3349479424,3349532671,US -3349532672,3349533695,GB +3349479424,3349533695,US 3349533696,3349533951,CA 3349533952,3349545215,US 3349545216,3349545727,CA 3349545728,3349545983,US 3349545984,3349551103,CA -3349551104,3349553407,US -3349553408,3349608447,CA +3349551104,3349553663,US +3349553664,3349607423,CA +3349607936,3349608447,CA 3349608448,3349609471,US 3349609472,3349610239,CA 3349610240,3349614591,US @@ -65770,7 +67127,10 @@ 3349645312,3349647359,CA 3349647360,3349649407,US 3349649408,3349653503,CA -3349653504,3349731327,US +3349653504,3349678591,US +3349679104,3349682687,US +3349683200,3349686783,US +3349687296,3349731327,US 3349731328,3349733375,CA 3349733376,3349739519,US 3349739520,3349740543,CA @@ -65781,7 +67141,8 @@ 3350146048,3350150143,US 3350150144,3350160639,CA 3350160640,3350160895,US -3350160896,3350181887,CA +3350160896,3350175743,CA +3350176256,3350181887,CA 3350181888,3350183167,US 3350183168,3350200063,CA 3350200064,3350469119,US @@ -65790,11 +67151,14 @@ 3350475776,3350476799,CA 3350476800,3350487039,US 3350487040,3350488063,CA -3350488064,3350548735,US +3350488064,3350505471,US +3350505472,3350507519,CA +3350507520,3350548735,US 3350548736,3350548991,CA -3350548992,3350561279,US -3350561280,3350561535,AP -3350561536,3350593535,US +3350548992,3350574591,US +3350575104,3350577151,US +3350577664,3350588927,US +3350589440,3350593535,US 3350593536,3350605823,CA 3350605824,3350606847,US 3350606848,3350607871,CA @@ -65812,23 +67176,30 @@ 3350648832,3350650623,CA 3350650624,3350650631,US 3350650632,3350650879,CA -3350650880,3350790399,US +3350650880,3350756863,US +3350757376,3350760959,US +3350761472,3350790399,US 3350790400,3350814975,CA 3350814976,3350815231,US -3350815232,3350825727,CA +3350815232,3350823423,CA +3350823936,3350825727,CA 3350825728,3350825983,GB -3350825984,3350836223,CA +3350825984,3350834687,CA +3350835200,3350836223,CA 3350836736,3350836991,US -3350836992,3350843391,CA +3350836992,3350837247,CA +3350837760,3350843391,CA 3350843392,3350843647,US 3350843648,3350855679,CA 3350855680,3350862079,US 3350862080,3350864639,CL -3350864640,3350970367,US +3350864640,3350950399,US +3350950912,3350970367,US 3350970368,3350971391,CA 3350971392,3350979583,US 3350979584,3350980607,CA -3350980608,3350994943,US +3350980608,3350988287,US +3350988800,3350994943,US 3350994944,3350998015,CA 3350998016,3351002111,US 3351002112,3351003135,CA @@ -65836,9 +67207,7 @@ 3351004160,3351005183,CA 3351005184,3351015423,US 3351015424,3351016447,CA -3351016448,3351020543,US -3351020544,3351020799,PH -3351020800,3351030783,US +3351016448,3351030783,US 3351030784,3351031807,CA 3351031808,3351034879,US 3351034880,3351035903,CA @@ -65848,7 +67217,9 @@ 3351043072,3351043327,CA 3351043328,3351043583,FR 3351043584,3351044095,CA -3351044096,3351071743,US +3351044096,3351058943,US +3351059456,3351068159,US +3351068672,3351071743,US 3351071744,3351072767,CA 3351072768,3351074815,US 3351074816,3351076863,CA @@ -65870,9 +67241,9 @@ 3351105024,3351105151,CA 3351105152,3351112703,US 3351112704,3351113727,CA -3351113728,3351129087,US -3351129088,3351130111,A2 -3351130112,3351275519,US +3351113728,3351167487,US +3351168512,3351171327,US +3351171584,3351275519,US 3351275520,3351276543,CA 3351276544,3351293951,US 3351293952,3351294975,CA @@ -65885,7 +67256,8 @@ 3351307008,3351307263,LC 3351307264,3351308287,US 3351308288,3351310335,CA -3351310336,3351326719,US +3351310336,3351318015,US +3351318528,3351326719,US 3351326720,3351328767,CA 3351328768,3351336959,US 3351336960,3351339007,CA @@ -65897,19 +67269,26 @@ 3351382272,3351382527,CA 3351382528,3351390463,US 3351390464,3351390719,CA -3351390720,3351483391,US +3351390720,3351447039,US +3351447552,3351449087,US +3351449600,3351474687,US +3351475200,3351483391,US 3351483392,3351484415,CA 3351484416,3351485439,US 3351485440,3351488511,CA -3351488512,3351494655,US -3351494656,3351496703,SG +3351488512,3351494911,US +3351494912,3351495679,SG +3351495680,3351495935,US +3351495936,3351496703,SG 3351496704,3351497727,US 3351497728,3351498751,CA 3351498752,3351501823,US 3351501824,3351502847,JM 3351502848,3351503871,US 3351503872,3351504895,CA -3351504896,3351642111,US +3351504896,3351512575,US +3351513088,3351579135,US +3351579648,3351642111,US 3351642112,3351695871,CA 3351696384,3351696639,CA 3351696640,3351696895,US @@ -65918,16 +67297,17 @@ 3351699200,3351699455,CA 3351699456,3351706367,US 3351706368,3351706623,CA -3351706624,3351850239,US -3351850240,3351850495,AP -3351850496,3351860223,US +3351706624,3351774719,US +3351775232,3351860223,US 3351860224,3351861247,KY 3351861248,3351869439,US 3351869440,3351871487,CA 3351871488,3351895551,US 3351895552,3351895807,CA -3351895808,3351904255,US -3351904256,3351969791,CA +3351895808,3351896319,US +3351896576,3351904255,US +3351912448,3351959551,CA +3351961600,3351969791,CA 3351969792,3352035327,IL 3352035328,3352036351,CA 3352036352,3352046591,US @@ -65949,7 +67329,8 @@ 3352563200,3352563455,US 3352563456,3352573951,CA 3352573952,3352574207,US -3352574464,3352583935,CA +3352574464,3352581631,CA +3352582144,3352583935,CA 3352583936,3352584191,US 3352584192,3352591359,CA 3352591360,3352591615,US @@ -65958,13 +67339,19 @@ 3352616960,3352887295,CA 3352887296,3352918015,US 3352918016,3352919039,CA -3352919040,3353722367,US +3352919040,3353309695,US +3353310208,3353722367,US 3353722368,3353722623,GB 3353722624,3353730047,US 3353730048,3353731071,CA -3353731072,3353736191,US +3353731072,3353731487,US +3353731488,3353731503,AU +3353731504,3353736191,US 3353736192,3353736703,PR -3353736704,3353780223,US +3353736704,3353737215,US +3353737216,3353737471,GB +3353737472,3353741823,US +3353742336,3353780223,US 3353780224,3353780479,GB 3353780480,3353855999,US 3353856000,3353858047,CA @@ -65976,30 +67363,35 @@ 3353942528,3353943039,CA 3353943040,3353960191,US 3353960192,3353960447,CA -3353960448,3353979647,US +3353960448,3353968895,US +3353969152,3353979647,US 3353979648,3353979903,CA 3353979904,3353982719,US 3353982720,3353983231,CA 3353983232,3354066943,US 3354066944,3354132479,CA -3354132480,3354492927,US +3354132480,3354466815,US +3354467328,3354492927,US 3354492928,3354494975,CA 3354494976,3354499071,US 3354499072,3354501119,AU 3354501120,3354503167,CA -3354503168,3354591231,US +3354503168,3354532351,US +3354532864,3354571775,US +3354572288,3354591231,US 3354591232,3354656767,CA -3354656768,3354676223,US +3354656768,3354663423,US +3354663936,3354676223,US 3354676224,3354677247,CA 3354677248,3354687487,US 3354687488,3354688511,CA -3354688512,3354731007,US +3354688512,3354720767,US +3354721280,3354731007,US 3354731008,3354731018,GB -3354731019,3354731019,EU +3354731019,3354731019,US 3354731020,3354731263,GB -3354731264,3354731519,US -3354731520,3354731775,AP -3354731776,3354770687,US +3354731264,3354758655,US +3354759168,3354770687,US 3354770688,3354770943,CA 3354770944,3354788095,US 3354788096,3354807551,CA @@ -66015,18 +67407,21 @@ 3354955776,3354956031,AR 3354956032,3354972159,US 3354972160,3354972415,CA -3354972416,3355013119,US +3354972416,3355012607,US 3355013120,3355017215,CA 3355017216,3355052031,US 3355052032,3355052287,CA 3355052288,3355052543,AU -3355052544,3355053311,CA -3355053312,3355053567,US -3355054080,3355260927,US +3355052544,3355053567,CA +3355054080,3355249151,US +3355249664,3355253247,US +3355253760,3355260927,US 3355260928,3355262719,CA -3355262720,3355272189,US -3355272190,3355272190,EU -3355272191,3355310591,US +3355262720,3355271935,US +3355271936,3355272189,GB +3355272190,3355272190,US +3355272191,3355272191,GB +3355272192,3355310591,US 3355310592,3355311103,CA 3355311104,3355319295,US 3355319296,3355320319,CA @@ -66042,9 +67437,8 @@ 3355384832,3355385855,CA 3355385856,3355407359,US 3355407360,3355408383,PR -3355408384,3355430911,US -3355430912,3355431295,US -3355431296,3355431423,SA +3355408384,3355431167,US +3355431168,3355431423,SA 3355431424,3355432959,US 3355432960,3355435007,CA 3355435008,3355443199,US @@ -66064,8 +67458,8 @@ 3355459584,3355459839,PA 3355459840,3355460095,VE 3355460096,3355460351,CL -3355460608,3355461631,BR -3355461632,3355463423,EC +3355460864,3355461631,BR +3355461888,3355463423,EC 3355463424,3355463935,AR 3355463936,3355464191,BR 3355464192,3355464447,CL @@ -66086,7 +67480,7 @@ 3355472640,3355473407,CL 3355473408,3355473919,PE 3355473920,3355475199,CL -3355475200,3355478015,MX +3355475200,3355477503,MX 3355478016,3355478271,PE 3355478272,3355478783,US 3355478784,3355479039,VE @@ -66150,7 +67544,8 @@ 3355578368,3355582463,CL 3355582464,3355590655,UY 3355590656,3355592703,CO -3355592704,3355604991,CL +3355592704,3355599871,CL +3355600896,3355604991,CL 3355604992,3355607039,AR 3355607040,3355615231,HT 3355615232,3355623423,SR @@ -66207,7 +67602,8 @@ 3355844864,3355845119,CL 3355845120,3355845375,EC 3355845376,3355845631,BR -3355846144,3355848703,BR +3355846144,3355847679,BR +3355848192,3355848447,BR 3355849216,3355849727,AR 3355849728,3355849983,PA 3355849984,3355850495,CL @@ -66257,17 +67653,21 @@ 3356052480,3356052735,BR 3356053248,3356054015,CL 3356054016,3356054527,US -3356054528,3356057599,BR +3356054528,3356056575,BR +3356056832,3356057087,BR +3356057344,3356057599,BR 3356057600,3356057855,EC 3356057856,3356059135,CL -3356059136,3356060671,BR +3356059136,3356059903,BR +3356060160,3356060671,BR 3356060672,3356061695,CL 3356061696,3356062463,BR 3356062464,3356062719,JM -3356062720,3356063743,BR +3356062720,3356062975,BR +3356063232,3356063743,BR 3356064000,3356064255,BR 3356064256,3356064511,CL -3356064768,3356065791,BR +3356065024,3356065791,BR 3356065792,3356066047,CL 3356066048,3356067071,BR 3356068352,3356069119,BR @@ -66279,7 +67679,7 @@ 3356071424,3356072447,CL 3356073216,3356073471,AR 3356073472,3356073983,BR -3356075008,3356076287,BO +3356075264,3356076287,BO 3356076288,3356078079,BR 3356078080,3356078335,EC 3356078336,3356079359,CL @@ -66337,7 +67737,8 @@ 3356137472,3356137727,JM 3356137728,3356138239,BR 3356138240,3356138495,US -3356138496,3356139519,BR +3356138496,3356138751,BR +3356139264,3356139519,BR 3356139520,3356139775,US 3356139776,3356140031,AR 3356140032,3356140287,DO @@ -66448,8 +67849,8 @@ 3356338176,3356339967,SV 3356339968,3356341247,HN 3356341248,3356341759,SV -3356341760,3356342015,HN -3356342016,3356343039,SV +3356341760,3356342271,HN +3356342272,3356343039,SV 3356343040,3356343551,HN 3356343552,3356344319,SV 3356344320,3356360703,CO @@ -66459,7 +67860,7 @@ 3356368896,3356369407,BR 3356369408,3356369663,EC 3356369664,3356369919,BR -3356369920,3356370943,AR +3356370176,3356370943,AR 3356370944,3356372991,CO 3356372992,3356375039,CU 3356377088,3356379647,CL @@ -66476,9 +67877,15 @@ 3356390400,3356390655,AR 3356390656,3356391167,CL 3356391168,3356391423,PA -3356393472,3356420607,CL +3356393472,3356413695,CL +3356413696,3356413823,CO +3356413824,3356420607,CL 3356420608,3356420863,CO -3356420864,3356425471,CL +3356420864,3356421247,CL +3356421248,3356421375,CO +3356421376,3356421759,CL +3356421760,3356422015,CO +3356422016,3356425471,CL 3356425472,3356425599,CO 3356425600,3356426239,CL 3356426240,3356427263,BR @@ -66507,8 +67914,22 @@ 3356557312,3356819455,BR 3356819456,3356884991,CO 3356884992,3356950527,CL -3356950528,3357016063,MX -3357016064,3357048831,CO +3356950528,3356958463,MX +3356958720,3356967167,MX +3356967424,3356967935,MX +3356968960,3356970495,MX +3356971520,3356972031,MX +3356972288,3356979967,MX +3356980480,3356980735,MX +3356981248,3356988415,MX +3356988672,3356989439,MX +3356989952,3356996607,MX +3356997632,3357003007,MX +3357003776,3357007871,MX +3357011968,3357015551,MX +3357016064,3357018623,CO +3357020160,3357032447,CO +3357040640,3357048831,CO 3357057024,3357065215,PE 3357065216,3357073407,EC 3357073408,3357077503,CL @@ -66531,11 +67952,15 @@ 3357407232,3357409279,AR 3357409280,3357411327,BR 3357411328,3357412351,VE -3357412352,3357414399,US +3357412352,3357412863,US +3357412864,3357413119,BR +3357413120,3357414399,US 3357414400,3357415423,PR 3357415424,3357417471,US 3357417472,3357418495,CL -3357418496,3357420031,US +3357418496,3357419007,US +3357419008,3357419519,GT +3357419520,3357420031,US 3357420032,3357421055,CO 3357421056,3357421567,US 3357421568,3357422847,NI @@ -66580,7 +68005,9 @@ 3357451144,3357451151,HN 3357451152,3357451343,GT 3357451344,3357451351,HN -3357451352,3357451503,GT +3357451352,3357451375,GT +3357451376,3357451383,HN +3357451384,3357451503,GT 3357451504,3357451519,HN 3357451520,3357451575,GT 3357451576,3357451583,NI @@ -66589,12 +68016,17 @@ 3357452800,3357453055,NI 3357453056,3357453071,GT 3357453072,3357453079,SV -3357453080,3357453311,GT +3357453080,3357453135,GT +3357453136,3357453151,SV +3357453152,3357453311,GT 3357453312,3357453567,HN -3357453568,3357454847,GT +3357453568,3357454591,GT +3357454592,3357454847,NI 3357454848,3357455103,HN 3357455104,3357455359,SV -3357455360,3357458431,GT +3357455360,3357456639,GT +3357456640,3357456895,HN +3357456896,3357458431,GT 3357458432,3357474815,CL 3357474816,3357475071,US 3357475072,3357475887,AR @@ -66609,10 +68041,12 @@ 3357476288,3357476351,VE 3357476352,3357476479,AR 3357476480,3357476607,EC -3357476608,3357476735,AR +3357476608,3357476687,AR +3357476688,3357476703,US +3357476704,3357476735,AR 3357476736,3357476799,US -3357476800,3357477247,AR -3357477248,3357477375,EC +3357476800,3357476863,AR +3357476864,3357477375,EC 3357477376,3357477423,AR 3357477424,3357477431,EC 3357477432,3357477543,AR @@ -66625,7 +68059,9 @@ 3357479216,3357479223,CO 3357479224,3357479551,AR 3357479552,3357479679,CO -3357479680,3357479871,AR +3357479680,3357479863,AR +3357479864,3357479867,CO +3357479868,3357479871,AR 3357479872,3357479879,CO 3357479880,3357480103,AR 3357480104,3357480111,CO @@ -66654,7 +68090,9 @@ 3357559552,3357559807,US 3357559808,3357559935,AR 3357559936,3357560063,VE -3357560064,3357560247,AR +3357560064,3357560199,AR +3357560200,3357560207,VE +3357560208,3357560247,AR 3357560248,3357560255,VE 3357560256,3357560263,AR 3357560264,3357560271,VE @@ -66665,7 +68103,30 @@ 3357561856,3357581311,AR 3357581312,3357589503,CL 3357589504,3357605887,BZ -3357605888,3357736959,MX +3357605888,3357606911,MX +3357607168,3357613055,MX +3357613312,3357616127,MX +3357616384,3357618943,MX +3357619200,3357623039,MX +3357623296,3357626623,MX +3357627392,3357627647,MX +3357627904,3357628415,MX +3357630720,3357633535,MX +3357633792,3357634815,MX +3357635072,3357635327,MX +3357635584,3357635839,MX +3357636096,3357637887,MX +3357640704,3357644799,MX +3357646848,3357647871,MX +3357648896,3357650431,MX +3357650944,3357657855,MX +3357658112,3357670655,MX +3357670912,3357712383,MX +3357713408,3357715711,MX +3357715968,3357723903,MX +3357724416,3357725183,MX +3357725440,3357726463,MX +3357727744,3357728767,MX 3357736960,3357745151,VE 3357745152,3357753343,CO 3357753344,3357757487,VE @@ -66679,7 +68140,9 @@ 3357786112,3357802495,VE 3357802496,3357868031,MX 3357868032,3357933567,PE -3357933568,3358064639,MX +3357933568,3358015487,MX +3358023680,3358040063,MX +3358048256,3358064639,MX 3358064640,3358130175,UY 3358130176,3358131199,EC 3358131200,3358131327,AR @@ -66690,7 +68153,9 @@ 3358131984,3358132031,CO 3358132032,3358132087,AR 3358132088,3358132095,CO -3358132096,3358132607,AR +3358132096,3358132127,AR +3358132128,3358132135,CO +3358132136,3358132607,AR 3358132608,3358132735,CO 3358132736,3358132991,AR 3358132992,3358133119,EC @@ -66711,9 +68176,11 @@ 3358150424,3358150431,CO 3358150432,3358150495,AR 3358150496,3358150655,CO -3358150656,3358150783,EC -3358150784,3358151167,AR -3358151168,3358151551,EC +3358150656,3358150911,EC +3358150912,3358151263,AR +3358151264,3358151271,EC +3358151272,3358151423,AR +3358151424,3358151551,EC 3358151552,3358151679,AR 3358151680,3358151807,PE 3358151808,3358151935,AR @@ -66731,8 +68198,8 @@ 3358153600,3358153663,PR 3358153664,3358153703,AR 3358153704,3358153711,PR -3358153712,3358153855,AR -3358153856,3358153983,EC +3358153712,3358153727,AR +3358153728,3358153983,EC 3358153984,3358154239,US 3358154240,3358154751,CL 3358154752,3358158847,PE @@ -66753,10 +68220,12 @@ 3358457856,3358523391,PA 3358523392,3358529535,VE 3358529536,3358530303,AR -3358530304,3358534399,VE +3358530304,3358532607,VE +3358532608,3358532863,AR +3358532864,3358534399,VE 3358534400,3358534655,AR -3358534656,3358535423,VE -3358535424,3358535679,AR +3358534656,3358535167,VE +3358535168,3358535679,AR 3358535680,3358539519,VE 3358539520,3358539775,AR 3358539776,3358543871,VE @@ -66796,7 +68265,9 @@ 3358565568,3358565599,AR 3358565600,3358565791,VE 3358565792,3358565855,AR -3358565856,3358566047,VE +3358565856,3358565951,VE +3358565952,3358566015,AR +3358566016,3358566047,VE 3358566048,3358566111,AR 3358566112,3358566847,VE 3358566848,3358566879,AR @@ -66823,8 +68294,7 @@ 3358574848,3358576127,AR 3358576128,3358577151,VE 3358577152,3358577407,PE -3358577408,3358577663,VE -3358577664,3358577919,AR +3358577408,3358577919,AR 3358577920,3358578175,VE 3358578176,3358578431,AR 3358578432,3358578687,VE @@ -66854,7 +68324,12 @@ 3358777344,3358779391,CR 3358779392,3358781439,EC 3358781440,3358851071,AR -3358851072,3358982143,MX +3358851072,3358855167,MX +3358859264,3358887935,MX +3358892032,3358918655,MX +3358924800,3358965759,MX +3358966784,3358967039,MX +3358973952,3358982143,MX 3358982144,3359047679,CL 3359047680,3359080447,AR 3359080448,3359096831,CU @@ -66875,7 +68350,8 @@ 3359315968,3359318015,HN 3359318016,3359356927,AR 3359356928,3359358975,VE -3359358976,3359375359,AR +3359358976,3359363071,AR +3359367168,3359375359,AR 3359375360,3359440895,PE 3359440896,3359461951,AR 3359461952,3359462015,HN @@ -66955,12 +68431,18 @@ 3360399360,3360403455,BO 3360405504,3360407551,HN 3360407552,3360423935,PA -3360423936,3360686079,MX -3360686080,3360705791,AR -3360705792,3360706047,US +3360423936,3360456447,MX +3360456448,3360456703,US +3360456704,3360534527,MX +3360538624,3360667647,MX +3360669696,3360686079,MX +3360686080,3360705535,AR +3360705536,3360706047,US 3360706048,3360707071,AR 3360707072,3360707327,US -3360707328,3360708223,AR +3360707328,3360707583,AR +3360707584,3360708095,US +3360708096,3360708223,AR 3360708224,3360708351,US 3360708352,3360708991,AR 3360708992,3360709247,US @@ -66998,28 +68480,27 @@ 3361071456,3361071471,CO 3361071472,3361071631,VE 3361071632,3361071635,CO -3361071636,3361072767,VE +3361071636,3361072127,VE +3361072128,3361072639,CO +3361072640,3361072767,VE 3361072768,3361072895,CO 3361072896,3361074431,VE 3361074432,3361074687,CO 3361074688,3361075199,VE -3361075200,3361078527,CO -3361078528,3361078655,VE -3361078656,3361079295,CO +3361075200,3361079295,CO 3361079296,3361144831,CL 3361144832,3361210367,BO 3361210368,3361275903,DO -3361275904,3361278463,VE +3361275904,3361276415,VE +3361276416,3361276543,PE +3361276544,3361278463,VE 3361278464,3361278591,PE 3361278592,3361278719,VE 3361278720,3361278975,PE 3361278976,3361279615,VE 3361279616,3361279743,PE 3361279744,3361279999,VE -3361280000,3361281279,PE -3361281280,3361281791,VE -3361281792,3361282047,PE -3361282048,3361284095,VE +3361280000,3361284095,PE 3361284096,3361296383,CL 3361296384,3361298431,SV 3361298432,3361300479,DO @@ -67040,24 +68521,28 @@ 3361538048,3361570815,VE 3361570816,3361587199,CO 3361587200,3361599487,EC -3361599488,3361601535,UY +3361599488,3361601279,UY 3361601536,3361603583,EC -3361603584,3361734655,MX +3361603584,3361665023,MX +3361669120,3361713151,MX +3361726464,3361734655,MX 3361734656,3362258943,BR 3362258944,3362324479,CL 3362324480,3362324735,AR 3362324736,3362324991,US 3362324992,3362328063,AR -3362328064,3362328319,US -3362328320,3362337279,AR +3362328064,3362328575,US +3362328576,3362337279,AR 3362337280,3362338047,US 3362338048,3362342143,AR 3362342144,3362342399,PA -3362342400,3362344447,AR +3362342400,3362343423,AR +3362343424,3362343679,US +3362343680,3362344447,AR 3362344448,3362344703,US 3362344704,3362344959,AR -3362344960,3362347007,US -3362347008,3362348799,AR +3362344960,3362346751,US +3362346752,3362348799,AR 3362348800,3362349055,US 3362349056,3362351103,CR 3362351104,3362353151,AR @@ -67108,9 +68593,12 @@ 3362586624,3362652159,VE 3362652160,3362664447,PE 3362664448,3362668543,BO -3362668544,3362684927,EC +3362668544,3362676735,EC +3362680832,3362684927,EC 3362684928,3362687999,AR -3362688000,3362689279,CO +3362688000,3362688511,CO +3362688512,3362688767,AR +3362688768,3362689279,CO 3362689280,3362689311,AR 3362689312,3362690367,CO 3362690368,3362690431,AR @@ -67122,7 +68610,8 @@ 3362692608,3362692863,CO 3362692864,3362695167,AR 3362695168,3362697215,CO -3362697216,3362711551,AR +3362697216,3362703359,AR +3362705408,3362711551,AR 3362711552,3362713599,EC 3362713600,3362714623,VE 3362714624,3362714879,HN @@ -67176,8 +68665,8 @@ 3363504128,3363512319,PE 3363512320,3363554047,AR 3363554048,3363554175,US -3363554176,3363556095,AR -3363556096,3363556223,US +3363554176,3363555839,AR +3363555840,3363556223,US 3363556224,3363556351,AR 3363556352,3363556607,US 3363556608,3363557375,AR @@ -67209,12 +68698,86 @@ 3363713024,3363713279,EC 3363717120,3363733503,CL 3363733504,3363831807,AR -3363831808,3378511871,BR +3363831808,3364794367,BR +3364798464,3367796735,BR +3367804928,3368321023,BR +3368325120,3370487807,BR +3370491904,3370504191,BR +3370508288,3372732415,BR +3372736512,3375493119,BR +3375493376,3375493631,BR +3375497216,3375874047,BR +3375878144,3376873471,BR +3376881664,3376922623,BR +3376926720,3377291263,BR +3377295360,3377303551,BR +3377307648,3378511871,BR 3378511872,3380506879,MX 3380506880,3380507135,BR -3380507136,3383754751,MX +3380507136,3380744191,MX +3380748288,3380760831,MX +3380764672,3380807167,MX +3380807680,3380808191,MX +3380808704,3380811775,MX +3380813824,3380815103,MX +3380815872,3380818175,MX +3380818944,3380820991,MX +3380822016,3380822527,MX +3380824064,3380826111,MX +3380828160,3380828671,MX +3380830208,3380830463,MX +3380831232,3380831487,MX +3380832256,3380832767,MX +3380833280,3380833791,MX +3380834304,3380834559,MX +3380835328,3380835839,MX +3380836352,3380836607,MX +3380838400,3380840447,MX +3380854784,3380858879,MX +3380865024,3380866047,MX +3380869120,3380869631,MX +3380870144,3381350399,MX +3381354496,3381373951,MX +3381374976,3381377023,MX +3381379072,3381448703,MX +3381460992,3381559295,MX +3381592064,3381944319,MX +3381952512,3381960703,MX +3381968896,3381972991,MX +3381985280,3382009855,MX +3382018048,3382054911,MX +3382059008,3382063103,MX +3382067200,3382071295,MX +3382083584,3382087679,MX +3382099968,3382558719,MX +3382575104,3382577151,MX +3382579200,3382580223,MX +3382583296,3382585343,MX +3382591488,3382602751,MX +3382603776,3382605823,MX +3382607872,3382642687,MX +3382644736,3382646783,MX +3382648832,3382651903,MX +3382652928,3382653951,MX +3382657024,3382659071,MX +3382661120,3382662143,MX +3382665216,3382668287,MX +3382673408,3382677503,MX +3382681600,3382683647,MX +3382685696,3382686719,MX +3382689792,3382695935,MX +3382697984,3382788095,MX +3382804480,3382853631,MX +3382902784,3383148543,MX +3383164928,3383295999,MX +3383361536,3383630843,MX +3383630844,3383630847,US +3383630848,3383701503,MX +3383721984,3383754751,MX 3383754752,3384147967,AR -3384147968,3384156159,US +3384147968,3384154879,US +3384154880,3384155135,HN +3384155136,3384156159,US 3384156160,3384160255,PA 3384160256,3384164351,US 3384164352,3384183807,PA @@ -67263,26 +68826,21 @@ 3386613760,3386621951,AR 3386621952,3386630143,CO 3386630144,3386632191,UY -3386638336,3386640895,SX +3386637312,3386638335,UY +3386638336,3386640895,CW 3386640896,3386641151,US -3386641152,3386642431,SX +3386641152,3386642431,CW 3386642432,3386644735,AR 3386644736,3386644991,PY 3386644992,3386645247,CR 3386645248,3386645503,CL 3386645504,3386645759,AR 3386645760,3386646015,CR -3386646016,3386647551,CO -3386647552,3386647679,VE -3386647680,3386647743,CO -3386647744,3386648063,VE -3386648064,3386648575,CO -3386648576,3386649599,VE -3386649600,3386649855,CO +3386646016,3386649855,CO 3386649856,3386650111,VE 3386650112,3386650623,CO -3386650624,3386654719,VE -3386654720,3386662911,CO +3386650624,3386652671,VE +3386652672,3386662911,CO 3386662912,3386671103,CL 3386671104,3386675199,HN 3386675200,3386687487,AR @@ -67311,11 +68869,7 @@ 3386802176,3386900479,CL 3386900480,3387162623,PA 3387162624,3387228159,CO -3387228160,3387248383,AW -3387248384,3387248511,TT -3387248512,3387248575,AW -3387248576,3387248639,TT -3387248640,3387260927,AW +3387228160,3387260927,AW 3387260928,3387293695,DO 3387293696,3387359231,PE 3387359232,3387424767,AR @@ -67323,10 +68877,14 @@ 3387555840,3387568127,AR 3387568128,3387572223,PE 3387572224,3387573375,AR -3387573376,3387573631,CO -3387573632,3387574015,AR +3387573376,3387573759,CO +3387573760,3387574015,AR 3387574016,3387574143,CO -3387574144,3387575807,AR +3387574144,3387574783,AR +3387574784,3387575039,CO +3387575040,3387575295,AR +3387575296,3387575423,CO +3387575424,3387575807,AR 3387575808,3387576063,CO 3387576064,3387576319,AR 3387576320,3387578367,EC @@ -67334,12 +68892,7 @@ 3387584512,3387588607,PE 3387588608,3387600895,AR 3387600896,3387604991,CO -3387604992,3387608319,AR -3387608320,3387608447,EC -3387608448,3387608575,AR -3387608576,3387608831,EC -3387608832,3387609087,AR -3387609088,3387613183,EC +3387604992,3387613183,EC 3387613184,3387617279,VE 3387617280,3387619327,CO 3387619328,3387686911,AR @@ -67425,9 +68978,7 @@ 3389092864,3389093887,AU 3389093888,3389095935,IN 3389095936,3389104127,SG -3389104128,3389106175,SB -3389106176,3389106431,AU -3389106432,3389112319,SB +3389104128,3389112319,SB 3389112320,3389116415,MV 3389116416,3389120511,JP 3389122560,3389122815,HK @@ -67449,11 +69000,16 @@ 3389161472,3389194239,JP 3389194240,3389195775,AU 3389195776,3389196287,HK -3389196288,3389198335,AU +3389196288,3389197567,AU +3389197568,3389197823,IN +3389197824,3389198079,ID +3389198080,3389198335,IN 3389198336,3389202431,KR 3389202432,3389203455,NZ 3389203456,3389203967,AU -3389203968,3389210623,NZ +3389203968,3389204223,NZ +3389204224,3389204479,AU +3389204480,3389210623,NZ 3389210624,3389210879,IN 3389210880,3389211135,AU 3389211136,3389211391,IN @@ -67511,7 +69067,6 @@ 3389306880,3389307135,SG 3389307136,3389307647,ID 3389307904,3389308159,AU -3389308160,3389308415,KH 3389308416,3389308671,AU 3389308672,3389308927,PH 3389308928,3389317119,HK @@ -67531,9 +69086,7 @@ 3389358080,3389366271,PK 3389366272,3389370177,AU 3389370178,3389370178,PG -3389370179,3389373183,AU -3389373184,3389373439,US -3389373440,3389374463,AU +3389370179,3389374463,AU 3389374464,3389378559,MN 3389382656,3389390847,TW 3389390848,3389391359,HK @@ -67609,8 +69162,7 @@ 3389525504,3389526015,TW 3389526016,3389528063,JP 3389528064,3389528319,CN -3389528576,3389528831,JP -3389528832,3389529087,AP +3389528576,3389529087,JP 3389529088,3389529599,ID 3389529600,3389529855,PH 3389529856,3389530111,HK @@ -67650,7 +69202,8 @@ 3389604352,3389604863,SG 3389604864,3389605119,HK 3389605120,3389605375,ID -3389605376,3389605887,AU +3389605376,3389605631,AU +3389605632,3389605887,SG 3389605888,3389606399,ID 3389606400,3389606655,AU 3389606656,3389606911,IN @@ -67875,9 +69428,7 @@ 3390414336,3390414847,SG 3390414848,3390418943,JP 3390418944,3390423039,MV -3390423040,3390423807,SG -3390423808,3390424063,AP -3390424064,3390439423,SG +3390423040,3390439423,SG 3390439424,3390441471,NZ 3390441472,3390443519,TH 3390443520,3390447359,NZ @@ -67896,17 +69447,18 @@ 3390767104,3390769407,NZ 3390769408,3390769663,IN 3390769664,3390770175,TH -3390770176,3390771199,AU +3390770432,3390770687,AU +3390770944,3390771199,AU 3390771200,3390775295,SG 3390775296,3390801919,NZ 3390801920,3390802431,CN 3390802432,3390832639,NZ 3390832640,3390963711,TH 3390963712,3391094783,KR -3391094784,3391192063,JP -3391192064,3391192319,AP -3391192320,3391356927,JP -3391356928,3391441407,NZ +3391094784,3391356927,JP +3391356928,3391388159,NZ +3391388672,3391414783,NZ +3391415040,3391441407,NZ 3391441408,3391441663,PH 3391441664,3391444479,NZ 3391444480,3391444991,VN @@ -67984,13 +69536,83 @@ 3391734016,3391734783,AU 3391736832,3391737855,IN 3391737856,3391741951,JP -3391741952,3391746047,HK +3391741952,3391742207,HK +3391742208,3391742211,IN +3391742212,3391742223,HK +3391742224,3391742227,IN +3391742228,3391742231,HK +3391742232,3391742243,IN +3391742244,3391742287,HK +3391742288,3391742291,IN +3391742292,3391742319,HK +3391742320,3391742323,IN +3391742324,3391742327,HK +3391742328,3391742331,IN +3391742332,3391742335,HK +3391742336,3391742343,IN +3391742344,3391742347,HK +3391742348,3391742351,IN +3391742352,3391742399,HK +3391742400,3391742403,IN +3391742404,3391742423,HK +3391742424,3391742427,IN +3391742428,3391742443,HK +3391742444,3391742447,IN +3391742448,3391742471,HK +3391742472,3391742475,IN +3391742476,3391742523,HK +3391742524,3391742531,IN +3391742532,3391742571,HK +3391742572,3391742575,IN +3391742576,3391742591,HK +3391742592,3391742595,IN +3391742596,3391742687,HK +3391742688,3391742691,IN +3391742692,3391742719,HK +3391742720,3391742727,IN +3391742728,3391742731,HK +3391742732,3391742735,IN +3391742736,3391742847,HK +3391742848,3391742879,IN +3391742880,3391742903,HK +3391742904,3391742919,IN +3391742920,3391742927,HK +3391742928,3391742935,IN +3391742936,3391742943,HK +3391742944,3391742951,IN +3391742952,3391742983,HK +3391742984,3391742991,IN +3391742992,3391743135,HK +3391743136,3391743151,IN +3391743152,3391743175,HK +3391743176,3391743199,IN +3391743200,3391743359,HK +3391743360,3391743391,IN +3391743392,3391743743,HK +3391743744,3391743759,IN +3391743760,3391744039,HK +3391744040,3391744063,IN +3391744064,3391744111,HK +3391744112,3391744119,IN +3391744120,3391744271,HK +3391744272,3391744367,IN +3391744368,3391744383,HK +3391744384,3391744447,IN +3391744448,3391744511,HK +3391744512,3391744519,IN +3391744520,3391744535,HK +3391744536,3391744543,IN +3391744544,3391744791,HK +3391744792,3391744799,IN +3391744800,3391744823,HK +3391744824,3391744831,IN +3391744832,3391745055,HK +3391745056,3391745087,IN +3391745088,3391745279,HK +3391745280,3391745295,IN +3391745296,3391746047,HK 3391746048,3391750143,CN -3391750144,3391766783,SG -3391766784,3391767039,AP -3391767040,3391810047,SG -3391810048,3391810303,AP -3391810304,3391815679,SG +3391750144,3391815679,SG 3391815680,3391817727,AU 3391817728,3391819775,TO 3391819776,3391823871,JP @@ -68015,9 +69637,7 @@ 3391843328,3391844351,VN 3391844352,3391845887,ID 3391845888,3391846399,PK -3391848448,3391851007,AU -3391851008,3391851263,AP -3391851264,3391852543,AU +3391848448,3391852543,AU 3391852544,3391856639,CN 3391856640,3391864831,ID 3391864832,3391866879,TW @@ -68069,9 +69689,7 @@ 3391954944,3391971327,HK 3391971328,3391979519,AU 3391979520,3391979775,HK -3391979776,3391979955,JP -3391979956,3391979957,AP -3391979958,3391980031,JP +3391979776,3391980031,JP 3391980032,3391980543,HK 3391980544,3391983615,MY 3391983616,3391984639,NP @@ -68129,12 +69747,15 @@ 3392114432,3392114687,KR 3392114688,3392118783,GU 3392118784,3392126975,MY -3392126976,3392135167,ID +3392126976,3392127847,ID +3392127848,3392127851,HK +3392127852,3392128423,ID +3392128424,3392128431,HK +3392128432,3392135167,ID 3392135168,3392143359,TH 3392143360,3392208895,JP -3392208896,3392286975,NZ -3392286976,3392287231,AP -3392287232,3392287743,NZ +3392208896,3392217343,NZ +3392217600,3392287743,NZ 3392287744,3392288767,NP 3392288768,3392324607,NZ 3392324608,3392325119,AU @@ -68160,7 +69781,6 @@ 3392407552,3392409599,ID 3392409600,3392413695,JP 3392413696,3392413951,PK -3392414208,3392414463,PH 3392414464,3392414719,HK 3392414720,3392415231,AU 3392415232,3392415487,JP @@ -68330,7 +69950,7 @@ 3392924672,3392924927,CN 3392924928,3392925183,AU 3392925184,3392925695,VN -3392925696,3392926719,AU +3392925952,3392926719,AU 3392926720,3392927231,IN 3392927232,3392927743,AU 3392927744,3392927999,IN @@ -68411,7 +70031,7 @@ 3393167360,3393175551,CN 3393175552,3393183743,PK 3393183744,3393183999,ID -3393184000,3393184255,US +3393184000,3393184255,SG 3393184256,3393184767,PK 3393184768,3393187839,SG 3393187840,3393189887,NP @@ -68432,7 +70052,8 @@ 3393306624,3393314815,HK 3393314816,3393318911,ID 3393318912,3393320959,SG -3393320960,3393388543,HK +3393320960,3393363967,HK +3393372160,3393388543,HK 3393388544,3393389567,CN 3393389568,3393390591,IN 3393390592,3393392639,ID @@ -68446,10 +70067,7 @@ 3393478656,3393486847,AU 3393486848,3393495039,IN 3393495040,3393499135,AU -3393499136,3393499391,US -3393499392,3393499903,SG -3393499904,3393500159,US -3393500160,3393503231,SG +3393499136,3393503231,SG 3393503232,3393507327,HK 3393507328,3393511423,SG 3393511424,3393519615,KR @@ -68507,7 +70125,6 @@ 3393741824,3393742847,US 3393742848,3393743871,TL 3393743872,3393744895,US -3393744896,3393748991,PH 3393748992,3393765375,AU 3393765376,3393773567,ID 3393775616,3393777663,BD @@ -68536,12 +70153,10 @@ 3393855744,3393855999,NZ 3393856000,3393856255,AU 3393856256,3393856511,HK -3393856768,3393856896,SG -3393856897,3393856897,AP -3393856898,3393857023,SG +3393856768,3393857023,SG 3393857024,3393857535,NZ 3393857536,3393858047,HK -3393858048,3393858559,ID +3393858304,3393858559,ID 3393858560,3393858815,AU 3393858816,3393859071,ID 3393859072,3393859327,AU @@ -68554,7 +70169,7 @@ 3393862144,3393862655,VN 3393862656,3393862911,NZ 3393862912,3393863167,AU -3393863168,3393863679,HK +3393863168,3393863679,SG 3393863680,3393865727,AU 3393865728,3393867775,ID 3393867776,3393871871,CN @@ -68588,7 +70203,7 @@ 3394027520,3394035711,JP 3394035712,3394039807,MY 3394039808,3394040063,CN -3394040064,3394040319,AU +3394040064,3394040319,SG 3394040320,3394040831,IN 3394040832,3394041087,KR 3394041088,3394041855,SG @@ -68604,12 +70219,9 @@ 3394078720,3394078975,AU 3394078976,3394079231,IN 3394079232,3394079743,PH -3394079744,3394092543,HK -3394092544,3394092799,AP -3394092800,3394111487,HK +3394079744,3394111487,HK 3394111488,3394113535,CN -3394113536,3394113791,AP -3394113792,3394117631,SG +3394113536,3394117631,SG 3394117632,3394121727,AU 3394121728,3394125823,SG 3394125824,3394142207,PH @@ -68631,9 +70243,9 @@ 3394191360,3394207743,SG 3394207744,3394215935,JP 3394215936,3394220031,AU -3394220032,3394226943,SG -3394226944,3394227199,AP -3394227200,3394232319,SG +3394220032,3394230271,SG +3394230272,3394230527,AU +3394230528,3394232319,SG 3394232320,3394234367,CN 3394234368,3394236415,VN 3394236416,3394238463,JP @@ -68648,17 +70260,17 @@ 3394273280,3394277375,HK 3394277376,3394279423,AU 3394279424,3394281471,PH -3394281472,3394282239,SG -3394282240,3394282495,US -3394282496,3394285567,SG +3394281472,3394285567,SG 3394285568,3394289663,AU 3394289664,3394293759,CN 3394293760,3394297855,ID 3394297856,3394306047,TH 3394306048,3394307071,CN -3394307072,3394308095,SG +3394307072,3394308095,AU 3394308096,3394310143,JP -3394310144,3394314239,AU +3394310144,3394313727,AU +3394313728,3394313983,PH +3394313984,3394314239,AU 3394314240,3394322431,ID 3394322432,3394326527,AU 3394326528,3394330623,JP @@ -68667,9 +70279,7 @@ 3394347008,3394351103,PH 3394355200,3394359295,IN 3394359296,3394363391,AU -3394363392,3394418431,HK -3394418432,3394418687,AP -3394418688,3394441215,HK +3394363392,3394441215,HK 3394441216,3394453503,IN 3394453504,3394461695,AU 3394461696,3394465791,SG @@ -68678,15 +70288,14 @@ 3394478080,3394482175,PK 3394482176,3394484223,AU 3394484224,3394486271,JP -3394486272,3394489599,HK -3394489600,3394489631,AP -3394489632,3394494463,HK +3394486272,3394494463,HK 3394494464,3394498559,JP 3394498560,3394500607,HK 3394500608,3394501631,SG 3394501632,3394502655,CN 3394502656,3394503679,HK 3394503680,3394506751,CN +3394506752,3394507263,HK 3394507264,3394507775,JP 3394508544,3394508799,PH 3394508800,3394510847,CN @@ -68696,9 +70305,7 @@ 3394521088,3394523135,KH 3394523136,3394527231,JP 3394527232,3394535423,PH -3394535424,3394544895,HK -3394544896,3394545151,AP -3394545152,3394621439,HK +3394535424,3394621439,HK 3394621440,3394625535,CN 3394625536,3394629631,HK 3394629632,3394631679,AU @@ -68748,14 +70355,12 @@ 3394830336,3394831359,HK 3394831360,3394832383,NZ 3394832384,3394834431,CN -3394834432,3394835967,HK -3394835968,3394836223,AP -3394836224,3394836479,HK +3394834432,3394836479,HK 3394836480,3394838527,BT 3394838528,3394842623,NZ 3394842624,3394845695,AU -3394845696,3394845951,NZ -3394845952,3394846719,AU +3394845696,3394846207,NZ +3394846208,3394846719,AU 3394846720,3394850815,IN 3394850816,3394854911,JP 3394855936,3394856959,AU @@ -68799,7 +70404,6 @@ 3394946560,3394947071,ID 3394947072,3394948095,BD 3394948096,3394948351,IN -3394948352,3394948607,PH 3394948608,3394949119,AU 3394949120,3394953215,JP 3394953216,3394957311,CN @@ -68880,8 +70484,7 @@ 3395180544,3395181055,VN 3395181056,3395181567,HK 3395181568,3395182591,CN -3395182592,3395182847,AP -3395182848,3395190783,SG +3395182592,3395190783,SG 3395190784,3395198975,JP 3395198976,3395203071,MY 3395203072,3395215359,JP @@ -68889,9 +70492,7 @@ 3395219456,3395223551,TH 3395223552,3395231743,CN 3395231744,3395239935,JP -3395239936,3395243007,SG -3395243008,3395243263,AP -3395243264,3395254783,SG +3395239936,3395254783,SG 3395254784,3395255039,IN 3395255040,3395256319,SG 3395256320,3395264511,ID @@ -68919,9 +70520,7 @@ 3397027072,3397027327,PH 3397027328,3397027839,IN 3397027840,3397029887,JP -3397029888,3397031423,MY -3397031424,3397031679,AP -3397031680,3397033983,MY +3397029888,3397033983,MY 3397033984,3397038079,ID 3397038080,3397058559,JP 3397058560,3397066751,MU @@ -68929,7 +70528,9 @@ 3397070848,3397074943,PH 3397074944,3397083135,HK 3397083136,3397087231,CN -3397091328,3397099519,GU +3397091328,3397097471,GU +3397097472,3397097983,MP +3397097984,3397099519,GU 3397099520,3397103615,HK 3397103616,3397105663,LA 3397105664,3397107711,JP @@ -68995,10 +70596,50 @@ 3397279744,3397283839,AU 3397283840,3397285887,KR 3397285888,3397287935,BD -3397287936,3397296127,SG -3397296128,3397299199,HK -3397299200,3397299455,SG -3397299456,3397304319,HK +3397287936,3397296175,SG +3397296176,3397296191,HK +3397296192,3397296271,SG +3397296272,3397296279,HK +3397296280,3397296479,SG +3397296480,3397297263,HK +3397297264,3397297271,SG +3397297272,3397297295,HK +3397297296,3397297311,SG +3397297312,3397297407,HK +3397297408,3397297439,SG +3397297440,3397297919,HK +3397297920,3397297983,SG +3397297984,3397298015,HK +3397298016,3397298071,SG +3397298072,3397298079,HK +3397298080,3397298431,SG +3397298432,3397298495,HK +3397298496,3397298511,SG +3397298512,3397298559,HK +3397298560,3397298815,SG +3397298816,3397298847,HK +3397298848,3397298895,SG +3397298896,3397298911,HK +3397298912,3397298927,SG +3397298928,3397298942,HK +3397298943,3397298943,SG +3397298944,3397298959,HK +3397298960,3397299047,SG +3397299048,3397299055,HK +3397299056,3397299183,SG +3397299184,3397299191,HK +3397299192,3397299359,SG +3397299360,3397299375,IN +3397299376,3397299455,SG +3397299456,3397299483,HK +3397299484,3397299487,SG +3397299488,3397299599,HK +3397299600,3397299603,SG +3397299604,3397304211,HK +3397304212,3397304215,SG +3397304216,3397304299,HK +3397304300,3397304303,SG +3397304304,3397304319,HK 3397304320,3397308415,NZ 3397308416,3397312511,HK 3397312512,3397320703,JP @@ -69007,7 +70648,11 @@ 3397323776,3397328895,CN 3397328896,3397330943,ID 3397330944,3397337087,CN -3397337088,3397341183,HK +3397337088,3397338375,HK +3397338376,3397338379,JP +3397338380,3397339647,HK +3397339648,3397339687,SG +3397339688,3397341183,HK 3397341184,3397345279,JP 3397345280,3397349375,ID 3397349376,3397363711,CN @@ -69016,9 +70661,7 @@ 3397369856,3397374463,CN 3397374464,3397374975,AU 3397374976,3397386239,CN -3397386240,3397387775,GU -3397387776,3397388031,US -3397388032,3397394431,GU +3397386240,3397394431,GU 3397394432,3397402623,PH 3397402624,3397410815,GU 3397410816,3397411327,AU @@ -69032,7 +70675,15 @@ 3397413888,3397414399,NZ 3397414400,3397414911,IN 3397414912,3397419007,AU -3397419008,3397427199,HK +3397419008,3397419583,HK +3397419584,3397419599,KR +3397419600,3397419607,HK +3397419608,3397419615,KR +3397419616,3397419647,HK +3397419648,3397419671,KR +3397419672,3397419711,HK +3397419712,3397419719,KR +3397419720,3397427199,HK 3397427200,3397443583,SG 3397443584,3397451775,HK 3397451776,3397468159,TH @@ -69074,11 +70725,9 @@ 3397530624,3397531647,ID 3397531648,3397532671,SG 3397532672,3397533695,JP -3397533696,3397551359,HK -3397551360,3397551615,AP -3397551616,3397557247,HK -3397557248,3397557503,AP -3397557504,3397566463,HK +3397533696,3397565183,HK +3397565184,3397565439,SG +3397565440,3397566463,HK 3397566464,3397574655,AU 3397574656,3397582847,CN 3397582848,3397584895,MN @@ -69128,9 +70777,7 @@ 3397844992,3397869823,JP 3397869824,3397870079,AU 3397870080,3397910527,JP -3397910528,3397914111,SG -3397914112,3397914367,AP -3397914368,3397918719,SG +3397910528,3397918719,SG 3397918720,3397922815,AU 3397922816,3397926911,CN 3397935104,3397939199,AU @@ -69233,10 +70880,13 @@ 3398637184,3398637823,JP 3398637824,3398638079,PH 3398638080,3398640639,JP -3398640640,3398640895,AU -3398640896,3398642431,JP -3398642432,3398642943,AU -3398642944,3398643199,JP +3398640640,3398640895,MY +3398640896,3398641151,SG +3398641152,3398641407,JP +3398641408,3398641663,SG +3398641664,3398642431,JP +3398642432,3398642687,AU +3398642688,3398643199,JP 3398643200,3398643455,AU 3398643456,3398646783,JP 3398646784,3398647039,AU @@ -69343,7 +70993,6 @@ 3399414016,3399414271,AU 3399414528,3399414783,AU 3399414784,3399415807,VN -3399415808,3399416831,SG 3399416832,3399417087,ID 3399417088,3399417855,AU 3399417856,3399450623,ID @@ -69415,7 +71064,7 @@ 3399826432,3399826943,PH 3399826944,3399827455,IN 3399827456,3399835647,AU -3399835648,3399839743,AP +3399835648,3399839743,CN 3399839744,3399841791,JP 3399841792,3399852031,TW 3399852032,3399856127,JP @@ -69445,15 +71094,15 @@ 3399950336,3399954175,US 3399954176,3399954431,AU 3399954432,3399974911,US -3399974912,3399995391,MY +3399974912,3399983744,MY +3399983745,3399983745,SG +3399983746,3399995391,MY 3399995392,3399999487,KR 3399999488,3400000255,SG 3400000256,3400000511,AU 3400000512,3400004607,SG 3400004608,3400004863,AU -3400004864,3400006143,SG -3400006144,3400006399,AP -3400006400,3400006911,SG +3400004864,3400006911,SG 3400006912,3400006927,AU 3400006928,3400007679,SG 3400007680,3400024063,AU @@ -69554,11 +71203,8 @@ 3400431872,3400432127,HK 3400432128,3400432639,IN 3400433664,3400435711,HK -3400435712,3400436223,BD -3400436224,3400438201,HK -3400438202,3400438202,US -3400438203,3400441599,HK -3400441600,3400441855,AU +3400435712,3400435967,BD +3400435968,3400441855,HK 3400441856,3400450047,NZ 3400450048,3400458239,JP 3400458240,3400466431,AU @@ -69596,9 +71242,7 @@ 3400728576,3400736767,MN 3400736768,3400744959,JP 3400744960,3400753151,IN -3400753152,3400753407,MY -3400753408,3400753663,AP -3400753664,3400761343,MY +3400753152,3400761343,MY 3400773632,3400775679,KR 3400775680,3400777727,ID 3400777728,3400790015,JP @@ -69661,25 +71305,7 @@ 3401545728,3401547775,BD 3401547776,3401580543,IN 3401580544,3402629119,CN -3402629120,3403081983,JP -3403081984,3403082239,US -3403082240,3404631295,JP -3404631296,3404631551,US -3404631552,3404693759,JP -3404693760,3404694015,US -3404694016,3404694271,JP -3404694272,3404694527,US -3404694528,3404695039,JP -3404695040,3404695295,US -3404695296,3404696319,JP -3404696320,3404696575,US -3404696576,3404697087,JP -3404697088,3404697343,US -3404697344,3404720639,JP -3404720640,3404720678,US -3404720679,3404720679,JP -3404720680,3404720895,US -3404720896,3405774847,JP +3402629120,3405774847,JP 3405774848,3405775871,AU 3405775872,3405776895,CN 3405776896,3405777407,AU @@ -69959,8 +71585,7 @@ 3406382592,3406383359,CN 3406383360,3406383871,AU 3406383872,3406384639,CN -3406384640,3406384895,AP -3406384896,3406385151,SG +3406384640,3406385151,SG 3406385152,3406389247,AU 3406389248,3406390783,CN 3406390784,3406392319,AU @@ -70008,9 +71633,11 @@ 3406527232,3406527999,AU 3406528000,3406528255,CN 3406528256,3406528511,AU -3406528512,3406528767,AP +3406528512,3406528767,HK 3406528768,3406529023,AU -3406529024,3406530047,HK +3406529024,3406529535,HK +3406529536,3406529791,IL +3406529792,3406530047,HK 3406530048,3406530303,SG 3406530304,3406530559,HK 3406530560,3406531583,CN @@ -70018,8 +71645,7 @@ 3406531840,3406532607,CN 3406532608,3406541823,AU 3406541824,3406542847,CN -3406542848,3406543103,AP -3406543104,3406548991,AU +3406542848,3406548991,AU 3406548992,3406550015,CN 3406550016,3406565375,AU 3406565376,3406565631,CN @@ -70164,7 +71790,8 @@ 3406835968,3406836735,CN 3406836736,3406838271,AU 3406838272,3406838527,CN -3406838528,3406857471,AU +3406838528,3406839551,AU +3406839808,3406857471,AU 3406857472,3406857727,CN 3406857728,3406864639,AU 3406864640,3406865151,CN @@ -70215,9 +71842,7 @@ 3406948352,3406948607,AU 3406948608,3406948863,CN 3406948864,3406950655,AU -3406950656,3406950911,NF -3406950912,3406951167,AU -3406951168,3406951423,NF +3406950656,3406951423,NF 3406951424,3406952447,AU 3406952448,3406952703,CN 3406952960,3406954239,AU @@ -70343,7 +71968,7 @@ 3407107584,3407108351,AU 3407108352,3407108607,CN 3407108608,3407112447,AU -3407112448,3407112703,AP +3407112448,3407112703,SG 3407112704,3407113215,CN 3407113216,3407115007,AU 3407115008,3407115263,CN @@ -70561,7 +72186,8 @@ 3407450880,3407451135,CN 3407451136,3407452415,AU 3407452416,3407453183,CN -3407453184,3407455231,AU +3407453184,3407454463,AU +3407454720,3407455231,AU 3407455232,3407455487,CN 3407455488,3407455743,AU 3407455744,3407455999,CN @@ -70656,7 +72282,8 @@ 3407549440,3407549695,CN 3407549696,3407549951,AU 3407549952,3407550463,CN -3407550464,3407554559,AU +3407550464,3407553023,AU +3407553280,3407554559,AU 3407554560,3407554815,CN 3407554816,3407555839,AU 3407555840,3407556095,CN @@ -71051,7 +72678,8 @@ 3408032768,3408033023,LK 3408033024,3408033279,IN 3408033280,3408033791,ID -3408033792,3408039935,AU +3408033792,3408035071,AU +3408035328,3408039935,AU 3408039936,3408040191,VN 3408040192,3408040703,AU 3408040704,3408040959,CN @@ -71139,7 +72767,9 @@ 3409462272,3409462783,CN 3409462784,3409465855,AU 3409465856,3409466879,CN -3409466880,3409469183,AU +3409466880,3409467903,AU +3409467904,3409468415,HK +3409468416,3409469183,AU 3409469184,3409469439,CN 3409469440,3409473023,AU 3409473024,3409473279,CN @@ -71438,9 +73068,7 @@ 3411644928,3411645951,ID 3411645952,3411646207,SG 3411646208,3411647487,IN -3411647488,3411648767,AU -3411648768,3411649023,NZ -3411649024,3411649279,AU +3411647488,3411649279,AU 3411649280,3411649535,NZ 3411649536,3411649791,AU 3411649792,3411650303,NZ @@ -71463,9 +73091,7 @@ 3411763200,3411767295,CN 3411767296,3411769343,MN 3411769344,3411771391,CN -3411771392,3411775811,HK -3411775812,3411775813,US -3411775814,3411777023,HK +3411771392,3411777023,HK 3411777024,3411777279,ID 3411777280,3411779327,HK 3411779328,3411779583,ID @@ -71486,9 +73112,7 @@ 3411853312,3411857407,IN 3411857408,3411859249,JP 3411859250,3411859251,AU -3411859252,3411859711,JP -3411859712,3411860223,AP -3411860224,3411861503,JP +3411859252,3411861503,JP 3411861504,3411869695,AU 3411869696,3411943423,CN 3411943424,3411951615,AU @@ -71499,7 +73123,8 @@ 3412002816,3412004863,GU 3412004864,3412017151,JP 3412017152,3412025343,SG -3412025344,3412066303,CN +3412025344,3412049919,CN +3412058112,3412066303,CN 3412066304,3412213759,NZ 3412213760,3412221951,AU 3412221952,3412230143,IN @@ -71543,13 +73168,20 @@ 3412344576,3412344831,CN 3412344832,3412348927,IN 3412348928,3412361215,CN -3412361216,3412369407,AP +3412361216,3412369407,HK 3412369408,3412377599,KR 3412377600,3412381695,CN 3412381696,3412385791,NZ 3412385792,3412393983,AU 3412393984,3412426751,IN -3412426752,3412434943,HK +3412426752,3412431487,HK +3412431488,3412431551,TH +3412431552,3412433679,HK +3412433680,3412433695,TH +3412433696,3412433759,HK +3412433760,3412433775,ID +3412433776,3412433783,TH +3412433784,3412434943,HK 3412434944,3412443135,PK 3412443136,3412451327,SG 3412451328,3412526079,AU @@ -71562,11 +73194,7 @@ 3412606976,3412615167,PH 3412615168,3412656127,JP 3412656128,3412672511,HK -3412672512,3412675071,JP -3412675072,3412675327,US -3412675328,3412678911,JP -3412678912,3412679167,US -3412679168,3412680191,JP +3412672512,3412680191,JP 3412680192,3412680447,US 3412680448,3412680703,JP 3412680704,3412697087,CN @@ -71586,12 +73214,7 @@ 3413008384,3413016575,JP 3413016576,3413024767,AU 3413024768,3413032959,CN -3413032960,3413033215,US -3413033216,3413033471,AU -3413033472,3413033727,US -3413033728,3413036287,AU -3413036288,3413036799,US -3413036800,3413037055,AU +3413032960,3413037055,AU 3413037056,3413041151,CN 3413041152,3413043199,JP 3413043200,3413043967,CN @@ -71608,12 +73231,7 @@ 3413112832,3413113855,IN 3413114880,3413133311,JP 3413133312,3413135359,BD -3413135360,3413135615,AP -3413135616,3413135871,HK -3413135872,3413136127,AP -3413136128,3413136383,HK -3413136384,3413136639,AP -3413136640,3413139455,HK +3413135360,3413139455,HK 3413139456,3413147647,AU 3413147648,3413155839,IN 3413155840,3413164031,SG @@ -71622,9 +73240,7 @@ 3413180416,3413213183,TH 3413213184,3413229567,VN 3413229568,3413245951,AU -3413245952,3413250559,SG -3413250560,3413250815,MY -3413250816,3413262335,SG +3413245952,3413262335,SG 3413262336,3413270527,PH 3413270528,3413278719,TH 3413278720,3413295103,NZ @@ -71641,11 +73257,9 @@ 3413327872,3413344255,IN 3413344256,3413360639,PH 3413360640,3413377023,MY -3413377024,3413387519,SG -3413387520,3413387775,AP -3413387776,3413437951,SG -3413437952,3413438207,AP -3413438208,3413524479,SG +3413377024,3413415935,SG +3413415936,3413416191,AU +3413416192,3413524479,SG 3413524480,3413540863,TH 3413540864,3413557247,NZ 3413557248,3413565439,CN @@ -71700,9 +73314,7 @@ 3413639168,3413704703,SG 3413704704,3413737471,MY 3413737472,3413753855,TH -3413753856,3413755391,AU -3413755392,3413755647,US -3413755648,3413762047,AU +3413753856,3413762047,AU 3413762048,3413770239,TW 3413770240,3413786623,IN 3413786624,3413835775,AU @@ -71725,11 +73337,7 @@ 3413934080,3413946367,IN 3413946368,3413950463,AU 3413950464,3413966847,IN -3413966848,3414040063,SG -3414040064,3414040319,AP -3414040320,3414067199,SG -3414067200,3414067455,AP -3414067456,3414155519,SG +3413966848,3414155519,SG 3414155520,3414155775,PH 3414155776,3414163455,SG 3414163456,3414171647,PK @@ -71754,8 +73362,7 @@ 3414269952,3414278143,JP 3414278144,3414294527,IN 3414294528,3414302719,PK -3414302720,3414306815,CN -3414306816,3414310911,A2 +3414302720,3414310911,CN 3414310912,3414327295,KR 3414327296,3414335487,TH 3414335488,3414339583,AU @@ -71872,7 +73479,6 @@ 3415814656,3415815167,TH 3415815168,3415816191,IN 3415816192,3415817215,JP -3415817216,3415817727,ID 3415818240,3415822335,JP 3415822336,3415826431,MY 3415826432,3415834623,ID @@ -71880,7 +73486,6 @@ 3415838720,3415842815,KR 3415842816,3415851007,TH 3415851008,3415855103,AU -3415855104,3415855615,HK 3415855616,3415856127,IN 3415856128,3415858175,ID 3415858176,3415859199,LK @@ -71927,7 +73532,7 @@ 3416371712,3416371967,VN 3416371968,3416372223,IN 3416372224,3416372479,CN -3416372480,3416372735,AP +3416372480,3416372735,SG 3416372736,3416372991,AU 3416373248,3416373503,AU 3416373504,3416373759,SG @@ -71938,7 +73543,9 @@ 3416375296,3416383487,CN 3416383488,3416391679,HK 3416391680,3416457215,VN -3416457216,3416489983,JP +3416457216,3416475391,JP +3416475392,3416475647,NZ +3416475648,3416489983,JP 3416489984,3416506367,VN 3416506368,3416514559,TW 3416514560,3416522751,IN @@ -72006,7 +73613,7 @@ 3417014272,3417022463,JP 3417022464,3417030655,KR 3417030656,3417034751,AU -3417034752,3417035775,IN +3417035008,3417035775,IN 3417035776,3417036799,JP 3417036800,3417037823,ID 3417037824,3417038079,AU @@ -72031,7 +73638,8 @@ 3417182208,3417184767,AU 3417184768,3417185023,MN 3417185024,3417185279,AF -3417185280,3417185791,SG +3417185280,3417185535,AU +3417185536,3417185791,SG 3417185792,3417186303,NZ 3417186304,3417194495,HK 3417194496,3417198591,JP @@ -72080,9 +73688,7 @@ 3417357824,3417358335,PK 3417358336,3417374719,HK 3417374720,3417440255,PH -3417440256,3417664767,JP -3417664768,3417665279,US -3417665280,3417833471,JP +3417440256,3417833471,JP 3417833472,3417849855,NZ 3417849856,3417853951,AU 3417853952,3417858047,CN @@ -72153,8 +73759,7 @@ 3418243072,3418251263,PH 3418251264,3418255359,CN 3418255360,3418257407,ID -3418257408,3418259199,HK -3418259200,3418259455,SG +3418257408,3418259455,HK 3418259456,3418267647,IN 3418267648,3418271743,VN 3418271744,3418273791,SG @@ -72165,7 +73770,9 @@ 3418282240,3418282495,AU 3418282496,3418283519,PH 3418283520,3418284031,AU -3418284032,3418288127,SG +3418284032,3418286847,SG +3418286848,3418287103,AU +3418287104,3418288127,SG 3418288128,3418290175,ID 3418290176,3418290431,IN 3418290432,3418290687,CN @@ -72196,26 +73803,24 @@ 3418374144,3418382335,AU 3418382336,3418390527,JP 3418390528,3418392575,AU -3418392576,3418393919,AP +3418392576,3418393919,JP 3418393920,3418393927,AU -3418393928,3418397183,AP +3418393928,3418397183,JP 3418397184,3418397439,MY -3418397440,3418399231,AP +3418397440,3418399231,JP 3418399232,3418399247,PH -3418399248,3418400255,AP +3418399248,3418400255,JP 3418400256,3418400511,AU -3418400512,3418403583,AP -3418403584,3418403839,AU -3418403840,3418405631,AP +3418400512,3418405631,JP 3418405632,3418405887,MY 3418405888,3418406143,PH -3418406144,3418406911,AP +3418406144,3418406911,JP 3418406912,3418423295,IN 3418423296,3418444091,HK 3418444092,3418444095,CN 3418444096,3418452479,HK -3418452480,3418452607,SG -3418452608,3418456063,HK +3418452480,3418452543,SG +3418452544,3418456063,HK 3418456064,3418472447,IN 3418472448,3418480639,AU 3418480640,3418488831,CN @@ -72242,9 +73847,8 @@ 3418643456,3418644479,AU 3418644480,3418644735,JP 3418644736,3418644991,AU -3418644992,3418649343,JP -3418649344,3418649599,AP -3418649600,3418652671,JP +3418644992,3418645247,TW +3418645248,3418652671,JP 3418652672,3418750975,IN 3418750976,3418816511,HK 3418816512,3418947583,IN @@ -72273,9 +73877,7 @@ 3419078656,3419209727,TW 3419209728,3419226111,VN 3419226112,3419234303,CN -3419234304,3419235839,JP -3419235840,3419236095,US -3419236096,3419241983,JP +3419234304,3419241983,JP 3419241984,3419242239,US 3419242240,3419242495,JP 3419242496,3419275263,CN @@ -72295,15 +73897,11 @@ 3419412480,3419414527,PH 3419414528,3419422719,CN 3419422720,3419439103,AU -3419439104,3419456767,SG -3419456768,3419457023,US -3419457024,3419459407,SG +3419439104,3419459407,SG 3419459408,3419459423,GB 3419459424,3419459551,SG 3419459552,3419459583,HK -3419459584,3419470591,SG -3419470592,3419470847,AP -3419470848,3419471871,SG +3419459584,3419471871,SG 3419471872,3419504639,TH 3419504640,3419508735,HK 3419508736,3419512831,JP @@ -72317,8 +73915,7 @@ 3419529216,3419537407,CN 3419537408,3419541503,HK 3419541504,3419553791,KR -3419553792,3419557631,AU -3419557632,3419557887,AP +3419553792,3419557887,AU 3419557888,3419558399,ID 3419558400,3419558655,AU 3419558656,3419559935,ID @@ -72400,9 +73997,7 @@ 3420061696,3420127231,HK 3420127232,3420323839,AU 3420323840,3420332031,TW -3420332032,3420367359,AU -3420367360,3420367615,AP -3420367616,3420369007,AU +3420332032,3420369007,AU 3420369008,3420369023,HK 3420369024,3420370559,AU 3420370560,3420370575,JP @@ -72433,11 +74028,9 @@ 3420437504,3420438527,IN 3420438528,3420454911,HK 3420454912,3420463103,LK -3420463104,3422000533,KR -3422000534,3422000535,AP +3420463104,3422000535,KR 3422000536,3422000536,IN -3422000537,3422000537,AP -3422000538,3422552063,KR +3422000537,3422552063,KR 3422552064,3422850559,US 3422850560,3422851071,GB 3422851072,3422955519,US @@ -72450,23 +74043,28 @@ 3423092848,3423093759,VI 3423093760,3423094783,US 3423094784,3423095807,CA -3423095808,3423143935,US +3423095808,3423128575,US +3423129600,3423143935,US 3423143936,3423145983,CA -3423145984,3423162367,US +3423145984,3423149055,US +3423150080,3423162367,US 3423162368,3423163391,CA -3423163392,3423182847,US +3423163392,3423171583,US +3423172608,3423182847,US 3423182848,3423184895,CA 3423184896,3423221759,US 3423221760,3423222783,CA -3423222784,3423258623,US +3423222784,3423229951,US +3423232000,3423236095,US +3423238144,3423248383,US +3423250432,3423258623,US 3423258624,3423260671,CA 3423260672,3423264831,US 3423264832,3423264863,NG -3423264864,3423265025,US -3423265026,3423265026,A2 -3423265027,3423268863,US +3423264864,3423268863,US 3423268864,3423269887,CA -3423269888,3423285247,US +3423269888,3423272959,US +3423273984,3423285247,US 3423285248,3423287295,CA 3423287296,3423288319,VG 3423288320,3423301631,US @@ -72483,20 +74081,16 @@ 3423416320,3423417343,CA 3423417344,3423430655,US 3423430656,3423431167,TC -3423431168,3423469567,US +3423431168,3423458303,US +3423459328,3423468543,US 3423471616,3423473663,US 3423473664,3423474687,CA -3423474688,3423479807,US -3423479808,3423480831,A2 +3423474688,3423480831,US 3423480832,3423480987,NG 3423480988,3423480988,US 3423480989,3423481343,NG -3423481344,3423481855,A2 -3423481856,3423487999,US -3423488000,3423490047,US -3423490048,3423529983,US -3423529984,3423530239,CA -3423530240,3423533055,US +3423481344,3423490047,US +3423491072,3423533055,US 3423533056,3423535103,AI 3423535104,3423543295,US 3423543296,3423545343,CA @@ -72506,21 +74100,22 @@ 3423579136,3423580159,CA 3423580160,3423582207,US 3423582208,3423586303,CA -3423586304,3423602687,US +3423586304,3423588351,US +3423590400,3423602687,US 3423602688,3423603711,KN 3423603712,3423626239,US 3423626240,3423627263,CA 3423627264,3423629311,US 3423629312,3423630335,AG -3423630336,3423632383,US -3423632384,3423633407,A2 -3423633408,3423637503,US +3423630336,3423637503,US 3423637504,3423639551,CA 3423639552,3423651839,US 3423651840,3423653887,CA 3423653888,3423705599,US 3423705600,3423705855,CA -3423705856,3423797503,US +3423705856,3423725423,US +3423725424,3423725427,CA +3423725428,3423797503,US 3423797504,3423801087,CA 3423801088,3423801343,US 3423801344,3423827711,CA @@ -72558,19 +74153,21 @@ 3424507136,3424507391,CA 3424507392,3425173503,US 3425173504,3425304575,CA -3425304576,3425484543,US +3425304576,3425452031,US +3425468416,3425471487,US +3425472512,3425484543,US 3425484544,3425484799,GU 3425484800,3425697791,US 3425697792,3425699839,CA -3425699840,3425714175,US +3425699840,3425705983,US +3425706496,3425711615,US +3425713152,3425714175,US 3425714176,3425722367,CA -3425722368,3425828863,US -3425828864,3425846783,CA -3425846784,3425847039,EU -3425847040,3425894399,CA -3425894400,3426007807,US -3426007808,3426008063,EU -3426008064,3426013183,US +3425722368,3425726463,US +3425728512,3425828863,US +3425828864,3425894399,CA +3425894400,3426008831,US +3426009088,3426013183,US 3426013184,3426013439,IL 3426013440,3426369023,US 3426369024,3426369535,CA @@ -72580,11 +74177,14 @@ 3426415872,3426416127,GB 3426416128,3426617855,US 3426617856,3426618367,CA -3426618368,3426679039,US +3426618368,3426628607,US +3426629632,3426679039,US 3426679040,3426679295,ES -3426679296,3426729471,US +3426679296,3426717695,US +3426719744,3426729471,US 3426729472,3426729983,CA -3426729984,3426744319,US +3426729984,3426735615,US +3426736128,3426744319,US 3426744320,3426746367,CA 3426746368,3427112447,US 3427112448,3427112703,CN @@ -72592,11 +74192,7 @@ 3427117056,3427117311,CA 3427117312,3427127295,US 3427127296,3427127551,CA -3427127552,3427132927,US -3427132928,3427133183,EU -3427133184,3427408393,US -3427408394,3427408394,EU -3427408395,3427426303,US +3427127552,3427426303,US 3427426304,3427426559,HK 3427426560,3427428863,US 3427428864,3427429119,GB @@ -72604,9 +74200,8 @@ 3427487744,3427487999,GB 3427488000,3427503615,US 3427503616,3427503871,AU -3427503872,3427583087,US -3427583088,3427583088,CA -3427583089,3427647999,US +3427503872,3427631103,US +3427632128,3427647999,US 3427648000,3427648511,CA 3427648512,3427651071,US 3427651072,3427651327,CA @@ -72618,9 +74213,7 @@ 3427748864,3427749631,DE 3427749632,3427749887,US 3427749888,3427750655,DE -3427750656,3427752447,US -3427752448,3427752703,EU -3427752704,3427760127,US +3427750656,3427760127,US 3427760128,3427760895,CA 3427760896,3427762175,US 3427762176,3427762431,DE @@ -72703,7 +74296,8 @@ 3427831552,3427831807,MX 3427831808,3427860479,US 3427860480,3428057087,CA -3428057088,3428286719,US +3428057088,3428217855,US +3428218880,3428286719,US 3428286720,3428286975,CA 3428286976,3428296959,US 3428296960,3428297215,CL @@ -72711,9 +74305,11 @@ 3428299520,3428299775,ZA 3428299776,3428302079,US 3428302080,3428302335,CA -3428302336,3428318975,US +3428302336,3428306175,US +3428306432,3428318975,US 3428318976,3428319231,CA -3428319232,3428399359,US +3428319232,3428388863,US +3428391936,3428399359,US 3428399360,3428399615,CA 3428399616,3428433919,US 3428433920,3428434175,CA @@ -72737,23 +74333,18 @@ 3428642816,3428643071,CA 3428643072,3428660735,US 3428660736,3428661247,CA -3428661248,3428662271,US -3428662272,3428662527,US -3428662528,3428743167,US +3428661248,3428743167,US 3428743168,3428744191,CA 3428744192,3428752383,US 3428752384,3428753407,GH 3428753408,3428958207,US 3428958208,3428962303,CO 3428962304,3429171199,US -3429171200,3429189631,CA -3429189632,3429189887,A2 -3429189888,3429236735,CA -3429236736,3429381887,US -3429381888,3429382143,EU +3429171200,3429236735,CA +3429236736,3429382143,US 3429382144,3429382399,DE 3429382400,3429500927,US -3429500928,3429502975,A2 +3429500928,3429502975,CA 3429502976,3429517407,US 3429517408,3429517411,HK 3429517412,3429518763,US @@ -72764,21 +74355,23 @@ 3429739176,3429739179,GB 3429739180,3429775359,US 3429775360,3429777407,TC -3429777408,3429892095,US +3429777408,3429809151,US +3429810176,3429892095,US 3429892096,3429957631,CA -3429957632,3430073343,US -3430073344,3430073354,AP +3429957632,3430073354,US 3430073355,3430073355,AU -3430073356,3430073599,AP -3430073600,3430074111,US +3430073356,3430074111,US 3430074112,3430074367,AU -3430074368,3430354943,US +3430074368,3430146047,US +3430148096,3430354943,US 3430354944,3430356991,PR -3430356992,3430703871,US +3430356992,3430701055,US +3430702080,3430703871,US 3430703872,3430704127,PR 3430704128,3430705151,US 3430705152,3430706175,MX -3430706176,3430722303,US +3430706176,3430714367,US +3430715392,3430722303,US 3430722304,3430722559,CA 3430722560,3430729244,US 3430729245,3430729245,GB @@ -72798,11 +74391,7 @@ 3431114496,3431114751,CA 3431114752,3431468031,US 3431468032,3431469055,CA -3431469056,3431520767,US -3431520768,3431521023,AP -3431521024,3431526921,US -3431526922,3431526922,EU -3431526923,3431596287,US +3431469056,3431596287,US 3431596288,3431602687,CA 3431602688,3431602943,US 3431602944,3431606271,CA @@ -72824,7 +74413,8 @@ 3431642624,3431657471,CA 3431657472,3431658495,US 3431658496,3431661311,CA -3431661312,3431751423,US +3431661312,3431675903,US +3431677952,3431751423,US 3431751424,3431752703,IT 3431752704,3431753727,US 3431753728,3431755007,CA @@ -72850,18 +74440,23 @@ 3432494080,3432495103,DE 3432495104,3432517119,US 3432517120,3432517631,NA -3432517632,3432585215,US +3432517632,3432579071,US +3432580096,3432585215,US 3432585216,3432585727,MX -3432585728,3432611839,US +3432585728,3432609791,US +3432610560,3432611839,US 3432612864,3432613631,US 3432613632,3432613887,CA 3432613888,3432634111,US 3432634112,3432634367,CA 3432634368,3432660991,US 3432660992,3432663039,DE -3432663040,3432689151,US +3432663040,3432676351,US +3432677376,3432689151,US 3432689152,3432689663,CA -3432689664,3432807423,US +3432689664,3432695807,US +3432697856,3432708095,US +3432710144,3432807423,US 3432807424,3432808447,CA 3432808448,3433824511,US 3433824512,3433824767,DE @@ -72891,9 +74486,7 @@ 3434913792,3434917887,AG 3434917888,3435069439,US 3435069440,3435134975,CA -3435134976,3435216637,US -3435216638,3435216638,EU -3435216639,3435271423,US +3435134976,3435271423,US 3435271424,3435271679,CA 3435271680,3435507711,US 3435507712,3435511807,CA @@ -72930,15 +74523,11 @@ 3437336064,3437336319,US 3437336320,3437341695,CA 3437341696,3437341951,US -3437341952,3437343231,CA +3437342208,3437343231,CA 3437343232,3437343487,US -3437343488,3437345791,CA -3437345792,3437346303,A2 -3437346304,3437350911,CA +3437343488,3437350911,CA 3437350912,3437351423,US -3437351424,3437353983,CA -3437353984,3437354239,A2 -3437354240,3437358847,CA +3437351424,3437358847,CA 3437358848,3437359103,US 3437359104,3437428735,CA 3437428736,3437691391,US @@ -72988,7 +74577,9 @@ 3438010368,3438034943,US 3438034944,3438051327,BS 3438051328,3438084095,US -3438084096,3438116863,CA +3438084096,3438094847,CA +3438094848,3438094975,US +3438094976,3438116863,CA 3438116864,3438215423,US 3438215424,3438215935,CA 3438215936,3438216191,US @@ -73019,18 +74610,24 @@ 3448380840,3448380847,SG 3448380848,3448380943,US 3448380944,3448380959,SG -3448380960,3448717311,US +3448380960,3448651775,US +3448652800,3448673279,US +3448674304,3448711167,US +3448713216,3448717311,US 3448717312,3448717567,AU 3448717568,3448838143,US 3448838144,3448838399,CA -3448838400,3448989695,US +3448838400,3448868863,US +3448870912,3448985599,US +3448987648,3448989695,IN 3448989696,3448990719,HK 3448990720,3448991743,IN -3448991744,3449161983,US +3448991744,3449096191,US +3449098240,3449161983,US 3449161984,3449162239,CA 3449162240,3449174495,US -3449174496,3449174527,CA -3449174528,3449176063,US +3449174496,3449174783,CA +3449174784,3449176063,US 3449176064,3449176319,CA 3449176320,3449176831,US 3449176832,3449177087,CA @@ -73061,12 +74658,12 @@ 3449254144,3449254911,US 3449254912,3449273599,CA 3449273600,3449273855,US -3449273856,3449290495,CA -3449290496,3449575423,US +3449273856,3449278975,CA +3449279488,3449290495,CA +3449290496,3449409535,US +3449410560,3449575423,US 3449575424,3449575679,AU -3449575680,3449582848,US -3449582849,3449582849,EU -3449582850,3449593855,US +3449575680,3449593855,US 3449593856,3449594111,AU 3449594112,3449598975,US 3449598976,3449599231,AU @@ -73078,9 +74675,8 @@ 3449835520,3449836543,ES 3449836544,3449974783,US 3449974784,3449976831,CA -3449976832,3450085375,US -3450085376,3450085631,US -3450085632,3450217215,US +3449976832,3450213887,US +3450214144,3450217215,US 3450217216,3450217471,LC 3450217472,3450253567,US 3450253568,3450253823,AU @@ -73095,32 +74691,29 @@ 3450612480,3450612735,CA 3450612736,3450685183,US 3450685184,3450685439,CA -3450685440,3450699007,US +3450685440,3450686975,US +3450687488,3450699007,US 3450699008,3450699263,CA 3450699776,3450731519,US 3450731520,3450732543,CA 3450732544,3450773503,US 3450773504,3450777599,CA -3450777600,3450849791,US -3450849792,3450850047,EU -3450850048,3450851839,US +3450777600,3450851839,US 3450855424,3450935295,US 3450935296,3450935551,MY -3450935552,3450935807,AP +3450935552,3450935807,US 3450935808,3450936319,MY 3450936320,3450940415,US 3450940416,3450941439,SG 3450941440,3450942463,US 3450942464,3450944511,SG -3450944512,3450947583,US -3450947584,3450947839,A2 -3450947840,3450949375,US -3450949376,3450949631,A2 -3450949632,3450950655,US +3450944512,3450950655,US 3450950656,3450951679,JP 3450951680,3450953727,US 3450953728,3450957823,DE -3450957824,3450975231,US +3450957824,3450974207,US +3450974208,3450974463,GB +3450974464,3450975231,US 3450975232,3450975743,LB 3450975744,3450982399,US 3450982400,3450984447,TW @@ -73131,7 +74724,8 @@ 3451715840,3451724543,CA 3451724544,3451724799,US 3451725312,3451725567,US -3451725568,3451737343,CA +3451725568,3451726847,CA +3451727360,3451737343,CA 3451737344,3451737599,US 3451737600,3451740927,CA 3451740928,3451741183,US @@ -73154,10 +74748,10 @@ 3451896320,3451896575,DE 3451896576,3451912191,US 3451912192,3452174335,CA -3452174336,3452436479,US +3452174336,3452180479,US +3452181504,3452436479,US 3452436480,3452502015,CA -3452502016,3452678143,US -3452678144,3452678399,EU +3452502016,3452678399,US 3452678400,3452682239,BE 3452682240,3452715007,US 3452715008,3452723199,CA @@ -73174,10 +74768,13 @@ 3452920832,3452923391,US 3452923392,3452931327,CA 3452931328,3452931583,US -3452931584,3452934911,CA +3452931584,3452933119,CA +3452933632,3452934911,CA 3452934912,3452936191,US 3452936192,3452938751,CA -3452938752,3452939263,US +3452938752,3452939023,US +3452939024,3452939039,CA +3452939040,3452939263,US 3452939264,3452942847,CA 3452942848,3452943103,US 3452943104,3452953087,CA @@ -73190,7 +74787,8 @@ 3453028608,3453028863,US 3453028864,3453029375,CA 3453029376,3453092095,US -3453092096,3453101055,CA +3453092096,3453096959,CA +3453097984,3453101055,CA 3453101056,3453101311,US 3453101312,3453123839,CA 3453123840,3453124095,US @@ -73198,7 +74796,8 @@ 3453128960,3453129215,US 3453129216,3453129983,CA 3453129984,3453130239,US -3453130240,3453139455,CA +3453130240,3453133823,CA +3453134848,3453139455,CA 3453139456,3453140991,US 3453140992,3453149183,CA 3453149184,3453149439,US @@ -73212,11 +74811,13 @@ 3453159424,3453159935,BM 3453159936,3453163519,CA 3453163520,3453164031,US -3453164032,3453180671,CA +3453164032,3453178623,CA +3453178880,3453180671,CA 3453180672,3453180927,US 3453180928,3453195263,CA 3453195264,3453195519,US -3453195520,3453206527,CA +3453195520,3453199871,CA +3453200384,3453206527,CA 3453206528,3453207807,US 3453207808,3453208575,HN 3453208576,3453210623,US @@ -73229,9 +74830,7 @@ 3453217792,3453219327,CR 3453219328,3453220607,US 3453220608,3453222911,HN -3453222912,3453241343,US -3453241344,3453243391,US -3453243392,3453403135,US +3453222912,3453403135,US 3453403136,3453406975,BB 3453406976,3453407231,GD 3453407232,3453407743,BB @@ -73271,9 +74870,7 @@ 3454617600,3454617855,CA 3454617856,3454618111,US 3454618112,3454618367,CA -3454618368,3454618879,US -3454618880,3454619135,DO -3454619136,3454619647,US +3454618368,3454619647,US 3454619648,3454631423,CA 3454631424,3454631935,US 3454631936,3454634751,CA @@ -73296,7 +74893,8 @@ 3454808832,3454809087,US 3454809088,3454810111,CA 3454810112,3454810367,US -3454810368,3454814975,CA +3454810368,3454813951,CA +3454814208,3454814975,CA 3454814976,3454815231,US 3454815232,3454815743,CA 3454815744,3454816255,US @@ -73313,7 +74911,9 @@ 3454881792,3454883839,CA 3454883840,3454915071,US 3454915072,3454926591,CA -3454926592,3455042565,US +3454926592,3455034879,US +3455034880,3455035135,AU +3455035136,3455042565,US 3455042566,3455042566,CA 3455042567,3455096831,US 3455096832,3455097855,EC @@ -73365,11 +74965,10 @@ 3458195456,3458196479,SG 3458196480,3458233343,US 3458233344,3458234367,CA -3458234368,3458807039,US -3458807040,3458807295,GB -3458807296,3458811903,US +3458234368,3458811903,US 3458813952,3458818047,CA -3458818048,3459055615,US +3458818048,3458820095,US +3458822144,3459055615,US 3459055616,3459121151,CA 3459121152,3459186687,US 3459186688,3459252223,CA @@ -73407,7 +75006,9 @@ 3459352576,3459353599,US 3459353600,3459354623,CO 3459354624,3459357183,NI -3459357184,3459362815,US +3459357184,3459359999,US +3459360000,3459360511,VE +3459360512,3459362815,US 3459362816,3459364863,CO 3459364864,3459366911,AR 3459366912,3459368959,VE @@ -73436,43 +75037,43 @@ 3459616800,3459616801,US 3459616802,3459617023,CA 3459617024,3459617535,US -3459617536,3459617791,CA -3459617792,3459617999,AP +3459617536,3459617999,CA 3459618000,3459618000,ID -3459618001,3459618047,AP +3459618001,3459618047,CA 3459618048,3459618815,US -3459618816,3459619071,AP +3459618816,3459619071,CA 3459619072,3459622911,US 3459624960,3459629055,BM -3459629056,3459731455,US +3459629056,3459631103,US +3459633152,3459731455,US 3459731456,3459735551,CA 3459735552,3459842815,US 3459842816,3459843071,BR 3459843072,3459848959,US 3459848960,3459849215,FR 3459849216,3459850239,US -3459850240,3459850367,CA -3459850368,3459850431,US -3459850432,3459850495,CA +3459850240,3459850495,CA 3459850496,3460057283,US 3460057284,3460057287,TH 3460057288,3460061687,US 3460061688,3460061691,HK 3460061692,3460063175,US 3460063176,3460063179,HK -3460063180,3460114431,US +3460063180,3460070959,US +3460070960,3460070963,GB +3460070964,3460071043,US +3460071044,3460071047,GB +3460071048,3460114431,US 3460114432,3460116479,SR 3460116480,3460161535,US 3460161536,3460165631,PR 3460165632,3460374527,US 3460374528,3460375551,MX -3460375552,3460411149,US -3460411150,3460411150,EU -3460411151,3460507647,US +3460375552,3460507647,US 3460507648,3460507903,MX -3460507904,3460801023,US -3460801024,3460801279,US -3460801280,3460878335,US +3460507904,3460761599,US +3460763648,3460794367,US +3460796416,3460878335,US 3460878336,3460878591,CA 3460878592,3460879359,US 3460882432,3460944127,US @@ -73485,13 +75086,17 @@ 3461356544,3461357567,AS 3461357568,3461408767,US 3461410816,3461414911,CA -3461414912,3461513215,US +3461414912,3461441535,US +3461443584,3461507071,US +3461509120,3461513215,US 3461513216,3461516287,CA 3461516288,3461516543,IL 3461516544,3461517311,CA -3461517312,3461554175,US +3461517312,3461548031,US +3461550080,3461554175,US 3461554176,3461556223,CA -3461558272,3461808127,US +3461558272,3461580799,US +3461582848,3461808127,US 3461808128,3461873663,CA 3461873664,3462593791,US 3462593792,3462594559,GN @@ -73544,36 +75149,52 @@ 3464196491,3464196491,ZA 3464196492,3464208383,US 3464208384,3464216575,CA -3464216576,3464340479,US +3464216576,3464243199,US +3464245248,3464259583,US +3464261632,3464340479,US 3464340480,3464341503,CA 3464341504,3464342287,US 3464342288,3464342295,VN -3464342296,3464382463,US +3464342296,3464349695,US +3464351744,3464382463,US 3464384512,3464388607,CA 3464388608,3464391935,US 3464391936,3464392191,CA 3464392192,3464392703,US 3464392704,3464392959,CA 3464392960,3464394751,US -3464394752,3464395007,LC -3464395008,3464395263,VC -3464395264,3464396031,LC +3464394752,3464396031,LC 3464396032,3464396287,VC 3464396288,3464396543,LC 3464396544,3464396799,VC -3464396800,3464421631,US +3464396800,3464415231,US +3464417280,3464421631,US 3464421632,3464421887,CA -3464422400,3464549695,US +3464422400,3464423423,US +3464423936,3464425983,US +3464426496,3464426751,GD +3464426752,3464427007,US +3464428032,3464428287,US +3464428800,3464429311,US +3464429568,3464464383,US +3464466432,3464472575,US +3464474624,3464549695,US 3464549696,3464549727,AG 3464549728,3464549759,KN 3464549760,3464626175,US 3464626176,3464626687,CA 3464626688,3464627199,US -3464627968,3464630271,CA +3464627968,3464628735,CA +3464628736,3464628991,US +3464628992,3464630271,CA 3464630272,3464631295,US -3464631296,3464650751,CA +3464631296,3464631807,CA +3464632064,3464639487,CA +3464639744,3464642047,CA +3464642560,3464648703,CA +3464649216,3464650239,CA 3464650752,3464664063,US -3464664064,3464691711,CA +3464664320,3464691711,CA 3464691712,3464769535,US 3464769536,3464773631,CA 3464773632,3464774079,US @@ -73602,9 +75223,7 @@ 3466661888,3466663935,TW 3466663936,3466683135,US 3466683136,3466683391,NG -3466683392,3466688511,US -3466688512,3466688767,A2 -3466688768,3466756095,US +3466683392,3466756095,US 3466756096,3466772479,CA 3466772480,3466846207,US 3466846208,3466854399,CA @@ -73614,16 +75233,21 @@ 3466907648,3466909695,DE 3466909696,3466929407,US 3466929408,3466929663,IT -3466929664,3466937667,US -3466937668,3466937669,DE -3466937670,3466937670,EU -3466937671,3466937731,DE -3466937732,3466938444,US +3466929664,3466937599,US +3466937600,3466937663,ES +3466937664,3466937669,DE +3466937670,3466937670,US +3466937671,3466937727,DE +3466937728,3466937855,ES +3466937856,3466938444,US 3466938445,3466938448,HK -3466938449,3466938808,US -3466938809,3466938812,GB -3466938813,3467051007,US -3467051008,3467116543,CA +3466938449,3466938807,US +3466938808,3466938811,GB +3466938812,3467051007,US +3467051008,3467051263,CA +3467051264,3467051519,US +3467051520,3467068927,CA +3467069440,3467116543,CA 3467116544,3467378687,US 3467378688,3467444223,CA 3467444224,3467554815,US @@ -73636,7 +75260,8 @@ 3468058688,3468058719,ES 3468058720,3468127743,US 3468127744,3468128255,IN -3468128256,3468296191,US +3468128256,3468142591,US +3468144640,3468296191,US 3468296192,3468361727,CA 3468361728,3468443647,US 3468443648,3468460031,CA @@ -73651,17 +75276,17 @@ 3468800000,3468800255,GB 3468800256,3469010687,US 3469010688,3469010943,AU -3469010944,3469032191,US -3469032192,3469032447,AP -3469032448,3469055743,US +3469010944,3469055743,US 3469055744,3469055999,CA -3469056000,3469070335,US +3469056000,3469068287,US +3469068800,3469070335,US 3469070336,3469070591,CA 3469070592,3469859583,US 3469859584,3469859839,CA 3469859840,3469893631,US 3469893632,3469901823,CA -3469901824,3470131199,US +3469901824,3469989887,US +3469990400,3470131199,US 3470131200,3470135295,AG 3470135296,3470137343,LC 3470137344,3470139391,VG @@ -73679,7 +75304,8 @@ 3470558208,3470559231,HK 3470559232,3470573567,US 3470573568,3470575615,CA -3470575616,3470646591,US +3470575616,3470610431,US +3470614528,3470646591,US 3470646592,3470646599,CN 3470646600,3470651391,US 3470651392,3470655487,CA @@ -73729,15 +75355,14 @@ 3472392192,3472408575,CA 3472408576,3472571647,US 3472571648,3472571903,GH -3472571904,3473039359,US +3472571904,3472721919,US +3472723968,3473039359,US 3473039360,3473041407,BM 3473041408,3473067007,US 3473067008,3473068031,CA 3473068032,3473276927,US 3473276928,3473342463,CA -3473342464,3473786111,US -3473786112,3473786127,PR -3473786128,3474053119,US +3473342464,3474053119,US 3474053120,3474055167,PE 3474055168,3474391039,US 3474391040,3474456575,CA @@ -73757,7 +75382,8 @@ 3475670848,3475671039,AG 3475671040,3475681279,US 3475681280,3475685375,HN -3475685376,3475881983,US +3475685376,3475851263,US +3475853312,3475881983,US 3475881984,3475882767,CA 3475882768,3475882783,FR 3475882784,3475882799,CA @@ -73765,14 +75391,11 @@ 3475882816,3475890175,CA 3475890176,3475896319,US 3475896320,3475896575,FR -3475896576,3475896831,EU -3475896832,3475897471,US +3475896576,3475897471,US 3475897472,3475897503,FR -3475897504,3475911167,US -3475911168,3475911237,AP +3475897504,3475911237,US 3475911238,3475911239,IN -3475911240,3475911423,AP -3475911424,3475912447,US +3475911240,3475912447,US 3475912448,3475912703,IN 3475912704,3475921151,US 3475921152,3475921407,JP @@ -73784,13 +75407,7 @@ 3476447232,3476455423,CA 3476455424,3476881407,US 3476881408,3476946943,CA -3476946944,3477311871,US -3477311872,3477312255,US -3477312256,3477312511,US -3477312512,3477313023,US -3477313024,3477313279,US -3477313280,3477313535,US -3477313536,3477541887,US +3476946944,3477541887,US 3477541888,3477542207,IN 3477542208,3477542271,US 3477542272,3477542911,IN @@ -73802,7 +75419,8 @@ 3478274824,3478274831,GB 3478274832,3478372351,US 3478372352,3478380543,MX -3478380544,3479207935,US +3478380544,3478831103,US +3478847488,3479207935,US 3479207936,3479240703,CA 3479240704,3479568383,US 3479568384,3479633919,CA @@ -73826,23 +75444,20 @@ 3480602880,3480603647,IT 3480603648,3480612351,US 3480612352,3480613631,DE -3480613632,3481665535,US +3480613632,3481176063,US +3481178112,3481665535,US 3481665536,3481731071,CA 3481731072,3481812991,US 3481812992,3481829375,CA 3481829376,3481843455,US 3481843456,3481843711,GB -3481843712,3481937407,US -3481937408,3481937663,VE -3481937664,3481951395,US +3481843712,3481951395,US 3481951396,3481951399,GB -3481951400,3481958271,US -3481958272,3481958399,NL -3481958400,3481964575,US +3481951400,3481964575,US 3481964576,3481964579,IE -3481964580,3481966591,US -3481966592,3481966847,CH -3481966848,3481993215,US +3481964580,3481973247,US +3481973248,3481973503,CA +3481973504,3481993215,US 3481993216,3482058751,CA 3482058752,3482583039,US 3482583040,3482632191,CA @@ -73871,9 +75486,7 @@ 3484321792,3484322047,PR 3484322048,3484323839,US 3484326912,3484327423,US -3484327936,3484419583,US -3484419584,3484419839,A2 -3484419840,3484437503,US +3484331008,3484437503,US 3484437504,3484442623,GB 3484442624,3484459007,US 3484459008,3484459775,CA @@ -73883,11 +75496,9 @@ 3484460736,3484460751,CA 3484460752,3484464319,US 3484464320,3484464335,CA -3484464336,3484472967,US -3484472968,3484472975,CA -3484472976,3484475903,US -3484475904,3484476159,CA -3484476160,3484480255,US +3484464336,3484472831,US +3484472832,3484473087,CA +3484473088,3484480255,US 3484480256,3484480511,CA 3484480512,3484647423,US 3484647424,3484663807,CA @@ -73899,17 +75510,15 @@ 3485220864,3485229055,CA 3485229056,3485327359,US 3485327360,3485335551,CA -3485335552,3485462527,US +3485335552,3485442047,US +3485446144,3485462527,US 3485462528,3485464575,VC 3485464576,3485466623,LC -3485466624,3485597695,US -3485597696,3485671583,CA -3485671584,3485671615,US -3485671616,3485672543,CA +3485466624,3485499391,US +3485515776,3485597695,US +3485597696,3485672543,CA 3485672544,3485672551,US -3485672552,3485694975,CA -3485694976,3485695231,US -3485695232,3485695999,CA +3485672552,3485695999,CA 3485696000,3485721056,US 3485721057,3485721057,AE 3485721058,3486023679,US @@ -73928,24 +75537,21 @@ 3487175936,3487176191,GB 3487176192,3487181359,US 3487181360,3487181375,GB -3487181376,3487188991,US -3487188992,3487189247,GB -3487189248,3487216383,US +3487181376,3487216383,US 3487216384,3487216639,SE 3487216640,3487236095,US 3487236096,3487301631,CA 3487301632,3487703039,US 3487703040,3487703073,DE -3487703074,3487703074,A2 +3487703074,3487703074,US 3487703075,3487704849,DE 3487704850,3487704850,NG 3487704851,3487704851,DE 3487704852,3487704853,NG 3487704854,3487705855,DE -3487705856,3487706367,A2 +3487705856,3487706367,US 3487706368,3487706623,RU -3487706624,3487707135,A2 -3487707136,3487725567,US +3487706624,3487725567,US 3487725568,3487727615,TW 3487727616,3487766527,US 3487766528,3487768575,CA @@ -73956,7 +75562,9 @@ 3487891456,3487907839,CA 3487907840,3488014335,US 3488014336,3488022527,CA -3488022528,3488071679,US +3488022528,3488049151,US +3488051200,3488065535,US +3488067584,3488071679,US 3488071680,3488072703,CA 3488072704,3488079871,US 3488079872,3488083967,CA @@ -73966,30 +75574,25 @@ 3488112640,3488120831,CA 3488120832,3488290815,US 3488290816,3488291839,IN -3488291840,3488300287,US -3488300288,3488300543,A2 -3488300544,3488307199,US +3488291840,3488307199,US 3488307200,3488308223,IN 3488308224,3488350207,US 3488350208,3488415743,CA -3488415744,3488718847,US -3488718848,3488719615,A2 -3488719616,3488719871,US -3488719872,3488720639,A2 -3488720640,3488720895,US -3488720896,3488721697,A2 -3488721698,3488721698,US -3488721699,3488722175,A2 -3488722176,3488722431,US -3488722432,3488726015,A2 -3488726016,3488726271,US -3488726272,3488727039,A2 -3488727040,3488940031,US +3488415744,3488909311,US +3488911360,3488940031,US 3488940032,3488956415,CA 3488956416,3488989183,US 3488989184,3489005567,CA 3489005568,3489136639,US -3489136640,3489267711,MX +3489136640,3489153535,MX +3489154048,3489155583,MX +3489156608,3489160191,MX +3489161216,3489163775,MX +3489164288,3489166591,MX +3489166848,3489167615,MX +3489167872,3489168127,MX +3489169408,3489185791,MX +3489193984,3489267711,MX 3489267712,3489341439,US 3489341440,3489345535,CA 3489345536,3489464319,US @@ -74015,7 +75618,9 @@ 3490267136,3490488319,US 3490488320,3490489343,PR 3490489344,3491381247,US -3491381248,3491389439,BM +3491381248,3491381503,BM +3491381504,3491381759,KY +3491381760,3491389439,BM 3491389440,3491477503,US 3491477504,3491478527,VI 3491478528,3491651583,US @@ -74026,27 +75631,27 @@ 3491969024,3491970047,PR 3491970048,3492151295,US 3492151296,3492167679,CA -3492167680,3492588132,US -3492588133,3492588133,PR -3492588134,3492669951,US +3492167680,3492669951,US 3492669952,3492671487,PA -3492671488,3492815455,US -3492815456,3492815487,GB -3492815488,3492845823,US -3492845824,3492846079,CH -3492846080,3492867071,US +3492671488,3492858111,US +3492858112,3492858367,SA +3492858368,3492867071,US 3492867072,3492867327,FR -3492867328,3492869631,US +3492867328,3492868607,US +3492868608,3492868863,MX +3492868864,3492869631,US 3492869632,3492869887,BR -3492869888,3492893951,US -3492893952,3492894207,GB -3492894208,3492894975,US +3492869888,3492886527,US +3492886528,3492886559,GB +3492886560,3492886591,US +3492886592,3492886783,GB +3492886784,3492894975,US 3492894976,3492895231,BE 3492895232,3492905983,US 3492905984,3492906239,FR -3492906240,3492906495,US -3492906496,3492906751,EU -3492906752,3492912127,US +3492906240,3492908415,US +3492908416,3492908543,CA +3492908544,3492912127,US 3492912128,3492912151,GB 3492912152,3492912159,US 3492912160,3492912383,GB @@ -74054,15 +75659,15 @@ 3492917248,3492917503,VI 3492917504,3492923391,US 3492923392,3492923647,GB -3492923648,3492926079,US -3492926080,3492926095,EU -3492926096,3492933376,US -3492933377,3492933377,CH -3492933378,3492934111,US +3492923648,3492933375,US +3492933376,3492933631,CH +3492933632,3492934111,US 3492934112,3492934143,GB -3492934144,3492950863,US +3492934144,3492950783,US +3492950784,3492950863,GB 3492950864,3492950879,DE -3492950880,3492954879,US +3492950880,3492951039,GB +3492951040,3492954879,US 3492954880,3492955135,GB 3492955136,3492960255,US 3492960256,3492960511,ES @@ -74080,19 +75685,22 @@ 3493011328,3493011455,GB 3493011456,3493013247,US 3493013248,3493013503,MX -3493013504,3493014527,US -3493014528,3493014560,GB -3493014561,3493014592,US -3493014593,3493014783,GB -3493014784,3493029341,US +3493013504,3493013759,US +3493013760,3493014015,GB +3493014016,3493014627,US +3493014628,3493014628,GB +3493014629,3493029341,US 3493029342,3493029342,GB 3493029343,3493039359,US 3493039360,3493039615,AR 3493039616,3493050367,US -3493050368,3493050464,FR -3493050465,3493050496,US -3493050497,3493050623,FR -3493050624,3493061119,US +3493050368,3493050463,FR +3493050464,3493050495,US +3493050496,3493050623,FR +3493050624,3493050879,GB +3493050880,3493052031,US +3493052032,3493052159,ES +3493052160,3493061119,US 3493061120,3493061375,BR 3493061376,3493062911,US 3493062912,3493063167,DE @@ -74108,7 +75716,10 @@ 3493881856,3493882879,CA 3493882880,3493900371,US 3493900372,3493900375,GB -3493900376,3493936127,US +3493900376,3493901023,US +3493901024,3493901031,HK +3493901032,3493928959,US +3493931008,3493936127,US 3493936128,3493937151,CA 3493937152,3493939455,US 3493939456,3493939711,CA @@ -74121,24 +75732,28 @@ 3493987328,3493990399,US 3493990400,3493991423,CA 3493991424,3493998591,US -3493998592,3494000639,AI +3493998592,3493998847,AI +3493998848,3493999359,KN +3493999360,3494000639,AI 3494000640,3494003711,US 3494003712,3494004735,CA 3494004736,3494009855,US 3494009856,3494010879,CA 3494010880,3494014975,US 3494014976,3494017023,CA -3494017024,3494044671,US +3494017024,3494043647,US 3494044672,3494045695,CA 3494045696,3494049791,US 3494049792,3494051839,CA -3494051840,3494075391,US +3494051840,3494059007,US +3494060032,3494075391,US 3494075392,3494076415,CA 3494076416,3494088703,US 3494088704,3494090751,CA 3494090752,3494094847,US 3494094848,3494095871,CA -3494095872,3494121471,US +3494095872,3494106111,US +3494107136,3494121471,US 3494121472,3494122495,CA 3494122496,3494125567,US 3494125568,3494126591,CA @@ -74152,7 +75767,7 @@ 3494168576,3494170623,CA 3494170624,3494181631,US 3494181632,3494181887,SN -3494181888,3494184959,US +3494182912,3494184959,US 3494184960,3494187007,CA 3494187008,3494191359,US 3494191360,3494191615,DE @@ -74170,7 +75785,8 @@ 3494272000,3494273023,KN 3494273024,3494275071,US 3494275072,3494277119,CA -3494277120,3494302719,US +3494277120,3494294527,US +3494295040,3494302719,US 3494302720,3494303743,CA 3494303744,3494310911,US 3494310912,3494311935,CA @@ -74195,19 +75811,20 @@ 3494425600,3494432767,US 3494432768,3494433791,CA 3494433792,3494437887,US -3494437888,3494438911,GP +3494437888,3494438655,GP +3494438656,3494438911,DM 3494438912,3494455295,US 3494455296,3494456319,CA 3494456320,3494459391,US 3494459392,3494460415,CA 3494460416,3494464511,US 3494464512,3494465535,CA -3494465536,3494510591,US +3494465536,3494470655,US +3494471680,3494510591,US 3494510592,3494512639,CA 3494512640,3494516735,US 3494516736,3494517759,CA -3494517760,3494539263,US -3494539264,3494540031,A2 +3494517760,3494540031,US 3494540032,3494540287,UG 3494540288,3494563839,US 3494563840,3494565887,CA @@ -74221,7 +75838,8 @@ 3494624256,3494625279,CA 3494625280,3494627327,US 3494627328,3494628351,BM -3494628352,3494651903,US +3494628352,3494646783,US +3494647808,3494651903,US 3494651904,3494652927,CA 3494652928,3494660095,US 3494660096,3494661119,CA @@ -74233,33 +75851,32 @@ 3494727680,3494729727,CA 3494729728,3494730751,US 3494730752,3494731775,CA -3494731776,3494747135,US +3494731776,3494743039,US +3494744064,3494747135,US 3494747136,3494748159,CA -3494748160,3494757375,US +3494748160,3494749695,US +3494750208,3494757375,US 3494757376,3494758399,CA 3494758400,3494776831,US 3494776832,3494777855,CA 3494777856,3494785023,US -3494785024,3494785279,GP -3494785280,3494786303,MF -3494786304,3494786559,GP -3494786560,3494787071,MF -3494787072,3494787327,A2 +3494785024,3494787071,MF +3494787072,3494787327,CA 3494787328,3494787583,NG -3494787584,3494788095,A2 +3494787584,3494788095,CA 3494788096,3494788351,NG 3494788352,3494788607,LY -3494788608,3494789119,A2 -3494789120,3494852607,US +3494788608,3494789119,CA +3494789120,3494830079,US +3494831104,3494852607,US 3494852608,3494854655,CA 3494854656,3494862847,US -3494862848,3494863103,GP -3494863104,3494863359,DM -3494863360,3494863871,GP +3494862848,3494863871,GP 3494863872,3494866943,US 3494866944,3494867967,CA 3494867968,3494868991,US -3494870016,3494893567,US +3494870016,3494879231,US +3494881280,3494893567,US 3494893568,3494894591,CA 3494894592,3494917119,US 3494917120,3494917631,CA @@ -74293,7 +75910,8 @@ 3495090176,3495091199,KY 3495091200,3495098367,US 3495098368,3495100415,CA -3495100416,3495120895,US +3495100416,3495113727,US +3495114752,3495120895,US 3495120896,3495122943,AG 3495122944,3495123423,US 3495123424,3495123439,IN @@ -74301,19 +75919,21 @@ 3495123456,3495123967,GB 3495123968,3495153663,US 3495153664,3495155711,CA -3495155712,3495192575,US +3495155712,3495157759,US +3495159808,3495192575,US 3495192576,3495193599,CA 3495193600,3495215103,US 3495215104,3495217151,VI 3495217152,3495219199,VC -3495219200,3495251967,US +3495219200,3495239679,US +3495241728,3495251967,US 3495251968,3495254015,CA 3495254016,3495260159,US 3495260160,3495261183,CA -3495261184,3495285759,US +3495262208,3495271423,US +3495272448,3495285759,US 3495286784,3495288831,CA -3495288832,3495331839,US -3495331840,3495332863,A2 +3495288832,3495332863,US 3495332864,3495333887,CA 3495333888,3495349247,US 3495349248,3495350271,CA @@ -74341,18 +75961,18 @@ 3495475200,3495477247,CA 3495477248,3495478271,US 3495478272,3495479295,CA -3495479296,3495505919,US +3495479296,3495501823,US +3495502848,3495505919,US 3495505920,3495507967,CA 3495507968,3495508991,US 3495510016,3495515135,US 3495515136,3495516159,CA -3495516160,3495526399,US +3495516160,3495521279,US +3495522304,3495526399,US 3495526400,3495527423,CA -3495527424,3495542783,US -3495542784,3495544063,A2 +3495527424,3495544063,US 3495544064,3495544319,NG -3495544320,3495544831,A2 -3495544832,3495551999,US +3495544320,3495551999,US 3495552000,3495553023,BM 3495553024,3495579647,US 3495579648,3495581695,CA @@ -74360,11 +75980,15 @@ 3495583744,3495585791,CA 3495585792,3495587839,US 3495587840,3495588863,MS -3495588864,3495618559,US +3495588864,3495593983,US +3495594496,3495595519,US +3495596032,3495618559,US 3495618560,3495619583,CA 3495619584,3495620607,US 3495620608,3495622655,CA -3495622656,3495673855,US +3495622656,3495643135,US +3495645184,3495647231,US +3495648000,3495673855,US 3495673856,3495674879,MF 3495674880,3495675903,VG 3495675904,3495688191,US @@ -74374,7 +75998,8 @@ 3495696384,3495703551,US 3495703552,3495704063,GB 3495704064,3495704575,CA -3495704576,3495718911,US +3495704576,3495712767,US +3495714816,3495718911,US 3495718912,3495723007,CA 3495723008,3495724031,US 3495724032,3495727103,CA @@ -74382,19 +76007,24 @@ 3495749632,3495749856,CA 3495749857,3495749861,RU 3495749862,3495750655,CA -3495750656,3495815167,US +3495750656,3495792639,US +3495794688,3495815167,US 3495815168,3495817215,CA 3495817216,3495828479,US 3495828480,3495829503,CA 3495829504,3495837695,US -3495837696,3495838463,CA +3495837696,3495837703,CA +3495837704,3495837711,US +3495837712,3495838463,CA 3495838464,3495847935,US 3495847936,3495849983,CA 3495849984,3495862271,US 3495862272,3495864319,CA 3495864320,3495865343,GP 3495865344,3495866367,US -3495866368,3495868415,LC +3495866368,3495866495,VC +3495866496,3495866879,LC +3495866880,3495868415,VC 3495868416,3495871487,US 3495871488,3495872511,CA 3495872512,3495896063,US @@ -74439,16 +76069,9 @@ 3496951808,3496959999,CA 3496960000,3497066495,US 3497066496,3497082879,CA -3497082880,3497161735,US -3497161736,3497161743,MT -3497161744,3497161759,US -3497161760,3497161767,PT -3497161768,3497161775,MT -3497161776,3497161895,US -3497161896,3497161903,MT -3497161904,3497161935,US -3497161936,3497161943,MT -3497161944,3497164799,US +3497082880,3497163167,US +3497163168,3497163175,GB +3497163176,3497164799,US 3497164800,3497181183,CA 3497181184,3497410559,US 3497410560,3497431039,CA @@ -74457,7 +76080,7 @@ 3497451520,3497664255,US 3497664256,3497664511,NL 3497664512,3497717759,US -3497717760,3497721855,A2 +3497717760,3497721855,CA 3497721856,3497778943,US 3497778944,3497779199,CA 3497779200,3497820159,US @@ -74547,9 +76170,7 @@ 3506765824,3506831359,CA 3506831360,3506964479,US 3506964480,3506966527,TW -3506966528,3506972927,US -3506972928,3506973183,A2 -3506973184,3506977791,US +3506966528,3506977791,US 3506977792,3506978815,NL 3506978816,3506986751,US 3506986752,3506987007,DE @@ -74557,9 +76178,7 @@ 3507013632,3507015679,DE 3507015680,3507019775,US 3507019776,3507021823,GB -3507021824,3507022079,US -3507022080,3507022335,A2 -3507022336,3507023871,US +3507021824,3507023871,US 3507023872,3507024383,GB 3507024384,3507024639,AU 3507024640,3507025919,GB @@ -74616,10 +76235,8 @@ 3509538304,3509538559,US 3509538560,3509538815,CA 3509538816,3509539583,US -3509539584,3509539839,CA -3509539840,3509539967,US -3509539968,3509540031,CA -3509540032,3509541375,US +3509539584,3509540095,CA +3509540096,3509541375,US 3509541376,3509541503,CA 3509541504,3509541631,US 3509541632,3509541887,CA @@ -74687,23 +76304,20 @@ 3510935552,3510943743,CA 3510943744,3511140351,US 3511140352,3511156735,CA -3511156736,3511256063,US -3511256064,3511256319,US -3511256320,3511258367,US -3511258368,3511258623,US -3511258624,3511260159,US -3511260160,3511260415,US -3511260416,3511260927,US -3511260928,3511261183,US -3511261184,3511812095,US +3511156736,3511314431,US +3511316480,3511812095,US 3511812096,3511844863,CA 3511844864,3512012095,US 3512012096,3512012159,GB 3512012160,3512019135,US 3512019136,3512019151,MX -3512019152,3512045055,US +3512019152,3512043519,US +3512043520,3512043775,FI +3512043776,3512045055,US 3512045056,3512045311,IE -3512045312,3512053247,US +3512045312,3512052735,US +3512052736,3512052991,FI +3512052992,3512053247,US 3512053248,3512053503,MY 3512053504,3512066559,US 3512066560,3512066815,BE @@ -74757,17 +76371,13 @@ 3512401920,3512418303,US 3512418304,3512451071,CA 3512451072,3512467455,PR -3512467456,3512502530,US -3512502531,3512502531,CA -3512502532,3512581375,US +3512467456,3512581375,US 3512581376,3512582143,CN 3512582144,3512593151,US 3512593152,3512593279,GB 3512593280,3512593663,US 3512593664,3512593791,JP -3512593792,3512593919,US -3512593920,3512594175,AP -3512594176,3512647679,US +3512593792,3512647679,US 3512647680,3512655871,TT 3512655872,3512696831,US 3512696832,3512703231,SE @@ -74810,21 +76420,27 @@ 3514993992,3514994007,GB 3514994008,3514994023,DK 3514994024,3514994049,GB -3514994050,3514994050,EU +3514994050,3514994050,US 3514994051,3514994175,GB 3514994176,3515001869,US 3515001870,3515001873,GB 3515001874,3515007869,US 3515007870,3515007870,GB -3515007871,3515136511,US -3515136512,3515136767,GB -3515136768,3515301887,US +3515007871,3515082751,US +3515084800,3515222271,US +3515222272,3515224831,TR +3515224832,3515301887,US 3515301888,3515318271,CA 3515318272,3515596799,US 3515596800,3515613183,CA 3515613184,3515711487,US 3515711488,3515731967,CA -3515731968,3515965439,US +3515731968,3515736063,US +3515736064,3515744255,DE +3515744256,3515760639,CA +3515760640,3515844095,US +3515844096,3515844607,GB +3515844608,3515965439,US 3515965440,3515973631,CA 3515973632,3515990015,US 3515990016,3516006399,CA @@ -74858,11 +76474,9 @@ 3517233152,3517235199,GU 3517235200,3517383935,US 3517383936,3517384191,CA -3517384192,3517385407,US -3517385408,3517385439,CA -3517385440,3517388031,US -3517388032,3517388287,CA -3517388288,3517389311,US +3517384192,3517385215,US +3517385216,3517385471,CA +3517385472,3517389311,US 3517389312,3517389567,CA 3517389568,3517390335,US 3517390336,3517390591,CA @@ -74876,7 +76490,9 @@ 3517395200,3517395455,CA 3517395456,3517396111,US 3517396112,3517396127,CA -3517396128,3517396751,US +3517396128,3517396223,US +3517396224,3517396479,CA +3517396480,3517396751,US 3517396752,3517396767,CA 3517396768,3517397759,US 3517397760,3517398015,CA @@ -74890,9 +76506,9 @@ 3517411840,3517412095,CA 3517412096,3517416191,US 3517416192,3517416447,CA -3517416448,3517416919,US -3517416920,3517416927,CA -3517416928,3517420375,US +3517416448,3517416703,US +3517416704,3517416959,CA +3517416960,3517420375,US 3517420376,3517420383,CA 3517420384,3517423423,US 3517423424,3517423455,CA @@ -74906,7 +76522,9 @@ 3517430688,3517430719,CA 3517430720,3517431807,US 3517431808,3517432063,CA -3517432064,3517438943,US +3517432064,3517436927,US +3517436928,3517437183,CA +3517437184,3517438943,US 3517438944,3517438975,CA 3517438976,3517439743,US 3517439744,3517439999,CA @@ -74933,9 +76551,7 @@ 3517603648,3517603711,US 3517603712,3517606207,SE 3517606208,3517606399,US -3517606400,3517606911,SE -3517606912,3517607935,US -3517607936,3517608191,SE +3517606400,3517608191,SE 3517608192,3517608447,US 3517608448,3517608703,SE 3517608704,3517609727,US @@ -74944,9 +76560,11 @@ 3517644800,3517710335,CA 3517710336,3517718527,US 3517718528,3517726719,CA -3517726720,3518062591,US +3517726720,3518056447,US +3518058496,3518062591,US 3518062592,3518066687,CA -3518066688,3518431231,US +3518066688,3518392319,US +3518394368,3518431231,US 3518431232,3518439423,CA 3518439424,3518463999,US 3518464000,3518472191,CA @@ -74962,8 +76580,9 @@ 3519351552,3519351807,GB 3519351808,3519381503,US 3519381504,3519397887,CA -3519397888,3519475711,US -3519475712,3519477759,A2 +3519397888,3519467519,US +3519469568,3519475711,US +3519475712,3519477759,DE 3519477760,3519676415,US 3519676416,3519709183,CA 3519709184,3519741951,US @@ -74976,11 +76595,11 @@ 3519934464,3519938559,CA 3519938560,3520020479,US 3520020480,3520036863,CA -3520036864,3520356351,US +3520036864,3520135167,US +3520167936,3520344063,US +3520348160,3520356351,US 3520356352,3520364543,ZA -3520364544,3520369096,US -3520369097,3520369097,US -3520369098,3520397311,US +3520364544,3520397311,US 3520401408,3520413439,US 3520413440,3520413695,CA 3520413696,3520454655,US @@ -74991,9 +76610,7 @@ 3520675840,3520692223,CA 3520692224,3520937983,US 3520937984,3520954367,CA -3520954368,3520978943,US -3520978944,3520979711,BZ -3520979712,3520999423,US +3520954368,3520999423,US 3520999424,3521003519,CA 3521003520,3521028095,US 3521028096,3521032191,CA @@ -75005,7 +76622,16 @@ 3521249280,3521314815,CA 3521314816,3521347583,US 3521347584,3521363967,CA -3521363968,3521904639,US +3521363968,3521802239,US +3521806336,3521888483,US +3521888484,3521888484,KW +3521888485,3521896927,US +3521896928,3521896935,NG +3521896936,3521899263,US +3521899264,3521899271,KW +3521899272,3521904148,US +3521904149,3521904149,NG +3521904150,3521904639,US 3521904640,3521921023,JM 3521921024,3521965055,US 3521965056,3521966079,DE @@ -75017,11 +76643,10 @@ 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,3522902015,US +3522871296,3522893823,US +3522895872,3522902015,US 3522902016,3522903039,CA 3522903040,3522937855,US 3522937856,3522938367,GB @@ -75065,14 +76690,11 @@ 3523575808,3523583999,CN 3523584000,3523601663,HK 3523601664,3523601919,SA -3523601920,3523603199,HK -3523603200,3523603455,US -3523603456,3523603711,HK -3523603712,3523603967,EU -3523603968,3523674111,HK +3523601920,3523674111,HK 3523674112,3523682303,FJ 3523682304,3523686399,NZ -3523686400,3523690495,AU +3523686400,3523688447,AU +3523688704,3523690239,AU 3523690496,3523698687,IN 3523698688,3523707903,JP 3523707904,3523708159,AU @@ -75103,22 +76725,20 @@ 3524730880,3524739071,CN 3524739072,3524743167,ID 3524743168,3524745727,MP -3524745728,3524745983,GU -3524745984,3524747263,MP +3524745728,3524746239,GU +3524746240,3524747263,MP 3524747264,3524755455,PH 3524755456,3524756223,AU 3524756224,3524756479,SG 3524756480,3524756991,AU 3524756992,3524757247,SG 3524757248,3524758015,AU -3524758016,3524758317,SG -3524758318,3524758318,AU -3524758319,3524758783,SG +3524758016,3524758271,SG +3524758272,3524758527,AU +3524758528,3524758783,SG 3524758784,3524759551,AU 3524759552,3524760575,SG -3524760576,3524760831,AU -3524760832,3524761087,SG -3524761088,3524761343,AU +3524760576,3524761343,AU 3524761344,3524761599,SG 3524761600,3524761855,AU 3524761856,3524763647,SG @@ -75164,13 +76784,11 @@ 3528441856,3528445951,JP 3528445952,3528450047,ID 3528450048,3528458239,CN -3528458240,3528474623,AP +3528458240,3528474623,AF 3528474624,3528482815,TW 3528482816,3528491007,KR 3528491008,3528507391,AU -3528507392,3528576767,JP -3528576768,3528577023,AP -3528577024,3528589311,JP +3528507392,3528589311,JP 3528589312,3528720383,CN 3528720384,3528785919,AU 3528785920,3528851455,TW @@ -75190,14 +76808,23 @@ 3529089024,3529097215,KR 3529097216,3529113599,JP 3529113600,3531603967,KR -3531603968,3532929279,JP -3532929280,3532929535,AP -3532929536,3534749695,JP -3534749696,3534763775,HK -3534763776,3534764031,AP -3534764032,3534867711,HK -3534867712,3534867967,AP -3534867968,3534880767,HK +3531603968,3533703167,JP +3533703168,3533703423,HK +3533703424,3534749695,JP +3534749696,3534758043,HK +3534758044,3534758143,AU +3534758144,3534758147,JP +3534758148,3534758911,HK +3534758912,3534758927,PH +3534758928,3534758975,HK +3534758976,3534759039,PH +3534759040,3534759167,HK +3534759168,3534759183,JP +3534759184,3534760703,HK +3534760704,3534760711,NZ +3534760712,3534761471,HK +3534761472,3534761535,AU +3534761536,3534880767,HK 3534880768,3535273983,KR 3535273984,3535339519,HK 3535339520,3535355903,NZ @@ -75236,9 +76863,7 @@ 3537174528,3537190911,TH 3537190912,3537240063,PH 3537240064,3537305599,IN -3537305600,3537325567,AU -3537325568,3537325823,AP -3537325824,3537371135,AU +3537305600,3537371135,AU 3537371136,3537895423,KR 3537895424,3538943999,JP 3538944000,3539271679,TW @@ -75249,9 +76874,7 @@ 3539402752,3539435519,JP 3539435520,3539464191,AU 3539464192,3539468287,ID -3539468288,3539510271,JP -3539510272,3539510527,AP -3539510528,3541303295,JP +3539468288,3541303295,JP 3541303296,3541565439,TW 3541565440,3541696511,MY 3541696512,3542089727,AU @@ -75262,21 +76885,16 @@ 3544711168,3545235455,TW 3545235456,3546808319,CN 3546808320,3547856895,KR -3547856896,3547916287,JP -3547916288,3547916543,US -3547916544,3548905471,JP +3547856896,3548905471,JP 3548905472,3551002623,CN 3551002624,3556769791,KR 3556769792,3556773887,DE -3556773888,3556786175,EU 3556786176,3556794367,RU 3556794368,3556802559,ES 3556802560,3556810751,SD 3556810752,3556818943,PT 3556818944,3556827135,MD -3556827136,3556837887,NL -3556837888,3556838143,EU -3556838144,3556843519,NL +3556827136,3556843519,NL 3556843520,3556851711,DE 3556851712,3556868095,UA 3556868096,3556876287,GB @@ -75315,7 +76933,7 @@ 3557138432,3557146623,RU 3557146624,3557154815,SK 3557154816,3557171199,RU -3557171200,3557179391,A2 +3557171200,3557179391,IT 3557179392,3557228543,DE 3557228544,3557236735,EE 3557236736,3557244927,ES @@ -75330,9 +76948,7 @@ 3557302272,3557310463,UA 3557310464,3557326847,ES 3557326848,3557335039,DE -3557335040,3557340287,EU 3557340288,3557340927,BE -3557340928,3557343231,EU 3557343232,3557351423,DE 3557351424,3557359615,RU 3557359616,3557359991,JE @@ -75380,7 +76996,9 @@ 3557654528,3557670911,KZ 3557670912,3557679103,GB 3557679104,3557687295,SI -3557687296,3557703679,PL +3557687296,3557701887,PL +3557701888,3557702143,DE +3557702144,3557703679,PL 3557703680,3557711871,DE 3557711872,3557720063,ES 3557720064,3557728255,IT @@ -75416,15 +77034,13 @@ 3557916672,3557920055,NO 3557920056,3557920056,DK 3557920057,3557924863,NO -3557924864,3557925887,FI -3557925888,3557926911,AX -3557926912,3557933055,FI +3557924864,3557925887,AX +3557925888,3557929983,FI +3557929984,3557933055,AX 3557933056,3557941247,IT 3557941248,3557957631,DE 3557957632,3557965823,SI -3557965824,3557969407,DE -3557969408,3557969663,EU -3557969664,3557974015,DE +3557965824,3557974015,DE 3557974016,3557982207,CH 3557982208,3557990399,NO 3557990400,3557998591,PT @@ -75443,22 +77059,11 @@ 3558129664,3558137855,NO 3558137856,3558146047,GB 3558146048,3558154239,RU -3558154240,3558155007,A2 -3558155008,3558155263,US -3558155264,3558156303,A2 -3558156304,3558156311,GB -3558156312,3558157391,A2 +3558154240,3558157391,GB 3558157392,3558157407,AF -3558157408,3558157439,SS -3558157440,3558157599,A2 -3558157600,3558157727,SS -3558157728,3558159359,A2 -3558159360,3558159615,US -3558159616,3558159747,A2 -3558159748,3558159748,US -3558159749,3558160127,A2 -3558160128,3558160383,GB -3558160384,3558162431,A2 +3558157408,3558161663,GB +3558161664,3558161919,TD +3558161920,3558162431,GB 3558162432,3558170623,DE 3558170624,3558178815,GB 3558178816,3558187007,BG @@ -75478,9 +77083,7 @@ 3558268928,3558277119,GI 3558277120,3558285951,GB 3558285952,3558286079,DE -3558286080,3558288639,GB -3558288640,3558288895,EU -3558288896,3558289119,GB +3558286080,3558289119,GB 3558289120,3558289151,FR 3558289152,3558289431,GB 3558289432,3558289439,NL @@ -75490,15 +77093,15 @@ 3558291072,3558291135,DE 3558291136,3558291295,GB 3558291296,3558291311,CH -3558291312,3558292479,GB -3558292480,3558292735,EU -3558292736,3558293055,GB +3558291312,3558293055,GB 3558293056,3558293087,NL 3558293088,3558293503,GB 3558293504,3558301695,RU 3558301696,3558318079,DE 3558318080,3558334463,FR -3558334464,3558342655,CH +3558334464,3558339959,CH +3558339960,3558339967,DE +3558339968,3558342655,CH 3558342656,3558350847,IT 3558350848,3558359039,RU 3558359040,3558367231,GB @@ -75519,7 +77122,9 @@ 3558514688,3558522879,SK 3558522880,3558531071,NL 3558531072,3558539263,RU -3558539264,3558547455,DK +3558539264,3558542591,DK +3558542592,3558542847,SE +3558542848,3558547455,DK 3558547456,3558555647,FR 3558555648,3558572031,AT 3558572032,3558580223,DE @@ -75537,15 +77142,11 @@ 3558670336,3558686719,DE 3558686720,3558703103,TR 3558703104,3558711295,IT -3558711296,3558717695,NL -3558717696,3558717951,EU -3558717952,3558718207,NL -3558718208,3558718463,EU -3558718464,3558719487,NL +3558711296,3558719487,NL 3558719488,3558735871,IL 3558735872,3558741503,GB -3558741504,3558742015,GG -3558742016,3558744063,GB +3558741504,3558741759,GG +3558741760,3558744063,GB 3558744064,3558752255,LB 3558752256,3558760447,SI 3558760448,3558768639,FR @@ -75586,9 +77187,7 @@ 3559055360,3559063551,AM 3559063552,3559079935,CH 3559079936,3559088127,JO -3559088128,3559088383,GB -3559088384,3559088639,BE -3559088640,3559090239,GB +3559088128,3559090239,GB 3559090240,3559090303,BE 3559090304,3559093311,GB 3559093312,3559093319,BE @@ -75618,13 +77217,7 @@ 3559276544,3559284735,GB 3559284736,3559288831,RU 3559288832,3559289855,AZ -3559289856,3559291391,RU -3559291392,3559291443,AZ -3559291444,3559291444,RU -3559291445,3559291445,AZ -3559291446,3559291446,RU -3559291447,3559291647,AZ -3559291648,3559292927,RU +3559289856,3559292927,RU 3559292928,3559301119,JO 3559301120,3559305215,GB 3559305216,3559305471,US @@ -75808,9 +77401,7 @@ 3560767488,3560833023,NL 3560833024,3560841215,GB 3560841216,3560849407,RS -3560849408,3560850431,DE -3560850432,3560850687,NL -3560850688,3560857599,DE +3560849408,3560857599,DE 3560857600,3560865791,SA 3560865792,3560882175,FR 3560882176,3560890367,DE @@ -75908,10 +77499,9 @@ 3560996864,3561005055,GB 3561005056,3561013247,ES 3561013248,3561021439,TR -3561021440,3561021695,EU +3561021440,3561021695,AT 3561021696,3561022463,DE -3561022464,3561022719,EU -3561022720,3561022975,AT +3561022464,3561022975,AT 3561022976,3561037823,DE 3561037824,3561046015,BE 3561046016,3561054207,RU @@ -75921,9 +77511,7 @@ 3561078784,3561095167,CZ 3561095168,3561103359,DE 3561103360,3561111551,UA -3561111552,3561113855,LU -3561113856,3561113856,EU -3561113857,3561119743,LU +3561111552,3561119743,LU 3561119744,3561127935,IT 3561127936,3561136127,DE 3561136128,3561144319,ES @@ -75984,13 +77572,15 @@ 3561578496,3561586687,RU 3561586688,3561594879,BG 3561594880,3561603071,SE -3561603072,3561607391,GB +3561603072,3561604351,GB +3561604352,3561604607,FR +3561604608,3561607391,GB 3561607392,3561607423,FR 3561607424,3561609215,GB 3561609216,3561609471,FR -3561609472,3561616383,GB -3561616384,3561616639,FR -3561616640,3561618943,GB +3561609472,3561616639,GB +3561616640,3561616895,FR +3561616896,3561618943,GB 3561618944,3561619455,ES 3561619456,3561641450,GB 3561641451,3561641451,FR @@ -76011,10 +77601,8 @@ 3561783296,3561799679,RU 3561799680,3561807871,DE 3561807872,3561814015,BE -3561814016,3561814271,LU -3561814272,3561815295,BE -3561815296,3561815551,LU -3561815552,3561816063,BE +3561814016,3561814527,LU +3561814528,3561816063,BE 3561816064,3561824255,VA 3561824256,3561832447,LI 3561832448,3561840639,IT @@ -76030,7 +77618,9 @@ 3561914368,3561922559,ES 3561922560,3561922927,GB 3561922928,3561922943,NL -3561922944,3561925023,GB +3561922944,3561923583,GB +3561923584,3561923839,NL +3561923840,3561925023,GB 3561925024,3561925039,NL 3561925040,3561925343,GB 3561925344,3561925375,NL @@ -76100,7 +77690,9 @@ 3562283008,3562285055,IT 3562285056,3562287103,IE 3562287104,3562289151,IT -3562289152,3562291199,FR +3562289152,3562290175,FR +3562290176,3562290431,GB +3562290432,3562291199,FR 3562291200,3562307583,GB 3562307584,3562315775,NL 3562315776,3562323967,GB @@ -76164,9 +77756,7 @@ 3562848256,3562856447,HR 3562856448,3562864639,UA 3562864640,3562872831,DE -3562872832,3562874623,DK -3562874624,3562874879,SE -3562874880,3562881023,DK +3562872832,3562881023,DK 3562881024,3562889215,GB 3562889216,3562897407,LV 3562897408,3562905599,RO @@ -76187,9 +77777,7 @@ 3563011072,3563012095,DE 3563012096,3563020287,FR 3563020288,3563028479,DE -3563028480,3563032575,IR -3563032576,3563033599,BG -3563033600,3563036671,IR +3563028480,3563036671,IR 3563036672,3563044863,BG 3563044864,3563053055,ES 3563053056,3563061247,GB @@ -76219,14 +77807,10 @@ 3563241472,3563257855,TR 3563257856,3563268351,FR 3563268352,3563268607,BE -3563268608,3563284991,FR -3563284992,3563285247,LU -3563285248,3563290623,FR +3563268608,3563290623,FR 3563290624,3563315199,DE 3563315200,3563323391,DK -3563323392,3563323647,EU 3563323648,3563329791,GB -3563329792,3563331583,EU 3563331584,3563339775,DE 3563339776,3563347967,NG 3563347968,3563356159,GB @@ -76251,7 +77835,6 @@ 3563503616,3563511807,GB 3563511808,3563519999,DE 3563520000,3563528191,FR -3563528192,3563536383,DE 3563536384,3563544575,CH 3563544576,3563552767,RU 3563552768,3563560959,SI @@ -76282,9 +77865,9 @@ 3563823104,3563831295,DE 3563831296,3563847679,RU 3563847680,3563848447,GB -3563848448,3563848703,EU +3563848448,3563848703,ES 3563848704,3563848847,GB -3563848848,3563848855,EU +3563848848,3563848855,ES 3563848856,3563854207,GB 3563854208,3563854215,NL 3563854216,3563854263,GB @@ -76293,7 +77876,9 @@ 3563855872,3563864063,AT 3563864064,3563872255,GB 3563872256,3563880447,RU -3563880448,3563888639,TR +3563880448,3563884651,CY +3563884652,3563884652,TR +3563884653,3563888639,CY 3563888640,3563896831,DE 3563896832,3563899903,HU 3563899904,3563900159,SK @@ -76314,9 +77899,7 @@ 3564019712,3564023807,GB 3564023808,3564024831,IT 3564024832,3564027903,GB -3564027904,3564036095,DE -3564036096,3564043263,A2 -3564043264,3564044287,DE +3564027904,3564044287,DE 3564044288,3564052479,CZ 3564052480,3564060671,GB 3564060672,3564068863,RU @@ -76329,8 +77912,7 @@ 3564129728,3564129743,PH 3564129744,3564134399,IT 3564134400,3564142591,KG -3564142592,3564146175,DE -3564146176,3564150783,DK +3564142592,3564150783,DK 3564150784,3564158831,SE 3564158832,3564158839,FI 3564158840,3564158975,SE @@ -76347,7 +77929,6 @@ 3564265472,3564273663,NL 3564273664,3564306431,DE 3564306432,3564314623,TR -3564314624,3564322815,GB 3564322816,3564331007,IT 3564339200,3564355583,GB 3564355584,3564363775,NL @@ -76358,9 +77939,7 @@ 3564396544,3564404735,RU 3564404736,3564412927,BG 3564412928,3564421119,IL -3564421120,3564428185,SA -3564428186,3564428186,A2 -3564428187,3564429311,SA +3564421120,3564429311,SA 3564429312,3564437503,KZ 3564437504,3564445695,LT 3564445696,3564453887,BG @@ -76369,20 +77948,16 @@ 3564470272,3564478463,IL 3564478464,3564486655,LU 3564486656,3564494847,CH -3564494848,3564503039,EU 3564503040,3564511231,JO 3564511232,3564519423,RU 3564519424,3564527615,SI 3564527616,3564543999,SA 3564544000,3564560383,DE -3564560384,3564560531,GB -3564560532,3564560532,EU -3564560533,3564571695,GB +3564560384,3564571695,GB 3564571696,3564571703,DE 3564571704,3564572427,GB 3564572428,3564572431,ES 3564572432,3564576767,GB -3564576768,3564584959,RU 3564584960,3564593151,SA 3564593152,3564601343,RU 3564601344,3564609535,EE @@ -76390,20 +77965,18 @@ 3564634112,3564642303,MK 3564642304,3564650495,CH 3564650496,3564666879,NL -3564666880,3564668927,IE -3564668928,3564669183,EU -3564669184,3564675071,IE +3564666880,3564675071,IE 3564675072,3564683263,RU 3564683264,3564691455,IR 3564691456,3564699647,GI 3564699648,3564716031,GB 3564716032,3564724223,IT 3564724224,3564732415,NL -3564732416,3564734207,GB -3564734208,3564734457,EU +3564732416,3564733183,GB +3564733184,3564733215,DE +3564733216,3564734457,GB 3564734458,3564734458,DE -3564734459,3564734463,EU -3564734464,3564734743,GB +3564734459,3564734743,GB 3564734744,3564734751,DE 3564734752,3564736535,GB 3564736536,3564736543,DE @@ -76421,22 +77994,16 @@ 3564806144,3564814335,BG 3564814336,3564822527,PL 3564822528,3564830719,EG -3564830720,3564831487,BE -3564831488,3564831743,EU -3564831744,3564832511,BE -3564832512,3564832767,EU -3564832768,3564838911,BE +3564830720,3564838911,BE 3564838912,3564847103,DE 3564847104,3564855295,IT 3564855296,3564863487,DE 3564863488,3564879871,NL 3564879872,3564882015,GB 3564882016,3564882031,NL -3564882032,3564882431,GB -3564882432,3564882687,EU -3564882688,3564883071,GB -3564883072,3564883081,NL -3564883082,3564883199,GB +3564882032,3564883071,GB +3564883072,3564883079,NL +3564883080,3564883199,GB 3564883200,3564883455,NL 3564883456,3564886719,GB 3564886720,3564886751,NL @@ -76445,8 +78012,8 @@ 3564889635,3564892735,GB 3564892736,3564892751,NL 3564892752,3564894207,GB -3564894208,3564895232,NL -3564895233,3564896255,GB +3564894208,3564895487,NL +3564895488,3564896255,GB 3564896256,3564904447,RU 3564904448,3564912639,DE 3564912640,3564920831,BG @@ -76461,9 +78028,7 @@ 3564954880,3564955903,GB 3564955904,3564956671,AT 3564956672,3564956927,GB -3564956928,3564958850,AT -3564958851,3564958851,EU -3564958852,3564961791,AT +3564956928,3564961791,AT 3564961792,3564969983,TR 3564969984,3564978175,DE 3564978176,3564986367,GB @@ -76472,9 +78037,13 @@ 3565002752,3565027327,NO 3565027328,3565035519,PL 3565035520,3565036287,IE -3565036288,3565038879,GB +3565036288,3565038079,GB +3565038080,3565038335,IE +3565038336,3565038879,GB 3565038880,3565038895,IE -3565038896,3565039615,GB +3565038896,3565039103,GB +3565039104,3565039359,IE +3565039360,3565039615,GB 3565039616,3565041663,IE 3565041664,3565043711,GB 3565043712,3565051903,AT @@ -76505,162 +78074,84 @@ 3565503488,3565518847,GB 3565518848,3565551615,TR 3565551616,3565682687,GB -3565682688,3565684995,NL -3565684996,3565684996,EU -3565684997,3565748223,NL +3565682688,3565684991,NL +3565684992,3565684995,GB +3565684996,3565684996,NL +3565684997,3565685247,GB +3565685248,3565748223,NL 3565748224,3565752839,GB -3565752840,3565752855,EU 3565752856,3565752879,GB -3565752880,3565752887,EU 3565752888,3565752983,GB -3565752984,3565752991,EU 3565752992,3565752999,GB -3565753000,3565753015,EU 3565753016,3565753031,GB -3565753032,3565753039,EU 3565753040,3565753071,GB -3565753072,3565753079,EU 3565753080,3565753183,GB -3565753184,3565753247,EU 3565753248,3565753279,GB -3565753280,3565753343,EU 3565753344,3565753791,GB -3565753792,3565753799,EU 3565753800,3565753815,GB -3565753816,3565753823,EU 3565753824,3565753831,GB -3565753832,3565753839,EU 3565753840,3565753847,GB -3565753848,3565753983,EU 3565753984,3565754367,GB -3565754368,3565754495,EU 3565754496,3565754511,GB -3565754512,3565754623,EU 3565754624,3565755263,GB -3565755264,3565755279,EU 3565755280,3565755359,GB -3565755360,3565755375,EU 3565755376,3565755583,GB -3565755584,3565755647,EU 3565755648,3565755695,GB -3565755696,3565755703,EU 3565755704,3565755727,GB -3565755728,3565755735,EU 3565755736,3565755831,GB -3565755832,3565755839,EU 3565755840,3565755847,GB -3565755848,3565755855,EU 3565755856,3565755871,GB -3565755872,3565755879,EU 3565755880,3565755919,GB -3565755920,3565755927,EU 3565755928,3565755935,GB -3565755936,3565755943,EU 3565755944,3565755959,GB -3565755960,3565755967,EU 3565755968,3565755999,GB -3565756000,3565756007,EU 3565756008,3565756063,GB -3565756064,3565756071,EU 3565756072,3565756087,GB -3565756088,3565756095,EU 3565756096,3565756119,GB -3565756120,3565756135,EU 3565756136,3565756159,GB -3565756160,3565756287,EU 3565756288,3565760783,GB -3565760784,3565760791,EU 3565760792,3565760799,GB -3565760800,3565760807,EU 3565760808,3565760823,GB -3565760824,3565760831,EU 3565760832,3565760855,GB -3565760856,3565760863,EU 3565760864,3565760935,GB -3565760936,3565760943,EU 3565760944,3565760967,GB -3565760968,3565760975,EU 3565760976,3565761007,GB -3565761008,3565761015,EU 3565761016,3565761279,GB -3565761280,3565761343,EU 3565761344,3565761535,GB -3565761536,3565761543,EU 3565761544,3565761599,GB -3565761600,3565761615,EU 3565761616,3565761631,GB -3565761632,3565761639,EU 3565761640,3565761647,GB -3565761648,3565761655,EU 3565761656,3565761687,GB -3565761688,3565761703,EU 3565761704,3565761727,GB -3565761728,3565761751,EU 3565761752,3565761783,GB -3565761784,3565761791,EU 3565761792,3565762047,GB 3565762048,3565762303,ZA -3565762304,3565762559,EU 3565762560,3565762815,GB -3565762816,3565763071,EU 3565763072,3565763455,GB -3565763456,3565763487,EU 3565763488,3565763599,GB -3565763600,3565763615,EU 3565763616,3565763671,GB -3565763672,3565763679,EU 3565763680,3565763703,GB -3565763704,3565763719,EU 3565763720,3565763735,GB -3565763736,3565763743,EU 3565763744,3565763751,GB -3565763752,3565763759,EU 3565763760,3565763799,GB -3565763800,3565763807,EU 3565763808,3565763815,GB -3565763816,3565763831,EU 3565763832,3565763839,GB -3565763840,3565763883,EU 3565763884,3565763891,GB -3565763892,3565764095,EU 3565764096,3565764183,GB -3565764184,3565764191,EU 3565764192,3565764207,GB -3565764208,3565764255,EU -3565764256,3565764367,GB -3565764368,3565764375,EU -3565764376,3565764439,GB -3565764440,3565764447,EU -3565764448,3565764455,GB -3565764456,3565764463,EU -3565764464,3565764551,GB -3565764552,3565764575,EU -3565764576,3565766655,GB -3565766656,3565766911,EU +3565764256,3565766655,GB 3565766912,3565767167,GB -3565767168,3565767175,EU 3565767176,3565767255,GB -3565767256,3565767271,EU 3565767272,3565767287,GB -3565767288,3565767295,EU 3565767296,3565767351,GB -3565767352,3565767359,EU 3565767360,3565767399,GB -3565767400,3565767407,EU 3565767408,3565767999,GB -3565768000,3565768207,EU 3565768208,3565768271,GB -3565768272,3565768279,EU 3565768280,3565768295,GB -3565768296,3565768311,EU 3565768312,3565768335,GB -3565768336,3565768447,EU 3565768448,3565768575,GB -3565768576,3565768703,EU 3565768704,3565768983,GB -3565768984,3565769215,EU 3565769216,3565769471,GB -3565769472,3565777919,EU 3565777920,3565813759,GB 3565813760,3565879295,SA 3565879296,3566010367,GB @@ -76675,161 +78166,91 @@ 3566354432,3566370815,RO 3566370816,3566403583,TR 3566403584,3566436351,CH -3566436352,3566438546,IE -3566438547,3566438547,EU -3566438548,3566469119,IE +3566436352,3566469119,IE 3566469120,3566534655,GB 3566534656,3566551039,DE 3566551040,3566600191,FI 3566600192,3566607359,IL 3566607360,3566607615,GN 3566607616,3566665727,IL -3566665728,3566723287,SE -3566723288,3566723543,RU -3566723544,3566739455,SE +3566665728,3566723071,SE +3566723072,3566723327,RU +3566723328,3566739455,SE 3566739456,3566747647,RU 3566747648,3566764031,GR 3566764032,3566796799,AT 3566796800,3566862335,NL 3566862336,3566895103,TR 3566895104,3566927871,KZ -3566927872,3566976767,FR -3566976768,3566977023,EU -3566977024,3566988799,FR -3566988800,3566989055,GB -3566989056,3566993407,FR +3566927872,3566993407,FR 3566993408,3567058943,TR 3567058944,3567124479,FR -3567124480,3567124991,EU 3567124992,3567125023,GB -3567125024,3567125247,EU 3567125248,3567125503,GB -3567125504,3567126687,EU 3567126688,3567126759,GB -3567126760,3567127551,EU 3567127552,3567127807,GB -3567127808,3567129855,EU 3567129856,3567129887,GB -3567129888,3567130015,EU 3567130016,3567130079,GB -3567130080,3567131383,EU 3567131384,3567131647,GB -3567131648,3567133215,EU 3567133216,3567133247,GB -3567133248,3567133367,EU 3567133368,3567133375,GB -3567133376,3567134207,EU 3567134208,3567134335,GB -3567134336,3567134847,EU 3567134848,3567134975,GB -3567134976,3567135999,EU 3567136000,3567136255,GB -3567136256,3567136511,EU 3567136512,3567136575,GB -3567136576,3567136639,EU 3567136640,3567136671,GB -3567136672,3567136767,EU 3567136768,3567136895,GB -3567136896,3567137023,EU 3567137024,3567137279,GB -3567137280,3567137599,EU 3567137600,3567137663,GB -3567137664,3567137987,EU 3567137988,3567137991,GB -3567137992,3567137999,EU 3567138000,3567138003,GB -3567138004,3567138039,EU 3567138040,3567138047,GB -3567138048,3567140095,EU 3567140096,3567140351,GB -3567140352,3567140863,EU 3567140864,3567140927,GB -3567140928,3567141631,EU 3567141632,3567141887,GB -3567141888,3567142271,EU 3567142272,3567142399,GB -3567142400,3567143431,EU 3567143432,3567143439,GB -3567143440,3567143519,EU 3567143520,3567143551,GB -3567143552,3567143679,EU 3567143680,3567143687,GB -3567143688,3567143871,EU 3567143872,3567143935,GB -3567143936,3567143951,EU 3567143952,3567143967,GB -3567143968,3567144171,EU 3567144172,3567144175,GB -3567144176,3567144319,EU 3567144320,3567144447,GB -3567144448,3567144767,EU 3567144768,3567144831,GB -3567144832,3567147527,EU 3567147528,3567147535,GB -3567147536,3567147551,EU 3567147552,3567147559,GB -3567147560,3567148519,EU 3567148520,3567148527,GB -3567148528,3567148799,EU 3567148800,3567149055,GB -3567149056,3567149087,EU 3567149088,3567149119,GB -3567149120,3567149903,EU 3567149904,3567149911,GB -3567149912,3567149919,EU 3567149920,3567149935,GB -3567149936,3567151135,EU 3567151136,3567151199,GB -3567151200,3567151231,EU 3567151232,3567151263,GB -3567151264,3567151999,EU 3567152000,3567152127,GB -3567152128,3567152159,EU 3567152160,3567152191,GB -3567152192,3567152255,EU 3567152256,3567152383,GB -3567152384,3567152399,EU 3567152400,3567152407,GB -3567152408,3567152639,EU 3567152640,3567152647,GB -3567152648,3567152663,EU 3567152664,3567152671,GB -3567152672,3567152743,EU 3567152744,3567152751,GB -3567152752,3567152831,EU 3567152832,3567152863,GB -3567152864,3567152959,EU 3567152960,3567152991,GB -3567152992,3567153023,EU 3567153024,3567153055,GB -3567153056,3567153599,EU 3567153600,3567153607,GB -3567153608,3567153615,EU 3567153616,3567153623,GB -3567153624,3567153647,EU 3567153648,3567153663,GB -3567153664,3567153687,EU 3567153688,3567153703,GB -3567153704,3567153719,EU 3567153720,3567153727,GB -3567153728,3567153823,EU 3567153824,3567153847,GB -3567153848,3567154303,EU 3567154304,3567154367,GB -3567154368,3567155199,EU 3567155200,3567155967,GB -3567155968,3567156415,EU 3567156416,3567156607,GB -3567156608,3567157247,EU 3567157248,3567165439,CZ 3567165440,3567169535,RU 3567169536,3567173631,MK 3567173632,3567239167,GB 3567239168,3567241215,NL -3567241216,3567241471,EU -3567241472,3567251583,NL -3567251584,3567251711,BE -3567251712,3567255551,NL +3567241472,3567255551,NL 3567255552,3567321087,PL 3567321088,3567324527,GB 3567324528,3567324543,ES @@ -76845,17 +78266,19 @@ 3567389696,3567390719,DE 3567390720,3567391231,GB 3567391232,3567391487,DE -3567391488,3567399935,GB +3567391488,3567399167,GB +3567399168,3567399423,DE +3567399424,3567399935,GB 3567399936,3567401471,DE 3567401472,3567403007,GB 3567403008,3567419391,IT 3567419392,3567427583,SA 3567427584,3567435775,SE -3567435776,3567453183,GB -3567453184,3567453439,ES -3567453440,3567456407,GB +3567435776,3567456407,GB 3567456408,3567456415,ES -3567456416,3567459935,GB +3567456416,3567458305,GB +3567458306,3567458306,ES +3567458307,3567459935,GB 3567459936,3567459943,ES 3567459944,3567465983,GB 3567465984,3567466239,ES @@ -76871,48 +78294,38 @@ 3567516672,3567517695,ES 3567517696,3567583231,RU 3567583232,3567583487,AT -3567583488,3567583743,EU 3567583744,3567583871,AT -3567583872,3567583935,EU 3567583936,3567583999,AT -3567584000,3567584255,EU 3567584256,3567584383,AT -3567584384,3567584399,EU 3567584400,3567584407,AT -3567584408,3567584511,EU 3567584512,3567584639,AT -3567584640,3567585791,EU +3567585280,3567585295,TR 3567585792,3567586303,GB -3567586304,3567587327,EU +3567586304,3567586815,TR 3567587328,3567591423,GB 3567591424,3567599615,IT 3567599616,3567615999,NL -3567616000,3567616525,A2 +3567616000,3567616525,GB 3567616526,3567616526,KE -3567616527,3567616767,A2 +3567616527,3567616767,GB 3567616768,3567617023,US -3567617024,3567618047,A2 +3567617024,3567618047,GB 3567618048,3567619071,IN -3567619072,3567619583,A2 +3567619072,3567619583,GB 3567619584,3567619839,NG -3567619840,3567620095,A2 +3567619840,3567620095,GB 3567620096,3567620351,IN -3567620352,3567626239,A2 +3567620352,3567626239,GB 3567626240,3567626751,TZ -3567626752,3567647487,A2 -3567647488,3567648767,GB +3567626752,3567648767,GB 3567648768,3567665151,BE 3567665152,3567673343,ES 3567673344,3567681535,AT 3567681536,3567714303,ES 3567714304,3567715327,GB -3567715328,3567715583,EU 3567715584,3567715839,GB -3567715840,3567716351,EU 3567716352,3567716607,GB -3567716608,3567718399,EU 3567718400,3567719423,US -3567719424,3567779839,EU 3567779840,3567845375,DE 3567845376,3567861759,GB 3567861760,3567878143,NO @@ -76926,14 +78339,10 @@ 3568435200,3568443391,UA 3568443392,3568476159,NL 3568476160,3568484351,DK -3568484352,3568486655,NL -3568486656,3568486911,EU -3568486912,3568492543,NL +3568484352,3568492543,NL 3568492544,3568500735,RS 3568500736,3568566271,IL -3568566272,3568585471,FR -3568585472,3568585727,EU -3568585728,3568599039,FR +3568566272,3568599039,FR 3568599040,3568631807,PL 3568631808,3568697343,SE 3568697344,3568730111,PL @@ -76944,7 +78353,7 @@ 3568803840,3568812031,IT 3568812032,3568828415,ES 3568828416,3568904191,DE -3568904192,3568904447,EU +3568904192,3568904447,GB 3568904448,3568959487,DE 3568959488,3569025023,AT 3569025024,3569057791,NL @@ -76955,15 +78364,7 @@ 3569075712,3569090559,GB 3569090560,3569123327,RU 3569123328,3569156095,GB -3569156096,3569156351,NL -3569156352,3569156607,EU -3569156608,3569157379,NL -3569157380,3569157380,EU -3569157381,3569165311,NL -3569165312,3569165567,EU -3569165568,3569167871,NL -3569167872,3569168127,EU -3569168128,3569188863,NL +3569156096,3569188863,NL 3569188864,3569221631,IT 3569221632,3569287167,BE 3569287168,3569352703,PL @@ -76979,9 +78380,7 @@ 3569876992,3569942527,RS 3569942528,3570073599,DE 3570073600,3570081791,NL -3570081792,3570098687,CH -3570098688,3570098943,EU -3570098944,3570106367,CH +3570081792,3570106367,CH 3570106368,3570139135,PL 3570139136,3570171903,DE 3570171904,3570204671,NL @@ -77033,11 +78432,7 @@ 3571982336,3572006911,RU 3572006912,3572039679,CH 3572039680,3572047871,BE -3572047872,3572049919,LU -3572049920,3572049983,FR -3572049984,3572050047,LU -3572050048,3572050175,FR -3572050176,3572056063,LU +3572047872,3572056063,LU 3572056064,3572072447,RU 3572072448,3572105215,BG 3572105216,3572170751,FR @@ -77061,11 +78456,11 @@ 3572957184,3573003837,SE 3573003838,3573003838,NO 3573003839,3573022719,SE -3573022720,3573055487,RU +3573022720,3573039103,RU +3573039104,3573039359,GB +3573039360,3573055487,RU 3573055488,3573088255,GB -3573088256,3573101055,CH -3573101056,3573101311,EU -3573101312,3573153791,CH +3573088256,3573153791,CH 3573153792,3573219327,GB 3573219328,3573252095,GR 3573252096,3573284863,NO @@ -77110,7 +78505,7 @@ 3574182400,3574186751,GB 3574186752,3574188031,ES 3574188032,3574190591,GB -3574190592,3574190847,EU +3574190592,3574190847,ES 3574190848,3574191615,GB 3574191616,3574192127,ES 3574192128,3574195199,GB @@ -77122,21 +78517,24 @@ 3574202368,3574267903,NL 3574267904,3574333439,FR 3574333440,3574341631,GB -3574341632,3574348287,EU 3574348288,3574348543,GB -3574348544,3574398975,EU 3574398976,3574464511,PT 3574464512,3574530047,TR 3574530048,3574594559,SE 3574594560,3574595583,GB 3574595584,3574595839,GF 3574595840,3574597631,FR -3574597632,3574597887,GP -3574597888,3574599423,FR +3574597632,3574598143,GP +3574598144,3574598399,MQ +3574598400,3574599423,FR 3574599424,3574599679,MQ -3574599680,3574602239,FR +3574599680,3574601215,FR +3574601216,3574601471,GP +3574601472,3574602239,FR 3574602240,3574602495,GF -3574602496,3574603775,FR +3574602496,3574603263,FR +3574603264,3574603519,GP +3574603520,3574603775,FR 3574603776,3574611967,BG 3574611968,3574628351,HU 3574628352,3574661119,GR @@ -77164,24 +78562,11 @@ 3575513088,3575545855,PT 3575545856,3575562239,FR 3575562240,3575578623,DE -3575578624,3575581439,BE -3575581440,3575581695,EU -3575581696,3575588863,BE -3575588864,3575589119,A2 -3575589120,3575589375,BE -3575589376,3575589631,A2 +3575578624,3575589631,BE 3575589632,3575589887,CY 3575589888,3575590655,BE 3575590656,3575590911,GB -3575590912,3575624703,BE -3575624704,3575624959,EU -3575624960,3575626751,BE -3575626752,3575627007,A2 -3575627008,3575631103,BE -3575631104,3575631359,EU -3575631360,3575638181,BE -3575638182,3575638182,EU -3575638183,3575640063,BE +3575590912,3575640063,BE 3575640064,3575644159,TR 3575644160,3575709695,DK 3575709696,3575742463,AT @@ -77193,301 +78578,150 @@ 3575873536,3575906303,EE 3575906304,3575971839,FR 3575971840,3576037375,ES -3576037376,3576038207,EU 3576038208,3576038271,GB -3576038272,3576038335,EU 3576038336,3576038463,GB -3576038464,3576038527,EU 3576038528,3576038591,GB -3576038592,3576038911,EU 3576038912,3576038975,GB -3576038976,3576039167,EU 3576039168,3576039231,GB -3576039232,3576039359,EU 3576039360,3576039383,GB -3576039384,3576039391,EU 3576039392,3576039455,GB -3576039456,3576039519,EU 3576039520,3576039551,GB -3576039552,3576039583,EU 3576039584,3576039647,GB -3576039648,3576039807,EU 3576039808,3576039839,GB -3576039840,3576039903,EU 3576039904,3576039935,GB -3576039936,3576040063,EU 3576040064,3576040127,GB -3576040128,3576040215,EU 3576040216,3576040223,GB -3576040224,3576040271,EU 3576040272,3576040287,GB -3576040288,3576040351,EU 3576040352,3576040383,GB -3576040384,3576040831,EU 3576040832,3576040959,GB -3576040960,3576041471,EU 3576041472,3576041535,GB -3576041536,3576041727,EU 3576041728,3576041791,GB -3576041792,3576041831,EU 3576041832,3576041847,GB -3576041848,3576041863,EU 3576041864,3576041871,GB -3576041872,3576041879,EU 3576041880,3576041887,GB -3576041888,3576041903,EU 3576041904,3576041919,GB -3576041920,3576041935,EU 3576041936,3576041943,GB -3576041944,3576041951,EU 3576041952,3576041975,GB -3576041976,3576042111,EU 3576042112,3576042239,GB -3576042240,3576042495,EU 3576042496,3576042623,GB -3576042624,3576042687,EU 3576042688,3576042695,GB -3576042696,3576042751,EU 3576042752,3576042815,GB -3576042816,3576045583,EU 3576045584,3576045599,GB -3576045600,3576045663,EU 3576045664,3576045679,GB -3576045680,3576045711,EU 3576045712,3576045735,GB -3576045736,3576045799,EU 3576045800,3576045807,GB -3576045808,3576045815,EU 3576045816,3576045823,GB -3576045824,3576048639,EU 3576048640,3576048767,GB -3576048768,3576048959,EU 3576048960,3576049023,GB -3576049024,3576049151,EU 3576049152,3576050047,GB -3576050048,3576053759,EU 3576053760,3576054911,GB -3576054912,3576055103,EU 3576055104,3576055111,GB -3576055112,3576055119,EU 3576055120,3576055127,GB -3576055128,3576055151,EU 3576055152,3576055167,GB -3576055168,3576055183,EU 3576055184,3576055199,GB -3576055200,3576055207,EU 3576055208,3576055215,GB -3576055216,3576055279,EU 3576055280,3576055551,GB -3576055552,3576055807,EU 3576055808,3576055871,GB -3576055872,3576055935,EU 3576055936,3576055999,GB -3576056000,3576056191,EU 3576056192,3576056255,GB -3576056256,3576056319,EU 3576056320,3576056447,GB -3576056448,3576056703,EU 3576056704,3576056767,GB -3576056768,3576056855,EU 3576056856,3576056871,GB -3576056872,3576056879,EU 3576056880,3576056887,GB -3576056888,3576056919,EU 3576056920,3576056927,GB -3576056928,3576056935,EU 3576056936,3576056943,GB -3576056944,3576056951,EU 3576056952,3576056975,GB -3576056976,3576056991,EU 3576056992,3576056999,GB -3576057000,3576057039,EU 3576057040,3576057055,GB -3576057056,3576057631,EU 3576057632,3576057647,GB -3576057648,3576057711,EU 3576057712,3576057743,GB -3576057744,3576057823,EU 3576057824,3576057839,GB -3576057840,3576058879,EU 3576058880,3576059007,GB -3576059008,3576059647,EU 3576059648,3576059679,GB -3576059680,3576059711,EU 3576059712,3576059743,GB -3576059744,3576059775,EU 3576059776,3576059807,GB -3576059808,3576060287,EU 3576060288,3576060351,GB -3576060352,3576061039,EU 3576061040,3576061055,GB -3576061056,3576061119,EU 3576061120,3576061135,GB -3576061136,3576061183,EU 3576061184,3576061247,GB -3576061248,3576061311,EU 3576061312,3576061439,GB -3576061440,3576061583,EU 3576061584,3576061591,GB -3576061592,3576061619,EU 3576061620,3576061631,GB -3576061632,3576061639,EU 3576061640,3576061647,GB -3576061648,3576061687,EU 3576061688,3576061695,GB -3576061696,3576062463,EU 3576062464,3576062479,GB -3576062480,3576064319,EU 3576064320,3576064448,GB -3576064449,3576064543,EU 3576064544,3576064559,GB -3576064560,3576065407,EU -3576065408,3576065535,GB -3576065536,3576065855,EU 3576065856,3576065887,GB -3576065888,3576066303,EU 3576066304,3576066431,GB -3576066432,3576067071,EU 3576067072,3576067199,GB -3576067200,3576068351,EU 3576068352,3576068479,GB -3576068480,3576068863,EU 3576068864,3576068927,GB -3576068928,3576069055,EU 3576069056,3576069119,GB -3576069120,3576069247,EU 3576069248,3576069279,GB -3576069280,3576069311,EU 3576069312,3576069343,GB -3576069344,3576070695,EU 3576070696,3576070703,GB -3576070704,3576070711,EU 3576070712,3576070719,GB -3576070720,3576070727,EU 3576070728,3576070735,GB -3576070736,3576070775,EU 3576070776,3576070783,GB -3576070784,3576071295,EU 3576071296,3576071423,GB -3576071424,3576071551,EU 3576071552,3576071679,GB -3576071680,3576071935,EU 3576071936,3576071951,GB -3576071952,3576072063,EU 3576072064,3576072079,GB -3576072080,3576072287,EU 3576072288,3576072319,GB -3576072320,3576072415,EU 3576072416,3576072447,GB -3576072448,3576073215,EU 3576073216,3576073279,GB -3576073280,3576074751,EU 3576074752,3576074879,GB -3576074880,3576075263,EU 3576075264,3576075327,GB -3576075328,3576075647,EU 3576075648,3576075711,GB -3576075712,3576075775,EU 3576075776,3576075903,GB -3576075904,3576076271,EU 3576076272,3576076351,GB -3576076352,3576076567,EU 3576076568,3576076575,GB -3576076576,3576076783,EU 3576076784,3576076791,GB -3576076792,3576077439,EU 3576077440,3576077471,GB -3576077472,3576077567,EU 3576077568,3576077695,GB -3576077696,3576077935,EU 3576077936,3576077967,GB -3576077968,3576078143,EU 3576078144,3576078175,GB -3576078176,3576078463,EU 3576078464,3576078591,GB -3576078592,3576079999,EU 3576080000,3576080127,GB -3576080128,3576080223,EU 3576080224,3576080255,GB -3576080256,3576080775,EU 3576080776,3576080783,GB -3576080784,3576080791,EU 3576080792,3576080799,GB -3576080800,3576080807,EU 3576080808,3576080815,GB -3576080816,3576080823,EU 3576080824,3576080831,GB -3576080832,3576082079,EU 3576082080,3576082111,GB -3576082112,3576082191,EU 3576082192,3576082223,GB -3576082224,3576082687,EU 3576082688,3576082943,GB -3576082944,3576084479,EU 3576084480,3576084543,GB -3576084544,3576084607,EU 3576084608,3576084671,GB -3576084672,3576084703,EU 3576084704,3576084735,GB -3576084736,3576084863,EU 3576084864,3576084927,GB -3576084928,3576085183,EU 3576085184,3576085215,GB -3576085216,3576085695,EU 3576085696,3576085711,GB -3576085712,3576086015,EU 3576086016,3576086143,GB -3576086144,3576086367,EU -3576086368,3576086431,GB -3576086432,3576086495,EU +3576086368,3576086399,GB 3576086496,3576086527,GB -3576086528,3576086567,EU 3576086568,3576086571,GB -3576086572,3576086575,EU 3576086576,3576086591,GB -3576086592,3576086599,EU 3576086600,3576086603,GB -3576086604,3576087807,EU 3576087808,3576087823,GB -3576087824,3576087951,EU 3576087952,3576087967,GB -3576087968,3576088031,EU 3576088032,3576088047,GB -3576088048,3576088223,EU 3576088224,3576088231,GB -3576088232,3576088375,EU 3576088376,3576088383,GB -3576088384,3576088479,EU 3576088480,3576088511,GB -3576088512,3576088959,EU 3576088960,3576088967,GB -3576088968,3576089023,EU 3576089024,3576089039,GB -3576089040,3576089439,EU 3576089440,3576089471,GB -3576089472,3576089775,EU 3576089776,3576089791,GB -3576089792,3576091407,EU 3576091408,3576091423,GB -3576091424,3576091455,EU 3576091456,3576091479,GB -3576091480,3576091967,EU -3576091968,3576091983,GB -3576091984,3576091999,EU -3576092000,3576092031,GB -3576092032,3576092127,EU -3576092128,3576092159,GB -3576092160,3576092863,EU +3576091904,3576092159,GB 3576092864,3576092895,GB -3576092896,3576093063,EU 3576093064,3576093071,GB -3576093072,3576093183,EU 3576093184,3576093247,GB -3576093248,3576095231,EU 3576095232,3576096767,GB -3576096768,3576099071,EU 3576099072,3576100863,GB -3576100864,3576101375,EU 3576101376,3576111359,GB 3576111360,3576111615,FR 3576111616,3576135679,GB @@ -77498,24 +78732,26 @@ 3576241992,3576241999,FR 3576242000,3576242383,GB 3576242384,3576242391,FR -3576242392,3576252415,GB +3576242392,3576245247,GB +3576245248,3576245503,FR +3576245504,3576252415,GB 3576252416,3576252671,FR 3576252672,3576253807,GB 3576253808,3576253815,FR -3576253816,3576254463,GB -3576254464,3576254719,FR -3576254720,3576254775,GB +3576253816,3576254511,GB +3576254512,3576254527,FR +3576254528,3576254695,GB +3576254696,3576254703,FR +3576254704,3576254775,GB 3576254776,3576254783,FR -3576254784,3576258815,GB -3576258816,3576259071,FR -3576259072,3576260607,GB +3576254784,3576258047,GB +3576258048,3576258303,FR +3576258304,3576260607,GB 3576260608,3576260623,FR 3576260624,3576260863,GB 3576260864,3576261119,FR 3576261120,3576263423,GB -3576263424,3576263679,FR -3576263680,3576263919,GB -3576263920,3576263935,FR +3576263424,3576263935,FR 3576263936,3576264255,GB 3576264256,3576264263,FR 3576264264,3576264351,GB @@ -77537,35 +78773,43 @@ 3576823808,3576889343,SE 3576889344,3576954879,NL 3576954880,3576987647,NO -3576987648,3577020415,GB +3576987648,3577003519,GB +3577003520,3577003775,NL +3577003776,3577020415,GB 3577020416,3577085951,NL 3577085952,3577151487,DE -3577151488,3577152511,RE -3577152512,3577154303,FR -3577154304,3577154559,RE -3577154560,3577156863,FR -3577156864,3577157375,RE -3577157376,3577157631,FR -3577157632,3577157887,RE -3577157888,3577158015,FR -3577158016,3577158399,RE -3577158400,3577158655,FR -3577158656,3577158911,RE -3577158912,3577159423,FR +3577151488,3577151999,FR +3577152000,3577152255,RE +3577152256,3577152511,FR +3577152512,3577152767,RE +3577152768,3577154047,FR +3577154048,3577154815,RE +3577154816,3577155071,FR +3577155072,3577155583,RE +3577155584,3577155839,FR +3577155840,3577156351,RE +3577156352,3577156863,FR +3577156864,3577157119,RE +3577157120,3577157631,FR +3577157632,3577158399,RE +3577158400,3577158911,FR +3577158912,3577159167,RE +3577159168,3577159423,FR 3577159424,3577159935,RE -3577159936,3577161215,FR +3577159936,3577160959,FR +3577160960,3577161215,YT 3577161216,3577161471,RE -3577161472,3577161983,FR -3577161984,3577162239,RE -3577162240,3577163263,FR +3577161472,3577161727,FR +3577161728,3577161983,RE +3577161984,3577163263,FR 3577163264,3577163519,RE 3577163520,3577164287,FR 3577164288,3577164543,RE 3577164544,3577165567,FR 3577165568,3577165823,RE -3577165824,3577167359,FR -3577167360,3577167615,RE -3577167616,3577167871,FR +3577165824,3577166847,FR +3577166848,3577167103,RE +3577167104,3577167871,FR 3577167872,3577184255,ET 3577184256,3577217023,CH 3577217024,3577282559,FR @@ -77576,43 +78820,25 @@ 3577544704,3577545983,DE 3577545984,3577546111,SE 3577546112,3577610239,DE -3577610240,3577625599,EU 3577625600,3577625855,GB -3577625856,3577626175,EU -3577626176,3577626239,GB -3577626240,3577628671,EU +3577626112,3577626367,GB 3577628672,3577629695,CH -3577629696,3577635839,EU 3577635840,3577636863,DE 3577636864,3577637887,GB -3577637888,3577641199,EU 3577641200,3577641215,FR -3577641216,3577650047,EU 3577650048,3577650063,NL -3577650064,3577653247,EU 3577653248,3577655295,IT -3577655296,3577663487,EU 3577663488,3577664511,SE -3577664512,3577669631,EU 3577669632,3577670655,BE -3577670656,3577675775,EU 3577675776,3577741311,PT 3577741312,3578003455,SE -3578003456,3578040319,DE -3578040320,3578040575,EU -3578040576,3578064383,DE -3578064384,3578064508,EU -3578064509,3578064510,DE -3578064511,3578064639,EU -3578064640,3578159615,DE -3578159616,3578159871,EU -3578159872,3578201599,DE +3578003456,3578112255,DE +3578112256,3578112511,GB +3578112512,3578201599,DE 3578201600,3578201729,BE 3578201730,3578201730,DE 3578201731,3578201855,BE -3578201856,3578234623,DE -3578234624,3578234879,EU -3578234880,3578265599,DE +3578201856,3578265599,DE 3578265600,3578331135,GB 3578331136,3578339327,PL 3578339328,3578347519,ES @@ -77643,22 +78869,22 @@ 3579197312,3579197439,US 3579197440,3579248639,GB 3579248640,3579346943,RU -3579346944,3579445247,SE +3579346944,3579361535,SE +3579361536,3579361791,NO +3579361792,3579445247,SE 3579445248,3579478015,AT 3579478016,3579527167,FR 3579527168,3579543551,BA 3579543552,3579576319,BG -3579576320,3579581821,IT -3579581822,3579581822,EU -3579581823,3579596799,IT -3579596800,3579597055,EU -3579597056,3579609087,IT +3579576320,3579609087,IT 3579609088,3579641855,PL 3579641856,3579707391,NL 3579707392,3579723775,ES 3579723776,3579740159,AT 3579740160,3579772927,IE -3579772928,3579838463,DE +3579772928,3579790335,DE +3579790336,3579790591,AT +3579790592,3579838463,DE 3579838464,3580100607,ES 3580100608,3580103679,SE 3580103680,3580106751,LV @@ -77673,8 +78899,8 @@ 3580135936,3580136447,SE 3580136448,3580136703,HR 3580136704,3580136959,SE -3580136960,3580138495,HR -3580138496,3580150783,SE +3580136960,3580139007,HR +3580139008,3580150783,SE 3580150784,3580151039,NL 3580151040,3580162047,SE 3580162048,3580164095,EE @@ -77722,7 +78948,8 @@ 3580272640,3580276735,SE 3580276736,3580280831,NL 3580280832,3580329983,RU -3580329984,3580338687,SE +3580329984,3580338175,NL +3580338176,3580338687,SE 3580338688,3580339711,HR 3580339712,3580340223,EE 3580340224,3580344319,LT @@ -77737,7 +78964,6 @@ 3580631040,3580633087,NL 3580633088,3580635135,RU 3580635136,3580637183,UA -3580637184,3580639231,KZ 3580639232,3580641279,PL 3580641280,3580643327,FR 3580643328,3580645375,UA @@ -77776,33 +79002,22 @@ 3580821504,3580837887,FR 3580837888,3580887039,UA 3580887040,3581149183,SE -3581149184,3581157375,EU 3581157376,3581158399,AT -3581158400,3581159423,EU 3581159424,3581161471,IE -3581161472,3581173759,EU 3581173760,3581196287,NL -3581196288,3581198335,EU 3581198336,3581199359,NL -3581199360,3581204479,EU 3581204480,3581214719,SE 3581214720,3581231103,NL -3581231104,3581239295,EU 3581239296,3581241343,NL -3581241344,3581242623,EU 3581242624,3581245439,FR -3581245440,3581255679,EU 3581255680,3581258751,FR -3581258752,3581280255,EU 3581280256,3581411327,BE 3581411328,3581673471,GB 3581673472,3581935615,NL 3581935616,3581943807,RU 3581943808,3581951999,FR 3581952000,3581960191,TR -3581960192,3581966849,DE -3581966850,3581966850,EU -3581966851,3581976575,DE +3581960192,3581976575,DE 3581976576,3581984767,NO 3581984768,3581992959,RU 3581992960,3582001151,GB @@ -77824,7 +79039,8 @@ 3582091264,3582099455,QA 3582099456,3582107647,GB 3582107648,3582115839,NL -3582115840,3582116863,SE +3582115840,3582116351,SE +3582116352,3582116863,HR 3582116864,3582117887,EE 3582117888,3582120447,LT 3582120448,3582120959,SE @@ -77839,9 +79055,7 @@ 3582173184,3582181375,GB 3582181376,3582190927,DE 3582190928,3582190931,FR -3582190932,3582193151,DE -3582193152,3582193407,EU -3582193408,3582197759,DE +3582190932,3582197759,DE 3582197760,3582205951,DK 3582205952,3582214143,AE 3582214144,3582222335,RU @@ -77856,8 +79070,7 @@ 3582238720,3582251319,NL 3582251320,3582251327,FI 3582251328,3582255103,NL -3582255104,3582263039,KW -3582263040,3582263295,A2 +3582255104,3582263295,KW 3582263296,3582271487,ME 3582271488,3582279679,NL 3582279680,3582287871,GB @@ -77894,11 +79107,9 @@ 3582533632,3582541823,BG 3582541824,3582550015,US 3582550016,3582558207,RS -3582558208,3582570911,EU +3582558208,3582570911,MC 3582570912,3582570943,FR -3582570944,3582572415,EU 3582572416,3582572423,CH -3582572424,3582574591,EU 3582574592,3582582783,DE 3582582784,3582590975,RU 3582590976,3582599167,FR @@ -77917,7 +79128,9 @@ 3582697472,3582705663,FI 3582705664,3582722047,TR 3582722048,3582730239,IT -3582730240,3582738431,ES +3582730240,3582736383,ES +3582736384,3582737407,DZ +3582737408,3582738431,ES 3582738432,3582746623,DK 3582746624,3582754815,RU 3582754816,3582763007,GR @@ -77953,9 +79166,9 @@ 3583000576,3583008767,IT 3583008768,3583016959,TR 3583016960,3583025151,CH -3583025152,3583031807,A2 +3583025152,3583031807,IT 3583031808,3583032063,GR -3583032064,3583033343,A2 +3583032064,3583033343,IT 3583033344,3583041535,FR 3583041536,3583049727,NL 3583049728,3583066111,RU @@ -78024,8 +79237,7 @@ 3583508480,3583516671,FR 3583516672,3583524863,GB 3583524864,3583533055,EG -3583533056,3583537151,DE -3583537152,3583541247,CZ +3583533056,3583541247,DE 3583541248,3583549439,RU 3583549440,3583557631,NL 3583557632,3583565823,IT @@ -78046,19 +79258,13 @@ 3583713280,3583721471,CZ 3583721472,3583729663,DE 3583729664,3583737855,TR -3583737856,3583743487,EU -3583743488,3583743743,GB -3583743744,3583743976,EU -3583743977,3583743977,IE -3583743978,3583744319,EU +3583742976,3583743487,PL +3583743616,3583743743,GB +3583743744,3583743999,IE 3583744320,3583744447,GB -3583744448,3583744511,EU 3583744512,3583744767,GB -3583744768,3583744959,EU 3583744960,3583744991,GB -3583744992,3583745279,EU 3583745280,3583745535,GB -3583745536,3583746047,EU 3583746048,3583754239,PL 3583754240,3583762431,RU 3583762432,3583770623,CZ @@ -78103,14 +79309,16 @@ 3584073728,3584081919,SK 3584081920,3584082007,NL 3584082008,3584082015,AT -3584082016,3584096183,NL +3584082016,3584093439,NL +3584093440,3584093695,NO +3584093696,3584094207,NL +3584094208,3584094463,NO +3584094464,3584096183,NL 3584096184,3584096191,NO 3584096192,3584098303,NL 3584098304,3584106495,SI 3584106496,3584114687,FI -3584114688,3584120063,GB -3584120064,3584120319,EU -3584120320,3584122879,GB +3584114688,3584122879,GB 3584122880,3584131071,PL 3584131072,3584139263,TR 3584139264,3584147455,NO @@ -78130,9 +79338,7 @@ 3584254976,3584255743,AL 3584255744,3584255999,ME 3584256000,3584260095,AL -3584260096,3584260607,ME -3584260608,3584260863,US -3584260864,3584262143,ME +3584260096,3584262143,ME 3584262144,3584270335,SE 3584270336,3584278527,FR 3584278528,3584286719,GB @@ -78153,7 +79359,6 @@ 3584417792,3584434175,GB 3584434176,3584442367,LU 3584442368,3584450559,GB -3584450560,3584458751,EU 3584458752,3584466943,SA 3584466944,3584475135,NO 3584475136,3584483327,FR @@ -78229,9 +79434,7 @@ 3585015808,3585023999,IT 3585024000,3585032191,CZ 3585032192,3585048575,LV -3585048576,3585050879,GB -3585050880,3585051391,A2 -3585051392,3585056767,GB +3585048576,3585056767,GB 3585056768,3585064959,LB 3585064960,3585081343,GB 3585081344,3585114111,IR @@ -78260,7 +79463,9 @@ 3585286144,3585288959,NO 3585288960,3585291007,GB 3585291008,3585292543,NO -3585292544,3585293263,GB +3585292544,3585292863,GB +3585292864,3585292895,NO +3585292896,3585293263,GB 3585293264,3585293271,ZA 3585293272,3585294335,GB 3585294336,3585302527,DE @@ -78276,7 +79481,7 @@ 3585376256,3585384447,PL 3585384448,3585392639,CH 3585392640,3585400831,RU -3585400832,3585409023,A2 +3585400832,3585409023,FR 3585409024,3585417215,RU 3585417216,3585425407,BE 3585425408,3585433599,ES @@ -78301,22 +79506,19 @@ 3585597440,3585605631,RU 3585605632,3585613823,PL 3585613824,3585622015,EE -3585622016,3585630207,RU 3585630208,3585638399,IL 3585638400,3585646591,RU 3585646592,3585654783,SA 3585654784,3585662975,NO 3585662976,3585671167,BY -3585671168,3585672191,SE -3585672192,3585672447,DK -3585672448,3585674239,SE +3585671168,3585674239,SE 3585674240,3585674495,DK 3585674496,3585679359,SE 3585679360,3585687551,FI 3585687552,3585695743,DE -3585695744,3585702527,A2 +3585695744,3585702527,GB 3585702528,3585702655,TZ -3585702656,3585703935,A2 +3585702656,3585703935,GB 3585703936,3585712127,DE 3585712128,3585720319,AT 3585720320,3585728511,GB @@ -78333,15 +79535,13 @@ 3585810432,3585818623,GB 3585818624,3585826815,DE 3585826816,3585835007,RU -3585835008,3585835775,US -3585835776,3585836031,NL -3585836032,3585843199,US +3585835008,3585843199,US 3585843200,3585851391,NO 3585851392,3585859583,SE 3585859584,3585860607,AF -3585860608,3585863679,DE -3585863680,3585864703,RU -3585864704,3585865471,DE +3585860608,3585862655,RU +3585862656,3585863679,DE +3585863680,3585865471,NL 3585865472,3585865727,LB 3585865728,3585867263,RU 3585867264,3585867775,DE @@ -78349,23 +79549,20 @@ 3585875968,3585884159,CH 3585884160,3585892351,IQ 3585892352,3585900543,DE -3585900544,3585908735,NO +3585900544,3585906687,NO +3585906688,3585907711,CZ +3585907712,3585908735,NO 3585908736,3585908991,FR 3585908992,3585909759,GF -3585909760,3585910015,FR -3585910016,3585910271,MQ -3585910272,3585910783,GP -3585910784,3585911551,FR -3585911552,3585911807,GP -3585911808,3585912575,FR -3585912576,3585912831,GP -3585912832,3585914111,FR +3585909760,3585910271,FR +3585910272,3585910527,GP +3585910528,3585914111,FR 3585914112,3585914367,GP 3585914368,3585914623,FR 3585914624,3585914879,GF 3585914880,3585915391,FR -3585915392,3585915903,GP -3585915904,3585916927,FR +3585915392,3585916159,GP +3585916160,3585916927,FR 3585916928,3585925119,IT 3585925120,3585933311,CH 3585933312,3585941503,NL @@ -78395,9 +79592,7 @@ 3586195456,3586203647,RU 3586203648,3586205695,KE 3586205696,3586207743,BW -3586207744,3586207999,ZA -3586208000,3586208255,A2 -3586208256,3586208767,ZA +3586207744,3586208767,ZA 3586208768,3586211071,KE 3586211072,3586211327,BW 3586211328,3586211839,KE @@ -78430,7 +79625,7 @@ 3586588672,3586596863,IT 3586596864,3586605055,GB 3586605056,3586621439,SE -3586621440,3586621695,EU +3586621440,3586621695,GB 3586621696,3586625535,IE 3586625536,3586629631,GB 3586629632,3586637823,IE @@ -78444,9 +79639,8 @@ 3586677435,3586677435,DE 3586677436,3586677631,FR 3586677632,3586677639,DE -3586677640,3586677641,FR -3586677642,3586677645,GB -3586677646,3586677647,SG +3586677640,3586677643,GB +3586677644,3586677647,SG 3586677648,3586677655,US 3586677656,3586680319,FR 3586680320,3586680575,ES @@ -78476,9 +79670,9 @@ 3586912722,3586912722,FR 3586912723,3586916351,DE 3586916352,3586924543,IT -3586924544,3586928895,AX -3586928896,3586929151,FI -3586929152,3586932735,AX +3586924544,3586929663,AX +3586929664,3586930687,FI +3586930688,3586932735,AX 3586932736,3586949119,LB 3586949120,3586965503,SE 3586965504,3586981887,NL @@ -78498,14 +79692,13 @@ 3587178496,3587186687,AT 3587186688,3587186943,DE 3587186944,3587187199,GB -3587187200,3587187455,A2 +3587187200,3587187455,DE 3587187456,3587187711,GB -3587187712,3587188223,A2 +3587187712,3587188223,DE 3587188224,3587188479,AM -3587188480,3587192831,A2 -3587192832,3587193087,DE +3587188480,3587193087,DE 3587193088,3587193599,GB -3587193600,3587194879,A2 +3587193600,3587194879,DE 3587194880,3587211263,GB 3587211264,3587219455,AT 3587219456,3587227647,RU @@ -78519,27 +79712,29 @@ 3587237376,3587237887,NL 3587237888,3587238487,GB 3587238488,3587238495,NL -3587238496,3587239583,GB +3587238496,3587238911,GB +3587238912,3587239167,NL +3587239168,3587239487,GB +3587239488,3587239495,NL +3587239496,3587239583,GB 3587239584,3587239599,NL 3587239600,3587239711,GB 3587239712,3587239727,NL 3587239728,3587239791,GB 3587239792,3587239799,NL -3587239800,3587239935,GB -3587239936,3587240191,NL -3587240192,3587242671,GB +3587239800,3587242671,GB 3587242672,3587242679,DE 3587242680,3587244031,GB 3587244032,3587260415,IT -3587260416,3587281151,DE -3587281152,3587282943,US -3587282944,3587284991,DE -3587284992,3587285216,EU -3587285217,3587285217,US -3587285218,3587285523,EU -3587285524,3587285524,A2 -3587285525,3587293183,EU -3587293184,3587309567,IT +3587260416,3587278591,DE +3587278592,3587279359,US +3587279360,3587279615,DE +3587279616,3587280383,US +3587280384,3587281151,DE +3587281152,3587284991,US +3587284992,3587291135,IT +3587291136,3587292159,FR +3587292160,3587309567,IT 3587309568,3587325951,GB 3587325952,3587342335,RU 3587342336,3587358719,CZ @@ -78561,7 +79756,9 @@ 3587445760,3587445823,FI 3587445824,3587445983,SE 3587445984,3587445999,FI -3587446000,3587446143,SE +3587446000,3587446071,SE +3587446072,3587446079,FI +3587446080,3587446143,SE 3587446144,3587446271,FI 3587446272,3587457023,SE 3587457024,3587473407,GB @@ -78579,8 +79776,8 @@ 3587620864,3587637247,SE 3587637248,3587646975,FR 3587646976,3587647231,MC -3587647232,3587647983,FR -3587647984,3587647999,GB +3587647232,3587647743,FR +3587647744,3587647999,GB 3587648000,3587653631,FR 3587653632,3587670015,SK 3587670016,3587702783,IT @@ -78618,15 +79815,13 @@ 3588128768,3588145151,HU 3588145152,3588153343,PL 3588153344,3588161535,RU -3588161536,3588173567,FR -3588173568,3588173823,YT -3588173824,3588227071,FR +3588161536,3588173311,FR +3588173312,3588173567,RE +3588173568,3588227071,FR 3588227072,3588292607,BE 3588292608,3588308991,AT 3588308992,3588325375,NO -3588325376,3588328191,GB -3588328192,3588328447,EU -3588328448,3588333567,GB +3588325376,3588333567,GB 3588333568,3588341759,FR 3588341760,3588358143,IT 3588358144,3588374527,BG @@ -78685,9 +79880,9 @@ 3589029888,3589030119,GB 3589030120,3589030127,NL 3589030128,3589034239,GB -3589034240,3589034495,EU +3589034240,3589034495,NL 3589034496,3589037055,GB -3589037056,3589037311,EU +3589037056,3589037311,NL 3589037312,3589046271,GB 3589046272,3589079039,NO 3589079040,3589128191,DK @@ -78712,7 +79907,9 @@ 3589431040,3589431295,ES 3589431296,3589432831,GB 3589432832,3589433087,CH -3589433088,3589439487,GB +3589433088,3589435759,GB +3589435760,3589435763,ES +3589435764,3589439487,GB 3589439488,3589455871,SE 3589455872,3589472255,RU 3589472256,3589488639,TR @@ -78744,19 +79941,12 @@ 3589746176,3589746687,US 3589746688,3589767167,NL 3589767168,3589816319,RU -3589816320,3589825791,EU 3589825792,3589826047,DE -3589826048,3589827711,EU 3589827712,3589827839,DE -3589827840,3589828351,EU 3589828352,3589828607,FR -3589828608,3589828735,EU 3589828736,3589828863,NL -3589828864,3589829631,EU 3589829632,3589830143,GB -3589830144,3589831679,EU 3589831680,3589831935,FR -3589831936,3589832703,EU 3589832704,3589849087,TR 3589849088,3589865471,GB 3589865472,3589881855,GR @@ -78796,7 +79986,9 @@ 3590247296,3590247423,US 3590247424,3590247487,FR 3590247488,3590247551,US -3590247552,3590250495,FR +3590247552,3590247711,FR +3590247712,3590247743,IE +3590247744,3590250495,FR 3590250496,3590250751,IE 3590250752,3590251647,FR 3590251648,3590251775,NL @@ -78818,23 +80010,11 @@ 3590258688,3590291455,IT 3590291456,3590299647,EG 3590299648,3590307839,FI -3590307840,3590308607,A2 -3590308608,3590309119,US -3590309120,3590312111,A2 -3590312112,3590312119,SS -3590312120,3590312135,A2 -3590312136,3590312143,SS -3590312144,3590312935,A2 +3590307840,3590312935,GB 3590312936,3590312943,UG -3590312944,3590314625,A2 -3590314626,3590314626,US -3590314627,3590316282,A2 -3590316283,3590316283,US -3590316284,3590316287,A2 -3590316288,3590316799,US -3590316800,3590317951,A2 +3590312944,3590317951,GB 3590317952,3590318015,UA -3590318016,3590324223,A2 +3590318016,3590324223,GB 3590324224,3623891695,US 3623891696,3623891703,ZA 3623891704,3624054783,US @@ -78862,11 +80042,21 @@ 3624321024,3624325119,CA 3624325120,3624359679,US 3624359680,3624360703,CW -3624360704,3624376335,US +3624360704,3624374447,US +3624374448,3624374455,ES +3624374456,3624375871,US +3624375872,3624375879,NL +3624375880,3624376247,US +3624376248,3624376263,ES +3624376264,3624376287,US +3624376288,3624376295,GB +3624376296,3624376335,US 3624376336,3624376343,AU 3624376344,3624376351,US 3624376352,3624376359,PT -3624376360,3624377863,US +3624376360,3624376655,US +3624376656,3624376679,GB +3624376680,3624377863,US 3624377864,3624377871,GB 3624377872,3624377879,US 3624377880,3624377887,GB @@ -78875,18 +80065,18 @@ 3624377912,3624386559,US 3624386560,3624394751,CA 3624394752,3624435711,US -3624435712,3624452095,CA +3624435712,3624441855,CA +3624441856,3624442111,US +3624442112,3624452095,CA 3624452096,3624480767,US 3624480768,3624484863,CA 3624484864,3624534015,US 3624534016,3624536063,CA -3624536064,3624546303,US -3624546304,3624546815,A2 -3624546816,3624547327,US -3624547328,3624550399,A2 -3624550400,3624587263,US +3624536064,3624587263,US 3624587264,3624591359,JM -3624591360,3624714751,US +3624594176,3624594431,US +3624595456,3624706047,US +3624710144,3624714751,US 3624714752,3624715775,SG 3624715776,3624716287,US 3624716288,3624717311,SG @@ -78896,7 +80086,10 @@ 3624720896,3624721919,SG 3624721920,3624730623,US 3624730624,3624796159,CA -3624796160,3624828927,US +3624796160,3624812543,US +3624813056,3624814079,US +3624814336,3624815103,US +3624815616,3624828927,US 3624828928,3624833023,CA 3624833024,3624845311,US 3624845312,3624849407,AU @@ -78908,17 +80101,14 @@ 3625140224,3625148415,CA 3625148416,3625168895,US 3625168896,3625172991,CA -3625172992,3625287679,US +3625172992,3625259263,US +3625260032,3625287679,US 3625287680,3625295871,CA 3625295872,3625418751,US 3625418752,3625426943,CA 3625426944,3625508863,US 3625508864,3625512959,CA -3625512960,3625574399,US -3625574400,3625577983,A2 -3625577984,3625578239,US -3625578240,3625578495,A2 -3625578496,3625631743,US +3625512960,3625631743,US 3625631744,3625639935,CA 3625639936,3625959423,US 3625959424,3625961471,GB @@ -78934,9 +80124,7 @@ 3626334464,3626336255,CA 3626336256,3626508287,US 3626508288,3626512383,CA -3626512384,3626513427,US -3626513428,3626513428,EU -3626513429,3626524671,US +3626512384,3626524671,US 3626524672,3626532863,CA 3626532864,3626852351,US 3626852352,3626860543,CA @@ -78958,13 +80146,13 @@ 3627659264,3627663359,CA 3627663360,3627679743,US 3627679744,3627712511,CA -3627712512,3627760639,US -3627760640,3627760895,EU -3627760896,3627802623,US +3627712512,3627802623,US 3627802624,3627810815,CA 3627810816,3628179455,US 3628179456,3628187647,CA -3628187648,3628236799,US +3628187648,3628225781,US +3628225782,3628225782,GB +3628225783,3628236799,US 3628236800,3628257279,CA 3628257280,3628598271,US 3628598272,3628599295,CO @@ -78999,9 +80187,7 @@ 3628679168,3628683263,CA 3628683264,3628834815,US 3628834816,3628843007,CA -3628843008,3628848639,US -3628848640,3628848895,EU -3628848896,3629187071,US +3628843008,3629187071,US 3629187072,3629195263,CA 3629195264,3629199359,US 3629199360,3629201439,CA @@ -79023,8 +80209,8 @@ 3630039040,3630039551,CA 3630039552,3630040431,US 3630040432,3630040447,CA -3630040448,3630049535,US -3630049536,3630049599,CA +3630040448,3630049279,US +3630049280,3630049599,CA 3630049600,3630050047,US 3630050048,3630050303,CA 3630050304,3630054143,US @@ -79035,7 +80221,9 @@ 3630057408,3630057471,CA 3630057472,3630059263,US 3630059264,3630059519,CA -3630059520,3630061567,US +3630059520,3630060799,US +3630060800,3630061055,CA +3630061056,3630061567,US 3630061568,3630061823,CA 3630061824,3630063935,US 3630063936,3630063951,CA @@ -79067,21 +80255,25 @@ 3630108160,3630108415,CA 3630108416,3630126335,US 3630126336,3630126591,CA -3630126592,3630147839,US -3630147840,3630148095,CA -3630148096,3630152959,US +3630126592,3630152959,US 3630152960,3630153215,CA 3630153216,3630158079,US 3630158080,3630158335,CA 3630158336,3630161407,US 3630161408,3630161663,CA -3630161664,3630167007,US +3630161664,3630164991,US +3630164992,3630165247,CA +3630165248,3630165503,US +3630165504,3630165759,CA +3630165760,3630167007,US 3630167008,3630167023,CA 3630167024,3630168319,US 3630168320,3630169087,CA 3630169088,3630309375,US 3630309376,3630317567,CA -3630317568,3630374911,US +3630317568,3630354431,US +3630358528,3630370815,US +3630372864,3630374911,US 3630374912,3630383103,CA 3630383104,3630391295,US 3630391296,3630395391,CA @@ -79093,13 +80285,13 @@ 3630746368,3630746623,UG 3630746624,3630780415,US 3630780416,3630784511,CA -3630784512,3630850047,US +3630784512,3630801919,US +3630804992,3630850047,US 3630850048,3630854143,CA -3630854144,3630870271,US -3630870272,3630870527,GT -3630870528,3630956543,US +3630854144,3630956543,US 3630956544,3631005695,CA -3631005696,3631112191,US +3631005696,3631017983,US +3631022080,3631112191,US 3631112192,3631112447,VC 3631112448,3631116543,BB 3631116544,3631117567,GD @@ -79113,17 +80305,8 @@ 3631284224,3631316991,CA 3631316992,3631333375,US 3631333376,3631341567,CA -3631341568,3631415295,US -3631415296,3631415551,A2 -3631415552,3631415807,US -3631415808,3631416063,A2 -3631416064,3631417087,US -3631417088,3631417343,A2 -3631417344,3631418111,US -3631418112,3631418623,A2 -3631418624,3631418879,US -3631418880,3631419135,A2 -3631419136,3631644671,US +3631341568,3631515647,US +3631517696,3631644671,US 3631644672,3631652863,CA 3631652864,3631665151,US 3631665152,3631667199,CA @@ -79131,9 +80314,7 @@ 3631667456,3631668223,CA 3631668224,3631668479,US 3631668480,3631668991,CA -3631668992,3631669247,US -3631669248,3631677439,A2 -3631677440,3631822815,US +3631668992,3631822815,US 3631822816,3631822831,AU 3631822832,3631825647,US 3631825648,3631825663,NZ @@ -79143,7 +80324,7 @@ 3631841280,3631874047,CA 3631874048,3631939583,US 3631939584,3632005119,CA -3632005120,3632152575,US +3632005120,3632150527,US 3632152576,3632168959,CA 3632168960,3632197631,US 3632197632,3632201727,CA @@ -79157,7 +80338,8 @@ 3632448256,3632448511,CA 3632448512,3632451583,US 3632451584,3632455679,CA -3632455680,3632857087,US +3632455680,3632467967,US +3632470016,3632857087,US 3632857088,3632861183,BS 3632861184,3632881663,US 3632881664,3632889855,CA @@ -79165,8 +80347,7 @@ 3632898048,3632902143,CA 3632902144,3632971775,US 3632971776,3632988159,CA -3632988160,3633031679,US -3633031680,3633031935,A2 +3632988160,3633031935,US 3633031936,3633032191,PG 3633032192,3633036287,US 3633036288,3633036543,TT @@ -79184,15 +80365,12 @@ 3633479680,3633483775,CA 3633483776,3633547775,US 3633547776,3633548287,NG -3633548288,3633548799,US -3633548800,3633548927,A2 -3633548928,3633552127,US -3633552128,3633552383,A2 -3633552384,3633757439,US +3633548288,3633757439,US 3633757440,3633757695,IN -3633757696,3633815551,US -3633815552,3633819647,CA -3633819648,3633881087,US +3633757696,3633785343,US +3633785600,3633786367,US +3633786880,3633844223,US +3633848320,3633881087,US 3633881088,3633885183,CW 3633885184,3633889279,US 3633889280,3633893375,CA @@ -79211,10 +80389,14 @@ 3634749440,3634880511,US 3634880512,3634888703,CA 3634888704,3634913279,US -3634913280,3634921471,CA +3634913280,3634915663,CA +3634915664,3634915679,US +3634915680,3634921471,CA 3634921472,3634925567,US 3634925568,3634929663,CA -3634929664,3635109887,US +3634929664,3635044351,US +3635049472,3635049727,US +3635052544,3635109887,US 3635109888,3635113983,CA 3635113984,3635142655,US 3635142656,3635146751,CA @@ -79222,13 +80404,7 @@ 3635159040,3635163135,CA 3635163136,3635171071,US 3635171072,3635171327,CA -3635171328,3635185407,US -3635185408,3635185663,US -3635185664,3635187199,US -3635187200,3635187455,US -3635187456,3635188479,US -3635188480,3635188735,US -3635188736,3635314687,US +3635171328,3635314687,US 3635314688,3635322879,CA 3635322880,3635425279,US 3635425280,3635429375,CA @@ -79246,7 +80422,33 @@ 3635656704,3635657727,JP 3635657728,3635660799,US 3635660800,3635662847,HK -3635662848,3635871743,US +3635662848,3635740671,US +3635740672,3635740927,CA +3635740928,3635741439,US +3635741440,3635741695,CA +3635741696,3635741951,US +3635741952,3635745535,CA +3635745536,3635746047,US +3635746048,3635765759,CA +3635765760,3635768575,US +3635768576,3635771391,CA +3635771392,3635771647,US +3635771648,3635771903,CA +3635771904,3635772415,US +3635772416,3635772671,CA +3635772672,3635772927,US +3635772928,3635773951,CA +3635773952,3635774207,US +3635774208,3635781119,CA +3635781120,3635783167,US +3635783168,3635799551,CA +3635799552,3635800063,US +3635800064,3635804159,CA +3635804160,3635804671,US +3635804672,3635805439,CA +3635805440,3635805455,US +3635805456,3635806207,CA +3635806208,3635871743,US 3635871744,3635879935,CA 3635879936,3635892223,US 3635892224,3635895785,CA @@ -79329,39 +80531,31 @@ 3638697984,3638706175,CA 3638706176,3638706687,US 3638706688,3638706943,NG -3638706944,3638707455,A2 -3638707456,3638707711,US -3638707712,3638710015,A2 -3638710016,3638874111,US +3638706944,3638738943,US +3638740992,3638874111,US 3638874112,3638878207,CA 3638878208,3638984703,US -3638984704,3638985983,GT -3638985984,3638986239,HN -3638986240,3638992895,GT -3638992896,3639083007,US +3638984704,3638992895,GT +3638992896,3638996991,US +3639001088,3639083007,US 3639083008,3639148543,CA 3639148544,3639222271,US 3639222272,3639230463,CA -3639230464,3639255039,US +3639230464,3639247359,US +3639248128,3639249151,US +3639249664,3639255039,US 3639255040,3639263231,CA 3639263232,3639279615,US 3639279616,3639283711,CA -3639283712,3639369727,US -3639369728,3639372031,A2 -3639372032,3639372287,US -3639372288,3639377919,A2 -3639377920,3639390207,US +3639283712,3639390207,US 3639390208,3639394303,ZA -3639394304,3639395839,US -3639395840,3639398911,A2 -3639398912,3639399679,US +3639394304,3639399679,US 3639399680,3639399935,HN -3639399936,3639400447,A2 +3639399936,3639400447,US 3639400448,3639401471,RS -3639401472,3639401541,A2 +3639401472,3639401541,US 3639401542,3639401542,KE -3639401543,3639402495,A2 -3639402496,3639513239,US +3639401543,3639513239,US 3639513240,3639513243,AE 3639513244,3639533567,US 3639533568,3639537663,CA @@ -79398,11 +80592,19 @@ 3639672832,3639681023,CL 3639681024,3639684991,US 3639684992,3639685119,SA -3639685120,3639692032,US -3639692033,3639692288,GB -3639692289,3639730175,US +3639685120,3639692031,US +3639692032,3639692287,GB +3639692288,3639704573,US +3639704574,3639704574,GB +3639704575,3639730175,US 3639730176,3639734271,CA -3639734272,3639902207,US +3639734272,3639737343,US +3639737344,3639737373,GB +3639737374,3639737374,FR +3639737375,3639737599,GB +3639737600,3639737629,US +3639737630,3639737630,GB +3639737631,3639902207,US 3639902208,3639918591,PE 3639918592,3639934975,AR 3639934976,3640057855,US @@ -79412,7 +80614,8 @@ 3640201216,3640205311,US 3640205312,3640209407,BM 3640209408,3640213503,CA -3640213504,3640312831,US +3640213504,3640287231,US +3640291328,3640312831,US 3640312832,3640313087,TO 3640313088,3640316927,US 3640316928,3640317183,MX @@ -79423,15 +80626,15 @@ 3640369152,3640410111,US 3640410112,3640418303,CA 3640418304,3640430591,US -3640430592,3640432639,A2 +3640430592,3640432639,DE 3640432640,3640433407,US 3640433408,3640433663,DE 3640433664,3640434943,US 3640436480,3640436735,GH -3640438784,3640442879,A2 +3640438784,3640442879,DE 3640442880,3640446975,US -3640449024,3640450047,A2 -3640451072,3640459263,A2 +3640449024,3640450047,DE +3640451072,3640459263,DE 3640459264,3640557567,US 3640557568,3640582143,CA 3640582144,3640647679,US @@ -79439,12 +80642,8 @@ 3640651776,3640655871,US 3640655872,3641020121,DE 3641020122,3641020122,GB -3641020123,3641061225,DE -3641061226,3641061226,US -3641061227,3641078385,DE -3641078386,3641078387,US -3641078388,3641151231,DE -3641151232,3641151232,CN +3641020123,3641150975,DE +3641150976,3641151232,CN 3641151233,3641180159,DE 3641180160,3641188351,GB 3641188352,3641192447,TJ @@ -79476,12 +80675,11 @@ 3641323520,3641331711,DE 3641331712,3641335807,ES 3641335808,3641343999,SE -3641344000,3641352191,GB -3641352192,3641356535,A2 +3641344000,3641356535,GB 3641356536,3641356543,CM -3641356544,3641357983,A2 +3641356544,3641357983,GB 3641357984,3641358015,SL -3641358016,3641360383,A2 +3641358016,3641360383,GB 3641360384,3641368575,RO 3641368576,3641372671,GB 3641372672,3641376767,BG @@ -79554,10 +80752,8 @@ 3641671168,3641671423,ZW 3641671424,3641671679,GB 3641671680,3641679871,RU -3641679872,3641681151,EU 3641681152,3641681407,SE 3641681408,3641681663,FR -3641681664,3641683967,FR 3641683968,3641688063,KZ 3641688064,3641692159,RU 3641692160,3641696255,IT @@ -79581,9 +80777,7 @@ 3641769984,3641774079,NO 3641774080,3641778175,DE 3641778176,3641782271,PL -3641782272,3641784319,BG -3641784320,3641784575,GB -3641784576,3641786367,BG +3641782272,3641786367,GB 3641786368,3641790463,SE 3641790464,3641794559,LT 3641794560,3641798655,RS @@ -79617,8 +80811,7 @@ 3641917440,3641925631,GR 3641925632,3641933823,RU 3641933824,3641937919,GB -3641937920,3641941759,IT -3641941760,3641942015,EU +3641937920,3641942015,IT 3641942016,3641950207,DE 3641950208,3641954303,FR 3641954304,3641958399,MD @@ -79640,13 +80833,13 @@ 3642015744,3642019839,CH 3642019840,3642023935,SY 3642023936,3642028031,EG -3642028032,3642028800,A2 +3642028032,3642028800,GB 3642028801,3642028863,SO -3642028864,3642032127,A2 +3642028864,3642032127,GB 3642032128,3642036223,PS 3642036224,3642040319,HU 3642040320,3642048511,BY -3642048512,3642056703,A2 +3642048512,3642056703,GB 3642056704,3642060799,RU 3642060800,3642064895,KE 3642064896,3642068991,SE @@ -79658,7 +80851,7 @@ 3642093568,3642097663,NL 3642097664,3642101759,GB 3642101760,3642109951,NO -3642109952,3642114047,NL +3642109952,3642114047,BE 3642114048,3642116095,NO 3642116096,3642117119,NL 3642117120,3642118143,NO @@ -79694,8 +80887,8 @@ 3642253312,3642257407,FI 3642257408,3642261503,RU 3642261504,3642265599,BA -3642265600,3642266623,AE -3642266624,3642269695,IR +3642265600,3642267647,AE +3642267648,3642269695,IR 3642269696,3642273791,UA 3642273792,3642277887,RU 3642277888,3642290175,DE @@ -79729,11 +80922,7 @@ 3642415104,3642417151,GB 3642417152,3642419199,DE 3642419200,3642421247,GB -3642421248,3642422783,A2 -3642422784,3642423039,US -3642423040,3642425087,A2 -3642425088,3642425343,US -3642425344,3642429439,DE +3642421248,3642429439,DE 3642429440,3642433535,GB 3642433536,3642435583,CY 3642435584,3642436607,RU @@ -79750,9 +80939,7 @@ 3642486784,3642490879,GB 3642490880,3642494975,IM 3642494976,3642499071,GB -3642499072,3642499715,SE -3642499716,3642499716,EU -3642499717,3642503167,SE +3642499072,3642503167,SE 3642503168,3642507263,LV 3642507264,3642509311,FR 3642509312,3642511359,RU @@ -79771,9 +80958,7 @@ 3642554199,3642554199,RU 3642554200,3642556415,UA 3642556416,3642560511,CZ -3642560512,3642561535,KG -3642561536,3642561791,US -3642561792,3642564607,KG +3642560512,3642564607,KG 3642564608,3642568703,DE 3642568704,3642572799,RU 3642572800,3642576895,IT @@ -79788,10 +80973,7 @@ 3642613760,3642617855,FI 3642617856,3642621951,JO 3642621952,3642626047,IT -3642626048,3642626303,A2 -3642626304,3642628607,BE -3642628608,3642628863,A2 -3642628864,3642630143,BE +3642626048,3642630143,BE 3642630144,3642634239,DK 3642634240,3642638335,DE 3642638336,3642642431,CZ @@ -79818,9 +81000,7 @@ 3642736640,3642740735,CZ 3642740736,3642744831,DE 3642744832,3642753023,TR -3642753024,3642857983,GB -3642857984,3642858239,EU -3642858240,3643801599,GB +3642753024,3643801599,GB 3643801600,3644063743,DE 3644063744,3644325887,EG 3644325888,3644588031,IT @@ -79899,8 +81079,7 @@ 3645149184,3645161471,DE 3645161472,3645163519,AT 3645163520,3645164031,GB -3645164032,3645164287,US -3645164288,3645165567,AT +3645164032,3645165567,AT 3645165568,3645169663,TR 3645169664,3645173759,CH 3645173760,3645177855,GB @@ -79934,9 +81113,7 @@ 3645284352,3645288447,DE 3645288448,3645292543,FR 3645292544,3645296639,DE -3645296640,3645297407,NL -3645297408,3645297663,EU -3645297664,3645300735,NL +3645296640,3645300735,NL 3645300736,3645304831,BE 3645304832,3645308927,ES 3645308928,3645313023,DK @@ -79945,9 +81122,7 @@ 3645321216,3645325311,BA 3645325312,3645329407,IT 3645329408,3645333503,CH -3645333504,3645334271,EU 3645334272,3645335039,DE -3645335040,3645337599,EU 3645337600,3645341695,FR 3645341696,3645345791,RU 3645345792,3645349887,FI @@ -80024,11 +81199,34 @@ 3645657088,3645661183,SE 3645661184,3645665279,DE 3645665280,3645669375,PL -3645669376,3645670911,PT +3645669376,3645669599,ES +3645669600,3645669887,PT +3645669888,3645670399,ES +3645670400,3645670427,PT +3645670428,3645670429,ES +3645670430,3645670430,PT +3645670431,3645670433,ES +3645670434,3645670436,PT +3645670437,3645670441,ES +3645670442,3645670456,PT +3645670457,3645670460,ES +3645670461,3645670508,PT +3645670509,3645670509,ES +3645670510,3645670527,PT +3645670528,3645670655,ES +3645670656,3645670911,PT 3645670912,3645673471,ES 3645673472,3645673535,PT 3645673536,3645674239,ES -3645674240,3645676799,PT +3645674240,3645674271,PT +3645674272,3645675007,ES +3645675008,3645675519,PT +3645675520,3645675759,ES +3645675760,3645675775,PT +3645675776,3645676015,ES +3645676016,3645676031,PT +3645676032,3645676543,ES +3645676544,3645676799,PT 3645676800,3645677567,ES 3645677568,3645681663,AT 3645681664,3645685759,RU @@ -80081,9 +81279,7 @@ 3645874176,3645878271,GB 3645878272,3645882367,DE 3645882368,3645886463,CH -3645886464,3645888511,DE -3645888512,3645888767,EU -3645888768,3645890559,DE +3645886464,3645890559,DE 3645890560,3645894655,RU 3645894656,3645898751,NL 3645898752,3646947327,DE @@ -80091,15 +81287,11 @@ 3647209472,3647602687,NL 3647602688,3647733759,RU 3647733760,3647864831,FR -3647864832,3647890687,DE -3647890688,3647890943,EU -3647890944,3647916799,DE +3647864832,3647916799,DE 3647916800,3647917055,SE -3647917056,3647947263,DE -3647947264,3647947519,US -3647947520,3647949567,DE -3647949568,3647949823,EU -3647949824,3647964439,DE +3647917056,3647964159,DE +3647964160,3647964287,ES +3647964288,3647964439,DE 3647964440,3647964447,ES 3647964448,3647964463,DE 3647964464,3647964471,ES @@ -80116,8 +81308,7 @@ 3647964616,3647964623,DE 3647964624,3647964639,ES 3647964640,3647965695,DE -3647965696,3647965951,CH -3647965952,3647966207,DE +3647965696,3647966207,CH 3647966208,3647967231,GB 3647967232,3647968255,BE 3647968256,3647969279,FR @@ -80132,8 +81323,8 @@ 3647973712,3647973719,IT 3647973720,3647974055,DE 3647974056,3647974063,IT -3647974064,3647974399,DE -3647974400,3647976447,ES +3647974064,3647975167,DE +3647975168,3647976447,ES 3647976448,3647977471,DE 3647977472,3647978495,GB 3647978496,3647980223,DE @@ -80144,10 +81335,10 @@ 3647980544,3647981567,GB 3647981568,3647982591,BE 3647982592,3647983615,IT -3647983616,3647984031,DE -3647984032,3647984047,NL -3647984048,3647985663,DE -3647985664,3647986687,ES +3647983616,3647983871,DE +3647983872,3647984127,NL +3647984128,3647986431,DE +3647986432,3647986687,ES 3647986688,3647987647,DE 3647987648,3647987655,ES 3647987656,3647987695,DE @@ -80163,11 +81354,8 @@ 3648024576,3648028671,NL 3648028672,3648032767,HU 3648032768,3648033023,IE -3648033024,3648033535,EU 3648033536,3648033791,IE -3648033792,3648034887,EU 3648034888,3648034895,IE -3648034896,3648036863,EU 3648036864,3648040959,CZ 3648040960,3648045055,BE 3648045056,3648049151,FI @@ -80212,15 +81400,9 @@ 3648155648,3648159743,CH 3648159744,3648163839,ES 3648163840,3648167935,RU -3648167936,3648168959,GB -3648168960,3648168991,IE -3648168992,3648169007,GB -3648169008,3648169015,IE -3648169016,3648170239,GB +3648167936,3648170239,GB 3648170240,3648170495,IE -3648170496,3648171007,GB -3648171008,3648171263,IE -3648171264,3648171679,GB +3648170496,3648171679,GB 3648171680,3648171695,IE 3648171696,3648172031,GB 3648172032,3648176127,RU @@ -80231,9 +81413,7 @@ 3648192512,3648196607,DE 3648196608,3648200703,IT 3648200704,3648208895,SE -3648208896,3648209663,DE -3648209664,3648209919,EU -3648209920,3648212991,DE +3648208896,3648212991,DE 3648212992,3648217087,RU 3648217088,3648221183,UA 3648221184,3648225279,IE @@ -80270,8 +81450,7 @@ 3648368640,3648372735,RU 3648372736,3648376831,LU 3648376832,3648380927,CZ -3648380928,3648381183,EU -3648381184,3648385023,NL +3648380928,3648385023,NL 3648385024,3648389119,RU 3648389120,3648393215,IT 3648393216,3648397311,DE @@ -80316,9 +81495,7 @@ 3649568768,3649634303,BE 3649634304,3649765375,GB 3649765376,3649830911,EG -3649830912,3649831167,NL -3649831168,3649831423,EU -3649831424,3649835007,NL +3649830912,3649835007,NL 3649835008,3649837055,ES 3649837056,3649839103,NL 3649839104,3649840127,GB @@ -80347,12 +81524,12 @@ 3650129920,3650134015,GB 3650134016,3650142207,RU 3650142208,3650150399,PL -3650150400,3650155263,NO -3650155264,3650155519,EU -3650155520,3650158591,NO +3650150400,3650158591,NO 3650158592,3650162687,MT 3650162688,3650166783,RU -3650166784,3650170879,BE +3650166784,3650168319,BE +3650168320,3650168575,FR +3650168576,3650170879,BE 3650170880,3650174975,DK 3650174976,3650179071,GB 3650179072,3650183167,BG @@ -80367,14 +81544,22 @@ 3650224128,3650224383,TH 3650224384,3650224639,AT 3650224640,3650224895,UA -3650224896,3650225663,US +3650224896,3650225151,FR +3650225152,3650225407,US +3650225408,3650225663,BR 3650225664,3650226175,TR 3650226176,3650226431,RS 3650226432,3650226687,AT 3650226688,3650227455,IN 3650227456,3650227711,PL 3650227712,3650227967,PT -3650227968,3650232319,AT +3650227968,3650228223,AR +3650228224,3650228479,HK +3650228480,3650229503,AT +3650229504,3650229759,LU +3650229760,3650231295,AT +3650231296,3650231551,AR +3650231552,3650232319,AT 3650232320,3650236415,RU 3650236416,3650240511,CH 3650240512,3650244607,EE @@ -80390,9 +81575,7 @@ 3650297856,3650301951,LT 3650301952,3650310143,DE 3650310144,3650314239,GB -3650314240,3650316287,DE -3650316288,3650316543,EU -3650316544,3650318335,DE +3650314240,3650318335,DE 3650318336,3650322431,GI 3650322432,3650330623,IT 3650330624,3650334719,UA @@ -80437,11 +81620,7 @@ 3650416640,3650420735,BE 3650420736,3650424831,ES 3650424832,3650428927,RU -3650428928,3650429714,NL -3650429715,3650429715,EU -3650429716,3650431999,NL -3650432000,3650432255,EU -3650432256,3650433023,NL +3650428928,3650433023,NL 3650433024,3650437119,FI 3650437120,3650441215,NL 3650441216,3650445311,IT @@ -80462,7 +81641,9 @@ 3650510848,3650519039,GB 3650519040,3650523135,HU 3650523136,3650527231,DE -3650527232,3650535423,SE +3650527232,3650534911,SE +3650534912,3650535167,NL +3650535168,3650535423,SE 3650535424,3650539519,RU 3650539520,3650543615,ES 3650543616,3650551807,CH @@ -80480,7 +81661,9 @@ 3650600960,3650605055,SE 3650605056,3650609180,DE 3650609181,3650609181,LB -3650609182,3650611711,DE +3650609182,3650610175,DE +3650610176,3650611199,RU +3650611200,3650611711,DE 3650611712,3650611967,LB 3650611968,3650617343,DE 3650617344,3650682879,FI @@ -80488,8 +81671,14 @@ 3650748416,3650879487,GB 3650879488,3650912255,RO 3650912256,3650915327,GB -3650915328,3650915583,FR -3650915584,3650926079,GB +3650915328,3650915337,FR +3650915338,3650915338,BE +3650915339,3650915583,FR +3650915584,3650920447,GB +3650920448,3650920457,FR +3650920458,3650920458,GB +3650920459,3650920703,FR +3650920704,3650926079,GB 3650926080,3650926335,BE 3650926336,3650926591,GB 3650926592,3650929663,ES @@ -80498,74 +81687,50 @@ 3650929856,3650929863,DE 3650929864,3650930431,GB 3650930432,3650930687,DE -3650930688,3650939599,GB +3650930688,3650932943,GB +3650932944,3650932975,IT +3650932976,3650939599,GB 3650939600,3650939607,FR 3650939608,3650939615,TR 3650939616,3650944579,GB 3650944580,3650944580,FR 3650944581,3650945023,GB 3650945024,3651010559,DK -3651010560,3651053055,GB -3651053056,3651053311,IE -3651053312,3651076095,GB +3651010560,3651076095,GB 3651076096,3651108863,DE 3651108864,3651141631,EE 3651141632,3651207167,DE 3651207168,3651207199,GB -3651207200,3651207223,EU 3651207224,3651207295,GB -3651207296,3651207423,EU 3651207424,3651207615,GB -3651207616,3651207647,EU 3651207648,3651208959,GB -3651208960,3651209215,EU 3651209216,3651209231,US 3651209232,3651209239,GB 3651209240,3651209243,DE -3651209244,3651209471,EU 3651209472,3651210751,GB -3651210752,3651211263,EU 3651211264,3651211775,IR -3651211776,3651213823,EU 3651213824,3651214207,US -3651214208,3651215359,EU 3651215360,3651215395,GB -3651215396,3651215615,EU 3651215616,3651215871,GB -3651215872,3651217407,EU 3651217408,3651217535,GI -3651217536,3651219455,EU 3651219456,3651219967,US -3651219968,3651220383,EU 3651220384,3651220415,GB -3651220416,3651220431,EU 3651220432,3651220479,GB -3651220480,3651221503,EU 3651221504,3651221695,GB -3651221696,3651223551,EU 3651223552,3651223567,GB -3651223568,3651223583,EU 3651223584,3651223607,GB -3651223608,3651223647,EU 3651223648,3651223663,ES -3651223664,3651227135,EU 3651227136,3651227391,GB -3651227392,3651230719,EU 3651230720,3651231743,MU -3651231744,3651232255,EU 3651232256,3651232287,GB -3651232288,3651232319,EU 3651232320,3651232383,GB -3651232384,3651232447,EU 3651232448,3651232511,GB -3651232512,3651237375,EU 3651237376,3651237631,SC -3651237632,3651239935,EU 3651239936,3651272703,GB -3651272704,3651338239,CH -3651338240,3651350783,GB -3651350784,3651351039,EU -3651351040,3651403775,GB +3651272704,3651289087,CH +3651289088,3651289599,DE +3651289600,3651338239,CH +3651338240,3651403775,GB 3651403776,3651534847,AE 3651534848,3651600383,NL 3651600384,3651665919,FR @@ -80613,7 +81778,9 @@ 3651874816,3651878911,PL 3651878912,3651883007,IT 3651883008,3651884287,CD -3651884288,3651885839,BE +3651884288,3651884799,BE +3651884800,3651885055,CD +3651885056,3651885839,BE 3651885840,3651885843,CD 3651885844,3651887103,BE 3651887104,3651891199,GB @@ -80621,9 +81788,7 @@ 3651895296,3651899391,GB 3651899392,3651903487,RU 3651903488,3651907583,IT -3651907584,3651908607,DE -3651908608,3651908863,US -3651908864,3651909046,DE +3651907584,3651909046,DE 3651909047,3651909047,IQ 3651909048,3651911679,DE 3651911680,3651915775,NO @@ -80631,13 +81796,9 @@ 3651919872,3651921919,NL 3651921920,3651923967,IT 3651923968,3651928063,DE -3651928064,3651928575,IT -3651928576,3651928831,KZ -3651928832,3651932159,IT +3651928064,3651932159,IT 3651932160,3651936255,RU -3651936256,3651936511,DE -3651936512,3651936767,EU -3651936768,3651937023,DE +3651936256,3651937023,DE 3651937024,3651938047,FR 3651938048,3651940351,DE 3651940352,3651941119,FR @@ -80648,7 +81809,8 @@ 3651952640,3651953663,IR 3651953664,3651954687,AE 3651954688,3651957759,IR -3651957760,3651960831,AE +3651957760,3651958783,AE +3651958784,3651960831,IR 3651960832,3651964927,GB 3651964928,3651969023,SK 3651969024,3651977215,DE @@ -80683,18 +81845,18 @@ 3652124672,3652128767,UA 3652128768,3652136959,RU 3652136960,3652141055,IT -3652141056,3652145151,A2 +3652141056,3652145151,GB 3652145152,3652149247,UA 3652149248,3652153343,DE 3652153344,3652157439,SE 3652157440,3652165631,RU -3652165632,3652169215,FR -3652169216,3652169727,GF -3652169728,3652169983,FR -3652169984,3652170239,MQ -3652170240,3652170751,FR +3652165632,3652170239,FR +3652170240,3652170495,MQ +3652170496,3652170751,FR 3652170752,3652171007,MQ -3652171008,3652173823,FR +3652171008,3652171519,FR +3652171520,3652171775,MQ +3652171776,3652173823,FR 3652173824,3652177919,AT 3652177920,3652182015,CY 3652182016,3652190207,DE @@ -80708,19 +81870,9 @@ 3653386240,3653390335,DE 3653390336,3653394431,FR 3653394432,3653402623,NL -3653402624,3653407487,A2 -3653407488,3653407743,US -3653407744,3653407999,A2 -3653408000,3653408255,US -3653408256,3653409215,A2 -3653409216,3653409223,SS -3653409224,3653409239,A2 -3653409240,3653409247,SS -3653409248,3653410047,A2 -3653410048,3653410060,US +3653402624,3653410060,GB 3653410061,3653410061,YT -3653410062,3653410303,US -3653410304,3653410815,A2 +3653410062,3653410815,GB 3653410816,3653414911,CZ 3653414912,3653419007,IT 3653419008,3653423103,IL @@ -80734,8 +81886,10 @@ 3653451776,3653464063,RU 3653464064,3653468159,NL 3653468160,3653472255,GR -3653472256,3653472511,NL -3653472512,3653473535,US +3653472256,3653472767,NL +3653472768,3653473023,US +3653473024,3653473279,NL +3653473280,3653473535,US 3653473536,3653476351,NL 3653476352,3653480447,CZ 3653480448,3653484543,DK @@ -80802,10 +81956,14 @@ 3653758976,3653763071,RU 3653763072,3654025215,IT 3654025216,3654287359,GB -3654287360,3654608404,SE +3654287360,3654608399,SE +3654608400,3654608404,DE 3654608405,3654608405,NO -3654608406,3654608831,SE -3654608832,3654608895,RU +3654608406,3654608407,DE +3654608408,3654608447,SE +3654608448,3654608479,GB +3654608480,3654608639,SE +3654608640,3654608895,RU 3654608896,3654609919,NO 3654609920,3654614143,SE 3654614144,3654614271,FI @@ -80837,8 +81995,8 @@ 3663992064,3663992319,NZ 3663992320,3663992575,MY 3663992576,3663993599,NZ -3663993600,3663995903,ID -3663995904,3663996415,AU +3663993600,3663996159,ID +3663996160,3663996415,AU 3663996416,3663996671,TH 3663996672,3663997183,AU 3663997184,3663997439,ID @@ -80900,11 +82058,7 @@ 3671130112,3671195647,KR 3671195648,3671326719,TW 3671326720,3671392255,SG -3671392256,3671411711,HK -3671411712,3671411967,AP -3671411968,3671412991,HK -3671412992,3671413247,AU -3671413248,3671457791,HK +3671392256,3671457791,HK 3671457792,3671588863,AU 3671588864,3672637439,JP 3672637440,3673161727,KR @@ -80940,9 +82094,7 @@ 3680239616,3680403455,MY 3680403456,3680436223,JP 3680436224,3680501759,MY -3680501760,3682554623,JP -3682554624,3682554879,AP -3682554880,3682598911,JP +3680501760,3682598911,JP 3682598912,3684696063,CN 3684696064,3688366079,JP 3688366080,3689938943,CN @@ -80953,7 +82105,9 @@ 3695181824,3697278975,KR 3697278976,3697574399,JP 3697574400,3697574687,GB -3697574688,3697574903,JP +3697574688,3697574719,JP +3697574720,3697574783,GB +3697574784,3697574903,JP 3697574904,3697574911,GB 3697574912,3697606655,JP 3697606656,3697655807,AU @@ -80980,9 +82134,7 @@ 3701293056,3701301247,AU 3701301248,3701305343,ID 3701305344,3701309439,TW -3701309440,3701365759,JP -3701365760,3701366015,US -3701366016,3701374975,JP +3701309440,3701374975,JP 3701407744,3701473279,JP 3701473280,3704619007,CN 3704619008,3705667583,JP @@ -80992,9 +82144,7 @@ 3706126336,3706142719,CN 3706142720,3706159103,VN 3706159104,3706191871,CN -3706191872,3706206959,SG -3706206960,3706206975,AP -3706206976,3706208255,SG +3706191872,3706208255,SG 3706208256,3706224639,CN 3706224640,3706257407,HK 3706257408,3706322943,AU @@ -81023,9 +82173,7 @@ 3715629056,3715653631,TW 3715653632,3715655679,BD 3715655680,3715657727,IN -3715657728,3715658495,SG -3715658496,3715658751,US -3715658752,3715661823,SG +3715657728,3715661823,SG 3715661824,3715672063,AU 3715672064,3715674111,JP 3715674112,3715678207,HK @@ -81112,7 +82260,7 @@ 3743006720,3743014911,TH 3743014912,3743016959,AU 3743016960,3743019007,SG -3743019008,3743023103,MY +3743019008,3743022079,MY 3743023104,3743027199,TW 3743027200,3743031295,SG 3743031296,3743035391,IN @@ -81156,7 +82304,8 @@ 3749183488,3749838847,CN 3749838848,3749839871,SG 3749839872,3749840895,IN -3749841920,3749847039,AU +3749841920,3749842943,AU +3749843968,3749846015,AU 3749847040,3749855231,HK 3749855232,3749969919,KR 3749969920,3750232063,JP @@ -81213,7 +82362,6 @@ 3758091264,3758092287,CN 3758092288,3758093311,HK 3758093312,3758094335,IN -3758094336,3758095359,AU 3758095360,3758095871,CN 3758095872,3758096127,SG 3758096128,3758096383,AU diff --git a/src/config/geoip-manual b/src/config/geoip-manual deleted file mode 100644 index d51a12a1ce..0000000000 --- a/src/config/geoip-manual +++ /dev/null @@ -1,80 +0,0 @@ -# This file contains manual overrides of A1 entries (and possibly others) -# in MaxMind's GeoLite Country database. Use deanonymind.py in the same -# directory to process this file when producing a new geoip file. See -# README.geoip in the same directory for details. - -# GB, because RIR delegation files say exactly this range -# 46.16.32.0-46.16.39.255 is GB, even though neither previous nor next -# MaxMind range is GB. Both previous and next MaxMind ranges match RIR -# delegation files, too. -KL 2013-03-07 -"46.16.32.0","46.16.39.255","772808704","772810751","GB","United Kingdom" - -# CH, because previous MaxMind entry 46.19.141.0-46.19.142.255 is CH, and -# RIR delegation files say 46.19.136.0-46.19.143.255 is CH. -# -KL 2012-11-27 -"46.19.143.0","46.19.143.255","773033728","773033983","CH","Switzerland" - -# GB, because next MaxMind entry 46.166.129.0-46.166.134.255 is GB, and -# RIR delegation files say 46.166.128.0-46.166.191.255 is GB. -# -KL 2012-11-27 -"46.166.128.0","46.166.128.255","782663680","782663935","GB","United Kingdom" - -# US, because previous MaxMind entry 70.159.21.51-70.232.244.255 is US, -# because next MaxMind entry 70.232.245.58-70.232.245.59 is A2 ("Satellite -# Provider") which is a country information about as useless as A1, and -# because RIR delegation files say 70.224.0.0-70.239.255.255 is US. -# -KL 2012-11-27 -"70.232.245.0","70.232.245.57","1189672192","1189672249","US","United States" - -# US, because next MaxMind entry 70.232.246.0-70.240.141.255 is US, -# because previous MaxMind entry 70.232.245.58-70.232.245.59 is A2 -# ("Satellite Provider") which is a country information about as useless -# as A1, and because RIR delegation files say 70.224.0.0-70.239.255.255 is -# US. -KL 2012-11-27 -"70.232.245.60","70.232.245.255","1189672252","1189672447","US","United States" - -# GB, despite neither previous (GE) nor next (LV) MaxMind entry being GB, -# but because RIR delegation files agree with both previous and next -# MaxMind entry and say GB for 91.228.0.0-91.228.3.255. -KL 2012-11-27 -"91.228.0.0","91.228.3.255","1541668864","1541669887","GB","United Kingdom" - -# NL, because next MaxMind entry 176.56.173.0-176.56.173.63 is NL, and RIR -# delegation files say 176.56.160.0-176.56.191.255 is NL. -KL 2013-05-13 -"176.56.172.0","176.56.172.255","2956504064","2956504319","NL","Netherlands" - -# NL, despite neither previous (RU) nor next (GB) MaxMind entry being NL, -# but because RIR delegation files say entire range -# 176.56.160.0-176.56.191.255 is NL. -KL 2013-05-13 -"176.56.174.0","176.56.174.255","2956504576","2956504831","NL","Netherlands" - -# GB, because RIR delegation files say exactly this range -# 185.25.84.0-185.25.87.255 is GB, even though neither previous nor next -# MaxMind range is GB. Both previous and next MaxMind ranges match RIR -# delegation files, too. -KL 2013-05-13 -"185.25.84.0","185.25.87.255","3105444864","3105445887","GB","United Kingdom" - -# US, because next MaxMind entry 199.101.193.0-199.101.195.255 is US, and, -# together with next entries, matches RIR delegation file entry -# 199.101.192.0-199.101.199.255 which is US. -KL 2013-05-13 -"199.101.192.0","199.101.192.255","3345334272","3345334527","US","United States" - -# US, because ARIN says 199.255.208.0-199.255.215.255 is US. -# Changed entry start from 199.255.213.0 to 199.255.208.0 on 2013-08-12. -# Split up into 199.255.208.0-199.255.209.127 and -# 199.255.210.0-199.255.215.255 on 2013-10-11. -KL 2013-10-11 -"199.255.208.0","199.255.209.127","3355430912","3355431295","US","United States" -"199.255.210.0","199.255.215.255","3355431424","3355432959","US","United States" - -# EU, despite neither previous (RU) nor next (SE) MaxMind entry being EU, -# but because RIR delegation files agree with previous MaxMind entry and -# say EU for 217.15.160.0-217.15.175.255. -KL 2013-05-13 -"217.15.160.0","217.15.164.255","3641679872","3641681151","EU","Europe" - -# FR, because previous MaxMind entry 217.15.166.0-217.15.166.255 is FR, -# and RIR delegation files contain a block 217.15.160.0-217.15.175.255 -# which, however, is EU, not FR. But merging with next MaxMind entry -# 217.15.176.0-217.15.191.255 which is KZ and which fully matches what -# the RIR delegation files say seems unlikely to be correct. -# -KL 2012-11-27 -"217.15.167.0","217.15.175.255","3641681664","3641683967","FR","France" - diff --git a/src/config/geoip6 b/src/config/geoip6 index be70b29616..6dc6374335 100644 --- a/src/config/geoip6 +++ b/src/config/geoip6 @@ -1,8 +1,4 @@ -# Last updated based on October 16 2012 Maxmind GeoLite IPv6 Country -# wget http://geolite.maxmind.com/download/geoip/database/GeoIPv6.csv.gz -# cut -d, -f1,2,5 < GeoIPv6.csv|sed 's/[ "]//g' > geoip6 -2001:200::,2001:200:ffff:ffff:ffff:ffff:ffff:ffff,JP -2001:208::,2001:208:ffff:ffff:ffff:ffff:ffff:ffff,SG +# Last updated based on February 7 2014 Maxmind GeoLite2 Country 2001:218::,2001:218:ffff:ffff:ffff:ffff:ffff:ffff,JP 2001:220::,2001:220:ffff:ffff:ffff:ffff:ffff:ffff,KR 2001:230::,2001:230:ffff:ffff:ffff:ffff:ffff:ffff,KR @@ -85,7 +81,6 @@ 2001:4c0::,2001:4c0:ffff:ffff:ffff:ffff:ffff:ffff,CA 2001:4c8::,2001:4c8:ffff:ffff:ffff:ffff:ffff:ffff,CA 2001:4d0::,2001:4d0:ffff:ffff:ffff:ffff:ffff:ffff,US -2001:4d8::,2001:4d8:ffff:ffff:ffff:ffff:ffff:ffff,US 2001:4e0::,2001:4e0:ffff:ffff:ffff:ffff:ffff:ffff,US 2001:4e8::,2001:4e8:ffff:ffff:ffff:ffff:ffff:ffff,CA 2001:4f0::,2001:4f0:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -102,7 +97,8 @@ 2001:500:84::,2001:500:89:ffff:ffff:ffff:ffff:ffff,US 2001:500:8c::,2001:500:9a:ffff:ffff:ffff:ffff:ffff,US 2001:500:9c::,2001:500:9f:ffff:ffff:ffff:ffff:ffff,US -2001:500:a0::,2001:500:a6:ffff:ffff:ffff:ffff:ffff,CA +2001:500:a0::,2001:500:a7:ffff:ffff:ffff:ffff:ffff,CA +2001:500:a8::,2001:500:a8:ffff:ffff:ffff:ffff:ffff,US 2001:500:c0::,2001:500:ef:ffff:ffff:ffff:ffff:ffff,CA 2001:500:f0::,2001:500:f0:ffff:ffff:ffff:ffff:ffff,US 2001:500:f1::,2001:500:f1:ffff:ffff:ffff:ffff:ffff,CA @@ -162,7 +158,7 @@ 2001:503:f261::,2001:503:f261:ffff:ffff:ffff:ffff:ffff,US 2001:503:f3da::,2001:503:f3da:ffff:ffff:ffff:ffff:ffff,US 2001:503:ff39::,2001:503:ff39:ffff:ffff:ffff:ffff:ffff,US -2001:504::,2001:504:14:ffff:ffff:ffff:ffff:ffff,US +2001:504::,2001:504:13:ffff:ffff:ffff:ffff:ffff,US 2001:504:15::,2001:504:15:ffff:ffff:ffff:ffff:ffff,CA 2001:504:16::,2001:504:19:ffff:ffff:ffff:ffff:ffff,US 2001:504:1a::,2001:504:1a:ffff:ffff:ffff:ffff:ffff,CA @@ -171,14 +167,17 @@ 2001:504:20::,2001:504:23:ffff:ffff:ffff:ffff:ffff,CA 2001:504:24::,2001:504:24:ffff:ffff:ffff:ffff:ffff,US 2001:504:25::,2001:504:26:ffff:ffff:ffff:ffff:ffff,CA -2001:504:27::,2001:504:28:ffff:ffff:ffff:ffff:ffff,US +2001:504:27::,2001:504:2a:ffff:ffff:ffff:ffff:ffff,US +2001:504:2b::,2001:504:2d:ffff:ffff:ffff:ffff:ffff,CA +2001:504:2e::,2001:504:2e:ffff:ffff:ffff:ffff:ffff,US +2001:504:2f::,2001:504:2f:ffff:ffff:ffff:ffff:ffff,CA 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:100::,2001:506:100:ffff:ffff:ffff:ffff:ffff,US 2001:506:1000::,2001:506:2fff:ffff:ffff:ffff:ffff:ffff,US -2001:506:4000::,2001:506:5fff:ffff:ffff:ffff:ffff:ffff,US +2001:506:4000::,2001:506:7fff:ffff:ffff:ffff:ffff:ffff,US 2001:508::,2001:508:ffff:ffff:ffff:ffff:ffff:ffff,BM 2001:510::,2001:510:ffff:ffff:ffff:ffff:ffff:ffff,CA 2001:518::,2001:518:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -208,7 +207,6 @@ 2001:5e8::,2001:5e8:ffff:ffff:ffff:ffff:ffff:ffff,US 2001:5f0::,2001:5f0:ffff:ffff:ffff:ffff:ffff:ffff,US 2001:5f8::,2001:5f8:ffff:ffff:ffff:ffff:ffff:ffff,US -2001:600::,2001:600:ffff:ffff:ffff:ffff:ffff:ffff,EU 2001:608::,2001:608:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:610::,2001:610:ffff:ffff:ffff:ffff:ffff:ffff,NL 2001:618::,2001:618:ffff:ffff:ffff:ffff:ffff:ffff,CH @@ -218,11 +216,10 @@ 2001:638::,2001:638:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:640::,2001:640:ffff:ffff:ffff:ffff:ffff:ffff,RU 2001:648::,2001:648:ffff:ffff:ffff:ffff:ffff:ffff,GR -2001:650::,2001:650:ffff:ffff:ffff:ffff:ffff:ffff,DE -2001:658::,2001:658:ffff:ffff:ffff:ffff:ffff:ffff,DE +2001:650::,2001:658:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:660::,2001:667:ffff:ffff:ffff:ffff:ffff:ffff,FR 2001:668::,2001:66f:ffff:ffff:ffff:ffff:ffff:ffff,DE -2001:670::,2001:670:ffff:ffff:ffff:ffff:ffff:ffff,FI +2001:670::,2001:673:ffff:ffff:ffff:ffff:ffff:ffff,FI 2001:678:1::,2001:678:1:ffff:ffff:ffff:ffff:ffff,CZ 2001:678:2::,2001:678:2:ffff:ffff:ffff:ffff:ffff,DE 2001:678:3::,2001:678:3:ffff:ffff:ffff:ffff:ffff,CH @@ -254,10 +251,6 @@ 2001:678:44::,2001:678:44:ffff:ffff:ffff:ffff:ffff,ES 2001:678:48::,2001:678:48:ffff:ffff:ffff:ffff:ffff,ES 2001:678:4c::,2001:678:4c:ffff:ffff:ffff:ffff:ffff,FR -2001:678:50::,2001:678:50:ffff:ffff:ffff:ffff:ffff,TK -2001:678:54::,2001:678:54:ffff:ffff:ffff:ffff:ffff,TK -2001:678:58::,2001:678:58:ffff:ffff:ffff:ffff:ffff,TK -2001:678:5c::,2001:678:5c:ffff:ffff:ffff:ffff:ffff,TK 2001:678:60::,2001:678:60:ffff:ffff:ffff:ffff:ffff,LU 2001:678:64::,2001:678:64:ffff:ffff:ffff:ffff:ffff,BE 2001:678:68::,2001:678:68:ffff:ffff:ffff:ffff:ffff,BE @@ -268,7 +261,11 @@ 2001:678:7c::,2001:678:7c:ffff:ffff:ffff:ffff:ffff,LV 2001:678:80::,2001:678:80:ffff:ffff:ffff:ffff:ffff,LV 2001:678:84::,2001:678:84:ffff:ffff:ffff:ffff:ffff,LV -2001:67c::,2001:67c:0:ffff:ffff:ffff:ffff:ffff,IE +2001:678:88::,2001:678:88:ffff:ffff:ffff:ffff:ffff,LT +2001:678:8c::,2001:678:8c:ffff:ffff:ffff:ffff:ffff,LT +2001:678:90::,2001:678:90:ffff:ffff:ffff:ffff:ffff,SK +2001:678:94::,2001:678:94:ffff:ffff:ffff:ffff:ffff,EE +2001:67c::,2001:67c::ffff:ffff:ffff:ffff:ffff,IE 2001:67c:4::,2001:67c:4:ffff:ffff:ffff:ffff:ffff,DE 2001:67c:8::,2001:67c:8:ffff:ffff:ffff:ffff:ffff,CH 2001:67c:c::,2001:67c:c:ffff:ffff:ffff:ffff:ffff,PL @@ -311,7 +308,6 @@ 2001:67c:b4::,2001:67c:b4:ffff:ffff:ffff:ffff:ffff,GB 2001:67c:b8::,2001:67c:b8:ffff:ffff:ffff:ffff:ffff,DK 2001:67c:bc::,2001:67c:bc:ffff:ffff:ffff:ffff:ffff,EE -2001:67c:c0::,2001:67c:c0:ffff:ffff:ffff:ffff:ffff,GB 2001:67c:c4::,2001:67c:c4:ffff:ffff:ffff:ffff:ffff,FR 2001:67c:c8::,2001:67c:c8:ffff:ffff:ffff:ffff:ffff,CH 2001:67c:cc::,2001:67c:cc:ffff:ffff:ffff:ffff:ffff,DE @@ -346,14 +342,12 @@ 2001:67c:144::,2001:67c:144:ffff:ffff:ffff:ffff:ffff,GB 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,CZ 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,EU 2001:67c:170::,2001:67c:170:ffff:ffff:ffff:ffff:ffff,CH 2001:67c:174::,2001:67c:174:ffff:ffff:ffff:ffff:ffff,NL 2001:67c:178::,2001:67c:178:ffff:ffff:ffff:ffff:ffff,AT @@ -480,7 +474,6 @@ 2001:67c:36c::,2001:67c:36c:ffff:ffff:ffff:ffff:ffff,CH 2001:67c:370::,2001:67c:370:ffff:ffff:ffff:ffff:ffff,CH 2001:67c:374::,2001:67c:374:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:378::,2001:67c:378:ffff:ffff:ffff:ffff:ffff,AT 2001:67c:37c::,2001:67c:37c:ffff:ffff:ffff:ffff:ffff,CH 2001:67c:380::,2001:67c:380:ffff:ffff:ffff:ffff:ffff,CZ 2001:67c:384::,2001:67c:384:ffff:ffff:ffff:ffff:ffff,DE @@ -513,6 +506,7 @@ 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,AT +2001:67c:400::,2001:67c:400:ffff:ffff:ffff:ffff:ffff,RU 2001:67c:1000::,2001:67c:1001:ffff:ffff:ffff:ffff:ffff,SE 2001:67c:1008::,2001:67c:1009:ffff:ffff:ffff:ffff:ffff,RU 2001:67c:1010::,2001:67c:1011:ffff:ffff:ffff:ffff:ffff,SE @@ -540,9 +534,7 @@ 2001:67c:107c::,2001:67c:107c:ffff:ffff:ffff:ffff:ffff,SE 2001:67c:1080::,2001:67c:1080:ffff:ffff:ffff:ffff:ffff,NL 2001:67c:1084::,2001:67c:1084:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:1088::,2001:67c:1089:ffff:ffff:ffff:ffff:ffff,DE 2001:67c:1090::,2001:67c:1090:ffff:ffff:ffff:ffff:ffff,CH -2001:67c:1094::,2001:67c:1094:ffff:ffff:ffff:ffff:ffff,IT 2001:67c:1098::,2001:67c:1098:ffff:ffff:ffff:ffff:ffff,GB 2001:67c:109c::,2001:67c:109c:ffff:ffff:ffff:ffff:ffff,GB 2001:67c:10a0::,2001:67c:10a0:ffff:ffff:ffff:ffff:ffff,GB @@ -568,6 +560,66 @@ 2001:67c:10f4::,2001:67c:10f4:ffff:ffff:ffff:ffff:ffff,AT 2001:67c:10f8::,2001:67c:10f8:ffff:ffff:ffff:ffff:ffff,FR 2001:67c:10fc::,2001:67c:10fc:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1100::,2001:67c:1100:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:1104::,2001:67c:1104:ffff:ffff:ffff:ffff:ffff,SE +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:1144::,2001:67c:1144:ffff:ffff:ffff:ffff:ffff,RU +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,RO +2001:67c:1164::,2001:67c:1164:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:1168::,2001:67c:1168:ffff:ffff:ffff:ffff:ffff,RU +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,RO +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:1190::,2001:67c:1190:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:1194::,2001:67c:1194:ffff:ffff:ffff:ffff:ffff,PL +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,GB +2001:67c:11ec::,2001:67c:11ec:ffff:ffff:ffff:ffff:ffff,TR +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:1203:ffff:ffff:ffff:ffff:ffff,FR 2001:67c:1210::,2001:67c:1213:ffff:ffff:ffff:ffff:ffff,RU 2001:67c:1220::,2001:67c:1223:ffff:ffff:ffff:ffff:ffff,CZ @@ -578,7 +630,6 @@ 2001:67c:124c::,2001:67c:124c:ffff:ffff:ffff:ffff:ffff,SE 2001:67c:1250::,2001:67c:1250:ffff:ffff:ffff:ffff:ffff,LU 2001:67c:1254::,2001:67c:1254:ffff:ffff:ffff:ffff:ffff,FR -2001:67c:1258::,2001:67c:1258:ffff:ffff:ffff:ffff:ffff,PL 2001:67c:125c::,2001:67c:125c:ffff:ffff:ffff:ffff:ffff,UA 2001:67c:1260::,2001:67c:1260:ffff:ffff:ffff:ffff:ffff,CZ 2001:67c:1264::,2001:67c:1264:ffff:ffff:ffff:ffff:ffff,RU @@ -587,12 +638,10 @@ 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,NL 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,NL 2001:67c:1294::,2001:67c:1294:ffff:ffff:ffff:ffff:ffff,SE 2001:67c:1298::,2001:67c:1298:ffff:ffff:ffff:ffff:ffff,NL 2001:67c:129c::,2001:67c:129c:ffff:ffff:ffff:ffff:ffff,AT @@ -601,13 +650,429 @@ 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,FR +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,PL +2001:67c:12dc::,2001:67c:12dc:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:12e0::,2001:67c:12e0:ffff:ffff:ffff:ffff:ffff,UA +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,RU +2001:67c:12f4::,2001:67c:12f4:ffff:ffff:ffff:ffff:ffff,CZ +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,MD +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,CZ +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:13a4::,2001:67c:13a4:ffff:ffff:ffff:ffff:ffff,RU +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: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: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,CH 2001:67c:1400::,2001:67c:1407:ffff:ffff:ffff:ffff:ffff,DE 2001:67c:1420::,2001:67c:1427:ffff:ffff:ffff:ffff:ffff,DE 2001:67c:1440::,2001:67c:1447:ffff:ffff:ffff:ffff:ffff,RU 2001:67c:1460::,2001:67c:1467:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:1480::,2001:67c:1480:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:1484::,2001:67c:1484:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:1488::,2001:67c:1488:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:148c::,2001:67c:148c:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1490::,2001:67c:1490:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1494::,2001:67c:1494:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:1498::,2001:67c:1498:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:149c::,2001:67c:149c:ffff:ffff:ffff:ffff:ffff,SI +2001:67c:14a0::,2001:67c:14a0:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:14a4::,2001:67c:14a4:ffff:ffff:ffff:ffff:ffff,BG +2001:67c:14a8::,2001:67c:14a8:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:14ac::,2001:67c:14ac:ffff:ffff:ffff:ffff:ffff,FR +2001:67c:14b0::,2001:67c:14b0:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:14b4::,2001:67c:14b4:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:14b8::,2001:67c:14b8:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:14bc::,2001:67c:14bc:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:14c0::,2001:67c:14c0:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:14c4::,2001:67c:14c4:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:14d0::,2001:67c:14d0:ffff:ffff:ffff:ffff:ffff,NO +2001:67c:14d4::,2001:67c:14d4:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:14d8::,2001:67c:14d8:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:14dc::,2001:67c:14dc:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:14e0::,2001:67c:14e7:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:1500::,2001:67c:1500:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1504::,2001:67c:1504:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1508::,2001:67c:1508:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:150c::,2001:67c:150c:ffff:ffff:ffff:ffff:ffff,CH +2001:67c:1510::,2001:67c:1510:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:1514::,2001:67c:1514:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:1518::,2001:67c:1518:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:151c::,2001:67c:151c:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:1520::,2001:67c:1520:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:1524::,2001:67c:1524:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:1528::,2001:67c:1528:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:152c::,2001:67c:152c:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:1530::,2001:67c:1530:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:1534::,2001:67c:1534:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1538::,2001:67c:1538:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:153c::,2001:67c:153c:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1540::,2001:67c:1540:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:1544::,2001:67c:1544:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:154c::,2001:67c:154c:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1554::,2001:67c:1554:ffff:ffff:ffff:ffff:ffff,TR +2001:67c:1558::,2001:67c:1558:ffff:ffff:ffff:ffff:ffff,TR +2001:67c:155c::,2001:67c:155c:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:1560::,2001:67c:1563:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:1570::,2001:67c:1570:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:1574::,2001:67c:1574:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:1578::,2001:67c:1578:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:157c::,2001:67c:157c:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:1580::,2001:67c:1580:ffff:ffff:ffff:ffff:ffff,CH +2001:67c:1584::,2001:67c:1584:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:1588::,2001:67c:1588:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:158c::,2001:67c:158c:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:1590::,2001:67c:1591:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:1598::,2001:67c:1598:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:159c::,2001:67c:159c:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:15a0::,2001:67c:15a3:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:15b0::,2001:67c:15b0:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:15b8::,2001:67c:15b8:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:15bc::,2001:67c:15bc:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:15c0::,2001:67c:15c0:ffff:ffff:ffff:ffff:ffff,CH +2001:67c:15c4::,2001:67c:15c4:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:15c8::,2001:67c:15c8:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:15cc::,2001:67c:15cc:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:15d0::,2001:67c:15d0:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:15d4::,2001:67c:15d4:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:15d8::,2001:67c:15d8:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:15dc::,2001:67c:15dc:ffff:ffff:ffff:ffff:ffff,CH +2001:67c:15e0::,2001:67c:15e0:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:15e4::,2001:67c:15e4:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:15e8::,2001:67c:15e8:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:15ec::,2001:67c:15ec:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:15f0::,2001:67c:15f0:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:15f4::,2001:67c:15f4:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:15f8::,2001:67c:15f8:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:15fc::,2001:67c:15fc:ffff:ffff:ffff:ffff:ffff,SE 2001:67c:1600::,2001:67c:160f:ffff:ffff:ffff:ffff:ffff,DE 2001:67c:1640::,2001:67c:164f:ffff:ffff:ffff:ffff:ffff,NO +2001:67c:1680::,2001:67c:1680:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:1684::,2001:67c:1684:ffff:ffff:ffff:ffff:ffff,SI +2001:67c:1688::,2001:67c:1688:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:168c::,2001:67c:168c:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:1690::,2001:67c:1690:ffff:ffff:ffff:ffff:ffff,FR +2001:67c:1694::,2001:67c:1694:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:1698::,2001:67c:1698:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:169c::,2001:67c:169c:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:16a0::,2001:67c:16a0:ffff:ffff:ffff:ffff:ffff,DK +2001:67c:16a4::,2001:67c:16a4:ffff:ffff:ffff:ffff:ffff,DK +2001:67c:16a8::,2001:67c:16a8:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:16ac::,2001:67c:16ac:ffff:ffff:ffff:ffff:ffff,ES +2001:67c:16b0::,2001:67c:16b0:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:16b4::,2001:67c:16b4:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:16b8::,2001:67c:16b8:ffff:ffff:ffff:ffff:ffff,BG +2001:67c:16bc::,2001:67c:16bc:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:16c0::,2001:67c:16c0:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:16c4::,2001:67c:16c4:ffff:ffff:ffff:ffff:ffff,SI +2001:67c:16c8::,2001:67c:16c8:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:16d0::,2001:67c:16d1:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:16d8::,2001:67c:16d8:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:16dc::,2001:67c:16dc:ffff:ffff:ffff:ffff:ffff,CH +2001:67c:16e0::,2001:67c:16e0:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:16e4::,2001:67c:16e4:ffff:ffff:ffff:ffff:ffff,HR +2001:67c:16e8::,2001:67c:16e8:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:16ec::,2001:67c:16ec:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:16f0::,2001:67c:16f0:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:16f4::,2001:67c:16f4:ffff:ffff:ffff:ffff:ffff,SI +2001:67c:16f8::,2001:67c:16f8:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:16fc::,2001:67c:16fc:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1700::,2001:67c:1700:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:1704::,2001:67c:1704:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:1708::,2001:67c:1708:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:170c::,2001:67c:170c:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:1710::,2001:67c:1710:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:1720::,2001:67c:1720:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:1724::,2001:67c:1724:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:1728::,2001:67c:1728:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:172c::,2001:67c:172c:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:1730::,2001:67c:1730:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:1734::,2001:67c:1734:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:1738::,2001:67c:1738:ffff:ffff:ffff:ffff:ffff,IL +2001:67c:173c::,2001:67c:173c:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:1740::,2001:67c:1740:ffff:ffff:ffff:ffff:ffff,FR +2001:67c:1744::,2001:67c:1744:ffff:ffff:ffff:ffff:ffff,DK +2001:67c:1748::,2001:67c:1748:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:174c::,2001:67c:174c:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1750::,2001:67c:1750:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:1754::,2001:67c:1754:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1758::,2001:67c:1758:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:175c::,2001:67c:175c:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:1760::,2001:67c:1760:ffff:ffff:ffff:ffff:ffff,DK +2001:67c:1764::,2001:67c:1764:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:1768::,2001:67c:1768:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:176c::,2001:67c:176c:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:1770::,2001:67c:1770:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1774::,2001:67c:1774:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:177c::,2001:67c:177c:ffff:ffff:ffff:ffff:ffff,LT +2001:67c:1780::,2001:67c:1780:ffff:ffff:ffff:ffff:ffff,CH +2001:67c:1784::,2001:67c:1784:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1788::,2001:67c:1788:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:178c::,2001:67c:178c:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:1790::,2001:67c:1790:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:1794::,2001:67c:1794:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1798::,2001:67c:1798:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:179c::,2001:67c:179c:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:17a0::,2001:67c:17a0:ffff:ffff:ffff:ffff:ffff,FI +2001:67c:17a8::,2001:67c:17a8:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:17ac::,2001:67c:17ac:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:17b0::,2001:67c:17b0:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:17b4::,2001:67c:17b4:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:17b8::,2001:67c:17b8:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:17bc::,2001:67c:17bc:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:17c0::,2001:67c:17c0:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:17c4::,2001:67c:17c4:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:17c8::,2001:67c:17c8:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:17cc::,2001:67c:17cc:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:17d0::,2001:67c:17d0:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:17d4::,2001:67c:17d4:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:17d8::,2001:67c:17d8:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:17dc::,2001:67c:17dc:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:17e0::,2001:67c:17e0:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:17e4::,2001:67c:17e4:ffff:ffff:ffff:ffff:ffff,NO +2001:67c:17e8::,2001:67c:17e8:ffff:ffff:ffff:ffff:ffff,NO +2001:67c:17ec::,2001:67c:17ec:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:17f0::,2001:67c:17f0:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:17f4::,2001:67c:17f4:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:17f8::,2001:67c:17f8:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:17fc::,2001:67c:17fc:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:1800::,2001:67c:1800:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1804::,2001:67c:1804:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:1808::,2001:67c:1809:ffff:ffff:ffff:ffff:ffff,BE +2001:67c:1810::,2001:67c:1810:ffff:ffff:ffff:ffff:ffff,BE +2001:67c:1814::,2001:67c:1814:ffff:ffff:ffff:ffff:ffff,FR +2001:67c:1818::,2001:67c:1818:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:181c::,2001:67c:181c:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:1820::,2001:67c:1820:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:1828::,2001:67c:1828:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:182c::,2001:67c:182c:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:1830::,2001:67c:1830:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1834::,2001:67c:1834:ffff:ffff:ffff:ffff:ffff,BE +2001:67c:1838::,2001:67c:1838:ffff:ffff:ffff:ffff:ffff,BE +2001:67c:183c::,2001:67c:183c:ffff:ffff:ffff:ffff:ffff,BE +2001:67c:1840::,2001:67c:1840:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:1844::,2001:67c:1844:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:1848::,2001:67c:1848:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:184c::,2001:67c:184c:ffff:ffff:ffff:ffff:ffff,FR +2001:67c:1850::,2001:67c:1850:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:1854::,2001:67c:1854:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:1858::,2001:67c:1858:ffff:ffff:ffff:ffff:ffff,DK +2001:67c:185c::,2001:67c:185c:ffff:ffff:ffff:ffff:ffff,DK +2001:67c:1860::,2001:67c:1860:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:1864::,2001:67c:1864:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:1868::,2001:67c:1868:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:186c::,2001:67c:186c:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1870::,2001:67c:1870:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:1874::,2001:67c:1874:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:1878::,2001:67c:1878:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:187c::,2001:67c:187c:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:1880::,2001:67c:1880:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1884::,2001:67c:1884:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:1888::,2001:67c:1888:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:188c::,2001:67c:188c:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:1890::,2001:67c:1890:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1894::,2001:67c:1894:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1898::,2001:67c:1898:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:189c::,2001:67c:189c:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:18a0::,2001:67c:18a0:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:18a4::,2001:67c:18a4:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:18a8::,2001:67c:18a8:ffff:ffff:ffff:ffff:ffff,BY +2001:67c:18ac::,2001:67c:18ac:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:18b0::,2001:67c:18b0:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:18b4::,2001:67c:18b4:ffff:ffff:ffff:ffff:ffff,DK +2001:67c:18b8::,2001:67c:18b8:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:18bc::,2001:67c:18bc:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:18c0::,2001:67c:18c0:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:18c4::,2001:67c:18c4:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:18c8::,2001:67c:18c9:ffff:ffff:ffff:ffff:ffff,SA +2001:67c:18d0::,2001:67c:18d0:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:18d4::,2001:67c:18d4:ffff:ffff:ffff:ffff:ffff,NZ +2001:67c:18d8::,2001:67c:18d8:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:18dc::,2001:67c:18dc:ffff:ffff:ffff:ffff:ffff,LI +2001:67c:18e0::,2001:67c:18e0:ffff:ffff:ffff:ffff:ffff,SI +2001:67c:18e4::,2001:67c:18e4:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:18e8::,2001:67c:18e8:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:18ec::,2001:67c:18ec:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:18f0::,2001:67c:18f0:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:18f4::,2001:67c:18f4:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:18f8::,2001:67c:18f8:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:18fc::,2001:67c:18fc:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1900::,2001:67c:1903:ffff:ffff:ffff:ffff:ffff,BE +2001:67c:1910::,2001:67c:1910:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1914::,2001:67c:1914:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:1918::,2001:67c:1918:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:191c::,2001:67c:191c:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1920::,2001:67c:1920:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1924::,2001:67c:1924:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:1928::,2001:67c:1928:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:192c::,2001:67c:192c:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:1930::,2001:67c:1933:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:1940::,2001:67c:1940:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:1944::,2001:67c:1944:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:1948::,2001:67c:1948:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:194c::,2001:67c:194c:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:1950::,2001:67c:1950:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:1954::,2001:67c:1954:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:1958::,2001:67c:1958:ffff:ffff:ffff:ffff:ffff,DK +2001:67c:195c::,2001:67c:195c:ffff:ffff:ffff:ffff:ffff,ES +2001:67c:1960::,2001:67c:1960:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:1964::,2001:67c:1964:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:1968::,2001:67c:1968:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:196c::,2001:67c:196c:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:1970::,2001:67c:1970:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:1974::,2001:67c:1974:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:1978::,2001:67c:1978:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:197c::,2001:67c:197c:ffff:ffff:ffff:ffff:ffff,NO +2001:67c:1980::,2001:67c:1980:ffff:ffff:ffff:ffff:ffff,FR +2001:67c:1984::,2001:67c:1984:ffff:ffff:ffff:ffff:ffff,BG +2001:67c:1988::,2001:67c:1988:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:198c::,2001:67c:198c:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:1990::,2001:67c:1990:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:1994::,2001:67c:1994:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:1998::,2001:67c:1998:ffff:ffff:ffff:ffff:ffff,LU +2001:67c:199c::,2001:67c:199c:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:19a0::,2001:67c:19a0:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:19a4::,2001:67c:19a4:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:19a8::,2001:67c:19a8:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:19ac::,2001:67c:19ac:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:19b0::,2001:67c:19b3:ffff:ffff:ffff:ffff:ffff,FI +2001:67c:19c0::,2001:67c:19c0:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:19c4::,2001:67c:19c4:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:19c8::,2001:67c:19c8:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:19cc::,2001:67c:19cc:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:19d0::,2001:67c:19d0:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:19d4::,2001:67c:19d4:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:19d8::,2001:67c:19d8:ffff:ffff:ffff:ffff:ffff,SI +2001:67c:19dc::,2001:67c:19dc:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:19e0::,2001:67c:19e0:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:19e4::,2001:67c:19e4:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:19e8::,2001:67c:19e8:ffff:ffff:ffff:ffff:ffff,TR +2001:67c:19ec::,2001:67c:19ec:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:19f0::,2001:67c:19f0:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:19f4::,2001:67c:19f4:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:19f8::,2001:67c:19f8:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:19fc::,2001:67c:19fc:ffff:ffff:ffff:ffff:ffff,CH 2001:67c:1a00::,2001:67c:1a3f:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:1b00::,2001:67c:1b00:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:1b04::,2001:67c:1b04:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:1b08::,2001:67c:1b08:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:1b0c::,2001:67c:1b0c:ffff:ffff:ffff:ffff:ffff,SA +2001:67c:1b10::,2001:67c:1b10:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:1b14::,2001:67c:1b14:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1b18::,2001:67c:1b18:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:1b1c::,2001:67c:1b1c:ffff:ffff:ffff:ffff:ffff,LU +2001:67c:1b20::,2001:67c:1b20:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:1b24::,2001:67c:1b24:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:1b2c::,2001:67c:1b2c:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:1b30::,2001:67c:1b30:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:1b34::,2001:67c:1b34:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:1b3c::,2001:67c:1b3c:ffff:ffff:ffff:ffff:ffff,SI +2001:67c:1b40::,2001:67c:1b43:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:1b50::,2001:67c:1b50:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:1b54::,2001:67c:1b54:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:1b58::,2001:67c:1b59:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:1b60::,2001:67c:1b60:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:1b64::,2001:67c:1b64:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:1b6c::,2001:67c:1b6c:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:1b70::,2001:67c:1b70:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:1b74::,2001:67c:1b74:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:1b78::,2001:67c:1b78:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:1b7c::,2001:67c:1b7c:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:1b80::,2001:67c:1b80:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:1b84::,2001:67c:1b84:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:1b88::,2001:67c:1b88:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:1b8c::,2001:67c:1b8c:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:1b90::,2001:67c:1b90:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:1b94::,2001:67c:1b94:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:1b98::,2001:67c:1b98:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1b9c::,2001:67c:1b9c:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:1ba4::,2001:67c:1ba4:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1ba8::,2001:67c:1ba8:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:1bb0::,2001:67c:1bb0:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:1bb4::,2001:67c:1bb4:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:1bb8::,2001:67c:1bb8:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:1bbc::,2001:67c:1bbc:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:1bc0::,2001:67c:1bc0:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:1bc4::,2001:67c:1bc4:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:1bc8::,2001:67c:1bc8:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:1bcc::,2001:67c:1bcc:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:1bd0::,2001:67c:1bd0:ffff:ffff:ffff:ffff:ffff,CH +2001:67c:1bd4::,2001:67c:1bd4:ffff:ffff:ffff:ffff:ffff,SK +2001:67c:1bd8::,2001:67c:1bd8:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:1bdc::,2001:67c:1bdc:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:1be0::,2001:67c:1be0:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1be4::,2001:67c:1be4:ffff:ffff:ffff:ffff:ffff,FR +2001:67c:1be8::,2001:67c:1be8:ffff:ffff:ffff:ffff:ffff,FI +2001:67c:1bec::,2001:67c:1bec:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:1bf4::,2001:67c:1bf4:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:1bf8::,2001:67c:1bf8:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:1bfc::,2001:67c:1bfc:ffff:ffff:ffff:ffff:ffff,BG 2001:67c:1c00::,2001:67c:1cff:ffff:ffff:ffff:ffff:ffff,NO 2001:67c:2004::,2001:67c:2004:ffff:ffff:ffff:ffff:ffff,SI 2001:67c:2008::,2001:67c:2008:ffff:ffff:ffff:ffff:ffff,FR @@ -642,8 +1107,6 @@ 2001:67c:2084::,2001:67c:2084:ffff:ffff:ffff:ffff:ffff,RU 2001:67c:2088::,2001:67c:2088:ffff:ffff:ffff:ffff:ffff,DE 2001:67c:208c::,2001:67c:208c:ffff:ffff:ffff:ffff:ffff,NL -2001:67c:2090::,2001:67c:2090:ffff:ffff:ffff:ffff:ffff,CH -2001:67c:2098::,2001:67c:2099:ffff:ffff:ffff:ffff:ffff,DE 2001:67c:20a0::,2001:67c:20a1:ffff:ffff:ffff:ffff:ffff,DE 2001:67c:20a8::,2001:67c:20a8:ffff:ffff:ffff:ffff:ffff,NL 2001:67c:20ac::,2001:67c:20ac:ffff:ffff:ffff:ffff:ffff,CH @@ -681,7 +1144,6 @@ 2001:67c:2134::,2001:67c:2134:ffff:ffff:ffff:ffff:ffff,SE 2001:67c:2138::,2001:67c:2138:ffff:ffff:ffff:ffff:ffff,DE 2001:67c:213c::,2001:67c:213c:ffff:ffff:ffff:ffff:ffff,PL -2001:67c:2140::,2001:67c:2140:ffff:ffff:ffff:ffff:ffff,NL 2001:67c:2144::,2001:67c:2144:ffff:ffff:ffff:ffff:ffff,FI 2001:67c:2148::,2001:67c:2148:ffff:ffff:ffff:ffff:ffff,NL 2001:67c:214c::,2001:67c:214c:ffff:ffff:ffff:ffff:ffff,DE @@ -768,7 +1230,6 @@ 2001:67c:22a0::,2001:67c:22a0:ffff:ffff:ffff:ffff:ffff,AT 2001:67c:22a4::,2001:67c:22a4:ffff:ffff:ffff:ffff:ffff,FR 2001:67c:22a8::,2001:67c:22a8:ffff:ffff:ffff:ffff:ffff,SI -2001:67c:22ac::,2001:67c:22ac:ffff:ffff:ffff:ffff:ffff,EU 2001:67c:22b0::,2001:67c:22b0:ffff:ffff:ffff:ffff:ffff,PL 2001:67c:22b4::,2001:67c:22b4:ffff:ffff:ffff:ffff:ffff,CZ 2001:67c:22b8::,2001:67c:22b8:ffff:ffff:ffff:ffff:ffff,SE @@ -778,7 +1239,6 @@ 2001:67c:22c8::,2001:67c:22c8:ffff:ffff:ffff:ffff:ffff,SE 2001:67c:22cc::,2001:67c:22cc:ffff:ffff:ffff:ffff:ffff,GB 2001:67c:22d0::,2001:67c:22d0:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:22d4::,2001:67c:22d4:ffff:ffff:ffff:ffff:ffff,RO 2001:67c:22d8::,2001:67c:22d8:ffff:ffff:ffff:ffff:ffff,SI 2001:67c:22dc::,2001:67c:22dc:ffff:ffff:ffff:ffff:ffff,NL 2001:67c:22e0::,2001:67c:22e0:ffff:ffff:ffff:ffff:ffff,SE @@ -805,10 +1265,8 @@ 2001:67c:2338::,2001:67c:2338:ffff:ffff:ffff:ffff:ffff,DE 2001:67c:233c::,2001:67c:233c: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,AE 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 @@ -838,7 +1296,6 @@ 2001:67c:23c4::,2001:67c:23c4:ffff:ffff:ffff:ffff:ffff,NL 2001:67c:23c8::,2001:67c:23c8:ffff:ffff:ffff:ffff:ffff,GB 2001:67c:23cc::,2001:67c:23cc:ffff:ffff:ffff:ffff:ffff,DK -2001:67c:23d0::,2001:67c:23d0:ffff:ffff:ffff:ffff:ffff,FR 2001:67c:23d4::,2001:67c:23d4:ffff:ffff:ffff:ffff:ffff,EE 2001:67c:23d8::,2001:67c:23d9:ffff:ffff:ffff:ffff:ffff,AT 2001:67c:23e4::,2001:67c:23e4:ffff:ffff:ffff:ffff:ffff,BE @@ -864,9 +1321,7 @@ 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,EE 2001:67c:2454::,2001:67c:2454:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:2458::,2001:67c:2458:ffff:ffff:ffff:ffff:ffff,RU 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 @@ -888,7 +1343,6 @@ 2001:67c:24a4::,2001:67c:24a4:ffff:ffff:ffff:ffff:ffff,CZ 2001:67c:24a8::,2001:67c:24a8:ffff:ffff:ffff:ffff:ffff,UA 2001:67c:24ac::,2001:67c:24ac:ffff:ffff:ffff:ffff:ffff,GB -2001:67c:24b0::,2001:67c:24b0:ffff:ffff:ffff:ffff:ffff,NO 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,SE @@ -912,7 +1366,6 @@ 2001:67c:2524::,2001:67c:2524:ffff:ffff:ffff:ffff:ffff,SE 2001:67c:2528::,2001:67c:2528:ffff:ffff:ffff:ffff:ffff,LV 2001:67c:252c::,2001:67c:252c:ffff:ffff:ffff:ffff:ffff,AT -2001:67c:2530::,2001:67c:2530:ffff:ffff:ffff:ffff:ffff,GB 2001:67c:2534::,2001:67c:2534:ffff:ffff:ffff:ffff:ffff,UA 2001:67c:2538::,2001:67c:2538:ffff:ffff:ffff:ffff:ffff,SE 2001:67c:253c::,2001:67c:253c:ffff:ffff:ffff:ffff:ffff,DE @@ -927,7 +1380,6 @@ 2001:67c:2560::,2001:67c:2560:ffff:ffff:ffff:ffff:ffff,AT 2001:67c:2564::,2001:67c:2564:ffff:ffff:ffff:ffff:ffff,NL 2001:67c:256c::,2001:67c:256c:ffff:ffff:ffff:ffff:ffff,CZ -2001:67c:2570::,2001:67c:2570:ffff:ffff:ffff:ffff:ffff,EU 2001:67c:2574::,2001:67c:2574:ffff:ffff:ffff:ffff:ffff,NO 2001:67c:2578::,2001:67c:2578:ffff:ffff:ffff:ffff:ffff,GB 2001:67c:257c::,2001:67c:257c:ffff:ffff:ffff:ffff:ffff,DK @@ -956,9 +1408,7 @@ 2001:67c:25dc::,2001:67c:25dc:ffff:ffff:ffff:ffff:ffff,UA 2001:67c:25e4::,2001:67c:25e4:ffff:ffff:ffff:ffff:ffff,FR 2001:67c:25e8::,2001:67c:25e9:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:25f0::,2001:67c:25f0:ffff:ffff:ffff:ffff:ffff,DE 2001:67c:25f4::,2001:67c:25f4:ffff:ffff:ffff:ffff:ffff,UA -2001:67c:25f8::,2001:67c:25f8:ffff:ffff:ffff:ffff:ffff,EU 2001:67c:25fc::,2001:67c:25fc:ffff:ffff:ffff:ffff:ffff,AT 2001:67c:2600::,2001:67c:2600:ffff:ffff:ffff:ffff:ffff,AT 2001:67c:2604::,2001:67c:2604:ffff:ffff:ffff:ffff:ffff,SK @@ -980,7 +1430,6 @@ 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,FR 2001:67c:265c::,2001:67c:265c:ffff:ffff:ffff:ffff:ffff,DE 2001:67c:2660::,2001:67c:2660:ffff:ffff:ffff:ffff:ffff,GB 2001:67c:2664::,2001:67c:2664:ffff:ffff:ffff:ffff:ffff,DK @@ -1000,7 +1449,6 @@ 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,DE 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 @@ -1057,8 +1505,6 @@ 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,US -2001:67c:27a0::,2001:67c:27a7:ffff:ffff:ffff:ffff:ffff,US 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 @@ -1124,7 +1570,6 @@ 2001:67c:28bc::,2001:67c:28bc:ffff:ffff:ffff:ffff:ffff,HU 2001:67c:28c0::,2001:67c:28c0:ffff:ffff:ffff:ffff:ffff,AT 2001:67c:28c4::,2001:67c:28c4:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:28c8::,2001:67c:28c8:ffff:ffff:ffff:ffff:ffff,UA 2001:67c:28cc::,2001:67c:28cc:ffff:ffff:ffff:ffff:ffff,DK 2001:67c:28d0::,2001:67c:28d0:ffff:ffff:ffff:ffff:ffff,NL 2001:67c:28d4::,2001:67c:28d4:ffff:ffff:ffff:ffff:ffff,NL @@ -1144,7 +1589,6 @@ 2001:67c:2998::,2001:67c:2998:ffff:ffff:ffff:ffff:ffff,FR 2001:67c:299c::,2001:67c:299c:ffff:ffff:ffff:ffff:ffff,DE 2001:67c:29a0::,2001:67c:29a0:ffff:ffff:ffff:ffff:ffff,TR -2001:67c:29a4::,2001:67c:29a4:ffff:ffff:ffff:ffff:ffff,NL 2001:67c:29a8::,2001:67c:29a8:ffff:ffff:ffff:ffff:ffff,CH 2001:67c:29ac::,2001:67c:29ac:ffff:ffff:ffff:ffff:ffff,CY 2001:67c:29b0::,2001:67c:29b1:ffff:ffff:ffff:ffff:ffff,CY @@ -1194,21 +1638,112 @@ 2001:67c:2a74::,2001:67c:2a74:ffff:ffff:ffff:ffff:ffff,FR 2001:67c:2a78::,2001:67c:2a78:ffff:ffff:ffff:ffff:ffff,DK 2001:67c:2a7c::,2001:67c:2a7c:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:2a80::,2001:67c:2a80:ffff:ffff:ffff:ffff:ffff,FR +2001:67c:2a84::,2001:67c:2a84:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2a88::,2001:67c:2a88:ffff:ffff:ffff:ffff:ffff,LV +2001:67c:2a8c::,2001:67c:2a8c:ffff:ffff:ffff:ffff:ffff,SI +2001:67c:2a90::,2001:67c:2a90:ffff:ffff:ffff:ffff:ffff,NO +2001:67c:2a94::,2001:67c:2a94:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:2a98::,2001:67c:2a98:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2a9c::,2001:67c:2a9c:ffff:ffff:ffff:ffff:ffff,DK +2001:67c:2aa0::,2001:67c:2aa0:ffff:ffff:ffff:ffff:ffff,LU +2001:67c:2aa4::,2001:67c:2aa4:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:2aa8::,2001:67c:2aa8:ffff:ffff:ffff:ffff:ffff,DK +2001:67c:2aac::,2001:67c:2aac:ffff:ffff:ffff:ffff:ffff,IS +2001:67c:2ab0::,2001:67c:2ab0:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:2ab4::,2001:67c:2ab4:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2ab8::,2001:67c:2ab8:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2abc::,2001:67c:2abc:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:2ac0::,2001:67c:2ac0:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:2ac4::,2001:67c:2ac4:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:2ac8::,2001:67c:2ac8:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:2acc::,2001:67c:2acc:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2ad0::,2001:67c:2ad0:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2ad4::,2001:67c:2ad4:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:2ad8::,2001:67c:2ad8:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:2adc::,2001:67c:2adc:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:2ae0::,2001:67c:2ae0:ffff:ffff:ffff:ffff:ffff,DK +2001:67c:2ae4::,2001:67c:2ae4:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:2ae8::,2001:67c:2ae8:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:2aec::,2001:67c:2aec:ffff:ffff:ffff:ffff:ffff,CH +2001:67c:2af0::,2001:67c:2af0:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2af4::,2001:67c:2af4:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:2af8::,2001:67c:2af8:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:2afc::,2001:67c:2afc:ffff:ffff:ffff:ffff:ffff,SI +2001:67c:2b04::,2001:67c:2b04:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:2b08::,2001:67c:2b08:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2b0c::,2001:67c:2b0c:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:2b10::,2001:67c:2b10:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:2b14::,2001:67c:2b14:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:2b18::,2001:67c:2b18:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:2b1c::,2001:67c:2b1c:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:2b20::,2001:67c:2b20:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:2b24::,2001:67c:2b24:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2b28::,2001:67c:2b28:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:2b2c::,2001:67c:2b2c:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:2b30::,2001:67c:2b30:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:2b34::,2001:67c:2b34:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2b38::,2001:67c:2b38:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:2b3c::,2001:67c:2b3c:ffff:ffff:ffff:ffff:ffff,FR +2001:67c:2b40::,2001:67c:2b40:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:2b44::,2001:67c:2b44:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:2b48::,2001:67c:2b48:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2b4c::,2001:67c:2b4c:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:2b50::,2001:67c:2b50:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:2b54::,2001:67c:2b54:ffff:ffff:ffff:ffff:ffff,CH +2001:67c:2b58::,2001:67c:2b58:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2b5c::,2001:67c:2b5c:ffff:ffff:ffff:ffff:ffff,FR +2001:67c:2b60::,2001:67c:2b60:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:2b64::,2001:67c:2b64:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:2b68::,2001:67c:2b68:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:2b6c::,2001:67c:2b6c:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2b70::,2001:67c:2b70:ffff:ffff:ffff:ffff:ffff,DK +2001:67c:2b74::,2001:67c:2b74:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:2b78::,2001:67c:2b79:ffff:ffff:ffff:ffff:ffff,GR +2001:67c:2b80::,2001:67c:2b80:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:2b84::,2001:67c:2b84:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:2b88::,2001:67c:2b88:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:2b8c::,2001:67c:2b8c:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:2b90::,2001:67c:2b90:ffff:ffff:ffff:ffff:ffff,SI +2001:67c:2b94::,2001:67c:2b94:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2b98::,2001:67c:2b98:ffff:ffff:ffff:ffff:ffff,DK +2001:67c:2b9c::,2001:67c:2b9c:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:2ba0::,2001:67c:2ba0:ffff:ffff:ffff:ffff:ffff,TR +2001:67c:2ba4::,2001:67c:2ba4:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:2ba8::,2001:67c:2ba8:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:2bac::,2001:67c:2bac:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:2bb4::,2001:67c:2bb4:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:2bb8::,2001:67c:2bb8:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:2bbc::,2001:67c:2bbc:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:2bc0::,2001:67c:2bc0:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2bc4::,2001:67c:2bc4:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:2bc8::,2001:67c:2bc8:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:2bcc::,2001:67c:2bcc:ffff:ffff:ffff:ffff:ffff,LV +2001:67c:2bd0::,2001:67c:2bd0:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2bd4::,2001:67c:2bd4:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2bd8::,2001:67c:2bd8:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2bdc::,2001:67c:2bdc:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:2be0::,2001:67c:2be0:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:2be4::,2001:67c:2be4:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:2be8::,2001:67c:2be8:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:2bec::,2001:67c:2bec:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:2bf0::,2001:67c:2bf0:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:2bf4::,2001:67c:2bf4:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:2bf8::,2001:67c:2bf8:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2bfc::,2001:67c:2bfc:ffff:ffff:ffff:ffff:ffff,SE 2001:680::,2001:680:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:688::,2001:688:ffff:ffff:ffff:ffff:ffff:ffff,FR -2001:690::,2001:690:ffff:ffff:ffff:ffff:ffff:ffff,PT -2001:698::,2001:698:ffff:ffff:ffff:ffff:ffff:ffff,EU +2001:690::,2001:697:ffff:ffff:ffff:ffff:ffff:ffff,PT 2001:6a0::,2001:6a0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2001:6a8::,2001:6a8:ffff:ffff:ffff:ffff:ffff:ffff,BE 2001:6b0::,2001:6b0:ffff:ffff:ffff:ffff:ffff:ffff,SE 2001:6b8::,2001:6b8:ffff:ffff:ffff:ffff:ffff:ffff,IT -2001:6c0::,2001:6c0:ffff:ffff:ffff:ffff:ffff:ffff,EU 2001:6c8::,2001:6cf:ffff:ffff:ffff:ffff:ffff:ffff,DK 2001:6d0::,2001:6d0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2001:6d8::,2001:6df:ffff:ffff:ffff:ffff:ffff:ffff,PL 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:6f0:ffff:ffff:ffff:ffff:ffff:ffff,SE +2001:6f0::,2001:6f7:ffff:ffff:ffff:ffff:ffff:ffff,SE 2001:6f8::,2001:6f8:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:700::,2001:700:ffff:ffff:ffff:ffff:ffff:ffff,NO 2001:708::,2001:708:ffff:ffff:ffff:ffff:ffff:ffff,FI @@ -1218,16 +1753,15 @@ 2001:728::,2001:728:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:730::,2001:737:ffff:ffff:ffff:ffff:ffff:ffff,AT 2001:738::,2001:738:ffff:ffff:ffff:ffff:ffff:ffff,HU -2001:740::,2001:740:ffff:ffff:ffff:ffff:ffff:ffff,EU 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 2001:760::,2001:760:ffff:ffff:ffff:ffff:ffff:ffff,IT 2001:768::,2001:768:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:770::,2001:770:ffff:ffff:ffff:ffff:ffff:ffff,IE -2001:778::,2001:778:ffff:ffff:ffff:ffff:ffff:ffff,LT +2001:778::,2001:77f:ffff:ffff:ffff:ffff:ffff:ffff,LT 2001:780::,2001:787:ffff:ffff:ffff:ffff:ffff:ffff,DE -2001:788::,2001:788:ffff:ffff:ffff:ffff:ffff:ffff,CH +2001:788::,2001:78f:ffff:ffff:ffff:ffff:ffff:ffff,CH 2001:790::,2001:790:ffff:ffff:ffff:ffff:ffff:ffff,IR 2001:798::,2001:798:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:7a0::,2001:7a0:ffff:ffff:ffff:ffff:ffff:ffff,SE @@ -1240,8 +1774,7 @@ 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:7e8:ffff:ffff:ffff:ffff:ffff:ffff,LU -2001:7f0::,2001:7f0:ffff:ffff:ffff:ffff:ffff:ffff,EU -2001:7f8::,2001:7f8:0:ffff:ffff:ffff:ffff:ffff,DE +2001:7f8::,2001:7f8::ffff:ffff:ffff:ffff:ffff,DE 2001:7f8:1::,2001:7f8:1:ffff:ffff:ffff:ffff:ffff,NL 2001:7f8:2::,2001:7f8:2:ffff:ffff:ffff:ffff:ffff,IT 2001:7f8:3::,2001:7f8:5:ffff:ffff:ffff:ffff:ffff,GB @@ -1256,7 +1789,6 @@ 2001:7f8:e::,2001:7f8:e:ffff:ffff:ffff:ffff:ffff,NL 2001:7f8:f::,2001:7f8:f:ffff:ffff:ffff:ffff:ffff,ES 2001:7f8:10::,2001:7f8:10:ffff:ffff:ffff:ffff:ffff,IT -2001:7f8:11::,2001:7f8:11:ffff:ffff:ffff:ffff:ffff,LU 2001:7f8:12::,2001:7f8:12:ffff:ffff:ffff:ffff:ffff,NO 2001:7f8:13::,2001:7f8:13:ffff:ffff:ffff:ffff:ffff,NL 2001:7f8:14::,2001:7f8:14:ffff:ffff:ffff:ffff:ffff,CZ @@ -1265,7 +1797,6 @@ 2001:7f8:17::,2001:7f8:17:ffff:ffff:ffff:ffff:ffff,GB 2001:7f8:18::,2001:7f8:18:ffff:ffff:ffff:ffff:ffff,IE 2001:7f8:19::,2001:7f8:19:ffff:ffff:ffff:ffff:ffff,DE -2001:7f8:1a::,2001:7f8:1a:ffff:ffff:ffff:ffff:ffff,EU 2001:7f8:1b::,2001:7f8:1b:ffff:ffff:ffff:ffff:ffff,BE 2001:7f8:1c::,2001:7f8:1c:ffff:ffff:ffff:ffff:ffff,CH 2001:7f8:1d::,2001:7f8:1d:ffff:ffff:ffff:ffff:ffff,FI @@ -1273,7 +1804,6 @@ 2001:7f8:1f::,2001:7f8:1f:ffff:ffff:ffff:ffff:ffff,DK 2001:7f8:20::,2001:7f8:20:ffff:ffff:ffff:ffff:ffff,RU 2001:7f8:21::,2001:7f8:21:ffff:ffff:ffff:ffff:ffff,SE -2001:7f8:22::,2001:7f8:22:ffff:ffff:ffff:ffff:ffff,DE 2001:7f8:23::,2001:7f8:23:ffff:ffff:ffff:ffff:ffff,IT 2001:7f8:24::,2001:7f8:24:ffff:ffff:ffff:ffff:ffff,CH 2001:7f8:25::,2001:7f8:25:ffff:ffff:ffff:ffff:ffff,GB @@ -1282,7 +1812,6 @@ 2001:7f8:28::,2001:7f8:28:ffff:ffff:ffff:ffff:ffff,HR 2001:7f8:29::,2001:7f8:29:ffff:ffff:ffff:ffff:ffff,DE 2001:7f8:2a::,2001:7f8:2a:ffff:ffff:ffff:ffff:ffff,ES -2001:7f8:2b::,2001:7f8:2c:ffff:ffff:ffff:ffff:ffff,EU 2001:7f8:2d::,2001:7f8:2d:ffff:ffff:ffff:ffff:ffff,FR 2001:7f8:2e::,2001:7f8:2e:ffff:ffff:ffff:ffff:ffff,PT 2001:7f8:2f::,2001:7f8:2f:ffff:ffff:ffff:ffff:ffff,SK @@ -1295,7 +1824,6 @@ 2001:7f8:39::,2001:7f8:39:ffff:ffff:ffff:ffff:ffff,EE 2001:7f8:3a::,2001:7f8:3a:ffff:ffff:ffff:ffff:ffff,DE 2001:7f8:3b::,2001:7f8:3b:ffff:ffff:ffff:ffff:ffff,IL -2001:7f8:3c::,2001:7f8:3c:ffff:ffff:ffff:ffff:ffff,EU 2001:7f8:3d::,2001:7f8:3d:ffff:ffff:ffff:ffff:ffff,DE 2001:7f8:3e::,2001:7f8:3e:ffff:ffff:ffff:ffff:ffff,GB 2001:7f8:3f::,2001:7f8:3f:ffff:ffff:ffff:ffff:ffff,SK @@ -1307,7 +1835,6 @@ 2001:7f8:46::,2001:7f8:46:ffff:ffff:ffff:ffff:ffff,SI 2001:7f8:47::,2001:7f8:47:ffff:ffff:ffff:ffff:ffff,FR 2001:7f8:48::,2001:7f8:48:ffff:ffff:ffff:ffff:ffff,IS -2001:7f8:49::,2001:7f8:49:ffff:ffff:ffff:ffff:ffff,EU 2001:7f8:4a::,2001:7f8:4a:ffff:ffff:ffff:ffff:ffff,AT 2001:7f8:4b::,2001:7f8:4b:ffff:ffff:ffff:ffff:ffff,PL 2001:7f8:4c::,2001:7f8:4c:ffff:ffff:ffff:ffff:ffff,LU @@ -1343,10 +1870,25 @@ 2001:7f8:6c::,2001:7f8:6c:ffff:ffff:ffff:ffff:ffff,UA 2001:7f8:6d::,2001:7f8:6d:ffff:ffff:ffff:ffff:ffff,FR 2001:7f8:6e::,2001:7f8:6e:ffff:ffff:ffff:ffff:ffff,GR -2001:7f8:6f::,2001:7f8:6f:ffff:ffff:ffff:ffff:ffff,RU -2001:7fa:0:1::,2001:7fa:0:1:ffff:ffff:ffff:ffff,HK -2001:7fa:0:2::,2001:7fa:0:2:ffff:ffff:ffff:ffff,KR -2001:7fa:0:3::,2001:7fa:0:3:ffff:ffff:ffff:ffff,JP +2001:7f8:6f::,2001:7f8:70:ffff:ffff:ffff:ffff:ffff,RU +2001:7f8:71::,2001:7f8:71:ffff:ffff:ffff:ffff:ffff,AT +2001:7f8:72::,2001:7f8:72:ffff:ffff:ffff:ffff:ffff,PS +2001:7f8:73::,2001:7f8:73:ffff:ffff:ffff:ffff:ffff,AE +2001:7f8:74::,2001:7f8:75:ffff:ffff:ffff:ffff:ffff,PL +2001:7f8:76::,2001:7f8:76:ffff:ffff:ffff:ffff:ffff,NO +2001:7f8:77::,2001:7f8:78:ffff:ffff:ffff:ffff:ffff,RU +2001:7f8:79::,2001:7f8:79:ffff:ffff:ffff:ffff:ffff,FR +2001:7f8:7a::,2001:7f8:7a:ffff:ffff:ffff:ffff:ffff,AE +2001:7f8:7b::,2001:7f8:7b:ffff:ffff:ffff:ffff:ffff,UA +2001:7f8:7c::,2001:7f8:7c:ffff:ffff:ffff:ffff:ffff,PL +2001:7f8:7d::,2001:7f8:7d:ffff:ffff:ffff:ffff:ffff,RU +2001:7f8:7e::,2001:7f8:7e:ffff:ffff:ffff:ffff:ffff,ES +2001:7f8:7f::,2001:7f8:7f:ffff:ffff:ffff:ffff:ffff,CZ +2001:7f8:80::,2001:7f8:80:ffff:ffff:ffff:ffff:ffff,PL +2001:7f8:81::,2001:7f8:81:ffff:ffff:ffff:ffff:ffff,FR +2001:7fa:0:1::,2001:7fa::1:ffff:ffff:ffff:ffff,HK +2001:7fa:0:2::,2001:7fa::2:ffff:ffff:ffff:ffff,KR +2001:7fa:0:3::,2001:7fa::3:ffff:ffff:ffff:ffff,JP 2001:7fa:1::,2001:7fa:1:ffff:ffff:ffff:ffff:ffff,TW 2001:7fa:2::,2001:7fa:2:ffff:ffff:ffff:ffff:ffff,ID 2001:7fa:3::,2001:7fa:4:ffff:ffff:ffff:ffff:ffff,NZ @@ -1358,29 +1900,27 @@ 2001:7fa:f::,2001:7fa:f:ffff:ffff:ffff:ffff:ffff,ID 2001:7fa:10::,2001:7fa:10:ffff:ffff:ffff:ffff:ffff,CN 2001:7fa:11::,2001:7fa:11:ffff:ffff:ffff:ffff:ffff,AU -2001:7fb::,2001:7fb:ffff:ffff:ffff:ffff:ffff:ffff,EU -2001:7fd::,2001:7fd:ffff:ffff:ffff:ffff:ffff:ffff,EU 2001:7fe::,2001:7fe:ffff:ffff:ffff:ffff:ffff:ffff,SE 2001:808::,2001:808:ffff:ffff:ffff:ffff:ffff:ffff,PL 2001:810::,2001:810:ffff:ffff:ffff:ffff:ffff:ffff,FR -2001:818::,2001:818:ffff:ffff:ffff:ffff:ffff:ffff,PT +2001:818::,2001:81f:ffff:ffff:ffff:ffff:ffff:ffff,PT 2001:820::,2001:820:ffff:ffff:ffff:ffff:ffff:ffff,NO 2001:828::,2001:828:ffff:ffff:ffff:ffff:ffff:ffff,NL 2001:830::,2001:830:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:838::,2001:83f:ffff:ffff:ffff:ffff:ffff:ffff,NL -2001:840::,2001:840:ffff:ffff:ffff:ffff:ffff:ffff,NO +2001:840::,2001:847:ffff:ffff:ffff:ffff:ffff:ffff,NO 2001:848::,2001:848:ffff:ffff:ffff:ffff:ffff:ffff,IT -2001:850::,2001:850:ffff:ffff:ffff:ffff:ffff:ffff,AT +2001:850::,2001:853:ffff:ffff:ffff:ffff:ffff:ffff,AT 2001:858::,2001:858:ffff:ffff:ffff:ffff:ffff:ffff,AT -2001:860::,2001:860:ffff:ffff:ffff:ffff:ffff:ffff,FR +2001:860::,2001:867:ffff:ffff:ffff:ffff:ffff:ffff,FR 2001:868::,2001:86f:ffff:ffff:ffff:ffff:ffff:ffff,DE -2001:870::,2001:870:ffff:ffff:ffff:ffff:ffff:ffff,AT -2001:878::,2001:878:ffff:ffff:ffff:ffff:ffff:ffff,DK +2001:870::,2001:871:ffff:ffff:ffff:ffff:ffff:ffff,AT +2001:878::,2001:87f:ffff:ffff:ffff:ffff:ffff:ffff,DK 2001:880::,2001:880:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:888::,2001:88b:ffff:ffff:ffff:ffff:ffff:ffff,NL -2001:890::,2001:890:ffff:ffff:ffff:ffff:ffff:ffff,AT +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: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 @@ -1388,15 +1928,14 @@ 2001:8c8::,2001:8c8:ffff:ffff:ffff:ffff:ffff:ffff,RS 2001:8d0::,2001:8d0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2001:8d8::,2001:8d8:ffff:ffff:ffff:ffff:ffff:ffff,DE -2001:8e0::,2001:8e0:ffff:ffff:ffff:ffff:ffff:ffff,CH -2001:8e8::,2001:8e8:ffff:ffff:ffff:ffff:ffff:ffff,CH -2001:8f0::,2001:8f0:ffff:ffff:ffff:ffff:ffff:ffff,CY -2001:8f8::,2001:8f8:ffff:ffff:ffff:ffff:ffff:ffff,AE +2001:8e0::,2001:8e8:ffff:ffff:ffff:ffff:ffff:ffff,CH +2001:8f0::,2001:8f3:ffff:ffff:ffff:ffff:ffff:ffff,CY +2001:8f8::,2001:8ff:ffff:ffff:ffff:ffff:ffff:ffff,AE 2001:900::,2001:900:ffff:ffff:ffff:ffff:ffff:ffff,FR 2001:908::,2001:908:ffff:ffff:ffff:ffff:ffff:ffff,PL -2001:910::,2001:910:ffff:ffff:ffff:ffff:ffff:ffff,FR +2001:910::,2001:917:ffff:ffff:ffff:ffff:ffff:ffff,FR 2001:918::,2001:918:ffff:ffff:ffff:ffff:ffff:ffff,CH -2001:920::,2001:920:ffff:ffff:ffff:ffff:ffff:ffff,GB +2001:920::,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 @@ -1410,13 +1949,12 @@ 2001:980::,2001:983:ffff:ffff:ffff:ffff:ffff:ffff,NL 2001:988::,2001:988:ffff:ffff:ffff:ffff:ffff:ffff,FR 2001:990::,2001:990:ffff:ffff:ffff:ffff:ffff:ffff,NL -2001:998::,2001:998:ffff:ffff:ffff:ffff:ffff:ffff,FI +2001:998::,2001:99b:ffff:ffff:ffff:ffff:ffff:ffff,FI 2001:9a0::,2001:9a0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2001:9a8::,2001:9a8:ffff:ffff:ffff:ffff:ffff:ffff,NL 2001:9b0::,2001:9b0:ffff:ffff:ffff:ffff:ffff:ffff,SE -2001:9b8::,2001:9b8:ffff:ffff:ffff:ffff:ffff:ffff,EU 2001:9c0::,2001:9c0:ffff:ffff:ffff:ffff:ffff:ffff,NL -2001:9c8::,2001:9c8:ffff:ffff:ffff:ffff:ffff:ffff,SE +2001:9c8::,2001:9cf:ffff:ffff:ffff:ffff:ffff:ffff,SE 2001:9d0::,2001:9d0:ffff:ffff:ffff:ffff:ffff:ffff,AT 2001:9d8::,2001:9d8:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:9e0::,2001:9e0:ffff:ffff:ffff:ffff:ffff:ffff,NL @@ -1425,7 +1963,7 @@ 2001:a00::,2001:a00:ffff:ffff:ffff:ffff:ffff:ffff,AT 2001:a08::,2001:a08:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:a10::,2001:a10:ffff:ffff:ffff:ffff:ffff:ffff,PL -2001:a18::,2001:a18:ffff:ffff:ffff:ffff:ffff:ffff,LU +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:a38::,2001:a38:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -1433,7 +1971,7 @@ 2001:a48::,2001:a48:ffff:ffff:ffff:ffff:ffff:ffff,PL 2001:a50::,2001:a50:ffff:ffff:ffff:ffff:ffff:ffff,ES 2001:a58::,2001:a58:ffff:ffff:ffff:ffff:ffff:ffff,RU -2001:a60::,2001:a60:ffff:ffff:ffff:ffff:ffff:ffff,DE +2001:a60::,2001:a67:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:a68::,2001:a68:ffff:ffff:ffff:ffff:ffff:ffff,FI 2001:a70::,2001:a70:ffff:ffff:ffff:ffff:ffff:ffff,FR 2001:a78::,2001:a78:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -1452,7 +1990,7 @@ 2001:ae8::,2001:ae8:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2001:af0::,2001:af0:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2001:af8::,2001:af8:ffff:ffff:ffff:ffff:ffff:ffff,AT -2001:b00::,2001:b00:ffff:ffff:ffff:ffff:ffff:ffff,IT +2001:b00::,2001:b07:ffff:ffff:ffff:ffff:ffff:ffff,IT 2001:b08::,2001:b08:ffff:ffff:ffff:ffff:ffff:ffff,RU 2001:b10::,2001:b10:ffff:ffff:ffff:ffff:ffff:ffff,PL 2001:b18::,2001:b18:ffff:ffff:ffff:ffff:ffff:ffff,PT @@ -1461,13 +1999,13 @@ 2001:b30::,2001:b30:ffff:ffff:ffff:ffff:ffff:ffff,RO 2001:b38::,2001:b38:ffff:ffff:ffff:ffff:ffff:ffff,ES 2001:b40::,2001:b40:ffff:ffff:ffff:ffff:ffff:ffff,IT -2001:b48::,2001:b48:ffff:ffff:ffff:ffff:ffff:ffff,SE +2001:b48::,2001:b4f:ffff:ffff:ffff:ffff:ffff:ffff,SE 2001:b50::,2001:b50:ffff:ffff:ffff:ffff:ffff:ffff,DK 2001:b58::,2001:b58:ffff:ffff:ffff:ffff:ffff:ffff,SE 2001:b60::,2001:b67:ffff:ffff:ffff:ffff:ffff:ffff,IT 2001:b68::,2001:b68:ffff:ffff:ffff:ffff:ffff:ffff,HR 2001:b70::,2001:b70:ffff:ffff:ffff:ffff:ffff:ffff,GB -2001:b80::,2001:b80:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2001:b80::,2001:b87:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2001:b88::,2001:b88:ffff:ffff:ffff:ffff:ffff:ffff,NL 2001:b90::,2001:b90:ffff:ffff:ffff:ffff:ffff:ffff,ES 2001:b98::,2001:b98:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -1478,9 +2016,9 @@ 2001:bc0::,2001:bc0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:bc8::,2001:bc8:ffff:ffff:ffff:ffff:ffff:ffff,FR 2001:bd0::,2001:bd0:ffff:ffff:ffff:ffff:ffff:ffff,GB -2001:be0::,2001:be0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2001:be0::,2001:be7:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:be8::,2001:be8:ffff:ffff:ffff:ffff:ffff:ffff,SE -2001:bf0::,2001:bf0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2001:bf0::,2001:bf7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:bf8::,2001:bf8:ffff:ffff:ffff:ffff:ffff:ffff,IL 2001:c00::,2001:c00:ffff:ffff:ffff:ffff:ffff:ffff,TH 2001:c08::,2001:c08:ffff:ffff:ffff:ffff:ffff:ffff,TW @@ -1546,7 +2084,7 @@ 2001:dcc::,2001:dcc:ffff:ffff:ffff:ffff:ffff:ffff,KR 2001:dcd::,2001:dcd:ffff:ffff:ffff:ffff:ffff:ffff,AU 2001:dce::,2001:dce:ffff:ffff:ffff:ffff:ffff:ffff,NZ -2001:dd8::,2001:dd8:0:ffff:ffff:ffff:ffff:ffff,FJ +2001:dd8::,2001:dd8::ffff:ffff:ffff:ffff:ffff,FJ 2001:dd8:1::,2001:dd8:1:ffff:ffff:ffff:ffff:ffff,CN 2001:dd8:2::,2001:dd8:2:ffff:ffff:ffff:ffff:ffff,MY 2001:dd8:3::,2001:dd8:3:ffff:ffff:ffff:ffff:ffff,NZ @@ -1574,7 +2112,7 @@ 2001:dd8:22::,2001:dd8:22:ffff:ffff:ffff:ffff:ffff,JP 2001:dd8:24::,2001:dd8:25:ffff:ffff:ffff:ffff:ffff,NP 2001:de1::,2001:de1:3f:ffff:ffff:ffff:ffff:ffff,JP -2001:de8::,2001:de8:0:ffff:ffff:ffff:ffff:ffff,TH +2001:de8::,2001:de8::ffff:ffff:ffff:ffff:ffff,TH 2001:de8:1::,2001:de8:1:ffff:ffff:ffff:ffff:ffff,IN 2001:de8:2::,2001:de8:2:ffff:ffff:ffff:ffff:ffff,ID 2001:de8:3::,2001:de8:3:ffff:ffff:ffff:ffff:ffff,VN @@ -1597,10 +2135,14 @@ 2001:de8:19::,2001:de8:19:ffff:ffff:ffff:ffff:ffff,NZ 2001:de8:1a::,2001:de8:1a:ffff:ffff:ffff:ffff:ffff,ID 2001:de8:1b::,2001:de8:1b:ffff:ffff:ffff:ffff:ffff,MY -2001:de8:1c::,2001:de8:1d:ffff:ffff:ffff:ffff:ffff,KH +2001:de8:1d::,2001:de8:1d:ffff:ffff:ffff:ffff:ffff,KH +2001:de8:1e::,2001:de8:1e:ffff:ffff:ffff:ffff:ffff,JP +2001:dea::,2001:dea::ffff:ffff:ffff:ffff:ffff,AU +2001:dec::,2001:dec::ffff:ffff:ffff:ffff:ffff,VU +2001:dee::,2001:dee::ffff:ffff:ffff:ffff:ffff,HK 2001:df0::,2001:df0:1:ffff:ffff:ffff:ffff:ffff,NZ 2001:df0:2::,2001:df0:2:ffff:ffff:ffff:ffff:ffff,JP -2001:df0:3::,2001:df0:4:ffff:ffff:ffff:ffff:ffff,NZ +2001:df0:4::,2001:df0:4:ffff:ffff:ffff:ffff:ffff,NZ 2001:df0:7::,2001:df0:7:ffff:ffff:ffff:ffff:ffff,SG 2001:df0:8::,2001:df0:8:ffff:ffff:ffff:ffff:ffff,JP 2001:df0:9::,2001:df0:a:ffff:ffff:ffff:ffff:ffff,AU @@ -1628,13 +2170,12 @@ 2001:df0:63::,2001:df0:63:ffff:ffff:ffff:ffff:ffff,AU 2001:df0:65::,2001:df0:65:ffff:ffff:ffff:ffff:ffff,ID 2001:df0:66::,2001:df0:66:ffff:ffff:ffff:ffff:ffff,VN -2001:df0:67::,2001:df0:67:ffff:ffff:ffff:ffff:ffff,FJ 2001:df0:68::,2001:df0:68:ffff:ffff:ffff:ffff:ffff,JP 2001:df0:69::,2001:df0:69:ffff:ffff:ffff:ffff:ffff,HK 2001:df0:6a::,2001:df0:6a:ffff:ffff:ffff:ffff:ffff,NZ 2001:df0:6b::,2001:df0:6b:ffff:ffff:ffff:ffff:ffff,IN 2001:df0:6c::,2001:df0:6c:ffff:ffff:ffff:ffff:ffff,WS -2001:df0:6e::,2001:df0:6f:ffff:ffff:ffff:ffff:ffff,AU +2001:df0:6f::,2001:df0:6f:ffff:ffff:ffff:ffff:ffff,AU 2001:df0:70::,2001:df0:70:ffff:ffff:ffff:ffff:ffff,PH 2001:df0:71::,2001:df0:71:ffff:ffff:ffff:ffff:ffff,AU 2001:df0:73::,2001:df0:74:ffff:ffff:ffff:ffff:ffff,AU @@ -1642,7 +2183,6 @@ 2001:df0:76::,2001:df0:76:ffff:ffff:ffff:ffff:ffff,AU 2001:df0:77::,2001:df0:77:ffff:ffff:ffff:ffff:ffff,NZ 2001:df0:78::,2001:df0:78:ffff:ffff:ffff:ffff:ffff,HK -2001:df0:79::,2001:df0:79:ffff:ffff:ffff:ffff:ffff,MN 2001:df0:7b::,2001:df0:7c:ffff:ffff:ffff:ffff:ffff,AU 2001:df0:7d::,2001:df0:7d:ffff:ffff:ffff:ffff:ffff,NZ 2001:df0:7e::,2001:df0:81:ffff:ffff:ffff:ffff:ffff,AU @@ -1652,10 +2192,8 @@ 2001:df0:85::,2001:df0:85:ffff:ffff:ffff:ffff:ffff,HK 2001:df0:86::,2001:df0:87:ffff:ffff:ffff:ffff:ffff,AU 2001:df0:89::,2001:df0:89:ffff:ffff:ffff:ffff:ffff,IN -2001:df0:8a::,2001:df0:8a:ffff:ffff:ffff:ffff:ffff,AU 2001:df0:8b::,2001:df0:8b:ffff:ffff:ffff:ffff:ffff,NP 2001:df0:8c::,2001:df0:8c:ffff:ffff:ffff:ffff:ffff,NU -2001:df0:8d::,2001:df0:8d:ffff:ffff:ffff:ffff:ffff,SG 2001:df0:8e::,2001:df0:90:ffff:ffff:ffff:ffff:ffff,AU 2001:df0:91::,2001:df0:91:ffff:ffff:ffff:ffff:ffff,FJ 2001:df0:92::,2001:df0:92:ffff:ffff:ffff:ffff:ffff,IN @@ -1665,7 +2203,6 @@ 2001:df0:96::,2001:df0:96:ffff:ffff:ffff:ffff:ffff,ID 2001:df0:97::,2001:df0:97:ffff:ffff:ffff:ffff:ffff,AU 2001:df0:98::,2001:df0:9a:ffff:ffff:ffff:ffff:ffff,ID -2001:df0:9b::,2001:df0:9b:ffff:ffff:ffff:ffff:ffff,FJ 2001:df0:9c::,2001:df0:9c:ffff:ffff:ffff:ffff:ffff,ID 2001:df0:9d::,2001:df0:9d:ffff:ffff:ffff:ffff:ffff,MY 2001:df0:9e::,2001:df0:9e:ffff:ffff:ffff:ffff:ffff,TH @@ -1675,10 +2212,10 @@ 2001:df0:a3::,2001:df0:a3:ffff:ffff:ffff:ffff:ffff,ID 2001:df0:a4::,2001:df0:a4:ffff:ffff:ffff:ffff:ffff,AU 2001:df0:a5::,2001:df0:a6:ffff:ffff:ffff:ffff:ffff,HK -2001:df0:a7::,2001:df0:ac:ffff:ffff:ffff:ffff:ffff,ID +2001:df0:a7::,2001:df0:ab:ffff:ffff:ffff:ffff:ffff,ID 2001:df0:ad::,2001:df0:ad:ffff:ffff:ffff:ffff:ffff,HK 2001:df0:ae::,2001:df0:ae:ffff:ffff:ffff:ffff:ffff,AU -2001:df0:af::,2001:df0:b0:ffff:ffff:ffff:ffff:ffff,NZ +2001:df0:b0::,2001:df0:b0:ffff:ffff:ffff:ffff:ffff,NZ 2001:df0:b1::,2001:df0:b8:ffff:ffff:ffff:ffff:ffff,ID 2001:df0:b9::,2001:df0:b9:ffff:ffff:ffff:ffff:ffff,NZ 2001:df0:ba::,2001:df0:bd:ffff:ffff:ffff:ffff:ffff,ID @@ -1696,7 +2233,6 @@ 2001:df0:cf::,2001:df0:cf:ffff:ffff:ffff:ffff:ffff,JP 2001:df0:d1::,2001:df0:d1:ffff:ffff:ffff:ffff:ffff,NZ 2001:df0:d2::,2001:df0:d2:ffff:ffff:ffff:ffff:ffff,HK -2001:df0:d3::,2001:df0:d3:ffff:ffff:ffff:ffff:ffff,ID 2001:df0:d4::,2001:df0:d6:ffff:ffff:ffff:ffff:ffff,AU 2001:df0:d7::,2001:df0:d7:ffff:ffff:ffff:ffff:ffff,KR 2001:df0:d8::,2001:df0:d8:ffff:ffff:ffff:ffff:ffff,AU @@ -1706,7 +2242,7 @@ 2001:df0:dc::,2001:df0:dc:ffff:ffff:ffff:ffff:ffff,NZ 2001:df0:dd::,2001:df0:dd:ffff:ffff:ffff:ffff:ffff,AU 2001:df0:de::,2001:df0:df:ffff:ffff:ffff:ffff:ffff,ID -2001:df0:e0::,2001:df0:e1:ffff:ffff:ffff:ffff:ffff,AU +2001:df0:e1::,2001:df0:e1:ffff:ffff:ffff:ffff:ffff,AU 2001:df0:e2::,2001:df0:e2:ffff:ffff:ffff:ffff:ffff,ID 2001:df0:e3::,2001:df0:e3:ffff:ffff:ffff:ffff:ffff,HK 2001:df0:e4::,2001:df0:e5:ffff:ffff:ffff:ffff:ffff,AU @@ -1730,7 +2266,6 @@ 2001:df0:fc::,2001:df0:fc:ffff:ffff:ffff:ffff:ffff,NZ 2001:df0:fd::,2001:df0:fe:ffff:ffff:ffff:ffff:ffff,AU 2001:df0:100::,2001:df0:1ff:ffff:ffff:ffff:ffff:ffff,AU -2001:df0:200::,2001:df0:200:ffff:ffff:ffff:ffff:ffff,SG 2001:df0:201::,2001:df0:201:ffff:ffff:ffff:ffff:ffff,AU 2001:df0:202::,2001:df0:202:ffff:ffff:ffff:ffff:ffff,IN 2001:df0:203::,2001:df0:203:ffff:ffff:ffff:ffff:ffff,ID @@ -1744,7 +2279,7 @@ 2001:df0:20b::,2001:df0:20b:ffff:ffff:ffff:ffff:ffff,AU 2001:df0:20c::,2001:df0:20c:ffff:ffff:ffff:ffff:ffff,NF 2001:df0:20d::,2001:df0:20d:ffff:ffff:ffff:ffff:ffff,NZ -2001:df0:20e::,2001:df0:20f:ffff:ffff:ffff:ffff:ffff,AU +2001:df0:20e::,2001:df0:20e:ffff:ffff:ffff:ffff:ffff,AU 2001:df0:210::,2001:df0:210:ffff:ffff:ffff:ffff:ffff,NZ 2001:df0:211::,2001:df0:211:ffff:ffff:ffff:ffff:ffff,AU 2001:df0:212::,2001:df0:212:ffff:ffff:ffff:ffff:ffff,HK @@ -1765,7 +2300,6 @@ 2001:df0:225::,2001:df0:225:ffff:ffff:ffff:ffff:ffff,IN 2001:df0:226::,2001:df0:228:ffff:ffff:ffff:ffff:ffff,AU 2001:df0:229::,2001:df0:229:ffff:ffff:ffff:ffff:ffff,ID -2001:df0:22a::,2001:df0:22a:ffff:ffff:ffff:ffff:ffff,AU 2001:df0:22b::,2001:df0:22b:ffff:ffff:ffff:ffff:ffff,HK 2001:df0:22c::,2001:df0:22d:ffff:ffff:ffff:ffff:ffff,NZ 2001:df0:22e::,2001:df0:22f:ffff:ffff:ffff:ffff:ffff,HK @@ -1791,7 +2325,6 @@ 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:24d::,2001:df0:24d:ffff:ffff:ffff:ffff:ffff,NZ 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:250:ffff:ffff:ffff:ffff:ffff,IN @@ -1807,7 +2340,6 @@ 2001:df0:25b::,2001:df0:25b:ffff:ffff:ffff:ffff:ffff,HK 2001:df0:25c::,2001:df0:25d:ffff:ffff:ffff:ffff:ffff,IN 2001:df0:25e::,2001:df0:25e:ffff:ffff:ffff:ffff:ffff,JP -2001:df0:25f::,2001:df0:25f:ffff:ffff:ffff:ffff:ffff,SG 2001:df0:260::,2001:df0:260:ffff:ffff:ffff:ffff:ffff,ID 2001:df0:261::,2001:df0:261:ffff:ffff:ffff:ffff:ffff,NZ 2001:df0:262::,2001:df0:262:ffff:ffff:ffff:ffff:ffff,AU @@ -1877,7 +2409,6 @@ 2001:df0:2bd::,2001:df0:2bd:ffff:ffff:ffff:ffff:ffff,AU 2001:df0:2be::,2001:df0:2be:ffff:ffff:ffff:ffff:ffff,JP 2001:df0:2bf::,2001:df0:2bf:ffff:ffff:ffff:ffff:ffff,GB -2001:df0:2c0::,2001:df0:2c0:ffff:ffff:ffff:ffff:ffff,HK 2001:df0:2c1::,2001:df0:2c1:ffff:ffff:ffff:ffff:ffff,NZ 2001:df0:2c2::,2001:df0:2c2:ffff:ffff:ffff:ffff:ffff,JP 2001:df0:2c3::,2001:df0:2c3:ffff:ffff:ffff:ffff:ffff,BD @@ -1899,7 +2430,6 @@ 2001:df0:2e8::,2001:df0:2e8:ffff:ffff:ffff:ffff:ffff,VN 2001:df0:2e9::,2001:df0:2e9:ffff:ffff:ffff:ffff:ffff,CN 2001:df0:2ea::,2001:df0:2ea:ffff:ffff:ffff:ffff:ffff,NZ -2001:df0:2eb::,2001:df0:2eb:ffff:ffff:ffff:ffff:ffff,IN 2001:df0:2ec::,2001:df0:2ec:ffff:ffff:ffff:ffff:ffff,ID 2001:df0:2ed::,2001:df0:2ee:ffff:ffff:ffff:ffff:ffff,JP 2001:df0:2ef::,2001:df0:2ef:ffff:ffff:ffff:ffff:ffff,PH @@ -1915,13 +2445,12 @@ 2001:df0:2fc::,2001:df0:2fc:ffff:ffff:ffff:ffff:ffff,ID 2001:df0:2fd::,2001:df0:2fd:ffff:ffff:ffff:ffff:ffff,IN 2001:df0:2fe::,2001:df0:2ff:ffff:ffff:ffff:ffff:ffff,AU -2001:df0:300::,2001:df0:30f:ffff:ffff:ffff:ffff:ffff,SG +2001:df0:300::,2001:df0:311:ffff:ffff:ffff:ffff:ffff,SG 2001:df0:400::,2001:df0:400:ffff:ffff:ffff:ffff:ffff,SG 2001:df0:401::,2001:df0:401:ffff:ffff:ffff:ffff:ffff,JP 2001:df0:402::,2001:df0:403:ffff:ffff:ffff:ffff:ffff,AU 2001:df0:404::,2001:df0:404:ffff:ffff:ffff:ffff:ffff,SG 2001:df0:405::,2001:df0:405:ffff:ffff:ffff:ffff:ffff,AU -2001:df0:406::,2001:df0:406:ffff:ffff:ffff:ffff:ffff,TH 2001:df0:407::,2001:df0:407:ffff:ffff:ffff:ffff:ffff,AU 2001:df0:408::,2001:df0:408:ffff:ffff:ffff:ffff:ffff,NZ 2001:df0:409::,2001:df0:409:ffff:ffff:ffff:ffff:ffff,ID @@ -1934,8 +2463,232 @@ 2001:df0:412::,2001:df0:412:ffff:ffff:ffff:ffff:ffff,HK 2001:df0:413::,2001:df0:413:ffff:ffff:ffff:ffff:ffff,IN 2001:df0:415::,2001:df0:415:ffff:ffff:ffff:ffff:ffff,AU -2001:df0:416::,2001:df0:416:ffff:ffff:ffff:ffff:ffff,HK +2001:df0:417::,2001:df0:417:ffff:ffff:ffff:ffff:ffff,JP +2001:df0:418::,2001:df0:419:ffff:ffff:ffff:ffff:ffff,ID +2001:df0:41a::,2001:df0:41a:ffff:ffff:ffff:ffff:ffff,AU +2001:df0:41b::,2001:df0:41b:ffff:ffff:ffff:ffff:ffff,NZ +2001:df0:41c::,2001:df0:41c:ffff:ffff:ffff:ffff:ffff,AU +2001:df0:41d::,2001:df0:41e:ffff:ffff:ffff:ffff:ffff,ID +2001:df0:41f::,2001:df0:41f:ffff:ffff:ffff:ffff:ffff,MY +2001:df0:420::,2001:df0:420:ffff:ffff:ffff:ffff:ffff,SG +2001:df0:421::,2001:df0:421:ffff:ffff:ffff:ffff:ffff,AU +2001:df0:422::,2001:df0:422:ffff:ffff:ffff:ffff:ffff,IN +2001:df0:423::,2001:df0:423:ffff:ffff:ffff:ffff:ffff,CN +2001:df0:424::,2001:df0:424:ffff:ffff:ffff:ffff:ffff,AU +2001:df0:425::,2001:df0:425:ffff:ffff:ffff:ffff:ffff,SG +2001:df0:426::,2001:df0:426:ffff:ffff:ffff:ffff:ffff,ID +2001:df0:427::,2001:df0:427:ffff:ffff:ffff:ffff:ffff,MY +2001:df0:428::,2001:df0:42f:ffff:ffff:ffff:ffff:ffff,AU +2001:df0:430::,2001:df0:43f:ffff:ffff:ffff:ffff:ffff,NZ +2001:df0:440::,2001:df0:440:ffff:ffff:ffff:ffff:ffff,JP +2001:df0:441::,2001:df0:441:ffff:ffff:ffff:ffff:ffff,AU +2001:df0:442::,2001:df0:443:ffff:ffff:ffff:ffff:ffff,HK +2001:df0:444::,2001:df0:445:ffff:ffff:ffff:ffff:ffff,IN +2001:df0:446::,2001:df0:446:ffff:ffff:ffff:ffff:ffff,ID +2001:df0:447::,2001:df0:447:ffff:ffff:ffff:ffff:ffff,AU +2001:df0:448::,2001:df0:448:ffff:ffff:ffff:ffff:ffff,ID +2001:df0:449::,2001:df0:449:ffff:ffff:ffff:ffff:ffff,JP +2001:df0:44a::,2001:df0:44a:ffff:ffff:ffff:ffff:ffff,ID +2001:df0:44b::,2001:df0:44b:ffff:ffff:ffff:ffff:ffff,MY +2001:df0:44c::,2001:df0:44d:ffff:ffff:ffff:ffff:ffff,IN +2001:df0:44e::,2001:df0:44e:ffff:ffff:ffff:ffff:ffff,ID +2001:df0:44f::,2001:df0:44f:ffff:ffff:ffff:ffff:ffff,SG +2001:df0:450::,2001:df0:450:ffff:ffff:ffff:ffff:ffff,IN +2001:df0:451::,2001:df0:451:ffff:ffff:ffff:ffff:ffff,MY +2001:df0:452::,2001:df0:452:ffff:ffff:ffff:ffff:ffff,HK +2001:df0:453::,2001:df0:453:ffff:ffff:ffff:ffff:ffff,IN +2001:df0:454::,2001:df0:454:ffff:ffff:ffff:ffff:ffff,SG +2001:df0:455::,2001:df0:455:ffff:ffff:ffff:ffff:ffff,IN +2001:df0:456::,2001:df0:456:ffff:ffff:ffff:ffff:ffff,JP +2001:df0:457::,2001:df0:457:ffff:ffff:ffff:ffff:ffff,MY +2001:df0:458::,2001:df0:458:ffff:ffff:ffff:ffff:ffff,IN +2001:df0:459::,2001:df0:459:ffff:ffff:ffff:ffff:ffff,NZ +2001:df0:45a::,2001:df0:45a:ffff:ffff:ffff:ffff:ffff,IN +2001:df0:45b::,2001:df0:45b:ffff:ffff:ffff:ffff:ffff,AU +2001:df0:45c::,2001:df0:45d:ffff:ffff:ffff:ffff:ffff,IN +2001:df0:45e::,2001:df0:45e:ffff:ffff:ffff:ffff:ffff,BD +2001:df0:45f::,2001:df0:45f:ffff:ffff:ffff:ffff:ffff,NZ +2001:df0:460::,2001:df0:460:ffff:ffff:ffff:ffff:ffff,AU +2001:df0:461::,2001:df0:461:ffff:ffff:ffff:ffff:ffff,SG +2001:df0:462::,2001:df0:462:ffff:ffff:ffff:ffff:ffff,JP +2001:df0:463::,2001:df0:463:ffff:ffff:ffff:ffff:ffff,SG +2001:df0:464::,2001:df0:464:ffff:ffff:ffff:ffff:ffff,MY +2001:df0:465::,2001:df0:465:ffff:ffff:ffff:ffff:ffff,HK +2001:df0:466::,2001:df0:466:ffff:ffff:ffff:ffff:ffff,AU +2001:df0:467::,2001:df0:467:ffff:ffff:ffff:ffff:ffff,JP +2001:df0:468::,2001:df0:469:ffff:ffff:ffff:ffff:ffff,AU +2001:df0:46a::,2001:df0:46a:ffff:ffff:ffff:ffff:ffff,ID +2001:df0:46b::,2001:df0:46b:ffff:ffff:ffff:ffff:ffff,MY +2001:df0:46c::,2001:df0:46c:ffff:ffff:ffff:ffff:ffff,ID 2001:df0:500::,2001:df0:5ff:ffff:ffff:ffff:ffff:ffff,AU +2001:df0:800::,2001:df0:800:ffff:ffff:ffff:ffff:ffff,ID +2001:df0:1000::,2001:df0:1000:ffff:ffff:ffff:ffff:ffff,TH +2001:df0:1800::,2001:df0:1800:ffff:ffff:ffff:ffff:ffff,JP +2001:df0:2000::,2001:df0:2000:ffff:ffff:ffff:ffff:ffff,AU +2001:df0:2800::,2001:df0:2800:ffff:ffff:ffff:ffff:ffff,AU +2001:df0:3000::,2001:df0:3000:ffff:ffff:ffff:ffff:ffff,PH +2001:df0:3800::,2001:df0:3800:ffff:ffff:ffff:ffff:ffff,MY +2001:df0:4000::,2001:df0:4000:ffff:ffff:ffff:ffff:ffff,HK +2001:df0:4800::,2001:df0:4800:ffff:ffff:ffff:ffff:ffff,HK +2001:df0:5000::,2001:df0:5000:ffff:ffff:ffff:ffff:ffff,IN +2001:df0:5800::,2001:df0:5800:ffff:ffff:ffff:ffff:ffff,ID +2001:df0:6000::,2001:df0:6000:ffff:ffff:ffff:ffff:ffff,IN +2001:df0:6800::,2001:df0:6800:ffff:ffff:ffff:ffff:ffff,JP +2001:df0:7000::,2001:df0:7000:ffff:ffff:ffff:ffff:ffff,AU +2001:df0:7800::,2001:df0:7800:ffff:ffff:ffff:ffff:ffff,WS +2001:df0:8000::,2001:df0:8000:ffff:ffff:ffff:ffff:ffff,IN +2001:df0:8800::,2001:df0:8800:ffff:ffff:ffff:ffff:ffff,IN +2001:df0:9000::,2001:df0:9000:ffff:ffff:ffff:ffff:ffff,CN +2001:df0:9800::,2001:df0:9800:ffff:ffff:ffff:ffff:ffff,IN +2001:df0:a000::,2001:df0:a000:ffff:ffff:ffff:ffff:ffff,AU +2001:df0:a800::,2001:df0:a800:ffff:ffff:ffff:ffff:ffff,AU +2001:df0:b000::,2001:df0:b000:ffff:ffff:ffff:ffff:ffff,NZ +2001:df0:b800::,2001:df0:b800:ffff:ffff:ffff:ffff:ffff,PH +2001:df0:c000::,2001:df0:c000:ffff:ffff:ffff:ffff:ffff,HK +2001:df0:c800::,2001:df0:c800:ffff:ffff:ffff:ffff:ffff,AU +2001:df0:d000::,2001:df0:d000:ffff:ffff:ffff:ffff:ffff,IN +2001:df0:d800::,2001:df0:d800:ffff:ffff:ffff:ffff:ffff,AU +2001:df0:e000::,2001:df0:e000:ffff:ffff:ffff:ffff:ffff,HK +2001:df0:e800::,2001:df0:e800:ffff:ffff:ffff:ffff:ffff,AU +2001:df0:f000::,2001:df0:f000:ffff:ffff:ffff:ffff:ffff,HK +2001:df0:f800::,2001:df0:f800:ffff:ffff:ffff:ffff:ffff,ID +2001:df1::,2001:df1::ffff:ffff:ffff:ffff:ffff,TH +2001:df1:800::,2001:df1:800:ffff:ffff:ffff:ffff:ffff,SG +2001:df1:1000::,2001:df1:1000:ffff:ffff:ffff:ffff:ffff,IN +2001:df1:1800::,2001:df1:1800:ffff:ffff:ffff:ffff:ffff,AU +2001:df1:2000::,2001:df1:2000:ffff:ffff:ffff:ffff:ffff,AU +2001:df1:2800::,2001:df1:2800:ffff:ffff:ffff:ffff:ffff,SG +2001:df1:3000::,2001:df1:3000:ffff:ffff:ffff:ffff:ffff,AU +2001:df1:3800::,2001:df1:3800:ffff:ffff:ffff:ffff:ffff,NZ +2001:df1:4000::,2001:df1:4000:ffff:ffff:ffff:ffff:ffff,AU +2001:df1:4800::,2001:df1:4800:ffff:ffff:ffff:ffff:ffff,IN +2001:df1:5000::,2001:df1:5000:ffff:ffff:ffff:ffff:ffff,HK +2001:df1:5800::,2001:df1:5800:ffff:ffff:ffff:ffff:ffff,BD +2001:df1:6000::,2001:df1:6000:ffff:ffff:ffff:ffff:ffff,SG +2001:df1:6800::,2001:df1:6800:ffff:ffff:ffff:ffff:ffff,AU +2001:df1:7000::,2001:df1:7000:ffff:ffff:ffff:ffff:ffff,ID +2001:df1:7800::,2001:df1:7800:ffff:ffff:ffff:ffff:ffff,ID +2001:df1:8000::,2001:df1:8000:ffff:ffff:ffff:ffff:ffff,IN +2001:df1:8800::,2001:df1:8800:ffff:ffff:ffff:ffff:ffff,AU +2001:df1:9000::,2001:df1:9000:ffff:ffff:ffff:ffff:ffff,ID +2001:df1:9800::,2001:df1:9800:ffff:ffff:ffff:ffff:ffff,MY +2001:df1:a000::,2001:df1:a000:ffff:ffff:ffff:ffff:ffff,IN +2001:df1:a800::,2001:df1:a800:ffff:ffff:ffff:ffff:ffff,SG +2001:df1:b000::,2001:df1:b000:ffff:ffff:ffff:ffff:ffff,TH +2001:df1:b800::,2001:df1:b800:ffff:ffff:ffff:ffff:ffff,AU +2001:df1:c000::,2001:df1:c000:ffff:ffff:ffff:ffff:ffff,AU +2001:df1:c800::,2001:df1:c800:ffff:ffff:ffff:ffff:ffff,HK +2001:df1:d000::,2001:df1:d000:ffff:ffff:ffff:ffff:ffff,AU +2001:df1:d800::,2001:df1:d800:ffff:ffff:ffff:ffff:ffff,AU +2001:df1:e000::,2001:df1:e000:ffff:ffff:ffff:ffff:ffff,ID +2001:df1:e800::,2001:df1:e800:ffff:ffff:ffff:ffff:ffff,AU +2001:df1:f000::,2001:df1:f000:ffff:ffff:ffff:ffff:ffff,ID +2001:df1:f800::,2001:df1:f800:ffff:ffff:ffff:ffff:ffff,BN +2001:df2::,2001:df2::ffff:ffff:ffff:ffff:ffff,AU +2001:df2:800::,2001:df2:800:ffff:ffff:ffff:ffff:ffff,AU +2001:df2:1000::,2001:df2:1000:ffff:ffff:ffff:ffff:ffff,IN +2001:df2:1800::,2001:df2:1803:ffff:ffff:ffff:ffff:ffff,IN +2001:df2:2000::,2001:df2:2000:ffff:ffff:ffff:ffff:ffff,IN +2001:df2:2800::,2001:df2:2800:ffff:ffff:ffff:ffff:ffff,IN +2001:df2:3000::,2001:df2:3000:ffff:ffff:ffff:ffff:ffff,SG +2001:df2:3800::,2001:df2:3800:ffff:ffff:ffff:ffff:ffff,TH +2001:df2:4000::,2001:df2:4000:ffff:ffff:ffff:ffff:ffff,HK +2001:df2:4800::,2001:df2:4800:ffff:ffff:ffff:ffff:ffff,IN +2001:df2:5000::,2001:df2:5000:ffff:ffff:ffff:ffff:ffff,IN +2001:df2:5800::,2001:df2:5800:ffff:ffff:ffff:ffff:ffff,HK +2001:df2:6000::,2001:df2:6000:ffff:ffff:ffff:ffff:ffff,ID +2001:df2:6800::,2001:df2:6800:ffff:ffff:ffff:ffff:ffff,PH +2001:df2:7000::,2001:df2:7000:ffff:ffff:ffff:ffff:ffff,IN +2001:df2:7800::,2001:df2:7800:ffff:ffff:ffff:ffff:ffff,AU +2001:df2:8000::,2001:df2:8000:ffff:ffff:ffff:ffff:ffff,BN +2001:df2:8800::,2001:df2:8800:ffff:ffff:ffff:ffff:ffff,IN +2001:df2:9000::,2001:df2:9000:ffff:ffff:ffff:ffff:ffff,AU +2001:df2:9800::,2001:df2:9800:ffff:ffff:ffff:ffff:ffff,IN +2001:df2:a000::,2001:df2:a000:ffff:ffff:ffff:ffff:ffff,ID +2001:df2:a800::,2001:df2:a800:ffff:ffff:ffff:ffff:ffff,IN +2001:df2:b000::,2001:df2:b000:ffff:ffff:ffff:ffff:ffff,IN +2001:df2:c000::,2001:df2:c000:ffff:ffff:ffff:ffff:ffff,ID +2001:df2:d000::,2001:df2:d000:ffff:ffff:ffff:ffff:ffff,HK +2001:df2:e000::,2001:df2:e000:ffff:ffff:ffff:ffff:ffff,AU +2001:df2:f000::,2001:df2:f000:ffff:ffff:ffff:ffff:ffff,VN +2001:df3::,2001:df3::ffff:ffff:ffff:ffff:ffff,MY +2001:df3:1000::,2001:df3:1000:ffff:ffff:ffff:ffff:ffff,BD +2001:df3:2000::,2001:df3:2000:ffff:ffff:ffff:ffff:ffff,ID +2001:df3:3000::,2001:df3:3000:ffff:ffff:ffff:ffff:ffff,IN +2001:df3:4000::,2001:df3:4000:ffff:ffff:ffff:ffff:ffff,NZ +2001:df3:5000::,2001:df3:5000:ffff:ffff:ffff:ffff:ffff,IN +2001:df3:6000::,2001:df3:6000:ffff:ffff:ffff:ffff:ffff,SG +2001:df3:7000::,2001:df3:7000:ffff:ffff:ffff:ffff:ffff,ID +2001:df3:8000::,2001:df3:8000:ffff:ffff:ffff:ffff:ffff,ID +2001:df3:9000::,2001:df3:9000:ffff:ffff:ffff:ffff:ffff,HK +2001:df3:a000::,2001:df3:a003:ffff:ffff:ffff:ffff:ffff,PH +2001:df3:b000::,2001:df3:b000:ffff:ffff:ffff:ffff:ffff,TH +2001:df3:c000::,2001:df3:c000:ffff:ffff:ffff:ffff:ffff,ID +2001:df3:d000::,2001:df3:d000:ffff:ffff:ffff:ffff:ffff,AU +2001:df3:e000::,2001:df3:e000:ffff:ffff:ffff:ffff:ffff,NZ +2001:df3:f000::,2001:df3:f000:ffff:ffff:ffff:ffff:ffff,ID +2001:df4::,2001:df4::ffff:ffff:ffff:ffff:ffff,MY +2001:df4:1000::,2001:df4:1000:ffff:ffff:ffff:ffff:ffff,HK +2001:df4:2000::,2001:df4:2000:ffff:ffff:ffff:ffff:ffff,TH +2001:df4:3000::,2001:df4:3000:ffff:ffff:ffff:ffff:ffff,TH +2001:df4:4000::,2001:df4:400f:ffff:ffff:ffff:ffff:ffff,SG +2001:df4:5000::,2001:df4:5000:ffff:ffff:ffff:ffff:ffff,ID +2001:df4:6000::,2001:df4:6000:ffff:ffff:ffff:ffff:ffff,MY +2001:df4:7000::,2001:df4:7000:ffff:ffff:ffff:ffff:ffff,HK +2001:df4:8000::,2001:df4:8000:ffff:ffff:ffff:ffff:ffff,MY +2001:df4:9000::,2001:df4:9000:ffff:ffff:ffff:ffff:ffff,SG +2001:df4:a000::,2001:df4:a000:ffff:ffff:ffff:ffff:ffff,NZ +2001:df4:b000::,2001:df4:b000:ffff:ffff:ffff:ffff:ffff,IN +2001:df4:c000::,2001:df4:c000:ffff:ffff:ffff:ffff:ffff,ID +2001:df4:d000::,2001:df4:d000:ffff:ffff:ffff:ffff:ffff,IN +2001:df4:e000::,2001:df4:e000:ffff:ffff:ffff:ffff:ffff,IN +2001:df4:f000::,2001:df4:f000:ffff:ffff:ffff:ffff:ffff,IN +2001:df5::,2001:df5::ffff:ffff:ffff:ffff:ffff,AU +2001:df5:1000::,2001:df5:1000:ffff:ffff:ffff:ffff:ffff,NZ +2001:df5:2000::,2001:df5:2000:ffff:ffff:ffff:ffff:ffff,NZ +2001:df5:3000::,2001:df5:3000:ffff:ffff:ffff:ffff:ffff,AU +2001:df5:4000::,2001:df5:4000:ffff:ffff:ffff:ffff:ffff,ID +2001:df5:5000::,2001:df5:5000:ffff:ffff:ffff:ffff:ffff,ID +2001:df5:6000::,2001:df5:6000:ffff:ffff:ffff:ffff:ffff,NZ +2001:df5:7000::,2001:df5:7000:ffff:ffff:ffff:ffff:ffff,ID +2001:df5:8000::,2001:df5:8000:ffff:ffff:ffff:ffff:ffff,SG +2001:df5:9000::,2001:df5:9000:ffff:ffff:ffff:ffff:ffff,IN +2001:df5:a000::,2001:df5:a000:ffff:ffff:ffff:ffff:ffff,ID +2001:df5:b000::,2001:df5:b000:ffff:ffff:ffff:ffff:ffff,NZ +2001:df5:d000::,2001:df5:d000:ffff:ffff:ffff:ffff:ffff,ID +2001:df5:e000::,2001:df5:e000:ffff:ffff:ffff:ffff:ffff,MY +2001:df5:f000::,2001:df5:f000:ffff:ffff:ffff:ffff:ffff,ID +2001:df6::,2001:df6:1:ffff:ffff:ffff:ffff:ffff,IN +2001:df6:1000::,2001:df6:1000:ffff:ffff:ffff:ffff:ffff,PH +2001:df6:2000::,2001:df6:2001:ffff:ffff:ffff:ffff:ffff,HK +2001:df6:3000::,2001:df6:3000:ffff:ffff:ffff:ffff:ffff,NZ +2001:df6:4000::,2001:df6:4000:ffff:ffff:ffff:ffff:ffff,AU +2001:df6:5000::,2001:df6:5000:ffff:ffff:ffff:ffff:ffff,AU +2001:df6:6000::,2001:df6:6000:ffff:ffff:ffff:ffff:ffff,JP +2001:df6:7000::,2001:df6:7000:ffff:ffff:ffff:ffff:ffff,VN +2001:df6:8000::,2001:df6:8000:ffff:ffff:ffff:ffff:ffff,JP +2001:df6:9000::,2001:df6:9000:ffff:ffff:ffff:ffff:ffff,AU +2001:df6:a000::,2001:df6:a000:ffff:ffff:ffff:ffff:ffff,JP +2001:df6:b000::,2001:df6:b000:ffff:ffff:ffff:ffff:ffff,TH +2001:df6:c000::,2001:df6:c000:ffff:ffff:ffff:ffff:ffff,IN +2001:df6:d000::,2001:df6:d000:ffff:ffff:ffff:ffff:ffff,HK +2001:df6:e000::,2001:df6:e000:ffff:ffff:ffff:ffff:ffff,VU +2001:df6:f000::,2001:df6:f000:ffff:ffff:ffff:ffff:ffff,HK +2001:df7::,2001:df7::ffff:ffff:ffff:ffff:ffff,IN +2001:df7:1000::,2001:df7:1000:ffff:ffff:ffff:ffff:ffff,IN +2001:df7:2000::,2001:df7:2000:ffff:ffff:ffff:ffff:ffff,AU +2001:df7:3000::,2001:df7:3001:ffff:ffff:ffff:ffff:ffff,NZ +2001:df7:4000::,2001:df7:4000:ffff:ffff:ffff:ffff:ffff,SG +2001:df7:5000::,2001:df7:5000:ffff:ffff:ffff:ffff:ffff,IN +2001:df7:6000::,2001:df7:6000:ffff:ffff:ffff:ffff:ffff,IN +2001:df7:7000::,2001:df7:7000:ffff:ffff:ffff:ffff:ffff,HK +2001:df7:9000::,2001:df7:9000:ffff:ffff:ffff:ffff:ffff,PH +2001:df7:a000::,2001:df7:a000:ffff:ffff:ffff:ffff:ffff,AU +2001:df7:b000::,2001:df7:b000:ffff:ffff:ffff:ffff:ffff,IN +2001:df7:c000::,2001:df7:c003:ffff:ffff:ffff:ffff:ffff,SG +2001:df7:d000::,2001:df7:d000:ffff:ffff:ffff:ffff:ffff,BD +2001:df7:e000::,2001:df7:e000:ffff:ffff:ffff:ffff:ffff,IN +2001:df7:f000::,2001:df7:f000:ffff:ffff:ffff:ffff:ffff,JP 2001:df8::,2001:df9:ffff:ffff:ffff:ffff:ffff:ffff,AU 2001:dfa::,2001:dfa:ffff:ffff:ffff:ffff:ffff:ffff,JP 2001:e00::,2001:e01:ffff:ffff:ffff:ffff:ffff:ffff,ID @@ -1990,7 +2743,6 @@ 2001:fa0::,2001:fa0:ffff:ffff:ffff:ffff:ffff:ffff,JP 2001:fa8::,2001:fa8:ffff:ffff:ffff:ffff:ffff:ffff,JP 2001:fb0::,2001:fb1:ffff:ffff:ffff:ffff:ffff:ffff,TH -2001:fb8::,2001:fb8:ffff:ffff:ffff:ffff:ffff:ffff,JP 2001:fc0::,2001:fc0:ffff:ffff:ffff:ffff:ffff:ffff,SG 2001:fc8::,2001:fc8:ffff:ffff:ffff:ffff:ffff:ffff,JP 2001:fd0::,2001:fd0:ffff:ffff:ffff:ffff:ffff:ffff,IN @@ -2015,8 +2767,33 @@ 2001:1260::,2001:1260:ffff:ffff:ffff:ffff:ffff:ffff,MX 2001:1270::,2001:1270:ffff:ffff:ffff:ffff:ffff:ffff,MX 2001:1278::,2001:1278:ffff:ffff:ffff:ffff:ffff:ffff,MX -2001:1280::,2001:12ff:ffff:ffff:ffff:ffff:ffff:ffff,BR -2001:1300::,2001:1300:ffff:ffff:ffff:ffff:ffff:ffff,VE +2001:1280::,2001:1280:ffff:ffff:ffff:ffff:ffff:ffff,BR +2001:1284::,2001:1284:ffff:ffff:ffff:ffff:ffff:ffff,BR +2001:1288::,2001:1288:ffff:ffff:ffff:ffff:ffff:ffff,BR +2001:128c::,2001:128c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2001:1290::,2001:1291:ffff:ffff:ffff:ffff:ffff:ffff,BR +2001:1294::,2001:1294:ffff:ffff:ffff:ffff:ffff:ffff,BR +2001:1298::,2001:1298:ffff:ffff:ffff:ffff:ffff:ffff,BR +2001:129c::,2001:129c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2001:12a0::,2001:12a0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2001:12a4::,2001:12a4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2001:12ac::,2001:12ac:ffff:ffff:ffff:ffff:ffff:ffff,BR +2001:12b0::,2001:12b0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2001:12b4::,2001:12b4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2001:12b8::,2001:12b8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2001:12bc::,2001:12bc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2001:12c0::,2001:12c0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2001:12c4::,2001:12c4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2001:12c8::,2001:12c8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2001:12d0::,2001:12d0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2001:12d8::,2001:12d8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2001:12e0::,2001:12e0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2001:12e8::,2001:12e8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2001:12f0::,2001:12f0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2001:12f8::,2001:12f8:1:ffff:ffff:ffff:ffff:ffff,BR +2001:12f8:4::,2001:12f8:4:ffff:ffff:ffff:ffff:ffff,BR +2001:12fe::,2001:12ff:ffff:ffff:ffff:ffff:ffff:ffff,BR +2001:1300::,2001:1300:ffff:ffff:ffff:ffff:ffff:ffff,PE 2001:1308::,2001:1308:ffff:ffff:ffff:ffff:ffff:ffff,DO 2001:1310::,2001:1310:ffff:ffff:ffff:ffff:ffff:ffff,CL 2001:1318::,2001:1318:ffff:ffff:ffff:ffff:ffff:ffff,AR @@ -2040,7 +2817,7 @@ 2001:13b0::,2001:13b7:ffff:ffff:ffff:ffff:ffff:ffff,AR 2001:13c7:6000::,2001:13c7:6000:ffff:ffff:ffff:ffff:ffff,CO 2001:13c7:6001::,2001:13c7:6001:ffff:ffff:ffff:ffff:ffff,AR -2001:13c7:6002::,2001:13c7:6002:ffff:ffff:ffff:ffff:ffff,CW +2001:13c7:6002::,2001:13c7:6002:ffff:ffff:ffff:ffff:ffff,SX 2001:13c7:6003::,2001:13c7:6003:ffff:ffff:ffff:ffff:ffff,HT 2001:13c7:6004::,2001:13c7:6005:ffff:ffff:ffff:ffff:ffff,CW 2001:13c7:6006::,2001:13c7:6006:ffff:ffff:ffff:ffff:ffff,EC @@ -2073,7 +2850,7 @@ 2001:1450::,2001:1450:ffff:ffff:ffff:ffff:ffff:ffff,IT 2001:1458::,2001:1459:ffff:ffff:ffff:ffff:ffff:ffff,CH 2001:1460::,2001:1460:ffff:ffff:ffff:ffff:ffff:ffff,NL -2001:1468::,2001:1468:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2001:1468::,2001:146f:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2001:1470::,2001:1477:ffff:ffff:ffff:ffff:ffff:ffff,SI 2001:1478::,2001:1478:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:1488::,2001:1488:ffff:ffff:ffff:ffff:ffff:ffff,CZ @@ -2082,7 +2859,7 @@ 2001:14a0::,2001:14a0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2001:14a8::,2001:14a8:ffff:ffff:ffff:ffff:ffff:ffff,CH 2001:14b0::,2001:14b0:ffff:ffff:ffff:ffff:ffff:ffff,DE -2001:14b8::,2001:14b8:ffff:ffff:ffff:ffff:ffff:ffff,FI +2001:14b8::,2001:14bf:ffff:ffff:ffff:ffff:ffff:ffff,FI 2001:14c0::,2001:14c0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:14c8::,2001:14c8:ffff:ffff:ffff:ffff:ffff:ffff,FR 2001:14d0::,2001:14d0:ffff:ffff:ffff:ffff:ffff:ffff,DK @@ -2113,21 +2890,20 @@ 2001:15a8::,2001:15a8:ffff:ffff:ffff:ffff:ffff:ffff,IT 2001:15b0::,2001:15b0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2001:15b8::,2001:15b8:ffff:ffff:ffff:ffff:ffff:ffff,NL -2001:15c0::,2001:15c0:ffff:ffff:ffff:ffff:ffff:ffff,SI +2001:15c0::,2001:15c7:ffff:ffff:ffff:ffff:ffff:ffff,SI 2001:15c8::,2001:15c8:ffff:ffff:ffff:ffff:ffff:ffff,NL -2001:15d0::,2001:15d0:ffff:ffff:ffff:ffff:ffff:ffff,RS 2001:15d8::,2001:15d8:ffff:ffff:ffff:ffff:ffff:ffff,PT 2001:15e0::,2001:15e0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:15e8::,2001:15e8:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2001:15f0::,2001:15f0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:15f8::,2001:15f8:ffff:ffff:ffff:ffff:ffff:ffff,DK -2001:1600::,2001:1600:ffff:ffff:ffff:ffff:ffff:ffff,CH +2001:1600::,2001:1607:ffff:ffff:ffff:ffff:ffff:ffff,CH 2001:1608::,2001:1608:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:1610::,2001:1610:ffff:ffff:ffff:ffff:ffff:ffff,LU 2001:1618::,2001:1618:ffff:ffff:ffff:ffff:ffff:ffff,AT -2001:1620::,2001:1620:ffff:ffff:ffff:ffff:ffff:ffff,CH +2001:1620::,2001:1623:ffff:ffff:ffff:ffff:ffff:ffff,CH 2001:1628::,2001:1628:ffff:ffff:ffff:ffff:ffff:ffff,FR -2001:1630::,2001:1630:ffff:ffff:ffff:ffff:ffff:ffff,SE +2001:1630::,2001:1637:ffff:ffff:ffff:ffff:ffff:ffff,SE 2001:1638::,2001:1638:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:1640::,2001:1640:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:1650::,2001:1650:ffff:ffff:ffff:ffff:ffff:ffff,FR @@ -2137,7 +2913,7 @@ 2001:1670::,2001:1670:ffff:ffff:ffff:ffff:ffff:ffff,OM 2001:1678::,2001:1678:ffff:ffff:ffff:ffff:ffff:ffff,IT 2001:1680::,2001:1687:ffff:ffff:ffff:ffff:ffff:ffff,CH -2001:1688::,2001:1688:ffff:ffff:ffff:ffff:ffff:ffff,SI +2001:1688::,2001:168f:ffff:ffff:ffff:ffff:ffff:ffff,SI 2001:1690::,2001:1690:ffff:ffff:ffff:ffff:ffff:ffff,NL 2001:1698::,2001:1698:ffff:ffff:ffff:ffff:ffff:ffff,LU 2001:16a0::,2001:16a7:ffff:ffff:ffff:ffff:ffff:ffff,SA @@ -2168,7 +2944,6 @@ 2001:1860::,2001:1860:ffff:ffff:ffff:ffff:ffff:ffff,US 2001:1868::,2001:1868:ffff:ffff:ffff:ffff:ffff:ffff,US 2001:1878::,2001:1878:ffff:ffff:ffff:ffff:ffff:ffff,US -2001:1880::,2001:1880:ffff:ffff:ffff:ffff:ffff:ffff,US 2001:1888::,2001:1888:ffff:ffff:ffff:ffff:ffff:ffff,US 2001:1890::,2001:1898:ffff:ffff:ffff:ffff:ffff:ffff,US 2001:18a0::,2001:18a0:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -2213,7 +2988,6 @@ 2001:19e8::,2001:19e8:ffff:ffff:ffff:ffff:ffff:ffff,US 2001:19f0::,2001:19f0:ffff:ffff:ffff:ffff:ffff:ffff,US 2001:19f8::,2001:19f8:ffff:ffff:ffff:ffff:ffff:ffff,US -2001:1a00::,2001:1a00:ffff:ffff:ffff:ffff:ffff:ffff,EU 2001:1a08::,2001:1a08:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:1a10::,2001:1a10:ffff:ffff:ffff:ffff:ffff:ffff,QA 2001:1a18::,2001:1a18:ffff:ffff:ffff:ffff:ffff:ffff,CY @@ -2230,20 +3004,20 @@ 2001:1a70::,2001:1a70:ffff:ffff:ffff:ffff:ffff:ffff,MT 2001:1a78::,2001:1a78:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:1a80::,2001:1a80:ffff:ffff:ffff:ffff:ffff:ffff,DE -2001:1a88::,2001:1a88:ffff:ffff:ffff:ffff:ffff:ffff,CH +2001:1a88::,2001:1a8f:ffff:ffff:ffff:ffff:ffff:ffff,CH 2001:1a90::,2001:1a90:ffff:ffff:ffff:ffff:ffff:ffff,GB -2001:1a98::,2001:1a98:ffff:ffff:ffff:ffff:ffff:ffff,IS -2001:1aa0::,2001:1aa0:ffff:ffff:ffff:ffff:ffff:ffff,HU +2001:1a98::,2001:1a9f:ffff:ffff:ffff:ffff:ffff:ffff,IS +2001:1aa0::,2001:1aa7:ffff:ffff:ffff:ffff:ffff:ffff,HU 2001:1aa8::,2001:1aa8:ffff:ffff:ffff:ffff:ffff:ffff,NL 2001:1ab0::,2001:1ab0:ffff:ffff:ffff:ffff:ffff:ffff,CZ -2001:1ab8::,2001:1ab8:ffff:ffff:ffff:ffff:ffff:ffff,LT +2001:1ab8::,2001:1abb:ffff:ffff:ffff:ffff:ffff:ffff,LT 2001:1ac0::,2001:1ac0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2001:1ac8::,2001:1ac8:ffff:ffff:ffff:ffff:ffff:ffff,BG 2001:1ad0::,2001:1ad0:ffff:ffff:ffff:ffff:ffff:ffff,AT 2001:1ad8::,2001:1ad8:ffff:ffff:ffff:ffff:ffff:ffff,NO 2001:1ae0::,2001:1ae0:ffff:ffff:ffff:ffff:ffff:ffff,BG 2001:1ae8::,2001:1aef:ffff:ffff:ffff:ffff:ffff:ffff,CZ -2001:1af0::,2001:1af0:ffff:ffff:ffff:ffff:ffff:ffff,HR +2001:1af0::,2001:1af7:ffff:ffff:ffff:ffff:ffff:ffff,HR 2001:1af8::,2001:1af8:ffff:ffff:ffff:ffff:ffff:ffff,NL 2001:1b00::,2001:1b00:ffff:ffff:ffff:ffff:ffff:ffff,RU 2001:1b08::,2001:1b08:ffff:ffff:ffff:ffff:ffff:ffff,FR @@ -2255,11 +3029,11 @@ 2001:1b38::,2001:1b38:ffff:ffff:ffff:ffff:ffff:ffff,FR 2001:1b40::,2001:1b40:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:1b48::,2001:1b48:ffff:ffff:ffff:ffff:ffff:ffff,FR -2001:1b50::,2001:1b50:ffff:ffff:ffff:ffff:ffff:ffff,CH +2001:1b50::,2001:1b57:ffff:ffff:ffff:ffff:ffff:ffff,CH 2001:1b58::,2001:1b58:ffff:ffff:ffff:ffff:ffff:ffff,FR 2001:1b60::,2001:1b60:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:1b68::,2001:1b68:ffff:ffff:ffff:ffff:ffff:ffff,TR -2001:1b70::,2001:1b70:ffff:ffff:ffff:ffff:ffff:ffff,SE +2001:1b70::,2001:1b77:ffff:ffff:ffff:ffff:ffff:ffff,SE 2001:1b78::,2001:1b78:ffff:ffff:ffff:ffff:ffff:ffff,FR 2001:1b80::,2001:1b80:ffff:ffff:ffff:ffff:ffff:ffff,PL 2001:1b88::,2001:1b88:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -2270,7 +3044,7 @@ 2001:1bb0::,2001:1bb0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2001:1bb8::,2001:1bb8:ffff:ffff:ffff:ffff:ffff:ffff,IE 2001:1bc0::,2001:1bc0:ffff:ffff:ffff:ffff:ffff:ffff,DE -2001:1bc8::,2001:1bc8:ffff:ffff:ffff:ffff:ffff:ffff,FI +2001:1bc8::,2001:1bcf:ffff:ffff:ffff:ffff:ffff:ffff,FI 2001:1bd0::,2001:1bd0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2001:1bd8::,2001:1bd8:ffff:ffff:ffff:ffff:ffff:ffff,IE 2001:1be0::,2001:1be0:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -2278,7 +3052,6 @@ 2001:1bf0::,2001:1bf0:ffff:ffff:ffff:ffff:ffff:ffff,EE 2001:1bf8::,2001:1bf8:ffff:ffff:ffff:ffff:ffff:ffff,LV 2001:1c00::,2001:1dff:ffff:ffff:ffff:ffff:ffff:ffff,NL -2001:2000::,2001:2fff:ffff:ffff:ffff:ffff:ffff:ffff,EU 2001:4000::,2001:4000:ffff:ffff:ffff:ffff:ffff:ffff,FR 2001:4010::,2001:4010:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:4018::,2001:4018:ffff:ffff:ffff:ffff:ffff:ffff,NL @@ -2293,17 +3066,16 @@ 2001:4060::,2001:4060:ffff:ffff:ffff:ffff:ffff:ffff,CH 2001:4068::,2001:4068:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:4070::,2001:4070:ffff:ffff:ffff:ffff:ffff:ffff,PL -2001:4078::,2001:4078:ffff:ffff:ffff:ffff:ffff:ffff,FI +2001:4078::,2001:407f:ffff:ffff:ffff:ffff:ffff:ffff,FI 2001:4080::,2001:4080:ffff:ffff:ffff:ffff:ffff:ffff,FR 2001:4088::,2001:4088:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:4090::,2001:4090:ffff:ffff:ffff:ffff:ffff:ffff,DE -2001:4098::,2001:4098:ffff:ffff:ffff:ffff:ffff:ffff,RO 2001:40a0::,2001:40a0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:40a8::,2001:40a8:ffff:ffff:ffff:ffff:ffff:ffff,IL 2001:40b0::,2001:40b0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2001:40b8::,2001:40b8:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:40c0::,2001:40c0:ffff:ffff:ffff:ffff:ffff:ffff,CH -2001:40c8::,2001:40c8:ffff:ffff:ffff:ffff:ffff:ffff,GB +2001:40c8::,2001:40cf:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:40d0::,2001:40d0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2001:40d8::,2001:40d8:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:40e0::,2001:40e0:ffff:ffff:ffff:ffff:ffff:ffff,NL @@ -2316,15 +3088,13 @@ 2001:4120::,2001:4120:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:4128::,2001:4128:ffff:ffff:ffff:ffff:ffff:ffff,NL 2001:4130::,2001:4130:ffff:ffff:ffff:ffff:ffff:ffff,UA -2001:4138::,2001:4138:ffff:ffff:ffff:ffff:ffff:ffff,GB -2001:4140::,2001:4140:ffff:ffff:ffff:ffff:ffff:ffff,GB +2001:4138::,2001:4140:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:4150::,2001:4150:ffff:ffff:ffff:ffff:ffff:ffff,DE -2001:4158::,2001:4158:ffff:ffff:ffff:ffff:ffff:ffff,BE +2001:4158::,2001:415f:ffff:ffff:ffff:ffff:ffff:ffff,BE 2001:4160::,2001:4160:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:4168::,2001:4168:ffff:ffff:ffff:ffff:ffff:ffff,CH 2001:4170::,2001:4170:ffff:ffff:ffff:ffff:ffff:ffff,RS -2001:4178::,2001:4178:ffff:ffff:ffff:ffff:ffff:ffff,DE -2001:4180::,2001:4180:ffff:ffff:ffff:ffff:ffff:ffff,DE +2001:4178::,2001:4180:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:4188::,2001:4188:ffff:ffff:ffff:ffff:ffff:ffff,IR 2001:4190::,2001:4190:ffff:ffff:ffff:ffff:ffff:ffff,PL 2001:4198::,2001:4198:ffff:ffff:ffff:ffff:ffff:ffff,NL @@ -2332,7 +3102,7 @@ 2001:41a8::,2001:41a8:ffff:ffff:ffff:ffff:ffff:ffff,IT 2001:41b0::,2001:41b0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2001:41b8::,2001:41b8:ffff:ffff:ffff:ffff:ffff:ffff,DE -2001:41c0::,2001:41c8:ffff:ffff:ffff:ffff:ffff:ffff,GB +2001:41c0::,2001:41cf:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:41d0::,2001:41d0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2001:41d8::,2001:41d8:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2001:41e0::,2001:41e0:ffff:ffff:ffff:ffff:ffff:ffff,CH @@ -2345,7 +3115,6 @@ 2001:4218::,2001:4218:ffff:ffff:ffff:ffff:ffff:ffff,ZA 2001:4220::,2001:4220:ffff:ffff:ffff:ffff:ffff:ffff,EG 2001:4228::,2001:4228:ffff:ffff:ffff:ffff:ffff:ffff,SD -2001:4230::,2001:4230:ffff:ffff:ffff:ffff:ffff:ffff,EG 2001:4238::,2001:4238:ffff:ffff:ffff:ffff:ffff:ffff,KE 2001:4240::,2001:4240:ffff:ffff:ffff:ffff:ffff:ffff,TZ 2001:4248::,2001:4248:ffff:ffff:ffff:ffff:ffff:ffff,MU @@ -2396,7 +3165,7 @@ 2001:43e0::,2001:43e0:ffff:ffff:ffff:ffff:ffff:ffff,GH 2001:43e8::,2001:43e8:ffff:ffff:ffff:ffff:ffff:ffff,ZA 2001:43f0::,2001:43f0:ffff:ffff:ffff:ffff:ffff:ffff,ZW -2001:43f8::,2001:43f8:0:ffff:ffff:ffff:ffff:ffff,TZ +2001:43f8::,2001:43f8::ffff:ffff:ffff:ffff:ffff,TZ 2001:43f8:10::,2001:43f8:10:ffff:ffff:ffff:ffff:ffff,KE 2001:43f8:20::,2001:43f8:20:ffff:ffff:ffff:ffff:ffff,ZA 2001:43f8:30::,2001:43f8:30:ffff:ffff:ffff:ffff:ffff,ZA @@ -2408,7 +3177,6 @@ 2001:43f8:a0::,2001:43f8:a0:ffff:ffff:ffff:ffff:ffff,ZA 2001:43f8:b0::,2001:43f8:b0:ffff:ffff:ffff:ffff:ffff,SL 2001:43f8:c0::,2001:43f8:c0:ffff:ffff:ffff:ffff:ffff,KE -2001:43f8:d0::,2001:43f8:d0:ffff:ffff:ffff:ffff:ffff,MU 2001:43f8:e0::,2001:43f8:e0:ffff:ffff:ffff:ffff:ffff,TZ 2001:43f8:100::,2001:43f8:100:ffff:ffff:ffff:ffff:ffff,ZA 2001:43f8:110::,2001:43f8:110:ffff:ffff:ffff:ffff:ffff,MU @@ -2419,14 +3187,14 @@ 2001:43f8:160::,2001:43f8:160:ffff:ffff:ffff:ffff:ffff,NG 2001:43f8:170::,2001:43f8:170:ffff:ffff:ffff:ffff:ffff,KE 2001:43f8:180::,2001:43f8:180:ffff:ffff:ffff:ffff:ffff,NG +2001:43f8:190::,2001:43f8:190:ffff:ffff:ffff:ffff:ffff,NG 2001:43f8:1a0::,2001:43f8:1a0:ffff:ffff:ffff:ffff:ffff,GH 2001:43f8:1c0::,2001:43f8:1c0:ffff:ffff:ffff:ffff:ffff,DZ 2001:43f8:1d0::,2001:43f8:1d0:ffff:ffff:ffff:ffff:ffff,GH 2001:43f8:1e0::,2001:43f8:1e0:ffff:ffff:ffff:ffff:ffff,NG -2001:43f8:1f0::,2001:43f8:1f2:ffff:ffff:ffff:ffff:ffff,ZA +2001:43f8:1f0::,2001:43f8:1f5:ffff:ffff:ffff:ffff:ffff,ZA 2001:43f8:200::,2001:43f8:200:ffff:ffff:ffff:ffff:ffff,KE 2001:43f8:210::,2001:43f8:210:ffff:ffff:ffff:ffff:ffff,LS -2001:43f8:220::,2001:43f8:220:ffff:ffff:ffff:ffff:ffff,MU 2001:43f8:230::,2001:43f8:230:ffff:ffff:ffff:ffff:ffff,ZA 2001:43f8:240::,2001:43f8:241:ffff:ffff:ffff:ffff:ffff,GH 2001:43f8:250::,2001:43f8:250:ffff:ffff:ffff:ffff:ffff,KE @@ -2438,7 +3206,6 @@ 2001:43f8:2c0::,2001:43f8:2c0:ffff:ffff:ffff:ffff:ffff,ZA 2001:43f8:2e0::,2001:43f8:2e0:ffff:ffff:ffff:ffff:ffff,EG 2001:43f8:2f0::,2001:43f8:2f0:ffff:ffff:ffff:ffff:ffff,NG -2001:43f8:300::,2001:43f8:300:ffff:ffff:ffff:ffff:ffff,ZA 2001:43f8:310::,2001:43f8:310:ffff:ffff:ffff:ffff:ffff,ZW 2001:43f8:320::,2001:43f8:320:ffff:ffff:ffff:ffff:ffff,TN 2001:43f8:330::,2001:43f8:330:ffff:ffff:ffff:ffff:ffff,TZ @@ -2450,6 +3217,7 @@ 2001:43f8:3a0::,2001:43f8:3a0:ffff:ffff:ffff:ffff:ffff,ZA 2001:43f8:3b0::,2001:43f8:3b0:ffff:ffff:ffff:ffff:ffff,NA 2001:43f8:3c0::,2001:43f8:3c0:ffff:ffff:ffff:ffff:ffff,CD +2001:43f8:3d0::,2001:43f8:3d0:ffff:ffff:ffff:ffff:ffff,BF 2001:43f8:400::,2001:43f8:4ff:ffff:ffff:ffff:ffff:ffff,AO 2001:43f8:600::,2001:43f8:60f:ffff:ffff:ffff:ffff:ffff,NG 2001:43f8:610::,2001:43f8:610:ffff:ffff:ffff:ffff:ffff,TZ @@ -2460,16 +3228,36 @@ 2001:43f8:660::,2001:43f8:660:ffff:ffff:ffff:ffff:ffff,NG 2001:43f8:670::,2001:43f8:670:ffff:ffff:ffff:ffff:ffff,AO 2001:43f8:680::,2001:43f8:680:ffff:ffff:ffff:ffff:ffff,TZ -2001:43f8:690::,2001:43f8:690:ffff:ffff:ffff:ffff:ffff,MU 2001:43f8:6a0::,2001:43f8:6a0:ffff:ffff:ffff:ffff:ffff,CG 2001:43f8:6b0::,2001:43f8:6b3:ffff:ffff:ffff:ffff:ffff,ZA 2001:43f8:6c0::,2001:43f8:6c0:ffff:ffff:ffff:ffff:ffff,NG 2001:43f8:6d0::,2001:43f8:6d3:ffff:ffff:ffff:ffff:ffff,ZA 2001:43f8:6e0::,2001:43f8:6e0:ffff:ffff:ffff:ffff:ffff,KE +2001:43f8:700::,2001:43f8:70f:ffff:ffff:ffff:ffff:ffff,ZA +2001:43f8:720::,2001:43f8:720:ffff:ffff:ffff:ffff:ffff,AO +2001:43f8:750::,2001:43f8:75f:ffff:ffff:ffff:ffff:ffff,ZA +2001:43f8:760::,2001:43f8:760:ffff:ffff:ffff:ffff:ffff,AO +2001:43f8:770::,2001:43f8:773:ffff:ffff:ffff:ffff:ffff,ZA +2001:43f8:780::,2001:43f8:780:ffff:ffff:ffff:ffff:ffff,NG +2001:43f8:790::,2001:43f8:790:ffff:ffff:ffff:ffff:ffff,ZA +2001:43f8:7a0::,2001:43f8:7a0:ffff:ffff:ffff:ffff:ffff,MU +2001:43f8:7b0::,2001:43f8:7b0:ffff:ffff:ffff:ffff:ffff,KE +2001:43f8:7c0::,2001:43f8:7c0:ffff:ffff:ffff:ffff:ffff,AO +2001:43f8:7d0::,2001:43f8:7d0:ffff:ffff:ffff:ffff:ffff,NG +2001:43f8:7e0::,2001:43f8:7e0:ffff:ffff:ffff:ffff:ffff,ZA +2001:43f8:7f0::,2001:43f8:7f0:ffff:ffff:ffff:ffff:ffff,SD +2001:43f8:800::,2001:43f8:83f:ffff:ffff:ffff:ffff:ffff,GH +2001:43f8:900::,2001:43f8:900:ffff:ffff:ffff:ffff:ffff,ZA +2001:43f8:910::,2001:43f8:910:ffff:ffff:ffff:ffff:ffff,ZA +2001:43f8:920::,2001:43f8:920:ffff:ffff:ffff:ffff:ffff,ZA +2001:43f8:930::,2001:43f8:930:ffff:ffff:ffff:ffff:ffff,MZ +2001:43f8:940::,2001:43f8:940:ffff:ffff:ffff:ffff:ffff,CI +2001:43f8:950::,2001:43f8:950:ffff:ffff:ffff:ffff:ffff,ZA +2001:43f8:960::,2001:43f8:960:ffff:ffff:ffff:ffff:ffff,ZA +2001:43f8:970::,2001:43f8:970:ffff:ffff:ffff:ffff:ffff,GM 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 -2001:4418::,2001:4418:ffff:ffff:ffff:ffff:ffff:ffff,AU 2001:4420::,2001:4420:ffff:ffff:ffff:ffff:ffff:ffff,TW 2001:4428::,2001:4428:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2001:4430::,2001:4430:ffff:ffff:ffff:ffff:ffff:ffff,KR @@ -2564,23 +3352,21 @@ 2001:49f0::,2001:49f0:ffff:ffff:ffff:ffff:ffff:ffff,US 2001:49f8::,2001:49f8:ffff:ffff:ffff:ffff:ffff:ffff,US 2001:4a00::,2001:4a1f:ffff:ffff:ffff:ffff:ffff:ffff,GB -2001:4b00::,2001:4b00:ffff:ffff:ffff:ffff:ffff:ffff,CH +2001:4b00::,2001:4b07:ffff:ffff:ffff:ffff:ffff:ffff,CH 2001:4b08::,2001:4b08:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:4b10::,2001:4b10:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:4b18::,2001:4b18:ffff:ffff:ffff:ffff:ffff:ffff,IT -2001:4b20::,2001:4b20:ffff:ffff:ffff:ffff:ffff:ffff,CH -2001:4b28::,2001:4b28:ffff:ffff:ffff:ffff:ffff:ffff,CH +2001:4b20::,2001:4b28:ffff:ffff:ffff:ffff:ffff:ffff,CH 2001:4b30::,2001:4b30:ffff:ffff:ffff:ffff:ffff:ffff,FR -2001:4b38::,2001:4b38:ffff:ffff:ffff:ffff:ffff:ffff,DE +2001:4b38::,2001:4b3f:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:4b40::,2001:4b40:ffff:ffff:ffff:ffff:ffff:ffff,AT 2001:4b48::,2001:4b48:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:4b50::,2001:4b50:ffff:ffff:ffff:ffff:ffff:ffff,BE 2001:4b58::,2001:4b58:ffff:ffff:ffff:ffff:ffff:ffff,BG 2001:4b60::,2001:4b60:ffff:ffff:ffff:ffff:ffff:ffff,AT 2001:4b68::,2001:4b68:ffff:ffff:ffff:ffff:ffff:ffff,AT -2001:4b70::,2001:4b70:ffff:ffff:ffff:ffff:ffff:ffff,IT -2001:4b78::,2001:4b78:ffff:ffff:ffff:ffff:ffff:ffff,IT -2001:4b80::,2001:4b80:ffff:ffff:ffff:ffff:ffff:ffff,NO +2001:4b70::,2001:4b7f:ffff:ffff:ffff:ffff:ffff:ffff,IT +2001:4b80::,2001:4b87:ffff:ffff:ffff:ffff:ffff:ffff,NO 2001:4b88::,2001:4b88:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:4b90::,2001:4b90:ffff:ffff:ffff:ffff:ffff:ffff,FR 2001:4b98::,2001:4b98:ffff:ffff:ffff:ffff:ffff:ffff,FR @@ -2588,7 +3374,7 @@ 2001:4ba8::,2001:4ba8:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2001:4bb0::,2001:4bb0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2001:4bb8::,2001:4bb8:ffff:ffff:ffff:ffff:ffff:ffff,AT -2001:4bc0::,2001:4bc0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2001:4bc0::,2001:4bc7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:4bc8::,2001:4bc8:ffff:ffff:ffff:ffff:ffff:ffff,AT 2001:4bd0::,2001:4bd0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:4bd8::,2001:4bd8:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -2602,18 +3388,18 @@ 2001:4c20::,2001:4c20:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:4c28::,2001:4c28:ffff:ffff:ffff:ffff:ffff:ffff,NO 2001:4c30::,2001:4c30:ffff:ffff:ffff:ffff:ffff:ffff,PL -2001:4c38::,2001:4c38:ffff:ffff:ffff:ffff:ffff:ffff,NL +2001:4c38::,2001:4c3f:ffff:ffff:ffff:ffff:ffff:ffff,NL 2001:4c40::,2001:4c40:ffff:ffff:ffff:ffff:ffff:ffff,BE 2001:4c48::,2001:4c4f:ffff:ffff:ffff:ffff:ffff:ffff,HU 2001:4c50::,2001:4c57:ffff:ffff:ffff:ffff:ffff:ffff,DE -2001:4c58::,2001:4c58:ffff:ffff:ffff:ffff:ffff:ffff,PL +2001:4c58::,2001:4c5f:ffff:ffff:ffff:ffff:ffff:ffff,PL 2001:4c60::,2001:4c60:ffff:ffff:ffff:ffff:ffff:ffff,ES 2001:4c68::,2001:4c68:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:4c70::,2001:4c70:ffff:ffff:ffff:ffff:ffff:ffff,PL 2001:4c78::,2001:4c78:ffff:ffff:ffff:ffff:ffff:ffff,CH 2001:4c80::,2001:4c80:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:4c88::,2001:4c88:ffff:ffff:ffff:ffff:ffff:ffff,IR -2001:4c90::,2001:4c90:ffff:ffff:ffff:ffff:ffff:ffff,IT +2001:4c90::,2001:4c97:ffff:ffff:ffff:ffff:ffff:ffff,IT 2001:4c98::,2001:4c98:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:4ca0::,2001:4ca0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:4ca8::,2001:4ca8:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -2631,10 +3417,8 @@ 2001:4d10::,2001:4d10:ffff:ffff:ffff:ffff:ffff:ffff,ES 2001:4d18::,2001:4d18:ffff:ffff:ffff:ffff:ffff:ffff,RO 2001:4d20::,2001:4d20:ffff:ffff:ffff:ffff:ffff:ffff,DE -2001:4d28::,2001:4d28:ffff:ffff:ffff:ffff:ffff:ffff,ES 2001:4d30::,2001:4d30:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:4d38::,2001:4d38:ffff:ffff:ffff:ffff:ffff:ffff,IT -2001:4d40::,2001:4d40:ffff:ffff:ffff:ffff:ffff:ffff,EU 2001:4d48::,2001:4d48:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:4d50::,2001:4d50:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:4d58::,2001:4d58:ffff:ffff:ffff:ffff:ffff:ffff,CH @@ -2657,130 +3441,244 @@ 2001:4de0::,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:5000::,2001:57ff:ffff:ffff:ffff:ffff:ffff:ffff,EU 2001:8000::,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 2400::,2400:fff:ffff:ffff:ffff:ffff:ffff:ffff,KR 2400:1000::,2400:1000:ffff:ffff:ffff:ffff:ffff:ffff,JP +2400:1080::,2400:1080:ffff:ffff:ffff:ffff:ffff:ffff,HK 2400:1100::,2400:1100:ffff:ffff:ffff:ffff:ffff:ffff,HK +2400:1180::,2400:1180:ffff:ffff:ffff:ffff:ffff:ffff,HK 2400:1200::,2400:1200:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2400:1280::,2400:1280:ffff:ffff:ffff:ffff:ffff:ffff,HK 2400:1300::,2400:1300:ffff:ffff:ffff:ffff:ffff:ffff,TW +2400:1380::,2400:1380:ffff:ffff:ffff:ffff:ffff:ffff,CN 2400:1400::,2400:1400:ffff:ffff:ffff:ffff:ffff:ffff,ID +2400:1480::,2400:1480:ffff:ffff:ffff:ffff:ffff:ffff,SG 2400:1500::,2400:1500:ffff:ffff:ffff:ffff:ffff:ffff,TW +2400:1580::,2400:1580:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2400:1600::,2400:1600:ffff:ffff:ffff:ffff:ffff:ffff,IN +2400:1680::,2400:1680:ffff:ffff:ffff:ffff:ffff:ffff,PK 2400:1700::,2400:1700:ffff:ffff:ffff:ffff:ffff:ffff,SG +2400:1780::,2400:1780:ffff:ffff:ffff:ffff:ffff:ffff,AU 2400:1800::,2400:1800:ffff:ffff:ffff:ffff:ffff:ffff,KR +2400:1880::,2400:1880:ffff:ffff:ffff:ffff:ffff:ffff,ID 2400:1900::,2400:1900:ffff:ffff:ffff:ffff:ffff:ffff,AU +2400:1980::,2400:1980:ffff:ffff:ffff:ffff:ffff:ffff,AF 2400:1a00::,2400:1a00:ffff:ffff:ffff:ffff:ffff:ffff,NP +2400:1a80::,2400:1a80:ffff:ffff:ffff:ffff:ffff:ffff,PK 2400:1b00::,2400:1b00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2400:1b80::,2400:1b80:ffff:ffff:ffff:ffff:ffff:ffff,JP 2400:1c00::,2400:1c00:ffff:ffff:ffff:ffff:ffff:ffff,SG +2400:1c80::,2400:1c80:ffff:ffff:ffff:ffff:ffff:ffff,HK 2400:1d00::,2400:1d00:ffff:ffff:ffff:ffff:ffff:ffff,SG +2400:1d80::,2400:1d80:ffff:ffff:ffff:ffff:ffff:ffff,HK 2400:1e00::,2400:1e00:ffff:ffff:ffff:ffff:ffff:ffff,IN +2400:1e80::,2400:1e80:ffff:ffff:ffff:ffff:ffff:ffff,HK 2400:1f00::,2400:1f00:ffff:ffff:ffff:ffff:ffff:ffff,IN +2400:1f80::,2400:1f80:ffff:ffff:ffff:ffff:ffff:ffff,HK 2400:2000::,2400:3000:ffff:ffff:ffff:ffff:ffff:ffff,JP +2400:3080::,2400:3080:ffff:ffff:ffff:ffff:ffff:ffff,AF 2400:3100::,2400:3100:ffff:ffff:ffff:ffff:ffff:ffff,VU +2400:3180::,2400:3180:ffff:ffff:ffff:ffff:ffff:ffff,IN 2400:3200::,2400:3200:ffff:ffff:ffff:ffff:ffff:ffff,CN +2400:3280::,2400:3280:ffff:ffff:ffff:ffff:ffff:ffff,CN 2400:3300::,2400:3300:ffff:ffff:ffff:ffff:ffff:ffff,KR +2400:3380::,2400:3380:ffff:ffff:ffff:ffff:ffff:ffff,IN 2400:3400::,2400:3400:ffff:ffff:ffff:ffff:ffff:ffff,VU +2400:3480::,2400:3480:ffff:ffff:ffff:ffff:ffff:ffff,TH 2400:3500::,2400:3500:ffff:ffff:ffff:ffff:ffff:ffff,TV +2400:3580::,2400:3580:ffff:ffff:ffff:ffff:ffff:ffff,ID 2400:3600::,2400:3600:ffff:ffff:ffff:ffff:ffff:ffff,CN +2400:3680::,2400:3680:ffff:ffff:ffff:ffff:ffff:ffff,IN 2400:3700::,2400:3700:ffff:ffff:ffff:ffff:ffff:ffff,MY 2400:3800::,2400:3800:ffff:ffff:ffff:ffff:ffff:ffff,JP +2400:3880::,2400:3880:ffff:ffff:ffff:ffff:ffff:ffff,AU 2400:3900::,2400:3900:ffff:ffff:ffff:ffff:ffff:ffff,AU +2400:3980::,2400:3980:ffff:ffff:ffff:ffff:ffff:ffff,JP 2400:3a00::,2400:3a00:ffff:ffff:ffff:ffff:ffff:ffff,CN +2400:3a80::,2400:3a80:ffff:ffff:ffff:ffff:ffff:ffff,IN 2400:3b00::,2400:3b00:ffff:ffff:ffff:ffff:ffff:ffff,IN +2400:3b80::,2400:3b80:ffff:ffff:ffff:ffff:ffff:ffff,IN 2400:3c00::,2400:3c00:ffff:ffff:ffff:ffff:ffff:ffff,SG +2400:3c80::,2400:3c80:ffff:ffff:ffff:ffff:ffff:ffff,AU 2400:3d00::,2400:3d00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2400:3d80::,2400:3d80:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2400:3e00::,2400:3e00:ffff:ffff:ffff:ffff:ffff:ffff,CN +2400:3e80::,2400:3e80:ffff:ffff:ffff:ffff:ffff:ffff,JP 2400:3f00::,2400:3f00:ffff:ffff:ffff:ffff:ffff:ffff,SG +2400:3f80::,2400:3f80:ffff:ffff:ffff:ffff:ffff:ffff,JP 2400:4000::,2400:43ff:ffff:ffff:ffff:ffff:ffff:ffff,JP 2400:4400::,2400:4400:ffff:ffff:ffff:ffff:ffff:ffff,MY +2400:4480::,2400:4480:ffff:ffff:ffff:ffff:ffff:ffff,IN 2400:4500::,2400:4500:ffff:ffff:ffff:ffff:ffff:ffff,TW +2400:4580::,2400:4580:ffff:ffff:ffff:ffff:ffff:ffff,HK 2400:4600::,2400:4600:ffff:ffff:ffff:ffff:ffff:ffff,CN +2400:4680::,2400:4680:ffff:ffff:ffff:ffff:ffff:ffff,SG 2400:4700::,2400:4700:ffff:ffff:ffff:ffff:ffff:ffff,AU +2400:4780::,2400:4780:ffff:ffff:ffff:ffff:ffff:ffff,KR 2400:4800::,2400:4800:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2400:4880::,2400:4880:ffff:ffff:ffff:ffff:ffff:ffff,KH 2400:4900::,2400:4900:ffff:ffff:ffff:ffff:ffff:ffff,SG +2400:4980::,2400:4980:ffff:ffff:ffff:ffff:ffff:ffff,KR 2400:4a00::,2400:4a00:ffff:ffff:ffff:ffff:ffff:ffff,ID +2400:4a80::,2400:4a80:ffff:ffff:ffff:ffff:ffff:ffff,IN 2400:4b00::,2400:4b00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2400:4b80::,2400:4b80:ffff:ffff:ffff:ffff:ffff:ffff,AU 2400:4c00::,2400:4c00:ffff:ffff:ffff:ffff:ffff:ffff,HK +2400:4c80::,2400:4c80:ffff:ffff:ffff:ffff:ffff:ffff,ID 2400:4d00::,2400:4d00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2400:4d80::,2400:4d80:ffff:ffff:ffff:ffff:ffff:ffff,SG 2400:4e00::,2400:4e00:ffff:ffff:ffff:ffff:ffff:ffff,CN +2400:4e80::,2400:4e80:ffff:ffff:ffff:ffff:ffff:ffff,TW 2400:4f00::,2400:4f00:ffff:ffff:ffff:ffff:ffff:ffff,PK +2400:4f80::,2400:4f80:ffff:ffff:ffff:ffff:ffff:ffff,TH 2400:5000::,2400:5000:ffff:ffff:ffff:ffff:ffff:ffff,AU +2400:5080::,2400:5080:ffff:ffff:ffff:ffff:ffff:ffff,CN 2400:5100::,2400:5100:ffff:ffff:ffff:ffff:ffff:ffff,JP +2400:5180::,2400:5180:ffff:ffff:ffff:ffff:ffff:ffff,AF 2400:5200::,2400:5200:ffff:ffff:ffff:ffff:ffff:ffff,IN +2400:5280::,2400:5280:ffff:ffff:ffff:ffff:ffff:ffff,CN 2400:5300::,2400:5300:ffff:ffff:ffff:ffff:ffff:ffff,IN +2400:5380::,2400:5380:ffff:ffff:ffff:ffff:ffff:ffff,MY 2400:5400::,2400:5400:ffff:ffff:ffff:ffff:ffff:ffff,CN +2400:5480::,2400:5480:ffff:ffff:ffff:ffff:ffff:ffff,HK 2400:5500::,2400:5500:ffff:ffff:ffff:ffff:ffff:ffff,PH +2400:5580::,2400:5580:ffff:ffff:ffff:ffff:ffff:ffff,CN 2400:5600::,2400:5600:ffff:ffff:ffff:ffff:ffff:ffff,CN +2400:5680::,2400:5680:ffff:ffff:ffff:ffff:ffff:ffff,MY 2400:5700::,2400:5700:ffff:ffff:ffff:ffff:ffff:ffff,IN +2400:5780::,2400:5780:ffff:ffff:ffff:ffff:ffff:ffff,TH 2400:5800::,2400:5800:ffff:ffff:ffff:ffff:ffff:ffff,BD +2400:5880::,2400:5880:ffff:ffff:ffff:ffff:ffff:ffff,MY 2400:5900::,2400:5900:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2400:5980::,2400:5980:ffff:ffff:ffff:ffff:ffff:ffff,SG 2400:5a00::,2400:5a00:ffff:ffff:ffff:ffff:ffff:ffff,CN +2400:5a80::,2400:5a80:ffff:ffff:ffff:ffff:ffff:ffff,BD 2400:5b00::,2400:5b00:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2400:5b80::,2400:5b80:ffff:ffff:ffff:ffff:ffff:ffff,AU 2400:5c00::,2400:5c00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2400:5c80::,2400:5c80:ffff:ffff:ffff:ffff:ffff:ffff,CN 2400:5d00::,2400:5d00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2400:5d80::,2400:5d80:ffff:ffff:ffff:ffff:ffff:ffff,AU 2400:5e00::,2400:5e00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2400:5e80::,2400:5e80:ffff:ffff:ffff:ffff:ffff:ffff,CN 2400:5f00::,2400:5f00:ffff:ffff:ffff:ffff:ffff:ffff,PF +2400:5f80::,2400:5f80:ffff:ffff:ffff:ffff:ffff:ffff,HK 2400:6000::,2400:6000:ffff:ffff:ffff:ffff:ffff:ffff,CN +2400:6080::,2400:6080:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2400:6100::,2400:6100:ffff:ffff:ffff:ffff:ffff:ffff,AU +2400:6180::,2400:6180:ffff:ffff:ffff:ffff:ffff:ffff,SG 2400:6200::,2400:6200:ffff:ffff:ffff:ffff:ffff:ffff,CN +2400:6280::,2400:6280:ffff:ffff:ffff:ffff:ffff:ffff,TH 2400:6300::,2400:6300:ffff:ffff:ffff:ffff:ffff:ffff,IN +2400:6380::,2400:6380:ffff:ffff:ffff:ffff:ffff:ffff,AU 2400:6400::,2400:6400:ffff:ffff:ffff:ffff:ffff:ffff,TO +2400:6480::,2400:6480:ffff:ffff:ffff:ffff:ffff:ffff,IN 2400:6500::,2400:6500:ffff:ffff:ffff:ffff:ffff:ffff,SG +2400:6580::,2400:6580:ffff:ffff:ffff:ffff:ffff:ffff,IN 2400:6600::,2400:6600:ffff:ffff:ffff:ffff:ffff:ffff,CN +2400:6680::,2400:6680:ffff:ffff:ffff:ffff:ffff:ffff,SG 2400:6700::,2400:6700:ffff:ffff:ffff:ffff:ffff:ffff,JP +2400:6780::,2400:6780:ffff:ffff:ffff:ffff:ffff:ffff,SG 2400:6800::,2400:6800:ffff:ffff:ffff:ffff:ffff:ffff,AU +2400:6880::,2400:6880:ffff:ffff:ffff:ffff:ffff:ffff,AU 2400:6900::,2400:6900:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2400:6980::,2400:6980:ffff:ffff:ffff:ffff:ffff:ffff,AU 2400:6a00::,2400:6a00:ffff:ffff:ffff:ffff:ffff:ffff,CN +2400:6a80::,2400:6a80:ffff:ffff:ffff:ffff:ffff:ffff,PH 2400:6b00::,2400:6b00:ffff:ffff:ffff:ffff:ffff:ffff,JP +2400:6b80::,2400:6b80:ffff:ffff:ffff:ffff:ffff:ffff,IN 2400:6c00::,2400:6c00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2400:6c80::,2400:6c80:ffff:ffff:ffff:ffff:ffff:ffff,HK 2400:6d00::,2400:6d00:ffff:ffff:ffff:ffff:ffff:ffff,FJ +2400:6d80::,2400:6d80:ffff:ffff:ffff:ffff:ffff:ffff,AU 2400:6e00::,2400:6e00:ffff:ffff:ffff:ffff:ffff:ffff,CN +2400:6e80::,2400:6e80:ffff:ffff:ffff:ffff:ffff:ffff,MY 2400:6f00::,2400:6f00:ffff:ffff:ffff:ffff:ffff:ffff,JP +2400:6f80::,2400:6f80:ffff:ffff:ffff:ffff:ffff:ffff,CN 2400:7000::,2400:7000:ffff:ffff:ffff:ffff:ffff:ffff,TW +2400:7080::,2400:7080:ffff:ffff:ffff:ffff:ffff:ffff,NP 2400:7100::,2400:7100:ffff:ffff:ffff:ffff:ffff:ffff,CN +2400:7180::,2400:7180:ffff:ffff:ffff:ffff:ffff:ffff,AU 2400:7200::,2400:7200:ffff:ffff:ffff:ffff:ffff:ffff,CN 2400:7300::,2400:7300:ffff:ffff:ffff:ffff:ffff:ffff,HK +2400:7380::,2400:7380:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2400:7400::,2400:7400:ffff:ffff:ffff:ffff:ffff:ffff,MY +2400:7480::,2400:7480:ffff:ffff:ffff:ffff:ffff:ffff,MN 2400:7500::,2400:7500:ffff:ffff:ffff:ffff:ffff:ffff,ID +2400:7580::,2400:7580:ffff:ffff:ffff:ffff:ffff:ffff,AU 2400:7600::,2400:7600:ffff:ffff:ffff:ffff:ffff:ffff,AU +2400:7680::,2400:7680:ffff:ffff:ffff:ffff:ffff:ffff,CN 2400:7700::,2400:7700:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2400:7780::,2400:7780:ffff:ffff:ffff:ffff:ffff:ffff,IN 2400:7800::,2400:7800:ffff:ffff:ffff:ffff:ffff:ffff,JP +2400:7880::,2400:7880:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2400:7900::,2400:7900:ffff:ffff:ffff:ffff:ffff:ffff,IN +2400:7980::,2400:7980:ffff:ffff:ffff:ffff:ffff:ffff,SG 2400:7a00::,2400:7a00:ffff:ffff:ffff:ffff:ffff:ffff,HK +2400:7a80::,2400:7a80:ffff:ffff:ffff:ffff:ffff:ffff,HK 2400:7b00::,2400:7b00:ffff:ffff:ffff:ffff:ffff:ffff,JP +2400:7b80::,2400:7b83:ffff:ffff:ffff:ffff:ffff:ffff,TH 2400:7c00::,2400:7c00:ffff:ffff:ffff:ffff:ffff:ffff,MY +2400:7c80::,2400:7c80:ffff:ffff:ffff:ffff:ffff:ffff,IN 2400:7d00::,2400:7d00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2400:7d80::,2400:7d80:ffff:ffff:ffff:ffff:ffff:ffff,AU 2400:7e00::,2400:7e00:ffff:ffff:ffff:ffff:ffff:ffff,JP +2400:7e80::,2400:7e80:ffff:ffff:ffff:ffff:ffff:ffff,SG 2400:7f00::,2400:7f00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2400:7f80::,2400:7f80:ffff:ffff:ffff:ffff:ffff:ffff,CN 2400:8000::,2400:8000:ffff:ffff:ffff:ffff:ffff:ffff,ID +2400:8080::,2400:8080:ffff:ffff:ffff:ffff:ffff:ffff,CN 2400:8100::,2400:8100:ffff:ffff:ffff:ffff:ffff:ffff,AU +2400:8180::,2400:8180:ffff:ffff:ffff:ffff:ffff:ffff,IN 2400:8200::,2400:8200:ffff:ffff:ffff:ffff:ffff:ffff,CN +2400:8280::,2400:8280:ffff:ffff:ffff:ffff:ffff:ffff,AU 2400:8300::,2400:8300:ffff:ffff:ffff:ffff:ffff:ffff,JP +2400:8380::,2400:8380:ffff:ffff:ffff:ffff:ffff:ffff,AU 2400:8400::,2400:8400:ffff:ffff:ffff:ffff:ffff:ffff,JP +2400:8480::,2400:8480:ffff:ffff:ffff:ffff:ffff:ffff,MM 2400:8500::,2400:8500:ffff:ffff:ffff:ffff:ffff:ffff,JP +2400:8580::,2400:8580:ffff:ffff:ffff:ffff:ffff:ffff,CN 2400:8600::,2400:8600:ffff:ffff:ffff:ffff:ffff:ffff,CN +2400:8680::,2400:8680:ffff:ffff:ffff:ffff:ffff:ffff,HK 2400:8700::,2400:8700:ffff:ffff:ffff:ffff:ffff:ffff,JP +2400:8780::,2400:8780:ffff:ffff:ffff:ffff:ffff:ffff,CN 2400:8800::,2400:8800:ffff:ffff:ffff:ffff:ffff:ffff,HK +2400:8880::,2400:8880:ffff:ffff:ffff:ffff:ffff:ffff,IN 2400:8900::,2400:8900:ffff:ffff:ffff:ffff:ffff:ffff,SG +2400:8980::,2400:8980:ffff:ffff:ffff:ffff:ffff:ffff,CN 2400:8a00::,2400:8a00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2400:8a80::,2400:8a80:ffff:ffff:ffff:ffff:ffff:ffff,PH 2400:8b00::,2400:8b00:ffff:ffff:ffff:ffff:ffff:ffff,ID +2400:8b80::,2400:8b80:ffff:ffff:ffff:ffff:ffff:ffff,ID 2400:8c00::,2400:8c00:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2400:8c80::,2400:8c80:ffff:ffff:ffff:ffff:ffff:ffff,AU 2400:8d00::,2400:8d00:ffff:ffff:ffff:ffff:ffff:ffff,HK +2400:8d80::,2400:8d80:ffff:ffff:ffff:ffff:ffff:ffff,KH 2400:8e00::,2400:8e00:ffff:ffff:ffff:ffff:ffff:ffff,CN +2400:8e80::,2400:8e80:ffff:ffff:ffff:ffff:ffff:ffff,HK 2400:8f00::,2400:8f00:ffff:ffff:ffff:ffff:ffff:ffff,CN +2400:8f80::,2400:8f80:ffff:ffff:ffff:ffff:ffff:ffff,AU 2400:9000::,2400:9000:ffff:ffff:ffff:ffff:ffff:ffff,AU +2400:9080::,2400:9080:ffff:ffff:ffff:ffff:ffff:ffff,IN 2400:9100::,2400:9100:ffff:ffff:ffff:ffff:ffff:ffff,VN +2400:9180::,2400:9180:ffff:ffff:ffff:ffff:ffff:ffff,JP 2400:9200::,2400:9200:ffff:ffff:ffff:ffff:ffff:ffff,JP +2400:9280::,2400:9280:ffff:ffff:ffff:ffff:ffff:ffff,ID 2400:9300::,2400:9300:ffff:ffff:ffff:ffff:ffff:ffff,PG +2400:9380::,2400:9381:ffff:ffff:ffff:ffff:ffff:ffff,HK 2400:9400::,2400:9400:ffff:ffff:ffff:ffff:ffff:ffff,BN +2400:9480::,2400:9480:ffff:ffff:ffff:ffff:ffff:ffff,AU 2400:9500::,2400:9500:ffff:ffff:ffff:ffff:ffff:ffff,NP +2400:9580::,2400:9580:ffff:ffff:ffff:ffff:ffff:ffff,CN 2400:9600::,2400:9600:ffff:ffff:ffff:ffff:ffff:ffff,CN +2400:9680::,2400:9680:ffff:ffff:ffff:ffff:ffff:ffff,HK 2400:9700::,2400:9700:ffff:ffff:ffff:ffff:ffff:ffff,NP +2400:9780::,2400:9780:ffff:ffff:ffff:ffff:ffff:ffff,SG 2400:9800::,2400:9800:ffff:ffff:ffff:ffff:ffff:ffff,ID +2400:9880::,2400:9880:ffff:ffff:ffff:ffff:ffff:ffff,AU 2400:9900::,2400:9900:ffff:ffff:ffff:ffff:ffff:ffff,NP 2400:9a00::,2400:9a00:ffff:ffff:ffff:ffff:ffff:ffff,CN 2400:9b00::,2400:9b00:ffff:ffff:ffff:ffff:ffff:ffff,NP @@ -2801,7 +3699,6 @@ 2400:ac00::,2400:ac00:ffff:ffff:ffff:ffff:ffff:ffff,JP 2400:ad00::,2400:ad00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2400:ae00::,2400:ae00:ffff:ffff:ffff:ffff:ffff:ffff,CN -2400:af00::,2400:af00:ffff:ffff:ffff:ffff:ffff:ffff,PH 2400:b000::,2400:b000:ffff:ffff:ffff:ffff:ffff:ffff,PH 2400:b100::,2400:b100:ffff:ffff:ffff:ffff:ffff:ffff,AU 2400:b200::,2400:b200:ffff:ffff:ffff:ffff:ffff:ffff,CN @@ -2856,8 +3753,6 @@ 2400:e300::,2400:e300:ffff:ffff:ffff:ffff:ffff:ffff,AU 2400:e400::,2400:e400:ffff:ffff:ffff:ffff:ffff:ffff,JP 2400:e500::,2400:e500:ffff:ffff:ffff:ffff:ffff:ffff,AF -2400:e700::,2400:e700:ffff:ffff:ffff:ffff:ffff:ffff,NZ -2400:e800::,2400:e800:ffff:ffff:ffff:ffff:ffff:ffff,MY 2400:e900::,2400:e900:ffff:ffff:ffff:ffff:ffff:ffff,AU 2400:ea00::,2400:ea00:ffff:ffff:ffff:ffff:ffff:ffff,TH 2400:eb00::,2400:eb00:ffff:ffff:ffff:ffff:ffff:ffff,AU @@ -2880,7 +3775,7 @@ 2400:fd00::,2400:fd00:ffff:ffff:ffff:ffff:ffff:ffff,BD 2400:fe00::,2400:fe00:ffff:ffff:ffff:ffff:ffff:ffff,CN 2400:ff00::,2400:ff00:ffff:ffff:ffff:ffff:ffff:ffff,LK -2401::,2401:0:ffff:ffff:ffff:ffff:ffff:ffff,PK +2401::,2401:1:ffff:ffff:ffff:ffff:ffff:ffff,PK 2401:100::,2401:100:ffff:ffff:ffff:ffff:ffff:ffff,AU 2401:200::,2401:200:ffff:ffff:ffff:ffff:ffff:ffff,MY 2401:300::,2401:300:ffff:ffff:ffff:ffff:ffff:ffff,HK @@ -2904,14 +3799,14 @@ 2401:1500::,2401:1500:ffff:ffff:ffff:ffff:ffff:ffff,AU 2401:1600::,2401:1600:ffff:ffff:ffff:ffff:ffff:ffff,PH 2401:1700::,2401:1700:ffff:ffff:ffff:ffff:ffff:ffff,ID -2401:1800::,2401:1800:ffff:ffff:ffff:ffff:ffff:ffff,HK +2401:1800::,2401:1801:ffff:ffff:ffff:ffff:ffff:ffff,HK 2401:1900::,2401:1900:ffff:ffff:ffff:ffff:ffff:ffff,BD 2401:1a00::,2401:1a00:ffff:ffff:ffff:ffff:ffff:ffff,IN 2401:1b00::,2401:1b00:ffff:ffff:ffff:ffff:ffff:ffff,ID 2401:1c00::,2401:1c00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2401:1d00::,2401:1d00:ffff:ffff:ffff:ffff:ffff:ffff,ID 2401:1e00::,2401:1e00:ffff:ffff:ffff:ffff:ffff:ffff,CN -2401:1f00::,2401:1f00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2401:1f00::,2401:1f01:ffff:ffff:ffff:ffff:ffff:ffff,AU 2401:2000::,2401:2000:ffff:ffff:ffff:ffff:ffff:ffff,JP 2401:2001::,2401:2001:ffff:ffff:ffff:ffff:ffff:ffff,AU 2401:2100::,2401:2100:ffff:ffff:ffff:ffff:ffff:ffff,JP @@ -2936,7 +3831,6 @@ 2401:3400::,2401:3400:ffff:ffff:ffff:ffff:ffff:ffff,MY 2401:3500::,2401:3500:ffff:ffff:ffff:ffff:ffff:ffff,HK 2401:3600::,2401:3600:ffff:ffff:ffff:ffff:ffff:ffff,JP -2401:3700::,2401:3700:ffff:ffff:ffff:ffff:ffff:ffff,MY 2401:3800::,2401:3800:ffff:ffff:ffff:ffff:ffff:ffff,CN 2401:3900::,2401:3900:ffff:ffff:ffff:ffff:ffff:ffff,AU 2401:3a00::,2401:3a00:ffff:ffff:ffff:ffff:ffff:ffff,CN @@ -2951,7 +3845,6 @@ 2401:4300::,2401:4300:ffff:ffff:ffff:ffff:ffff:ffff,IN 2401:4400::,2401:4400:ffff:ffff:ffff:ffff:ffff:ffff,AU 2401:4500::,2401:4500:ffff:ffff:ffff:ffff:ffff:ffff,JP -2401:4600::,2401:4600:ffff:ffff:ffff:ffff:ffff:ffff,AP 2401:4700::,2401:4700:ffff:ffff:ffff:ffff:ffff:ffff,IN 2401:4800::,2401:4800:ffff:ffff:ffff:ffff:ffff:ffff,IN 2401:4900::,2401:4900:ffff:ffff:ffff:ffff:ffff:ffff,IN @@ -3027,7 +3920,6 @@ 2401:9f00::,2401:9f00:ffff:ffff:ffff:ffff:ffff:ffff,HK 2401:a000::,2401:a000:ffff:ffff:ffff:ffff:ffff:ffff,KR 2401:a100::,2401:a100:ffff:ffff:ffff:ffff:ffff:ffff,IN -2401:a200::,2401:a200:ffff:ffff:ffff:ffff:ffff:ffff,PK 2401:a300::,2401:a300:ffff:ffff:ffff:ffff:ffff:ffff,ID 2401:a400::,2401:a400:ffff:ffff:ffff:ffff:ffff:ffff,AU 2401:a500::,2401:a500:ffff:ffff:ffff:ffff:ffff:ffff,JP @@ -3066,7 +3958,7 @@ 2401:c600::,2401:c600:ffff:ffff:ffff:ffff:ffff:ffff,CN 2401:c700::,2401:c700:ffff:ffff:ffff:ffff:ffff:ffff,HK 2401:c800::,2401:c800:ffff:ffff:ffff:ffff:ffff:ffff,JP -2401:c900::,2401:c900:ffff:ffff:ffff:ffff:ffff:ffff,SG +2401:c900::,2401:c901:ffff:ffff:ffff:ffff:ffff:ffff,SG 2401:ca00::,2401:ca00:ffff:ffff:ffff:ffff:ffff:ffff,CN 2401:cb00::,2401:cb00:ffff:ffff:ffff:ffff:ffff:ffff,KH 2401:cc00::,2401:cc00:ffff:ffff:ffff:ffff:ffff:ffff,CN @@ -3164,7 +4056,6 @@ 2402:2b00::,2402:2b00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2402:2c00::,2402:2c00:ffff:ffff:ffff:ffff:ffff:ffff,SG 2402:2d00::,2402:2d00:ffff:ffff:ffff:ffff:ffff:ffff,CN -2402:2e00::,2402:2e00:ffff:ffff:ffff:ffff:ffff:ffff,PH 2402:2f00::,2402:2f00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2402:3000::,2402:3000:ffff:ffff:ffff:ffff:ffff:ffff,JP 2402:3100::,2402:3100:ffff:ffff:ffff:ffff:ffff:ffff,KR @@ -3266,7 +4157,6 @@ 2402:9300::,2402:9300:ffff:ffff:ffff:ffff:ffff:ffff,JP 2402:9400::,2402:9400:ffff:ffff:ffff:ffff:ffff:ffff,AU 2402:9500::,2402:9500:ffff:ffff:ffff:ffff:ffff:ffff,MY -2402:9700::,2402:9700:ffff:ffff:ffff:ffff:ffff:ffff,AU 2402:9800::,2402:9800:ffff:ffff:ffff:ffff:ffff:ffff,ID 2402:9900::,2402:9900:ffff:ffff:ffff:ffff:ffff:ffff,AU 2402:9a00::,2402:9a00:ffff:ffff:ffff:ffff:ffff:ffff,MY @@ -3285,7 +4175,6 @@ 2402:a700::,2402:a700:ffff:ffff:ffff:ffff:ffff:ffff,AU 2402:a800::,2402:a800:ffff:ffff:ffff:ffff:ffff:ffff,JP 2402:a900::,2402:a900:ffff:ffff:ffff:ffff:ffff:ffff,SG -2402:aa00::,2402:aa00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2402:ab00::,2402:ab00:ffff:ffff:ffff:ffff:ffff:ffff,ID 2402:ac00::,2402:ac00:ffff:ffff:ffff:ffff:ffff:ffff,ID 2402:ad00::,2402:ad00:ffff:ffff:ffff:ffff:ffff:ffff,AU @@ -3321,7 +4210,7 @@ 2402:cb00::,2402:cb00:ffff:ffff:ffff:ffff:ffff:ffff,LK 2402:cc00::,2402:cc00:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2402:cd00::,2402:cd00:ffff:ffff:ffff:ffff:ffff:ffff,IN -2402:ce00::,2402:ce00:ffff:ffff:ffff:ffff:ffff:ffff,SG +2402:ce00::,2402:ce01:ffff:ffff:ffff:ffff:ffff:ffff,SG 2402:cf00::,2402:cf00:ffff:ffff:ffff:ffff:ffff:ffff,CN 2402:d000::,2402:d000:ffff:ffff:ffff:ffff:ffff:ffff,LK 2402:d100::,2402:d100:ffff:ffff:ffff:ffff:ffff:ffff,AU @@ -3336,7 +4225,6 @@ 2402:da00::,2402:da00:ffff:ffff:ffff:ffff:ffff:ffff,ID 2402:db00::,2402:db00:ffff:ffff:ffff:ffff:ffff:ffff,SG 2402:dc00::,2402:dc00:ffff:ffff:ffff:ffff:ffff:ffff,JP -2402:dd00::,2402:dd00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2402:de00::,2402:de00:ffff:ffff:ffff:ffff:ffff:ffff,KR 2402:df00::,2402:df00:ffff:ffff:ffff:ffff:ffff:ffff,IN 2402:e000::,2402:e000:ffff:ffff:ffff:ffff:ffff:ffff,PK @@ -3461,7 +4349,6 @@ 2403:5a00::,2403:5a00:ffff:ffff:ffff:ffff:ffff:ffff,JP 2403:5b00::,2403:5b00:ffff:ffff:ffff:ffff:ffff:ffff,IN 2403:5c00::,2403:5c00:ffff:ffff:ffff:ffff:ffff:ffff,AU -2403:5d00::,2403:5d00:ffff:ffff:ffff:ffff:ffff:ffff,IN 2403:5e00::,2403:5e00:ffff:ffff:ffff:ffff:ffff:ffff,PH 2403:5f00::,2403:5f00:ffff:ffff:ffff:ffff:ffff:ffff,JP 2403:6000::,2403:6000:ffff:ffff:ffff:ffff:ffff:ffff,VN @@ -3566,7 +4453,6 @@ 2403:c400::,2403:c400:ffff:ffff:ffff:ffff:ffff:ffff,AU 2403:c500::,2403:c500:ffff:ffff:ffff:ffff:ffff:ffff,SG 2403:c600::,2403:c600:ffff:ffff:ffff:ffff:ffff:ffff,ID -2403:c700::,2403:c700:ffff:ffff:ffff:ffff:ffff:ffff,FJ 2403:c800::,2403:c800:ffff:ffff:ffff:ffff:ffff:ffff,AU 2403:c900::,2403:c900:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2403:ca00::,2403:ca00:ffff:ffff:ffff:ffff:ffff:ffff,AU @@ -3626,7 +4512,7 @@ 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 -2404:b0::,2404:b0:ffff:ffff:ffff:ffff:ffff:ffff,TH +2404:b0::,2404:b1:ffff:ffff:ffff:ffff:ffff:ffff,TH 2404:b8::,2404:b8:ffff:ffff:ffff:ffff:ffff:ffff,MY 2404:c0::,2404:c0:ffff:ffff:ffff:ffff:ffff:ffff,ID 2404:c8::,2404:c8:ffff:ffff:ffff:ffff:ffff:ffff,ID @@ -3637,7 +4523,6 @@ 2404:130::,2404:130:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2404:138::,2404:139:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2404:140::,2404:140:ffff:ffff:ffff:ffff:ffff:ffff,TH -2404:148::,2404:148:ffff:ffff:ffff:ffff:ffff:ffff,PK 2404:150::,2404:150:ffff:ffff:ffff:ffff:ffff:ffff,BD 2404:158::,2404:158:ffff:ffff:ffff:ffff:ffff:ffff,CN 2404:160::,2404:160:ffff:ffff:ffff:ffff:ffff:ffff,MY @@ -3656,7 +4541,6 @@ 2404:600::,2404:600:ffff:ffff:ffff:ffff:ffff:ffff,ID 2404:700::,2404:700:ffff:ffff:ffff:ffff:ffff:ffff,KH 2404:800::,2404:800:ffff:ffff:ffff:ffff:ffff:ffff,KR -2404:900::,2404:900:ffff:ffff:ffff:ffff:ffff:ffff,HK 2404:a00::,2404:a00:ffff:ffff:ffff:ffff:ffff:ffff,JP 2404:b00::,2404:b00:ffff:ffff:ffff:ffff:ffff:ffff,BD 2404:c00::,2404:c00:ffff:ffff:ffff:ffff:ffff:ffff,IN @@ -3698,7 +4582,6 @@ 2404:3100::,2404:3100:ffff:ffff:ffff:ffff:ffff:ffff,PK 2404:3200::,2404:3200:ffff:ffff:ffff:ffff:ffff:ffff,JP 2404:3300::,2404:3300:ffff:ffff:ffff:ffff:ffff:ffff,CN -2404:3400::,2404:3400:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2404:3500::,2404:3500:ffff:ffff:ffff:ffff:ffff:ffff,HK 2404:3600::,2404:3601:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2404:3700::,2404:3700:ffff:ffff:ffff:ffff:ffff:ffff,CN @@ -3714,13 +4597,11 @@ 2404:4200::,2404:4200:ffff:ffff:ffff:ffff:ffff:ffff,ID 2404:4300::,2404:4300:ffff:ffff:ffff:ffff:ffff:ffff,MY 2404:4400::,2404:440f:ffff:ffff:ffff:ffff:ffff:ffff,NZ -2404:4500::,2404:4500:ffff:ffff:ffff:ffff:ffff:ffff,HK 2404:4600::,2404:4600:ffff:ffff:ffff:ffff:ffff:ffff,KR 2404:4700::,2404:4700:ffff:ffff:ffff:ffff:ffff:ffff,IN 2404:4800::,2404:4800:ffff:ffff:ffff:ffff:ffff:ffff,SG 2404:4900::,2404:4900:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2404:4a00::,2404:4a00:ffff:ffff:ffff:ffff:ffff:ffff,TH -2404:4b00::,2404:4b00:ffff:ffff:ffff:ffff:ffff:ffff,IN 2404:4c00::,2404:4c00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2404:4d00::,2404:4d00:ffff:ffff:ffff:ffff:ffff:ffff,CN 2404:4e00::,2404:4e00:ffff:ffff:ffff:ffff:ffff:ffff,SG @@ -3791,10 +4672,9 @@ 2404:9000::,2404:9000:ffff:ffff:ffff:ffff:ffff:ffff,JP 2404:9100::,2404:9100:ffff:ffff:ffff:ffff:ffff:ffff,IN 2404:9200::,2404:9200:ffff:ffff:ffff:ffff:ffff:ffff,JP -2404:9300::,2404:9300:ffff:ffff:ffff:ffff:ffff:ffff,AU 2404:9400::,2404:9400:ffff:ffff:ffff:ffff:ffff:ffff,AU 2404:9500::,2404:9500:ffff:ffff:ffff:ffff:ffff:ffff,HK -2404:9600::,2404:9600:ffff:ffff:ffff:ffff:ffff:ffff,AU +2404:9600::,2404:9601:ffff:ffff:ffff:ffff:ffff:ffff,AU 2404:9700::,2404:9700:ffff:ffff:ffff:ffff:ffff:ffff,AU 2404:9800::,2404:9800:ffff:ffff:ffff:ffff:ffff:ffff,PH 2404:9900::,2404:9900:ffff:ffff:ffff:ffff:ffff:ffff,BD @@ -3808,7 +4688,6 @@ 2404:a100::,2404:a100:ffff:ffff:ffff:ffff:ffff:ffff,SG 2404:a200::,2404:a200:ffff:ffff:ffff:ffff:ffff:ffff,IN 2404:a300::,2404:a300:ffff:ffff:ffff:ffff:ffff:ffff,TH -2404:a400::,2404:a400:ffff:ffff:ffff:ffff:ffff:ffff,MY 2404:a500::,2404:a500:ffff:ffff:ffff:ffff:ffff:ffff,IN 2404:a600::,2404:a600:ffff:ffff:ffff:ffff:ffff:ffff,JP 2404:a700::,2404:a700:ffff:ffff:ffff:ffff:ffff:ffff,IN @@ -3868,7 +4747,7 @@ 2404:de00::,2404:de00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2404:df00::,2404:df00:ffff:ffff:ffff:ffff:ffff:ffff,CN 2404:e000::,2404:e000:ffff:ffff:ffff:ffff:ffff:ffff,JP -2404:e100::,2404:e100:ffff:ffff:ffff:ffff:ffff:ffff,ID +2404:e100::,2404:e101:ffff:ffff:ffff:ffff:ffff:ffff,ID 2404:e200::,2404:e200:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2404:e300::,2404:e300:ffff:ffff:ffff:ffff:ffff:ffff,ID 2404:e400::,2404:e400:ffff:ffff:ffff:ffff:ffff:ffff,NC @@ -3892,6 +4771,7 @@ 2404:f600::,2404:f600:ffff:ffff:ffff:ffff:ffff:ffff,ID 2404:f700::,2404:f700:ffff:ffff:ffff:ffff:ffff:ffff,ID 2404:f800::,2404:f800:ffff:ffff:ffff:ffff:ffff:ffff,JP +2404:f801::,2404:f801:ffff:ffff:ffff:ffff:ffff:ffff,SG 2404:f900::,2404:f900:ffff:ffff:ffff:ffff:ffff:ffff,ID 2404:fa00::,2404:fa00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2404:fb00::,2404:fb00:ffff:ffff:ffff:ffff:ffff:ffff,ID @@ -3899,7 +4779,7 @@ 2404:fd00::,2404:fd00:ffff:ffff:ffff:ffff:ffff:ffff,ID 2404:fe00::,2404:fe00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2404:ff00::,2404:ff00:ffff:ffff:ffff:ffff:ffff:ffff,ID -2405::,2405:0:ffff:ffff:ffff:ffff:ffff:ffff,JP +2405::,2405::ffff:ffff:ffff:ffff:ffff:ffff,JP 2405:100::,2405:100:ffff:ffff:ffff:ffff:ffff:ffff,ID 2405:200::,2405:207:ffff:ffff:ffff:ffff:ffff:ffff,IN 2405:400::,2405:400:ffff:ffff:ffff:ffff:ffff:ffff,MH @@ -3915,7 +4795,6 @@ 2405:e00::,2405:e00:ffff:ffff:ffff:ffff:ffff:ffff,JP 2405:f00::,2405:f00:ffff:ffff:ffff:ffff:ffff:ffff,BD 2405:1000::,2405:1000:ffff:ffff:ffff:ffff:ffff:ffff,AU -2405:1100::,2405:1100:ffff:ffff:ffff:ffff:ffff:ffff,AU 2405:1200::,2405:1200:ffff:ffff:ffff:ffff:ffff:ffff,JP 2405:1300::,2405:1300:ffff:ffff:ffff:ffff:ffff:ffff,AU 2405:1400::,2405:1400:ffff:ffff:ffff:ffff:ffff:ffff,HK @@ -3923,15 +4802,13 @@ 2405:1600::,2405:1600:ffff:ffff:ffff:ffff:ffff:ffff,AU 2405:1700::,2405:1700:ffff:ffff:ffff:ffff:ffff:ffff,BN 2405:1800::,2405:1800:ffff:ffff:ffff:ffff:ffff:ffff,JP -2405:1900::,2405:1900:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2405:1a00::,2405:1a00:ffff:ffff:ffff:ffff:ffff:ffff,KH 2405:1b00::,2405:1b00:ffff:ffff:ffff:ffff:ffff:ffff,NP 2405:1c00::,2405:1c00:ffff:ffff:ffff:ffff:ffff:ffff,HK 2405:1d00::,2405:1d00:ffff:ffff:ffff:ffff:ffff:ffff,BD 2405:1e00::,2405:1e00:ffff:ffff:ffff:ffff:ffff:ffff,IN 2405:1f00::,2405:1f00:ffff:ffff:ffff:ffff:ffff:ffff,TL -2405:2000::,2405:2000:ffff:ffff:ffff:ffff:ffff:ffff,IN -2405:2100::,2405:2100:ffff:ffff:ffff:ffff:ffff:ffff,AU +2405:2000::,2405:2001:ffff:ffff:ffff:ffff:ffff:ffff,IN 2405:2200::,2405:2200:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2405:2300::,2405:2300:ffff:ffff:ffff:ffff:ffff:ffff,SG 2405:2400::,2405:2400:ffff:ffff:ffff:ffff:ffff:ffff,IN @@ -3983,348 +4860,681 @@ 2405:5200::,2405:5200:ffff:ffff:ffff:ffff:ffff:ffff,AU 2405:5300::,2405:5300:ffff:ffff:ffff:ffff:ffff:ffff,JP 2405:5400::,2405:5400:ffff:ffff:ffff:ffff:ffff:ffff,LK +2405:5500::,2405:5500:ffff:ffff:ffff:ffff:ffff:ffff,SG 2405:5600::,2405:5600:ffff:ffff:ffff:ffff:ffff:ffff,TW +2405:5700::,2405:5700:ffff:ffff:ffff:ffff:ffff:ffff,MN 2405:5800::,2405:5800:ffff:ffff:ffff:ffff:ffff:ffff,KR +2405:5900::,2405:5900:ffff:ffff:ffff:ffff:ffff:ffff,AU 2405:5a00::,2405:5a00:ffff:ffff:ffff:ffff:ffff:ffff,JP +2405:5b00::,2405:5b00:ffff:ffff:ffff:ffff:ffff:ffff,CN 2405:5c00::,2405:5c00:ffff:ffff:ffff:ffff:ffff:ffff,HK -2405:5e00::,2405:5e00:ffff:ffff:ffff:ffff:ffff:ffff,HK +2405:5d00::,2405:5d00:ffff:ffff:ffff:ffff:ffff:ffff,HK +2405:5f00::,2405:5f00:ffff:ffff:ffff:ffff:ffff:ffff,KR 2405:6000::,2405:6000:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2405:6100::,2405:6100:ffff:ffff:ffff:ffff:ffff:ffff,TW 2405:6200::,2405:6200:ffff:ffff:ffff:ffff:ffff:ffff,CN 2405:6400::,2405:6400:ffff:ffff:ffff:ffff:ffff:ffff,MY +2405:6500::,2405:6500:ffff:ffff:ffff:ffff:ffff:ffff,AU 2405:6600::,2405:6600:ffff:ffff:ffff:ffff:ffff:ffff,NP +2405:6700::,2405:6700:ffff:ffff:ffff:ffff:ffff:ffff,AU 2405:6800::,2405:6800:ffff:ffff:ffff:ffff:ffff:ffff,IN +2405:6900::,2405:6900:ffff:ffff:ffff:ffff:ffff:ffff,BD 2405:6a00::,2405:6a00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2405:6b00::,2405:6b00:ffff:ffff:ffff:ffff:ffff:ffff,LK 2405:6c00::,2405:6c00:ffff:ffff:ffff:ffff:ffff:ffff,IN +2405:6d00::,2405:6d00:ffff:ffff:ffff:ffff:ffff:ffff,TH 2405:6e00::,2405:6e00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2405:6f00::,2405:6f00:ffff:ffff:ffff:ffff:ffff:ffff,CN 2405:7000::,2405:7000:ffff:ffff:ffff:ffff:ffff:ffff,JP +2405:7100::,2405:7100:ffff:ffff:ffff:ffff:ffff:ffff,AU 2405:7200::,2405:7200:ffff:ffff:ffff:ffff:ffff:ffff,BD +2405:7300::,2405:7300:ffff:ffff:ffff:ffff:ffff:ffff,MN 2405:7400::,2405:7400:ffff:ffff:ffff:ffff:ffff:ffff,GU +2405:7500::,2405:7500:ffff:ffff:ffff:ffff:ffff:ffff,AU 2405:7600::,2405:7600:ffff:ffff:ffff:ffff:ffff:ffff,BD +2405:7700::,2405:7700:ffff:ffff:ffff:ffff:ffff:ffff,MY 2405:7800::,2405:7800:ffff:ffff:ffff:ffff:ffff:ffff,JP +2405:7900::,2405:7900:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2405:7a00::,2405:7a00:ffff:ffff:ffff:ffff:ffff:ffff,BD +2405:7b00::,2405:7b00:ffff:ffff:ffff:ffff:ffff:ffff,KR 2405:7c00::,2405:7c00:ffff:ffff:ffff:ffff:ffff:ffff,MY +2405:7d00::,2405:7d00:ffff:ffff:ffff:ffff:ffff:ffff,JP 2405:7e00::,2405:7e00:ffff:ffff:ffff:ffff:ffff:ffff,TW +2405:7f00::,2405:7f00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2405:8000::,2405:8000:ffff:ffff:ffff:ffff:ffff:ffff,JP +2405:8100::,2405:8100:ffff:ffff:ffff:ffff:ffff:ffff,HK 2405:8200::,2405:8200:ffff:ffff:ffff:ffff:ffff:ffff,BD +2405:8300::,2405:8300:ffff:ffff:ffff:ffff:ffff:ffff,SB 2405:8400::,2405:8400:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2405:8500::,2405:8500:ffff:ffff:ffff:ffff:ffff:ffff,JP 2405:8600::,2405:8600:ffff:ffff:ffff:ffff:ffff:ffff,KR +2405:8700::,2405:8700:ffff:ffff:ffff:ffff:ffff:ffff,TW 2405:8800::,2405:8800:ffff:ffff:ffff:ffff:ffff:ffff,AU +2405:8900::,2405:8900:ffff:ffff:ffff:ffff:ffff:ffff,AU 2405:8a00::,2405:8a00:ffff:ffff:ffff:ffff:ffff:ffff,IN +2405:8b00::,2405:8b00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2405:8c00::,2405:8c00:ffff:ffff:ffff:ffff:ffff:ffff,WS +2405:8d00::,2405:8d00:ffff:ffff:ffff:ffff:ffff:ffff,GU 2405:8e00::,2405:8e00:ffff:ffff:ffff:ffff:ffff:ffff,ID +2405:8f00::,2405:8f00:ffff:ffff:ffff:ffff:ffff:ffff,ID 2405:9000::,2405:9000:ffff:ffff:ffff:ffff:ffff:ffff,AU +2405:9100::,2405:9100:ffff:ffff:ffff:ffff:ffff:ffff,BD 2405:9200::,2405:9200:ffff:ffff:ffff:ffff:ffff:ffff,TW +2405:9300::,2405:9300:ffff:ffff:ffff:ffff:ffff:ffff,CN 2405:9400::,2405:9400:ffff:ffff:ffff:ffff:ffff:ffff,NZ -2405:9600::,2405:9600:ffff:ffff:ffff:ffff:ffff:ffff,IN +2405:9500::,2405:9500:ffff:ffff:ffff:ffff:ffff:ffff,KR +2405:9600::,2405:9600:ffff:ffff:ffff:ffff:ffff:ffff,SG +2405:9700::,2405:9700:ffff:ffff:ffff:ffff:ffff:ffff,CN 2405:9800::,2405:9800:ffff:ffff:ffff:ffff:ffff:ffff,TH +2405:9900::,2405:9900:ffff:ffff:ffff:ffff:ffff:ffff,CN 2405:9a00::,2405:9a00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2405:9b00::,2405:9b00:ffff:ffff:ffff:ffff:ffff:ffff,CN 2405:9c00::,2405:9c00:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2405:9d00::,2405:9d00:ffff:ffff:ffff:ffff:ffff:ffff,IN 2405:9e00::,2405:9e00:ffff:ffff:ffff:ffff:ffff:ffff,CN +2405:9f00::,2405:9f00:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2405:a000::,2405:a000:ffff:ffff:ffff:ffff:ffff:ffff,TH +2405:a100::,2405:a100:ffff:ffff:ffff:ffff:ffff:ffff,IN 2405:a200::,2405:a200:ffff:ffff:ffff:ffff:ffff:ffff,JP +2405:a300::,2405:a300:ffff:ffff:ffff:ffff:ffff:ffff,IN 2405:a400::,2405:a400:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2405:a500::,2405:a500:ffff:ffff:ffff:ffff:ffff:ffff,CN 2405:a600::,2405:a600:ffff:ffff:ffff:ffff:ffff:ffff,AU +2405:a700::,2405:a700:ffff:ffff:ffff:ffff:ffff:ffff,IN +2405:a900::,2405:a900:ffff:ffff:ffff:ffff:ffff:ffff,CN 2405:aa00::,2405:aa00:ffff:ffff:ffff:ffff:ffff:ffff,KH +2405:ab00::,2405:ab00:ffff:ffff:ffff:ffff:ffff:ffff,CN 2405:ac00::,2405:ac00:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2405:ad00::,2405:ad00:ffff:ffff:ffff:ffff:ffff:ffff,CN 2405:ae00::,2405:ae00:ffff:ffff:ffff:ffff:ffff:ffff,MN +2405:af00::,2405:af00:ffff:ffff:ffff:ffff:ffff:ffff,CN 2405:b000::,2405:b000:ffff:ffff:ffff:ffff:ffff:ffff,AU +2405:b100::,2405:b100:ffff:ffff:ffff:ffff:ffff:ffff,CN 2405:b200::,2405:b200:ffff:ffff:ffff:ffff:ffff:ffff,HK +2405:b300::,2405:b300:ffff:ffff:ffff:ffff:ffff:ffff,CN 2405:b400::,2405:b400:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2405:b500::,2405:b500:ffff:ffff:ffff:ffff:ffff:ffff,AU 2405:b600::,2405:b600:ffff:ffff:ffff:ffff:ffff:ffff,AU 2405:b800::,2405:b800:ffff:ffff:ffff:ffff:ffff:ffff,PH +2405:b900::,2405:b900:ffff:ffff:ffff:ffff:ffff:ffff,ID 2405:ba00::,2405:ba00:ffff:ffff:ffff:ffff:ffff:ffff,IN +2405:bb00::,2405:bb00:ffff:ffff:ffff:ffff:ffff:ffff,CN 2405:bc00::,2405:bc00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2405:bd00::,2405:bd00:ffff:ffff:ffff:ffff:ffff:ffff,CN 2405:be00::,2405:be00:ffff:ffff:ffff:ffff:ffff:ffff,JP +2405:bf00::,2405:bf00:ffff:ffff:ffff:ffff:ffff:ffff,CN 2405:c000::,2405:c000:ffff:ffff:ffff:ffff:ffff:ffff,KR +2405:c100::,2405:c100:ffff:ffff:ffff:ffff:ffff:ffff,JP 2405:c200::,2405:c200:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2405:c300::,2405:c300:ffff:ffff:ffff:ffff:ffff:ffff,HK 2405:c400::,2405:c400:ffff:ffff:ffff:ffff:ffff:ffff,AU +2405:c500::,2405:c500:ffff:ffff:ffff:ffff:ffff:ffff,CN 2405:c600::,2405:c600:ffff:ffff:ffff:ffff:ffff:ffff,TW +2405:c700::,2405:c700:ffff:ffff:ffff:ffff:ffff:ffff,JP 2405:c800::,2405:c800:ffff:ffff:ffff:ffff:ffff:ffff,AU +2405:c900::,2405:c900:ffff:ffff:ffff:ffff:ffff:ffff,AU 2405:ca00::,2405:ca00:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2405:cb00::,2405:cb00:ffff:ffff:ffff:ffff:ffff:ffff,VN 2405:cc00::,2405:cc00:ffff:ffff:ffff:ffff:ffff:ffff,PF +2405:cd00::,2405:cd00:ffff:ffff:ffff:ffff:ffff:ffff,VN 2405:ce00::,2405:ce00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2405:cf00::,2405:cf00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2405:d000::,2405:d000:ffff:ffff:ffff:ffff:ffff:ffff,BT +2405:d100::,2405:d100:ffff:ffff:ffff:ffff:ffff:ffff,AU 2405:d200::,2405:d200:ffff:ffff:ffff:ffff:ffff:ffff,JP +2405:d300::,2405:d300:ffff:ffff:ffff:ffff:ffff:ffff,AU 2405:d400::,2405:d400:ffff:ffff:ffff:ffff:ffff:ffff,PH +2405:d500::,2405:d500:ffff:ffff:ffff:ffff:ffff:ffff,HK 2405:d600::,2405:d600:ffff:ffff:ffff:ffff:ffff:ffff,AU +2405:d700::,2405:d700:ffff:ffff:ffff:ffff:ffff:ffff,CN 2405:d800::,2405:d800:ffff:ffff:ffff:ffff:ffff:ffff,SG +2405:d900::,2405:d900:ffff:ffff:ffff:ffff:ffff:ffff,CN 2405:da00::,2405:da00:ffff:ffff:ffff:ffff:ffff:ffff,KH +2405:db00::,2405:db00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2405:dc00::,2405:dc00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2405:df00::,2405:df00:ffff:ffff:ffff:ffff:ffff:ffff,BD 2405:e000::,2405:e000:ffff:ffff:ffff:ffff:ffff:ffff,CN +2405:e100::,2405:e100:ffff:ffff:ffff:ffff:ffff:ffff,IN 2405:e200::,2405:e200:ffff:ffff:ffff:ffff:ffff:ffff,IN +2405:e300::,2405:e300:ffff:ffff:ffff:ffff:ffff:ffff,HK 2405:e400::,2405:e400:ffff:ffff:ffff:ffff:ffff:ffff,AU +2405:e500::,2405:e500:ffff:ffff:ffff:ffff:ffff:ffff,HK 2405:e600::,2405:e600:ffff:ffff:ffff:ffff:ffff:ffff,CN +2405:e700::,2405:e700:ffff:ffff:ffff:ffff:ffff:ffff,IN 2405:e800::,2405:e800:ffff:ffff:ffff:ffff:ffff:ffff,JP +2405:e900::,2405:e900:ffff:ffff:ffff:ffff:ffff:ffff,PH 2405:ea00::,2405:ea00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2405:eb00::,2405:eb00:ffff:ffff:ffff:ffff:ffff:ffff,SG 2405:ec00::,2405:ec00:ffff:ffff:ffff:ffff:ffff:ffff,BT +2405:ed00::,2405:ed00:ffff:ffff:ffff:ffff:ffff:ffff,JP 2405:ee00::,2405:ee00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2405:ef00::,2405:ef00:ffff:ffff:ffff:ffff:ffff:ffff,HK 2405:f000::,2405:f000:ffff:ffff:ffff:ffff:ffff:ffff,JP +2405:f100::,2405:f100:ffff:ffff:ffff:ffff:ffff:ffff,SG 2405:f200::,2405:f200:ffff:ffff:ffff:ffff:ffff:ffff,BD +2405:f300::,2405:f300:ffff:ffff:ffff:ffff:ffff:ffff,IN 2405:f400::,2405:f400:ffff:ffff:ffff:ffff:ffff:ffff,PH +2405:f500::,2405:f500:ffff:ffff:ffff:ffff:ffff:ffff,KH 2405:f600::,2405:f600:ffff:ffff:ffff:ffff:ffff:ffff,IN +2405:f700::,2405:f700:ffff:ffff:ffff:ffff:ffff:ffff,IN 2405:f800::,2405:f800:ffff:ffff:ffff:ffff:ffff:ffff,JP +2405:f900::,2405:f900:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2405:fa00::,2405:fa00:ffff:ffff:ffff:ffff:ffff:ffff,KH +2405:fb00::,2405:fb00:ffff:ffff:ffff:ffff:ffff:ffff,SG 2405:fc00::,2405:fc00:ffff:ffff:ffff:ffff:ffff:ffff,SG 2405:fe00::,2405:fe00:ffff:ffff:ffff:ffff:ffff:ffff,PH -2406::,2406:0:ffff:ffff:ffff:ffff:ffff:ffff,HK +2405:ff00::,2405:ff00:ffff:ffff:ffff:ffff:ffff:ffff,IN +2406::,2406::ffff:ffff:ffff:ffff:ffff:ffff,HK +2406:100::,2406:100:ffff:ffff:ffff:ffff:ffff:ffff,SG 2406:200::,2406:200:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:300::,2406:300:ffff:ffff:ffff:ffff:ffff:ffff,TW 2406:400::,2406:400:ffff:ffff:ffff:ffff:ffff:ffff,TH +2406:500::,2406:500:ffff:ffff:ffff:ffff:ffff:ffff,JP 2406:600::,2406:600:ffff:ffff:ffff:ffff:ffff:ffff,JP +2406:700::,2406:700:ffff:ffff:ffff:ffff:ffff:ffff,JP 2406:800::,2406:800:ffff:ffff:ffff:ffff:ffff:ffff,JP +2406:900::,2406:900:ffff:ffff:ffff:ffff:ffff:ffff,AU 2406:a00::,2406:a00:ffff:ffff:ffff:ffff:ffff:ffff,JP +2406:b00::,2406:b00:ffff:ffff:ffff:ffff:ffff:ffff,BD 2406:c00::,2406:c00:ffff:ffff:ffff:ffff:ffff:ffff,LK +2406:d00::,2406:d00:ffff:ffff:ffff:ffff:ffff:ffff,PK 2406:e00::,2406:e00:ffff:ffff:ffff:ffff:ffff:ffff,IN +2406:f00::,2406:f00:ffff:ffff:ffff:ffff:ffff:ffff,IN 2406:1000::,2406:1000:ffff:ffff:ffff:ffff:ffff:ffff,JP +2406:1100::,2406:1100:ffff:ffff:ffff:ffff:ffff:ffff,CN 2406:1200::,2406:1200:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2406:1300::,2406:1300:ffff:ffff:ffff:ffff:ffff:ffff,PK 2406:1400::,2406:1400:ffff:ffff:ffff:ffff:ffff:ffff,BD +2406:1500::,2406:1500:ffff:ffff:ffff:ffff:ffff:ffff,TO 2406:1600::,2406:1600:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:1700::,2406:1700:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2406:1900::,2406:1900:ffff:ffff:ffff:ffff:ffff:ffff,BD 2406:1a00::,2406:1a00:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2406:1b00::,2406:1b00:ffff:ffff:ffff:ffff:ffff:ffff,ID 2406:1c00::,2406:1c00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:1d00::,2406:1d00:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2406:1e00::,2406:1e00:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2406:1f00::,2406:1f00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2406:2000::,2406:2000:ffff:ffff:ffff:ffff:ffff:ffff,TW +2406:2100::,2406:2100:ffff:ffff:ffff:ffff:ffff:ffff,IN 2406:2200::,2406:2200:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:2300::,2406:2300:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2406:2400::,2406:2400:ffff:ffff:ffff:ffff:ffff:ffff,ID +2406:2500::,2406:2500:ffff:ffff:ffff:ffff:ffff:ffff,BD 2406:2600::,2406:2600:ffff:ffff:ffff:ffff:ffff:ffff,JP +2406:2700::,2406:2700:ffff:ffff:ffff:ffff:ffff:ffff,CN 2406:2800::,2406:2800:ffff:ffff:ffff:ffff:ffff:ffff,JP +2406:2900::,2406:2900:ffff:ffff:ffff:ffff:ffff:ffff,JP 2406:2a00::,2406:2a00:ffff:ffff:ffff:ffff:ffff:ffff,PH +2406:2b00::,2406:2b00:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2406:2c00::,2406:2c00:ffff:ffff:ffff:ffff:ffff:ffff,ID +2406:2d00::,2406:2d00:ffff:ffff:ffff:ffff:ffff:ffff,IN 2406:2e00::,2406:2e00:ffff:ffff:ffff:ffff:ffff:ffff,IN +2406:2f00::,2406:2f00:ffff:ffff:ffff:ffff:ffff:ffff,IN 2406:3000::,2406:3003:ffff:ffff:ffff:ffff:ffff:ffff,SG +2406:3100::,2406:3100:ffff:ffff:ffff:ffff:ffff:ffff,TH 2406:3200::,2406:3200:ffff:ffff:ffff:ffff:ffff:ffff,PH +2406:3300::,2406:3300:ffff:ffff:ffff:ffff:ffff:ffff,CN 2406:3400::,2406:3400:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:3500::,2406:3500:ffff:ffff:ffff:ffff:ffff:ffff,PG 2406:3600::,2406:3600:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:3700::,2406:3700:ffff:ffff:ffff:ffff:ffff:ffff,CN 2406:3800::,2406:3800:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:3900::,2406:3900:ffff:ffff:ffff:ffff:ffff:ffff,AU 2406:3a00::,2406:3a00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:3b00::,2406:3b00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2406:3c00::,2406:3c00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:3d00::,2406:3d00:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2406:3e00::,2406:3e00:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2406:3f00::,2406:3f00:ffff:ffff:ffff:ffff:ffff:ffff,IN 2406:4000::,2406:4000:ffff:ffff:ffff:ffff:ffff:ffff,KR +2406:4100::,2406:4100:ffff:ffff:ffff:ffff:ffff:ffff,AU 2406:4200::,2406:4200:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:4300::,2406:4300:ffff:ffff:ffff:ffff:ffff:ffff,HK 2406:4400::,2406:4400:ffff:ffff:ffff:ffff:ffff:ffff,PH +2406:4500::,2406:4500:ffff:ffff:ffff:ffff:ffff:ffff,CN 2406:4600::,2406:4600:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:4700::,2406:4700:ffff:ffff:ffff:ffff:ffff:ffff,SG 2406:4800::,2406:4800:ffff:ffff:ffff:ffff:ffff:ffff,SG +2406:4900::,2406:4900:ffff:ffff:ffff:ffff:ffff:ffff,MY 2406:4a00::,2406:4a00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:4b00::,2406:4b00:ffff:ffff:ffff:ffff:ffff:ffff,BD 2406:4c00::,2406:4c00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:4d00::,2406:4d00:ffff:ffff:ffff:ffff:ffff:ffff,CN 2406:4e00::,2406:4e00:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2406:4f00::,2406:4f00:ffff:ffff:ffff:ffff:ffff:ffff,CN 2406:5000::,2406:5000:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:5100::,2406:5100:ffff:ffff:ffff:ffff:ffff:ffff,AU 2406:5200::,2406:5200:ffff:ffff:ffff:ffff:ffff:ffff,JP +2406:5300::,2406:5300:ffff:ffff:ffff:ffff:ffff:ffff,SG 2406:5400::,2406:5400:ffff:ffff:ffff:ffff:ffff:ffff,ID +2406:5500::,2406:5500:ffff:ffff:ffff:ffff:ffff:ffff,IN 2406:5600::,2406:5600:ffff:ffff:ffff:ffff:ffff:ffff,IN +2406:5700::,2406:5700:ffff:ffff:ffff:ffff:ffff:ffff,AF 2406:5800::,2406:5800:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:5900::,2406:5900:ffff:ffff:ffff:ffff:ffff:ffff,KR 2406:5a00::,2406:5a00:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2406:5b00::,2406:5b00:ffff:ffff:ffff:ffff:ffff:ffff,MY 2406:5c00::,2406:5c00:ffff:ffff:ffff:ffff:ffff:ffff,ID +2406:5d00::,2406:5d00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2406:5e00::,2406:5e00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:5f00::,2406:5f00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2406:6000::,2406:6000:ffff:ffff:ffff:ffff:ffff:ffff,MY +2406:6100::,2406:6100:ffff:ffff:ffff:ffff:ffff:ffff,CN 2406:6200::,2406:6200:ffff:ffff:ffff:ffff:ffff:ffff,ID +2406:6300::,2406:6300:ffff:ffff:ffff:ffff:ffff:ffff,CN 2406:6400::,2406:6400:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:6500::,2406:6500:ffff:ffff:ffff:ffff:ffff:ffff,CN 2406:6600::,2406:6600:ffff:ffff:ffff:ffff:ffff:ffff,KR +2406:6700::,2406:6700:ffff:ffff:ffff:ffff:ffff:ffff,AU 2406:6800::,2406:6800:ffff:ffff:ffff:ffff:ffff:ffff,KR +2406:6900::,2406:6900:ffff:ffff:ffff:ffff:ffff:ffff,AU 2406:6a00::,2406:6a00:ffff:ffff:ffff:ffff:ffff:ffff,KR +2406:6b00::,2406:6b00:ffff:ffff:ffff:ffff:ffff:ffff,ID 2406:6c00::,2406:6c00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:6d00::,2406:6d00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2406:6e00::,2406:6e00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:6f00::,2406:6f00:ffff:ffff:ffff:ffff:ffff:ffff,SG 2406:7000::,2406:7000:ffff:ffff:ffff:ffff:ffff:ffff,PK +2406:7100::,2406:7100:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2406:7200::,2406:7200:ffff:ffff:ffff:ffff:ffff:ffff,HK +2406:7300::,2406:7300:ffff:ffff:ffff:ffff:ffff:ffff,AU 2406:7400::,2406:7400:ffff:ffff:ffff:ffff:ffff:ffff,IN +2406:7500::,2406:7500:ffff:ffff:ffff:ffff:ffff:ffff,AU 2406:7600::,2406:7600:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:7700::,2406:7700:ffff:ffff:ffff:ffff:ffff:ffff,MY 2406:7800::,2406:7801:ffff:ffff:ffff:ffff:ffff:ffff,BN +2406:7900::,2406:7900:ffff:ffff:ffff:ffff:ffff:ffff,TH 2406:7a00::,2406:7a00:ffff:ffff:ffff:ffff:ffff:ffff,ID +2406:7b00::,2406:7b00:ffff:ffff:ffff:ffff:ffff:ffff,TW 2406:7c00::,2406:7c00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:7d00::,2406:7d00:ffff:ffff:ffff:ffff:ffff:ffff,CN 2406:7e00::,2406:7e00:ffff:ffff:ffff:ffff:ffff:ffff,ID +2406:7f00::,2406:7f00:ffff:ffff:ffff:ffff:ffff:ffff,ID 2406:8000::,2406:8000:ffff:ffff:ffff:ffff:ffff:ffff,JP +2406:8100::,2406:8100:ffff:ffff:ffff:ffff:ffff:ffff,HK 2406:8200::,2406:8200:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2406:8300::,2406:8300:ffff:ffff:ffff:ffff:ffff:ffff,SG 2406:8400::,2406:8400:ffff:ffff:ffff:ffff:ffff:ffff,PK +2406:8500::,2406:8500:ffff:ffff:ffff:ffff:ffff:ffff,CN 2406:8600::,2406:8600:ffff:ffff:ffff:ffff:ffff:ffff,IN +2406:8700::,2406:8700:ffff:ffff:ffff:ffff:ffff:ffff,AU 2406:8800::,2406:8800:ffff:ffff:ffff:ffff:ffff:ffff,IN +2406:8900::,2406:8900:ffff:ffff:ffff:ffff:ffff:ffff,AU 2406:8a00::,2406:8a00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:8b00::,2406:8b00:ffff:ffff:ffff:ffff:ffff:ffff,MY 2406:8c00::,2406:8c00:ffff:ffff:ffff:ffff:ffff:ffff,JP +2406:8d00::,2406:8d00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2406:8e00::,2406:8e00:ffff:ffff:ffff:ffff:ffff:ffff,JP +2406:8f00::,2406:8f00:ffff:ffff:ffff:ffff:ffff:ffff,ID 2406:9000::,2406:9000:ffff:ffff:ffff:ffff:ffff:ffff,VN +2406:9100::,2406:9100:ffff:ffff:ffff:ffff:ffff:ffff,HK 2406:9200::,2406:9200:ffff:ffff:ffff:ffff:ffff:ffff,CN +2406:9300::,2406:9300:ffff:ffff:ffff:ffff:ffff:ffff,ID 2406:9400::,2406:9400:ffff:ffff:ffff:ffff:ffff:ffff,HK +2406:9500::,2406:9500:ffff:ffff:ffff:ffff:ffff:ffff,IN 2406:9600::,2406:9600:ffff:ffff:ffff:ffff:ffff:ffff,ID +2406:9700::,2406:9700:ffff:ffff:ffff:ffff:ffff:ffff,AU 2406:9800::,2406:9800:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:9900::,2406:9900:ffff:ffff:ffff:ffff:ffff:ffff,JP 2406:9a00::,2406:9a01:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2406:9b00::,2406:9b00:ffff:ffff:ffff:ffff:ffff:ffff,BD 2406:9c00::,2406:9c00:ffff:ffff:ffff:ffff:ffff:ffff,HK +2406:9d00::,2406:9d00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2406:9e00::,2406:9e00:ffff:ffff:ffff:ffff:ffff:ffff,IN +2406:9f00::,2406:9f00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2406:a000::,2406:a000:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:a100::,2406:a100:ffff:ffff:ffff:ffff:ffff:ffff,AF 2406:a200::,2406:a200:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:a300::,2406:a300:ffff:ffff:ffff:ffff:ffff:ffff,ID 2406:a400::,2406:a400:ffff:ffff:ffff:ffff:ffff:ffff,SG +2406:a500::,2406:a500:ffff:ffff:ffff:ffff:ffff:ffff,ID 2406:a600::,2406:a600:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:a700::,2406:a700:ffff:ffff:ffff:ffff:ffff:ffff,AU 2406:a800::,2406:a800:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:a900::,2406:a900:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2406:aa00::,2406:aa00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:ab00::,2406:ab00:ffff:ffff:ffff:ffff:ffff:ffff,IN 2406:ac00::,2406:ac00:ffff:ffff:ffff:ffff:ffff:ffff,PK +2406:ad00::,2406:ad00:ffff:ffff:ffff:ffff:ffff:ffff,KR 2406:ae00::,2406:ae00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:af00::,2406:af00:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2406:b000::,2406:b000:ffff:ffff:ffff:ffff:ffff:ffff,KR +2406:b100::,2406:b100:ffff:ffff:ffff:ffff:ffff:ffff,KH 2406:b200::,2406:b200:ffff:ffff:ffff:ffff:ffff:ffff,ID +2406:b300::,2406:b300:ffff:ffff:ffff:ffff:ffff:ffff,AU 2406:b400::,2406:b400:ffff:ffff:ffff:ffff:ffff:ffff,IN +2406:b500::,2406:b500:ffff:ffff:ffff:ffff:ffff:ffff,IN 2406:b600::,2406:b600:ffff:ffff:ffff:ffff:ffff:ffff,IN +2406:b700::,2406:b700:ffff:ffff:ffff:ffff:ffff:ffff,NP 2406:b800::,2406:b800:ffff:ffff:ffff:ffff:ffff:ffff,JP +2406:b900::,2406:b900:ffff:ffff:ffff:ffff:ffff:ffff,ID 2406:ba00::,2406:ba00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:bb00::,2406:bb07:ffff:ffff:ffff:ffff:ffff:ffff,JP 2406:bc00::,2406:bc00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:bd00::,2406:bd00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2406:be00::,2406:be00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:bf00::,2406:bf00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2406:c000::,2406:c000:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:c100::,2406:c100:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2406:c200::,2406:c200:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:c300::,2406:c300:ffff:ffff:ffff:ffff:ffff:ffff,SG 2406:c400::,2406:c400:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:c500::,2406:c500:ffff:ffff:ffff:ffff:ffff:ffff,AU 2406:c600::,2406:c600:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:c700::,2406:c700:ffff:ffff:ffff:ffff:ffff:ffff,JP 2406:c800::,2406:c800:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:c900::,2406:c900:ffff:ffff:ffff:ffff:ffff:ffff,CN 2406:ca00::,2406:ca00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:cb00::,2406:cb00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2406:cc00::,2406:cc00:ffff:ffff:ffff:ffff:ffff:ffff,SG +2406:cd00::,2406:cd00:ffff:ffff:ffff:ffff:ffff:ffff,KI 2406:ce00::,2406:ce07:ffff:ffff:ffff:ffff:ffff:ffff,JP +2406:cf00::,2406:cf00:ffff:ffff:ffff:ffff:ffff:ffff,CN 2406:d000::,2406:d000:ffff:ffff:ffff:ffff:ffff:ffff,KR +2406:d100::,2406:d100:ffff:ffff:ffff:ffff:ffff:ffff,AF 2406:d200::,2406:d200:ffff:ffff:ffff:ffff:ffff:ffff,JP +2406:d300::,2406:d300:ffff:ffff:ffff:ffff:ffff:ffff,AU 2406:d400::,2406:d400:ffff:ffff:ffff:ffff:ffff:ffff,TW +2406:d500::,2406:d501:ffff:ffff:ffff:ffff:ffff:ffff,AU 2406:d600::,2406:d600:ffff:ffff:ffff:ffff:ffff:ffff,IN +2406:d700::,2406:d700:ffff:ffff:ffff:ffff:ffff:ffff,KR 2406:d800::,2406:d800:ffff:ffff:ffff:ffff:ffff:ffff,IN -2406:da00::,2406:da00:ffff:ffff:ffff:ffff:ffff:ffff,AP +2406:db00::,2406:db00:ffff:ffff:ffff:ffff:ffff:ffff,IN 2406:dc00::,2406:dc00:ffff:ffff:ffff:ffff:ffff:ffff,CN +2406:dd00::,2406:dd00:ffff:ffff:ffff:ffff:ffff:ffff,CN 2406:de00::,2406:de00:ffff:ffff:ffff:ffff:ffff:ffff,IN +2406:df00::,2406:df00:ffff:ffff:ffff:ffff:ffff:ffff,BD 2406:e000::,2406:e000:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2406:e100::,2406:e100:ffff:ffff:ffff:ffff:ffff:ffff,PH 2406:e200::,2406:e200:ffff:ffff:ffff:ffff:ffff:ffff,HK +2406:e300::,2406:e300:ffff:ffff:ffff:ffff:ffff:ffff,HK 2406:e400::,2406:e400:ffff:ffff:ffff:ffff:ffff:ffff,MV +2406:e500::,2406:e500:ffff:ffff:ffff:ffff:ffff:ffff,CN 2406:e600::,2406:e600:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:e700::,2406:e700:ffff:ffff:ffff:ffff:ffff:ffff,JP 2406:e800::,2406:e800:ffff:ffff:ffff:ffff:ffff:ffff,JP +2406:e900::,2406:e900:ffff:ffff:ffff:ffff:ffff:ffff,ID 2406:ea00::,2406:ea00:ffff:ffff:ffff:ffff:ffff:ffff,MM +2406:eb00::,2406:eb00:ffff:ffff:ffff:ffff:ffff:ffff,ID 2406:ec00::,2406:ec00:ffff:ffff:ffff:ffff:ffff:ffff,JP +2406:ed00::,2406:ed00:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2406:ee00::,2406:ee00:ffff:ffff:ffff:ffff:ffff:ffff,IN +2406:ef00::,2406:ef00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2406:f000::,2406:f000:ffff:ffff:ffff:ffff:ffff:ffff,SG +2406:f100::,2406:f100:ffff:ffff:ffff:ffff:ffff:ffff,BD 2406:f200::,2406:f200:ffff:ffff:ffff:ffff:ffff:ffff,JP +2406:f300::,2406:f300:ffff:ffff:ffff:ffff:ffff:ffff,CN 2406:f400::,2406:f400:ffff:ffff:ffff:ffff:ffff:ffff,SG +2406:f500::,2406:f500:ffff:ffff:ffff:ffff:ffff:ffff,PK 2406:f600::,2406:f600:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2406:f700::,2406:f700:ffff:ffff:ffff:ffff:ffff:ffff,HK 2406:f800::,2406:f800:ffff:ffff:ffff:ffff:ffff:ffff,FJ +2406:f900::,2406:f900:ffff:ffff:ffff:ffff:ffff:ffff,SG 2406:fa00::,2406:fa00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2406:fb00::,2406:fb00:ffff:ffff:ffff:ffff:ffff:ffff,HK 2406:fc00::,2406:fc00:ffff:ffff:ffff:ffff:ffff:ffff,SG +2406:fd00::,2406:fd00:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2406:fe00::,2406:fe00:ffff:ffff:ffff:ffff:ffff:ffff,JP -2407::,2407:0:ffff:ffff:ffff:ffff:ffff:ffff,ID +2406:ff00::,2406:ff00:ffff:ffff:ffff:ffff:ffff:ffff,CN +2407::,2407::ffff:ffff:ffff:ffff:ffff:ffff,ID +2407:100::,2407:100:ffff:ffff:ffff:ffff:ffff:ffff,VN 2407:200::,2407:200:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:300::,2407:300:ffff:ffff:ffff:ffff:ffff:ffff,AU 2407:400::,2407:400:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:500::,2407:500:ffff:ffff:ffff:ffff:ffff:ffff,AU 2407:600::,2407:600:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:700::,2407:700:ffff:ffff:ffff:ffff:ffff:ffff,AU 2407:800::,2407:800:ffff:ffff:ffff:ffff:ffff:ffff,FJ +2407:900::,2407:900:ffff:ffff:ffff:ffff:ffff:ffff,HK 2407:a00::,2407:a00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:b00::,2407:b00:ffff:ffff:ffff:ffff:ffff:ffff,KR 2407:c00::,2407:c00:ffff:ffff:ffff:ffff:ffff:ffff,LK +2407:d00::,2407:d00:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2407:e00::,2407:e00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:f00::,2407:f00:ffff:ffff:ffff:ffff:ffff:ffff,ID 2407:1000::,2407:1000:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2407:1100::,2407:1100:ffff:ffff:ffff:ffff:ffff:ffff,MY 2407:1200::,2407:1200:ffff:ffff:ffff:ffff:ffff:ffff,JP +2407:1300::,2407:1300:ffff:ffff:ffff:ffff:ffff:ffff,MY 2407:1400::,2407:1400:ffff:ffff:ffff:ffff:ffff:ffff,NP +2407:1500::,2407:1500:ffff:ffff:ffff:ffff:ffff:ffff,BD 2407:1600::,2407:1600:ffff:ffff:ffff:ffff:ffff:ffff,HK +2407:1700::,2407:1700:ffff:ffff:ffff:ffff:ffff:ffff,AU 2407:1800::,2407:1800:ffff:ffff:ffff:ffff:ffff:ffff,PG +2407:1900::,2407:1900:ffff:ffff:ffff:ffff:ffff:ffff,CN 2407:1a00::,2407:1a00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:1b00::,2407:1b00:ffff:ffff:ffff:ffff:ffff:ffff,PK 2407:1c00::,2407:1c00:ffff:ffff:ffff:ffff:ffff:ffff,SG +2407:1d00::,2407:1d00:ffff:ffff:ffff:ffff:ffff:ffff,CN 2407:1e00::,2407:1e00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:1f00::,2407:1f00:ffff:ffff:ffff:ffff:ffff:ffff,HK 2407:2000::,2407:2000:ffff:ffff:ffff:ffff:ffff:ffff,KR +2407:2100::,2407:2100:ffff:ffff:ffff:ffff:ffff:ffff,HK 2407:2200::,2407:2200:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:2300::,2407:2300:ffff:ffff:ffff:ffff:ffff:ffff,PG 2407:2400::,2407:2400:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2407:2500::,2407:2500:ffff:ffff:ffff:ffff:ffff:ffff,AU 2407:2600::,2407:2600:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:2700::,2407:2700:ffff:ffff:ffff:ffff:ffff:ffff,AU 2407:2800::,2407:2800:ffff:ffff:ffff:ffff:ffff:ffff,WS +2407:2900::,2407:2900:ffff:ffff:ffff:ffff:ffff:ffff,IN 2407:2a00::,2407:2a00:ffff:ffff:ffff:ffff:ffff:ffff,IN +2407:2b00::,2407:2b00:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2407:2c00::,2407:2c00:ffff:ffff:ffff:ffff:ffff:ffff,TH +2407:2d00::,2407:2d00:ffff:ffff:ffff:ffff:ffff:ffff,SG 2407:2e00::,2407:2e00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:2f00::,2407:2f00:ffff:ffff:ffff:ffff:ffff:ffff,SG 2407:3000::,2407:3000:ffff:ffff:ffff:ffff:ffff:ffff,JP +2407:3100::,2407:3100:ffff:ffff:ffff:ffff:ffff:ffff,HK +2407:3300::,2407:3300:ffff:ffff:ffff:ffff:ffff:ffff,JP 2407:3400::,2407:3400:ffff:ffff:ffff:ffff:ffff:ffff,IN +2407:3500::,2407:3500:ffff:ffff:ffff:ffff:ffff:ffff,KR 2407:3600::,2407:3600:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:3700::,2407:3700:ffff:ffff:ffff:ffff:ffff:ffff,CN 2407:3800::,2407:3800:ffff:ffff:ffff:ffff:ffff:ffff,SB +2407:3900::,2407:3900:ffff:ffff:ffff:ffff:ffff:ffff,CN 2407:3a00::,2407:3a00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:3b00::,2407:3b00:ffff:ffff:ffff:ffff:ffff:ffff,PG 2407:3c00::,2407:3c00:ffff:ffff:ffff:ffff:ffff:ffff,IN +2407:3d00::,2407:3d00:ffff:ffff:ffff:ffff:ffff:ffff,TW 2407:3e00::,2407:3e00:ffff:ffff:ffff:ffff:ffff:ffff,SG +2407:3f00::,2407:3f00:ffff:ffff:ffff:ffff:ffff:ffff,BD 2407:4000::,2407:4000:ffff:ffff:ffff:ffff:ffff:ffff,MY +2407:4100::,2407:4100:ffff:ffff:ffff:ffff:ffff:ffff,SG 2407:4200::,2407:4200:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:4300::,2407:4300:ffff:ffff:ffff:ffff:ffff:ffff,MY 2407:4400::,2407:4400:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2407:4500::,2407:4500:ffff:ffff:ffff:ffff:ffff:ffff,PK 2407:4600::,2407:4600:ffff:ffff:ffff:ffff:ffff:ffff,ID +2407:4700::,2407:4700:ffff:ffff:ffff:ffff:ffff:ffff,TW 2407:4800::,2407:4800:ffff:ffff:ffff:ffff:ffff:ffff,FM +2407:4900::,2407:4900:ffff:ffff:ffff:ffff:ffff:ffff,TW 2407:4a00::,2407:4a00:ffff:ffff:ffff:ffff:ffff:ffff,NC +2407:4b00::,2407:4b00:ffff:ffff:ffff:ffff:ffff:ffff,TW 2407:4c00::,2407:4c00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:4d00::,2407:4d00:ffff:ffff:ffff:ffff:ffff:ffff,TW 2407:4e00::,2407:4e00:ffff:ffff:ffff:ffff:ffff:ffff,ID +2407:4f00::,2407:4f00:ffff:ffff:ffff:ffff:ffff:ffff,CN 2407:5000::,2407:5000:ffff:ffff:ffff:ffff:ffff:ffff,BD +2407:5100::,2407:5100:ffff:ffff:ffff:ffff:ffff:ffff,JP 2407:5200::,2407:5200:ffff:ffff:ffff:ffff:ffff:ffff,NP +2407:5300::,2407:5300:ffff:ffff:ffff:ffff:ffff:ffff,JP 2407:5400::,2407:5400:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:5500::,2407:5500:ffff:ffff:ffff:ffff:ffff:ffff,CN 2407:5600::,2407:5600:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:5700::,2407:5700:ffff:ffff:ffff:ffff:ffff:ffff,AU 2407:5800::,2407:5800:ffff:ffff:ffff:ffff:ffff:ffff,CK +2407:5900::,2407:5900:ffff:ffff:ffff:ffff:ffff:ffff,AU 2407:5a00::,2407:5a00:ffff:ffff:ffff:ffff:ffff:ffff,PH +2407:5b00::,2407:5b00:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2407:5c00::,2407:5c00:ffff:ffff:ffff:ffff:ffff:ffff,IN +2407:5d00::,2407:5d00:ffff:ffff:ffff:ffff:ffff:ffff,MY 2407:5e00::,2407:5e00:ffff:ffff:ffff:ffff:ffff:ffff,KH +2407:5f00::,2407:5f00:ffff:ffff:ffff:ffff:ffff:ffff,MY 2407:6000::,2407:6000:ffff:ffff:ffff:ffff:ffff:ffff,MY +2407:6100::,2407:6100:ffff:ffff:ffff:ffff:ffff:ffff,MM 2407:6200::,2407:6200:ffff:ffff:ffff:ffff:ffff:ffff,NP +2407:6300::,2407:6300:ffff:ffff:ffff:ffff:ffff:ffff,SG 2407:6400::,2407:6400:ffff:ffff:ffff:ffff:ffff:ffff,MN +2407:6500::,2407:6500:ffff:ffff:ffff:ffff:ffff:ffff,KR 2407:6600::,2407:6600:ffff:ffff:ffff:ffff:ffff:ffff,TH +2407:6700::,2407:6700:ffff:ffff:ffff:ffff:ffff:ffff,KR 2407:6800::,2407:6800:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:6900::,2407:6900:ffff:ffff:ffff:ffff:ffff:ffff,AU 2407:6a00::,2407:6a00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:6b00::,2407:6b00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2407:6c00::,2407:6c00:ffff:ffff:ffff:ffff:ffff:ffff,MY +2407:6d00::,2407:6d00:ffff:ffff:ffff:ffff:ffff:ffff,BD 2407:6e00::,2407:6e00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:6f00::,2407:6f00:ffff:ffff:ffff:ffff:ffff:ffff,BD 2407:7000::,2407:7000:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2407:7100::,2407:7100:ffff:ffff:ffff:ffff:ffff:ffff,TW 2407:7200::,2407:7200:ffff:ffff:ffff:ffff:ffff:ffff,HK +2407:7300::,2407:7300:ffff:ffff:ffff:ffff:ffff:ffff,AU 2407:7400::,2407:7400:ffff:ffff:ffff:ffff:ffff:ffff,IN +2407:7500::,2407:7500:ffff:ffff:ffff:ffff:ffff:ffff,AU 2407:7600::,2407:7600:ffff:ffff:ffff:ffff:ffff:ffff,ID +2407:7700::,2407:7700:ffff:ffff:ffff:ffff:ffff:ffff,MY 2407:7800::,2407:7800:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:7900::,2407:7900:ffff:ffff:ffff:ffff:ffff:ffff,TH 2407:7a00::,2407:7a00:ffff:ffff:ffff:ffff:ffff:ffff,TH +2407:7b00::,2407:7b00:ffff:ffff:ffff:ffff:ffff:ffff,HK 2407:7c00::,2407:7c00:ffff:ffff:ffff:ffff:ffff:ffff,SG +2407:7d00::,2407:7d00:ffff:ffff:ffff:ffff:ffff:ffff,CN 2407:7e00::,2407:7e00:ffff:ffff:ffff:ffff:ffff:ffff,HK +2407:7f00::,2407:7f00:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2407:8000::,2407:8000:ffff:ffff:ffff:ffff:ffff:ffff,HK +2407:8100::,2407:8100:ffff:ffff:ffff:ffff:ffff:ffff,SG 2407:8200::,2407:8200:ffff:ffff:ffff:ffff:ffff:ffff,ID +2407:8300::,2407:8300:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2407:8400::,2407:8400:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:8500::,2407:8500:ffff:ffff:ffff:ffff:ffff:ffff,SG 2407:8600::,2407:8600:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:8700::,2407:8700:ffff:ffff:ffff:ffff:ffff:ffff,IN 2407:8800::,2407:8800:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:8900::,2407:8900:ffff:ffff:ffff:ffff:ffff:ffff,AU 2407:8a00::,2407:8a00:ffff:ffff:ffff:ffff:ffff:ffff,JP +2407:8b00::,2407:8b00:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2407:8c00::,2407:8c00:ffff:ffff:ffff:ffff:ffff:ffff,IN 2407:8e00::,2407:8e00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:8f00::,2407:8f00:ffff:ffff:ffff:ffff:ffff:ffff,JP 2407:9000::,2407:9000:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:9100::,2407:9100:ffff:ffff:ffff:ffff:ffff:ffff,KR 2407:9200::,2407:9200:ffff:ffff:ffff:ffff:ffff:ffff,PG +2407:9300::,2407:9300:ffff:ffff:ffff:ffff:ffff:ffff,IN 2407:9400::,2407:9400:ffff:ffff:ffff:ffff:ffff:ffff,MY -2407:9600::,2407:9600:ffff:ffff:ffff:ffff:ffff:ffff,MY +2407:9500::,2407:9500:ffff:ffff:ffff:ffff:ffff:ffff,NP +2407:9700::,2407:9700:ffff:ffff:ffff:ffff:ffff:ffff,IN 2407:9800::,2407:9800:ffff:ffff:ffff:ffff:ffff:ffff,PH +2407:9900::,2407:9900:ffff:ffff:ffff:ffff:ffff:ffff,JP 2407:9a00::,2407:9a00:ffff:ffff:ffff:ffff:ffff:ffff,IN +2407:9b00::,2407:9b00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2407:9c00::,2407:9c00:ffff:ffff:ffff:ffff:ffff:ffff,PK +2407:9d00::,2407:9d00:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2407:9e00::,2407:9e00:ffff:ffff:ffff:ffff:ffff:ffff,PK +2407:9f00::,2407:9f00:ffff:ffff:ffff:ffff:ffff:ffff,CN 2407:a000::,2407:a000:ffff:ffff:ffff:ffff:ffff:ffff,FJ +2407:a100::,2407:a100:ffff:ffff:ffff:ffff:ffff:ffff,AU 2407:a200::,2407:a200:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:a300::,2407:a300:ffff:ffff:ffff:ffff:ffff:ffff,IN +2407:a500::,2407:a500:ffff:ffff:ffff:ffff:ffff:ffff,TH 2407:a600::,2407:a600:ffff:ffff:ffff:ffff:ffff:ffff,ID +2407:a700::,2407:a700:ffff:ffff:ffff:ffff:ffff:ffff,HK 2407:a800::,2407:a800:ffff:ffff:ffff:ffff:ffff:ffff,JP +2407:a900::,2407:a900:ffff:ffff:ffff:ffff:ffff:ffff,AU 2407:aa00::,2407:aa00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:ab00::,2407:ab00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2407:ac00::,2407:ac00:ffff:ffff:ffff:ffff:ffff:ffff,SG +2407:ad00::,2407:ad00:ffff:ffff:ffff:ffff:ffff:ffff,ID 2407:ae00::,2407:ae00:ffff:ffff:ffff:ffff:ffff:ffff,AU -2407:b000::,2407:b000:ffff:ffff:ffff:ffff:ffff:ffff,SG +2407:af00::,2407:af00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:b000::,2407:b001:ffff:ffff:ffff:ffff:ffff:ffff,JP +2407:b100::,2407:b100:ffff:ffff:ffff:ffff:ffff:ffff,BD 2407:b200::,2407:b200:ffff:ffff:ffff:ffff:ffff:ffff,KR +2407:b300::,2407:b300:ffff:ffff:ffff:ffff:ffff:ffff,HK 2407:b400::,2407:b400:ffff:ffff:ffff:ffff:ffff:ffff,HK +2407:b500::,2407:b500:ffff:ffff:ffff:ffff:ffff:ffff,AU 2407:b600::,2407:b600:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:b700::,2407:b700:ffff:ffff:ffff:ffff:ffff:ffff,HK 2407:b800::,2407:b800:ffff:ffff:ffff:ffff:ffff:ffff,KR +2407:b900::,2407:b900:ffff:ffff:ffff:ffff:ffff:ffff,IN 2407:ba00::,2407:ba00:ffff:ffff:ffff:ffff:ffff:ffff,CN +2407:bb00::,2407:bb00:ffff:ffff:ffff:ffff:ffff:ffff,IN 2407:bc00::,2407:bc00:ffff:ffff:ffff:ffff:ffff:ffff,CN +2407:bd00::,2407:bd00:ffff:ffff:ffff:ffff:ffff:ffff,HK 2407:be00::,2407:be00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:bf00::,2407:bf00:ffff:ffff:ffff:ffff:ffff:ffff,ID 2407:c000::,2407:c000:ffff:ffff:ffff:ffff:ffff:ffff,KR +2407:c100::,2407:c100:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2407:c200::,2407:c200:ffff:ffff:ffff:ffff:ffff:ffff,ID +2407:c300::,2407:c300:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2407:c400::,2407:c400:ffff:ffff:ffff:ffff:ffff:ffff,CN +2407:c500::,2407:c500:ffff:ffff:ffff:ffff:ffff:ffff,AU 2407:c600::,2407:c600:ffff:ffff:ffff:ffff:ffff:ffff,MY +2407:c700::,2407:c700:ffff:ffff:ffff:ffff:ffff:ffff,KR 2407:c800::,2407:c800:ffff:ffff:ffff:ffff:ffff:ffff,JP +2407:c900::,2407:c900:ffff:ffff:ffff:ffff:ffff:ffff,CN 2407:ca00::,2407:ca00:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2407:cb00::,2407:cb00:ffff:ffff:ffff:ffff:ffff:ffff,IN 2407:cc00::,2407:cc00:ffff:ffff:ffff:ffff:ffff:ffff,JP +2407:cd00::,2407:cd00:ffff:ffff:ffff:ffff:ffff:ffff,HK 2407:ce00::,2407:ce00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:cf00::,2407:cf00:ffff:ffff:ffff:ffff:ffff:ffff,CN 2407:d000::,2407:d000:ffff:ffff:ffff:ffff:ffff:ffff,PK +2407:d100::,2407:d100:ffff:ffff:ffff:ffff:ffff:ffff,KR 2407:d200::,2407:d200:ffff:ffff:ffff:ffff:ffff:ffff,SG +2407:d300::,2407:d300:ffff:ffff:ffff:ffff:ffff:ffff,AU 2407:d400::,2407:d400:ffff:ffff:ffff:ffff:ffff:ffff,NP +2407:d500::,2407:d500:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2407:d600::,2407:d600:ffff:ffff:ffff:ffff:ffff:ffff,JP +2407:d700::,2407:d700:ffff:ffff:ffff:ffff:ffff:ffff,BD 2407:d800::,2407:d800:ffff:ffff:ffff:ffff:ffff:ffff,JP +2407:d900::,2407:d900:ffff:ffff:ffff:ffff:ffff:ffff,AU 2407:da00::,2407:da00:ffff:ffff:ffff:ffff:ffff:ffff,IN +2407:db00::,2407:db00:ffff:ffff:ffff:ffff:ffff:ffff,HK 2407:dc00::,2407:dc00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:dd00::,2407:dd00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2407:de00::,2407:de00:ffff:ffff:ffff:ffff:ffff:ffff,MY +2407:df00::,2407:df00:ffff:ffff:ffff:ffff:ffff:ffff,ID 2407:e000::,2407:e000:ffff:ffff:ffff:ffff:ffff:ffff,SG +2407:e100::,2407:e100:ffff:ffff:ffff:ffff:ffff:ffff,HK 2407:e200::,2407:e200:ffff:ffff:ffff:ffff:ffff:ffff,MY +2407:e300::,2407:e300:ffff:ffff:ffff:ffff:ffff:ffff,HK 2407:e400::,2407:e400:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:e500::,2407:e501:ffff:ffff:ffff:ffff:ffff:ffff,IN 2407:e600::,2407:e600:ffff:ffff:ffff:ffff:ffff:ffff,JP +2407:e700::,2407:e700:ffff:ffff:ffff:ffff:ffff:ffff,AU 2407:e800::,2407:e800:ffff:ffff:ffff:ffff:ffff:ffff,CN +2407:e900::,2407:e900:ffff:ffff:ffff:ffff:ffff:ffff,IN 2407:ea00::,2407:ea00:ffff:ffff:ffff:ffff:ffff:ffff,HK +2407:eb00::,2407:eb00:ffff:ffff:ffff:ffff:ffff:ffff,SG 2407:ec00::,2407:ec00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:ed00::,2407:ed00:ffff:ffff:ffff:ffff:ffff:ffff,TH 2407:ee00::,2407:ee00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:ef00::,2407:ef00:ffff:ffff:ffff:ffff:ffff:ffff,SG 2407:f000::,2407:f000:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:f100::,2407:f100:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2407:f200::,2407:f200:ffff:ffff:ffff:ffff:ffff:ffff,ID +2407:f300::,2407:f300:ffff:ffff:ffff:ffff:ffff:ffff,MM 2407:f400::,2407:f400:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:f500::,2407:f500:ffff:ffff:ffff:ffff:ffff:ffff,HK 2407:f600::,2407:f600:ffff:ffff:ffff:ffff:ffff:ffff,JP +2407:f700::,2407:f700:ffff:ffff:ffff:ffff:ffff:ffff,IN 2407:f800::,2407:f800:ffff:ffff:ffff:ffff:ffff:ffff,MY +2407:f900::,2407:f900:ffff:ffff:ffff:ffff:ffff:ffff,ID 2407:fa00::,2407:fa00:ffff:ffff:ffff:ffff:ffff:ffff,HK -2407:fc00::,2407:fc00:ffff:ffff:ffff:ffff:ffff:ffff,HK +2407:fd00::,2407:fd00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2407:fe00::,2407:fe00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2407:ff00::,2407:ff00:ffff:ffff:ffff:ffff:ffff:ffff,IN 2408::,2408:3ff:ffff:ffff:ffff:ffff:ffff:ffff,JP 2408:8000::,2408:8fff:ffff:ffff:ffff:ffff:ffff:ffff,CN 2409::,2409:3ff:ffff:ffff:ffff:ffff:ffff:ffff,JP 2409:8000::,2409:8fff:ffff:ffff:ffff:ffff:ffff:ffff,CN 240a::,240a:7f:ffff:ffff:ffff:ffff:ffff:ffff,JP +240a:8000::,240a:87ff:ffff:ffff:ffff:ffff:ffff:ffff,CN 240b::,240b:3ff:ffff:ffff:ffff:ffff:ffff:ffff,JP +240b:8000::,240b:87ff:ffff:ffff:ffff:ffff:ffff:ffff,CN 240c::,240c:f:ffff:ffff:ffff:ffff:ffff:ffff,CN 240d::,240d:1f:ffff:ffff:ffff:ffff:ffff:ffff,JP 240e::,240e:fff:ffff:ffff:ffff:ffff:ffff:ffff,CN @@ -4343,6 +5553,8 @@ 2600:1100::,2600:110f:ffff:ffff:ffff:ffff:ffff:ffff,US 2600:1200::,2600:130f:ffff:ffff:ffff:ffff:ffff:ffff,US 2600:1400::,2600:141f:ffff:ffff:ffff:ffff:ffff:ffff,US +2600:1500::,2600:150f:ffff:ffff:ffff:ffff:ffff:ffff,US +2600:1600::,2600:16ff:ffff:ffff:ffff:ffff:ffff:ffff,CA 2600:1800::,2600:180f:ffff:ffff:ffff:ffff:ffff:ffff,US 2600:1c00::,2600:1c0f:ffff:ffff:ffff:ffff:ffff:ffff,US 2600:2000::,2600:200f:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -4366,6 +5578,7 @@ 2600:6800::,2600:68ff:ffff:ffff:ffff:ffff:ffff:ffff,US 2600:6c00::,2600:6cff:ffff:ffff:ffff:ffff:ffff:ffff,US 2600:7000::,2600:70ff:ffff:ffff:ffff:ffff:ffff:ffff,US +2600:7400::,2600:740f:ffff:ffff:ffff:ffff:ffff:ffff,US 2600:8000::,2600:80ff:ffff:ffff:ffff:ffff:ffff:ffff,US 2600:e000::,2600:e00f:ffff:ffff:ffff:ffff:ffff:ffff,CA 2601::,2601:f:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -4376,7 +5589,30 @@ 2602:230::,2602:230:ffff:ffff:ffff:ffff:ffff:ffff,US 2602:240::,2602:24f:ffff:ffff:ffff:ffff:ffff:ffff,US 2602:300::,2602:3ff:ffff:ffff:ffff:ffff:ffff:ffff,US -2604::,2604:0:ffff:ffff:ffff:ffff:ffff:ffff,US +2602:ffc0::,2602:ffc0:fff:ffff:ffff:ffff:ffff:ffff,US +2602:ffd0::,2602:ffd0:fff:ffff:ffff:ffff:ffff:ffff,US +2602:ffe0::,2602:ffe0:fff:ffff:ffff:ffff:ffff:ffff,US +2602:ffeb::,2602:ffeb:fff:ffff:ffff:ffff:ffff:ffff,US +2602:ffec::,2602:ffec:fff:ffff:ffff:ffff:ffff:ffff,CA +2602:ffed::,2602:ffed:fff:ffff:ffff:ffff:ffff:ffff,US +2602:ffee::,2602:ffee:fff:ffff:ffff:ffff:ffff:ffff,US +2602:ffef::,2602:ffef:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fff0::,2602:fff0:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fff1::,2602:fff1:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fff2::,2602:fff2:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fff3::,2602:fff3:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fff4::,2602:fff4:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fff5::,2602:fff5:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fff6::,2602:fff6:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fff7::,2602:fff7:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fff8::,2602:fff8:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fff9::,2602:fff9:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fffa::,2602:fffa:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fffb::,2602:fffb:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fffc::,2602:fffc:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fffd::,2602:fffd:fff:ffff:ffff:ffff:ffff:ffff,CA +2602:ffff::,2602:ffff:fff:ffff:ffff:ffff:ffff:ffff,US +2604::,2604::ffff:ffff:ffff:ffff:ffff:ffff,US 2604:10::,2604:10:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:100::,2604:100:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:180::,2604:180:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -4428,7 +5664,7 @@ 2604:1880::,2604:1880:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:1900::,2604:1900:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:1980::,2604:1980:ffff:ffff:ffff:ffff:ffff:ffff,US -2604:1a00::,2604:1a00:ffff:ffff:ffff:ffff:ffff:ffff,CA +2604:1a00::,2604:1a00:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:1a80::,2604:1a80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:1b00::,2604:1b00:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:1b80::,2604:1b80:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -4443,211 +5679,413 @@ 2604:2000::,2604:2000:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:2080::,2604:2080:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:2100::,2604:2100:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:2180::,2604:2180:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:2200::,2604:2200:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:2280::,2604:2280:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:2300::,2604:2300:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:2380::,2604:2380:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:2400::,2604:2400:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:2480::,2604:2480:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:2500::,2604:2500:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:2580::,2604:2580:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:2600::,2604:2600:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:2680::,2604:2680:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:2700::,2604:2700:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:2780::,2604:2780:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:2800::,2604:2800:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:2880::,2604:2880:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:2900::,2604:2900:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:2980::,2604:2980:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:2a00::,2604:2a00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:2a80::,2604:2a80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:2b00::,2604:2b00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:2b80::,2604:2b80:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:2c00::,2604:2c00:ffff:ffff:ffff:ffff:ffff:ffff,US -2604:2d00::,2604:2d00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:2c80::,2604:2c80:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:2d00::,2604:2d00:fff:ffff:ffff:ffff:ffff:ffff,US +2604:2d80::,2604:2d80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:2e00::,2604:2e00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:2e80::,2604:2e80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:2f00::,2604:2f00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:2f80::,2604:2f80:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:3000::,2604:3000:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:3080::,2604:3080:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:3100::,2604:3100:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:3180::,2604:3180:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:3200::,2604:3200:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:3280::,2604:3280:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:3300::,2604:3300:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:3380::,2604:3380:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:3400::,2604:3400:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:3480::,2604:3480:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:3500::,2604:3500:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:3580::,2604:3580:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:3600::,2604:3600:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:3680::,2604:3680:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:3700::,2604:3700:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:3780::,2604:3780:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:3800::,2604:3800:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:3880::,2604:3880:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:3900::,2604:3900:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:3980::,2604:3980:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:3a00::,2604:3a00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:3a80::,2604:3a80:ffff:ffff:ffff:ffff:ffff:ffff,VC 2604:3b00::,2604:3b00:ffff:ffff:ffff:ffff:ffff:ffff,CA +2604:3b80::,2604:3b80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:3c00::,2604:3c00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:3c80::,2604:3c80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:3d00::,2604:3d00:ffff:ffff:ffff:ffff:ffff:ffff,CA +2604:3d80::,2604:3d80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:3e00::,2604:3e00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:3e80::,2604:3e80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:3f00::,2604:3f00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:3f80::,2604:3f80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:4000::,2604:4000:ffff:ffff:ffff:ffff:ffff:ffff,CA +2604:4080::,2604:4080:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:4100::,2604:4100:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:4180::,2604:4180:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:4200::,2604:4200:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:4280::,2604:4280:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:4300::,2604:4300:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:4380::,2604:4380:ffff:ffff:ffff:ffff:ffff:ffff,GD 2604:4400::,2604:4400:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:4480::,2604:4480:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:4500::,2604:4500:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:4580::,2604:4580:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:4600::,2604:4600:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:4680::,2604:4680:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:4700::,2604:4700:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:4780::,2604:4780:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:4800::,2604:4800:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:4880::,2604:4880:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:4900::,2604:4900:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:4980::,2604:4980:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:4a00::,2604:4a00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:4a80::,2604:4a80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:4b00::,2604:4b00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:4b80::,2604:4b80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:4c00::,2604:4c00:ffff:ffff:ffff:ffff:ffff:ffff,CA +2604:4c80::,2604:4c80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:4d00::,2604:4d00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:4d80::,2604:4d80:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:4e00::,2604:4e00:ffff:ffff:ffff:ffff:ffff:ffff,US -2604:4f00::,2604:4f00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:4e80::,2604:4e80:ffff:ffff:ffff:ffff:ffff:ffff,CA +2604:4f00::,2604:4f00:fff:ffff:ffff:ffff:ffff:ffff,US +2604:4f80::,2604:4f80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:5000::,2604:5000:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:5080::,2604:5080:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:5100::,2604:5100:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:5180::,2604:5180:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:5200::,2604:5200:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:5280::,2604:5280:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:5300::,2604:5300:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:5380::,2604:5380:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:5400::,2604:5400:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:5480::,2604:5480:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:5500::,2604:5500:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:5580::,2604:5580:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:5600::,2604:5600:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:5680::,2604:5680:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:5700::,2604:5700:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:5780::,2604:5780:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:5800::,2604:5800:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:5880::,2604:5880:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:5900::,2604:5900:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:5980::,2604:5980:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:5a00::,2604:5a00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:5a80::,2604:5a80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:5b00::,2604:5b00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:5b80::,2604:5b80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:5c00::,2604:5c00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:5c80::,2604:5c80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:5d00::,2604:5d00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:5d80::,2604:5d80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:5e00::,2604:5e00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:5e80::,2604:5e80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:5f00::,2604:5f00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:5f80::,2604:5f80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:6000::,2604:6000:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:6080::,2604:6080:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:6100::,2604:6100:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:6180::,2604:6180:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:6200::,2604:6200:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:6280::,2604:6280:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:6300::,2604:6300:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:6380::,2604:6380:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:6400::,2604:6400:ffff:ffff:ffff:ffff:ffff:ffff,CA +2604:6480::,2604:6480:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:6500::,2604:6500:ffff:ffff:ffff:ffff:ffff:ffff,CA +2604:6580::,2604:6580:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:6600::,2604:6600:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:6680::,2604:6680:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:6700::,2604:6700:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:6780::,2604:6780:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:6800::,2604:6800:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:6880::,2604:6880:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:6900::,2604:6900:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:6980::,2604:6980:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:6a00::,2604:6a00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:6a80::,2604:6a80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:6b00::,2604:6b00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:6b80::,2604:6b80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:6c00::,2604:6c00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:6c80::,2604:6c80:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:6d00::,2604:6d00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:6d80::,2604:6d80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:6e00::,2604:6e00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:6e80::,2604:6e80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:6f00::,2604:6f00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:6f80::,2604:6f80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:7000::,2604:7000:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:7080::,2604:7080:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:7100::,2604:7100:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:7180::,2604:7180:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:7200::,2604:7200:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:7280::,2604:7280:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:7300::,2604:7300:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:7380::,2604:7380:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:7400::,2604:7400:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:7480::,2604:7480:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:7500::,2604:7500:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:7580::,2604:7580:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:7600::,2604:7600:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:7680::,2604:7680:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:7700::,2604:7700:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:7780::,2604:7780:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:7800::,2604:7800:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:7880::,2604:7880:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:7900::,2604:7900:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:7980::,2604:7980:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:7a00::,2604:7a00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:7a80::,2604:7a80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:7b00::,2604:7b00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:7b80::,2604:7b80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:7c00::,2604:7c00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:7c80::,2604:7c80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:7d00::,2604:7d00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:7d80::,2604:7d80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:7e00::,2604:7e00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:7e80::,2604:7e80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:7f00::,2604:7f00:ffff:ffff:ffff:ffff:ffff:ffff,CA +2604:7f80::,2604:7f80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:8000::,2604:8000:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:8080::,2604:8080:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:8100::,2604:8100:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:8180::,2604:8180:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:8200::,2604:8200:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:8280::,2604:8280:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:8300::,2604:8300:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:8380::,2604:8380:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:8400::,2604:8400:ffff:ffff:ffff:ffff:ffff:ffff,CA +2604:8480::,2604:8480:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:8500::,2604:8500:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:8580::,2604:8580:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:8600::,2604:8600:ffff:ffff:ffff:ffff:ffff:ffff,CA +2604:8680::,2604:8680:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:8700::,2604:8700:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:8780::,2604:8780:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:8800::,2604:8800:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:8880::,2604:8880:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:8900::,2604:8900:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:8980::,2604:8980:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:8a00::,2604:8a00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:8a80::,2604:8a80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:8b00::,2604:8b00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:8b80::,2604:8b80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:8c00::,2604:8c00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:8c80::,2604:8c80:ffff:ffff:ffff:ffff:ffff:ffff,DM 2604:8d00::,2604:8d00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:8d80::,2604:8d80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:8e00::,2604:8e00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:8e80::,2604:8e80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:8f00::,2604:8f00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:8f80::,2604:8f80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:9000::,2604:9000:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:9080::,2604:9080:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:9100::,2604:9100:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:9180::,2604:9180:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:9200::,2604:9200:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:9280::,2604:9280:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:9300::,2604:9300:ffff:ffff:ffff:ffff:ffff:ffff,US -2604:9400::,2604:9400:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:9380::,2604:9380:ffff:ffff:ffff:ffff:ffff:ffff,CA +2604:9480::,2604:9480:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:9500::,2604:9500:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:9580::,2604:9580:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:9600::,2604:9600:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:9680::,2604:9680:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:9700::,2604:9700:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:9780::,2604:9780:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:9800::,2604:9800:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:9880::,2604:9880:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:9900::,2604:9900:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:9980::,2604:9980:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:9a00::,2604:9a00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:9a80::,2604:9a80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:9b00::,2604:9b00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:9b80::,2604:9b80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:9c00::,2604:9c00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:9c80::,2604:9c80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:9d00::,2604:9d00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:9d80::,2604:9d80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:9e00::,2604:9e00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:9e80::,2604:9e80:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:9f00::,2604:9f00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:9f80::,2604:9f80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:a000::,2604:a000:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:a080::,2604:a080:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:a100::,2604:a100:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:a180::,2604:a180:ffff:ffff:ffff:ffff:ffff:ffff,BB 2604:a200::,2604:a200:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:a280::,2604:a280:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:a300::,2604:a300:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:a380::,2604:a380:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:a400::,2604:a400:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:a480::,2604:a480:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:a500::,2604:a500:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:a580::,2604:a580:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:a600::,2604:a600:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:a680::,2604:a680:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:a700::,2604:a700:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:a780::,2604:a780:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:a800::,2604:a800:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:a880::,2604:a880:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:a900::,2604:a900:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:a980::,2604:a980:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:aa00::,2604:aa00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:aa80::,2604:aa80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:ab00::,2604:ab00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:ab80::,2604:ab80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:ac00::,2604:ac00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:ac80::,2604:ac80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:ad00::,2604:ad00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:ad80::,2604:ad80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:ae00::,2604:ae00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:ae80::,2604:ae80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:af00::,2604:af00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:af80::,2604:af80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:b000::,2604:b000:ffff:ffff:ffff:ffff:ffff:ffff,PR +2604:b080::,2604:b080:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:b100::,2604:b100:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:b180::,2604:b180:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:b200::,2604:b200:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:b280::,2604:b280:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:b300::,2604:b300:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:b380::,2604:b380:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:b400::,2604:b400:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:b480::,2604:b480:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:b500::,2604:b500:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:b580::,2604:b580:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:b600::,2604:b600:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:b680::,2604:b680:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:b700::,2604:b700:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:b780::,2604:b780:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:b800::,2604:b800:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:b880::,2604:b880:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:b900::,2604:b900:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:b980::,2604:b980:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:ba00::,2604:ba00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:ba80::,2604:ba80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:bb00::,2604:bb00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:bb80::,2604:bb80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:bc00::,2604:bc00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:bc80::,2604:bc80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:bd00::,2604:bd00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:bd80::,2604:bd80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:be00::,2604:be00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:be80::,2604:be80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:bf00::,2604:bf00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:bf80::,2604:bf80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:c000::,2604:c000:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:c080::,2604:c080:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:c100::,2604:c100:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:c180::,2604:c180:ffff:ffff:ffff:ffff:ffff:ffff,VI 2604:c200::,2604:c200:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:c280::,2604:c280:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:c300::,2604:c300:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:c380::,2604:c380:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:c400::,2604:c400:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:c480::,2604:c480:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:c500::,2604:c500:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:c580::,2604:c580:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:c600::,2604:c600:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:c680::,2604:c680:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:c700::,2604:c700:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:c780::,2604:c780:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:c800::,2604:c800:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:c880::,2604:c880:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:c900::,2604:c900:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:c980::,2604:c980:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:ca00::,2604:ca00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:ca80::,2604:ca80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:cb00::,2604:cb00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:cb80::,2604:cb80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:cc00::,2604:cc00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:cc80::,2604:cc80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:cd00::,2604:cd00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:cd80::,2604:cd80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:ce00::,2604:ce00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:ce80::,2604:ce80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:cf00::,2604:cf00:ffff:ffff:ffff:ffff:ffff:ffff,CA +2604:cf80::,2604:cf80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:d000::,2604:d000:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:d080::,2604:d080:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:d100::,2604:d100:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:d180::,2604:d180:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:d200::,2604:d200:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:d280::,2604:d280:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:d300::,2604:d300:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:d380::,2604:d380:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:d400::,2604:d400:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:d480::,2604:d480:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:d500::,2604:d500:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:d580::,2604:d580:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:d600::,2604:d600:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:d680::,2604:d680:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:d700::,2604:d700:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:d780::,2604:d780:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:d800::,2604:d801:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:d880::,2604:d880:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:d900::,2604:d900:ffff:ffff:ffff:ffff:ffff:ffff,US -2604:da00::,2604:da00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:d980::,2604:d980:ffff:ffff:ffff:ffff:ffff:ffff,CA +2604:da00::,2604:da00:fff:ffff:ffff:ffff:ffff:ffff,US +2604:da80::,2604:da80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:db00::,2604:db00:ffff:ffff:ffff:ffff:ffff:ffff,CA +2604:db80::,2604:db80:ffff:ffff:ffff:ffff:ffff:ffff,BB 2604:dc00::,2604:dc00:ffff:ffff:ffff:ffff:ffff:ffff,CA +2604:dc80::,2604:dc80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:dd00::,2604:dd00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:dd80::,2604:dd80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:de00::,2604:de00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:de80::,2604:de80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:df00::,2604:df00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:df80::,2604:df80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:e000::,2604:e000:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:e080::,2604:e080:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:e100::,2604:e100:ffff:ffff:ffff:ffff:ffff:ffff,CA +2604:e180::,2604:e180:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:e200::,2604:e200:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:e280::,2604:e280:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:e300::,2604:e300:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:e380::,2604:e380:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:e400::,2604:e400:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:e480::,2604:e480:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:e500::,2604:e500:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:e580::,2604:e580:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:e600::,2604:e600:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:e680::,2604:e680:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:e700::,2604:e700:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:e780::,2604:e780:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:e800::,2604:e800:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:e880::,2604:e880:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:e900::,2604:e900:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:e980::,2604:e980:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:ea00::,2604:ea00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:ea80::,2604:ea80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:eb00::,2604:eb00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:eb80::,2604:eb80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:ec00::,2604:ec00:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:ed00::,2604:ed00:ffff:ffff:ffff:ffff:ffff:ffff,US -2604:ee00::,2604:ee00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:ee00::,2604:ee00:fff:ffff:ffff:ffff:ffff:ffff,US 2604:ef00::,2604:ef00:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:f000::,2604:f000:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:f100::,2604:f100:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -4665,7 +6103,7 @@ 2604:fd00::,2604:fd00:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:fe00::,2604:fe00:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:ff00::,2604:ff00:ffff:ffff:ffff:ffff:ffff:ffff,US -2605::,2605:0:ffff:ffff:ffff:ffff:ffff:ffff,US +2605::,2605::ffff:ffff:ffff:ffff:ffff:ffff,US 2605:100::,2605:100:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:200::,2605:200:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:300::,2605:300:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -4676,7 +6114,7 @@ 2605:800::,2605:800:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:900::,2605:900:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:a00::,2605:a00:ffff:ffff:ffff:ffff:ffff:ffff,US -2605:b00::,2605:b00:ffff:ffff:ffff:ffff:ffff:ffff,US +2605:b00::,2605:b00:fff:ffff:ffff:ffff:ffff:ffff,US 2605:c00::,2605:c00:ffff:ffff:ffff:ffff:ffff:ffff,CA 2605:d00::,2605:d00:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:e00::,2605:e00:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -4698,7 +6136,7 @@ 2605:1e00::,2605:1e00:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:1f00::,2605:1f00:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:2000::,2605:2000:ffff:ffff:ffff:ffff:ffff:ffff,US -2605:2100::,2605:2100:ffff:ffff:ffff:ffff:ffff:ffff,CA +2605:2100::,2605:2100:fff:ffff:ffff:ffff:ffff:ffff,CA 2605:2200::,2605:2200:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:2300::,2605:2300:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:2400::,2605:2400:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -4724,7 +6162,7 @@ 2605:3800::,2605:3800:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:3900::,2605:3900:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:3a00::,2605:3a00:ffff:ffff:ffff:ffff:ffff:ffff,US -2605:3b00::,2605:3b00:ffff:ffff:ffff:ffff:ffff:ffff,US +2605:3b00::,2605:3b00:fff:ffff:ffff:ffff:ffff:ffff,US 2605:3c00::,2605:3c00:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:3d00::,2605:3d00:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:3e00::,2605:3e00:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -4765,7 +6203,7 @@ 2605:6100::,2605:6100:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:6200::,2605:6200:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:6300::,2605:6300:ffff:ffff:ffff:ffff:ffff:ffff,US -2605:6400::,2605:6400:ffff:ffff:ffff:ffff:ffff:ffff,CA +2605:6400::,2605:6400:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:6500::,2605:6500:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:6600::,2605:6600:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:6700::,2605:6700:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -4900,7 +6338,7 @@ 2605:e800::,2605:e800:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:e900::,2605:e900:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:ea00::,2605:ea00:ffff:ffff:ffff:ffff:ffff:ffff,US -2605:eb00::,2605:eb00:ffff:ffff:ffff:ffff:ffff:ffff,US +2605:eb00::,2605:eb01:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:ec00::,2605:ec00:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:ed00::,2605:ed00:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:ee00::,2605:ee00:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -4909,7 +6347,6 @@ 2605:f100::,2605:f100:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:f200::,2605:f200:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:f300::,2605:f300:ffff:ffff:ffff:ffff:ffff:ffff,US -2605:f400::,2605:f400:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:f500::,2605:f500:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:f600::,2605:f600:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:f700::,2605:f700:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -4921,7 +6358,7 @@ 2605:fd00::,2605:fd00:ffff:ffff:ffff:ffff:ffff:ffff,CA 2605:fe00::,2605:fe00:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:ff00::,2605:ff00:ffff:ffff:ffff:ffff:ffff:ffff,US -2606::,2606:0:ffff:ffff:ffff:ffff:ffff:ffff,CA +2606::,2606::ffff:ffff:ffff:ffff:ffff:ffff,CA 2606:100::,2606:100:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:200::,2606:200:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:300::,2606:300:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -4947,11 +6384,12 @@ 2606:1700::,2606:1700:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:1800::,2606:1800:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:1900::,2606:1900:ffff:ffff:ffff:ffff:ffff:ffff,US +2606:1a00::,2606:1a00:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:1b00::,2606:1b00:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:1c00::,2606:1c00:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:1d00::,2606:1d00:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:1e00::,2606:1e00:ffff:ffff:ffff:ffff:ffff:ffff,US -2606:1f00::,2606:1f00:ffff:ffff:ffff:ffff:ffff:ffff,CA +2606:1f00::,2606:1f00:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:2000::,2606:2000:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:2100::,2606:2100:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:2200::,2606:2200:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -4965,7 +6403,7 @@ 2606:2a00::,2606:2a00:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:2b00::,2606:2b00:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:2c00::,2606:2c00:ffff:ffff:ffff:ffff:ffff:ffff,US -2606:2d00::,2606:2d00:ffff:ffff:ffff:ffff:ffff:ffff,US +2606:2d00::,2606:2d00:fff:ffff:ffff:ffff:ffff:ffff,US 2606:2e00::,2606:2e00:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:2f00::,2606:2f00:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:3000::,2606:3000:ffff:ffff:ffff:ffff:ffff:ffff,CA @@ -5024,6 +6462,7 @@ 2606:6500::,2606:6500:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:6600::,2606:6600:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:6700::,2606:6700:ffff:ffff:ffff:ffff:ffff:ffff,US +2606:6800::,2606:6800:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:6900::,2606:6900:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:6a00::,2606:6a00:ffff:ffff:ffff:ffff:ffff:ffff,CA 2606:6b00::,2606:6b00:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -5056,12 +6495,14 @@ 2606:8600::,2606:8600:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:8700::,2606:8700:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:8800::,2606:8800:ffff:ffff:ffff:ffff:ffff:ffff,US +2606:8900::,2606:8900:ffff:ffff:ffff:ffff:ffff:ffff,CA 2606:8a00::,2606:8a00:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:8b00::,2606:8b00:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:8c00::,2606:8c00:ffff:ffff:ffff:ffff:ffff:ffff,CA 2606:8d00::,2606:8d00:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:8e00::,2606:8e00:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:8f00::,2606:8f00:ffff:ffff:ffff:ffff:ffff:ffff,US +2606:9000::,2606:9000:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:9100::,2606:9100:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:9200::,2606:9200:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:9300::,2606:9300:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -5099,7 +6540,7 @@ 2606:b300::,2606:b300:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:b400::,2606:b400:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:b500::,2606:b500:ffff:ffff:ffff:ffff:ffff:ffff,US -2606:b600::,2606:b600:ffff:ffff:ffff:ffff:ffff:ffff,US +2606:b600::,2606:b600:fff:ffff:ffff:ffff:ffff:ffff,US 2606:b700::,2606:b700:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:b800::,2606:b800:ffff:ffff:ffff:ffff:ffff:ffff,CA 2606:b900::,2606:b900:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -5138,7 +6579,7 @@ 2606:da00::,2606:da00:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:db00::,2606:db00:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:dc00::,2606:dc00:ffff:ffff:ffff:ffff:ffff:ffff,US -2606:dd00::,2606:dd00:ffff:ffff:ffff:ffff:ffff:ffff,US +2606:dd00::,2606:dd00:fff:ffff:ffff:ffff:ffff:ffff,US 2606:de00::,2606:de00:ffff:ffff:ffff:ffff:ffff:ffff,CA 2606:df00::,2606:df00:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:e000::,2606:e000:ffff:ffff:ffff:ffff:ffff:ffff,CA @@ -5173,7 +6614,7 @@ 2606:fd00::,2606:fd00:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:fe00::,2606:fe00:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:ff00::,2606:ff00:ffff:ffff:ffff:ffff:ffff:ffff,US -2607::,2607:0:ffff:ffff:ffff:ffff:ffff:ffff,CA +2607::,2607::ffff:ffff:ffff:ffff:ffff:ffff,CA 2607:100::,2607:100:ffff:ffff:ffff:ffff:ffff:ffff,CA 2607:200::,2607:200:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:300::,2607:300:ffff:ffff:ffff:ffff:ffff:ffff,BS @@ -5234,7 +6675,7 @@ 2607:3a00::,2607:3a00:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:3b00::,2607:3b00:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:3c00::,2607:3c00:ffff:ffff:ffff:ffff:ffff:ffff,US -2607:3d00::,2607:3d00:ffff:ffff:ffff:ffff:ffff:ffff,US +2607:3d00::,2607:3d0f:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:3e00::,2607:3e00:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:3f00::,2607:3f00:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:4000::,2607:4000:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -5300,6 +6741,7 @@ 2607:7c00::,2607:7c00:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:7d00::,2607:7d00:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:7e00::,2607:7e00:ffff:ffff:ffff:ffff:ffff:ffff,CA +2607:7f00::,2607:7f00:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:8000::,2607:8000:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:8100::,2607:8100:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:8200::,2607:8200:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -5307,7 +6749,6 @@ 2607:8400::,2607:8400:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:8500::,2607:8500:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:8600::,2607:8600:ffff:ffff:ffff:ffff:ffff:ffff,US -2607:8700::,2607:8700:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:8800::,2607:8800:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:8900::,2607:8900:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:8a00::,2607:8a00:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -5379,8 +6820,9 @@ 2607:cc00::,2607:cc00:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:cd00::,2607:cd00:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:ce00::,2607:ce00:ffff:ffff:ffff:ffff:ffff:ffff,US -2607:cf00::,2607:cf00:ffff:ffff:ffff:ffff:ffff:ffff,US +2607:cf00::,2607:cf03:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:d000::,2607:d000:ffff:ffff:ffff:ffff:ffff:ffff,US +2607:d100::,2607:d100:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:d200::,2607:d200:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:d300::,2607:d300:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:d400::,2607:d400:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -5455,7 +6897,7 @@ 2607:f168::,2607:f168:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f170::,2607:f170:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f178::,2607:f178:ffff:ffff:ffff:ffff:ffff:ffff,US -2607:f180::,2607:f180:ffff:ffff:ffff:ffff:ffff:ffff,US +2607:f180::,2607:f181:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f188::,2607:f188:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f190::,2607:f190:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f198::,2607:f198:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -5473,7 +6915,7 @@ 2607:f1f8::,2607:f1f8:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f200::,2607:f200:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f208::,2607:f208:ffff:ffff:ffff:ffff:ffff:ffff,US -2607:f210::,2607:f210:ffff:ffff:ffff:ffff:ffff:ffff,US +2607:f210::,2607:f212:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f218::,2607:f218:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f220::,2607:f220:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f228::,2607:f228:ffff:ffff:ffff:ffff:ffff:ffff,CA @@ -5538,7 +6980,6 @@ 2607:f430::,2607:f430:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f438::,2607:f438:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f440::,2607:f440:ffff:ffff:ffff:ffff:ffff:ffff,US -2607:f448::,2607:f448:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f450::,2607:f450:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f458::,2607:f458:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f460::,2607:f460:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -5577,14 +7018,12 @@ 2607:f568::,2607:f568:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f570::,2607:f570:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f578::,2607:f578:ffff:ffff:ffff:ffff:ffff:ffff,US -2607:f580::,2607:f580:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f588::,2607:f588:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f590::,2607:f590:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f598::,2607:f598:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f5a0::,2607:f5a0:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f5a8::,2607:f5a8:ffff:ffff:ffff:ffff:ffff:ffff,US -2607:f5b0::,2607:f5b0:ffff:ffff:ffff:ffff:ffff:ffff,US -2607:f5b8::,2607:f5b8:ffff:ffff:ffff:ffff:ffff:ffff,US +2607:f5b0::,2607:f5b8:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f5c0::,2607:f5c0:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f5c8::,2607:f5c8:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f5d0::,2607:f5d0:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -5612,7 +7051,7 @@ 2607:f680::,2607:f680:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f688::,2607:f688:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f690::,2607:f690:ffff:ffff:ffff:ffff:ffff:ffff,US -2607:f698::,2607:f698:ffff:ffff:ffff:ffff:ffff:ffff,CA +2607:f698::,2607:f699:ffff:ffff:ffff:ffff:ffff:ffff,CA 2607:f6a0::,2607:f6a0:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f6a8::,2607:f6a8:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f6b0::,2607:f6b0:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -5631,7 +7070,6 @@ 2607:f718::,2607:f718:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f720::,2607:f720:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f728::,2607:f728:ffff:ffff:ffff:ffff:ffff:ffff,US -2607:f730::,2607:f730:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f738::,2607:f738:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f740::,2607:f740:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f748::,2607:f748:ffff:ffff:ffff:ffff:ffff:ffff,CA @@ -5729,7 +7167,6 @@ 2607:fa68::,2607:fa68:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:fa70::,2607:fa70:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:fa78::,2607:fa78:ffff:ffff:ffff:ffff:ffff:ffff,US -2607:fa80::,2607:fa80:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:fa88::,2607:fa88:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:fa90::,2607:fa90:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:fa98::,2607:fa98:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -5738,7 +7175,7 @@ 2607:fab0::,2607:fab0:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:fab8::,2607:fab8:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:fac0::,2607:fac0:ffff:ffff:ffff:ffff:ffff:ffff,US -2607:fac8::,2607:fac8:ffff:ffff:ffff:ffff:ffff:ffff,US +2607:fac8::,2607:fac8:fff:ffff:ffff:ffff:ffff:ffff,US 2607:fad0::,2607:fad0:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:fad8::,2607:fad8:ffff:ffff:ffff:ffff:ffff:ffff,CA 2607:fae0::,2607:fae0:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -5780,7 +7217,7 @@ 2607:fc00::,2607:fc00:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:fc08::,2607:fc08:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:fc10::,2607:fc10:ffff:ffff:ffff:ffff:ffff:ffff,CA -2607:fc18::,2607:fc18:ffff:ffff:ffff:ffff:ffff:ffff,US +2607:fc18::,2607:fc18:fff:ffff:ffff:ffff:ffff:ffff,US 2607:fc20::,2607:fc20:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:fc28::,2607:fc28:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:fc30::,2607:fc30:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -5812,7 +7249,6 @@ 2607:fd08::,2607:fd08:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:fd10::,2607:fd10:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:fd18::,2607:fd18:ffff:ffff:ffff:ffff:ffff:ffff,US -2607:fd20::,2607:fd20:ffff:ffff:ffff:ffff:ffff:ffff,CA 2607:fd28::,2607:fd28:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:fd30::,2607:fd30:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:fd38::,2607:fd38:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -5909,11 +7345,19 @@ 2609:a000::,2609:a3ff:ffff:ffff:ffff:ffff:ffff:ffff,US 2609:c000::,2609:c3ff:ffff:ffff:ffff:ffff:ffff:ffff,US 2609:e000::,2609:e3ff:ffff:ffff:ffff:ffff:ffff:ffff,US +260c::,260c:3ff:ffff:ffff:ffff:ffff:ffff:ffff,US +260c:2000::,260c:23ff:ffff:ffff:ffff:ffff:ffff:ffff,US +260c:4000::,260c:43ff:ffff:ffff:ffff:ffff:ffff:ffff,US +260c:6000::,260c:63ff:ffff:ffff:ffff:ffff:ffff:ffff,US +260c:8000::,260c:83ff:ffff:ffff:ffff:ffff:ffff:ffff,US +260c:a000::,260c:a3ff:ffff:ffff:ffff:ffff:ffff:ffff,US +260c:c000::,260c:c3ff:ffff:ffff:ffff:ffff:ffff:ffff,US 260c:d000::,260c:d3ff:ffff:ffff:ffff:ffff:ffff:ffff,US +260c:e000::,260c:e3ff:ffff:ffff:ffff:ffff:ffff:ffff,US 260c:f000::,260c:f3ff:ffff:ffff:ffff:ffff:ffff:ffff,US 260f:d000::,260f:d3ff:ffff:ffff:ffff:ffff:ffff:ffff,US 260f:f000::,260f:f3ff:ffff:ffff:ffff:ffff:ffff:ffff,US -2610::,2610:0:ffff:ffff:ffff:ffff:ffff:ffff,CA +2610::,2610::ffff:ffff:ffff:ffff:ffff:ffff,CA 2610:8::,2610:8:ffff:ffff:ffff:ffff:ffff:ffff,US 2610:10::,2610:10:ffff:ffff:ffff:ffff:ffff:ffff,US 2610:18::,2610:18:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -5929,7 +7373,6 @@ 2610:68::,2610:68:ffff:ffff:ffff:ffff:ffff:ffff,US 2610:78::,2610:78:ffff:ffff:ffff:ffff:ffff:ffff,CA 2610:80::,2610:88:ffff:ffff:ffff:ffff:ffff:ffff,US -2610:90::,2610:90:ffff:ffff:ffff:ffff:ffff:ffff,US 2610:98::,2610:98:ffff:ffff:ffff:ffff:ffff:ffff,CA 2610:a0::,2610:a8:ffff:ffff:ffff:ffff:ffff:ffff,US 2610:b0::,2610:b0:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -5972,788 +7415,875 @@ 2610:1f0::,2610:1f0:ffff:ffff:ffff:ffff:ffff:ffff,US 2610:1f8::,2610:1f8:ffff:ffff:ffff:ffff:ffff:ffff,US 2620::,2620::ffff:ffff:ffff:ffff:ffff,US -2620:0:10::,2620:0:10:ffff:ffff:ffff:ffff:ffff,US -2620:0:20::,2620:0:20:ffff:ffff:ffff:ffff:ffff,US -2620:0:30::,2620:0:37:ffff:ffff:ffff:ffff:ffff,US -2620:0:40::,2620:0:40:ffff:ffff:ffff:ffff:ffff,US -2620:0:60::,2620:0:60:ffff:ffff:ffff:ffff:ffff,US -2620:0:70::,2620:0:70:ffff:ffff:ffff:ffff:ffff,US -2620:0:80::,2620:0:80:ffff:ffff:ffff:ffff:ffff,US -2620:0:90::,2620:0:90:ffff:ffff:ffff:ffff:ffff,US -2620:0:a0::,2620:0:a0:ffff:ffff:ffff:ffff:ffff,US -2620:0:b0::,2620:0:b0:ffff:ffff:ffff:ffff:ffff,US -2620:0:c0::,2620:0:c0:ffff:ffff:ffff:ffff:ffff,US -2620:0:f0::,2620:0:f0:ffff:ffff:ffff:ffff:ffff,CA -2620:0:100::,2620:0:100:ffff:ffff:ffff:ffff:ffff,US -2620:0:110::,2620:0:110:ffff:ffff:ffff:ffff:ffff,US -2620:0:120::,2620:0:120:ffff:ffff:ffff:ffff:ffff,US -2620:0:140::,2620:0:140:ffff:ffff:ffff:ffff:ffff,US -2620:0:150::,2620:0:150:ffff:ffff:ffff:ffff:ffff,US -2620:0:160::,2620:0:160:ffff:ffff:ffff:ffff:ffff,CA -2620:0:170::,2620:0:170:ffff:ffff:ffff:ffff:ffff,US -2620:0:180::,2620:0:180:ffff:ffff:ffff:ffff:ffff,US -2620:0:190::,2620:0:190:ffff:ffff:ffff:ffff:ffff,US -2620:0:1a0::,2620:0:1a0:ffff:ffff:ffff:ffff:ffff,US -2620:0:1b0::,2620:0:1b0:ffff:ffff:ffff:ffff:ffff,US -2620:0:1c0::,2620:0:1c0:ffff:ffff:ffff:ffff:ffff,US -2620:0:1d0::,2620:0:1d0:ffff:ffff:ffff:ffff:ffff,US -2620:0:1f0::,2620:0:1f0:ffff:ffff:ffff:ffff:ffff,US -2620:0:200::,2620:0:200:ffff:ffff:ffff:ffff:ffff,US -2620:0:210::,2620:0:210:ffff:ffff:ffff:ffff:ffff,US -2620:0:220::,2620:0:220:ffff:ffff:ffff:ffff:ffff,US -2620:0:230::,2620:0:230:ffff:ffff:ffff:ffff:ffff,CA -2620:0:240::,2620:0:240:ffff:ffff:ffff:ffff:ffff,US -2620:0:250::,2620:0:250:ffff:ffff:ffff:ffff:ffff,US -2620:0:260::,2620:0:260:ffff:ffff:ffff:ffff:ffff,US -2620:0:270::,2620:0:270:ffff:ffff:ffff:ffff:ffff,US -2620:0:280::,2620:0:280:ffff:ffff:ffff:ffff:ffff,US -2620:0:290::,2620:0:290:ffff:ffff:ffff:ffff:ffff,US -2620:0:2b0::,2620:0:2b0:ffff:ffff:ffff:ffff:ffff,US -2620:0:2c0::,2620:0:2c0:ffff:ffff:ffff:ffff:ffff,US -2620:0:2d0::,2620:0:2d0:ffff:ffff:ffff:ffff:ffff,US -2620:0:2f0::,2620:0:2f0:ffff:ffff:ffff:ffff:ffff,US -2620:0:300::,2620:0:300:ffff:ffff:ffff:ffff:ffff,US -2620:0:310::,2620:0:310:ffff:ffff:ffff:ffff:ffff,US -2620:0:320::,2620:0:320:ffff:ffff:ffff:ffff:ffff,US -2620:0:340::,2620:0:340:ffff:ffff:ffff:ffff:ffff,US -2620:0:350::,2620:0:353:ffff:ffff:ffff:ffff:ffff,US -2620:0:360::,2620:0:361:ffff:ffff:ffff:ffff:ffff,US -2620:0:370::,2620:0:370:ffff:ffff:ffff:ffff:ffff,US -2620:0:380::,2620:0:380:ffff:ffff:ffff:ffff:ffff,US -2620:0:390::,2620:0:390:ffff:ffff:ffff:ffff:ffff,US -2620:0:3a0::,2620:0:3a0:ffff:ffff:ffff:ffff:ffff,US -2620:0:3b0::,2620:0:3b0:ffff:ffff:ffff:ffff:ffff,US -2620:0:3c0::,2620:0:3c0:ffff:ffff:ffff:ffff:ffff,US -2620:0:3d0::,2620:0:3d0:ffff:ffff:ffff:ffff:ffff,US -2620:0:3e0::,2620:0:3e0:ffff:ffff:ffff:ffff:ffff,US -2620:0:3f0::,2620:0:3f0:ffff:ffff:ffff:ffff:ffff,US -2620:0:400::,2620:0:57f:ffff:ffff:ffff:ffff:ffff,US -2620:0:600::,2620:0:600:ffff:ffff:ffff:ffff:ffff,US -2620:0:610::,2620:0:610:ffff:ffff:ffff:ffff:ffff,US -2620:0:630::,2620:0:630:ffff:ffff:ffff:ffff:ffff,US -2620:0:640::,2620:0:640:ffff:ffff:ffff:ffff:ffff,US -2620:0:650::,2620:0:650:ffff:ffff:ffff:ffff:ffff,US -2620:0:660::,2620:0:660:ffff:ffff:ffff:ffff:ffff,US -2620:0:670::,2620:0:671:ffff:ffff:ffff:ffff:ffff,US -2620:0:680::,2620:0:680:ffff:ffff:ffff:ffff:ffff,US -2620:0:690::,2620:0:691:ffff:ffff:ffff:ffff:ffff,US -2620:0:6a0::,2620:0:6a0:ffff:ffff:ffff:ffff:ffff,US -2620:0:6b0::,2620:0:6b0:ffff:ffff:ffff:ffff:ffff,US -2620:0:6c0::,2620:0:6c7:ffff:ffff:ffff:ffff:ffff,US -2620:0:6d0::,2620:0:6d0:ffff:ffff:ffff:ffff:ffff,US -2620:0:6e0::,2620:0:6e0:ffff:ffff:ffff:ffff:ffff,US -2620:0:6f0::,2620:0:6f0:ffff:ffff:ffff:ffff:ffff,US -2620:0:700::,2620:0:77f:ffff:ffff:ffff:ffff:ffff,US -2620:0:800::,2620:0:802:ffff:ffff:ffff:ffff:ffff,US -2620:0:810::,2620:0:810:ffff:ffff:ffff:ffff:ffff,CA -2620:0:820::,2620:0:820:ffff:ffff:ffff:ffff:ffff,US -2620:0:840::,2620:0:840:ffff:ffff:ffff:ffff:ffff,US -2620:0:850::,2620:0:850:ffff:ffff:ffff:ffff:ffff,US -2620:0:860::,2620:0:863:ffff:ffff:ffff:ffff:ffff,US -2620:0:870::,2620:0:877:ffff:ffff:ffff:ffff:ffff,US -2620:0:880::,2620:0:880:ffff:ffff:ffff:ffff:ffff,US -2620:0:890::,2620:0:890:ffff:ffff:ffff:ffff:ffff,US -2620:0:8a0::,2620:0:8a0:ffff:ffff:ffff:ffff:ffff,US -2620:0:8d0::,2620:0:8d0:ffff:ffff:ffff:ffff:ffff,US -2620:0:8e0::,2620:0:8e0:ffff:ffff:ffff:ffff:ffff,US -2620:0:8f0::,2620:0:8f0:ffff:ffff:ffff:ffff:ffff,US -2620:0:900::,2620:0:900:ffff:ffff:ffff:ffff:ffff,US -2620:0:910::,2620:0:910:ffff:ffff:ffff:ffff:ffff,US -2620:0:920::,2620:0:920:ffff:ffff:ffff:ffff:ffff,US -2620:0:930::,2620:0:930:ffff:ffff:ffff:ffff:ffff,US -2620:0:940::,2620:0:940:ffff:ffff:ffff:ffff:ffff,US -2620:0:950::,2620:0:950:ffff:ffff:ffff:ffff:ffff,US -2620:0:960::,2620:0:960:ffff:ffff:ffff:ffff:ffff,US -2620:0:970::,2620:0:970:ffff:ffff:ffff:ffff:ffff,US -2620:0:980::,2620:0:980:ffff:ffff:ffff:ffff:ffff,US -2620:0:990::,2620:0:990:ffff:ffff:ffff:ffff:ffff,US -2620:0:9a0::,2620:0:9a0:ffff:ffff:ffff:ffff:ffff,US -2620:0:9b0::,2620:0:9b0:ffff:ffff:ffff:ffff:ffff,US -2620:0:9c0::,2620:0:9c0:ffff:ffff:ffff:ffff:ffff,US -2620:0:9e0::,2620:0:9e0:ffff:ffff:ffff:ffff:ffff,US -2620:0:9f0::,2620:0:9f0:ffff:ffff:ffff:ffff:ffff,US -2620:0:a00::,2620:0:a1f:ffff:ffff:ffff:ffff:ffff,US -2620:0:b00::,2620:0:b00:ffff:ffff:ffff:ffff:ffff,US -2620:0:b10::,2620:0:b13:ffff:ffff:ffff:ffff:ffff,US -2620:0:b20::,2620:0:b20:ffff:ffff:ffff:ffff:ffff,US -2620:0:b30::,2620:0:b30:ffff:ffff:ffff:ffff:ffff,US -2620:0:b40::,2620:0:b40:ffff:ffff:ffff:ffff:ffff,US -2620:0:b50::,2620:0:b50:ffff:ffff:ffff:ffff:ffff,US -2620:0:b60::,2620:0:b61:ffff:ffff:ffff:ffff:ffff,US -2620:0:b80::,2620:0:b80:ffff:ffff:ffff:ffff:ffff,US -2620:0:b90::,2620:0:b90:ffff:ffff:ffff:ffff:ffff,US -2620:0:ba0::,2620:0:ba0:ffff:ffff:ffff:ffff:ffff,US -2620:0:bb0::,2620:0:bb0:ffff:ffff:ffff:ffff:ffff,US -2620:0:bc0::,2620:0:bc0:ffff:ffff:ffff:ffff:ffff,US -2620:0:bd0::,2620:0:bd0:ffff:ffff:ffff:ffff:ffff,CA -2620:0:be0::,2620:0:be0:ffff:ffff:ffff:ffff:ffff,US -2620:0:bf0::,2620:0:bf0:ffff:ffff:ffff:ffff:ffff,US -2620:0:c10::,2620:0:c10:ffff:ffff:ffff:ffff:ffff,US -2620:0:c20::,2620:0:c20:ffff:ffff:ffff:ffff:ffff,US -2620:0:c30::,2620:0:c30:ffff:ffff:ffff:ffff:ffff,US -2620:0:c40::,2620:0:c40:ffff:ffff:ffff:ffff:ffff,US -2620:0:c60::,2620:0:c60:ffff:ffff:ffff:ffff:ffff,US -2620:0:c70::,2620:0:c70:ffff:ffff:ffff:ffff:ffff,US -2620:0:c80::,2620:0:c80:ffff:ffff:ffff:ffff:ffff,US -2620:0:c90::,2620:0:c90:ffff:ffff:ffff:ffff:ffff,US -2620:0:ca0::,2620:0:ca0:ffff:ffff:ffff:ffff:ffff,US -2620:0:cb0::,2620:0:cb0:ffff:ffff:ffff:ffff:ffff,US -2620:0:cc0::,2620:0:ccf:ffff:ffff:ffff:ffff:ffff,US -2620:0:ce0::,2620:0:ce0:ffff:ffff:ffff:ffff:ffff,US -2620:0:cf0::,2620:0:cf0:ffff:ffff:ffff:ffff:ffff,US -2620:0:d00::,2620:0:d00:ffff:ffff:ffff:ffff:ffff,US -2620:0:d20::,2620:0:d20:ffff:ffff:ffff:ffff:ffff,US -2620:0:d30::,2620:0:d30:ffff:ffff:ffff:ffff:ffff,US -2620:0:d50::,2620:0:d50:ffff:ffff:ffff:ffff:ffff,US -2620:0:d60::,2620:0:d63:ffff:ffff:ffff:ffff:ffff,US -2620:0:d70::,2620:0:d77:ffff:ffff:ffff:ffff:ffff,US -2620:0:d80::,2620:0:d80:ffff:ffff:ffff:ffff:ffff,US -2620:0:d90::,2620:0:d90:ffff:ffff:ffff:ffff:ffff,US -2620:0:dc0::,2620:0:dc0:ffff:ffff:ffff:ffff:ffff,US -2620:0:dd0::,2620:0:dd0:ffff:ffff:ffff:ffff:ffff,US -2620:0:de0::,2620:0:de0:ffff:ffff:ffff:ffff:ffff,US -2620:0:df0::,2620:0:df0:ffff:ffff:ffff:ffff:ffff,US -2620:0:e00::,2620:0:e00:ffff:ffff:ffff:ffff:ffff,US -2620:0:e10::,2620:0:e10:ffff:ffff:ffff:ffff:ffff,US -2620:0:e20::,2620:0:e23:ffff:ffff:ffff:ffff:ffff,US -2620:0:e30::,2620:0:e30:ffff:ffff:ffff:ffff:ffff,US -2620:0:e40::,2620:0:e40:ffff:ffff:ffff:ffff:ffff,US -2620:0:e50::,2620:0:e50:ffff:ffff:ffff:ffff:ffff,US -2620:0:e60::,2620:0:e60:ffff:ffff:ffff:ffff:ffff,US -2620:0:e80::,2620:0:e80:ffff:ffff:ffff:ffff:ffff,US -2620:0:e90::,2620:0:e90:ffff:ffff:ffff:ffff:ffff,US -2620:0:ea0::,2620:0:eb0:ffff:ffff:ffff:ffff:ffff,US -2620:0:ed0::,2620:0:ed0:ffff:ffff:ffff:ffff:ffff,US -2620:0:ee0::,2620:0:ee0:ffff:ffff:ffff:ffff:ffff,US -2620:0:ef0::,2620:0:ef0:ffff:ffff:ffff:ffff:ffff,US -2620:0:f00::,2620:0:f7f:ffff:ffff:ffff:ffff:ffff,US -2620:0:1000::,2620:0:10ff:ffff:ffff:ffff:ffff:ffff,US -2620:0:1400::,2620:0:143f:ffff:ffff:ffff:ffff:ffff,US -2620:0:1500::,2620:0:157f:ffff:ffff:ffff:ffff:ffff,US -2620:0:1600::,2620:0:167f:ffff:ffff:ffff:ffff:ffff,US -2620:0:1700::,2620:0:170f:ffff:ffff:ffff:ffff:ffff,US -2620:0:1800::,2620:0:181f:ffff:ffff:ffff:ffff:ffff,US -2620:0:1a00::,2620:0:1a00:ffff:ffff:ffff:ffff:ffff,US -2620:0:1a10::,2620:0:1a10:ffff:ffff:ffff:ffff:ffff,US -2620:0:1a20::,2620:0:1a20:ffff:ffff:ffff:ffff:ffff,US -2620:0:1a30::,2620:0:1a30:ffff:ffff:ffff:ffff:ffff,US -2620:0:1a40::,2620:0:1a40:ffff:ffff:ffff:ffff:ffff,US -2620:0:1a50::,2620:0:1a50:ffff:ffff:ffff:ffff:ffff,US -2620:0:1a60::,2620:0:1a60:ffff:ffff:ffff:ffff:ffff,US -2620:0:1a70::,2620:0:1a70:ffff:ffff:ffff:ffff:ffff,US -2620:0:1a80::,2620:0:1a80:ffff:ffff:ffff:ffff:ffff,US -2620:0:1aa0::,2620:0:1aa0:ffff:ffff:ffff:ffff:ffff,US -2620:0:1ab0::,2620:0:1ab0:ffff:ffff:ffff:ffff:ffff,US -2620:0:1ac0::,2620:0:1ac0:ffff:ffff:ffff:ffff:ffff,US -2620:0:1ad0::,2620:0:1ad7:ffff:ffff:ffff:ffff:ffff,US -2620:0:1ae0::,2620:0:1ae0:ffff:ffff:ffff:ffff:ffff,US -2620:0:1af0::,2620:0:1af0:ffff:ffff:ffff:ffff:ffff,CA -2620:0:1b00::,2620:0:1b07:ffff:ffff:ffff:ffff:ffff,US -2620:0:1c00::,2620:0:1cff:ffff:ffff:ffff:ffff:ffff,US -2620:0:2000::,2620:0:203f:ffff:ffff:ffff:ffff:ffff,US -2620:0:2100::,2620:0:213f:ffff:ffff:ffff:ffff:ffff,US -2620:0:2210::,2620:0:2210:ffff:ffff:ffff:ffff:ffff,US -2620:0:2220::,2620:0:2220:ffff:ffff:ffff:ffff:ffff,CA -2620:0:2240::,2620:0:2240:ffff:ffff:ffff:ffff:ffff,US -2620:0:2250::,2620:0:2250:ffff:ffff:ffff:ffff:ffff,US -2620:0:2260::,2620:0:2260:ffff:ffff:ffff:ffff:ffff,US -2620:0:2270::,2620:0:2270:ffff:ffff:ffff:ffff:ffff,US -2620:0:2280::,2620:0:2280:ffff:ffff:ffff:ffff:ffff,US -2620:0:2290::,2620:0:2290:ffff:ffff:ffff:ffff:ffff,US -2620:0:22a0::,2620:0:22a0:ffff:ffff:ffff:ffff:ffff,US -2620:0:22b0::,2620:0:22b0:ffff:ffff:ffff:ffff:ffff,US -2620:0:22c0::,2620:0:22c0:ffff:ffff:ffff:ffff:ffff,US -2620:0:22d0::,2620:0:22d0:ffff:ffff:ffff:ffff:ffff,US -2620:0:22e0::,2620:0:22e0:ffff:ffff:ffff:ffff:ffff,CA -2620:0:22f0::,2620:0:22f0:ffff:ffff:ffff:ffff:ffff,US -2620:0:2300::,2620:0:230f:ffff:ffff:ffff:ffff:ffff,US -2620:0:2400::,2620:0:24ff:ffff:ffff:ffff:ffff:ffff,US -2620:0:2800::,2620:0:2800:ffff:ffff:ffff:ffff:ffff,US -2620:0:2810::,2620:0:2810:ffff:ffff:ffff:ffff:ffff,US -2620:0:2820::,2620:0:2820:ffff:ffff:ffff:ffff:ffff,US -2620:0:2830::,2620:0:2830:ffff:ffff:ffff:ffff:ffff,US -2620:0:2840::,2620:0:2840:ffff:ffff:ffff:ffff:ffff,US -2620:0:2850::,2620:0:2850:ffff:ffff:ffff:ffff:ffff,US -2620:0:2860::,2620:0:2860:ffff:ffff:ffff:ffff:ffff,US -2620:0:2870::,2620:0:2870:ffff:ffff:ffff:ffff:ffff,US -2620:0:2880::,2620:0:2880:ffff:ffff:ffff:ffff:ffff,US -2620:0:28a0::,2620:0:28a0:ffff:ffff:ffff:ffff:ffff,US -2620:0:28b0::,2620:0:28b0:ffff:ffff:ffff:ffff:ffff,US -2620:0:28c0::,2620:0:28c0:ffff:ffff:ffff:ffff:ffff,US -2620:0:28d0::,2620:0:28d0:ffff:ffff:ffff:ffff:ffff,US -2620:0:28f0::,2620:0:28f0:ffff:ffff:ffff:ffff:ffff,US -2620:0:2900::,2620:0:290f:ffff:ffff:ffff:ffff:ffff,US -2620:0:2a00::,2620:0:2a1f:ffff:ffff:ffff:ffff:ffff,US -2620:0:2b00::,2620:0:2b00:ffff:ffff:ffff:ffff:ffff,US -2620:0:2b10::,2620:0:2b10:ffff:ffff:ffff:ffff:ffff,US -2620:0:2b20::,2620:0:2b20:ffff:ffff:ffff:ffff:ffff,US -2620:0:2b30::,2620:0:2b30:ffff:ffff:ffff:ffff:ffff,US -2620:0:2b40::,2620:0:2b40:ffff:ffff:ffff:ffff:ffff,US -2620:0:2b50::,2620:0:2b50:ffff:ffff:ffff:ffff:ffff,US -2620:0:2b60::,2620:0:2b60:ffff:ffff:ffff:ffff:ffff,US -2620:0:2b70::,2620:0:2b70:ffff:ffff:ffff:ffff:ffff,US -2620:0:2b80::,2620:0:2b8f:ffff:ffff:ffff:ffff:ffff,US -2620:0:2bc0::,2620:0:2bc3:ffff:ffff:ffff:ffff:ffff,US -2620:0:2bd0::,2620:0:2bd0:ffff:ffff:ffff:ffff:ffff,US -2620:0:2be0::,2620:0:2be0:ffff:ffff:ffff:ffff:ffff,US -2620:0:2bf0::,2620:0:2bf0:ffff:ffff:ffff:ffff:ffff,US -2620:0:2d00::,2620:0:2d7f:ffff:ffff:ffff:ffff:ffff,US -2620:0:2e00::,2620:0:2e00:ffff:ffff:ffff:ffff:ffff,US -2620:0:2e10::,2620:0:2e10:ffff:ffff:ffff:ffff:ffff,US -2620:0:2e30::,2620:0:2e30:ffff:ffff:ffff:ffff:ffff,US -2620:0:2e40::,2620:0:2e40:ffff:ffff:ffff:ffff:ffff,US -2620:0:2e50::,2620:0:2e50:ffff:ffff:ffff:ffff:ffff,US -2620:0:2e60::,2620:0:2e60:ffff:ffff:ffff:ffff:ffff,US -2620:0:2e70::,2620:0:2e80:ffff:ffff:ffff:ffff:ffff,US -2620:0:2ea0::,2620:0:2ea0:ffff:ffff:ffff:ffff:ffff,US -2620:0:2eb0::,2620:0:2eb0:ffff:ffff:ffff:ffff:ffff,US -2620:0:2ed0::,2620:0:2ed0:ffff:ffff:ffff:ffff:ffff,US -2620:0:2ee0::,2620:0:2ee0:ffff:ffff:ffff:ffff:ffff,US -2620:0:2f00::,2620:0:2f7f:ffff:ffff:ffff:ffff:ffff,US -2620:0:3000::,2620:0:31ff:ffff:ffff:ffff:ffff:ffff,US -2620:0:5000::,2620:0:5000:ffff:ffff:ffff:ffff:ffff,US -2620:0:5010::,2620:0:5010:ffff:ffff:ffff:ffff:ffff,US -2620:0:5030::,2620:0:5030:ffff:ffff:ffff:ffff:ffff,US -2620:0:5040::,2620:0:5040:ffff:ffff:ffff:ffff:ffff,US -2620:0:5050::,2620:0:5050:ffff:ffff:ffff:ffff:ffff,US -2620:0:5060::,2620:0:5060:ffff:ffff:ffff:ffff:ffff,CA -2620:0:5070::,2620:0:5070:ffff:ffff:ffff:ffff:ffff,US -2620:0:5080::,2620:0:5080:ffff:ffff:ffff:ffff:ffff,US -2620:0:5090::,2620:0:5090:ffff:ffff:ffff:ffff:ffff,US -2620:0:50a0::,2620:0:50a0:ffff:ffff:ffff:ffff:ffff,US -2620:0:50b0::,2620:0:50b0:ffff:ffff:ffff:ffff:ffff,US -2620:0:50c0::,2620:0:50c0:ffff:ffff:ffff:ffff:ffff,US -2620:0:50d0::,2620:0:50d1:ffff:ffff:ffff:ffff:ffff,US -2620:0:50e0::,2620:0:50e0:ffff:ffff:ffff:ffff:ffff,US -2620:0:50f0::,2620:0:50f0:ffff:ffff:ffff:ffff:ffff,US -2620:0:5100::,2620:0:510f:ffff:ffff:ffff:ffff:ffff,US -2620:0:5200::,2620:0:5200:ffff:ffff:ffff:ffff:ffff,US -2620:0:5300::,2620:0:530f:ffff:ffff:ffff:ffff:ffff,US -2620:0:aa00::,2620:0:aa00:ffff:ffff:ffff:ffff:ffff,US -2620:1::,2620:1:0:ffff:ffff:ffff:ffff:ffff,US +2620:0:10::,2620::10:ffff:ffff:ffff:ffff:ffff,US +2620:0:20::,2620::20:ffff:ffff:ffff:ffff:ffff,US +2620:0:30::,2620::37:ffff:ffff:ffff:ffff:ffff,US +2620:0:40::,2620::40:ffff:ffff:ffff:ffff:ffff,US +2620:0:60::,2620::60:ffff:ffff:ffff:ffff:ffff,US +2620:0:70::,2620::70:ffff:ffff:ffff:ffff:ffff,US +2620:0:80::,2620::80:ffff:ffff:ffff:ffff:ffff,US +2620:0:90::,2620::90:ffff:ffff:ffff:ffff:ffff,US +2620:0:a0::,2620::a0:ffff:ffff:ffff:ffff:ffff,US +2620:0:b0::,2620::b0:ffff:ffff:ffff:ffff:ffff,US +2620:0:c0::,2620::c0:ffff:ffff:ffff:ffff:ffff,US +2620:0:f0::,2620::f0:ffff:ffff:ffff:ffff:ffff,CA +2620:0:100::,2620::100:ffff:ffff:ffff:ffff:ffff,US +2620:0:110::,2620::110:ffff:ffff:ffff:ffff:ffff,US +2620:0:120::,2620::120:ffff:ffff:ffff:ffff:ffff,US +2620:0:140::,2620::140:ffff:ffff:ffff:ffff:ffff,US +2620:0:150::,2620::150:ffff:ffff:ffff:ffff:ffff,US +2620:0:160::,2620::160:ffff:ffff:ffff:ffff:ffff,CA +2620:0:170::,2620::170:ffff:ffff:ffff:ffff:ffff,US +2620:0:180::,2620::180:ffff:ffff:ffff:ffff:ffff,US +2620:0:190::,2620::190:ffff:ffff:ffff:ffff:ffff,US +2620:0:1a0::,2620::1a0:ffff:ffff:ffff:ffff:ffff,US +2620:0:1b0::,2620::1b0:ffff:ffff:ffff:ffff:ffff,US +2620:0:1c0::,2620::1c0:ffff:ffff:ffff:ffff:ffff,US +2620:0:1d0::,2620::1d0:ffff:ffff:ffff:ffff:ffff,US +2620:0:1f0::,2620::1f0:ffff:ffff:ffff:ffff:ffff,US +2620:0:200::,2620::200:ffff:ffff:ffff:ffff:ffff,US +2620:0:210::,2620::210:ffff:ffff:ffff:ffff:ffff,US +2620:0:220::,2620::220:ffff:ffff:ffff:ffff:ffff,US +2620:0:230::,2620::230:ffff:ffff:ffff:ffff:ffff,CA +2620:0:240::,2620::240:ffff:ffff:ffff:ffff:ffff,US +2620:0:250::,2620::250:ffff:ffff:ffff:ffff:ffff,US +2620:0:260::,2620::260:ffff:ffff:ffff:ffff:ffff,US +2620:0:270::,2620::270:ffff:ffff:ffff:ffff:ffff,US +2620:0:280::,2620::280:ffff:ffff:ffff:ffff:ffff,US +2620:0:290::,2620::290:ffff:ffff:ffff:ffff:ffff,US +2620:0:2b0::,2620::2b0:ffff:ffff:ffff:ffff:ffff,US +2620:0:2c0::,2620::2c0:ffff:ffff:ffff:ffff:ffff,US +2620:0:2d0::,2620::2d0:ffff:ffff:ffff:ffff:ffff,US +2620:0:2f0::,2620::2f0:ffff:ffff:ffff:ffff:ffff,US +2620:0:300::,2620::300:ffff:ffff:ffff:ffff:ffff,US +2620:0:320::,2620::320:ffff:ffff:ffff:ffff:ffff,US +2620:0:350::,2620::353:ffff:ffff:ffff:ffff:ffff,US +2620:0:360::,2620::361:ffff:ffff:ffff:ffff:ffff,US +2620:0:380::,2620::380:ffff:ffff:ffff:ffff:ffff,US +2620:0:390::,2620::390:ffff:ffff:ffff:ffff:ffff,US +2620:0:3a0::,2620::3a0:ffff:ffff:ffff:ffff:ffff,US +2620:0:3b0::,2620::3b0:ffff:ffff:ffff:ffff:ffff,US +2620:0:3c0::,2620::3c0:ffff:ffff:ffff:ffff:ffff,US +2620:0:3d0::,2620::3d0:ffff:ffff:ffff:ffff:ffff,US +2620:0:3e0::,2620::3e0:ffff:ffff:ffff:ffff:ffff,US +2620:0:3f0::,2620::3f0:ffff:ffff:ffff:ffff:ffff,US +2620:0:400::,2620::57f:ffff:ffff:ffff:ffff:ffff,US +2620:0:600::,2620::600:ffff:ffff:ffff:ffff:ffff,US +2620:0:610::,2620::610:ffff:ffff:ffff:ffff:ffff,US +2620:0:630::,2620::630:ffff:ffff:ffff:ffff:ffff,US +2620:0:640::,2620::640:ffff:ffff:ffff:ffff:ffff,US +2620:0:650::,2620::650:ffff:ffff:ffff:ffff:ffff,US +2620:0:660::,2620::660:ffff:ffff:ffff:ffff:ffff,US +2620:0:670::,2620::671:ffff:ffff:ffff:ffff:ffff,US +2620:0:680::,2620::680:ffff:ffff:ffff:ffff:ffff,US +2620:0:690::,2620::691:ffff:ffff:ffff:ffff:ffff,US +2620:0:6a0::,2620::6a0:ffff:ffff:ffff:ffff:ffff,US +2620:0:6b0::,2620::6b0:ffff:ffff:ffff:ffff:ffff,US +2620:0:6c0::,2620::6c7:ffff:ffff:ffff:ffff:ffff,US +2620:0:6d0::,2620::6d0:ffff:ffff:ffff:ffff:ffff,US +2620:0:6e0::,2620::6e0:ffff:ffff:ffff:ffff:ffff,US +2620:0:6f0::,2620::6f0:ffff:ffff:ffff:ffff:ffff,US +2620:0:700::,2620::77f:ffff:ffff:ffff:ffff:ffff,US +2620:0:800::,2620::802:ffff:ffff:ffff:ffff:ffff,US +2620:0:810::,2620::810:ffff:ffff:ffff:ffff:ffff,CA +2620:0:820::,2620::820:ffff:ffff:ffff:ffff:ffff,US +2620:0:840::,2620::840:ffff:ffff:ffff:ffff:ffff,US +2620:0:850::,2620::850:ffff:ffff:ffff:ffff:ffff,US +2620:0:860::,2620::863:ffff:ffff:ffff:ffff:ffff,US +2620:0:870::,2620::877:ffff:ffff:ffff:ffff:ffff,US +2620:0:880::,2620::880:ffff:ffff:ffff:ffff:ffff,US +2620:0:890::,2620::890:ffff:ffff:ffff:ffff:ffff,US +2620:0:8a0::,2620::8a0:ffff:ffff:ffff:ffff:ffff,US +2620:0:8d0::,2620::8d0:ffff:ffff:ffff:ffff:ffff,US +2620:0:8e0::,2620::8e0:ffff:ffff:ffff:ffff:ffff,US +2620:0:8f0::,2620::8f0:ffff:ffff:ffff:ffff:ffff,US +2620:0:900::,2620::900:ffff:ffff:ffff:ffff:ffff,US +2620:0:910::,2620::910:ffff:ffff:ffff:ffff:ffff,US +2620:0:920::,2620::920:ffff:ffff:ffff:ffff:ffff,US +2620:0:930::,2620::930:ffff:ffff:ffff:ffff:ffff,US +2620:0:940::,2620::940:ffff:ffff:ffff:ffff:ffff,US +2620:0:950::,2620::950:ffff:ffff:ffff:ffff:ffff,US +2620:0:960::,2620::960:ffff:ffff:ffff:ffff:ffff,US +2620:0:970::,2620::970:ffff:ffff:ffff:ffff:ffff,US +2620:0:980::,2620::980:ffff:ffff:ffff:ffff:ffff,US +2620:0:990::,2620::990:ffff:ffff:ffff:ffff:ffff,US +2620:0:9a0::,2620::9a0:ffff:ffff:ffff:ffff:ffff,US +2620:0:9b0::,2620::9b0:ffff:ffff:ffff:ffff:ffff,US +2620:0:9c0::,2620::9c0:ffff:ffff:ffff:ffff:ffff,US +2620:0:9e0::,2620::9e0:ffff:ffff:ffff:ffff:ffff,US +2620:0:9f0::,2620::9f0:ffff:ffff:ffff:ffff:ffff,US +2620:0:a00::,2620::a1f:ffff:ffff:ffff:ffff:ffff,US +2620:0:b00::,2620::b00:ffff:ffff:ffff:ffff:ffff,US +2620:0:b10::,2620::b13:ffff:ffff:ffff:ffff:ffff,US +2620:0:b20::,2620::b20:ffff:ffff:ffff:ffff:ffff,US +2620:0:b30::,2620::b30:ffff:ffff:ffff:ffff:ffff,US +2620:0:b40::,2620::b40:ffff:ffff:ffff:ffff:ffff,US +2620:0:b50::,2620::b50:ffff:ffff:ffff:ffff:ffff,US +2620:0:b60::,2620::b61:ffff:ffff:ffff:ffff:ffff,US +2620:0:b80::,2620::b80:ffff:ffff:ffff:ffff:ffff,US +2620:0:b90::,2620::b90:ffff:ffff:ffff:ffff:ffff,US +2620:0:ba0::,2620::ba0:ffff:ffff:ffff:ffff:ffff,US +2620:0:bb0::,2620::bb0:ffff:ffff:ffff:ffff:ffff,US +2620:0:bd0::,2620::bd0:ffff:ffff:ffff:ffff:ffff,CA +2620:0:be0::,2620::be0:ffff:ffff:ffff:ffff:ffff,US +2620:0:bf0::,2620::bf0:ffff:ffff:ffff:ffff:ffff,US +2620:0:c10::,2620::c20:ffff:ffff:ffff:ffff:ffff,US +2620:0:c30::,2620::c30:ffff:ffff:ffff:ffff:ffff,US +2620:0:c40::,2620::c40:ffff:ffff:ffff:ffff:ffff,US +2620:0:c60::,2620::c60:ffff:ffff:ffff:ffff:ffff,US +2620:0:c70::,2620::c70:ffff:ffff:ffff:ffff:ffff,US +2620:0:c80::,2620::c80:ffff:ffff:ffff:ffff:ffff,US +2620:0:c90::,2620::ca0:ffff:ffff:ffff:ffff:ffff,US +2620:0:cb0::,2620::cb0:ffff:ffff:ffff:ffff:ffff,US +2620:0:cc0::,2620::ccf:ffff:ffff:ffff:ffff:ffff,US +2620:0:ce0::,2620::ce0:ffff:ffff:ffff:ffff:ffff,US +2620:0:cf0::,2620::cf0:ffff:ffff:ffff:ffff:ffff,US +2620:0:d00::,2620::d00:ffff:ffff:ffff:ffff:ffff,US +2620:0:d20::,2620::d20:ffff:ffff:ffff:ffff:ffff,US +2620:0:d30::,2620::d30:ffff:ffff:ffff:ffff:ffff,US +2620:0:d50::,2620::d50:ffff:ffff:ffff:ffff:ffff,US +2620:0:d60::,2620::d63:ffff:ffff:ffff:ffff:ffff,US +2620:0:d70::,2620::d77:ffff:ffff:ffff:ffff:ffff,US +2620:0:d80::,2620::d80:ffff:ffff:ffff:ffff:ffff,US +2620:0:d90::,2620::d90:ffff:ffff:ffff:ffff:ffff,US +2620:0:dc0::,2620::dc0:ffff:ffff:ffff:ffff:ffff,US +2620:0:dd0::,2620::dd0:ffff:ffff:ffff:ffff:ffff,US +2620:0:de0::,2620::de0:ffff:ffff:ffff:ffff:ffff,US +2620:0:df0::,2620::df0:ffff:ffff:ffff:ffff:ffff,US +2620:0:e00::,2620::e00:ffff:ffff:ffff:ffff:ffff,US +2620:0:e10::,2620::e10:ffff:ffff:ffff:ffff:ffff,US +2620:0:e20::,2620::e23:ffff:ffff:ffff:ffff:ffff,US +2620:0:e30::,2620::e30:ffff:ffff:ffff:ffff:ffff,US +2620:0:e50::,2620::e50:ffff:ffff:ffff:ffff:ffff,US +2620:0:e60::,2620::e60:ffff:ffff:ffff:ffff:ffff,US +2620:0:e80::,2620::e80:ffff:ffff:ffff:ffff:ffff,US +2620:0:e90::,2620::e90:ffff:ffff:ffff:ffff:ffff,US +2620:0:ea0::,2620::eb0:ffff:ffff:ffff:ffff:ffff,US +2620:0:ed0::,2620::ed0:ffff:ffff:ffff:ffff:ffff,US +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::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::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:1a60::,2620::1a60: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::1b07:ffff:ffff:ffff:ffff:ffff,US +2620:0:1c00::,2620::1cff:ffff:ffff:ffff:ffff:ffff,US +2620:0:2000::,2620::203f:ffff:ffff:ffff:ffff:ffff,US +2620:0:2100::,2620::213f:ffff:ffff:ffff:ffff:ffff,US +2620:0:2210::,2620::2210:ffff:ffff:ffff:ffff:ffff,US +2620:0:2220::,2620::2220:ffff:ffff:ffff:ffff:ffff,CA +2620:0:2240::,2620::2240:ffff:ffff:ffff:ffff:ffff,US +2620:0:2250::,2620::2250:ffff:ffff:ffff:ffff:ffff,US +2620:0:2260::,2620::2260:ffff:ffff:ffff:ffff:ffff,US +2620:0:2270::,2620::2270:ffff:ffff:ffff:ffff:ffff,US +2620:0:2280::,2620::2280:ffff:ffff:ffff:ffff:ffff,US +2620:0:2290::,2620::2290:ffff:ffff:ffff:ffff:ffff,US +2620:0:22a0::,2620::22a0:ffff:ffff:ffff:ffff:ffff,US +2620:0:22b0::,2620::22b0:ffff:ffff:ffff:ffff:ffff,US +2620:0:22c0::,2620::22c0:ffff:ffff:ffff:ffff:ffff,US +2620:0:22d0::,2620::22d0:ffff:ffff:ffff:ffff:ffff,US +2620:0:22e0::,2620::22e0:ffff:ffff:ffff:ffff:ffff,CA +2620:0:22f0::,2620::22f0:ffff:ffff:ffff:ffff:ffff,US +2620:0:2300::,2620::230f:ffff:ffff:ffff:ffff:ffff,US +2620:0:2400::,2620::24ff:ffff:ffff:ffff:ffff:ffff,US +2620:0:2800::,2620::2800:ffff:ffff:ffff:ffff:ffff,US +2620:0:2810::,2620::2810:ffff:ffff:ffff:ffff:ffff,US +2620:0:2820::,2620::2820:ffff:ffff:ffff:ffff:ffff,US +2620:0:2830::,2620::2830:ffff:ffff:ffff:ffff:ffff,US +2620:0:2840::,2620::2840:ffff:ffff:ffff:ffff:ffff,US +2620:0:2850::,2620::2850:ffff:ffff:ffff:ffff:ffff,US +2620:0:2860::,2620::2860:ffff:ffff:ffff:ffff:ffff,US +2620:0:2870::,2620::2870:ffff:ffff:ffff:ffff:ffff,US +2620:0:2880::,2620::2880:ffff:ffff:ffff:ffff:ffff,US +2620:0:28a0::,2620::28a0:ffff:ffff:ffff:ffff:ffff,US +2620:0:28b0::,2620::28b0:ffff:ffff:ffff:ffff:ffff,US +2620:0:28c0::,2620::28c0:ffff:ffff:ffff:ffff:ffff,US +2620:0:28d0::,2620::28d0:ffff:ffff:ffff:ffff:ffff,US +2620:0:28f0::,2620::28f0:ffff:ffff:ffff:ffff:ffff,US +2620:0:2900::,2620::290f:ffff:ffff:ffff:ffff:ffff,US +2620:0:2a00::,2620::2a1f:ffff:ffff:ffff:ffff:ffff,US +2620:0:2b00::,2620::2b00:ffff:ffff:ffff:ffff:ffff,US +2620:0:2b10::,2620::2b10:ffff:ffff:ffff:ffff:ffff,US +2620:0:2b20::,2620::2b20:ffff:ffff:ffff:ffff:ffff,US +2620:0:2b30::,2620::2b40:ffff:ffff:ffff:ffff:ffff,US +2620:0:2b50::,2620::2b50:ffff:ffff:ffff:ffff:ffff,US +2620:0:2b60::,2620::2b60:ffff:ffff:ffff:ffff:ffff,US +2620:0:2b70::,2620::2b8f:ffff:ffff:ffff:ffff:ffff,US +2620:0:2bc0::,2620::2bc3:ffff:ffff:ffff:ffff:ffff,US +2620:0:2be0::,2620::2be0:ffff:ffff:ffff:ffff:ffff,US +2620:0:2bf0::,2620::2bf0:ffff:ffff:ffff:ffff:ffff,US +2620:0:2d00::,2620::2d7f:ffff:ffff:ffff:ffff:ffff,US +2620:0:2e00::,2620::2e00:ffff:ffff:ffff:ffff:ffff,US +2620:0:2e10::,2620::2e10:ffff:ffff:ffff:ffff:ffff,US +2620:0:2e30::,2620::2e30:ffff:ffff:ffff:ffff:ffff,US +2620:0:2e40::,2620::2e40:ffff:ffff:ffff:ffff:ffff,US +2620:0:2e50::,2620::2e50:ffff:ffff:ffff:ffff:ffff,US +2620:0:2e60::,2620::2e60:ffff:ffff:ffff:ffff:ffff,US +2620:0:2e70::,2620::2e80:ffff:ffff:ffff:ffff:ffff,US +2620:0:2ea0::,2620::2ea0:ffff:ffff:ffff:ffff:ffff,US +2620:0:2eb0::,2620::2eb0:ffff:ffff:ffff:ffff:ffff,US +2620:0:2ed0::,2620::2ed0:ffff:ffff:ffff:ffff:ffff,US +2620:0:2ee0::,2620::2ee0:ffff:ffff:ffff:ffff:ffff,US +2620:0:2f00::,2620::2f7f:ffff:ffff:ffff:ffff:ffff,US +2620:0:3000::,2620::31ff: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::5080:ffff:ffff:ffff:ffff:ffff,US +2620:0:5090::,2620::5090:ffff:ffff:ffff:ffff:ffff,US +2620:0:50a0::,2620::50a0:ffff:ffff:ffff:ffff:ffff,US +2620:0:50b0::,2620::50b0:ffff:ffff:ffff:ffff:ffff,US +2620:0:50c0::,2620::50c0:ffff:ffff:ffff:ffff:ffff,US +2620:0:50d0::,2620::50d1:ffff:ffff:ffff:ffff:ffff,US +2620:0:50e0::,2620::50e0:ffff:ffff:ffff:ffff:ffff,US +2620:0:50f0::,2620::50f0:ffff:ffff:ffff:ffff:ffff,US +2620:0:5100::,2620::510f:ffff:ffff:ffff:ffff:ffff,US +2620:0:5200::,2620::5200:ffff:ffff:ffff:ffff:ffff,US +2620:0:5300::,2620::530f:ffff:ffff:ffff:ffff:ffff,US +2620:0:aa00::,2620::aa00:ffff:ffff:ffff:ffff:ffff,US +2620:1::,2620:1::ffff:ffff:ffff:ffff:ffff,US 2620:1:4000::,2620:1:4000:ffff:ffff:ffff:ffff:ffff,US 2620:1:8000::,2620:1:8000:ffff:ffff:ffff:ffff:ffff,US 2620:1:c000::,2620:1:c000:ffff:ffff:ffff:ffff:ffff,US -2620:2::,2620:2:0:ffff:ffff:ffff:ffff:ffff,US +2620:2::,2620:2::ffff:ffff:ffff:ffff:ffff,US 2620:2:4000::,2620:2:4000:ffff:ffff:ffff:ffff:ffff,CA 2620:2:8000::,2620:2:8000:ffff:ffff:ffff:ffff:ffff,US 2620:2:c000::,2620:2:c000:ffff:ffff:ffff:ffff:ffff,US -2620:3::,2620:3:0:ffff:ffff:ffff:ffff:ffff,US +2620:3::,2620:3::ffff:ffff:ffff:ffff:ffff,US 2620:3:4000::,2620:3:4000:ffff:ffff:ffff:ffff:ffff,US 2620:3:8000::,2620:3:8000:ffff:ffff:ffff:ffff:ffff,US 2620:3:c000::,2620:3:c000:ffff:ffff:ffff:ffff:ffff,US -2620:4::,2620:4:0:ffff:ffff:ffff:ffff:ffff,US +2620:4::,2620:4::ffff:ffff:ffff:ffff:ffff,US 2620:4:4000::,2620:4:4000:ffff:ffff:ffff:ffff:ffff,US 2620:4:8000::,2620:4:8000:ffff:ffff:ffff:ffff:ffff,US 2620:4:c000::,2620:4:c000:ffff:ffff:ffff:ffff:ffff,US -2620:5::,2620:5:0:ffff:ffff:ffff:ffff:ffff,US -2620:5:4000::,2620:5:4000:ffff:ffff:ffff:ffff:ffff,US +2620:5::,2620:5::ffff:ffff:ffff:ffff:ffff,US +2620:5:4000::,2620:5:400f:ffff:ffff:ffff:ffff:ffff,US 2620:5:8000::,2620:5:8000:ffff:ffff:ffff:ffff:ffff,US 2620:5:c000::,2620:5:c000:ffff:ffff:ffff:ffff:ffff,US -2620:6::,2620:6:0:ffff:ffff:ffff:ffff:ffff,CA +2620:6::,2620:6::ffff:ffff:ffff:ffff:ffff,CA 2620:6:4000::,2620:6:4000:ffff:ffff:ffff:ffff:ffff,US 2620:6:8000::,2620:6:8000:ffff:ffff:ffff:ffff:ffff,US 2620:6:c000::,2620:6:c000:ffff:ffff:ffff:ffff:ffff,US -2620:7::,2620:7:0:ffff:ffff:ffff:ffff:ffff,US +2620:7::,2620:7::ffff:ffff:ffff:ffff:ffff,US 2620:7:4000::,2620:7:4000:ffff:ffff:ffff:ffff:ffff,US 2620:7:8000::,2620:7:8000:ffff:ffff:ffff:ffff:ffff,US 2620:7:c000::,2620:7:c000:ffff:ffff:ffff:ffff:ffff,US 2620:8::,2620:8:7f:ffff:ffff:ffff:ffff:ffff,CA 2620:8:8200::,2620:8:8200:ffff:ffff:ffff:ffff:ffff,US -2620:9::,2620:9:0:ffff:ffff:ffff:ffff:ffff,US +2620:9::,2620:9::ffff:ffff:ffff:ffff:ffff,US 2620:9:4000::,2620:9:4000:ffff:ffff:ffff:ffff:ffff,US 2620:9:8000::,2620:9:8000:ffff:ffff:ffff:ffff:ffff,US 2620:9:c000::,2620:9:c000:ffff:ffff:ffff:ffff:ffff,US -2620:a::,2620:a:0:ffff:ffff:ffff:ffff:ffff,CA +2620:a::,2620:a::ffff:ffff:ffff:ffff:ffff,CA 2620:a:4000::,2620:a:4000:ffff:ffff:ffff:ffff:ffff,US 2620:a:8000::,2620:a:8000:ffff:ffff:ffff:ffff:ffff,US 2620:a:c000::,2620:a:c000:ffff:ffff:ffff:ffff:ffff,US -2620:b::,2620:b:0:ffff:ffff:ffff:ffff:ffff,US +2620:b::,2620:b::ffff:ffff:ffff:ffff:ffff,US 2620:b:4000::,2620:b:4000:ffff:ffff:ffff:ffff:ffff,US 2620:b:8000::,2620:b:8000:ffff:ffff:ffff:ffff:ffff,US 2620:b:c000::,2620:b:c000:ffff:ffff:ffff:ffff:ffff,US 2620:c::,2620:c:3:ffff:ffff:ffff:ffff:ffff,US +2620:c:4000::,2620:c:4000:ffff:ffff:ffff:ffff:ffff,US 2620:c:8000::,2620:c:8000:ffff:ffff:ffff:ffff:ffff,US +2620:c:c000::,2620:c:c000:ffff:ffff:ffff:ffff:ffff,US +2620:d::,2620:d::ffff:ffff:ffff:ffff:ffff,US +2620:d:4000::,2620:d:4000:ffff:ffff:ffff:ffff:ffff,US 2620:d:8000::,2620:d:8000:ffff:ffff:ffff:ffff:ffff,US -2620:e::,2620:e:0:ffff:ffff:ffff:ffff:ffff,US +2620:d:c000::,2620:d:c000:ffff:ffff:ffff:ffff:ffff,US +2620:e::,2620:e::ffff:ffff:ffff:ffff:ffff,US +2620:e:4000::,2620:e:4000:ffff:ffff:ffff:ffff:ffff,US 2620:e:8000::,2620:e:8000:ffff:ffff:ffff:ffff:ffff,US +2620:e:c000::,2620:e:c000:ffff:ffff:ffff:ffff:ffff,US 2620:f::,2620:f:3:ffff:ffff:ffff:ffff:ffff,US +2620:f:4000::,2620:f:4000:ffff:ffff:ffff:ffff:ffff,US 2620:f:8000::,2620:f:8000:ffff:ffff:ffff:ffff:ffff,US -2620:10::,2620:10:0:ffff:ffff:ffff:ffff:ffff,US +2620:f:c000::,2620:f:c000:ffff:ffff:ffff:ffff:ffff,US +2620:10::,2620:10::ffff:ffff:ffff:ffff:ffff,US +2620:10:4000::,2620:10:4000:ffff:ffff:ffff:ffff:ffff,US 2620:10:8000::,2620:10:8000:ffff:ffff:ffff:ffff:ffff,CA -2620:11::,2620:11:0:ffff:ffff:ffff:ffff:ffff,US +2620:10:c000::,2620:10:c000:ffff:ffff:ffff:ffff:ffff,US +2620:11::,2620:11::ffff:ffff:ffff:ffff:ffff,US +2620:11:4000::,2620:11:4000:ffff:ffff:ffff:ffff:ffff,US 2620:11:8000::,2620:11:8000:ffff:ffff:ffff:ffff:ffff,US -2620:12::,2620:12:0:ffff:ffff:ffff:ffff:ffff,US +2620:11:c000::,2620:11:c000:ffff:ffff:ffff:ffff:ffff,US +2620:12::,2620:12::ffff:ffff:ffff:ffff:ffff,US +2620:12:4000::,2620:12:4000:ffff:ffff:ffff:ffff:ffff,US 2620:12:8000::,2620:12:8000:ffff:ffff:ffff:ffff:ffff,US -2620:13::,2620:13:0:ffff:ffff:ffff:ffff:ffff,CA +2620:12:c000::,2620:12:c000:ffff:ffff:ffff:ffff:ffff,US +2620:13::,2620:13::ffff:ffff:ffff:ffff:ffff,CA +2620:13:4000::,2620:13:4000:ffff:ffff:ffff:ffff:ffff,US 2620:13:8000::,2620:13:8000:ffff:ffff:ffff:ffff:ffff,US -2620:14::,2620:14:0:ffff:ffff:ffff:ffff:ffff,US +2620:13:c000::,2620:13:c000:ffff:ffff:ffff:ffff:ffff,US +2620:14::,2620:14::ffff:ffff:ffff:ffff:ffff,US +2620:14:4000::,2620:14:4000:ffff:ffff:ffff:ffff:ffff,US 2620:14:8000::,2620:14:8000:ffff:ffff:ffff:ffff:ffff,US -2620:15::,2620:15:0:ffff:ffff:ffff:ffff:ffff,US +2620:14:c000::,2620:14:c000:ffff:ffff:ffff:ffff:ffff,CA +2620:15::,2620:15::ffff:ffff:ffff:ffff:ffff,US +2620:15:4000::,2620:15:4000:ffff:ffff:ffff:ffff:ffff,US 2620:15:8000::,2620:15:8000:ffff:ffff:ffff:ffff:ffff,US -2620:16::,2620:16:0:ffff:ffff:ffff:ffff:ffff,CA +2620:15:c000::,2620:15:c000:ffff:ffff:ffff:ffff:ffff,US +2620:16::,2620:16::ffff:ffff:ffff:ffff:ffff,CA +2620:16:4000::,2620:16:4000:ffff:ffff:ffff:ffff:ffff,US 2620:16:8000::,2620:16:8000:ffff:ffff:ffff:ffff:ffff,US -2620:17::,2620:17:0:ffff:ffff:ffff:ffff:ffff,US -2620:17:8000::,2620:17:8001:ffff:ffff:ffff:ffff:ffff,US -2620:18::,2620:18:0:ffff:ffff:ffff:ffff:ffff,US +2620:16:c000::,2620:16:c000:ffff:ffff:ffff:ffff:ffff,US +2620:17::,2620:17::ffff:ffff:ffff:ffff:ffff,US +2620:17:4000::,2620:17:4000:ffff:ffff:ffff:ffff:ffff,US +2620:17:8000::,2620:17:800f:ffff:ffff:ffff:ffff:ffff,US +2620:17:c000::,2620:17:c000:ffff:ffff:ffff:ffff:ffff,US +2620:18::,2620:18::ffff:ffff:ffff:ffff:ffff,US +2620:18:4000::,2620:18:4000:ffff:ffff:ffff:ffff:ffff,US 2620:18:8000::,2620:18:8000:ffff:ffff:ffff:ffff:ffff,US -2620:19::,2620:19:0:ffff:ffff:ffff:ffff:ffff,US +2620:18:c000::,2620:18:c000:ffff:ffff:ffff:ffff:ffff,KN +2620:19::,2620:19::ffff:ffff:ffff:ffff:ffff,US +2620:19:4000::,2620:19:4000:ffff:ffff:ffff:ffff:ffff,CA 2620:19:8000::,2620:19:8000:ffff:ffff:ffff:ffff:ffff,US -2620:1a::,2620:1a:0:ffff:ffff:ffff:ffff:ffff,US +2620:19:c000::,2620:19:c000:ffff:ffff:ffff:ffff:ffff,US +2620:1a::,2620:1a::ffff:ffff:ffff:ffff:ffff,US +2620:1a:4000::,2620:1a:4000:ffff:ffff:ffff:ffff:ffff,US 2620:1a:8000::,2620:1a:8000:ffff:ffff:ffff:ffff:ffff,US -2620:1b::,2620:1b:0:ffff:ffff:ffff:ffff:ffff,US +2620:1a:c000::,2620:1a:c000:ffff:ffff:ffff:ffff:ffff,US +2620:1b::,2620:1b::ffff:ffff:ffff:ffff:ffff,US +2620:1b:4000::,2620:1b:4000:ffff:ffff:ffff:ffff:ffff,US 2620:1b:8000::,2620:1b:8000:ffff:ffff:ffff:ffff:ffff,US -2620:1c::,2620:1c:0:ffff:ffff:ffff:ffff:ffff,US +2620:1b:c000::,2620:1b:c000:ffff:ffff:ffff:ffff:ffff,US +2620:1c::,2620:1c::ffff:ffff:ffff:ffff:ffff,US +2620:1c:4000::,2620:1c:4000:ffff:ffff:ffff:ffff:ffff,US 2620:1c:8000::,2620:1c:8000:ffff:ffff:ffff:ffff:ffff,US -2620:1d::,2620:1d:0:ffff:ffff:ffff:ffff:ffff,US +2620:1c:c000::,2620:1c:c000:ffff:ffff:ffff:ffff:ffff,US +2620:1d::,2620:1d::ffff:ffff:ffff:ffff:ffff,US +2620:1d:4000::,2620:1d:4000:ffff:ffff:ffff:ffff:ffff,US 2620:1d:8000::,2620:1d:8000:ffff:ffff:ffff:ffff:ffff,US -2620:1e::,2620:1e:0:ffff:ffff:ffff:ffff:ffff,US +2620:1d:c000::,2620:1d:c000:ffff:ffff:ffff:ffff:ffff,CA +2620:1e::,2620:1e::ffff:ffff:ffff:ffff:ffff,US +2620:1e:4000::,2620:1e:4000:ffff:ffff:ffff:ffff:ffff,US 2620:1e:8000::,2620:1e:8000:ffff:ffff:ffff:ffff:ffff,US -2620:1f::,2620:1f:0:ffff:ffff:ffff:ffff:ffff,US +2620:1e:c000::,2620:1e:c000:ffff:ffff:ffff:ffff:ffff,US +2620:1f::,2620:1f::ffff:ffff:ffff:ffff:ffff,US +2620:1f:4000::,2620:1f:4000:ffff:ffff:ffff:ffff:ffff,CA 2620:1f:8000::,2620:1f:8000:ffff:ffff:ffff:ffff:ffff,US -2620:20::,2620:20:0:ffff:ffff:ffff:ffff:ffff,US +2620:1f:c000::,2620:1f:c000:ffff:ffff:ffff:ffff:ffff,US +2620:20::,2620:20::ffff:ffff:ffff:ffff:ffff,US +2620:20:4000::,2620:20:4000:ffff:ffff:ffff:ffff:ffff,US 2620:20:8000::,2620:20:8000:ffff:ffff:ffff:ffff:ffff,US -2620:21::,2620:21:0:ffff:ffff:ffff:ffff:ffff,US +2620:20:c000::,2620:20:c000:ffff:ffff:ffff:ffff:ffff,US +2620:21::,2620:21::ffff:ffff:ffff:ffff:ffff,US +2620:21:4000::,2620:21:4000:ffff:ffff:ffff:ffff:ffff,US 2620:21:8000::,2620:21:8000:ffff:ffff:ffff:ffff:ffff,US -2620:22::,2620:22:0:ffff:ffff:ffff:ffff:ffff,US +2620:21:c000::,2620:21:c000:ffff:ffff:ffff:ffff:ffff,CA +2620:22::,2620:22::ffff:ffff:ffff:ffff:ffff,US +2620:22:4000::,2620:22:4000:ffff:ffff:ffff:ffff:ffff,CA 2620:22:8000::,2620:22:8000:ffff:ffff:ffff:ffff:ffff,US -2620:23::,2620:23:0:ffff:ffff:ffff:ffff:ffff,US +2620:22:c000::,2620:22:c000:ffff:ffff:ffff:ffff:ffff,US +2620:23::,2620:23::ffff:ffff:ffff:ffff:ffff,US +2620:23:4000::,2620:23:4000:ffff:ffff:ffff:ffff:ffff,US 2620:23:8000::,2620:23:8000:ffff:ffff:ffff:ffff:ffff,US +2620:23:c000::,2620:23:c000:ffff:ffff:ffff:ffff:ffff,US 2620:24::,2620:24:1f:ffff:ffff:ffff:ffff:ffff,US 2620:24:8080::,2620:24:8080:ffff:ffff:ffff:ffff:ffff,US -2620:25::,2620:25:0:ffff:ffff:ffff:ffff:ffff,US +2620:25::,2620:25::ffff:ffff:ffff:ffff:ffff,US +2620:25:4000::,2620:25:4000:ffff:ffff:ffff:ffff:ffff,US 2620:25:8000::,2620:25:8000:ffff:ffff:ffff:ffff:ffff,US -2620:26::,2620:26:0:ffff:ffff:ffff:ffff:ffff,US +2620:25:c000::,2620:25:c00f:ffff:ffff:ffff:ffff:ffff,US +2620:26::,2620:26::ffff:ffff:ffff:ffff:ffff,US +2620:26:4000::,2620:26:400f:ffff:ffff:ffff:ffff:ffff,US 2620:26:8000::,2620:26:8000:ffff:ffff:ffff:ffff:ffff,US +2620:26:c000::,2620:26:c00f:ffff:ffff:ffff:ffff:ffff,US 2620:27::,2620:27:f:ffff:ffff:ffff:ffff:ffff,US 2620:27:8080::,2620:27:8080:ffff:ffff:ffff:ffff:ffff,US -2620:28::,2620:28:0:ffff:ffff:ffff:ffff:ffff,US +2620:28::,2620:28::ffff:ffff:ffff:ffff:ffff,US +2620:28:4000::,2620:28:400f:ffff:ffff:ffff:ffff:ffff,US 2620:28:8000::,2620:28:8000:ffff:ffff:ffff:ffff:ffff,US -2620:29::,2620:29:0:ffff:ffff:ffff:ffff:ffff,US +2620:28:c000::,2620:28:c000:ffff:ffff:ffff:ffff:ffff,US +2620:29::,2620:29::ffff:ffff:ffff:ffff:ffff,US +2620:29:4000::,2620:29:4000:ffff:ffff:ffff:ffff:ffff,US 2620:29:8000::,2620:29:8000:ffff:ffff:ffff:ffff:ffff,US -2620:2a::,2620:2a:0:ffff:ffff:ffff:ffff:ffff,US +2620:29:c000::,2620:29:c00f:ffff:ffff:ffff:ffff:ffff,US +2620:2a::,2620:2a::ffff:ffff:ffff:ffff:ffff,US +2620:2a:4000::,2620:2a:400f:ffff:ffff:ffff:ffff:ffff,US 2620:2a:8000::,2620:2a:8000:ffff:ffff:ffff:ffff:ffff,US -2620:2b::,2620:2b:0:ffff:ffff:ffff:ffff:ffff,US +2620:2a:c000::,2620:2a:c000:ffff:ffff:ffff:ffff:ffff,US +2620:2b::,2620:2b::ffff:ffff:ffff:ffff:ffff,US +2620:2b:4000::,2620:2b:400f:ffff:ffff:ffff:ffff:ffff,US 2620:2b:8000::,2620:2b:8000:ffff:ffff:ffff:ffff:ffff,US +2620:2b:c000::,2620:2b:c000:ffff:ffff:ffff:ffff:ffff,US 2620:2c::,2620:2c:f:ffff:ffff:ffff:ffff:ffff,US 2620:2c:8080::,2620:2c:8080:ffff:ffff:ffff:ffff:ffff,US -2620:2d::,2620:2d:0:ffff:ffff:ffff:ffff:ffff,US +2620:2d::,2620:2d::ffff:ffff:ffff:ffff:ffff,US +2620:2d:4000::,2620:2d:400f:ffff:ffff:ffff:ffff:ffff,US 2620:2d:8000::,2620:2d:8000: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:8080::,2620:2e:8080:ffff:ffff:ffff:ffff:ffff,US -2620:2f::,2620:2f:0:ffff:ffff:ffff:ffff:ffff,CA +2620:2f::,2620:2f::ffff:ffff:ffff:ffff:ffff,CA +2620:2f:4000::,2620:2f:4000:ffff:ffff:ffff:ffff:ffff,US 2620:2f:8000::,2620:2f:8000:ffff:ffff:ffff:ffff:ffff,US -2620:30::,2620:30:0:ffff:ffff:ffff:ffff:ffff,US +2620:2f:c000::,2620:2f:c000:ffff:ffff:ffff:ffff:ffff,US +2620:30::,2620:30::ffff:ffff:ffff:ffff:ffff,US +2620:30:4000::,2620:30:4000:ffff:ffff:ffff:ffff:ffff,US 2620:30:8000::,2620:30:8000:ffff:ffff:ffff:ffff:ffff,US -2620:31::,2620:31:0:ffff:ffff:ffff:ffff:ffff,US +2620:30:c000::,2620:30:c00f:ffff:ffff:ffff:ffff:ffff,US +2620:31::,2620:31::ffff:ffff:ffff:ffff:ffff,US +2620:31:4000::,2620:31:4000:ffff:ffff:ffff:ffff:ffff,US 2620:31:8000::,2620:31:8000:ffff:ffff:ffff:ffff:ffff,US -2620:32::,2620:32:0:ffff:ffff:ffff:ffff:ffff,US +2620:31:c000::,2620:31:c000:ffff:ffff:ffff:ffff:ffff,US +2620:32::,2620:32::ffff:ffff:ffff:ffff:ffff,US +2620:32:4000::,2620:32:4000:ffff:ffff:ffff:ffff:ffff,CA 2620:32:8000::,2620:32:8000:ffff:ffff:ffff:ffff:ffff,US -2620:33::,2620:33:0:ffff:ffff:ffff:ffff:ffff,US +2620:32:c000::,2620:32:c00f:ffff:ffff:ffff:ffff:ffff,US +2620:33::,2620:33::ffff:ffff:ffff:ffff:ffff,US +2620:33:4000::,2620:33:400f:ffff:ffff:ffff:ffff:ffff,US 2620:33:8000::,2620:33:8000:ffff:ffff:ffff:ffff:ffff,US -2620:34::,2620:34:0:ffff:ffff:ffff:ffff:ffff,US +2620:33:c000::,2620:33:c000:ffff:ffff:ffff:ffff:ffff,US +2620:34::,2620:34::ffff:ffff:ffff:ffff:ffff,US +2620:34:4000::,2620:34:4000:ffff:ffff:ffff:ffff:ffff,US 2620:34:8000::,2620:34:8000:ffff:ffff:ffff:ffff:ffff,US -2620:35::,2620:35:0:ffff:ffff:ffff:ffff:ffff,US +2620:34:c000::,2620:34:c000:ffff:ffff:ffff:ffff:ffff,US +2620:35::,2620:35::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:36::,2620:36:0: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 +2620:36:4000::,2620:36:400f:ffff:ffff:ffff:ffff:ffff,CA 2620:36:8000::,2620:36:8000:ffff:ffff:ffff:ffff:ffff,US -2620:37::,2620:37:0:ffff:ffff:ffff:ffff:ffff,US +2620:36:c000::,2620:36:c000:ffff:ffff:ffff:ffff:ffff,CA +2620:37::,2620:37::ffff:ffff:ffff:ffff:ffff,US +2620:37:4000::,2620:37:400f:ffff:ffff:ffff:ffff:ffff,US 2620:37:8000::,2620:37:8000:ffff:ffff:ffff:ffff:ffff,US -2620:38::,2620:38:0:ffff:ffff:ffff:ffff:ffff,US +2620:37:c000::,2620:37:c000:ffff:ffff:ffff:ffff:ffff,US +2620:38::,2620:38::ffff:ffff:ffff:ffff:ffff,US +2620:38:4000::,2620:38:400f:ffff:ffff:ffff:ffff:ffff,US 2620:38:8000::,2620:38:8000:ffff:ffff:ffff:ffff:ffff,US -2620:39::,2620:39:0:ffff:ffff:ffff:ffff:ffff,US +2620:38:c000::,2620:38:c000:ffff:ffff:ffff:ffff:ffff,US +2620:39::,2620:39::ffff:ffff:ffff:ffff:ffff,US +2620:39:4000::,2620:39:4000:ffff:ffff:ffff:ffff:ffff,US 2620:39:8000::,2620:39:8000:ffff:ffff:ffff:ffff:ffff,US -2620:3a::,2620:3a:0:ffff:ffff:ffff:ffff:ffff,US +2620:39:c000::,2620:39:c00f:ffff:ffff:ffff:ffff:ffff,US +2620:3a::,2620:3a::ffff:ffff:ffff:ffff:ffff,US +2620:3a:4000::,2620:3a:400f:ffff:ffff:ffff:ffff:ffff,US 2620:3a:8000::,2620:3a:8000:ffff:ffff:ffff:ffff:ffff,US -2620:3b::,2620:3b:0:ffff:ffff:ffff:ffff:ffff,US +2620:3a:c000::,2620:3a:c000:ffff:ffff:ffff:ffff:ffff,US +2620:3b::,2620:3b::ffff:ffff:ffff:ffff:ffff,US +2620:3b:4000::,2620:3b:4000:ffff:ffff:ffff:ffff:ffff,US 2620:3b:8000::,2620:3b:8000:ffff:ffff:ffff:ffff:ffff,US +2620:3b:c000::,2620:3b:c00f:ffff:ffff:ffff:ffff:ffff,US 2620:3c::,2620:3c:3f:ffff:ffff:ffff:ffff:ffff,US 2620:3c:8080::,2620:3c:8080:ffff:ffff:ffff:ffff:ffff,US -2620:3d::,2620:3d:0:ffff:ffff:ffff:ffff:ffff,US +2620:3d::,2620:3d::ffff:ffff:ffff:ffff:ffff,US +2620:3d:4000::,2620:3d:4000:ffff:ffff:ffff:ffff:ffff,US 2620:3d:8000::,2620:3d:8000:ffff:ffff:ffff:ffff:ffff,US -2620:3e::,2620:3e:0:ffff:ffff:ffff:ffff:ffff,US +2620:3e::,2620:3e::ffff:ffff:ffff:ffff:ffff,US 2620:3e:8000::,2620:3e:8000:ffff:ffff:ffff:ffff:ffff,US -2620:3f::,2620:3f:0:ffff:ffff:ffff:ffff:ffff,US +2620:3f::,2620:3f::ffff:ffff:ffff:ffff:ffff,US 2620:3f:8000::,2620:3f:8000:ffff:ffff:ffff:ffff:ffff,US -2620:40::,2620:40:0:ffff:ffff:ffff:ffff:ffff,US +2620:40::,2620:40::ffff:ffff:ffff:ffff:ffff,US 2620:40:8000::,2620:40:8000:ffff:ffff:ffff:ffff:ffff,US -2620:41::,2620:41:0:ffff:ffff:ffff:ffff:ffff,US +2620:41::,2620:41::ffff:ffff:ffff:ffff:ffff,US 2620:41:8000::,2620:41:8000:ffff:ffff:ffff:ffff:ffff,US -2620:42::,2620:42:0:ffff:ffff:ffff:ffff:ffff,US +2620:42::,2620:42::ffff:ffff:ffff:ffff:ffff,US 2620:42:8000::,2620:42:8000:ffff:ffff:ffff:ffff:ffff,US -2620:43::,2620:43:0:ffff:ffff:ffff:ffff:ffff,US +2620:43::,2620:43::ffff:ffff:ffff:ffff:ffff,US 2620:43:8000::,2620:43:8000:ffff:ffff:ffff:ffff:ffff,US 2620:44::,2620:44:1:ffff:ffff:ffff:ffff:ffff,US 2620:44:8000::,2620:44:8000:ffff:ffff:ffff:ffff:ffff,US -2620:45::,2620:45:0:ffff:ffff:ffff:ffff:ffff,CA +2620:45::,2620:45::ffff:ffff:ffff:ffff:ffff,CA 2620:45:8000::,2620:45:8000:ffff:ffff:ffff:ffff:ffff,US -2620:46::,2620:46:0:ffff:ffff:ffff:ffff:ffff,US +2620:46::,2620:46::ffff:ffff:ffff:ffff:ffff,US 2620:46:8000::,2620:46:8000:ffff:ffff:ffff:ffff:ffff,US -2620:47::,2620:47:0:ffff:ffff:ffff:ffff:ffff,US +2620:47::,2620:47::ffff:ffff:ffff:ffff:ffff,US 2620:47:8000::,2620:47:8000:ffff:ffff:ffff:ffff:ffff,US -2620:48::,2620:48:0:ffff:ffff:ffff:ffff:ffff,US +2620:48::,2620:48::ffff:ffff:ffff:ffff:ffff,US 2620:48:8000::,2620:48:8000:ffff:ffff:ffff:ffff:ffff,US 2620:49::,2620:49:f:ffff:ffff:ffff:ffff:ffff,CA 2620:49:8080::,2620:49:8080:ffff:ffff:ffff:ffff:ffff,US -2620:4a::,2620:4a:0:ffff:ffff:ffff:ffff:ffff,US +2620:4a::,2620:4a::ffff:ffff:ffff:ffff:ffff,US 2620:4a:8000::,2620:4a:8000:ffff:ffff:ffff:ffff:ffff,US -2620:4b::,2620:4b:0:ffff:ffff:ffff:ffff:ffff,US +2620:4b::,2620:4b::ffff:ffff:ffff:ffff:ffff,US 2620:4b:8000::,2620:4b:800f:ffff:ffff:ffff:ffff:ffff,US 2620:4c::,2620:4c:1:ffff:ffff:ffff:ffff:ffff,US 2620:4c:8000::,2620:4c:8000:ffff:ffff:ffff:ffff:ffff,US -2620:4d::,2620:4d:0:ffff:ffff:ffff:ffff:ffff,US +2620:4d::,2620:4d::ffff:ffff:ffff:ffff:ffff,US 2620:4d:8000::,2620:4d:8000:ffff:ffff:ffff:ffff:ffff,US -2620:4e::,2620:4e:0:ffff:ffff:ffff:ffff:ffff,US +2620:4e::,2620:4e::ffff:ffff:ffff:ffff:ffff,US 2620:4e:8000::,2620:4e:8000:ffff:ffff:ffff:ffff:ffff,US -2620:4f::,2620:4f:0:ffff:ffff:ffff:ffff:ffff,US +2620:4f::,2620:4f::ffff:ffff:ffff:ffff:ffff,US 2620:4f:8000::,2620:4f:8000:ffff:ffff:ffff:ffff:ffff,US 2620:50::,2620:50:f:ffff:ffff:ffff:ffff:ffff,US 2620:50:8080::,2620:50:8080:ffff:ffff:ffff:ffff:ffff,US -2620:51::,2620:51:0:ffff:ffff:ffff:ffff:ffff,US +2620:51::,2620:51::ffff:ffff:ffff:ffff:ffff,US 2620:51:8000::,2620:51:8000:ffff:ffff:ffff:ffff:ffff,CA 2620:52::,2620:52:3:ffff:ffff:ffff:ffff:ffff,US 2620:52:8000::,2620:52:8000:ffff:ffff:ffff:ffff:ffff,US -2620:53::,2620:53:0:ffff:ffff:ffff:ffff:ffff,US +2620:53::,2620:53::ffff:ffff:ffff:ffff:ffff,US 2620:53:8000::,2620:53:8000:ffff:ffff:ffff:ffff:ffff,US -2620:54::,2620:54:0:ffff:ffff:ffff:ffff:ffff,US +2620:54::,2620:54::ffff:ffff:ffff:ffff:ffff,US 2620:54:8000::,2620:54:8000:ffff:ffff:ffff:ffff:ffff,US -2620:55::,2620:55:0:ffff:ffff:ffff:ffff:ffff,US +2620:55::,2620:55::ffff:ffff:ffff:ffff:ffff,US 2620:55:8000::,2620:55:8000:ffff:ffff:ffff:ffff:ffff,US -2620:56::,2620:56:0:ffff:ffff:ffff:ffff:ffff,US +2620:56::,2620:56::ffff:ffff:ffff:ffff:ffff,US 2620:56:8000::,2620:56:8000:ffff:ffff:ffff:ffff:ffff,US -2620:57::,2620:57:0:ffff:ffff:ffff:ffff:ffff,US +2620:57::,2620:57::ffff:ffff:ffff:ffff:ffff,US 2620:57:8000::,2620:57:8000:ffff:ffff:ffff:ffff:ffff,US 2620:58::,2620:58:ff:ffff:ffff:ffff:ffff:ffff,US -2620:59::,2620:59:0:ffff:ffff:ffff:ffff:ffff,US +2620:58:8800::,2620:58:8800:ffff:ffff:ffff:ffff:ffff,US +2620:59::,2620:59::ffff:ffff:ffff:ffff:ffff,US 2620:59:8000::,2620:59:8000:ffff:ffff:ffff:ffff:ffff,US -2620:5a::,2620:5a:0:ffff:ffff:ffff:ffff:ffff,US +2620:5a::,2620:5a::ffff:ffff:ffff:ffff:ffff,US 2620:5a:8000::,2620:5a:8000:ffff:ffff:ffff:ffff:ffff,US -2620:5b::,2620:5b:0:ffff:ffff:ffff:ffff:ffff,US +2620:5b::,2620:5b::ffff:ffff:ffff:ffff:ffff,US 2620:5b:8000::,2620:5b:8000:ffff:ffff:ffff:ffff:ffff,CA -2620:5c::,2620:5c:0:ffff:ffff:ffff:ffff:ffff,US +2620:5c::,2620:5c::ffff:ffff:ffff:ffff:ffff,US 2620:5c:8000::,2620:5c:8000:ffff:ffff:ffff:ffff:ffff,US -2620:5d::,2620:5d:0:ffff:ffff:ffff:ffff:ffff,US +2620:5d::,2620:5d::ffff:ffff:ffff:ffff:ffff,US 2620:5d:8000::,2620:5d:8000:ffff:ffff:ffff:ffff:ffff,US -2620:5e::,2620:5e:0:ffff:ffff:ffff:ffff:ffff,US +2620:5e::,2620:5e::ffff:ffff:ffff:ffff:ffff,US 2620:5e:8000::,2620:5e:8000:ffff:ffff:ffff:ffff:ffff,US -2620:5f::,2620:5f:0:ffff:ffff:ffff:ffff:ffff,US +2620:5f::,2620:5f::ffff:ffff:ffff:ffff:ffff,US 2620:5f:8000::,2620:5f:8000:ffff:ffff:ffff:ffff:ffff,US -2620:60::,2620:60:0:ffff:ffff:ffff:ffff:ffff,US +2620:60::,2620:60::ffff:ffff:ffff:ffff:ffff,US 2620:60:8000::,2620:60:8000:ffff:ffff:ffff:ffff:ffff,CA -2620:61::,2620:61:0:ffff:ffff:ffff:ffff:ffff,CA +2620:61::,2620:61::ffff:ffff:ffff:ffff:ffff,CA 2620:61:8000::,2620:61:8000:ffff:ffff:ffff:ffff:ffff,US -2620:62::,2620:62:0:ffff:ffff:ffff:ffff:ffff,US +2620:62::,2620:62::ffff:ffff:ffff:ffff:ffff,US 2620:62:8000::,2620:62:8000:ffff:ffff:ffff:ffff:ffff,US -2620:63::,2620:63:0:ffff:ffff:ffff:ffff:ffff,US +2620:63::,2620:63::ffff:ffff:ffff:ffff:ffff,US 2620:63:8000::,2620:63:8000:ffff:ffff:ffff:ffff:ffff,US -2620:64::,2620:64:0:ffff:ffff:ffff:ffff:ffff,US -2620:64:8000::,2620:64:8000:ffff:ffff:ffff:ffff:ffff,CA -2620:65::,2620:65:0:ffff:ffff:ffff:ffff:ffff,US +2620:64::,2620:64::ffff:ffff:ffff:ffff:ffff,US +2620:64:8000::,2620:64:8000:ffff:ffff:ffff:ffff:ffff,TW +2620:65::,2620:65::ffff:ffff:ffff:ffff:ffff,US 2620:65:8000::,2620:65:8000:ffff:ffff:ffff:ffff:ffff,US -2620:66::,2620:66:0:ffff:ffff:ffff:ffff:ffff,CA +2620:66::,2620:66::ffff:ffff:ffff:ffff:ffff,CA 2620:66:8000::,2620:66:8000:ffff:ffff:ffff:ffff:ffff,US -2620:67::,2620:67:0:ffff:ffff:ffff:ffff:ffff,US -2620:68::,2620:68:0:ffff:ffff:ffff:ffff:ffff,US +2620:67::,2620:67::ffff:ffff:ffff:ffff:ffff,US +2620:67:8000::,2620:67:8000:ffff:ffff:ffff:ffff:ffff,US +2620:68::,2620:68::ffff:ffff:ffff:ffff:ffff,US 2620:68:8000::,2620:68:8000:ffff:ffff:ffff:ffff:ffff,CA -2620:69::,2620:69:0:ffff:ffff:ffff:ffff:ffff,US +2620:69::,2620:69::ffff:ffff:ffff:ffff:ffff,US 2620:69:8000::,2620:69:8000:ffff:ffff:ffff:ffff:ffff,US -2620:6a::,2620:6a:0:ffff:ffff:ffff:ffff:ffff,US +2620:6a::,2620:6a::ffff:ffff:ffff:ffff:ffff,US 2620:6a:8000::,2620:6a:8000:ffff:ffff:ffff:ffff:ffff,US -2620:6b::,2620:6b:0:ffff:ffff:ffff:ffff:ffff,US +2620:6b::,2620:6b::ffff:ffff:ffff:ffff:ffff,US 2620:6b:8000::,2620:6b:8000:ffff:ffff:ffff:ffff:ffff,US 2620:6c::,2620:6c:3f:ffff:ffff:ffff:ffff:ffff,US 2620:6c:8080::,2620:6c:8080:ffff:ffff:ffff:ffff:ffff,US -2620:6d::,2620:6d:0:ffff:ffff:ffff:ffff:ffff,US +2620:6d:40::,2620:6d:40:ffff:ffff:ffff:ffff:ffff,US 2620:6d:8000::,2620:6d:8000:ffff:ffff:ffff:ffff:ffff,US -2620:6e::,2620:6e:0:ffff:ffff:ffff:ffff:ffff,US +2620:6e::,2620:6e::ffff:ffff:ffff:ffff:ffff,US 2620:6e:8000::,2620:6e:8000:ffff:ffff:ffff:ffff:ffff,US -2620:6f::,2620:6f:0:ffff:ffff:ffff:ffff:ffff,US +2620:6f::,2620:6f::ffff:ffff:ffff:ffff:ffff,US 2620:6f:8000::,2620:6f:8000:ffff:ffff:ffff:ffff:ffff,US -2620:70::,2620:70:0:ffff:ffff:ffff:ffff:ffff,US +2620:70::,2620:70::ffff:ffff:ffff:ffff:ffff,US 2620:70:8000::,2620:70:8000:ffff:ffff:ffff:ffff:ffff,US -2620:71::,2620:71:0:ffff:ffff:ffff:ffff:ffff,US +2620:71::,2620:71::ffff:ffff:ffff:ffff:ffff,US 2620:71:8000::,2620:71:8000:ffff:ffff:ffff:ffff:ffff,US -2620:72::,2620:72:0:ffff:ffff:ffff:ffff:ffff,US +2620:72::,2620:72::ffff:ffff:ffff:ffff:ffff,US 2620:72:8000::,2620:72:8000:ffff:ffff:ffff:ffff:ffff,US -2620:73::,2620:73:0:ffff:ffff:ffff:ffff:ffff,US +2620:73::,2620:73::ffff:ffff:ffff:ffff:ffff,US 2620:73:8000::,2620:73:8000:ffff:ffff:ffff:ffff:ffff,US 2620:74::,2620:74:1f:ffff:ffff:ffff:ffff:ffff,US 2620:74:8080::,2620:74:8080:ffff:ffff:ffff:ffff:ffff,US -2620:75::,2620:75:0:ffff:ffff:ffff:ffff:ffff,US +2620:75::,2620:75::ffff:ffff:ffff:ffff:ffff,US 2620:75:8000::,2620:75:8000:ffff:ffff:ffff:ffff:ffff,US -2620:76::,2620:76:0:ffff:ffff:ffff:ffff:ffff,US +2620:76::,2620:76::ffff:ffff:ffff:ffff:ffff,US 2620:76:8000::,2620:76:8000:ffff:ffff:ffff:ffff:ffff,US -2620:77::,2620:77:0:ffff:ffff:ffff:ffff:ffff,US +2620:77::,2620:77::ffff:ffff:ffff:ffff:ffff,US 2620:77:8000::,2620:77:8000:ffff:ffff:ffff:ffff:ffff,US -2620:78::,2620:78:0:ffff:ffff:ffff:ffff:ffff,US +2620:78::,2620:78::ffff:ffff:ffff:ffff:ffff,US 2620:78:8000::,2620:78:8000:ffff:ffff:ffff:ffff:ffff,US -2620:79::,2620:79:0:ffff:ffff:ffff:ffff:ffff,US +2620:79::,2620:79::ffff:ffff:ffff:ffff:ffff,US 2620:79:8000::,2620:79:8000:ffff:ffff:ffff:ffff:ffff,US -2620:7a::,2620:7a:0:ffff:ffff:ffff:ffff:ffff,US +2620:7a::,2620:7a::ffff:ffff:ffff:ffff:ffff,US 2620:7a:8000::,2620:7a:8000:ffff:ffff:ffff:ffff:ffff,US -2620:7b::,2620:7b:0:ffff:ffff:ffff:ffff:ffff,US +2620:7b::,2620:7b::ffff:ffff:ffff:ffff:ffff,US 2620:7b:8000::,2620:7b:8000:ffff:ffff:ffff:ffff:ffff,US 2620:7b:e000::,2620:7b:e000:ffff:ffff:ffff:ffff:ffff,US 2620:7c:4000::,2620:7c:4000:ffff:ffff:ffff:ffff:ffff,US 2620:7c:a000::,2620:7c:a000:ffff:ffff:ffff:ffff:ffff,US -2620:7d::,2620:7d:0:ffff:ffff:ffff:ffff:ffff,US +2620:7d::,2620:7d::ffff:ffff:ffff:ffff:ffff,US 2620:7d:8000::,2620:7d:8000:ffff:ffff:ffff:ffff:ffff,US 2620:7e::,2620:7e:f:ffff:ffff:ffff:ffff:ffff,US 2620:7e:60c0::,2620:7e:60c0:ffff:ffff:ffff:ffff:ffff,US 2620:7e:c080::,2620:7e:c080:ffff:ffff:ffff:ffff:ffff,US 2620:7f:2040::,2620:7f:2040:ffff:ffff:ffff:ffff:ffff,US 2620:7f:8000::,2620:7f:8000:ffff:ffff:ffff:ffff:ffff,CA -2620:80::,2620:80:0:ffff:ffff:ffff:ffff:ffff,US +2620:80::,2620:80::ffff:ffff:ffff:ffff:ffff,US 2620:80:8000::,2620:80:8000:ffff:ffff:ffff:ffff:ffff,CA -2620:81::,2620:81:0:ffff:ffff:ffff:ffff:ffff,US +2620:81::,2620:81::ffff:ffff:ffff:ffff:ffff,US 2620:81:8000::,2620:81:8000:ffff:ffff:ffff:ffff:ffff,US -2620:82::,2620:82:0:ffff:ffff:ffff:ffff:ffff,US +2620:82::,2620:82::ffff:ffff:ffff:ffff:ffff,US 2620:82:8000::,2620:82:8000:ffff:ffff:ffff:ffff:ffff,US -2620:83::,2620:83:0:ffff:ffff:ffff:ffff:ffff,US +2620:83::,2620:83::ffff:ffff:ffff:ffff:ffff,US 2620:83:8000::,2620:83:8000:ffff:ffff:ffff:ffff:ffff,US 2620:84::,2620:84:1:ffff:ffff:ffff:ffff:ffff,US 2620:84:8000::,2620:84:8000:ffff:ffff:ffff:ffff:ffff,US -2620:85::,2620:85:0:ffff:ffff:ffff:ffff:ffff,US +2620:85::,2620:85::ffff:ffff:ffff:ffff:ffff,US 2620:85:8000::,2620:85:8000:ffff:ffff:ffff:ffff:ffff,US -2620:86::,2620:86:0:ffff:ffff:ffff:ffff:ffff,US +2620:86::,2620:86::ffff:ffff:ffff:ffff:ffff,US 2620:86:8000::,2620:86:8000:ffff:ffff:ffff:ffff:ffff,US -2620:87::,2620:87:0:ffff:ffff:ffff:ffff:ffff,US +2620:87::,2620:87::ffff:ffff:ffff:ffff:ffff,US 2620:87:8000::,2620:87:8000:ffff:ffff:ffff:ffff:ffff,US -2620:88::,2620:88:0:ffff:ffff:ffff:ffff:ffff,US +2620:88::,2620:88::ffff:ffff:ffff:ffff:ffff,US 2620:88:8000::,2620:88:8000:ffff:ffff:ffff:ffff:ffff,US -2620:89::,2620:89:0:ffff:ffff:ffff:ffff:ffff,US +2620:89::,2620:89::ffff:ffff:ffff:ffff:ffff,US 2620:89:8000::,2620:89:8000:ffff:ffff:ffff:ffff:ffff,US -2620:8a::,2620:8a:0:ffff:ffff:ffff:ffff:ffff,US +2620:8a::,2620:8a::ffff:ffff:ffff:ffff:ffff,US 2620:8a:8000::,2620:8a:8000:ffff:ffff:ffff:ffff:ffff,US -2620:8b::,2620:8b:0:ffff:ffff:ffff:ffff:ffff,US +2620:8b::,2620:8b::ffff:ffff:ffff:ffff:ffff,US 2620:8b:8000::,2620:8b:8000:ffff:ffff:ffff:ffff:ffff,CA -2620:8c::,2620:8c:0:ffff:ffff:ffff:ffff:ffff,US +2620:8c::,2620:8c::ffff:ffff:ffff:ffff:ffff,US 2620:8c:8000::,2620:8c:8000:ffff:ffff:ffff:ffff:ffff,US -2620:8d::,2620:8d:0:ffff:ffff:ffff:ffff:ffff,US +2620:8d::,2620:8d::ffff:ffff:ffff:ffff:ffff,US 2620:8d:8000::,2620:8d:8000:ffff:ffff:ffff:ffff:ffff,US -2620:8e::,2620:8e:0:ffff:ffff:ffff:ffff:ffff,US +2620:8e::,2620:8e::ffff:ffff:ffff:ffff:ffff,US 2620:8e:8000::,2620:8e:8000:ffff:ffff:ffff:ffff:ffff,US -2620:8f::,2620:8f:0:ffff:ffff:ffff:ffff:ffff,US +2620:8f::,2620:8f::ffff:ffff:ffff:ffff:ffff,US 2620:8f:8000::,2620:8f:8000:ffff:ffff:ffff:ffff:ffff,US -2620:90::,2620:90:0:ffff:ffff:ffff:ffff:ffff,US +2620:90::,2620:90::ffff:ffff:ffff:ffff:ffff,CA 2620:90:8000::,2620:90:8000:ffff:ffff:ffff:ffff:ffff,US -2620:91::,2620:91:0:ffff:ffff:ffff:ffff:ffff,US +2620:91::,2620:91::ffff:ffff:ffff:ffff:ffff,US 2620:91:8000::,2620:91:8000:ffff:ffff:ffff:ffff:ffff,US -2620:92::,2620:92:0:ffff:ffff:ffff:ffff:ffff,US +2620:92::,2620:92:f:ffff:ffff:ffff:ffff:ffff,US 2620:92:8000::,2620:92:8000:ffff:ffff:ffff:ffff:ffff,US -2620:93::,2620:93:0:ffff:ffff:ffff:ffff:ffff,US +2620:93::,2620:93::ffff:ffff:ffff:ffff:ffff,US 2620:93:8000::,2620:93:8000:ffff:ffff:ffff:ffff:ffff,US -2620:94::,2620:94:0:ffff:ffff:ffff:ffff:ffff,US +2620:94::,2620:94::ffff:ffff:ffff:ffff:ffff,US 2620:94:8000::,2620:94:8000:ffff:ffff:ffff:ffff:ffff,US -2620:95::,2620:95:0:ffff:ffff:ffff:ffff:ffff,US +2620:95::,2620:95::ffff:ffff:ffff:ffff:ffff,US 2620:95:8000::,2620:95:8000:ffff:ffff:ffff:ffff:ffff,US -2620:96::,2620:96:0:ffff:ffff:ffff:ffff:ffff,US +2620:96::,2620:96::ffff:ffff:ffff:ffff:ffff,US 2620:96:8000::,2620:96:8000:ffff:ffff:ffff:ffff:ffff,US -2620:97::,2620:97:0:ffff:ffff:ffff:ffff:ffff,US +2620:97::,2620:97::ffff:ffff:ffff:ffff:ffff,US 2620:97:8000::,2620:97:8000:ffff:ffff:ffff:ffff:ffff,US -2620:98::,2620:98:0:ffff:ffff:ffff:ffff:ffff,US +2620:98::,2620:98::ffff:ffff:ffff:ffff:ffff,US 2620:98:8000::,2620:98:8000:ffff:ffff:ffff:ffff:ffff,US -2620:99::,2620:99:0:ffff:ffff:ffff:ffff:ffff,US +2620:99::,2620:99::ffff:ffff:ffff:ffff:ffff,US 2620:99:8000::,2620:99:8000:ffff:ffff:ffff:ffff:ffff,US -2620:9a::,2620:9a:0:ffff:ffff:ffff:ffff:ffff,CA +2620:9a::,2620:9a::ffff:ffff:ffff:ffff:ffff,CA 2620:9a:8000::,2620:9a:8000:ffff:ffff:ffff:ffff:ffff,US -2620:9b::,2620:9b:0:ffff:ffff:ffff:ffff:ffff,US +2620:9b::,2620:9b::ffff:ffff:ffff:ffff:ffff,US 2620:9b:8000::,2620:9b:8000:ffff:ffff:ffff:ffff:ffff,US -2620:9c::,2620:9c:0:ffff:ffff:ffff:ffff:ffff,US +2620:9c::,2620:9c::ffff:ffff:ffff:ffff:ffff,US 2620:9c:8000::,2620:9c:8000:ffff:ffff:ffff:ffff:ffff,US -2620:9d::,2620:9d:0:ffff:ffff:ffff:ffff:ffff,US +2620:9d::,2620:9d::ffff:ffff:ffff:ffff:ffff,US 2620:9d:8000::,2620:9d:8000:ffff:ffff:ffff:ffff:ffff,US -2620:9e::,2620:9e:0:ffff:ffff:ffff:ffff:ffff,US +2620:9e::,2620:9e::ffff:ffff:ffff:ffff:ffff,US 2620:9e:8000::,2620:9e:8000:ffff:ffff:ffff:ffff:ffff,US -2620:9f::,2620:9f:0:ffff:ffff:ffff:ffff:ffff,US +2620:9f::,2620:9f:ff:ffff:ffff:ffff:ffff:ffff,US 2620:9f:8000::,2620:9f:8000:ffff:ffff:ffff:ffff:ffff,US -2620:a0::,2620:a0:0:ffff:ffff:ffff:ffff:ffff,US +2620:a0::,2620:a0::ffff:ffff:ffff:ffff:ffff,US 2620:a0:8000::,2620:a0:8000:ffff:ffff:ffff:ffff:ffff,US -2620:a1::,2620:a1:0:ffff:ffff:ffff:ffff:ffff,US +2620:a1::,2620:a1::ffff:ffff:ffff:ffff:ffff,US 2620:a1:8000::,2620:a1:8000:ffff:ffff:ffff:ffff:ffff,US -2620:a2::,2620:a2:0:ffff:ffff:ffff:ffff:ffff,US +2620:a2::,2620:a2::ffff:ffff:ffff:ffff:ffff,US 2620:a2:8000::,2620:a2:8000:ffff:ffff:ffff:ffff:ffff,US -2620:a3::,2620:a3:0:ffff:ffff:ffff:ffff:ffff,US +2620:a3::,2620:a3::ffff:ffff:ffff:ffff:ffff,US 2620:a3:8000::,2620:a3:8000:ffff:ffff:ffff:ffff:ffff,US 2620:a4::,2620:a4:f:ffff:ffff:ffff:ffff:ffff,US 2620:a4:8080::,2620:a4:8080:ffff:ffff:ffff:ffff:ffff,US -2620:a5::,2620:a5:0:ffff:ffff:ffff:ffff:ffff,US +2620:a5::,2620:a5::ffff:ffff:ffff:ffff:ffff,US 2620:a5:8000::,2620:a5:8000:ffff:ffff:ffff:ffff:ffff,US -2620:a6::,2620:a6:0:ffff:ffff:ffff:ffff:ffff,US +2620:a6::,2620:a6::ffff:ffff:ffff:ffff:ffff,US 2620:a6:8000::,2620:a6:8000:ffff:ffff:ffff:ffff:ffff,US -2620:a7::,2620:a7:0:ffff:ffff:ffff:ffff:ffff,US +2620:a7::,2620:a7::ffff:ffff:ffff:ffff:ffff,US 2620:a7:8000::,2620:a7:8000:ffff:ffff:ffff:ffff:ffff,US -2620:a8::,2620:a8:0:ffff:ffff:ffff:ffff:ffff,US +2620:a8::,2620:a8::ffff:ffff:ffff:ffff:ffff,US 2620:a8:8000::,2620:a8:8000:ffff:ffff:ffff:ffff:ffff,US -2620:a9::,2620:a9:0:ffff:ffff:ffff:ffff:ffff,US +2620:a9::,2620:a9::ffff:ffff:ffff:ffff:ffff,US 2620:a9:8000::,2620:a9:8000:ffff:ffff:ffff:ffff:ffff,US -2620:aa::,2620:aa:0:ffff:ffff:ffff:ffff:ffff,US +2620:aa::,2620:aa::ffff:ffff:ffff:ffff:ffff,US 2620:aa:8000::,2620:aa:8000:ffff:ffff:ffff:ffff:ffff,US -2620:ab::,2620:ab:0:ffff:ffff:ffff:ffff:ffff,US +2620:ab::,2620:ab::ffff:ffff:ffff:ffff:ffff,US 2620:ab:8000::,2620:ab:8000:ffff:ffff:ffff:ffff:ffff,US -2620:ac::,2620:ac:0:ffff:ffff:ffff:ffff:ffff,US +2620:ac::,2620:ac::ffff:ffff:ffff:ffff:ffff,US 2620:ac:8000::,2620:ac:8000:ffff:ffff:ffff:ffff:ffff,US -2620:ad::,2620:ad:0:ffff:ffff:ffff:ffff:ffff,US +2620:ad::,2620:ad::ffff:ffff:ffff:ffff:ffff,US 2620:ad:8000::,2620:ad:8000:ffff:ffff:ffff:ffff:ffff,US -2620:ae::,2620:ae:0:ffff:ffff:ffff:ffff:ffff,CA +2620:ae::,2620:ae::ffff:ffff:ffff:ffff:ffff,CA 2620:ae:8000::,2620:ae:8000:ffff:ffff:ffff:ffff:ffff,US -2620:af::,2620:af:0:ffff:ffff:ffff:ffff:ffff,US +2620:af::,2620:af::ffff:ffff:ffff:ffff:ffff,US 2620:af:8000::,2620:af:8000:ffff:ffff:ffff:ffff:ffff,US -2620:b0::,2620:b0:0:ffff:ffff:ffff:ffff:ffff,CA +2620:b0::,2620:b0::ffff:ffff:ffff:ffff:ffff,CA 2620:b0:8000::,2620:b0:8000:ffff:ffff:ffff:ffff:ffff,US -2620:b1::,2620:b1:0:ffff:ffff:ffff:ffff:ffff,US +2620:b1::,2620:b1::ffff:ffff:ffff:ffff:ffff,US 2620:b1:8000::,2620:b1:8000:ffff:ffff:ffff:ffff:ffff,US +2620:b2::,2620:b2::ffff:ffff:ffff:ffff:ffff,US 2620:b2:8000::,2620:b2:8000:ffff:ffff:ffff:ffff:ffff,US -2620:b3::,2620:b3:0:ffff:ffff:ffff:ffff:ffff,US +2620:b3::,2620:b3::ffff:ffff:ffff:ffff:ffff,US 2620:b3:8000::,2620:b3:8000:ffff:ffff:ffff:ffff:ffff,US -2620:b4::,2620:b4:0:ffff:ffff:ffff:ffff:ffff,US +2620:b4::,2620:b4::ffff:ffff:ffff:ffff:ffff,US 2620:b4:8000::,2620:b4:8000:ffff:ffff:ffff:ffff:ffff,CA -2620:b5::,2620:b5:0:ffff:ffff:ffff:ffff:ffff,US +2620:b5::,2620:b5::ffff:ffff:ffff:ffff:ffff,US 2620:b5:8000::,2620:b5:8000:ffff:ffff:ffff:ffff:ffff,US -2620:b6::,2620:b6:0:ffff:ffff:ffff:ffff:ffff,US +2620:b6::,2620:b6::ffff:ffff:ffff:ffff:ffff,US 2620:b6:8000::,2620:b6:8000:ffff:ffff:ffff:ffff:ffff,US -2620:b7::,2620:b7:0:ffff:ffff:ffff:ffff:ffff,US +2620:b7::,2620:b7::ffff:ffff:ffff:ffff:ffff,US 2620:b7:8000::,2620:b7:8000:ffff:ffff:ffff:ffff:ffff,CA -2620:b8::,2620:b8:0:ffff:ffff:ffff:ffff:ffff,US +2620:b8::,2620:b8::ffff:ffff:ffff:ffff:ffff,US 2620:b8:8000::,2620:b8:8000:ffff:ffff:ffff:ffff:ffff,US -2620:b9::,2620:b9:0:ffff:ffff:ffff:ffff:ffff,US +2620:b9::,2620:b9::ffff:ffff:ffff:ffff:ffff,US 2620:b9:8000::,2620:b9:8000:ffff:ffff:ffff:ffff:ffff,US -2620:ba::,2620:ba:0:ffff:ffff:ffff:ffff:ffff,US +2620:ba::,2620:ba::ffff:ffff:ffff:ffff:ffff,US 2620:ba:8000::,2620:ba:8000:ffff:ffff:ffff:ffff:ffff,US -2620:bb::,2620:bb:0:ffff:ffff:ffff:ffff:ffff,US +2620:bb::,2620:bb::ffff:ffff:ffff:ffff:ffff,US 2620:bb:8000::,2620:bb:8000:ffff:ffff:ffff:ffff:ffff,US -2620:bc::,2620:bc:0:ffff:ffff:ffff:ffff:ffff,US +2620:bc::,2620:bc::ffff:ffff:ffff:ffff:ffff,US 2620:bc:8000::,2620:bc:8000:ffff:ffff:ffff:ffff:ffff,US -2620:bd::,2620:bd:0:ffff:ffff:ffff:ffff:ffff,CA +2620:bd::,2620:bd::ffff:ffff:ffff:ffff:ffff,CA 2620:bd:8000::,2620:bd:8000:ffff:ffff:ffff:ffff:ffff,US -2620:be::,2620:be:0:ffff:ffff:ffff:ffff:ffff,US +2620:be::,2620:be::ffff:ffff:ffff:ffff:ffff,US 2620:be:8000::,2620:be:8000:ffff:ffff:ffff:ffff:ffff,US -2620:bf::,2620:bf:0:ffff:ffff:ffff:ffff:ffff,US +2620:bf::,2620:bf::ffff:ffff:ffff:ffff:ffff,US 2620:bf:8000::,2620:bf:8000:ffff:ffff:ffff:ffff:ffff,US -2620:c0::,2620:c0:0:ffff:ffff:ffff:ffff:ffff,US +2620:c0::,2620:c0::ffff:ffff:ffff:ffff:ffff,US 2620:c0:8000::,2620:c0:8000:ffff:ffff:ffff:ffff:ffff,US -2620:c1::,2620:c1:0:ffff:ffff:ffff:ffff:ffff,US +2620:c1::,2620:c1::ffff:ffff:ffff:ffff:ffff,US 2620:c1:8000::,2620:c1:8000:ffff:ffff:ffff:ffff:ffff,US -2620:c2::,2620:c2:0:ffff:ffff:ffff:ffff:ffff,CA +2620:c2::,2620:c2::ffff:ffff:ffff:ffff:ffff,CA 2620:c2:8000::,2620:c2:8000:ffff:ffff:ffff:ffff:ffff,US -2620:c3::,2620:c3:0:ffff:ffff:ffff:ffff:ffff,US +2620:c3::,2620:c3::ffff:ffff:ffff:ffff:ffff,US 2620:c3:8000::,2620:c3:8000:ffff:ffff:ffff:ffff:ffff,US -2620:c4::,2620:c4:0:ffff:ffff:ffff:ffff:ffff,US +2620:c4::,2620:c4::ffff:ffff:ffff:ffff:ffff,US 2620:c4:8000::,2620:c4:8000:ffff:ffff:ffff:ffff:ffff,US -2620:c5::,2620:c5:0:ffff:ffff:ffff:ffff:ffff,US +2620:c5::,2620:c5::ffff:ffff:ffff:ffff:ffff,US 2620:c5:8000::,2620:c5:8000:ffff:ffff:ffff:ffff:ffff,US -2620:c6::,2620:c6:0:ffff:ffff:ffff:ffff:ffff,US +2620:c6::,2620:c6::ffff:ffff:ffff:ffff:ffff,US 2620:c6:8000::,2620:c6:8000:ffff:ffff:ffff:ffff:ffff,US -2620:c7::,2620:c7:0:ffff:ffff:ffff:ffff:ffff,US +2620:c7::,2620:c7::ffff:ffff:ffff:ffff:ffff,US 2620:c7:8000::,2620:c7:8000:ffff:ffff:ffff:ffff:ffff,US -2620:c8::,2620:c8:0:ffff:ffff:ffff:ffff:ffff,US +2620:c8::,2620:c8::ffff:ffff:ffff:ffff:ffff,US 2620:c8:8000::,2620:c8:8000:ffff:ffff:ffff:ffff:ffff,US -2620:c9::,2620:c9:0:ffff:ffff:ffff:ffff:ffff,US +2620:c9::,2620:c9::ffff:ffff:ffff:ffff:ffff,US 2620:c9:8000::,2620:c9:8000:ffff:ffff:ffff:ffff:ffff,US -2620:ca::,2620:ca:0:ffff:ffff:ffff:ffff:ffff,US +2620:ca::,2620:ca::ffff:ffff:ffff:ffff:ffff,US 2620:ca:8000::,2620:ca:8000:ffff:ffff:ffff:ffff:ffff,US -2620:cb::,2620:cb:0:ffff:ffff:ffff:ffff:ffff,US +2620:cb::,2620:cb::ffff:ffff:ffff:ffff:ffff,US 2620:cb:8000::,2620:cb:8000:ffff:ffff:ffff:ffff:ffff,CA -2620:cc::,2620:cc:0:ffff:ffff:ffff:ffff:ffff,US +2620:cc::,2620:cc::ffff:ffff:ffff:ffff:ffff,US 2620:cc:8000::,2620:cc:8000:ffff:ffff:ffff:ffff:ffff,US -2620:cd::,2620:cd:0:ffff:ffff:ffff:ffff:ffff,US +2620:cd::,2620:cd::ffff:ffff:ffff:ffff:ffff,US 2620:cd:8000::,2620:cd:8000:ffff:ffff:ffff:ffff:ffff,US -2620:ce::,2620:ce:0:ffff:ffff:ffff:ffff:ffff,US +2620:ce::,2620:ce::ffff:ffff:ffff:ffff:ffff,US 2620:ce:8000::,2620:ce:8000:ffff:ffff:ffff:ffff:ffff,US -2620:cf::,2620:cf:0:ffff:ffff:ffff:ffff:ffff,US -2620:d0::,2620:d0:0:ffff:ffff:ffff:ffff:ffff,US +2620:cf::,2620:cf::ffff:ffff:ffff:ffff:ffff,US +2620:cf:8000::,2620:cf:8000:ffff:ffff:ffff:ffff:ffff,US +2620:d0::,2620:d0::ffff:ffff:ffff:ffff:ffff,US 2620:d0:8000::,2620:d0:8000:ffff:ffff:ffff:ffff:ffff,US -2620:d1::,2620:d1:0:ffff:ffff:ffff:ffff:ffff,US +2620:d1::,2620:d1::ffff:ffff:ffff:ffff:ffff,US 2620:d1:8000::,2620:d1:8000:ffff:ffff:ffff:ffff:ffff,US -2620:d2::,2620:d2:0:ffff:ffff:ffff:ffff:ffff,US +2620:d2::,2620:d2::ffff:ffff:ffff:ffff:ffff,US 2620:d2:8000::,2620:d2:8000:ffff:ffff:ffff:ffff:ffff,US -2620:d3::,2620:d3:0:ffff:ffff:ffff:ffff:ffff,US +2620:d3::,2620:d3::ffff:ffff:ffff:ffff:ffff,US 2620:d3:8000::,2620:d3:8000:ffff:ffff:ffff:ffff:ffff,US -2620:d4::,2620:d4:0:ffff:ffff:ffff:ffff:ffff,US -2620:d5::,2620:d5:0:ffff:ffff:ffff:ffff:ffff,US +2620:d4::,2620:d4::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 2620:d5:8000::,2620:d5:8000:ffff:ffff:ffff:ffff:ffff,US -2620:d6::,2620:d6:0:ffff:ffff:ffff:ffff:ffff,US -2620:d6:8000::,2620:d6:8000:ffff:ffff:ffff:ffff:ffff,CA -2620:d7::,2620:d7:0:ffff:ffff:ffff:ffff:ffff,US -2620:d8::,2620:d8:0:ffff:ffff:ffff:ffff:ffff,US +2620:d6::,2620:d6::ffff:ffff:ffff:ffff:ffff,US +2620:d6:8000::,2620:d6:8000:ffff:ffff:ffff:ffff:ffff,US +2620:d7::,2620:d7::ffff:ffff:ffff:ffff:ffff,US +2620:d7:8000::,2620:d7:8000:ffff:ffff:ffff:ffff:ffff,US +2620:d8::,2620:d8::ffff:ffff:ffff:ffff:ffff,US 2620:d8:8000::,2620:d8:8000:ffff:ffff:ffff:ffff:ffff,US -2620:d9::,2620:d9:0:ffff:ffff:ffff:ffff:ffff,US -2620:da::,2620:da:0:ffff:ffff:ffff:ffff:ffff,US -2620:db::,2620:db:0:ffff:ffff:ffff:ffff:ffff,US +2620:d9::,2620:d9::ffff:ffff:ffff:ffff:ffff,US +2620:d9:8000::,2620:d9:8000:ffff:ffff:ffff:ffff:ffff,US +2620:da::,2620:da::ffff:ffff:ffff:ffff:ffff,US +2620:da:8000::,2620:da:8000:ffff:ffff:ffff:ffff:ffff,US +2620:db::,2620:db::ffff:ffff:ffff:ffff:ffff,US 2620:db:8000::,2620:db:8000:ffff:ffff:ffff:ffff:ffff,US -2620:dc::,2620:dc:0:ffff:ffff:ffff:ffff:ffff,US +2620:dc::,2620:dc::ffff:ffff:ffff:ffff:ffff,US 2620:dc:8::,2620:dc:8:ffff:ffff:ffff:ffff:ffff,US 2620:dc:8000::,2620:dc:8000:ffff:ffff:ffff:ffff:ffff,CA -2620:dd::,2620:dd:0:ffff:ffff:ffff:ffff:ffff,CA +2620:dd::,2620:dd::ffff:ffff:ffff:ffff:ffff,CA 2620:dd:8000::,2620:dd:8000:ffff:ffff:ffff:ffff:ffff,US -2620:de::,2620:de:0:ffff:ffff:ffff:ffff:ffff,US +2620:de::,2620:de::ffff:ffff:ffff:ffff:ffff,US 2620:de:8000::,2620:de:8000:ffff:ffff:ffff:ffff:ffff,US -2620:df::,2620:df:0:ffff:ffff:ffff:ffff:ffff,US +2620:df::,2620:df::ffff:ffff:ffff:ffff:ffff,US 2620:df:8000::,2620:df:8000:ffff:ffff:ffff:ffff:ffff,US -2620:e0::,2620:e0:0:ffff:ffff:ffff:ffff:ffff,US +2620:e0::,2620:e0::ffff:ffff:ffff:ffff:ffff,US 2620:e0:8000::,2620:e0:8000:ffff:ffff:ffff:ffff:ffff,US -2620:e1::,2620:e1:0:ffff:ffff:ffff:ffff:ffff,US +2620:e1::,2620:e1::ffff:ffff:ffff:ffff:ffff,US 2620:e1:8000::,2620:e1:8000:ffff:ffff:ffff:ffff:ffff,US -2620:e2::,2620:e2:0:ffff:ffff:ffff:ffff:ffff,US +2620:e2::,2620:e2::ffff:ffff:ffff:ffff:ffff,US 2620:e2:8000::,2620:e2:8000:ffff:ffff:ffff:ffff:ffff,US -2620:e3::,2620:e3:0:ffff:ffff:ffff:ffff:ffff,US +2620:e3::,2620:e3::ffff:ffff:ffff:ffff:ffff,US 2620:e3:8000::,2620:e3:8000:ffff:ffff:ffff:ffff:ffff,US -2620:e4::,2620:e4:0:ffff:ffff:ffff:ffff:ffff,US +2620:e4::,2620:e4::ffff:ffff:ffff:ffff:ffff,US 2620:e4:8000::,2620:e4:8000:ffff:ffff:ffff:ffff:ffff,US -2620:e5::,2620:e5:0:ffff:ffff:ffff:ffff:ffff,US +2620:e5::,2620:e5::ffff:ffff:ffff:ffff:ffff,US 2620:e5:8000::,2620:e5:8000:ffff:ffff:ffff:ffff:ffff,US -2620:e6::,2620:e6:0:ffff:ffff:ffff:ffff:ffff,US +2620:e6::,2620:e6::ffff:ffff:ffff:ffff:ffff,US 2620:e6:8000::,2620:e6:8000:ffff:ffff:ffff:ffff:ffff,US -2620:e7::,2620:e7:0:ffff:ffff:ffff:ffff:ffff,US +2620:e7::,2620:e7::ffff:ffff:ffff:ffff:ffff,US 2620:e7:8000::,2620:e7:8000:ffff:ffff:ffff:ffff:ffff,CA -2620:e8::,2620:e8:0:ffff:ffff:ffff:ffff:ffff,US +2620:e8::,2620:e8::ffff:ffff:ffff:ffff:ffff,US 2620:e8:8000::,2620:e8:8000:ffff:ffff:ffff:ffff:ffff,US -2620:e9::,2620:e9:0:ffff:ffff:ffff:ffff:ffff,US +2620:e9::,2620:e9::ffff:ffff:ffff:ffff:ffff,US 2620:e9:8000::,2620:e9:8000:ffff:ffff:ffff:ffff:ffff,US -2620:ea::,2620:ea:0:ffff:ffff:ffff:ffff:ffff,US +2620:ea::,2620:ea:f:ffff:ffff:ffff:ffff:ffff,US 2620:ea:8000::,2620:ea:8000:ffff:ffff:ffff:ffff:ffff,US -2620:eb::,2620:eb:0:ffff:ffff:ffff:ffff:ffff,US +2620:eb::,2620:eb::ffff:ffff:ffff:ffff:ffff,US 2620:eb:8000::,2620:eb:8000:ffff:ffff:ffff:ffff:ffff,US -2620:ec::,2620:ec:0:ffff:ffff:ffff:ffff:ffff,US +2620:ec::,2620:ec::ffff:ffff:ffff:ffff:ffff,US 2620:ec:8000::,2620:ec:8000:ffff:ffff:ffff:ffff:ffff,US -2620:ed::,2620:ed:0:ffff:ffff:ffff:ffff:ffff,US +2620:ed::,2620:ed::ffff:ffff:ffff:ffff:ffff,US 2620:ed:8000::,2620:ed:8000:ffff:ffff:ffff:ffff:ffff,US -2620:ee::,2620:ee:0:ffff:ffff:ffff:ffff:ffff,US +2620:ee::,2620:ee::ffff:ffff:ffff:ffff:ffff,US 2620:ee:8000::,2620:ee:8000:ffff:ffff:ffff:ffff:ffff,US -2620:ef::,2620:ef:0:ffff:ffff:ffff:ffff:ffff,US +2620:ef::,2620:ef::ffff:ffff:ffff:ffff:ffff,US 2620:ef:8000::,2620:ef:8000:ffff:ffff:ffff:ffff:ffff,US -2620:f0::,2620:f0:0:ffff:ffff:ffff:ffff:ffff,US +2620:f0::,2620:f0::ffff:ffff:ffff:ffff:ffff,US 2620:f0:8000::,2620:f0:8000:ffff:ffff:ffff:ffff:ffff,US -2620:f1::,2620:f1:0:ffff:ffff:ffff:ffff:ffff,US +2620:f1::,2620:f1::ffff:ffff:ffff:ffff:ffff,US 2620:f1:8000::,2620:f1:8000:ffff:ffff:ffff:ffff:ffff,US -2620:f2::,2620:f2:0:ffff:ffff:ffff:ffff:ffff,CA +2620:f2::,2620:f2::ffff:ffff:ffff:ffff:ffff,CA 2620:f2:8000::,2620:f2:8000:ffff:ffff:ffff:ffff:ffff,US -2620:f3::,2620:f3:0:ffff:ffff:ffff:ffff:ffff,US +2620:f3::,2620:f3::ffff:ffff:ffff:ffff:ffff,US 2620:f3:8000::,2620:f3:8000:ffff:ffff:ffff:ffff:ffff,US -2620:f4::,2620:f4:0:ffff:ffff:ffff:ffff:ffff,US +2620:f4::,2620:f4::ffff:ffff:ffff:ffff:ffff,US 2620:f4:8000::,2620:f4:8000:ffff:ffff:ffff:ffff:ffff,CA -2620:f5::,2620:f5:0:ffff:ffff:ffff:ffff:ffff,US +2620:f5::,2620:f5::ffff:ffff:ffff:ffff:ffff,US 2620:f5:8000::,2620:f5:8000:ffff:ffff:ffff:ffff:ffff,US -2620:f6::,2620:f6:0:ffff:ffff:ffff:ffff:ffff,CA +2620:f6::,2620:f6::ffff:ffff:ffff:ffff:ffff,CA 2620:f6:8000::,2620:f6:8000:ffff:ffff:ffff:ffff:ffff,US -2620:f7::,2620:f7:0:ffff:ffff:ffff:ffff:ffff,US +2620:f7::,2620:f7::ffff:ffff:ffff:ffff:ffff,US 2620:f7:8000::,2620:f7:8000:ffff:ffff:ffff:ffff:ffff,US -2620:f8::,2620:f8:0:ffff:ffff:ffff:ffff:ffff,US +2620:f8::,2620:f8::ffff:ffff:ffff:ffff:ffff,US 2620:f8:8000::,2620:f8:8000:ffff:ffff:ffff:ffff:ffff,US 2620:f9::,2620:f9:f:ffff:ffff:ffff:ffff:ffff,US 2620:f9:8000::,2620:f9:8000:ffff:ffff:ffff:ffff:ffff,US -2620:fa::,2620:fa:0:ffff:ffff:ffff:ffff:ffff,US +2620:fa::,2620:fa::ffff:ffff:ffff:ffff:ffff,US 2620:fa:8000::,2620:fa:8000:ffff:ffff:ffff:ffff:ffff,CA -2620:fb::,2620:fb:0:ffff:ffff:ffff:ffff:ffff,US +2620:fb::,2620:fb::ffff:ffff:ffff:ffff:ffff,US 2620:fb:8000::,2620:fb:8000:ffff:ffff:ffff:ffff:ffff,US -2620:fc::,2620:fc:0:ffff:ffff:ffff:ffff:ffff,CA +2620:fc::,2620:fc::ffff:ffff:ffff:ffff:ffff,CA 2620:fc:8000::,2620:fc:8000:ffff:ffff:ffff:ffff:ffff,US -2620:fd::,2620:fd:0:ffff:ffff:ffff:ffff:ffff,CA +2620:fd::,2620:fd::ffff:ffff:ffff:ffff:ffff,CA 2620:fd:8000::,2620:fd:8000:ffff:ffff:ffff:ffff:ffff,US -2620:fe::,2620:fe:0:ffff:ffff:ffff:ffff:ffff,US +2620:fe::,2620:fe:ff:ffff:ffff:ffff:ffff:ffff,US 2620:fe:8000::,2620:fe:8000:ffff:ffff:ffff:ffff:ffff,US -2620:ff::,2620:ff:0:ffff:ffff:ffff:ffff:ffff,US -2620:ff:8000::,2620:ff:8000:ffff:ffff:ffff:ffff:ffff,US +2620:ff::,2620:ff::ffff:ffff:ffff:ffff:ffff,US 2620:100::,2620:100:f:ffff:ffff:ffff:ffff:ffff,US 2620:100:1000::,2620:100:1001:ffff:ffff:ffff:ffff:ffff,US 2620:100:3000::,2620:100:3007:ffff:ffff:ffff:ffff:ffff,US @@ -6776,7 +8306,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:800f: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:a000::,2620:101:a001:ffff:ffff:ffff:ffff:ffff,US 2620:101:b000::,2620:101:b07f:ffff:ffff:ffff:ffff:ffff,US @@ -6785,7 +8315,6 @@ 2620:101:e000::,2620:101:e00f:ffff:ffff:ffff:ffff:ffff,US 2620:101:f000::,2620:101:f001:ffff:ffff:ffff:ffff:ffff,CA 2620:102::,2620:102:f:ffff:ffff:ffff:ffff:ffff,US -2620:102:1000::,2620:102:100f:ffff:ffff:ffff:ffff:ffff,US 2620:102:2000::,2620:102:200f:ffff:ffff:ffff:ffff:ffff,US 2620:102:3000::,2620:102:300f:ffff:ffff:ffff:ffff:ffff,US 2620:102:4000::,2620:102:403f:ffff:ffff:ffff:ffff:ffff,US @@ -6875,7 +8404,6 @@ 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:a000::,2620:107:a0ff:ffff:ffff:ffff:ffff:ffff,US -2620:107:b000::,2620:107:b00f: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 2620:107:e000::,2620:107:e0ff:ffff:ffff:ffff:ffff:ffff,US @@ -7024,6 +8552,95 @@ 2620:110:d000::,2620:110:d00f:ffff:ffff:ffff:ffff:ffff,US 2620:110:e000::,2620:110:e00f:ffff:ffff:ffff:ffff:ffff,US 2620:110:f000::,2620:110:f00f:ffff:ffff:ffff:ffff:ffff,US +2620:111::,2620:111:ff:ffff:ffff:ffff:ffff:ffff,US +2620:111:1000::,2620:111:100f:ffff:ffff:ffff:ffff:ffff,US +2620:111:2000::,2620:111:200f:ffff:ffff:ffff:ffff:ffff,US +2620:111:3000::,2620:111:300f:ffff:ffff:ffff:ffff:ffff,US +2620:111:4000::,2620:111:400f:ffff:ffff:ffff:ffff:ffff,US +2620:111:5000::,2620:111:500f:ffff:ffff:ffff:ffff:ffff,US +2620:111:6000::,2620:111:600f:ffff:ffff:ffff:ffff:ffff,US +2620:111:7000::,2620:111:700f:ffff:ffff:ffff:ffff:ffff,US +2620:111:8000::,2620:111:800f:ffff:ffff:ffff:ffff:ffff,US +2620:111:9000::,2620:111:900f:ffff:ffff:ffff:ffff:ffff,US +2620:111:a000::,2620:111:a00f:ffff:ffff:ffff:ffff:ffff,US +2620:111:b000::,2620:111:b00f:ffff:ffff:ffff:ffff:ffff,US +2620:111:c000::,2620:111:c00f:ffff:ffff:ffff:ffff:ffff,US +2620:111:d000::,2620:111:d0ff:ffff:ffff:ffff:ffff:ffff,US +2620:111:e000::,2620:111:e00f:ffff:ffff:ffff:ffff:ffff,CA +2620:111:f000::,2620:111:f0ff:ffff:ffff:ffff:ffff:ffff,US +2620:112::,2620:112:f:ffff:ffff:ffff:ffff:ffff,US +2620:112:1000::,2620:112:107f:ffff:ffff:ffff:ffff:ffff,US +2620:112:2000::,2620:112:200f:ffff:ffff:ffff:ffff:ffff,US +2620:112:3000::,2620:112:300f:ffff:ffff:ffff:ffff:ffff,US +2620:112:4000::,2620:112:400f:ffff:ffff:ffff:ffff:ffff,US +2620:112:5000::,2620:112:500f:ffff:ffff:ffff:ffff:ffff,US +2620:112:6000::,2620:112:600f:ffff:ffff:ffff:ffff:ffff,US +2620:112:7000::,2620:112:700f:ffff:ffff:ffff:ffff:ffff,US +2620:112:8000::,2620:112:80ff:ffff:ffff:ffff:ffff:ffff,US +2620:112:9000::,2620:112:900f:ffff:ffff:ffff:ffff:ffff,CA +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: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 +2620:113:1000::,2620:113:100f:ffff:ffff:ffff:ffff:ffff,US +2620:113:2000::,2620:113:200f:ffff:ffff:ffff:ffff:ffff,CA +2620:113:3000::,2620:113:300f:ffff:ffff:ffff:ffff:ffff,CA +2620:113:4000::,2620:113:400f:ffff:ffff:ffff:ffff:ffff,US +2620:113:5000::,2620:113:500f:ffff:ffff:ffff:ffff:ffff,US +2620:113:6000::,2620:113:600f:ffff:ffff:ffff:ffff:ffff,US +2620:113:7000::,2620:113:700f:ffff:ffff:ffff:ffff:ffff,US +2620:113:8000::,2620:113:80ff:ffff:ffff:ffff:ffff:ffff,US +2620:113:9000::,2620:113:900f:ffff:ffff:ffff:ffff:ffff,US +2620:113:a000::,2620:113:a00f:ffff:ffff:ffff:ffff:ffff,US +2620:113:b000::,2620:113:b00f:ffff:ffff:ffff:ffff:ffff,US +2620:113:c000::,2620:113:c0ff:ffff:ffff:ffff:ffff:ffff,US +2620:113:d000::,2620:113:d00f:ffff:ffff:ffff:ffff:ffff,US +2620:113:e000::,2620:113:e00f:ffff:ffff:ffff:ffff:ffff,US +2620:113:f000::,2620:113:f00f:ffff:ffff:ffff:ffff:ffff,US +2620:114::,2620:114:f:ffff:ffff:ffff:ffff:ffff,US +2620:114:1000::,2620:114:100f:ffff:ffff:ffff:ffff:ffff,US +2620:114:2000::,2620:114:20ff:ffff:ffff:ffff:ffff:ffff,US +2620:114:3000::,2620:114:300f:ffff:ffff:ffff:ffff:ffff,US +2620:114:4000::,2620:114:400f:ffff:ffff:ffff:ffff:ffff,US +2620:114:5000::,2620:114:50ff:ffff:ffff:ffff:ffff:ffff,US +2620:114:6000::,2620:114:600f:ffff:ffff:ffff:ffff:ffff,US +2620:114:7000::,2620:114:700f:ffff:ffff:ffff:ffff:ffff,US +2620:114:8000::,2620:114:80ff:ffff:ffff:ffff:ffff:ffff,US +2620:114:9000::,2620:114:900f:ffff:ffff:ffff:ffff:ffff,US +2620:114:a000::,2620:114:a00f:ffff:ffff:ffff:ffff:ffff,US +2620:114:b000::,2620:114:b0ff:ffff:ffff:ffff:ffff:ffff,US +2620:114:c000::,2620:114:c00f:ffff:ffff:ffff:ffff:ffff,US +2620:114:d000::,2620:114:d00f:ffff:ffff:ffff:ffff:ffff,US +2620:114:e000::,2620:114:e0ff:ffff:ffff:ffff:ffff:ffff,US +2620:114:f000::,2620:114:f00f:ffff:ffff:ffff:ffff:ffff,US +2620:115::,2620:115:f:ffff:ffff:ffff:ffff:ffff,US +2620:115:1000::,2620:115:100f:ffff:ffff:ffff:ffff:ffff,US +2620:115:2000::,2620:115:200f:ffff:ffff:ffff:ffff:ffff,US +2620:115:3000::,2620:115:300f:ffff:ffff:ffff:ffff:ffff,KY +2620:115:4000::,2620:115:40ff:ffff:ffff:ffff:ffff:ffff,US +2620:115:5000::,2620:115:500f:ffff:ffff:ffff:ffff:ffff,US +2620:115:6000::,2620:115:600f:ffff:ffff:ffff:ffff:ffff,US +2620:115:7000::,2620:115:70ff:ffff:ffff:ffff:ffff:ffff,US +2620:115:8000::,2620:115:800f:ffff:ffff:ffff:ffff:ffff,US +2620:115:9000::,2620:115:900f:ffff:ffff:ffff:ffff:ffff,US +2620:115:a000::,2620:115:a00f:ffff:ffff:ffff:ffff:ffff,US +2620:115:b000::,2620:115:b00f:ffff:ffff:ffff:ffff:ffff,US +2620:115:c000::,2620:115:c00f:ffff:ffff:ffff:ffff:ffff,US +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 +2620:116:4000::,2620:116:40ff:ffff:ffff:ffff:ffff:ffff,US +2620:116:5000::,2620:116:50ff:ffff:ffff:ffff:ffff:ffff,US +2620:116:6000::,2620:116:600f:ffff:ffff:ffff:ffff:ffff,US +2620:116:7000::,2620:116:700f:ffff:ffff:ffff:ffff:ffff,US +2620:116:8000::,2620:116:80ff: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 @@ -7059,6 +8676,23 @@ 2620:164::,2620:164:fff:ffff:ffff:ffff:ffff:ffff,US 2620:165::,2620:165:fff:ffff:ffff:ffff:ffff:ffff,US 2620:166::,2620:166:fff:ffff:ffff:ffff:ffff:ffff,US +2620:167::,2620:167:fff:ffff:ffff:ffff:ffff:ffff,US +2620:168::,2620:169:fff:ffff:ffff:ffff:ffff:ffff,US +2620:16a::,2620:16a:fff:ffff:ffff:ffff:ffff:ffff,US +2620:16b::,2620:16c:fff:ffff:ffff:ffff:ffff:ffff,US +2620:16d::,2620:16f:fff:ffff:ffff:ffff:ffff:ffff,US +2620:170::,2620:170:fff:ffff:ffff:ffff:ffff:ffff,US +2620:171::,2620:171:fff:ffff:ffff:ffff:ffff:ffff,US +2620:172::,2620:172:fff:ffff:ffff:ffff:ffff:ffff,US +2620:173::,2620:173:fff:ffff:ffff:ffff:ffff:ffff,US +2620:174::,2620:174:fff:ffff:ffff:ffff:ffff:ffff,US +2620:175::,2620:175:fff:ffff:ffff:ffff:ffff:ffff,CA +2620:176::,2620:177:fff:ffff:ffff:ffff:ffff:ffff,US +2620:178::,2620:178:fff:ffff:ffff:ffff:ffff:ffff,US +2620:179::,2620:179:fff:ffff:ffff:ffff:ffff:ffff,US +2620:17a::,2620:17a:fff:ffff:ffff:ffff:ffff:ffff,US +2620:17b::,2620:17b:fff:ffff:ffff:ffff:ffff:ffff,US +2620:17c::,2620:17c:fff:ffff:ffff:ffff:ffff:ffff,US 2620:180::,2620:180:ffff:ffff:ffff:ffff:ffff:ffff,US 2620:190::,2620:190:ffff:ffff:ffff:ffff:ffff:ffff,US 2620:1a0::,2620:1a0:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -7070,12 +8704,10 @@ 2800:8::,2800:8:ffff:ffff:ffff:ffff:ffff:ffff,CL 2800:10::,2800:10:ffff:ffff:ffff:ffff:ffff:ffff,NI 2800:18::,2800:18:ffff:ffff:ffff:ffff:ffff:ffff,PE -2800:20::,2800:2f:ffff:ffff:ffff:ffff:ffff:ffff,AR -2800:30::,2800:30:ffff:ffff:ffff:ffff:ffff:ffff,VE +2800:20::,2800:30:ffff:ffff:ffff:ffff:ffff:ffff,VE 2800:38::,2800:38:ffff:ffff:ffff:ffff:ffff:ffff,VE 2800:40::,2800:40:ffff:ffff:ffff:ffff:ffff:ffff,AR 2800:48::,2800:48:ffff:ffff:ffff:ffff:ffff:ffff,AR -2800:60::,2800:60:ffff:ffff:ffff:ffff:ffff:ffff,PA 2800:68::,2800:68:ffff:ffff:ffff:ffff:ffff:ffff,EC 2800:70::,2800:70:ffff:ffff:ffff:ffff:ffff:ffff,TT 2800:78::,2800:78:ffff:ffff:ffff:ffff:ffff:ffff,CO @@ -7093,7 +8725,7 @@ 2800:140::,2800:140:ffff:ffff:ffff:ffff:ffff:ffff,VE 2800:150::,2800:150:ffff:ffff:ffff:ffff:ffff:ffff,CL 2800:160::,2800:160:ffff:ffff:ffff:ffff:ffff:ffff,CL -2800:170::,2800:170:ffff:ffff:ffff:ffff:ffff:ffff,GT +2800:170::,2800:170:ffff:ffff:ffff:ffff:ffff:ffff,VE 2800:180::,2800:180:ffff:ffff:ffff:ffff:ffff:ffff,TT 2800:190::,2800:190:ffff:ffff:ffff:ffff:ffff:ffff,AR 2800:1a0::,2800:1a0:ffff:ffff:ffff:ffff:ffff:ffff,GT @@ -7109,11 +8741,10 @@ 2800:250::,2800:250:ffff:ffff:ffff:ffff:ffff:ffff,UY 2800:260::,2800:26f:ffff:ffff:ffff:ffff:ffff:ffff,CO 2800:270::,2800:270:ffff:ffff:ffff:ffff:ffff:ffff,CL -2800:280::,2800:280:ffff:ffff:ffff:ffff:ffff:ffff,CW +2800:280::,2800:280:ffff:ffff:ffff:ffff:ffff:ffff,SX 2800:290::,2800:290:ffff:ffff:ffff:ffff:ffff:ffff,CL 2800:2a0::,2800:2a0:ffff:ffff:ffff:ffff:ffff:ffff,EC 2800:2b0::,2800:2b0:ffff:ffff:ffff:ffff:ffff:ffff,AR -2800:2c0::,2800:2c0:ffff:ffff:ffff:ffff:ffff:ffff,AR 2800:2d0::,2800:2d0:ffff:ffff:ffff:ffff:ffff:ffff,CO 2800:2e0::,2800:2e0:ffff:ffff:ffff:ffff:ffff:ffff,CW 2800:2f0::,2800:2f0:ffff:ffff:ffff:ffff:ffff:ffff,EC @@ -7125,7 +8756,7 @@ 2800:350::,2800:350:ffff:ffff:ffff:ffff:ffff:ffff,PA 2800:360::,2800:360:ffff:ffff:ffff:ffff:ffff:ffff,CU 2800:370::,2800:370:ffff:ffff:ffff:ffff:ffff:ffff,EC -2800:380::,2800:380:ffff:ffff:ffff:ffff:ffff:ffff,AR +2800:380::,2800:381:ffff:ffff:ffff:ffff:ffff:ffff,AR 2800:390::,2800:390:ffff:ffff:ffff:ffff:ffff:ffff,BO 2800:3a0::,2800:3a0:ffff:ffff:ffff:ffff:ffff:ffff,PY 2800:3b0::,2800:3b0:ffff:ffff:ffff:ffff:ffff:ffff,CL @@ -7140,7 +8771,7 @@ 2800:440::,2800:440:ffff:ffff:ffff:ffff:ffff:ffff,EC 2800:450::,2800:450:ffff:ffff:ffff:ffff:ffff:ffff,CR 2800:460::,2800:460:ffff:ffff:ffff:ffff:ffff:ffff,CL -2800:470::,2800:470:ffff:ffff:ffff:ffff:ffff:ffff,CW +2800:470::,2800:470:ffff:ffff:ffff:ffff:ffff:ffff,SX 2800:480::,2800:480:ffff:ffff:ffff:ffff:ffff:ffff,CO 2800:490::,2800:490:ffff:ffff:ffff:ffff:ffff:ffff,CO 2800:4a0::,2800:4a0:ffff:ffff:ffff:ffff:ffff:ffff,CW @@ -7230,7 +8861,7 @@ 2800:ad0::,2800:ad0:ffff:ffff:ffff:ffff:ffff:ffff,AW 2800:ae0::,2800:ae0:ffff:ffff:ffff:ffff:ffff:ffff,CO 2800:af0::,2800:af0:ffff:ffff:ffff:ffff:ffff:ffff,AR -2800:b00::,2800:b00:ffff:ffff:ffff:ffff:ffff:ffff,CW +2800:b00::,2800:b00:ffff:ffff:ffff:ffff:ffff:ffff,BQ 2800:b10::,2800:b10:ffff:ffff:ffff:ffff:ffff:ffff,HN 2800:b20::,2800:b23:ffff:ffff:ffff:ffff:ffff:ffff,SV 2800:b30::,2800:b31:ffff:ffff:ffff:ffff:ffff:ffff,EC @@ -7241,7 +8872,7 @@ 2800:b80::,2800:b80:ffff:ffff:ffff:ffff:ffff:ffff,AR 2800:b90::,2800:b90:ffff:ffff:ffff:ffff:ffff:ffff,CR 2800:ba0::,2800:ba0:ffff:ffff:ffff:ffff:ffff:ffff,AR -2800:bb0::,2800:bb0:ffff:ffff:ffff:ffff:ffff:ffff,AR +2800:bb0::,2800:bbf:ffff:ffff:ffff:ffff:ffff:ffff,AR 2800:bc0::,2800:bc0:ffff:ffff:ffff:ffff:ffff:ffff,US 2800:bd0::,2800:bd0:ffff:ffff:ffff:ffff:ffff:ffff,VE 2800:be0::,2800:be0:ffff:ffff:ffff:ffff:ffff:ffff,CL @@ -7252,7 +8883,6 @@ 2800:c30::,2800:c30:ffff:ffff:ffff:ffff:ffff:ffff,AR 2800:c40::,2800:c40:ffff:ffff:ffff:ffff:ffff:ffff,EC 2800:c50::,2800:c50:ffff:ffff:ffff:ffff:ffff:ffff,AR -2800:c60::,2800:c60:ffff:ffff:ffff:ffff:ffff:ffff,CL 2800:c70::,2800:c70:ffff:ffff:ffff:ffff:ffff:ffff,PY 2800:c80::,2800:c80:ffff:ffff:ffff:ffff:ffff:ffff,AR 2800:c90::,2800:c90:ffff:ffff:ffff:ffff:ffff:ffff,DO @@ -7278,228 +8908,1934 @@ 2800:b000::,2800:b000:ffff:ffff:ffff:ffff:ffff:ffff,AR 2800:d300::,2800:d307:ffff:ffff:ffff:ffff:ffff:ffff,CR 2801::,2801::ffff:ffff:ffff:ffff:ffff,UY -2801:0:10::,2801:0:10:ffff:ffff:ffff:ffff:ffff,CL -2801:0:20::,2801:0:20:ffff:ffff:ffff:ffff:ffff,EC -2801:0:30::,2801:0:30:ffff:ffff:ffff:ffff:ffff,HN -2801:0:40::,2801:0:40:ffff:ffff:ffff:ffff:ffff,TT -2801:0:50::,2801:0:50:ffff:ffff:ffff:ffff:ffff,CL -2801:0:60::,2801:0:63:ffff:ffff:ffff:ffff:ffff,EC -2801:0:70::,2801:0:70:ffff:ffff:ffff:ffff:ffff,CO -2801:0:80::,2801:0:80:ffff:ffff:ffff:ffff:ffff,DO -2801:0:90::,2801:0:90:ffff:ffff:ffff:ffff:ffff,AR -2801:0:a0::,2801:0:a0:ffff:ffff:ffff:ffff:ffff,AR -2801:0:b0::,2801:0:b7:ffff:ffff:ffff:ffff:ffff,CL -2801:0:c0::,2801:0:df:ffff:ffff:ffff:ffff:ffff,CR -2801:0:100::,2801:0:100:ffff:ffff:ffff:ffff:ffff,CO -2801:0:110::,2801:0:110:ffff:ffff:ffff:ffff:ffff,GT -2801:0:120::,2801:0:120:ffff:ffff:ffff:ffff:ffff,CL -2801:0:130::,2801:0:130:ffff:ffff:ffff:ffff:ffff,PY -2801:0:140::,2801:0:140:ffff:ffff:ffff:ffff:ffff,AR -2801:0:150::,2801:0:150:ffff:ffff:ffff:ffff:ffff,CL -2801:0:160::,2801:0:160:ffff:ffff:ffff:ffff:ffff,AR -2801:0:170::,2801:0:170:ffff:ffff:ffff:ffff:ffff,BO -2801:0:180::,2801:0:180:ffff:ffff:ffff:ffff:ffff,CO -2801:0:190::,2801:0:190:ffff:ffff:ffff:ffff:ffff,AR -2801:0:1a0::,2801:0:1a0:ffff:ffff:ffff:ffff:ffff,HN -2801:0:1b0::,2801:0:1b0:ffff:ffff:ffff:ffff:ffff,AR -2801:0:1c0::,2801:0:1c7:ffff:ffff:ffff:ffff:ffff,CO -2801:0:1d0::,2801:0:1d7:ffff:ffff:ffff:ffff:ffff,AR -2801:0:1e0::,2801:0:1e0:ffff:ffff:ffff:ffff:ffff,CO -2801:0:1f0::,2801:0:1f0:ffff:ffff:ffff:ffff:ffff,PY -2801:0:200::,2801:0:200:ffff:ffff:ffff:ffff:ffff,VE -2801:0:210::,2801:0:210:ffff:ffff:ffff:ffff:ffff,CO -2801:0:220::,2801:0:22f:ffff:ffff:ffff:ffff:ffff,AR -2801:0:240::,2801:0:240:ffff:ffff:ffff:ffff:ffff,PA -2801:0:250::,2801:0:250:ffff:ffff:ffff:ffff:ffff,AR -2801:0:260::,2801:0:260:ffff:ffff:ffff:ffff:ffff,AR -2801:0:270::,2801:0:270:ffff:ffff:ffff:ffff:ffff,EC -2801:0:280::,2801:0:280:ffff:ffff:ffff:ffff:ffff,CO -2801:0:290::,2801:0:290:ffff:ffff:ffff:ffff:ffff,AR -2801:0:2a0::,2801:0:2a0:ffff:ffff:ffff:ffff:ffff,CR -2801:0:2b0::,2801:0:2b0:ffff:ffff:ffff:ffff:ffff,PA -2801:0:2c0::,2801:0:2c0:ffff:ffff:ffff:ffff:ffff,HN -2801:0:2d0::,2801:0:2d0:ffff:ffff:ffff:ffff:ffff,PA -2801:0:2e0::,2801:0:2e0:ffff:ffff:ffff:ffff:ffff,CO -2801:0:2f0::,2801:0:2f0:ffff:ffff:ffff:ffff:ffff,AR -2801:0:300::,2801:0:300:ffff:ffff:ffff:ffff:ffff,CO -2801:0:310::,2801:0:310:ffff:ffff:ffff:ffff:ffff,CW -2801:0:320::,2801:0:320:ffff:ffff:ffff:ffff:ffff,CO -2801:0:330::,2801:0:330:ffff:ffff:ffff:ffff:ffff,HT -2801:0:340::,2801:0:340:ffff:ffff:ffff:ffff:ffff,CO -2801:0:350::,2801:0:350:ffff:ffff:ffff:ffff:ffff,AR -2801:0:380::,2801:0:380:ffff:ffff:ffff:ffff:ffff,CL -2801:0:390::,2801:0:390:ffff:ffff:ffff:ffff:ffff,CO -2801:0:3a0::,2801:0:3a0:ffff:ffff:ffff:ffff:ffff,CO -2801:0:3b0::,2801:0:3b0:ffff:ffff:ffff:ffff:ffff,CO -2801:0:3c0::,2801:0:3c0:ffff:ffff:ffff:ffff:ffff,CO -2801:0:3d0::,2801:0:3d0:ffff:ffff:ffff:ffff:ffff,CO -2801:0:3e0::,2801:0:3e0:ffff:ffff:ffff:ffff:ffff,AR -2801:0:2000::,2801:0:2fff:ffff:ffff:ffff:ffff:ffff,UY +2801:0:10::,2801::10:ffff:ffff:ffff:ffff:ffff,CL +2801:0:20::,2801::20:ffff:ffff:ffff:ffff:ffff,EC +2801:0:30::,2801::30:ffff:ffff:ffff:ffff:ffff,HN +2801:0:40::,2801::40:ffff:ffff:ffff:ffff:ffff,TT +2801:0:50::,2801::50:ffff:ffff:ffff:ffff:ffff,CL +2801:0:60::,2801::63:ffff:ffff:ffff:ffff:ffff,EC +2801:0:70::,2801::70:ffff:ffff:ffff:ffff:ffff,CO +2801:0:80::,2801::80:ffff:ffff:ffff:ffff:ffff,DO +2801:0:90::,2801::90:ffff:ffff:ffff:ffff:ffff,AR +2801:0:a0::,2801::a0:ffff:ffff:ffff:ffff:ffff,AR +2801:0:b0::,2801::b7:ffff:ffff:ffff:ffff:ffff,CL +2801:0:c0::,2801::df:ffff:ffff:ffff:ffff:ffff,CR +2801:0:100::,2801::100:ffff:ffff:ffff:ffff:ffff,CO +2801:0:110::,2801::110:ffff:ffff:ffff:ffff:ffff,GT +2801:0:120::,2801::120:ffff:ffff:ffff:ffff:ffff,CL +2801:0:130::,2801::130:ffff:ffff:ffff:ffff:ffff,PY +2801:0:140::,2801::140:ffff:ffff:ffff:ffff:ffff,AR +2801:0:150::,2801::150:ffff:ffff:ffff:ffff:ffff,CL +2801:0:160::,2801::160:ffff:ffff:ffff:ffff:ffff,AR +2801:0:170::,2801::170:ffff:ffff:ffff:ffff:ffff,BO +2801:0:180::,2801::180:ffff:ffff:ffff:ffff:ffff,CO +2801:0:190::,2801::190:ffff:ffff:ffff:ffff:ffff,AR +2801:0:1a0::,2801::1a0:ffff:ffff:ffff:ffff:ffff,HN +2801:0:1b0::,2801::1b0:ffff:ffff:ffff:ffff:ffff,AR +2801:0:1c0::,2801::1c7:ffff:ffff:ffff:ffff:ffff,CO +2801:0:1d0::,2801::1d7:ffff:ffff:ffff:ffff:ffff,AR +2801:0:1e0::,2801::1e0:ffff:ffff:ffff:ffff:ffff,CO +2801:0:1f0::,2801::1f0:ffff:ffff:ffff:ffff:ffff,PY +2801:0:200::,2801::200:ffff:ffff:ffff:ffff:ffff,VE +2801:0:210::,2801::210:ffff:ffff:ffff:ffff:ffff,CO +2801:0:220::,2801::22f:ffff:ffff:ffff:ffff:ffff,AR +2801:0:240::,2801::240:ffff:ffff:ffff:ffff:ffff,PA +2801:0:250::,2801::250:ffff:ffff:ffff:ffff:ffff,AR +2801:0:260::,2801::260:ffff:ffff:ffff:ffff:ffff,AR +2801:0:270::,2801::270:ffff:ffff:ffff:ffff:ffff,EC +2801:0:280::,2801::280:ffff:ffff:ffff:ffff:ffff,CO +2801:0:290::,2801::290:ffff:ffff:ffff:ffff:ffff,AR +2801:0:2a0::,2801::2a0:ffff:ffff:ffff:ffff:ffff,CR +2801:0:2b0::,2801::2b0:ffff:ffff:ffff:ffff:ffff,PA +2801:0:2c0::,2801::2c0:ffff:ffff:ffff:ffff:ffff,HN +2801:0:2d0::,2801::2d0:ffff:ffff:ffff:ffff:ffff,PA +2801:0:2e0::,2801::2e0:ffff:ffff:ffff:ffff:ffff,CO +2801:0:2f0::,2801::2f0:ffff:ffff:ffff:ffff:ffff,AR +2801:0:300::,2801::300:ffff:ffff:ffff:ffff:ffff,CO +2801:0:310::,2801::310:ffff:ffff:ffff:ffff:ffff,CW +2801:0:320::,2801::320:ffff:ffff:ffff:ffff:ffff,CO +2801:0:330::,2801::330:ffff:ffff:ffff:ffff:ffff,HT +2801:0:340::,2801::340:ffff:ffff:ffff:ffff:ffff,CO +2801:0:350::,2801::350:ffff:ffff:ffff:ffff:ffff,AR +2801:0:360::,2801::360:ffff:ffff:ffff:ffff:ffff,CO +2801:0:370::,2801::370:ffff:ffff:ffff:ffff:ffff,CO +2801:0:380::,2801::380:ffff:ffff:ffff:ffff:ffff,CL +2801:0:390::,2801::390:ffff:ffff:ffff:ffff:ffff,CO +2801:0:3b0::,2801::3b0:ffff:ffff:ffff:ffff:ffff,CO +2801:0:3c0::,2801::3c0:ffff:ffff:ffff:ffff:ffff,CO +2801:0:3d0::,2801::3d0:ffff:ffff:ffff:ffff:ffff,CO +2801:0:3e0::,2801::3e0:ffff:ffff:ffff:ffff:ffff,AR +2801:0:3f0::,2801::3f0:ffff:ffff:ffff:ffff:ffff,AR +2801:0:400::,2801::400:ffff:ffff:ffff:ffff:ffff,CL +2801:0:410::,2801::410:ffff:ffff:ffff:ffff:ffff,EC +2801:0:420::,2801::420:ffff:ffff:ffff:ffff:ffff,EC +2801:0:440::,2801::440:ffff:ffff:ffff:ffff:ffff,AR +2801:0:480::,2801::480:ffff:ffff:ffff:ffff:ffff,CO +2801:0:490::,2801::490:ffff:ffff:ffff:ffff:ffff,PA +2801:0:4a0::,2801::4a0:ffff:ffff:ffff:ffff:ffff,CR +2801:0:4c0::,2801::4c0:ffff:ffff:ffff:ffff:ffff,CO +2801:0:4d0::,2801::4d0:ffff:ffff:ffff:ffff:ffff,EC +2801:0:4e0::,2801::4e0:ffff:ffff:ffff:ffff:ffff,CL +2801:0:4f0::,2801::4f0:ffff:ffff:ffff:ffff:ffff,CO +2801:0:2000::,2801::2fff:ffff:ffff:ffff:ffff:ffff,UY 2801:1::,2801:1:ffff:ffff:ffff:ffff:ffff:ffff,CR 2801:2::,2801:2:ffff:ffff:ffff:ffff:ffff:ffff,CL 2801:10::,2801:10:7:ffff:ffff:ffff:ffff:ffff,AR -2801:18::,2801:18:0:ffff:ffff:ffff:ffff:ffff,CR -2801:80::,2801:bf:ffff:ffff:ffff:ffff:ffff:ffff,BR +2801:10:4000::,2801:10:4000:ffff:ffff:ffff:ffff:ffff,AR +2801:10:8000::,2801:10:8000:ffff:ffff:ffff:ffff:ffff,AR +2801:10:c000::,2801:10:c000:ffff:ffff:ffff:ffff:ffff,CO +2801:11::,2801:11::ffff:ffff:ffff:ffff:ffff,AR +2801:11:4000::,2801:11:4000:ffff:ffff:ffff:ffff:ffff,CO +2801:11:8000::,2801:11:8000:ffff:ffff:ffff:ffff:ffff,CO +2801:11:c000::,2801:11:c000:ffff:ffff:ffff:ffff:ffff,AR +2801:12::,2801:12::ffff:ffff:ffff:ffff:ffff,PY +2801:12:4000::,2801:12:4000:ffff:ffff:ffff:ffff:ffff,CO +2801:12:8000::,2801:12:8000:ffff:ffff:ffff:ffff:ffff,AR +2801:12:c000::,2801:12:c000:ffff:ffff:ffff:ffff:ffff,AR +2801:13::,2801:13::ffff:ffff:ffff:ffff:ffff,VE +2801:13:4000::,2801:13:4000:ffff:ffff:ffff:ffff:ffff,CL +2801:13:8000::,2801:13:8000:ffff:ffff:ffff:ffff:ffff,SV +2801:14::,2801:14::ffff:ffff:ffff:ffff:ffff,CO +2801:14:4000::,2801:14:4000:ffff:ffff:ffff:ffff:ffff,CO +2801:14:c000::,2801:14:c000:ffff:ffff:ffff:ffff:ffff,BO +2801:15::,2801:15::ffff:ffff:ffff:ffff:ffff,EC +2801:15:4000::,2801:15:4000:ffff:ffff:ffff:ffff:ffff,CO +2801:15:8000::,2801:15:8000:ffff:ffff:ffff:ffff:ffff,CR +2801:16::,2801:16::ffff:ffff:ffff:ffff:ffff,CW +2801:16:4000::,2801:16:4000:ffff:ffff:ffff:ffff:ffff,AR +2801:16:8000::,2801:16:8000:ffff:ffff:ffff:ffff:ffff,CO +2801:16:c000::,2801:16:c000:ffff:ffff:ffff:ffff:ffff,AR +2801:17::,2801:17::ffff:ffff:ffff:ffff:ffff,CL +2801:17:4000::,2801:17:4000:ffff:ffff:ffff:ffff:ffff,CO +2801:17:8000::,2801:17:8000:ffff:ffff:ffff:ffff:ffff,CR +2801:18::,2801:18::ffff:ffff:ffff:ffff:ffff,CR +2801:18:4000::,2801:18:4000:ffff:ffff:ffff:ffff:ffff,CO +2801:18:8000::,2801:18:8000:ffff:ffff:ffff:ffff:ffff,AR +2801:18:c000::,2801:18:c000:ffff:ffff:ffff:ffff:ffff,AR +2801:19::,2801:19::ffff:ffff:ffff:ffff:ffff,AR +2801:19:4000::,2801:19:4000:ffff:ffff:ffff:ffff:ffff,PY +2801:19:8000::,2801:19:8000:ffff:ffff:ffff:ffff:ffff,EC +2801:19:c000::,2801:19:c000:ffff:ffff:ffff:ffff:ffff,AR +2801:1a::,2801:1a::ffff:ffff:ffff:ffff:ffff,CO +2801:1a:4000::,2801:1a:4000:ffff:ffff:ffff:ffff:ffff,CO +2801:1a:8000::,2801:1a:8000:ffff:ffff:ffff:ffff:ffff,CL +2801:1a:c000::,2801:1a:c000:ffff:ffff:ffff:ffff:ffff,CO +2801:1b::,2801:1b::ffff:ffff:ffff:ffff:ffff,CR +2801:1b:4000::,2801:1b:4000:ffff:ffff:ffff:ffff:ffff,CL +2801:1b:8000::,2801:1b:8000:ffff:ffff:ffff:ffff:ffff,CL +2801:1c::,2801:1c::ffff:ffff:ffff:ffff:ffff,PY +2801:1c:4000::,2801:1c:4000:ffff:ffff:ffff:ffff:ffff,CO +2801:1c:8000::,2801:1c:8000:ffff:ffff:ffff:ffff:ffff,EC +2801:1c:c000::,2801:1c:c000:ffff:ffff:ffff:ffff:ffff,HN +2801:1d::,2801:1d::ffff:ffff:ffff:ffff:ffff,PY +2801:1d:4000::,2801:1d:4000:ffff:ffff:ffff:ffff:ffff,TT +2801:1d:8000::,2801:1d:8000:ffff:ffff:ffff:ffff:ffff,AR +2801:1e::,2801:1e::ffff:ffff:ffff:ffff:ffff,EC +2801:1e:4000::,2801:1e:4007:ffff:ffff:ffff:ffff:ffff,AR +2801:1e:8000::,2801:1e:8000:ffff:ffff:ffff:ffff:ffff,CR +2801:1e:c000::,2801:1e:c000:ffff:ffff:ffff:ffff:ffff,AR +2801:1f::,2801:1f::ffff:ffff:ffff:ffff:ffff,AR +2801:1f:4000::,2801:1f:4000:ffff:ffff:ffff:ffff:ffff,CR +2801:1f:8000::,2801:1f:8000:ffff:ffff:ffff:ffff:ffff,AR +2801:80::,2801:80::ffff:ffff:ffff:ffff:ffff,BR +2801:80:10::,2801:80:10:ffff:ffff:ffff:ffff:ffff,BR +2801:80:20::,2801:80:30:ffff:ffff:ffff:ffff:ffff,BR +2801:80:40::,2801:80:40:ffff:ffff:ffff:ffff:ffff,BR +2801:80:50::,2801:80:50:ffff:ffff:ffff:ffff:ffff,BR +2801:80:60::,2801:80:60:ffff:ffff:ffff:ffff:ffff,BR +2801:80:70::,2801:80:70:ffff:ffff:ffff:ffff:ffff,BR +2801:80:80::,2801:80:80:ffff:ffff:ffff:ffff:ffff,BR +2801:80:90::,2801:80:90:ffff:ffff:ffff:ffff:ffff,BR +2801:80:a0::,2801:80:a0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:b0::,2801:80:b0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:c0::,2801:80:c0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:d0::,2801:80:d0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:e0::,2801:80:e0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:f0::,2801:80:f0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:100::,2801:80:100:ffff:ffff:ffff:ffff:ffff,BR +2801:80:110::,2801:80:110:ffff:ffff:ffff:ffff:ffff,BR +2801:80:120::,2801:80:120:ffff:ffff:ffff:ffff:ffff,BR +2801:80:130::,2801:80:130:ffff:ffff:ffff:ffff:ffff,BR +2801:80:140::,2801:80:140:ffff:ffff:ffff:ffff:ffff,BR +2801:80:150::,2801:80:150:ffff:ffff:ffff:ffff:ffff,BR +2801:80:160::,2801:80:160:ffff:ffff:ffff:ffff:ffff,BR +2801:80:170::,2801:80:170:ffff:ffff:ffff:ffff:ffff,BR +2801:80:180::,2801:80:180:ffff:ffff:ffff:ffff:ffff,BR +2801:80:190::,2801:80:190:ffff:ffff:ffff:ffff:ffff,BR +2801:80:1a0::,2801:80:1a0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:1b0::,2801:80:1b0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:1c0::,2801:80:1c0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:1d0::,2801:80:1d0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:1e0::,2801:80:1e0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:1f0::,2801:80:1f0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:200::,2801:80:200:ffff:ffff:ffff:ffff:ffff,BR +2801:80:210::,2801:80:210:ffff:ffff:ffff:ffff:ffff,BR +2801:80:220::,2801:80:220:ffff:ffff:ffff:ffff:ffff,BR +2801:80:230::,2801:80:230:ffff:ffff:ffff:ffff:ffff,BR +2801:80:240::,2801:80:240:ffff:ffff:ffff:ffff:ffff,BR +2801:80:250::,2801:80:250:ffff:ffff:ffff:ffff:ffff,BR +2801:80:260::,2801:80:260:ffff:ffff:ffff:ffff:ffff,BR +2801:80:270::,2801:80:270:ffff:ffff:ffff:ffff:ffff,BR +2801:80:280::,2801:80:280:ffff:ffff:ffff:ffff:ffff,BR +2801:80:290::,2801:80:290:ffff:ffff:ffff:ffff:ffff,BR +2801:80:2a0::,2801:80:2a0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:2b0::,2801:80:2b0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:2c0::,2801:80:2c0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:2d0::,2801:80:2d0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:2e0::,2801:80:2e0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:2f0::,2801:80:2f0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:300::,2801:80:300:ffff:ffff:ffff:ffff:ffff,BR +2801:80:320::,2801:80:320:ffff:ffff:ffff:ffff:ffff,BR +2801:80:330::,2801:80:330:ffff:ffff:ffff:ffff:ffff,BR +2801:80:340::,2801:80:340:ffff:ffff:ffff:ffff:ffff,BR +2801:80:350::,2801:80:350:ffff:ffff:ffff:ffff:ffff,BR +2801:80:360::,2801:80:360:ffff:ffff:ffff:ffff:ffff,BR +2801:80:370::,2801:80:370:ffff:ffff:ffff:ffff:ffff,BR +2801:80:380::,2801:80:380:ffff:ffff:ffff:ffff:ffff,BR +2801:80:390::,2801:80:390:ffff:ffff:ffff:ffff:ffff,BR +2801:80:3a0::,2801:80:3a0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:3b0::,2801:80:3b0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:3c0::,2801:80:3c0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:3d0::,2801:80:3d0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:3e0::,2801:80:3e0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:3f0::,2801:80:3f0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:400::,2801:80:400:ffff:ffff:ffff:ffff:ffff,BR +2801:80:410::,2801:80:410:ffff:ffff:ffff:ffff:ffff,BR +2801:80:420::,2801:80:420:ffff:ffff:ffff:ffff:ffff,BR +2801:80:430::,2801:80:430:ffff:ffff:ffff:ffff:ffff,BR +2801:80:440::,2801:80:440:ffff:ffff:ffff:ffff:ffff,BR +2801:80:450::,2801:80:450:ffff:ffff:ffff:ffff:ffff,BR +2801:80:460::,2801:80:460:ffff:ffff:ffff:ffff:ffff,BR +2801:80:470::,2801:80:470:ffff:ffff:ffff:ffff:ffff,BR +2801:80:480::,2801:80:480:ffff:ffff:ffff:ffff:ffff,BR +2801:80:490::,2801:80:490:ffff:ffff:ffff:ffff:ffff,BR +2801:80:4a0::,2801:80:4a0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:4b0::,2801:80:4b0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:4c0::,2801:80:4c0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:4d0::,2801:80:4d0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:4e0::,2801:80:4e0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:4f0::,2801:80:4f0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:500::,2801:80:500:ffff:ffff:ffff:ffff:ffff,BR +2801:80:510::,2801:80:510:ffff:ffff:ffff:ffff:ffff,BR +2801:80:520::,2801:80:520:ffff:ffff:ffff:ffff:ffff,BR +2801:80:530::,2801:80:530:ffff:ffff:ffff:ffff:ffff,BR +2801:80:540::,2801:80:540:ffff:ffff:ffff:ffff:ffff,BR +2801:80:550::,2801:80:550:ffff:ffff:ffff:ffff:ffff,BR +2801:80:560::,2801:80:560:ffff:ffff:ffff:ffff:ffff,BR +2801:80:570::,2801:80:570:ffff:ffff:ffff:ffff:ffff,BR +2801:80:580::,2801:80:580:ffff:ffff:ffff:ffff:ffff,BR +2801:80:590::,2801:80:590:ffff:ffff:ffff:ffff:ffff,BR +2801:80:5a0::,2801:80:5a0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:5b0::,2801:80:5b0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:5c0::,2801:80:5c0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:5d0::,2801:80:5d0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:5e0::,2801:80:5e0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:5f0::,2801:80:5f0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:600::,2801:80:600:ffff:ffff:ffff:ffff:ffff,BR +2801:80:610::,2801:80:610:ffff:ffff:ffff:ffff:ffff,BR +2801:80:620::,2801:80:620:ffff:ffff:ffff:ffff:ffff,BR +2801:80:630::,2801:80:630:ffff:ffff:ffff:ffff:ffff,BR +2801:80:640::,2801:80:640:ffff:ffff:ffff:ffff:ffff,BR +2801:80:650::,2801:80:650:ffff:ffff:ffff:ffff:ffff,BR +2801:80:660::,2801:80:660:ffff:ffff:ffff:ffff:ffff,BR +2801:80:670::,2801:80:670:ffff:ffff:ffff:ffff:ffff,BR +2801:80:680::,2801:80:680:ffff:ffff:ffff:ffff:ffff,BR +2801:80:690::,2801:80:690:ffff:ffff:ffff:ffff:ffff,BR +2801:80:6a0::,2801:80:6a0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:6b0::,2801:80:6b0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:6c0::,2801:80:6c0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:6d0::,2801:80:6d0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:6e0::,2801:80:6ef:ffff:ffff:ffff:ffff:ffff,BR +2801:80:700::,2801:80:700:ffff:ffff:ffff:ffff:ffff,BR +2801:80:710::,2801:80:710:ffff:ffff:ffff:ffff:ffff,BR +2801:80:720::,2801:80:720:ffff:ffff:ffff:ffff:ffff,BR +2801:80:730::,2801:80:730:ffff:ffff:ffff:ffff:ffff,BR +2801:80:740::,2801:80:740:ffff:ffff:ffff:ffff:ffff,BR +2801:80:750::,2801:80:750:ffff:ffff:ffff:ffff:ffff,BR +2801:80:760::,2801:80:760:ffff:ffff:ffff:ffff:ffff,BR +2801:80:770::,2801:80:770:ffff:ffff:ffff:ffff:ffff,BR +2801:80:780::,2801:80:780:ffff:ffff:ffff:ffff:ffff,BR +2801:80:790::,2801:80:790:ffff:ffff:ffff:ffff:ffff,BR +2801:80:7a0::,2801:80:7a0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:7b0::,2801:80:7b0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:7c0::,2801:80:7c0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:7d0::,2801:80:7d0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:7e0::,2801:80:7e0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:7f0::,2801:80:7f0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:800::,2801:80:800:ffff:ffff:ffff:ffff:ffff,BR +2801:80:810::,2801:80:810:ffff:ffff:ffff:ffff:ffff,BR +2801:80:820::,2801:80:820:ffff:ffff:ffff:ffff:ffff,BR +2801:80:830::,2801:80:830:ffff:ffff:ffff:ffff:ffff,BR +2801:80:840::,2801:80:840:ffff:ffff:ffff:ffff:ffff,BR +2801:80:850::,2801:80:850:ffff:ffff:ffff:ffff:ffff,BR +2801:80:860::,2801:80:860:ffff:ffff:ffff:ffff:ffff,BR +2801:80:870::,2801:80:870:ffff:ffff:ffff:ffff:ffff,BR +2801:80:880::,2801:80:880:ffff:ffff:ffff:ffff:ffff,BR +2801:80:890::,2801:80:890:ffff:ffff:ffff:ffff:ffff,BR +2801:80:8a0::,2801:80:8a0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:8b0::,2801:80:8b0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:8c0::,2801:80:8c1:ffff:ffff:ffff:ffff:ffff,BR +2801:80:8d0::,2801:80:8d0: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 +2801:88::,2801:88:ffff:ffff:ffff:ffff:ffff:ffff,BR +2801:8a::,2801:8a:ffff:ffff:ffff:ffff:ffff:ffff,BR +2801:8c::,2801:8c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2801:8e::,2801:8e:ffff:ffff:ffff:ffff:ffff:ffff,BR +2801:90::,2801:90:ffff:ffff:ffff:ffff:ffff:ffff,BR +2801:92::,2801:92:ffff:ffff:ffff:ffff:ffff:ffff,BR +2801:94::,2801:94:ffff:ffff:ffff:ffff:ffff:ffff,BR +2801:96::,2801:96:ffff:ffff:ffff:ffff:ffff:ffff,BR +2801:98::,2801:98:ffff:ffff:ffff:ffff:ffff:ffff,BR +2801:9a::,2801:9a:ffff:ffff:ffff:ffff:ffff:ffff,BR +2801:9c::,2801:9c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2801:9e::,2801:9e:ffff:ffff:ffff:ffff:ffff:ffff,BR +2801:a0::,2801:a0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2801:a2::,2801:a2:ffff:ffff:ffff:ffff:ffff:ffff,BR +2801:a4::,2801:a4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2801:a6::,2801:a6:ffff:ffff:ffff:ffff:ffff:ffff,BR +2801:a8::,2801:a8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2801:aa::,2801:aa:ffff:ffff:ffff:ffff:ffff:ffff,BR +2801:ac::,2801:ac:ffff:ffff:ffff:ffff:ffff:ffff,BR +2801:ae::,2801:ae:ffff:ffff:ffff:ffff:ffff:ffff,BR +2801:b0::,2801:b0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2801:b2::,2801:b2:ffff:ffff:ffff:ffff:ffff:ffff,BR +2801:b4::,2801:b4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2801:b6::,2801:b6:ffff:ffff:ffff:ffff:ffff:ffff,BR +2801:b8::,2801:b8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2801:ba::,2801:ba:ffff:ffff:ffff:ffff:ffff:ffff,BR +2801:bc::,2801:bc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2801:be::,2801:be:ffff:ffff:ffff:ffff:ffff:ffff,BR 2801:c0::,2801:c0:ffff:ffff:ffff:ffff:ffff:ffff,MX -2801:c4::,2801:c4:0:ffff:ffff:ffff:ffff:ffff,MX +2801:c4::,2801:c4::ffff:ffff:ffff:ffff:ffff,MX 2801:c4:10::,2801:c4:10:ffff:ffff:ffff:ffff:ffff,MX 2801:c4:20::,2801:c4:20:ffff:ffff:ffff:ffff:ffff,MX 2801:c4:30::,2801:c4:30:ffff:ffff:ffff:ffff:ffff,MX 2801:c4:40::,2801:c4:40: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 +2801:c4:80::,2801:c4:80:ffff:ffff:ffff:ffff:ffff,MX +2801:c4:90::,2801:c4:90:ffff:ffff:ffff:ffff:ffff,MX +2801:c4:a0::,2801:c4:a0:ffff:ffff:ffff:ffff:ffff,MX +2801:c4:b0::,2801:c4:b2:ffff:ffff:ffff:ffff:ffff,MX 2801:d0::,2801:d0:ffff:ffff:ffff:ffff:ffff:ffff,MX -2801:f0::,2801:f0:0:ffff:ffff:ffff:ffff:ffff,MX +2801:f0::,2801:f0::ffff:ffff:ffff:ffff:ffff,MX 2801:f0:16::,2801:f0:16:ffff:ffff:ffff:ffff:ffff,MX 2801:f0:20::,2801:f0:20:ffff:ffff:ffff:ffff:ffff,MX 2801:f0:28::,2801:f0:28:ffff:ffff:ffff:ffff:ffff,MX 2801:100::,2801:100:ff:ffff:ffff:ffff:ffff:ffff,AR +2801:110::,2801:110:1fff:ffff:ffff:ffff:ffff:ffff,CO +2801:120::,2801:120:ffff:ffff:ffff:ffff:ffff:ffff,AR +2801:130::,2801:130:fff:ffff:ffff:ffff:ffff:ffff,CO +2801:140::,2801:140:ffff:ffff:ffff:ffff:ffff:ffff,AR +2801:150::,2801:150:ffff:ffff:ffff:ffff:ffff:ffff,PE +2801:160::,2801:160:ff:ffff:ffff:ffff:ffff:ffff,CO +2801:180::,2801:180:f:ffff:ffff:ffff:ffff:ffff,PA +2801:190::,2801:190:fff:ffff:ffff:ffff:ffff:ffff,CO +2801:1a0::,2801:1a0:3f:ffff:ffff:ffff:ffff:ffff,CO +2801:1c0::,2801:1c0:1ff:ffff:ffff:ffff:ffff:ffff,AR +2801:1d0::,2801:1d0:f:ffff:ffff:ffff:ffff:ffff,CO +2801:1e0::,2801:1e0:7f:ffff:ffff:ffff:ffff:ffff,AR 2802::,2802:3:ffff:ffff:ffff:ffff:ffff:ffff,CO -2803::,2803:0:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803::,2803::ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:80::,2803:80:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:100::,2803:100:ffff:ffff:ffff:ffff:ffff:ffff,HN 2803:200::,2803:200:ffff:ffff:ffff:ffff:ffff:ffff,PA +2803:280::,2803:280:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:300::,2803:300:ffff:ffff:ffff:ffff:ffff:ffff,DO 2803:400::,2803:400:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:480::,2803:480:ffff:ffff:ffff:ffff:ffff:ffff,EC +2803:500::,2803:500:ffff:ffff:ffff:ffff:ffff:ffff,PE 2803:600::,2803:600:ffff:ffff:ffff:ffff:ffff:ffff,PA +2803:700::,2803:700:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:800::,2803:800:ffff:ffff:ffff:ffff:ffff:ffff,NI +2803:880::,2803:880:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:900::,2803:900:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:a00::,2803:a00:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:b00::,2803:b00:ffff:ffff:ffff:ffff:ffff:ffff,EC 2803:c00::,2803:c00:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:c80::,2803:c80:ffff:ffff:ffff:ffff:ffff:ffff,PY +2803:d00::,2803:d00:ffff:ffff:ffff:ffff:ffff:ffff,GY 2803:e00::,2803:e00:ffff:ffff:ffff:ffff:ffff:ffff,CL +2803:f00::,2803:f00:ffff:ffff:ffff:ffff:ffff:ffff,PE 2803:1000::,2803:1000:ffff:ffff:ffff:ffff:ffff:ffff,SV +2803:1080::,2803:1080:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:1100::,2803:1100:ffff:ffff:ffff:ffff:ffff:ffff,CW 2803:1200::,2803:1200:ffff:ffff:ffff:ffff:ffff:ffff,CL +2803:1300::,2803:1300:ffff:ffff:ffff:ffff:ffff:ffff,CR 2803:1400::,2803:1400:ffff:ffff:ffff:ffff:ffff:ffff,DO +2803:1480::,2803:1480:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:1500::,2803:1500:ffff:ffff:ffff:ffff:ffff:ffff,TT 2803:1600::,2803:1600:ffff:ffff:ffff:ffff:ffff:ffff,BQ +2803:1700::,2803:1700:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:1800::,2803:1800:ffff:ffff:ffff:ffff:ffff:ffff,CO +2803:1880::,2803:1880:ffff:ffff:ffff:ffff:ffff:ffff,PE +2803:1900::,2803:1900:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:1a00::,2803:1a00:ffff:ffff:ffff:ffff:ffff:ffff,CO +2803:1b00::,2803:1b00:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:1c00::,2803:1c00:ffff:ffff:ffff:ffff:ffff:ffff,PA +2803:1c80::,2803:1c80:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:1d00::,2803:1d00:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:1e00::,2803:1e00:ffff:ffff:ffff:ffff:ffff:ffff,NI +2803:1f00::,2803:1f00:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:2000::,2803:2000:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:2080::,2803:2080:ffff:ffff:ffff:ffff:ffff:ffff,HN +2803:2100::,2803:2100:ffff:ffff:ffff:ffff:ffff:ffff,PE 2803:2200::,2803:2200:ffff:ffff:ffff:ffff:ffff:ffff,EC +2803:2280::,2803:2280:ffff:ffff:ffff:ffff:ffff:ffff,BZ +2803:2300::,2803:2300:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:2400::,2803:2400:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:2480::,2803:2480:ffff:ffff:ffff:ffff:ffff:ffff,PE +2803:2500::,2803:2500:ffff:ffff:ffff:ffff:ffff:ffff,PE 2803:2600::,2803:2600:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:2700::,2803:2700:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:2800::,2803:2800:ffff:ffff:ffff:ffff:ffff:ffff,CL +2803:2880::,2803:2880:ffff:ffff:ffff:ffff:ffff:ffff,BO +2803:2900::,2803:2900:ffff:ffff:ffff:ffff:ffff:ffff,PA 2803:2a00::,2803:2a00:ffff:ffff:ffff:ffff:ffff:ffff,PY +2803:2b00::,2803:2b00:ffff:ffff:ffff:ffff:ffff:ffff,PA 2803:2c00::,2803:2c00:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:2c80::,2803:2c80:ffff:ffff:ffff:ffff:ffff:ffff,VE +2803:2d00::,2803:2d00:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:2e00::,2803:2e00:ffff:ffff:ffff:ffff:ffff:ffff,EC +2803:2f00::,2803:2f00:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:3000::,2803:3000:ffff:ffff:ffff:ffff:ffff:ffff,PA +2803:3080::,2803:3080:ffff:ffff:ffff:ffff:ffff:ffff,PA +2803:3100::,2803:3100:ffff:ffff:ffff:ffff:ffff:ffff,CR 2803:3200::,2803:3200:ffff:ffff:ffff:ffff:ffff:ffff,CR +2803:3300::,2803:3300:ffff:ffff:ffff:ffff:ffff:ffff,PE 2803:3400::,2803:3400:ffff:ffff:ffff:ffff:ffff:ffff,PA +2803:3480::,2803:3480:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:3500::,2803:3500:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:3600::,2803:3600:ffff:ffff:ffff:ffff:ffff:ffff,CR +2803:3700::,2803:3700:ffff:ffff:ffff:ffff:ffff:ffff,DO 2803:3800::,2803:3800:ffff:ffff:ffff:ffff:ffff:ffff,CL +2803:3880::,2803:3880:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:3900::,2803:3900:ffff:ffff:ffff:ffff:ffff:ffff,VE 2803:3a00::,2803:3a00:ffff:ffff:ffff:ffff:ffff:ffff,GT +2803:3b00::,2803:3b00:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:3c00::,2803:3c00:ffff:ffff:ffff:ffff:ffff:ffff,EC +2803:3c80::,2803:3c80:ffff:ffff:ffff:ffff:ffff:ffff,CL +2803:3d00::,2803:3d00:ffff:ffff:ffff:ffff:ffff:ffff,BZ 2803:3e00::,2803:3e00:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:3f00::,2803:3f00:ffff:ffff:ffff:ffff:ffff:ffff,HN 2803:4000::,2803:4000:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:4080::,2803:4080:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:4100::,2803:4100:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:4200::,2803:4200:ffff:ffff:ffff:ffff:ffff:ffff,CL +2803:4280::,2803:4280:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:4300::,2803:4300:ffff:ffff:ffff:ffff:ffff:ffff,PA 2803:4400::,2803:4400:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:4480::,2803:4480:ffff:ffff:ffff:ffff:ffff:ffff,PE +2803:4500::,2803:4500:ffff:ffff:ffff:ffff:ffff:ffff,CW 2803:4600::,2803:4600:ffff:ffff:ffff:ffff:ffff:ffff,HN +2803:4700::,2803:4700:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:4800::,2803:4800:ffff:ffff:ffff:ffff:ffff:ffff,PE +2803:4880::,2803:4880:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:4900::,2803:4900:ffff:ffff:ffff:ffff:ffff:ffff,BQ 2803:4a00::,2803:4a00:ffff:ffff:ffff:ffff:ffff:ffff,CR +2803:4b00::,2803:4b00:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:4c00::,2803:4c00:ffff:ffff:ffff:ffff:ffff:ffff,EC +2803:4c80::,2803:4c80:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:4d00::,2803:4d00:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:4e00::,2803:4e00:ffff:ffff:ffff:ffff:ffff:ffff,UY +2803:4f00::,2803:4f00:ffff:ffff:ffff:ffff:ffff:ffff,VE 2803:5000::,2803:5000:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:5080::,2803:5080:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:5100::,2803:5100:ffff:ffff:ffff:ffff:ffff:ffff,GT 2803:5200::,2803:5200:ffff:ffff:ffff:ffff:ffff:ffff,CL +2803:5300::,2803:5300:ffff:ffff:ffff:ffff:ffff:ffff,GT 2803:5400::,2803:5400:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:5480::,2803:5480:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:5500::,2803:5500:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:5600::,2803:5600:ffff:ffff:ffff:ffff:ffff:ffff,HN +2803:5700::,2803:5700:ffff:ffff:ffff:ffff:ffff:ffff,BO 2803:5800::,2803:5800:ffff:ffff:ffff:ffff:ffff:ffff,PE +2803:5880::,2803:5880:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:5900::,2803:5900:ffff:ffff:ffff:ffff:ffff:ffff,GY 2803:5a00::,2803:5a00:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:5b00::,2803:5b00:ffff:ffff:ffff:ffff:ffff:ffff,CR 2803:5c00::,2803:5c00:ffff:ffff:ffff:ffff:ffff:ffff,BO +2803:5c80::,2803:5c80:ffff:ffff:ffff:ffff:ffff:ffff,CL +2803:5d00::,2803:5d00:ffff:ffff:ffff:ffff:ffff:ffff,SV 2803:5e00::,2803:5e00:ffff:ffff:ffff:ffff:ffff:ffff,BO +2803:5f00::,2803:5f00:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:6000::,2803:6000:ffff:ffff:ffff:ffff:ffff:ffff,CR +2803:6080::,2803:6080:ffff:ffff:ffff:ffff:ffff:ffff,US +2803:6100::,2803:6100:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:6200::,2803:6200:ffff:ffff:ffff:ffff:ffff:ffff,CL +2803:6280::,2803:6280:ffff:ffff:ffff:ffff:ffff:ffff,PA +2803:6300::,2803:6300:ffff:ffff:ffff:ffff:ffff:ffff,GT 2803:6400::,2803:6400:ffff:ffff:ffff:ffff:ffff:ffff,DO +2803:6480::,2803:6480:ffff:ffff:ffff:ffff:ffff:ffff,BZ +2803:6500::,2803:6500:ffff:ffff:ffff:ffff:ffff:ffff,PE 2803:6600::,2803:6600:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:6700::,2803:6700:ffff:ffff:ffff:ffff:ffff:ffff,CO 2803:6800::,2803:6800:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:6880::,2803:6880:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:6900::,2803:6900:ffff:ffff:ffff:ffff:ffff:ffff,CR 2803:6a00::,2803:6a00:ffff:ffff:ffff:ffff:ffff:ffff,EC +2803:6b00::,2803:6b00:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:6c00::,2803:6c00:ffff:ffff:ffff:ffff:ffff:ffff,HN +2803:6c80::,2803:6c80:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:6d00::,2803:6d00:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:6e00::,2803:6e00:ffff:ffff:ffff:ffff:ffff:ffff,SR +2803:6f00::,2803:6f00:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:7000::,2803:7000:ffff:ffff:ffff:ffff:ffff:ffff,GT +2803:7080::,2803:7080:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:7100::,2803:7100:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:7200::,2803:7200:ffff:ffff:ffff:ffff:ffff:ffff,HN +2803:7300::,2803:7300:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:7400::,2803:7400:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:7480::,2803:7480:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:7500::,2803:7500:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:7600::,2803:7600:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:7700::,2803:7700:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:7800::,2803:7800:ffff:ffff:ffff:ffff:ffff:ffff,VE +2803:7880::,2803:7880:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:7900::,2803:7900:ffff:ffff:ffff:ffff:ffff:ffff,BZ 2803:7a00::,2803:7a00:ffff:ffff:ffff:ffff:ffff:ffff,CR +2803:7b00::,2803:7b00:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:7c00::,2803:7c00:ffff:ffff:ffff:ffff:ffff:ffff,CR +2803:7c80::,2803:7c80:ffff:ffff:ffff:ffff:ffff:ffff,PA +2803:7d00::,2803:7d00:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:7e00::,2803:7e00:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:7f00::,2803:7f00:ffff:ffff:ffff:ffff:ffff:ffff,CO 2803:8000::,2803:8000:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:8080::,2803:8080:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:8100::,2803:8100:ffff:ffff:ffff:ffff:ffff:ffff,VE 2803:8200::,2803:8200:ffff:ffff:ffff:ffff:ffff:ffff,HN +2803:8280::,2803:8280:ffff:ffff:ffff:ffff:ffff:ffff,VE +2803:8300::,2803:8300:ffff:ffff:ffff:ffff:ffff:ffff,EC 2803:8400::,2803:8400:ffff:ffff:ffff:ffff:ffff:ffff,CO +2803:8480::,2803:8480:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:8500::,2803:8500:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:8600::,2803:8600:ffff:ffff:ffff:ffff:ffff:ffff,HT +2803:8700::,2803:8700:ffff:ffff:ffff:ffff:ffff:ffff,CR 2803:8800::,2803:8800:ffff:ffff:ffff:ffff:ffff:ffff,CR +2803:8880::,2803:8880:ffff:ffff:ffff:ffff:ffff:ffff,NI +2803:8900::,2803:8900:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:8a00::,2803:8a00:ffff:ffff:ffff:ffff:ffff:ffff,EC +2803:8b00::,2803:8b00:ffff:ffff:ffff:ffff:ffff:ffff,CO 2803:8c00::,2803:8c00:ffff:ffff:ffff:ffff:ffff:ffff,BZ +2803:8c80::,2803:8c80:ffff:ffff:ffff:ffff:ffff:ffff,PA +2803:8d00::,2803:8d00:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:8e00::,2803:8e00:ffff:ffff:ffff:ffff:ffff:ffff,CL +2803:8f00::,2803:8f00:ffff:ffff:ffff:ffff:ffff:ffff,PA 2803:9000::,2803:9000:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:9080::,2803:9080:ffff:ffff:ffff:ffff:ffff:ffff,HN +2803:9100::,2803:9100:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:9200::,2803:9200:ffff:ffff:ffff:ffff:ffff:ffff,SV +2803:9300::,2803:9300:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:9400::,2803:9400:ffff:ffff:ffff:ffff:ffff:ffff,BO +2803:9480::,2803:9480:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:9500::,2803:9500:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:9600::,2803:9600:ffff:ffff:ffff:ffff:ffff:ffff,CW +2803:9700::,2803:9700:ffff:ffff:ffff:ffff:ffff:ffff,EC 2803:9800::,2803:9800:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:9880::,2803:9880:ffff:ffff:ffff:ffff:ffff:ffff,BZ +2803:9900::,2803:9900:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:9a00::,2803:9a00:ffff:ffff:ffff:ffff:ffff:ffff,BZ +2803:9b00::,2803:9b00:ffff:ffff:ffff:ffff:ffff:ffff,DO 2803:9c00::,2803:9c00:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:9c80::,2803:9c80:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:9d00::,2803:9d00:ffff:ffff:ffff:ffff:ffff:ffff,SV 2803:9e00::,2803:9e00:ffff:ffff:ffff:ffff:ffff:ffff,AR -2803:a000::,2803:a000:ffff:ffff:ffff:ffff:ffff:ffff,CW +2803:9f00::,2803:9f00:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:a000::,2803:a000:ffff:ffff:ffff:ffff:ffff:ffff,BQ +2803:a080::,2803:a080:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:a100::,2803:a100:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:a200::,2803:a200:ffff:ffff:ffff:ffff:ffff:ffff,SR +2803:a280::,2803:a280:ffff:ffff:ffff:ffff:ffff:ffff,DO +2803:a300::,2803:a300:ffff:ffff:ffff:ffff:ffff:ffff,BZ 2803:a400::,2803:a400:ffff:ffff:ffff:ffff:ffff:ffff,EC +2803:a480::,2803:a480:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:a500::,2803:a500:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:a600::,2803:a600:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:a700::,2803:a700:ffff:ffff:ffff:ffff:ffff:ffff,HN 2803:a800::,2803:a800:ffff:ffff:ffff:ffff:ffff:ffff,CR +2803:a880::,2803:a880:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:a900::,2803:a900:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:aa00::,2803:aa00:ffff:ffff:ffff:ffff:ffff:ffff,CL +2803:ab00::,2803:ab00:ffff:ffff:ffff:ffff:ffff:ffff,DO 2803:ac00::,2803:ac00:ffff:ffff:ffff:ffff:ffff:ffff,CL +2803:ac80::,2803:ac80:ffff:ffff:ffff:ffff:ffff:ffff,CO +2803:ad00::,2803:ad00:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:ae00::,2803:ae00:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:af00::,2803:af00:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:b000::,2803:b000:ffff:ffff:ffff:ffff:ffff:ffff,CO +2803:b080::,2803:b080:ffff:ffff:ffff:ffff:ffff:ffff,BZ +2803:b100::,2803:b100:ffff:ffff:ffff:ffff:ffff:ffff,CR 2803:b200::,2803:b200:ffff:ffff:ffff:ffff:ffff:ffff,UY +2803:b300::,2803:b300:ffff:ffff:ffff:ffff:ffff:ffff,PY 2803:b400::,2803:b400:ffff:ffff:ffff:ffff:ffff:ffff,VE +2803:b480::,2803:b480:ffff:ffff:ffff:ffff:ffff:ffff,CL +2803:b500::,2803:b500:ffff:ffff:ffff:ffff:ffff:ffff,VE 2803:b600::,2803:b600:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:b700::,2803:b700:ffff:ffff:ffff:ffff:ffff:ffff,HN 2803:b800::,2803:b800:ffff:ffff:ffff:ffff:ffff:ffff,CR +2803:b880::,2803:b880:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:b900::,2803:b900:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:ba00::,2803:ba00:ffff:ffff:ffff:ffff:ffff:ffff,GT +2803:bb00::,2803:bb00:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:bc00::,2803:bc00:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:bc80::,2803:bc80:ffff:ffff:ffff:ffff:ffff:ffff,CO +2803:bd00::,2803:bd00:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:be00::,2803:be00:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:bf00::,2803:bf00:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:c000::,2803:c000:ffff:ffff:ffff:ffff:ffff:ffff,VE +2803:c080::,2803:c080:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:c100::,2803:c100:ffff:ffff:ffff:ffff:ffff:ffff,PY 2803:c200::,2803:c200:ffff:ffff:ffff:ffff:ffff:ffff,PE +2803:c280::,2803:c280:ffff:ffff:ffff:ffff:ffff:ffff,EC +2803:c300::,2803:c300:ffff:ffff:ffff:ffff:ffff:ffff,GT 2803:c400::,2803:c400:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:c480::,2803:c480:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:c500::,2803:c500:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:c600::,2803:c600:ffff:ffff:ffff:ffff:ffff:ffff,CL +2803:c700::,2803:c700:ffff:ffff:ffff:ffff:ffff:ffff,GF 2803:c800::,2803:c800:ffff:ffff:ffff:ffff:ffff:ffff,GT +2803:c880::,2803:c880:ffff:ffff:ffff:ffff:ffff:ffff,HN +2803:c900::,2803:c900:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:ca00::,2803:ca00:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:cb00::,2803:cb00:ffff:ffff:ffff:ffff:ffff:ffff,CO 2803:cc00::,2803:cc00:ffff:ffff:ffff:ffff:ffff:ffff,CO +2803:cc80::,2803:cc80:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:cd00::,2803:cd00:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:ce00::,2803:ce00:ffff:ffff:ffff:ffff:ffff:ffff,HN +2803:cf00::,2803:cf00:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:d000::,2803:d000:ffff:ffff:ffff:ffff:ffff:ffff,BZ +2803:d080::,2803:d080:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:d100::,2803:d100:ffff:ffff:ffff:ffff:ffff:ffff,GT 2803:d200::,2803:d200:ffff:ffff:ffff:ffff:ffff:ffff,CR +2803:d300::,2803:d300:ffff:ffff:ffff:ffff:ffff:ffff,PA 2803:d400::,2803:d400:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:d480::,2803:d480:ffff:ffff:ffff:ffff:ffff:ffff,VE +2803:d500::,2803:d500:ffff:ffff:ffff:ffff:ffff:ffff,BZ 2803:d600::,2803:d600:ffff:ffff:ffff:ffff:ffff:ffff,UY +2803:d700::,2803:d700:ffff:ffff:ffff:ffff:ffff:ffff,VE 2803:d800::,2803:d800:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:d880::,2803:d880:ffff:ffff:ffff:ffff:ffff:ffff,CR +2803:d900::,2803:d900:ffff:ffff:ffff:ffff:ffff:ffff,CR 2803:da00::,2803:da00:ffff:ffff:ffff:ffff:ffff:ffff,GY +2803:db00::,2803:db00:ffff:ffff:ffff:ffff:ffff:ffff,HN 2803:dc00::,2803:dc00:ffff:ffff:ffff:ffff:ffff:ffff,CO +2803:dc80::,2803:dc80:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:dd00::,2803:dd00:ffff:ffff:ffff:ffff:ffff:ffff,PA 2803:de00::,2803:de00:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:df00::,2803:df00:ffff:ffff:ffff:ffff:ffff:ffff,SV 2803:e000::,2803:e000:ffff:ffff:ffff:ffff:ffff:ffff,CO +2803:e080::,2803:e080:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:e100::,2803:e100:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:e200::,2803:e200:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:e280::,2803:e280:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:e300::,2803:e300:ffff:ffff:ffff:ffff:ffff:ffff,CR 2803:e400::,2803:e400:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:e480::,2803:e480:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:e500::,2803:e500:ffff:ffff:ffff:ffff:ffff:ffff,PE 2803:e600::,2803:e600:ffff:ffff:ffff:ffff:ffff:ffff,PA +2803:e700::,2803:e700:ffff:ffff:ffff:ffff:ffff:ffff,HN 2803:e800::,2803:e800:ffff:ffff:ffff:ffff:ffff:ffff,CL +2803:e880::,2803:e880:ffff:ffff:ffff:ffff:ffff:ffff,GT +2803:e900::,2803:e900:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:ea00::,2803:ea00:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:eb00::,2803:eb00:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:ec00::,2803:ec00:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:ec80::,2803:ec80:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:ed00::,2803:ed00:ffff:ffff:ffff:ffff:ffff:ffff,PE 2803:ee00::,2803:ee00:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:ef00::,2803:ef00:ffff:ffff:ffff:ffff:ffff:ffff,PA 2803:f000::,2803:f000:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:f080::,2803:f080:ffff:ffff:ffff:ffff:ffff:ffff,PE +2803:f100::,2803:f100:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:f200::,2803:f200:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:f300::,2803:f300:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:f400::,2803:f400:ffff:ffff:ffff:ffff:ffff:ffff,HN +2803:f480::,2803:f480:ffff:ffff:ffff:ffff:ffff:ffff,CO +2803:f500::,2803:f500:ffff:ffff:ffff:ffff:ffff:ffff,CW 2803:f600::,2803:f600:ffff:ffff:ffff:ffff:ffff:ffff,CR +2803:f700::,2803:f700:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:f800::,2803:f800:ffff:ffff:ffff:ffff:ffff:ffff,CR +2803:f880::,2803:f880:ffff:ffff:ffff:ffff:ffff:ffff,CR +2803:f900::,2803:f900:ffff:ffff:ffff:ffff:ffff:ffff,BZ 2803:fa00::,2803:fa00:ffff:ffff:ffff:ffff:ffff:ffff,BO -2803:fc00::,2803:fc00:ffff:ffff:ffff:ffff:ffff:ffff,PY +2803:fb00::,2803:fb00:ffff:ffff:ffff:ffff:ffff:ffff,PA +2803:fc80::,2803:fc80:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:fd00::,2803:fd00:ffff:ffff:ffff:ffff:ffff:ffff,CO 2803:fe00::,2803:fe00:ffff:ffff:ffff:ffff:ffff:ffff,CO -2804::,2804:ffff:ffff:ffff:ffff:ffff:ffff:ffff,BR +2803:ff00::,2803:ff00:ffff:ffff:ffff:ffff:ffff:ffff,AR +2804::,2804::ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:4::,2804:4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:8::,2804:9:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c::,2804:c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:10::,2804:10:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:14::,2804:14:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:18::,2804:18:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1c::,2804:1c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:20::,2804:20:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:24::,2804:24:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:28::,2804:28:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:2c::,2804:2c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:30::,2804:30:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:34::,2804:34:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:38::,2804:38:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:3c::,2804:3c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:40::,2804:40:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:44::,2804:44:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:48::,2804:48:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:4c::,2804:4c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:50::,2804:50:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:54::,2804:54:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:58::,2804:58:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5c::,2804:5c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:60::,2804:60:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:64::,2804:64:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:68::,2804:68:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:6c::,2804:6c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:70::,2804:70:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:74::,2804:74:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:78::,2804:78:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:7c::,2804:7c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:80::,2804:80:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:84::,2804:84:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:88::,2804:88:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:8c::,2804:8c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:90::,2804:90:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:94::,2804:94:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:98::,2804:98:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:9c::,2804:9c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a0::,2804:a0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a4::,2804:a4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a8::,2804:a8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ac::,2804:ac:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b0::,2804:b0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b4::,2804:b4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b8::,2804:b8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c0::,2804:c0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c4::,2804:c4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c8::,2804:c8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:cc::,2804:cc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d0::,2804:d0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d4::,2804:d4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d8::,2804:d8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:dc::,2804:dc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e0::,2804:e0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e4::,2804:e4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e8::,2804:e8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ec::,2804:ec:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f0::,2804:f0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f4::,2804:f4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f8::,2804:f8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:fc::,2804:fc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:100::,2804:100:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:104::,2804:104:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:108::,2804:108:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:10c::,2804:10c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:110::,2804:110:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:114::,2804:114:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:118::,2804:118:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:11c::,2804:11c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:120::,2804:120:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:124::,2804:124:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:128::,2804:128:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:12c::,2804:12c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:130::,2804:130:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:134::,2804:134:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:138::,2804:138:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:13c::,2804:13c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:140::,2804:140:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:144::,2804:144:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:148::,2804:148:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:14c::,2804:14d:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:150::,2804:154:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:158::,2804:158:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:15c::,2804:15c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:160::,2804:160:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:164::,2804:164:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:168::,2804:168:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:16c::,2804:16c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:170::,2804:170:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:174::,2804:174:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:178::,2804:178:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:17c::,2804:17c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:180::,2804:180:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:184::,2804:184:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:188::,2804:188:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:18c::,2804:18c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:190::,2804:190:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:194::,2804:194:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:198::,2804:198:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:19c::,2804:19c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1a0::,2804:1a0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1a4::,2804:1a4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1a8::,2804:1a8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1ac::,2804:1ac:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1b0::,2804:1b1:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1b8::,2804:1b8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1bc::,2804:1bc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1c0::,2804:1c0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1c4::,2804:1c4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1c8::,2804:1c8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1cc::,2804:1cc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1d0::,2804:1d0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1d4::,2804:1d4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1d8::,2804:1d8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1dc::,2804:1dc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1e0::,2804:1e0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1e4::,2804:1e4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1e8::,2804:1e8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1ec::,2804:1ec:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1f0::,2804:1f0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1f4::,2804:1f4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1f8::,2804:1f8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1fc::,2804:1fc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:200::,2804:200:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:204::,2804:204:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:208::,2804:208:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:20c::,2804:20c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:210::,2804:210:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:214::,2804:214:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:218::,2804:218:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:220::,2804:220:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:224::,2804:224:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:228::,2804:228:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:22c::,2804:22c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:230::,2804:230:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:234::,2804:234:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:238::,2804:238:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:23c::,2804:23c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:240::,2804:240:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:244::,2804:244:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:248::,2804:248:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:24c::,2804:24c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:250::,2804:250:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:254::,2804:254:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:258::,2804:258:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:25c::,2804:25c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:260::,2804:260:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:268::,2804:268:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:26c::,2804:26c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:270::,2804:270:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:274::,2804:274:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:27c::,2804:27c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:280::,2804:280:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:284::,2804:284:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:288::,2804:288:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:28c::,2804:28c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:290::,2804:290:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:294::,2804:294:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:298::,2804:298:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:29c::,2804:29c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:2a0::,2804:2a0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:2a4::,2804:2a4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:2a8::,2804:2a8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:2ac::,2804:2ac:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:2b0::,2804:2b0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:2b4::,2804:2b4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:2b8::,2804:2b8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:2bc::,2804:2bc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:2c0::,2804:2c0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:2c4::,2804:2c4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:2c8::,2804:2c8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:2cc::,2804:2cc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:2d0::,2804:2d0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:2d4::,2804:2d4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:2d8::,2804:2d8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:2dc::,2804:2dc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:2e0::,2804:2e0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:2e4::,2804:2e4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:2e8::,2804:2e8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:2ec::,2804:2ec:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:2f0::,2804:2f0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:2f4::,2804:2f4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:2f8::,2804:2f8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:2fc::,2804:2fc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:300::,2804:303:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:308::,2804:308:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:30c::,2804:30c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:310::,2804:310:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:314::,2804:314:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:318::,2804:318:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:31c::,2804:31c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:320::,2804:320:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:324::,2804:324:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:328::,2804:328:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:32c::,2804:32c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:330::,2804:330:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:334::,2804:334:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:338::,2804:338:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:33c::,2804:33c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:340::,2804:340:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:344::,2804:344:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:348::,2804:348:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:34c::,2804:34c:ffff:ffff:ffff:ffff:ffff:ffff,BR +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 +2804:36c::,2804:36c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:370::,2804:370:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:374::,2804:374:ffff:ffff:ffff:ffff:ffff:ffff,BR +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:384::,2804:384:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:388::,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:398::,2804:398:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:39c::,2804:39c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:3a0::,2804:3a0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:3a4::,2804:3a4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:3a8::,2804:3a8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:3ac::,2804:3ac:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:3b0::,2804:3b0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:3b4::,2804:3b4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:3b8::,2804:3b8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:3bc::,2804:3bc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:3c0::,2804:3c0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:3c4::,2804:3c4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:3c8::,2804:3c8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:3cc::,2804:3cc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:3d0::,2804:3d0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:3d4::,2804:3d4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:3d8::,2804:3d8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:3dc::,2804:3dc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:3e0::,2804:3e0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:3e4::,2804:3e4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:3e8::,2804:3e8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:3ec::,2804:3ec:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:3f0::,2804:3f0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:3f4::,2804:3f4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:3f8::,2804:3f8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:3fc::,2804:3fc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:400::,2804:400:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:404::,2804:404:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:40c::,2804:40c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:410::,2804:410:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:414::,2804:414:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:418::,2804:418:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:41c::,2804:41c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:420::,2804:420:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:424::,2804:424:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:428::,2804:428:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:430::,2804:431:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:438::,2804:438:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:43c::,2804:43c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:440::,2804:440:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:444::,2804:444:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:448::,2804:448:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:44c::,2804:44c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:450::,2804:450:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:454::,2804:454:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:458::,2804:458:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:45c::,2804:45c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:460::,2804:460:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:464::,2804:464:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:468::,2804:468:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:46c::,2804:46c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:470::,2804:470:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:474::,2804:474:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:478::,2804:478:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:47c::,2804:47c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:480::,2804:480:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:484::,2804:484:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:488::,2804:488:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:48c::,2804:48c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:490::,2804:490:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:494::,2804:494:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:498::,2804:498:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:49c::,2804:49c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:4a0::,2804:4a0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:4a4::,2804:4a4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:4a8::,2804:4a8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:4ac::,2804:4ac:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:4b0::,2804:4b0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:4b4::,2804:4b4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:4b8::,2804:4b8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:4bc::,2804:4bc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:4c0::,2804:4c0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:4c4::,2804:4c4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:4c8::,2804:4c8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:4cc::,2804:4cc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:4d0::,2804:4d0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:4d4::,2804:4d4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:4d8::,2804:4d8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:4dc::,2804:4dc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:4e0::,2804:4e0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:4e4::,2804:4e4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:4e8::,2804:4e8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:4ec::,2804:4ec:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:4f0::,2804:4f0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:4f4::,2804:4f4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:4f8::,2804:4f8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:4fc::,2804:4fc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:500::,2804:500:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:504::,2804:504:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:508::,2804:508:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:50c::,2804:50c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:510::,2804:510:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:514::,2804:514:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:518::,2804:518:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:51c::,2804:51c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:520::,2804:520:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:528::,2804:528:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:52c::,2804:52c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:530::,2804:530:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:534::,2804:534:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:538::,2804:538:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:53c::,2804:53c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:540::,2804:540:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:544::,2804:544:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:548::,2804:548:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:54c::,2804:54c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:550::,2804:550:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:554::,2804:554:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:558::,2804:558:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:55c::,2804:55c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:560::,2804:560:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:564::,2804:564:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:568::,2804:568:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:56c::,2804:56c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:570::,2804:570:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:574::,2804:574:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:578::,2804:578:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:57c::,2804:57c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:580::,2804:580:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:584::,2804:584:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:588::,2804:588:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:58c::,2804:58c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:590::,2804:590:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:594::,2804:594:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:598::,2804:598:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:59c::,2804:59c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5a0::,2804:5a0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5a4::,2804:5a4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5a8::,2804:5a8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5ac::,2804:5ac:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5b0::,2804:5b0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5b4::,2804:5b4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5b8::,2804:5b8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5bc::,2804:5bc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5c0::,2804:5c0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5c4::,2804:5c4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5c8::,2804:5c8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5cc::,2804:5cc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5d0::,2804:5d0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5d4::,2804:5d4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5d8::,2804:5d8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5dc::,2804:5dc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5e0::,2804:5e0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5e4::,2804:5e4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5e8::,2804:5e8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5ec::,2804:5ec:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5f0::,2804:5f0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5f4::,2804:5f4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5f8::,2804:5f8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5fc::,2804:5fc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:600::,2804:600:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:604::,2804:604:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:608::,2804:608:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:60c::,2804:60c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:610::,2804:610:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:614::,2804:614:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:618::,2804:618:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:61c::,2804:61c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:620::,2804:620:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:624::,2804:624:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:628::,2804:628:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:62c::,2804:62c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:630::,2804:630:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:634::,2804:634:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:638::,2804:638:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:63c::,2804:63c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:640::,2804:640:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:644::,2804:644:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:648::,2804:648:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:64c::,2804:64c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:650::,2804:650:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:654::,2804:654:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:658::,2804:658:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:65c::,2804:65c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:660::,2804:660:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:664::,2804:664:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:668::,2804:668:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:66c::,2804:66c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:670::,2804:670:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:674::,2804:674:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:678::,2804:678:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:67c::,2804:67c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:680::,2804:680:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:684::,2804:684:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:688::,2804:688:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:68c::,2804:68c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:690::,2804:690:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:694::,2804:694:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:698::,2804:698:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:69c::,2804:69c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:6a0::,2804:6a0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:6a4::,2804:6a4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:6a8::,2804:6a8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:6ac::,2804:6ac:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:6b0::,2804:6b0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:6b4::,2804:6b4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:6b8::,2804:6b8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:6bc::,2804:6bc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:6c0::,2804:6c0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:6c4::,2804:6c4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:6c8::,2804:6c8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:6cc::,2804:6cc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:6d0::,2804:6d0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:6d4::,2804:6d4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:6d8::,2804:6d8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:6dc::,2804:6dc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:6e0::,2804:6e0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:6e4::,2804:6e4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:6e8::,2804:6e8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:6ec::,2804:6ec:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:6f0::,2804:6f0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:6f4::,2804:6f4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:6f8::,2804:6f8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:6fc::,2804:6fc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:700::,2804:700:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:704::,2804:704:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:708::,2804:708:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:70c::,2804:70c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:710::,2804:710:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:714::,2804:714:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:718::,2804:718:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:71c::,2804:71c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:720::,2804:720:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:724::,2804:724:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:728::,2804:728:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:72c::,2804:72c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:730::,2804:730:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:734::,2804:734:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:738::,2804:738:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:73c::,2804:73c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:740::,2804:740:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:744::,2804:744:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:748::,2804:748:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:74c::,2804:74c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:750::,2804:750:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:754::,2804:754:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:758::,2804:758:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:75c::,2804:75c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:760::,2804:760:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:764::,2804:764:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:768::,2804:768:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:76c::,2804:76c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:770::,2804:770:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:774::,2804:774:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:778::,2804:778:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:77c::,2804:77c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:780::,2804:780:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:784::,2804:784:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:788::,2804:788:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:78c::,2804:78c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:790::,2804:790:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:794::,2804:794:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:798::,2804:798:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:79c::,2804:79c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:7a0::,2804:7a0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:7a4::,2804:7a4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:7a8::,2804:7a8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:7ac::,2804:7ac:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:7b0::,2804:7b0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:7b4::,2804:7b4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:7b8::,2804:7b8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:7bc::,2804:7bc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:7c0::,2804:7c0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:7c4::,2804:7c4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:7c8::,2804:7c8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:7cc::,2804:7cc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:7d0::,2804:7d0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:7d4::,2804:7d4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:7d8::,2804:7d8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:7dc::,2804:7dc:ffff:ffff:ffff:ffff:ffff:ffff,BR +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 +2804:808::,2804:808:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:80c::,2804:80c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:810::,2804:810:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:814::,2804:814:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:818::,2804:818:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:81c::,2804:81c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:820::,2804:820:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:824::,2804:824:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:828::,2804:828:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:82c::,2804:82c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:830::,2804:830:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:834::,2804:834:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:838::,2804:838:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:83c::,2804:83c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:840::,2804:840:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:844::,2804:844:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:848::,2804:848:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:84c::,2804:84c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:850::,2804:850:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:854::,2804:854:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:858::,2804:858:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:85c::,2804:85c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:860::,2804:860:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:864::,2804:864:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:868::,2804:868:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:86c::,2804:86c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:870::,2804:870:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:874::,2804:874:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:878::,2804:878:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:87c::,2804:87c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:880::,2804:880:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:884::,2804:884:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:888::,2804:888:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:88c::,2804:88c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:890::,2804:890:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:894::,2804:894:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:898::,2804:898:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:89c::,2804:89c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:8a0::,2804:8a0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:8a4::,2804:8a4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:8a8::,2804:8a8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:8ac::,2804:8ac:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:8b0::,2804:8b0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:8b4::,2804:8b4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:8bc::,2804:8bc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:8c0::,2804:8c0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:8c4::,2804:8c4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:8c8::,2804:8c8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:8cc::,2804:8cc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:8d0::,2804:8d0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:8d4::,2804:8d4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:8d8::,2804:8d8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:8dc::,2804:8dc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:8e0::,2804:8e0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:8e4::,2804:8e4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:8e8::,2804:8e8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:8ec::,2804:8ec:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:8f0::,2804:8f0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:8f4::,2804:8f4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:8f8::,2804:8f8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:8fc::,2804:8fc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:900::,2804:900:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:904::,2804:904:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:908::,2804:908:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:90c::,2804:90c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:910::,2804:910:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:914::,2804:914:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:918::,2804:918:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:91c::,2804:91c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:920::,2804:920:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:924::,2804:924:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:928::,2804:928:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:92c::,2804:92c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:930::,2804:930:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:934::,2804:934:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:938::,2804:938:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:93c::,2804:93c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:940::,2804:940:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:944::,2804:944:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:948::,2804:948:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:94c::,2804:94c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:950::,2804:950:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:954::,2804:954:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:958::,2804:958:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:95c::,2804:95c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:960::,2804:960:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:964::,2804:964:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:968::,2804:968:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:96c::,2804:96c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:970::,2804:970:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:974::,2804:974:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:978::,2804:978:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:97c::,2804:97c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:980::,2804:980:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:984::,2804:984:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:988::,2804:988:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:98c::,2804:98c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:990::,2804:990:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:994::,2804:994:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:998::,2804:998:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:99c::,2804:99c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:9a0::,2804:9a0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:9a4::,2804:9a4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:9a8::,2804:9a8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:9ac::,2804:9ac:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:9b0::,2804:9b0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:9b4::,2804:9b4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:9b8::,2804:9b8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:9bc::,2804:9bc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:9c0::,2804:9c0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:9c4::,2804:9c4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:9c8::,2804:9c8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:9cc::,2804:9cc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:9d0::,2804:9d0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:9d4::,2804:9d4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:9d8::,2804:9d8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:9dc::,2804:9dc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:9e0::,2804:9e0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:9e4::,2804:9e4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:9e8::,2804:9e8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:9ec::,2804:9ec:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:9f0::,2804:9f0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:9f4::,2804:9f4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:9f8::,2804:9f8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:9fc::,2804:9fc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a00::,2804:a00:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a04::,2804:a04:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a08::,2804:a08:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a0c::,2804:a0c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a10::,2804:a10:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a14::,2804:a14:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a18::,2804:a18:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a1c::,2804:a1c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a20::,2804:a20:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a24::,2804:a24:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a28::,2804:a28:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a2c::,2804:a2c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a30::,2804:a30:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a34::,2804:a34:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a38::,2804:a38:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a3c::,2804:a3c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a40::,2804:a40:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a44::,2804:a44:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a48::,2804:a48:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a4c::,2804:a4c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a50::,2804:a50:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a54::,2804:a54:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a58::,2804:a58:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a5c::,2804:a5c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a60::,2804:a60:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a64::,2804:a64:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a68::,2804:a68:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a6c::,2804:a6c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a70::,2804:a70:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a74::,2804:a74:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a78::,2804:a78:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a7c::,2804:a7c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a80::,2804:a80:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a84::,2804:a84:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a88::,2804:a88:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a8c::,2804:a8c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a90::,2804:a90:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a94::,2804:a94:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a98::,2804:a98:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:a9c::,2804:a9c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:aa0::,2804:aa0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:aa4::,2804:aa4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:aa8::,2804:aa8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:aac::,2804:aac:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ab0::,2804:ab0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ab4::,2804:ab4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ab8::,2804:ab8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:abc::,2804:abc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ac0::,2804:ac0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ac4::,2804:ac4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ac8::,2804:ac8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:acc::,2804:acc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ad0::,2804:ad0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ad4::,2804:ad4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ad8::,2804:ad8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:adc::,2804:adc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ae0::,2804:ae0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ae4::,2804:ae4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ae8::,2804:ae8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:aec::,2804:aec:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:af0::,2804:af0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:af4::,2804:af4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:af8::,2804:af8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:afc::,2804:afc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b00::,2804:b00:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b04::,2804:b04:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b08::,2804:b08:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b0c::,2804:b0c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b10::,2804:b10:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b14::,2804:b14:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b18::,2804:b18:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b1c::,2804:b1c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b20::,2804:b20:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b24::,2804:b24:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b28::,2804:b28:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b2c::,2804:b2c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b30::,2804:b30:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b34::,2804:b34:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b38::,2804:b38:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b3c::,2804:b3c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b40::,2804:b40:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b44::,2804:b44:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b48::,2804:b48:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b4c::,2804:b4c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b50::,2804:b50:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b54::,2804:b54:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b58::,2804:b58:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b5c::,2804:b5c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b60::,2804:b60:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b64::,2804:b64:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b68::,2804:b68:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b6c::,2804:b6c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b70::,2804:b70:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b74::,2804:b74:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b78::,2804:b78:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b7c::,2804:b7c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b80::,2804:b80:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b84::,2804:b84:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b88::,2804:b88:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b8c::,2804:b8c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b90::,2804:b90:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b94::,2804:b94:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b98::,2804:b98:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:b9c::,2804:b9c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ba0::,2804:ba0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ba4::,2804:ba5:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ba8::,2804:ba8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:bac::,2804:bac:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:bb0::,2804:bb0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:bb4::,2804:bb4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:bb8::,2804:bb8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:bbc::,2804:bbc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:bc0::,2804:bc0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:bc4::,2804:bc4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:bc8::,2804:bc8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:bcc::,2804:bcc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:bd0::,2804:bd0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:bd4::,2804:bd4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:bd8::,2804:bd8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:bdc::,2804:bdc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:be0::,2804:be0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:be4::,2804:be4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:be8::,2804:be8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:bec::,2804:bec:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:bf0::,2804:bf0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:bf4::,2804:bf4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:bf8::,2804:bf8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:bfc::,2804:bfc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c00::,2804:c00:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c04::,2804:c04:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c08::,2804:c08:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c0c::,2804:c0c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c10::,2804:c10:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c14::,2804:c14:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c18::,2804:c18:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c1c::,2804:c1c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c20::,2804:c20:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c24::,2804:c24:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c28::,2804:c28:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c2c::,2804:c2c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c30::,2804:c30:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c34::,2804:c34:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c38::,2804:c38:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c3c::,2804:c3c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c40::,2804:c40:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c44::,2804:c44:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c48::,2804:c48:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c4c::,2804:c4c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c50::,2804:c50:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c54::,2804:c54:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c58::,2804:c58:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c5c::,2804:c5c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c60::,2804:c60:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c64::,2804:c64:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c68::,2804:c68:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c6c::,2804:c6c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c70::,2804:c70:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c74::,2804:c74:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c78::,2804:c78:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c7c::,2804:c7c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c80::,2804:c80:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c84::,2804:c84:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c88::,2804:c88:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c8c::,2804:c8c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:c90::,2804:c90:ffff:ffff:ffff:ffff:ffff:ffff,BR +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 +2804:cb0::,2804:cb0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:cb4::,2804:cb4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:cb8::,2804:cb8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:cbc::,2804:cbc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:cc0::,2804:cc0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:cc4::,2804:cc4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:cc8::,2804:cc8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ccc::,2804:ccc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:cd0::,2804:cd0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:cd4::,2804:cd4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:cd8::,2804:cd8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:cdc::,2804:cdc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ce0::,2804:ce0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ce4::,2804:ce4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ce8::,2804:ce8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:cec::,2804:cec:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:cf0::,2804:cf0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:cf4::,2804:cf4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:cf8::,2804:cf8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:cfc::,2804:cfc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d00::,2804:d00:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d04::,2804:d04:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d08::,2804:d08:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d0c::,2804:d0c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d10::,2804:d10:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d14::,2804:d14:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d18::,2804:d18:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d1c::,2804:d1c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d20::,2804:d20:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d24::,2804:d24:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d28::,2804:d28:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d2c::,2804:d2c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d30::,2804:d30:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d34::,2804:d34:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d38::,2804:d38:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d3c::,2804:d3c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d40::,2804:d60:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d64::,2804:d64:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d68::,2804:d68:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d6c::,2804:d6c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d70::,2804:d70:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d74::,2804:d74:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d78::,2804:d78:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d7c::,2804:d7c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d80::,2804:d80:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d84::,2804:d84:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d88::,2804:d88:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d8c::,2804:d8c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d90::,2804:d90:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d94::,2804:d94:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d98::,2804:d98:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:d9c::,2804:d9c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:da0::,2804:da0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:da4::,2804:da4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:da8::,2804:da8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:dac::,2804:dac:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:db0::,2804:db0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:db4::,2804:db4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:db8::,2804:db8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:dbc::,2804:dbc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:dc0::,2804:dc0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:dc4::,2804:dc4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:dc8::,2804:dc8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:dcc::,2804:dcc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:dd0::,2804:dd0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:dd4::,2804:dd4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:dd8::,2804:dd8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ddc::,2804:ddc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:de0::,2804:de0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:de4::,2804:de4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:de8::,2804:de8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:dec::,2804:dec:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:df0::,2804:df0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:df4::,2804:df4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:df8::,2804:df8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:dfc::,2804:dfc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e00::,2804:e00:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e04::,2804:e04:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e08::,2804:e08:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e0c::,2804:e0c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e10::,2804:e10:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e14::,2804:e14:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e18::,2804:e18:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e1c::,2804:e1c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e20::,2804:e20:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e24::,2804:e24:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e28::,2804:e28:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e2c::,2804:e2c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e30::,2804:e30:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e34::,2804:e34:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e38::,2804:e38:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e3c::,2804:e3c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e40::,2804:e40:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e44::,2804:e44:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e48::,2804:e48:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e4c::,2804:e4c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e50::,2804:e50:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e54::,2804:e54:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e58::,2804:e58:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e5c::,2804:e5c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e60::,2804:e60:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e64::,2804:e64:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e68::,2804:e68:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e6c::,2804:e6c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e70::,2804:e70:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e74::,2804:e74:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e78::,2804:e78:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e7c::,2804:e7c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e80::,2804:e80:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e84::,2804:e84:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e88::,2804:e88:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e8c::,2804:e8c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e90::,2804:e90:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e94::,2804:e94:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e98::,2804:e98:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:e9c::,2804:e9c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ea0::,2804:ea0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ea4::,2804:ea4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ea8::,2804:ea8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:eac::,2804:eac:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:eb0::,2804:eb0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:eb4::,2804:eb4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:eb8::,2804:eb8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ebc::,2804:ebc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ec0::,2804:ec0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ec4::,2804:ec4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ec8::,2804:ec8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ecc::,2804:ecc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ed0::,2804:ed0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ed4::,2804:ed4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ed8::,2804:ed8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:edc::,2804:edc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ee0::,2804:ee0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ee4::,2804:ee4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ee8::,2804:ee8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:eec::,2804:eec:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ef0::,2804:ef0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ef4::,2804:ef4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ef8::,2804:ef8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:efc::,2804:efc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f00::,2804:f00:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f04::,2804:f04:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f08::,2804:f08:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f0c::,2804:f0c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f10::,2804:f10:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f14::,2804:f14:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f18::,2804:f18:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f1c::,2804:f1c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f20::,2804:f20:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f24::,2804:f24:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f28::,2804:f28:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f2c::,2804:f2c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f30::,2804:f30:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f34::,2804:f34:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f38::,2804:f38:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f3c::,2804:f3c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f40::,2804:f40:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f44::,2804:f44:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f48::,2804:f48:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f4c::,2804:f4c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f50::,2804:f50:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f54::,2804:f54:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f58::,2804:f58:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f5c::,2804:f5c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f60::,2804:f60:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f64::,2804:f64:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f68::,2804:f68:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f6c::,2804:f6c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f70::,2804:f70:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f74::,2804:f74:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f78::,2804:f78:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f7c::,2804:f7c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f80::,2804:f80:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f84::,2804:f84:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f88::,2804:f88:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f8c::,2804:f8c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f90::,2804:f90:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f94::,2804:f94:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f98::,2804:f98:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:f9c::,2804:f9c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:fa0::,2804:fa0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:fa4::,2804:fa4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:fa8::,2804:fa8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:fac::,2804:fac:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:fb0::,2804:fb0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:fb4::,2804:fb4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:fb8::,2804:fb8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:fbc::,2804:fbc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:fc0::,2804:fc0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:fc4::,2804:fc4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:fc8::,2804:fc8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:fcc::,2804:fcc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:fd0::,2804:fd0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:fd4::,2804:fd4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:fd8::,2804:fd8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:fdc::,2804:fdc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:fe0::,2804:fe0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:fe4::,2804:fe4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:fe8::,2804:fe8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:fec::,2804:fec:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ff0::,2804:ff0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ff4::,2804:ff4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ff8::,2804:ff8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:ffc::,2804:ffc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1000::,2804:1000:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1004::,2804:1004:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1008::,2804:1008:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:100c::,2804:100c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1010::,2804:1010:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1014::,2804:1014:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1018::,2804:1018:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:101c::,2804:101c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1020::,2804:1020:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1024::,2804:1024:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1028::,2804:1028:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:102c::,2804:102c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1030::,2804:1030:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1034::,2804:1034:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1038::,2804:1038:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:103c::,2804:103c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1040::,2804:1040:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1044::,2804:1044:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1048::,2804:1048:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:104c::,2804:104c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1050::,2804:1050:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1054::,2804:1054:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1058::,2804:1058:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:105c::,2804:105c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1060::,2804:1060:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1064::,2804:1064:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1068::,2804:1068:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:106c::,2804:106c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1070::,2804:1070:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1074::,2804:1074:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1078::,2804:1078:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:107c::,2804:107c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1080::,2804:1080:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1084::,2804:1084:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1088::,2804:1088:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:108c::,2804:108c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1090::,2804:1090:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1094::,2804:1094:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1098::,2804:1098:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:109c::,2804:109c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:10a0::,2804:10a0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:10a4::,2804:10a4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:10a8::,2804:10a8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:10ac::,2804:10ac:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:10b0::,2804:10b0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:10b4::,2804:10b4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:10b8::,2804:10b8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:10bc::,2804:10bc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:10c0::,2804:10c0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:10c4::,2804:10c4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:10c8::,2804:10c8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:10cc::,2804:10cc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:10d0::,2804:10d0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:10d4::,2804:10d4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:10d8::,2804:10d8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:10dc::,2804:10dc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:10e0::,2804:10e0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:10e4::,2804:10e4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:10e8::,2804:10e8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:10ec::,2804:10ec:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:10f0::,2804:10f0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:10f4::,2804:10f4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:10f8::,2804:10f8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:10fc::,2804:10fc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1100::,2804:1100:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1104::,2804:1104:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1108::,2804:1108:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:110c::,2804:110c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1110::,2804:1110:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1114::,2804:1114:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1118::,2804:1118:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:111c::,2804:111c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1120::,2804:1120:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1124::,2804:1124:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1128::,2804:1128:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:112c::,2804:112c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1130::,2804:1130:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1134::,2804:1134:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1138::,2804:1138:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:113c::,2804:113c:ffff:ffff:ffff:ffff:ffff:ffff,BR +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 +2804:115c::,2804:115c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1160::,2804:1160:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1164::,2804:1164:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1168::,2804:1168:ffff:ffff:ffff:ffff:ffff:ffff,BR +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 +2804:1188::,2804:1188:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:118c::,2804:118c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1190::,2804:1190:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1194::,2804:1194:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1198::,2804:1198:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:119c::,2804:119c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:11a0::,2804:11a0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:11a4::,2804:11a4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:11a8::,2804:11a8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:11ac::,2804:11ac:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:11b0::,2804:11b0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:11b4::,2804:11b4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:11b8::,2804:11b8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:11bc::,2804:11bc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:11c0::,2804:11c0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:11c4::,2804:11c4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:11c8::,2804:11c8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:11cc::,2804:11cc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:11d0::,2804:11d0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:11d4::,2804:11d4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:11d8::,2804:11d8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:11dc::,2804:11dc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:11e0::,2804:11e0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:11e4::,2804:11e4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:11e8::,2804:11e8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:11ec::,2804:11ec:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:11f0::,2804:11f0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:11f4::,2804:11f4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:11f8::,2804:11f8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:11fc::,2804:11fc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1200::,2804:1200:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1204::,2804:1204:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1208::,2804:1208:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:120c::,2804:120c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1210::,2804:1210:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1214::,2804:1214:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1218::,2804:1218:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:121c::,2804:121c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1220::,2804:1220:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1224::,2804:1224:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1228::,2804:1228:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:122c::,2804:122c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1230::,2804:1230:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1234::,2804:1234:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1238::,2804:1238:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:123c::,2804:123c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1240::,2804:1240:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1244::,2804:1244:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1248::,2804:1248:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:124c::,2804:124c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1250::,2804:1250:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1254::,2804:1254:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1258::,2804:1258:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:125c::,2804:125c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1260::,2804:1260:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1264::,2804:1264:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1268::,2804:1268:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:126c::,2804:126c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1270::,2804:1270:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1274::,2804:1274:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1278::,2804:1278:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:127c::,2804:127c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1280::,2804:1280:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1284::,2804:1284:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1288::,2804:1288:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:128c::,2804:128c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1290::,2804:1290:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1294::,2804:1294:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1298::,2804:1298:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:129c::,2804:129c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:12a0::,2804:12a0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:12a4::,2804:12a4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:12a8::,2804:12a8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:12ac::,2804:12ac:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:12b0::,2804:12b0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:12b4::,2804:12b4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:12b8::,2804:12b8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:12bc::,2804:12bc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:12c0::,2804:12c0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:12c4::,2804:12c4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:12c8::,2804:12c8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:12cc::,2804:12cc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:12d0::,2804:12d0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:12d4::,2804:12d4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:12d8::,2804:12d8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:12dc::,2804:12dc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:12e0::,2804:12e0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:12e4::,2804:12e4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:12e8::,2804:12e8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:12ec::,2804:12ec:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:12f0::,2804:12f0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:12f4::,2804:12f4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:12f8::,2804:12f8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:12fc::,2804:12fc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1300::,2804:1300:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1304::,2804:1304:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1308::,2804:1308:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:130c::,2804:130c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1310::,2804:1310:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1314::,2804:1314:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1318::,2804:1318:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:131c::,2804:131c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1320::,2804:1320:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1324::,2804:1324:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1328::,2804:1328:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:132c::,2804:132c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1330::,2804:1330:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1334::,2804:1334:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1338::,2804:1338:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:133c::,2804:133c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1340::,2804:1340:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1344::,2804:1344:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1348::,2804:1348:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:134c::,2804:134c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1350::,2804:1350:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1354::,2804:1354:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1358::,2804:1358:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:135c::,2804:135c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1360::,2804:1360:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1364::,2804:1364:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1368::,2804:1368:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:136c::,2804:136c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1370::,2804:1370:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1374::,2804:1374:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1378::,2804:1378:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:137c::,2804:137c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1380::,2804:1380:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1384::,2804:1384:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1388::,2804:138b:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1390::,2804:1390:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1394::,2804:1394:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1398::,2804:1398:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:139c::,2804:139c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:13a0::,2804:13a0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:13a4::,2804:13a4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:13a8::,2804:13a8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:13ac::,2804:13ac:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:13b0::,2804:13b0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:13b4::,2804:13b4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:13b8::,2804:13b8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:13bc::,2804:13bc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:13c0::,2804:13c0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:13c4::,2804:13c4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1f00::,2804:1f00:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1f02::,2804:1f02:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1f04::,2804:1f04:ffff:ffff:ffff:ffff:ffff:ffff,BR 2806::,2806:f:ffff:ffff:ffff:ffff:ffff:ffff,MX 2806:200::,2806:200:ffff:ffff:ffff:ffff:ffff:ffff,MX 2806:220::,2806:220:ffff:ffff:ffff:ffff:ffff:ffff,MX 2806:230::,2806:230:ffff:ffff:ffff:ffff:ffff:ffff,MX +2806:238::,2806:238::ffff:ffff:ffff:ffff:ffff,MX +2806:238:10::,2806:238:10:ffff:ffff:ffff:ffff:ffff,MX +2806:239::,2806:239:ffff:ffff:ffff:ffff:ffff:ffff,MX 2806:240::,2806:240:ffff:ffff:ffff:ffff:ffff:ffff,MX 2806:250::,2806:250:ffff:ffff:ffff:ffff:ffff:ffff,MX 2806:260::,2806:260:ffff:ffff:ffff:ffff:ffff:ffff,MX 2806:270::,2806:270:ffff:ffff:ffff:ffff:ffff:ffff,MX +2806:280::,2806:280:ffff:ffff:ffff:ffff:ffff:ffff,MX 2806:290::,2806:290:ffff:ffff:ffff:ffff:ffff:ffff,MX 2806:2a0::,2806:2a0:ffff:ffff:ffff:ffff:ffff:ffff,MX 2806:2b0::,2806:2b0:ffff:ffff:ffff:ffff:ffff:ffff,MX +2806:2c0::,2806:2c0:ffff:ffff:ffff:ffff:ffff:ffff,MX 2806:2d0::,2806:2d0:ffff:ffff:ffff:ffff:ffff:ffff,MX 2806:2e0::,2806:2e0:ffff:ffff:ffff:ffff:ffff:ffff,MX +2806:2f0::,2806:2f0:ffff:ffff:ffff:ffff:ffff:ffff,MX +2806:300::,2806:300:ffff:ffff:ffff:ffff:ffff:ffff,MX +2806:310::,2806:310: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:340::,2806:340:ffff:ffff:ffff:ffff:ffff:ffff,MX +2806:350::,2806:350:ffff:ffff:ffff:ffff:ffff:ffff,MX +2806:360::,2806:360:ffff:ffff:ffff:ffff:ffff:ffff,MX +2806:370::,2806:370:ffff:ffff:ffff:ffff:ffff:ffff,MX 2806:1000::,2806:10ff:ffff:ffff:ffff:ffff:ffff:ffff,MX 2a00::,2a00:3ff:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:800::,2a00:87f:ffff:ffff:ffff:ffff:ffff:ffff,SE @@ -7532,16 +10868,14 @@ 2a00:cd8::,2a00:cd8:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:ce0::,2a00:ce0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:ce8::,2a00:ce8:ffff:ffff:ffff:ffff:ffff:ffff,CH -2a00:cf0::,2a00:cf0:ffff:ffff:ffff:ffff:ffff:ffff,MC 2a00:cf8::,2a00:cf8:ffff:ffff:ffff:ffff:ffff:ffff,AT -2a00:d00::,2a00:d00:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:d00::,2a00:d07:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:d08::,2a00:d08:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:d10::,2a00:d10:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:d18::,2a00:d18:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:d20::,2a00:d20:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a00:d28::,2a00:d28:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:d30::,2a00:d30:ffff:ffff:ffff:ffff:ffff:ffff,AE -2a00:d38::,2a00:d38:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a00:d40::,2a00:d40:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:d50::,2a00:d50:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:d58::,2a00:d58:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -7553,7 +10887,6 @@ 2a00:d88::,2a00:d88:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a00:d90::,2a00:d90:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a00:d98::,2a00:d98:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a00:da0::,2a00:da0:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a00:da8::,2a00:da9:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:db0::,2a00:db0:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:db8::,2a00:db8:ffff:ffff:ffff:ffff:ffff:ffff,RU @@ -7565,7 +10898,7 @@ 2a00:df0::,2a00:df0:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a00:df8::,2a00:df8:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:e00::,2a00:e00:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a00:e08::,2a00:e08:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a00:e08::,2a00:e0f:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a00:e10::,2a00:e10:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:e18::,2a00:e18:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a00:e20::,2a00:e20:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -7579,20 +10912,20 @@ 2a00:e60::,2a00:e60:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:e68::,2a00:e68:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:e70::,2a00:e70:ffff:ffff:ffff:ffff:ffff:ffff,ES -2a00:e78::,2a00:e78:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:e78::,2a00:e7b:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:e80::,2a00:e80:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:e88::,2a00:e88:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:e90::,2a00:e90:ffff:ffff:ffff:ffff:ffff:ffff,RS 2a00:e98::,2a00:e98:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a00:ea0::,2a00:ea0:ffff:ffff:ffff:ffff:ffff:ffff,NO -2a00:ea8::,2a00:ea8:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:ea8::,2a00:eaf:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:eb0::,2a00:eb0:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a00:eb8::,2a00:eb8:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:ec0::,2a00:ec0:ffff:ffff:ffff:ffff:ffff:ffff,LI 2a00:ec8::,2a00:ec8:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:ed0::,2a00:ed0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:ed8::,2a00:ed8:ffff:ffff:ffff:ffff:ffff:ffff,IE -2a00:ee0::,2a00:ee0:ffff:ffff:ffff:ffff:ffff:ffff,SI +2a00:ee0::,2a00:ee7:ffff:ffff:ffff:ffff:ffff:ffff,SI 2a00:ee8::,2a00:ee8:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:ef0::,2a00:ef0:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a00:ef8::,2a00:ef8:ffff:ffff:ffff:ffff:ffff:ffff,NO @@ -7601,11 +10934,11 @@ 2a00:f10::,2a00:f10:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:f18::,2a00:f18:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:f20::,2a00:f20:ffff:ffff:ffff:ffff:ffff:ffff,IT -2a00:f28::,2a00:f28:ffff:ffff:ffff:ffff:ffff:ffff,AE +2a00:f28::,2a00:f2f:ffff:ffff:ffff:ffff:ffff:ffff,AE 2a00:f30::,2a00:f30:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:f38::,2a00:f38:ffff:ffff:ffff:ffff:ffff:ffff,AM -2a00:f40::,2a00:f40:ffff:ffff:ffff:ffff:ffff:ffff,PL -2a00:f48::,2a00:f48:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:f40::,2a00:f47:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a00:f48::,2a00:f4f:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:f50::,2a00:f50:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a00:f58::,2a00:f58:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:f60::,2a00:f60:ffff:ffff:ffff:ffff:ffff:ffff,NL @@ -7626,7 +10959,7 @@ 2a00:fe0::,2a00:fe0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:fe8::,2a00:fe8:ffff:ffff:ffff:ffff:ffff:ffff,BA 2a00:ff0::,2a00:ff0:ffff:ffff:ffff:ffff:ffff:ffff,RO -2a00:ff8::,2a00:ff8:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a00:ff8::,2a00:fff:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a00:1000::,2a00:1000:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:1008::,2a00:1008:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a00:1010::,2a00:1010:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -7645,7 +10978,6 @@ 2a00:1078::,2a00:1078:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:1080::,2a00:1080:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:1088::,2a00:1088:ffff:ffff:ffff:ffff:ffff:ffff,IT -2a00:1090::,2a00:1090:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:1098::,2a00:1098:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:10a0::,2a00:10a0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a00:10a8::,2a00:10a8:ffff:ffff:ffff:ffff:ffff:ffff,RU @@ -7658,9 +10990,9 @@ 2a00:10e0::,2a00:10e0:ffff:ffff:ffff:ffff:ffff:ffff,MD 2a00:10e8::,2a00:10f0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:10f8::,2a00:10f8:ffff:ffff:ffff:ffff:ffff:ffff,LU -2a00:1100::,2a00:1100:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:1100::,2a00:1107:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:1108::,2a00:1108:ffff:ffff:ffff:ffff:ffff:ffff,RS -2a00:1110::,2a00:1110:ffff:ffff:ffff:ffff:ffff:ffff,HU +2a00:1110::,2a00:1117:ffff:ffff:ffff:ffff:ffff:ffff,HU 2a00:1118::,2a00:1118:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a00:1120::,2a00:1120:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:1128::,2a00:1128:ffff:ffff:ffff:ffff:ffff:ffff,CH @@ -7699,7 +11031,6 @@ 2a00:1238::,2a00:1238:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a00:1240::,2a00:1240:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a00:1248::,2a00:1248:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a00:1250::,2a00:1250:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:1258::,2a00:1258:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a00:1260::,2a00:1260:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:1268::,2a00:1268:ffff:ffff:ffff:ffff:ffff:ffff,CZ @@ -7723,16 +11054,14 @@ 2a00:12f8::,2a00:12f8:ffff:ffff:ffff:ffff:ffff:ffff,KZ 2a00:1300::,2a00:1300:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a00:1308::,2a00:1308:ffff:ffff:ffff:ffff:ffff:ffff,PL -2a00:1310::,2a00:1310:ffff:ffff:ffff:ffff:ffff:ffff,EU 2a00:1318::,2a00:1318:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:1320::,2a00:1320:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:1328::,2a00:1328:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a00:1330::,2a00:1330:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:1338::,2a00:1338:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:1340::,2a00:1340:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:1348::,2a00:1348:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:1350::,2a00:1350:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a00:1358::,2a00:1358:ffff:ffff:ffff:ffff:ffff:ffff,GR +2a00:1358::,2a00:135b:ffff:ffff:ffff:ffff:ffff:ffff,GR 2a00:1360::,2a00:1360:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:1368::,2a00:1368:ffff:ffff:ffff:ffff:ffff:ffff,SI 2a00:1370::,2a00:1370:ffff:ffff:ffff:ffff:ffff:ffff,RU @@ -7748,7 +11077,7 @@ 2a00:13c0::,2a00:13c0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:13c8::,2a00:13c8:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:13d0::,2a00:13d0:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a00:13d8::,2a00:13d8:ffff:ffff:ffff:ffff:ffff:ffff,SI +2a00:13d8::,2a00:13df:ffff:ffff:ffff:ffff:ffff:ffff,SI 2a00:13e0::,2a00:13e0:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a00:13e8::,2a00:13e8:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a00:13f0::,2a00:13f0:ffff:ffff:ffff:ffff:ffff:ffff,FI @@ -7782,7 +11111,7 @@ 2a00:14d0::,2a00:14d0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:14d8::,2a00:14d8:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a00:14e0::,2a00:14e0:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a00:14e8::,2a00:14e8:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:14e8::,2a00:14ef:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:14f0::,2a00:14f0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:14f8::,2a00:14f8:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:1500::,2a00:1500:ffff:ffff:ffff:ffff:ffff:ffff,AM @@ -7791,7 +11120,7 @@ 2a00:1518::,2a00:1518:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:1520::,2a00:1520:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a00:1528::,2a00:1528:ffff:ffff:ffff:ffff:ffff:ffff,BE -2a00:1530::,2a00:1530:ffff:ffff:ffff:ffff:ffff:ffff,HU +2a00:1530::,2a00:1531:ffff:ffff:ffff:ffff:ffff:ffff,HU 2a00:1538::,2a00:1538:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:1540::,2a00:1540:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:1548::,2a00:1548:ffff:ffff:ffff:ffff:ffff:ffff,NO @@ -7804,7 +11133,7 @@ 2a00:1580::,2a00:1580:ffff:ffff:ffff:ffff:ffff:ffff,LB 2a00:1588::,2a00:1588:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a00:1590::,2a00:1590:ffff:ffff:ffff:ffff:ffff:ffff,LB -2a00:1598::,2a00:1598:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a00:1598::,2a00:159f:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a00:15a0::,2a00:15a0:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a00:15a8::,2a00:15a8:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:15b0::,2a00:15b0:ffff:ffff:ffff:ffff:ffff:ffff,FR @@ -7812,13 +11141,11 @@ 2a00:15c0::,2a00:15c0:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a00:15c8::,2a00:15c8:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a00:15d0::,2a00:15d0:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a00:15d8::,2a00:15d8:ffff:ffff:ffff:ffff:ffff:ffff,SA 2a00:15e0::,2a00:15e0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:15e8::,2a00:15e8:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:15f0::,2a00:15f0:ffff:ffff:ffff:ffff:ffff:ffff,HU 2a00:15f8::,2a00:15f8:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a00:1600::,2a00:1600:ffff:ffff:ffff:ffff:ffff:ffff,SI -2a00:1608::,2a00:1608:ffff:ffff:ffff:ffff:ffff:ffff,EU +2a00:1600::,2a00:1607:ffff:ffff:ffff:ffff:ffff:ffff,SI 2a00:1610::,2a00:1610:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a00:1618::,2a00:1618:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a00:1620::,2a00:1620:ffff:ffff:ffff:ffff:ffff:ffff,IT @@ -7877,7 +11204,6 @@ 2a00:17f8::,2a00:17f8:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:1800::,2a00:1800:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a00:1808::,2a00:1808:ffff:ffff:ffff:ffff:ffff:ffff,CZ -2a00:1810::,2a00:1810:ffff:ffff:ffff:ffff:ffff:ffff,EU 2a00:1818::,2a00:1818:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:1828::,2a00:1828:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:1830::,2a00:1830:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -7888,7 +11214,6 @@ 2a00:1858::,2a00:1858:ffff:ffff:ffff:ffff:ffff:ffff,MD 2a00:1860::,2a00:1860:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a00:1868::,2a00:1868:ffff:ffff:ffff:ffff:ffff:ffff,BE -2a00:1870::,2a00:1870:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:1878::,2a00:1878:ffff:ffff:ffff:ffff:ffff:ffff,HU 2a00:1880::,2a00:1880:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a00:1888::,2a00:1888:ffff:ffff:ffff:ffff:ffff:ffff,FR @@ -7909,7 +11234,7 @@ 2a00:1900::,2a00:1900:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:1908::,2a00:1908:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a00:1910::,2a00:1910:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a00:1918::,2a00:1918:ffff:ffff:ffff:ffff:ffff:ffff,SA +2a00:1918::,2a00:191f:ffff:ffff:ffff:ffff:ffff:ffff,SA 2a00:1920::,2a00:1920:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:1928::,2a00:1928:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:1930::,2a00:1930:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -7968,7 +11293,7 @@ 2a00:1ad8::,2a00:1ad8:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a00:1ae0::,2a00:1ae0:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a00:1ae8::,2a00:1ae8:ffff:ffff:ffff:ffff:ffff:ffff,NL -2a00:1af0::,2a00:1af0:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:1af0::,2a00:1af7:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:1af8::,2a00:1af8:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:1b00::,2a00:1b00:ffff:ffff:ffff:ffff:ffff:ffff,AE 2a00:1b08::,2a00:1b08:ffff:ffff:ffff:ffff:ffff:ffff,RU @@ -8038,7 +11363,7 @@ 2a00:1d08::,2a00:1d08:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:1d10::,2a00:1d10:ffff:ffff:ffff:ffff:ffff:ffff,RO 2a00:1d18::,2a00:1d18:ffff:ffff:ffff:ffff:ffff:ffff,PL -2a00:1d20::,2a00:1d20:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:1d20::,2a00:1d27:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:1d28::,2a00:1d28:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a00:1d30::,2a00:1d30:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a00:1d38::,2a00:1d38:ffff:ffff:ffff:ffff:ffff:ffff,NL @@ -8057,7 +11382,7 @@ 2a00:1da8::,2a00:1da8:ffff:ffff:ffff:ffff:ffff:ffff,SI 2a00:1db0::,2a00:1db0:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a00:1db8::,2a00:1db8:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a00:1dc0::,2a00:1dc0:ffff:ffff:ffff:ffff:ffff:ffff,MD +2a00:1dc0::,2a00:1dc7:ffff:ffff:ffff:ffff:ffff:ffff,MD 2a00:1dc8::,2a00:1dc8:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:1dd0::,2a00:1dd0:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a00:1dd8::,2a00:1ddf:ffff:ffff:ffff:ffff:ffff:ffff,RS @@ -8092,7 +11417,7 @@ 2a00:1ec0::,2a00:1ec0:ffff:ffff:ffff:ffff:ffff:ffff,CY 2a00:1ec8::,2a00:1ec8:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:1ed0::,2a00:1ed0:ffff:ffff:ffff:ffff:ffff:ffff,CZ -2a00:1ed8::,2a00:1ed8:ffff:ffff:ffff:ffff:ffff:ffff,IE +2a00:1ed8::,2a00:1edf:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a00:1ee0::,2a00:1ee0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:1ee8::,2a00:1ee8:ffff:ffff:ffff:ffff:ffff:ffff,SY 2a00:1ef0::,2a00:1ef0:ffff:ffff:ffff:ffff:ffff:ffff,BG @@ -8122,7 +11447,6 @@ 2a00:1fb0::,2a00:1fb0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:1fb8::,2a00:1fb8:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:1fc0::,2a00:1fc0:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a00:1fc8::,2a00:1fc8:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a00:1fd0::,2a00:1fd0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:1fd8::,2a00:1fd8:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:1fe0::,2a00:1fe0:ffff:ffff:ffff:ffff:ffff:ffff,IR @@ -8132,757 +11456,1468 @@ 2a00:2000::,2a00:23ff:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:4000::,2a00:4000:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a00:4040::,2a00:4040:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a00:4080::,2a00:4080:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a00:4060::,2a00:4060:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a00:4080::,2a00:4087:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a00:40a0::,2a00:40a0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a00:40c0::,2a00:40c0:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a00:40e0::,2a00:40e0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:4100::,2a00:4100:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a00:4140::,2a00:4140:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a00:4120::,2a00:4120:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a00:4160::,2a00:4160:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:4180::,2a00:4180:ffff:ffff:ffff:ffff:ffff:ffff,LU +2a00:41a0::,2a00:41a0:ffff:ffff:ffff:ffff:ffff:ffff,AZ 2a00:41c0::,2a00:41c0:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:41e0::,2a00:41e0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:4200::,2a00:4200:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:4220::,2a00:4220:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:4240::,2a00:4240:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:4260::,2a00:4260:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a00:4280::,2a00:4280:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:42a0::,2a00:42a0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:42c0::,2a00:42c0:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:42e0::,2a00:42e0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:4300::,2a00:4300:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:4320::,2a00:4320:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:4340::,2a00:4340:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:4360::,2a00:4360:ffff:ffff:ffff:ffff:ffff:ffff,IQ 2a00:4380::,2a00:4380:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a00:43a0::,2a00:43a0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:43c0::,2a00:43c0:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:43e0::,2a00:43e0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:4400::,2a00:4400:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a00:4420::,2a00:4420:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:4440::,2a00:4440:ffff:ffff:ffff:ffff:ffff:ffff,RS +2a00:4460::,2a00:4460:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a00:4480::,2a00:4480:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:44a0::,2a00:44a0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:44c0::,2a00:44c0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:44e0::,2a00:44e0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:4500::,2a00:4500:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:4520::,2a00:4520:ffff:ffff:ffff:ffff:ffff:ffff,KW 2a00:4540::,2a00:4540:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a00:4560::,2a00:4560:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:4580::,2a00:4580:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:45a0::,2a00:45a0:ffff:ffff:ffff:ffff:ffff:ffff,SY 2a00:45c0::,2a00:45c0:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:45e0::,2a00:45e0:ffff:ffff:ffff:ffff:ffff:ffff,IM 2a00:4600::,2a00:4600:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a00:4620::,2a00:4620:ffff:ffff:ffff:ffff:ffff:ffff,JO 2a00:4640::,2a00:4640:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:4660::,2a00:4660:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:4680::,2a00:4680:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a00:46a0::,2a00:46a0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:46c0::,2a00:46c0:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a00:46e0::,2a00:46e0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:4700::,2a00:4700:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:4720::,2a00:4720:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:4740::,2a00:4740:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:4760::,2a00:4760:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:4780::,2a00:4780:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:47a0::,2a00:47a0:ffff:ffff:ffff:ffff:ffff:ffff,KG 2a00:47c0::,2a00:47c0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:47e0::,2a00:47e0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:4800::,2a00:4800:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a00:4840::,2a00:4840:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:4860::,2a00:4860:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:4880::,2a00:4880:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a00:48a0::,2a00:48a0:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a00:48c0::,2a00:48c0:ffff:ffff:ffff:ffff:ffff:ffff,AZ +2a00:48e0::,2a00:48e0:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a00:4900::,2a00:4900:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:4920::,2a00:4920:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:4940::,2a00:4940:ffff:ffff:ffff:ffff:ffff:ffff,AL +2a00:4960::,2a00:4960:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:4980::,2a00:4987:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:49c0::,2a00:49c0:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a00:49e0::,2a00:49e0:ffff:ffff:ffff:ffff:ffff:ffff,RU 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:4a80::,2a00:4a80:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:4aa0::,2a00:4aa0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:4ac0::,2a00:4ac0:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:4ae0::,2a00:4ae0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:4b00::,2a00:4b00:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:4b20::,2a00:4b20:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a00:4b40::,2a00:4b40:ffff:ffff:ffff:ffff:ffff:ffff,SK +2a00:4b60::,2a00:4b60:ffff:ffff:ffff:ffff:ffff:ffff,CY 2a00:4b80::,2a00:4b80:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:4ba0::,2a00:4ba0:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a00:4bc0::,2a00:4bc0:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:4be0::,2a00:4be0:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a00:4c00::,2a00:4c00:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:4c20::,2a00:4c20:ffff:ffff:ffff:ffff:ffff:ffff,LT 2a00:4c40::,2a00:4c40:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a00:4c80::,2a00:4c80:ffff:ffff:ffff:ffff:ffff:ffff,PT +2a00:4c60::,2a00:4c60:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:4c80::,2a00:4c87:ffff:ffff:ffff:ffff:ffff:ffff,PT +2a00:4ca0::,2a00:4ca0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:4cc0::,2a00:4cc0:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a00:4ce0::,2a00:4ce0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:4d00::,2a00:4d00:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a00:4d20::,2a00:4d20:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:4d40::,2a00:4d40:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:4d60::,2a00:4d60:ffff:ffff:ffff:ffff:ffff:ffff,IS 2a00:4d80::,2a00:4d80:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:4da0::,2a00:4da0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:4dc0::,2a00:4dc0:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a00:4de0::,2a00:4de0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:4e00::,2a00:4e00:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:4e20::,2a00:4e20:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:4e40::,2a00:4e40:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:4e60::,2a00:4e60:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a00:4e80::,2a00:4e80:ffff:ffff:ffff:ffff:ffff:ffff,PS +2a00:4ea0::,2a00:4ea0:ffff:ffff:ffff:ffff:ffff:ffff,IS 2a00:4ec0::,2a00:4ec0:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:4f00::,2a00:4f00:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a00:4f20::,2a00:4f20:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:4f40::,2a00:4f40:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:4f60::,2a00:4f60:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a00:4f80::,2a00:4f80:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:4fa0::,2a00:4fa7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:4fc0::,2a00:4fc0:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:4fe0::,2a00:4fe0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:5000::,2a00:5000:ffff:ffff:ffff:ffff:ffff:ffff,IS 2a00:5040::,2a00:5040:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a00:5060::,2a00:5060:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a00:5080::,2a00:5080:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:50a0::,2a00:50a0:ffff:ffff:ffff:ffff:ffff:ffff,SA 2a00:50c0::,2a00:50c0:ffff:ffff:ffff:ffff:ffff:ffff,RU +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:5160::,2a00:5160:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:5180::,2a00:5180:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:51c0::,2a00:51c0:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:51e0::,2a00:51e0:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a00:5200::,2a00:5200:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:5220::,2a00:5220:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a00:5240::,2a00:5240:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a00:5260::,2a00:5260:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:5280::,2a00:5280:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:52a0::,2a00:52a0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:52c0::,2a00:52c0:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:52e0::,2a00:52e0:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a00:5300::,2a00:5300:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:5320::,2a00:5320:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a00:5340::,2a00:5340:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a00:5360::,2a00:5360:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:5380::,2a00:5380:ffff:ffff:ffff:ffff:ffff:ffff,IS +2a00:53a0::,2a00:53a0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a00:53c0::,2a00:53c0:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a00:53e0::,2a00:53e0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:5400::,2a00:5400:ffff:ffff:ffff:ffff:ffff:ffff,SA +2a00:5420::,2a00:5420:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:5440::,2a00:5440:ffff:ffff:ffff:ffff:ffff:ffff,US +2a00:5460::,2a00:5460:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:5480::,2a00:5480:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:54a0::,2a00:54a0:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a00:54c0::,2a00:54c0:ffff:ffff:ffff:ffff:ffff:ffff,PL -2a00:5500::,2a00:5500:ffff:ffff:ffff:ffff:ffff:ffff,AX +2a00:54e0::,2a00:54e0:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a00:5500::,2a00:5500:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a00:5520::,2a00:5520:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:5540::,2a00:5540:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:5560::,2a00:5560:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:5580::,2a00:5580:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:55a0::,2a00:55a0:ffff:ffff:ffff:ffff:ffff:ffff,IL 2a00:55c0::,2a00:55c0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:55e0::,2a00:55e0:ffff:ffff:ffff:ffff:ffff:ffff,SM 2a00:5600::,2a00:5600:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a00:5640::,2a00:5640:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:5620::,2a00:5620:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:5640::,2a00:5647:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:5680::,2a00:5680:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a00:56a0::,2a00:56a0:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a00:56c0::,2a00:56c0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:56e0::,2a00:56e0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a00:5700::,2a00:5700:ffff:ffff:ffff:ffff:ffff:ffff,KG +2a00:5720::,2a00:5720:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:5740::,2a00:5740:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a00:5760::,2a00:5760:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:5780::,2a00:5780:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:57a0::,2a00:57a0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:57c0::,2a00:57c0:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:57e0::,2a00:57e0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a00:5800::,2a00:5800:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a00:5820::,2a00:5820:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:5840::,2a00:5840:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a00:5880::,2a00:5880:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a00:58c0::,2a00:58c0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:5860::,2a00:5860:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a00:5880::,2a00:5887:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:58e0::,2a00:58e0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:5900::,2a00:5900:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a00:5920::,2a00:5920:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a00:5940::,2a00:5940:ffff:ffff:ffff:ffff:ffff:ffff,HU +2a00:5960::,2a00:5960:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:5980::,2a00:5980:ffff:ffff:ffff:ffff:ffff:ffff,LU +2a00:59a0::,2a00:59a0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:59c0::,2a00:59c0:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a00:59e0::,2a00:59e0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:5a00::,2a00:5a00:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:5a20::,2a00:5a20:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a00:5a40::,2a00:5a40:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:5a60::,2a00:5a60:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:5a80::,2a00:5a80:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:5aa0::,2a00:5aa0:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a00:5ac0::,2a00:5ac0:ffff:ffff:ffff:ffff:ffff:ffff,ES -2a00:5b00::,2a00:5b00:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a00:5ae0::,2a00:5ae0:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a00:5b00::,2a00:5b07:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a00:5b20::,2a00:5b20:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a00:5b40::,2a00:5b40:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a00:5b60::,2a00:5b60:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:5b80::,2a00:5b80:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a00:5ba0::,2a00:5ba0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:5bc0::,2a00:5bc0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:5be0::,2a00:5be0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:5c00::,2a00:5c00:ffff:ffff:ffff:ffff:ffff:ffff,ES -2a00:5c40::,2a00:5c40:ffff:ffff:ffff:ffff:ffff:ffff,MK +2a00:5c20::,2a00:5c20:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a00:5c40::,2a00:5c47:ffff:ffff:ffff:ffff:ffff:ffff,MK +2a00:5c60::,2a00:5c60:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:5c80::,2a00:5c80:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a00:5ca0::,2a00:5ca0:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a00:5cc0::,2a00:5cc0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:5ce0::,2a00:5ce0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:5d00::,2a00:5d00:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:5d20::,2a00:5d20:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a00:5d40::,2a00:5d40:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a00:5d60::,2a00:5d60:ffff:ffff:ffff:ffff:ffff:ffff,NL 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:5e00::,2a00:5e00:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:5e20::,2a00:5e20:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:5e40::,2a00:5e40:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a00:5e60::,2a00:5e60:ffff:ffff:ffff:ffff:ffff:ffff,LB 2a00:5e80::,2a00:5e80:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:5ea0::,2a00:5ea0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:5ec0::,2a00:5ec0:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a00:5ee0::,2a00:5ee0:ffff:ffff:ffff:ffff:ffff:ffff,IS 2a00:5f00::,2a00:5f00:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a00:5f40::,2a00:5f40:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:5f20::,2a00:5f20:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a00:5f40::,2a00:5f47:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:5fa0::,2a00:5fa0:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a00:5fc0::,2a00:5fc0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:5fe0::,2a00:5fe0:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a00:6000::,2a00:6000:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:6020::,2a00:6020:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:6040::,2a00:6040:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a00:6060::,2a00:6060:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:6080::,2a00:6080:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:60a0::,2a00:60a0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:60c0::,2a00:60c0:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a00:60e0::,2a00:60e0:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a00:6100::,2a00:6100:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:6120::,2a00:6120:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a00:6140::,2a00:6140:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:6160::,2a00:6160:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:6180::,2a00:6180:ffff:ffff:ffff:ffff:ffff:ffff,UA -2a00:61c0::,2a00:61c0:ffff:ffff:ffff:ffff:ffff:ffff,RS +2a00:61a0::,2a00:61a0:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a00:61c0::,2a00:61c7:ffff:ffff:ffff:ffff:ffff:ffff,RS +2a00:61e0::,2a00:61e0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:6200::,2a00:6200:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:6220::,2a00:6220:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a00:6240::,2a00:6240:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:6260::,2a00:6260:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a00:6280::,2a00:6280:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a00:62a0::,2a00:62a0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:62c0::,2a00:62c0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:62e0::,2a00:62e0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:6300::,2a00:6300:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:6320::,2a00:6320:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:6340::,2a00:6340:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:6360::,2a00:6360:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:6380::,2a00:6380:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a00:63a0::,2a00:63a0:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a00:63c0::,2a00:63c0:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a00:63e0::,2a00:63e0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:6400::,2a00:6400:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:6420::,2a00:6420:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:6440::,2a00:6440:ffff:ffff:ffff:ffff:ffff:ffff,BY +2a00:6460::,2a00:6460:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:6480::,2a00:6480:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:64a0::,2a00:64a0:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a00:64c0::,2a00:64c0:ffff:ffff:ffff:ffff:ffff:ffff,LT +2a00:64e0::,2a00:64e0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a00:6500::,2a00:6500:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a00:6520::,2a00:6520:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:6540::,2a00:6540:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:6560::,2a00:6560:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:6580::,2a00:6580:ffff:ffff:ffff:ffff:ffff:ffff,BG +2a00:65a0::,2a00:65a0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:65c0::,2a00:65c0:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a00:65e0::,2a00:65e0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:6600::,2a00:6600:ffff:ffff:ffff:ffff:ffff:ffff,BH +2a00:6620::,2a00:6620:ffff:ffff:ffff:ffff:ffff:ffff,GR 2a00:6640::,2a00:6640:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:6660::,2a00:6660:ffff:ffff:ffff:ffff:ffff:ffff,LV 2a00:6680::,2a00:6680:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:66a0::,2a00:66a0:ffff:ffff:ffff:ffff:ffff:ffff,IL +2a00:66e0::,2a00:66e0:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a00:6720::,2a00:6720:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:6740::,2a00:6740:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a00:6760::,2a00:6760:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:6780::,2a00:6780:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:67a0::,2a00:67a7:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:67c0::,2a00:67c0:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a00:67e0::,2a00:67e0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:6800::,2a00:6800:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:6820::,2a00:6820:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:6840::,2a00:6840:ffff:ffff:ffff:ffff:ffff:ffff,SI +2a00:6860::,2a00:6867:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:68a0::,2a00:68a0:ffff:ffff:ffff:ffff:ffff:ffff,AE 2a00:68c0::,2a00:68c0:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:68e0::,2a00:68e0:ffff:ffff:ffff:ffff:ffff:ffff,SY 2a00:6900::,2a00:6900:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:6920::,2a00:6920:ffff:ffff:ffff:ffff:ffff:ffff,LB 2a00:6940::,2a00:6940:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:6960::,2a00:6960:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:6980::,2a00:6980:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a00:69a0::,2a00:69a0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:69c0::,2a00:69c0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:69e0::,2a00:69e0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:6a00::,2a00:6a00:ffff:ffff:ffff:ffff:ffff:ffff,EE +2a00:6a20::,2a00:6a20:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a00:6a40::,2a00:6a40:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:6a60::,2a00:6a60:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:6a80::,2a00:6a80:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:6ac0::,2a00:6ac0:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:6ae0::,2a00:6ae0:ffff:ffff:ffff:ffff:ffff:ffff,LT 2a00:6b00::,2a00:6b00:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a00:6b20::,2a00:6b20:ffff:ffff:ffff:ffff:ffff:ffff,GR 2a00:6b40::,2a00:6b40:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a00:6b60::,2a00:6b60:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a00:6b80::,2a00:6b80:ffff:ffff:ffff:ffff:ffff:ffff,AL 2a00:6bc0::,2a00:6bc0:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a00:6be0::,2a00:6be0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:6c00::,2a00:6c00:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:6c20::,2a00:6c20:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:6c40::,2a00:6c40:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a00:6c60::,2a00:6c60:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:6c80::,2a00:6c80:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a00:6d40::,2a00:6d40:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a00:6ca0::,2a00:6ca0:ffff:ffff:ffff:ffff:ffff:ffff,SA +2a00:6ce0::,2a00:6ce0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:6d20::,2a00:6d20:ffff:ffff:ffff:ffff:ffff:ffff,SK +2a00:6d40::,2a00:6d47:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a00:6d60::,2a00:6d60:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a00:6d80::,2a00:6d80:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a00:6da0::,2a00:6da0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:6dc0::,2a00:6dc0:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a00:6de0::,2a00:6de0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:6e00::,2a00:6e00:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:6e20::,2a00:6e20:ffff:ffff:ffff:ffff:ffff:ffff,IQ 2a00:6e40::,2a00:6e40:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:6e60::,2a00:6e60:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:6e80::,2a00:6e80:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a00:6ea0::,2a00:6ea0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:6ec0::,2a00:6ec0:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a00:6ee0::,2a00:6ee0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:6f00::,2a00:6f00:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:6f20::,2a00:6f20:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:6f40::,2a00:6f40:ffff:ffff:ffff:ffff:ffff:ffff,BG +2a00:6f60::,2a00:6f60:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:6f80::,2a00:6f80:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:6fa0::,2a00:6fa0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:6fc0::,2a00:6fc0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:6fe0::,2a00:6fe0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:7000::,2a00:7000:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a00:7020::,2a00:7020:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:7040::,2a00:7040:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a00:7060::,2a00:7060:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:7080::,2a00:7080:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a00:70a0::,2a00:70a0:ffff:ffff:ffff:ffff:ffff:ffff,SY 2a00:70c0::,2a00:70c0:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:70e0::,2a00:70e0:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a00:7100::,2a00:7100:ffff:ffff:ffff:ffff:ffff:ffff,ES -2a00:7140::,2a00:7140:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:7120::,2a00:7120:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:7140::,2a00:7147:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:7160::,2a00:7160:ffff:ffff:ffff:ffff:ffff:ffff,KG 2a00:7180::,2a00:7180:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:71a0::,2a00:71a0:ffff:ffff:ffff:ffff:ffff:ffff,BA 2a00:71c0::,2a00:71c0:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:71e0::,2a00:71e0:ffff:ffff:ffff:ffff:ffff:ffff,IS 2a00:7200::,2a00:7200:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a00:7240::,2a00:7240:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a00:7220::,2a00:7220:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a00:7240::,2a00:7243:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a00:7260::,2a00:7260:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:7280::,2a00:7280:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:72a0::,2a00:72a0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:72c0::,2a00:72c0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:72e0::,2a00:72e0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:7300::,2a00:7300:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a00:7320::,2a00:7327:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a00:7340::,2a00:7340:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a00:7360::,2a00:7360:ffff:ffff:ffff:ffff:ffff:ffff,SI 2a00:7380::,2a00:7380:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:73a0::,2a00:73a0:ffff:ffff:ffff:ffff:ffff:ffff,RS 2a00:73c0::,2a00:73c0:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:73e0::,2a00:73e0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:7400::,2a00:7400:ffff:ffff:ffff:ffff:ffff:ffff,IE -2a00:7440::,2a00:7440:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:7420::,2a00:7420:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:7440::,2a00:7447:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:7460::,2a00:7460:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:7480::,2a00:7480:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:74a0::,2a00:74a0:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a00:74c0::,2a00:74c0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:74e0::,2a00:74e0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:7500::,2a00:7500:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:7520::,2a00:7520:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a00:7540::,2a00:7540:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:7560::,2a00:7560:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a00:7580::,2a00:7580:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:75a0::,2a00:75a0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:75c0::,2a00:75c0:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:75e0::,2a00:75e0:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a00:7600::,2a00:7600:ffff:ffff:ffff:ffff:ffff:ffff,LT +2a00:7620::,2a00:7620:ffff:ffff:ffff:ffff:ffff:ffff,CY 2a00:7640::,2a00:7640:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:7660::,2a00:7660:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a00:7680::,2a00:7680:ffff:ffff:ffff:ffff:ffff:ffff,SA +2a00:76a0::,2a00:76a0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a00:76c0::,2a00:76c0:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a00:76e0::,2a00:76e0:ffff:ffff:ffff:ffff:ffff:ffff,JO 2a00:7700::,2a00:7700:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:7720::,2a00:7720:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:7740::,2a00:7740:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:7760::,2a00:7767:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:7780::,2a00:7780:ffff:ffff:ffff:ffff:ffff:ffff,SA +2a00:77a0::,2a00:77a0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:77c0::,2a00:77c0:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:77e0::,2a00:77e0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:7800::,2a00:7800:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a00:7820::,2a00:7820:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:7840::,2a00:7840:ffff:ffff:ffff:ffff:ffff:ffff,IS +2a00:7860::,2a00:7860:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:7880::,2a00:7880:ffff:ffff:ffff:ffff:ffff:ffff,HR +2a00:78a0::,2a00:78a0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:78c0::,2a00:78c0:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:78e0::,2a00:78e0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:7900::,2a00:7900:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:7920::,2a00:7920:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a00:7940::,2a00:7940:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:7960::,2a00:7960:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:7980::,2a00:7980:ffff:ffff:ffff:ffff:ffff:ffff,RU +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: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 2a00:7a40::,2a00:7a40:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:7a60::,2a00:7a60:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a00:7a80::,2a00:7a80:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a00:7ac0::,2a00:7ac0:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a00:7b00::,2a00:7b00:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:7ae0::,2a00:7ae0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:7b00::,2a00:7b07:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:7b40::,2a00:7b40:ffff:ffff:ffff:ffff:ffff:ffff,IE +2a00:7b60::,2a00:7b60:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:7b80::,2a00:7b80:ffff:ffff:ffff:ffff:ffff:ffff,NL -2a00:7bc0::,2a00:7bc0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:7ba0::,2a00:7ba0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:7be0::,2a00:7be0:ffff:ffff:ffff:ffff:ffff:ffff,QA 2a00:7c00::,2a00:7c00:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:7c20::,2a00:7c20:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:7c40::,2a00:7c40:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:7c60::,2a00:7c60:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:7c80::,2a00:7c80:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:7ca0::,2a00:7ca0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:7cc0::,2a00:7cc0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:7ce0::,2a00:7ce0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:7d00::,2a00:7d00:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a00:7d20::,2a00:7d20:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:7d40::,2a00:7d40:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:7d60::,2a00:7d60:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:7d80::,2a00:7d80:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a00:7da0::,2a00:7da0:ffff:ffff:ffff:ffff:ffff:ffff,AZ 2a00:7dc0::,2a00:7dc0:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:7de0::,2a00:7de0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:7e00::,2a00:7e00:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a00:7e20::,2a00:7e20:ffff:ffff:ffff:ffff:ffff:ffff,LU 2a00:7e40::,2a00:7e40:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:7e60::,2a00:7e60:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:7e80::,2a00:7e80:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a00:7ea0::,2a00:7ea0:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:7ec0::,2a00:7ec0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:7f00::,2a00:7f00:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:7f20::,2a00:7f20:ffff:ffff:ffff:ffff:ffff:ffff,SK 2a00:7f40::,2a00:7f40:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a00:7f80::,2a00:7f80:ffff:ffff:ffff:ffff:ffff:ffff,IR +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:8020::,2a00:8020:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:8040::,2a00:8040:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:8060::,2a00:8060:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:8080::,2a00:8080:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:80a0::,2a00:80a0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:80c0::,2a00:80c0:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a00:80e0::,2a00:80e0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:8100::,2a00:8100:ffff:ffff:ffff:ffff:ffff:ffff,RS +2a00:8120::,2a00:8120:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:8140::,2a00:8140:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:8160::,2a00:8160:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a00:8180::,2a00:8180:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:81a0::,2a00:81a0:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:81c0::,2a00:81c0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:81e0::,2a00:81e0:ffff:ffff:ffff:ffff:ffff:ffff,LV 2a00:8200::,2a00:8200:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a00:8220::,2a00:8220:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a00:8240::,2a00:8240:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:8260::,2a00:8260:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:8280::,2a00:8280:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a00:82a0::,2a00:82a0:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a00:82c0::,2a00:82c0:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:82e0::,2a00:82e0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:8300::,2a00:8300:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:8320::,2a00:8320:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a00:8340::,2a00:8340:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a00:8360::,2a00:8360:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a00:8380::,2a00:8380:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a00:83c0::,2a00:83c0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:83a0::,2a00:83a0:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a00:83e0::,2a00:83e0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:8400::,2a00:8400:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a00:8420::,2a00:8420: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 +2a00:84a0::,2a00:84a0:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a00:84c0::,2a00:84c0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:84e0::,2a00:84e0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:8500::,2a00:8500:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:8520::,2a00:8520:ffff:ffff:ffff:ffff:ffff:ffff,PS 2a00:8540::,2a00:8540:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:8560::,2a00:8560:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a00:8580::,2a00:8580:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:85a0::,2a00:85a0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:85c0::,2a00:85c0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:85e0::,2a00:85e0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a00:8600::,2a00:8600:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a00:8640::,2a00:8640:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:8640::,2a00:8647:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:8660::,2a00:8660:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:8680::,2a00:8680:ffff:ffff:ffff:ffff:ffff:ffff,IE +2a00:86a0::,2a00:86a0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:86c0::,2a00:86c0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:86e0::,2a00:86e0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:8700::,2a00:8700:ffff:ffff:ffff:ffff:ffff:ffff,ME +2a00:8720::,2a00:8720:ffff:ffff:ffff:ffff:ffff:ffff,RS 2a00:8740::,2a00:8740:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:8760::,2a00:8760:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:8780::,2a00:8780:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a00:87a0::,2a00:87a0:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a00:87c0::,2a00:87c0:ffff:ffff:ffff:ffff:ffff:ffff,BG +2a00:87e0::,2a00:87e0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:8800::,2a00:8800:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:8820::,2a00:8820:ffff:ffff:ffff:ffff:ffff:ffff,SA 2a00:8840::,2a00:8840:ffff:ffff:ffff:ffff:ffff:ffff,UZ 2a00:8880::,2a00:8880:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:88a0::,2a00:88a0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:88c0::,2a00:88c0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:88e0::,2a00:88e0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:8900::,2a00:8900:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:8920::,2a00:8920:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:8940::,2a00:8940:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:8960::,2a00:8960:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:8980::,2a00:8980:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a00:89a0::,2a00:89a0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:89c0::,2a00:89c0:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:89e0::,2a00:89e0:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a00:8a00::,2a00:8a00:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a00:8a20::,2a00:8a20:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a00:8a40::,2a00:8a40:ffff:ffff:ffff:ffff:ffff:ffff,PL -2a00:8a80::,2a00:8a80:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:8a80::,2a00:8a87:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:8aa0::,2a00:8aa0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:8ac0::,2a00:8ac0:ffff:ffff:ffff:ffff:ffff:ffff,IQ +2a00:8ae0::,2a00:8ae0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:8b00::,2a00:8b00:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:8b20::,2a00:8b20:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:8b60::,2a00:8b60:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:8b80::,2a00:8b80:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a00:8ba0::,2a00:8ba0:ffff:ffff:ffff:ffff:ffff:ffff,AL 2a00:8bc0::,2a00:8bc0:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:8be0::,2a00:8be0:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a00:8c00::,2a00:8c00:ffff:ffff:ffff:ffff:ffff:ffff,LT +2a00:8c20::,2a00:8c20:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:8c40::,2a00:8c40:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:8c60::,2a00:8c60:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:8c80::,2a00:8c80:ffff:ffff:ffff:ffff:ffff:ffff,IE +2a00:8ca0::,2a00:8ca0:ffff:ffff:ffff:ffff:ffff:ffff,BA 2a00:8cc0::,2a00:8cc0:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:8ce0::,2a00:8ce0:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a00:8d00::,2a00:8d00:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:8d40::,2a00:8d40:ffff:ffff:ffff:ffff:ffff:ffff,AZ +2a00:8d60::,2a00:8d60:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:8d80::,2a00:8d80:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:8dc0::,2a00:8dc0:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a00:8de0::,2a00:8de0:ffff:ffff:ffff:ffff:ffff:ffff,MT 2a00:8e00::,2a00:8e00:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:8e20::,2a00:8e20:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:8e40::,2a00:8e40:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:8e60::,2a00:8e60:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:8ea0::,2a00:8ea0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:8ec0::,2a00:8ec0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:8ee0::,2a00:8ee7:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:8f00::,2a00:8f00:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:8f20::,2a00:8f20:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a00:8f40::,2a00:8f40:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:8f60::,2a00:8f60:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a00:8fa0::,2a00:8fa0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:8fc0::,2a00:8fc0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:8fe0::,2a00:8fe0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:9000::,2a00:9000:ffff:ffff:ffff:ffff:ffff:ffff,LV +2a00:9020::,2a00:9020:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:9040::,2a00:9040:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:9060::,2a00:9060:ffff:ffff:ffff:ffff:ffff:ffff,SK 2a00:9080::,2a00:9080:ffff:ffff:ffff:ffff:ffff:ffff,DK -2a00:90c0::,2a00:90c0:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:90a0::,2a00:90a0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:90c0::,2a00:90c7:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:9100::,2a00:9100:ffff:ffff:ffff:ffff:ffff:ffff,AZ +2a00:9120::,2a00:9120:ffff:ffff:ffff:ffff:ffff:ffff,OM 2a00:9140::,2a00:9140:ffff:ffff:ffff:ffff:ffff:ffff,IS +2a00:9160::,2a00:9160:ffff:ffff:ffff:ffff:ffff:ffff,SK 2a00:9180::,2a00:9180:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:91a0::,2a00:91a0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:91c0::,2a00:91c0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:91e0::,2a00:91e0:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a00:9200::,2a00:9200:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:9220::,2a00:9220:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:9240::,2a00:9240:ffff:ffff:ffff:ffff:ffff:ffff,HR +2a00:9260::,2a00:9260:ffff:ffff:ffff:ffff:ffff:ffff,IS 2a00:9280::,2a00:9280:ffff:ffff:ffff:ffff:ffff:ffff,IS +2a00:92a0::,2a00:92a7:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:92c0::,2a00:92c0:ffff:ffff:ffff:ffff:ffff:ffff,IS +2a00:92e0::,2a00:92e0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:9300::,2a00:9300:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a00:9340::,2a00:9340:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:9320::,2a00:9320:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a00:9340::,2a00:9347:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:9380::,2a00:9380:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:93a0::,2a00:93a0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:93c0::,2a00:93c0:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:93e0::,2a00:93e0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:9400::,2a00:9400:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:9420::,2a00:9420:ffff:ffff:ffff:ffff:ffff:ffff,HU 2a00:9440::,2a00:9440:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:9460::,2a00:9467:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:9480::,2a00:9480:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:94a0::,2a00:94a0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:94c0::,2a00:94c0:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a00:94e0::,2a00:94e0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:9500::,2a00:9500:ffff:ffff:ffff:ffff:ffff:ffff,RS +2a00:9520::,2a00:9520:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:9540::,2a00:9540:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a00:9560::,2a00:9560: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,GB +2a00:95e0::,2a00:95e0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:9600::,2a00:9600:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:9620::,2a00:9620:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a00:9640::,2a00:9640:ffff:ffff:ffff:ffff:ffff:ffff,SK 2a00:9680::,2a00:9680:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:96a0::,2a00:96a0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:96c0::,2a00:96c0:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a00:96e0::,2a00:96e0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:9700::,2a00:9700:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:9720::,2a00:9720:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:9740::,2a00:9740:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:9760::,2a00:9760:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a00:9780::,2a00:9780:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:97a0::,2a00:97a0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:97c0::,2a00:97c0:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a00:97e0::,2a00:97e0:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a00:9800::,2a00:9800:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:9820::,2a00:9820:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:9840::,2a00:9840:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:9860::,2a00:9860:ffff:ffff:ffff:ffff:ffff:ffff,HR 2a00:9880::,2a00:9880:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a00:98a0::,2a00:98a0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:98c0::,2a00:98c0:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a00:98e0::,2a00:98e0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:9900::,2a00:9900:ffff:ffff:ffff:ffff:ffff:ffff,MD -2a00:9940::,2a00:9940:ffff:ffff:ffff:ffff:ffff:ffff,EU +2a00:9920::,2a00:9920:ffff:ffff:ffff:ffff:ffff:ffff,PS +2a00:9960::,2a00:9960:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:9980::,2a00:9980:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:99a0::,2a00:99a0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:99c0::,2a00:99c0:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:99e0::,2a00:99e7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:9a00::,2a00:9a00:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:9a20::,2a00:9a20:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:9a40::,2a00:9a40:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:9a60::,2a00:9a60:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:9a80::,2a00:9a80:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:9aa0::,2a00:9aa0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:9ac0::,2a00:9ac0:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:9ae0::,2a00:9ae0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:9b00::,2a00:9b00:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a00:9b40::,2a00:9b40:ffff:ffff:ffff:ffff:ffff:ffff,KZ +2a00:9b60::,2a00:9b60:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:9b80::,2a00:9b80:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a00:9ba0::,2a00:9ba0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:9bc0::,2a00:9bc0:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a00:9be0::,2a00:9be0:ffff:ffff:ffff:ffff:ffff:ffff,AL 2a00:9c00::,2a00:9c00:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a00:9c20::,2a00:9c20:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a00:9c40::,2a00:9c40:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:9c60::,2a00:9c60:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:9c80::,2a00:9c80:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a00:9ca0::,2a00:9ca0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:9cc0::,2a00:9cc0:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:9ce0::,2a00:9ce0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:9d00::,2a00:9d00:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:9d20::,2a00:9d20:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:9d40::,2a00:9d40:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a00:9d60::,2a00:9d60:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:9d80::,2a00:9d80:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:9dc0::,2a00:9dc0:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a00:9de0::,2a00:9de0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:9e00::,2a00:9e00:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:9e20::,2a00:9e20:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:9e40::,2a00:9e40:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:9e60::,2a00:9e60:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:9e80::,2a00:9e80:ffff:ffff:ffff:ffff:ffff:ffff,RU +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:9f20::,2a00:9f20:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a00:9f40::,2a00:9f40:ffff:ffff:ffff:ffff:ffff:ffff,AL +2a00:9f60::,2a00:9f60:ffff:ffff:ffff:ffff:ffff:ffff,IL 2a00:9f80::,2a00:9f80:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:9fa0::,2a00:9fa0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:9fc0::,2a00:9fc0:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a00:9fe0::,2a00:9fe7:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:a000::,2a00:a000:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:a020::,2a00:a020:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:a040::,2a00:a040:ffff:ffff:ffff:ffff:ffff:ffff,IL +2a00:a060::,2a00:a060:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:a080::,2a00:a080:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:a0a0::,2a00:a0a0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:a0c0::,2a00:a0c0:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:a0e0::,2a00:a0e0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:a100::,2a00:a100:ffff:ffff:ffff:ffff:ffff:ffff,HU +2a00:a120::,2a00:a120:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:a140::,2a00:a140:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a00:a160::,2a00:a160:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a00:a180::,2a00:a180:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:a1a0::,2a00:a1a0:ffff:ffff:ffff:ffff:ffff:ffff,HU 2a00:a1c0::,2a00:a1c0:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a00:a1e0::,2a00:a1e0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:a200::,2a00:a200:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:a220::,2a00:a220:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:a240::,2a00:a240:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a00:a260::,2a00:a260:ffff:ffff:ffff:ffff:ffff:ffff,AL 2a00:a280::,2a00:a280:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:a2a0::,2a00:a2a0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:a2c0::,2a00:a2c0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:a2e0::,2a00:a2e0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:a300::,2a00:a300:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:a320::,2a00:a320:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:a340::,2a00:a340:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:a360::,2a00:a360:ffff:ffff:ffff:ffff:ffff:ffff,SI 2a00:a380::,2a00:a380:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a00:a3a0::,2a00:a3a0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:a3c0::,2a00:a3c0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:a3e0::,2a00:a3e0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:a400::,2a00:a400:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:a420::,2a00:a420:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:a440::,2a00:a440:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a00:a460::,2a00:a460:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a00:a480::,2a00:a480:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a00:a4a0::,2a00:a4a0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:a4c0::,2a00:a4c0:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:a4e0::,2a00:a4e0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:a500::,2a00:a500:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:a520::,2a00:a520:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:a540::,2a00:a540:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a00:a560::,2a00:a560:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a00:a580::,2a00:a580:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:a5a0::,2a00:a5a0:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a00:a5c0::,2a00:a5c0:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:a5e0::,2a00:a5e0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:a600::,2a00:a600:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:a620::,2a00:a620:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:a640::,2a00:a640:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:a660::,2a00:a660:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:a680::,2a00:a680:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:a6a0::,2a00:a6a0:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a00:a6c0::,2a00:a6c0:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:a6e0::,2a00:a6e0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:a700::,2a00:a700:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:a720::,2a00:a720:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:a740::,2a00:a740:ffff:ffff:ffff:ffff:ffff:ffff,IE +2a00:a760::,2a00:a760:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a00:a780::,2a00:a780:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:a7a0::,2a00:a7a0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:a7c0::,2a00:a7c0:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:a7e0::,2a00:a7e0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:a800::,2a00:a800:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:a820::,2a00:a820:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:a840::,2a00:a840:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:a860::,2a00:a860:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:a880::,2a00:a880:ffff:ffff:ffff:ffff:ffff:ffff,GR +2a00:a8a0::,2a00:a8a0:ffff:ffff:ffff:ffff:ffff:ffff,SK +2a00:a8e0::,2a00:a8e0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:a900::,2a00:a900:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a00:a980::,2a00:a980:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:a920::,2a00:a920:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:a960::,2a00:a960:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:a980::,2a00:a987:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:a9a0::,2a00:a9a0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:a9c0::,2a00:a9c0:ffff:ffff:ffff:ffff:ffff:ffff,MK +2a00:a9e0::,2a00:a9e0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:aa00::,2a00:aa00:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:aa40::,2a00:aa40:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:aa60::,2a00:aa60:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:aa80::,2a00:aa80:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a00:aaa0::,2a00:aaa0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:aac0::,2a00:aac0:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:aae0::,2a00:aae0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:ab00::,2a00:ab00:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:ab20::,2a00:ab20:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:ab40::,2a00:ab40:ffff:ffff:ffff:ffff:ffff:ffff,KZ +2a00:ab60::,2a00:ab60:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:ab80::,2a00:ab80:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:aba0::,2a00:aba0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:abe0::,2a00:abe0:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a00:ac00::,2a00:ac00:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a00:ac20::,2a00:ac20:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:ac40::,2a00:ac40:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:ac60::,2a00:ac60:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:ac80::,2a00:ac80:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a00:aca0::,2a00:aca0:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a00:acc0::,2a00:acc0:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a00:ace0::,2a00:ace0:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a00:ad00::,2a00:ad00:ffff:ffff:ffff:ffff:ffff:ffff,RS +2a00:ad20::,2a00:ad20:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:ad40::,2a00:ad40:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:ad60::,2a00:ad60:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:ad80::,2a00:ad87:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:adc0::,2a00:adc0:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:ade0::,2a00:ade0:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a00:ae00::,2a00:ae00:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a00:ae20::,2a00:ae20:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:ae40::,2a00:ae40:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:ae60::,2a00:ae60:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:ae80::,2a00:ae80:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:aea0::,2a00:aea0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:aec0::,2a00:aec0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:aee0::,2a00:aee0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:af00::,2a00:af00:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:af20::,2a00:af20:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:af40::,2a00:af40:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:af60::,2a00:af60:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a00:af80::,2a00:af80:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:afa0::,2a00:afa0:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a00:afc0::,2a00:afc0:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a00:afe0::,2a00:afe0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:b000::,2a00:b000:ffff:ffff:ffff:ffff:ffff:ffff,SK +2a00:b020::,2a00:b020:ffff:ffff:ffff:ffff:ffff:ffff,KG 2a00:b040::,2a00:b040:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:b060::,2a00:b060:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a00:b080::,2a00:b080:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:b0a0::,2a00:b0a0:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a00:b0c0::,2a00:b0c0:ffff:ffff:ffff:ffff:ffff:ffff,HU +2a00:b0e0::,2a00:b0e0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:b100::,2a00:b100:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:b120::,2a00:b120:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:b140::,2a00:b140:ffff:ffff:ffff:ffff:ffff:ffff,IR +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:b1e0::,2a00:b1e0:ffff:ffff:ffff:ffff:ffff:ffff,LU 2a00:b200::,2a00:b200:ffff:ffff:ffff:ffff:ffff:ffff,IT -2a00:b240::,2a00:b240:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a00:b220::,2a00:b220:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a00:b260::,2a00:b260:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:b280::,2a00:b280:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a00:b2c0::,2a00:b2c0:ffff:ffff:ffff:ffff:ffff:ffff,IE +2a00:b2a0::,2a00:b2a0:ffff:ffff:ffff:ffff:ffff:ffff,SI +2a00:b2e0::,2a00:b2e0:ffff:ffff:ffff:ffff:ffff:ffff,SA 2a00:b300::,2a00:b300:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:b320::,2a00:b320:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:b340::,2a00:b340:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:b360::,2a00:b360:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:b380::,2a00:b380:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a00:b3a0::,2a00:b3a0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:b3c0::,2a00:b3c0:ffff:ffff:ffff:ffff:ffff:ffff,IS +2a00:b3e0::,2a00:b3e0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:b400::,2a00:b400:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:b420::,2a00:b420:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:b440::,2a00:b440:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:b460::,2a00:b460:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:b480::,2a00:b480:ffff:ffff:ffff:ffff:ffff:ffff,UA -2a00:b4c0::,2a00:b4c0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:b4a0::,2a00:b4a0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:b4c0::,2a00:b4c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:b500::,2a00:b500:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:b520::,2a00:b520:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:b540::,2a00:b540:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:b560::,2a00:b560:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:b580::,2a00:b580:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:b5a0::,2a00:b5a0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:b5c0::,2a00:b5c0:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:b5e0::,2a00:b5e0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:b600::,2a00:b607:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:b640::,2a00:b640:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a00:b660::,2a00:b660:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:b680::,2a00:b680:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a00:b6a0::,2a00:b6a0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:b6c0::,2a00:b6c0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:b6e0::,2a00:b6e0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:b700::,2a00:b700:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:b720::,2a00:b720:ffff:ffff:ffff:ffff:ffff:ffff,RS 2a00:b740::,2a00:b740:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a00:b760::,2a00:b760:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:b780::,2a00:b780:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a00:b7a0::,2a00:b7a0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a00:b7c0::,2a00:b7c0:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:b7e0::,2a00:b7e0:ffff:ffff:ffff:ffff:ffff:ffff,IL 2a00:b800::,2a00:b800:ffff:ffff:ffff:ffff:ffff:ffff,SY +2a00:b820::,2a00:b820:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a00:b840::,2a00:b840:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:b860::,2a00:b860:ffff:ffff:ffff:ffff:ffff:ffff,JO 2a00:b880::,2a00:b880:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:b8a0::,2a00:b8a0:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a00:b8c0::,2a00:b8c0:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a00:b8e0::,2a00:b8e0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:b900::,2a00:b900:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:b920::,2a00:b920:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a00:b960::,2a00:b960:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a00:b980::,2a00:b981:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:b9a0::,2a00:b9a0:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a00:b9c0::,2a00:b9c0: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 2a00:ba40::,2a00:ba40:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:ba60::,2a00:ba60:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:ba80::,2a00:ba80:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:baa0::,2a00:baa0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:bac0::,2a00:bac0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:bae0::,2a00:bae0:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a00:bb00::,2a00:bb00:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:bb20::,2a00:bb20:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a00:bb40::,2a00:bb40:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:bb60::,2a00:bb60:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a00:bb80::,2a00:bb80:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:bba0::,2a00:bba0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:bbc0::,2a00:bbc0:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:bbe0::,2a00:bbe0:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a00:bc00::,2a00:bc00:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a00:bc20::,2a00:bc20:ffff:ffff:ffff:ffff:ffff:ffff,PT 2a00:bc40::,2a00:bc40:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:bc60::,2a00:bc60:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a00:bc80::,2a00:bc80:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:bca0::,2a00:bca0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:bcc0::,2a00:bcc0:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:bce0::,2a00:bce0:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a00:bd00::,2a00:bd00:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:bd20::,2a00:bd20:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:bd40::,2a00:bd40:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:bd60::,2a00:bd60:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a00:bd80::,2a00:bd80:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:bda0::,2a00:bda0:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a00:bdc0::,2a00:bdc0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:bde0::,2a00:bde0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a00:be00::,2a00:be00:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:be20::,2a00:be20:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:be40::,2a00:be40:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a00:be60::,2a00:be60:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:be80::,2a00:be80:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:bea0::,2a00:bea0:ffff:ffff:ffff:ffff:ffff:ffff,AE 2a00:bec0::,2a00:bec7:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:bf00::,2a00:bf00:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:bf20::,2a00:bf20:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a00:bf40::,2a00:bf40:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:bf60::,2a00:bf60:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:bf80::,2a00:bf80:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:bfa0::,2a00:bfa0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:bfc0::,2a00:bfc0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:bfe0::,2a00:bfe0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:c000::,2a00:c000:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:c020::,2a00:c020:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a00:c040::,2a00:c040:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:c060::,2a00:c060:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:c080::,2a00:c080:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:c0a0::,2a00:c0a0:ffff:ffff:ffff:ffff:ffff:ffff,AZ 2a00:c0c0::,2a00:c0c0:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:c0e0::,2a00:c0e0:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a00:c100::,2a00:c100:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a00:c120::,2a00:c120:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:c140::,2a00:c140:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:c160::,2a00:c160:ffff:ffff:ffff:ffff:ffff:ffff,AL 2a00:c180::,2a00:c180:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:c1a0::,2a00:c1a0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:c1c0::,2a00:c1c0:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a00:c1e0::,2a00:c1e0:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:c200::,2a00:c200:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a00:c220::,2a00:c220:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:c240::,2a00:c240:ffff:ffff:ffff:ffff:ffff:ffff,AE +2a00:c260::,2a00:c260:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:c280::,2a00:c280:ffff:ffff:ffff:ffff:ffff:ffff,IL +2a00:c2a0::,2a00:c2a0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:c2c0::,2a00:c2c0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:c300::,2a00:c300:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:c320::,2a00:c320:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:c340::,2a00:c340:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:c360::,2a00:c360:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:c380::,2a00:c380:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:c3a0::,2a00:c3a0:ffff:ffff:ffff:ffff:ffff:ffff,EE 2a00:c3c0::,2a00:c3c0:ffff:ffff:ffff:ffff:ffff:ffff,HU +2a00:c3e0::,2a00:c3e0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:c400::,2a00:c400:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a00:c440::,2a00:c440:ffff:ffff:ffff:ffff:ffff:ffff,NO -2a00:c480::,2a00:c480:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:c420::,2a00:c420:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:c440::,2a00:c447:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a00:c460::,2a00:c460:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:c4a0::,2a00:c4a0:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a00:c4c0::,2a00:c4c0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:c4e0::,2a00:c4e0:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a00:c500::,2a00:c500:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a00:c520::,2a00:c520:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:c540::,2a00:c540:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a00:c560::,2a00:c560:ffff:ffff:ffff:ffff:ffff:ffff,PT 2a00:c580::,2a00:c580:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a00:c5a0::,2a00:c5a0:ffff:ffff:ffff:ffff:ffff:ffff,MD 2a00:c5c0::,2a00:c5c0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:c5e0::,2a00:c5e0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:c600::,2a00:c600:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:c620::,2a00:c620:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:c640::,2a00:c640:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a00:c660::,2a00:c660:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:c680::,2a00:c680:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a00:c6a0::,2a00:c6a0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:c6c0::,2a00:c6c0:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:c6e0::,2a00:c6e0:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a00:c700::,2a00:c700:ffff:ffff:ffff:ffff:ffff:ffff,EE +2a00:c720::,2a00:c720:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a00:c740::,2a00:c740:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a00:c760::,2a00:c760:ffff:ffff:ffff:ffff:ffff:ffff,HU 2a00:c780::,2a00:c780:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:c7a0::,2a00:c7a0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:c7c0::,2a00:c7c0:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:c7e0::,2a00:c7e0:ffff:ffff:ffff:ffff:ffff:ffff,AZ 2a00:c800::,2a00:c800:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:c820::,2a00:c820:ffff:ffff:ffff:ffff:ffff:ffff,BY 2a00:c840::,2a00:c840:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:c860::,2a00:c860:ffff:ffff:ffff:ffff:ffff:ffff,IQ 2a00:c880::,2a00:c880:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a00:c8a0::,2a00:c8a7:ffff:ffff:ffff:ffff:ffff:ffff,MK 2a00:c8c0::,2a00:c8c0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:c8e0::,2a00:c8e0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:c900::,2a00:c900:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:c920::,2a00:c920:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a00:c940::,2a00:c940:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:c960::,2a00:c960:ffff:ffff:ffff:ffff:ffff:ffff,GR 2a00:c980::,2a00:c980:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:c9a0::,2a00:c9a0:ffff:ffff:ffff:ffff:ffff:ffff,HU 2a00:c9c0::,2a00:c9c0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:c9e0::,2a00:c9e0:ffff:ffff:ffff:ffff:ffff:ffff,IQ 2a00:ca00::,2a00:ca00:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:ca20::,2a00:ca20:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a00:ca40::,2a00:ca40:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a00:ca60::,2a00:ca60:ffff:ffff:ffff:ffff:ffff:ffff,LU 2a00:ca80::,2a00:ca80:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:caa0::,2a00:caa0:ffff:ffff:ffff:ffff:ffff:ffff,JO 2a00:cac0::,2a00:cac0:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a00:cae0::,2a00:cae0:ffff:ffff:ffff:ffff:ffff:ffff,HU 2a00:cb00::,2a00:cb00:ffff:ffff:ffff:ffff:ffff:ffff,BA +2a00:cb20::,2a00:cb20:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a00:cb40::,2a00:cb40:ffff:ffff:ffff:ffff:ffff:ffff,SK +2a00:cb60::,2a00:cb60:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a00:cb80::,2a00:cb80:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:cba0::,2a00:cba0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:cbc0::,2a00:cbc0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:cbe0::,2a00:cbe0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:cc00::,2a00:cc00:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:cc20::,2a00:cc20:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:cc40::,2a00:cc40:ffff:ffff:ffff:ffff:ffff:ffff,AM +2a00:cc60::,2a00:cc60:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:cc80::,2a00:cc80:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a00:ccc0::,2a00:ccc0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:cca0::,2a00:cca0:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:ccc0::,2a00:ccc7:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:cce0::,2a00:cce0:ffff:ffff:ffff:ffff:ffff:ffff,MD 2a00:cd00::,2a00:cd00:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:cd20::,2a00:cd20:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:cd40::,2a00:cd40:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:cd60::,2a00:cd60:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a00:cd80::,2a00:cd80:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a00:cda0::,2a00:cda0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:cdc0::,2a00:cdc0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:cde0::,2a00:cde0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:ce00::,2a00:ce00:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:ce20::,2a00:ce27:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:ce40::,2a00:ce40:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:ce60::,2a00:ce60:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a00:ce80::,2a00:ce80:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:cea0::,2a00:cea0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:cec0::,2a00:cec0:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a00:cee0::,2a00:cee0:ffff:ffff:ffff:ffff:ffff:ffff,PS 2a00:cf00::,2a00:cf00:ffff:ffff:ffff:ffff:ffff:ffff,RS +2a00:cf20::,2a00:cf20:ffff:ffff:ffff:ffff:ffff:ffff,SA 2a00:cf40::,2a00:cf40:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:cf60::,2a00:cf60:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:cf80::,2a00:cf80:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a00:cfa0::,2a00:cfa0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:cfc0::,2a00:cfc0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:cfe0::,2a00:cfe0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:d000::,2a00:d000:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:d020::,2a00:d020:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:d040::,2a00:d040:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a00:d060::,2a00:d060:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a00:d080::,2a00:d080:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:d0a0::,2a00:d0a0:ffff:ffff:ffff:ffff:ffff:ffff,PL 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:d100:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:d120::,2a00:d120:ffff:ffff:ffff:ffff:ffff:ffff,NL 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 +2a00:d1a0::,2a00:d1a0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:d1c0::,2a00:d1c0:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:d1e0::,2a00:d1e0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:d200::,2a00:d200:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:d240::,2a00:d240:ffff:ffff:ffff:ffff:ffff:ffff,HU +2a00:d260::,2a00:d267:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:d280::,2a00:d280:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:d2a0::,2a00:d2a7:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:d2c0::,2a00:d2c0:ffff:ffff:ffff:ffff:ffff:ffff,PS +2a00:d2e0::,2a00:d2e7:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:d300::,2a00:d300:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:d320::,2a00:d327:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:d340::,2a00:d340:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:d360::,2a00:d367:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:d380::,2a00:d380:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:d3a0::,2a00:d3a7:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:d3e0::,2a00:d3e7:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:d400::,2a00:d400:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a00:d420::,2a00:d427:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:d440::,2a00:d447:ffff:ffff:ffff:ffff:ffff:ffff,SI 2a00:d480::,2a00:d480:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a00:d4a0::,2a00:d4a7:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:d4c0::,2a00:d4c0:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a00:d4e0::,2a00:d4e7:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:d500::,2a00:d500:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a00:d520::,2a00:d527:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:d540::,2a00:d540:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:d560::,2a00:d567:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:d580::,2a00:d580:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:d5a0::,2a00:d5a0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:d5c0::,2a00:d5c0:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a00:d5e0::,2a00:d5e0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:d600::,2a00:d600:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:d620::,2a00:d620:ffff:ffff:ffff:ffff:ffff:ffff,IQ 2a00:d640::,2a00:d640:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:d660::,2a00:d660:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a00:d680::,2a00:d680:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:d6a0::,2a00:d6a0:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a00:d6c0::,2a00:d6c0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:d6e0::,2a00:d6e0:ffff:ffff:ffff:ffff:ffff:ffff,LV 2a00:d700::,2a00:d700:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:d720::,2a00:d727:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:d740::,2a00:d747:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a00:d780::,2a00:d780:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:d7a0::,2a00:d7a0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:d7c0::,2a00:d7c0:ffff:ffff:ffff:ffff:ffff:ffff,SA +2a00:d7e0::,2a00:d7e0:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a00:d800::,2a00:d800:ffff:ffff:ffff:ffff:ffff:ffff,EE +2a00:d820::,2a00:d820:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a00:d840::,2a00:d840:ffff:ffff:ffff:ffff:ffff:ffff,SI +2a00:d860::,2a00:d860:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a00:d880::,2a00:d880:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:d8a0::,2a00:d8a0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:d8c0::,2a00:d8c0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:d8e0::,2a00:d8e0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:d900::,2a00:d900:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a00:d920::,2a00:d920:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a00:d940::,2a00:d940:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a00:d960::,2a00:d967:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:d980::,2a00:d980:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:d9a0::,2a00:d9a0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:d9c0::,2a00:d9c0:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a00:da00::,2a00:da00:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:da20::,2a00:da20:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:da40::,2a00:da40:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a00:da60::,2a00:da60:ffff:ffff:ffff:ffff:ffff:ffff,LI 2a00:da80::,2a00:da80:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a00:daa0::,2a00:daa0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:dac0::,2a00:dac0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:dae0::,2a00:dae0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:db00::,2a00:db00:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a00:db20::,2a00:db20:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:db40::,2a00:db40:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:db60::,2a00:db60:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a00:db80::,2a00:db80:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:dba0::,2a00:dba0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:dbc0::,2a00:dbc0:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:dbe0::,2a00:dbe0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:dc00::,2a00:dc00:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a00:dc20::,2a00:dc20:ffff:ffff:ffff:ffff:ffff:ffff,IL 2a00:dc40::,2a00:dc40:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:dc60::,2a00:dc60:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:dc80::,2a00:dc80:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:dca0::,2a00:dca7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:dcc0::,2a00:dcc7:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:dd00::,2a00:dd00:ffff:ffff:ffff:ffff:ffff:ffff,IQ +2a00:dd20::,2a00:dd20:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a00:dd40::,2a00:dd40:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a00:dd80::,2a00:dd80:ffff:ffff:ffff:ffff:ffff:ffff,EU +2a00:dd60::,2a00:dd60:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:dda0::,2a00:dda0:ffff:ffff:ffff:ffff:ffff:ffff,PS 2a00:ddc0::,2a00:ddc0:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:dde0::,2a00:dde0:ffff:ffff:ffff:ffff:ffff:ffff,BH 2a00:de00::,2a00:de00:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a00:de20::,2a00:de20:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a00:de40::,2a00:de40:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:de60::,2a00:de60:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:de80::,2a00:de80:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:dea0::,2a00:dea0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:dec0::,2a00:dec0:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a00:dee0::,2a00:dee0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:df00::,2a00:df00:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:df20::,2a00:df20:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:df40::,2a00:df40:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:df60::,2a00:df60:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:df80::,2a00:df80:ffff:ffff:ffff:ffff:ffff:ffff,HU +2a00:dfa0::,2a00:dfa0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:dfc0::,2a00:dfc0:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:dfe0::,2a00:dfe7:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a00:e000::,2a00:e000:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a00:e020::,2a00:e020:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:e040::,2a00:e040:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a00:e060::,2a00:e060:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:e080::,2a00:e080:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a00:e0c0::,2a00:e0c0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:e0a0::,2a00:e0a0:ffff:ffff:ffff:ffff:ffff:ffff,US +2a00:e0c0::,2a00:e0c7:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:e100::,2a00:e100:ffff:ffff:ffff:ffff:ffff:ffff,DE +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: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 2a00:e200::,2a00:e200:ffff:ffff:ffff:ffff:ffff:ffff,BG +2a00:e220::,2a00:e220:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:e240::,2a00:e240:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:e260::,2a00:e260:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:e280::,2a00:e280:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a00:e2a0::,2a00:e2a0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:e2c0::,2a00:e2c0:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:e2e0::,2a00:e2e0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a00:e300::,2a00:e300:ffff:ffff:ffff:ffff:ffff:ffff,HU +2a00:e320::,2a00:e320:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:e340::,2a00:e340:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:e360::,2a00:e360:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a00:e380::,2a00:e380:ffff:ffff:ffff:ffff:ffff:ffff,SK -2a00:e3c0::,2a00:e3c0:ffff:ffff:ffff:ffff:ffff:ffff,BG -2a00:e400::,2a00:e400:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:e3a0::,2a00:e3a0:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a00:e3e0::,2a00:e3e0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:e400::,2a00:e407:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:e440::,2a00:e440:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:e460::,2a00:e460:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:e480::,2a00:e480:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:e4a0::,2a00:e4a0:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a00:e4c0::,2a00:e4c0:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a00:e500::,2a00:e500:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:e520::,2a00:e520:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:e540::,2a00:e540:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a00:e560::,2a00:e560:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a00:e580::,2a00:e580:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a00:e5a0::,2a00:e5a0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:e5c0::,2a00:e5c0:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a00:e5e0::,2a00:e5e0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:e600::,2a00:e600:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a00:e620::,2a00:e620:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:e640::,2a00:e640:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:e660::,2a00:e660:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:e680::,2a00:e680:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:e6a0::,2a00:e6a0:ffff:ffff:ffff:ffff:ffff:ffff,HU 2a00:e6c0::,2a00:e6c0:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:e6e0::,2a00:e6e0:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a00:e700::,2a00:e700:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:e720::,2a00:e720:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a00:e740::,2a00:e740:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:e760::,2a00:e760:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a00:e780::,2a00:e780:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a00:e7a0::,2a00:e7a0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:e7c0::,2a00:e7c0:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a00:e7e0::,2a00:e7e0:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:e800::,2a00:e807:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a00:e840::,2a00:e840:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:e860::,2a00:e860:ffff:ffff:ffff:ffff:ffff:ffff,LU 2a00:e880::,2a00:e880:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:e8c0::,2a00:e8c0:ffff:ffff:ffff:ffff:ffff:ffff,GE +2a00:e8e0::,2a00:e8e0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:e900::,2a00:e900:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a00:e920::,2a00:e920:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:e940::,2a00:e940:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a00:e960::,2a00:e960:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:e980::,2a00:e980:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:e9a0::,2a00:e9a0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:e9c0::,2a00:e9c0:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:e9e0::,2a00:e9e0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:ea00::,2a00:ea00:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a00:ea20::,2a00:ea20:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:ea40::,2a00:ea40:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:ea60::,2a00:ea60:ffff:ffff:ffff:ffff:ffff:ffff,LT 2a00:ea80::,2a00:ea80:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:eaa0::,2a00:eaa0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:eac0::,2a00:eac0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:eae0::,2a00:eae0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:eb00::,2a00:eb00:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:eb20::,2a00:eb20:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:eb40::,2a00:eb40:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a00:eb60::,2a00:eb60:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a00:eb80::,2a00:eb80:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:ebc0::,2a00:ebc0:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a00:ebe0::,2a00:ebe0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:ec00::,2a00:ec00:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a00:ec20::,2a00:ec23:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:ec40::,2a00:ec47:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:ec80::,2a00:ec80:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:eca0::,2a00:eca0:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a00:ecc0::,2a00:ecc0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:ece0::,2a00:ece0:ffff:ffff:ffff:ffff:ffff:ffff,RO 2a00:ed00::,2a00:ed00:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:ed20::,2a00:ed20:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:ed40::,2a00:ed40:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:ed60::,2a00:ed60:ffff:ffff:ffff:ffff:ffff:ffff,BA 2a00:ed80::,2a00:ed80:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a00:eda0::,2a00:eda0:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:ede0::,2a00:ede0:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a00:ee00::,2a00:ee00:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:ee20::,2a00:ee20:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:ee40::,2a00:ee40:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:ee60::,2a00:ee60:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:ee80::,2a00:ee80:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:eea0::,2a00:eea0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:eec0::,2a00:eec0:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a00:eee0::,2a00:eee0:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a00:ef00::,2a00:ef00:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:ef20::,2a00:ef20:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:ef40::,2a00:ef40:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a00:ef60::,2a00:ef67:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:ef80::,2a00:ef80:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:efa0::,2a00:efa0:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:efc0::,2a00:efc0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:efe0::,2a00:efe0:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:f000::,2a00:f000:ffff:ffff:ffff:ffff:ffff:ffff,SI +2a00:f020::,2a00:f020:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a00:f040::,2a00:f040:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:f060::,2a00:f060:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a00:f080::,2a00:f080:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:f0a0::,2a00:f0a7:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a00:f0c0::,2a00:f0c0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:f0e0::,2a00:f0e0:ffff:ffff:ffff:ffff:ffff:ffff,QA 2a00:f100::,2a00:f100:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a00:f120::,2a00:f120:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a00:f140::,2a00:f140:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:f160::,2a00:f160:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:f180::,2a00:f180:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:f1a0::,2a00:f1a0:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a00:f1c0::,2a00:f1c0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:f1e0::,2a00:f1e0:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a00:f200::,2a00:f200:ffff:ffff:ffff:ffff:ffff:ffff,IT -2a00:f240::,2a00:f240:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a00:f220::,2a00:f220:ffff:ffff:ffff:ffff:ffff:ffff,ME +2a00:f260::,2a00:f260:ffff:ffff:ffff:ffff:ffff:ffff,AZ 2a00:f280::,2a00:f280:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a00:f2a0::,2a00:f2a0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:f2c0::,2a00:f2c0:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a00:f2e0::,2a00:f2e0:ffff:ffff:ffff:ffff:ffff:ffff,GE 2a00:f300::,2a00:f300:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:f320::,2a00:f320:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:f340::,2a00:f340:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:f360::,2a00:f360:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:f380::,2a00:f380:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:f3a0::,2a00:f3a0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:f3c0::,2a00:f3c0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:f3e0::,2a00:f3e0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:f400::,2a00:f400:ffff:ffff:ffff:ffff:ffff:ffff,LU +2a00:f420::,2a00:f420:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:f440::,2a00:f440:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:f460::,2a00:f460:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:f480::,2a00:f480:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:f4a0::,2a00:f4a0:ffff:ffff:ffff:ffff:ffff:ffff,LV 2a00:f4c0::,2a00:f4c0:ffff:ffff:ffff:ffff:ffff:ffff,SE -2a00:f500::,2a00:f500:ffff:ffff:ffff:ffff:ffff:ffff,LT +2a00:f4e0::,2a00:f4e0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:f500::,2a00:f507:ffff:ffff:ffff:ffff:ffff:ffff,LT +2a00:f520::,2a00:f520:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:f540::,2a00:f540:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:f560::,2a00:f560:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:f580::,2a00:f580:ffff:ffff:ffff:ffff:ffff:ffff,SA +2a00:f5a0::,2a00:f5a0:ffff:ffff:ffff:ffff:ffff:ffff,HR 2a00:f5c0::,2a00:f5c0:ffff:ffff:ffff:ffff:ffff:ffff,FI +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: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 2a00:f6c0::,2a00:f6c0:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a00:f6e0::,2a00:f6e0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:f700::,2a00:f700:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a00:f740::,2a00:f740:ffff:ffff:ffff:ffff:ffff:ffff,EE +2a00:f720::,2a00:f720:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a00:f760::,2a00:f760:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a00:f780::,2a00:f780:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a00:f7a0::,2a00:f7a0:ffff:ffff:ffff:ffff:ffff:ffff,IQ 2a00:f7c0::,2a00:f7c7:ffff:ffff:ffff:ffff:ffff:ffff,BA 2a00:f800::,2a00:f800:ffff:ffff:ffff:ffff:ffff:ffff,ES -2a00:f840::,2a00:f840:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a00:f820::,2a00:f827:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:f860::,2a00:f860:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a00:f880::,2a00:f880:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:f8a0::,2a00:f8a0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:f8c0::,2a00:f8c0:ffff:ffff:ffff:ffff:ffff:ffff,LI +2a00:f8e0::,2a00:f8e0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:f900::,2a00:f900:ffff:ffff:ffff:ffff:ffff:ffff,MD +2a00:f920::,2a00:f920:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:f940::,2a00:f940:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:f960::,2a00:f960:ffff:ffff:ffff:ffff:ffff:ffff,IS 2a00:f980::,2a00:f980:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a00:f9a0::,2a00:f9a0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:f9c0::,2a00:f9c0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:f9e0::,2a00:f9e0:ffff:ffff:ffff:ffff:ffff:ffff,CY 2a00:fa00::,2a00:fa00:ffff:ffff:ffff:ffff:ffff:ffff,PT +2a00:fa20::,2a00:fa20:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:fa40::,2a00:fa40:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:fa60::,2a00:fa60:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:fa80::,2a00:fa80:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a00:faa0::,2a00:faa0:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a00:fac0::,2a00:fac0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:fae0::,2a00:fae0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:fb00::,2a00:fb00:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:fb20::,2a00:fb20:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a00:fb40::,2a00:fb40:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:fb60::,2a00:fb60:ffff:ffff:ffff:ffff:ffff:ffff,IT 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: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 +2a00:fc60::,2a00:fc60:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:fc80::,2a00:fc80:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:fca0::,2a00:fca0:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a00:fcc0::,2a00:fcc0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:fce0::,2a00:fce0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:fd00::,2a00:fd00:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a00:fd20::,2a00:fd20:ffff:ffff:ffff:ffff:ffff:ffff,LB 2a00:fd40::,2a00:fd40:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:fd60::,2a00:fd60:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:fd80::,2a00:fd80:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:fda0::,2a00:fda0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:fdc0::,2a00:fdc0:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:fde0::,2a00:fde0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:fe00::,2a00:fe00:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:fe20::,2a00:fe20:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:fe40::,2a00:fe40:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:fe60::,2a00:fe60:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a00:fe80::,2a00:fe80:ffff:ffff:ffff:ffff:ffff:ffff,ME +2a00:fea0::,2a00:fea0:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a00:fec0::,2a00:fec0:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a00:fee0::,2a00:fee0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:ff00::,2a00:ff00:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a00:ff20::,2a00:ff20:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:ff40::,2a00:ff40:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a00:ff60::,2a00:ff60:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:ff80::,2a00:ff80:ffff:ffff:ffff:ffff:ffff:ffff,SK +2a00:ffa0::,2a00:ffa0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:ffc0::,2a00:ffc0:ffff:ffff:ffff:ffff:ffff:ffff,PL -2a01::,2a01:0:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:ffe0::,2a00:ffe0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01::,2a01::ffff:ffff:ffff:ffff:ffff:ffff,FR 2a01:8::,2a01:8:ffff:ffff:ffff:ffff:ffff:ffff,PT 2a01:10::,2a01:10:ffff:ffff:ffff:ffff:ffff:ffff,PT 2a01:18::,2a01:18:ffff:ffff:ffff:ffff:ffff:ffff,FI @@ -8915,9 +12950,7 @@ 2a01:f8::,2a01:f8:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a01:100::,2a01:100:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a01:108::,2a01:108:ffff:ffff:ffff:ffff:ffff:ffff,SK -2a01:110::,2a01:111:ffff:ffff:ffff:ffff:ffff:ffff,DZ 2a01:120::,2a01:120:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a01:128::,2a01:128:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a01:130::,2a01:130:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:138::,2a01:138:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:140::,2a01:140:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -8930,7 +12963,7 @@ 2a01:178::,2a01:178:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:180::,2a01:180:ffff:ffff:ffff:ffff:ffff:ffff,MT 2a01:188::,2a01:188:ffff:ffff:ffff:ffff:ffff:ffff,TR -2a01:190::,2a01:190:ffff:ffff:ffff:ffff:ffff:ffff,AT +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:1a8::,2a01:1a8:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -8958,13 +12991,13 @@ 2a01:260::,2a01:260:ffff:ffff:ffff:ffff:ffff:ffff,SI 2a01:268::,2a01:268:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a01:270::,2a01:270:ffff:ffff:ffff:ffff:ffff:ffff,HU -2a01:278::,2a01:278:ffff:ffff:ffff:ffff:ffff:ffff,CH -2a01:280::,2a01:280:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a01:278::,2a01:27f:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a01:280::,2a01:287:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a01:288::,2a01:288:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a01:290::,2a01:290:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a01:298::,2a01:298:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a01:2a0::,2a01:2a0:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a01:2a8::,2a01:2a8:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a01:2a8::,2a01:2af:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a01:2b0::,2a01:2b7:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a01:2b8::,2a01:2b8:ffff:ffff:ffff:ffff:ffff:ffff,GR 2a01:2c0::,2a01:2c0:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -8972,7 +13005,6 @@ 2a01:2d0::,2a01:2d0:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a01:2d8::,2a01:2d8:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a01:2e0::,2a01:2ef:ffff:ffff:ffff:ffff:ffff:ffff,PL -2a01:300::,2a01:307:ffff:ffff:ffff:ffff:ffff:ffff,EU 2a01:308::,2a01:308:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:310::,2a01:310:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a01:320::,2a01:320:ffff:ffff:ffff:ffff:ffff:ffff,MD @@ -8987,17 +13019,14 @@ 2a01:368::,2a01:36f:ffff:ffff:ffff:ffff:ffff:ffff,HU 2a01:378::,2a01:378:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a01:380::,2a01:380:ffff:ffff:ffff:ffff:ffff:ffff,NL -2a01:388::,2a01:388:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:388::,2a01:38f:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:390::,2a01:390:ffff:ffff:ffff:ffff:ffff:ffff,SK 2a01:398::,2a01:398:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a01:3a0::,2a01:3a0:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a01:3a0::,2a01:3a7:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a01:3a8::,2a01:3a8:ffff:ffff:ffff:ffff:ffff:ffff,NL -2a01:3b0::,2a01:3b0:ffff:ffff:ffff:ffff:ffff:ffff,EU 2a01:3b8::,2a01:3b8:ffff:ffff:ffff:ffff:ffff:ffff,SE -2a01:3c0::,2a01:3c0:ffff:ffff:ffff:ffff:ffff:ffff,LV 2a01:3c8::,2a01:3c8:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a01:3d8::,2a01:3d8:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a01:3e0::,2a01:3e0:ffff:ffff:ffff:ffff:ffff:ffff,EU 2a01:3e8::,2a01:3e8:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a01:3f0::,2a01:3f0:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a01:3f8::,2a01:3f8:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -9009,26 +13038,25 @@ 2a01:428::,2a01:428:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:430::,2a01:430:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a01:438::,2a01:438:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a01:440::,2a01:440:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:440::,2a01:447:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:448::,2a01:448:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a01:450::,2a01:450:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:458::,2a01:458:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a01:460::,2a01:460:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a01:468::,2a01:468:ffff:ffff:ffff:ffff:ffff:ffff,AT -2a01:470::,2a01:470:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a01:470::,2a01:477:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a01:478::,2a01:47f:ffff:ffff:ffff:ffff:ffff:ffff,BA 2a01:480::,2a01:480:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:488::,2a01:488:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:490::,2a01:490:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a01:498::,2a01:498:ffff:ffff:ffff:ffff:ffff:ffff,BE -2a01:4a0::,2a01:4a0:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a01:4a8::,2a01:4a8:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:4a0::,2a01:4a8:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:4b0::,2a01:4b0:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a01:4c0::,2a01:4c0:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a01:4c8::,2a01:4cf:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:4d0::,2a01:4d0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:4d8::,2a01:4d8:ffff:ffff:ffff:ffff:ffff:ffff,IE -2a01:4e0::,2a01:4e0:ffff:ffff:ffff:ffff:ffff:ffff,LV +2a01:4e0::,2a01:4e7:ffff:ffff:ffff:ffff:ffff:ffff,LV 2a01:4e8::,2a01:4e8:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:4f0::,2a01:4f0:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a01:4f8::,2a01:4ff:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -9044,9 +13072,8 @@ 2a01:548::,2a01:548:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:550::,2a01:550:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:558::,2a01:558:ffff:ffff:ffff:ffff:ffff:ffff,DK -2a01:560::,2a01:560:ffff:ffff:ffff:ffff:ffff:ffff,NO -2a01:568::,2a01:568:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a01:570::,2a01:570:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:560::,2a01:567:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a01:568::,2a01:570:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:578::,2a01:578:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a01:580::,2a01:580:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:590::,2a01:590:ffff:ffff:ffff:ffff:ffff:ffff,RU @@ -9054,11 +13081,11 @@ 2a01:5a0::,2a01:5a0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:5a8::,2a01:5a8:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a01:5b0::,2a01:5b0:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a01:5b8::,2a01:5b8:ffff:ffff:ffff:ffff:ffff:ffff,MK +2a01:5b8::,2a01:5bf:ffff:ffff:ffff:ffff:ffff:ffff,MK 2a01:5c0::,2a01:5c0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:5c8::,2a01:5c8:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:5d0::,2a01:5d0:ffff:ffff:ffff:ffff:ffff:ffff,HU -2a01:5d8::,2a01:5d8:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a01:5d8::,2a01:5df:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a01:5e0::,2a01:5e0:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a01:5e8::,2a01:5e8:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a01:5f0::,2a01:5f0:ffff:ffff:ffff:ffff:ffff:ffff,CZ @@ -9070,7 +13097,6 @@ 2a01:620::,2a01:620:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:628::,2a01:628:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:630::,2a01:630:ffff:ffff:ffff:ffff:ffff:ffff,DK -2a01:638::,2a01:638:ffff:ffff:ffff:ffff:ffff:ffff,GR 2a01:640::,2a01:647:ffff:ffff:ffff:ffff:ffff:ffff,IS 2a01:648::,2a01:648:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a01:650::,2a01:650:ffff:ffff:ffff:ffff:ffff:ffff,SE @@ -9078,7 +13104,7 @@ 2a01:660::,2a01:667:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:668::,2a01:668:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:670::,2a01:670:ffff:ffff:ffff:ffff:ffff:ffff,NL -2a01:678::,2a01:678:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a01:678::,2a01:67f:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a01:680::,2a01:680:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:688::,2a01:688:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:690::,2a01:690:ffff:ffff:ffff:ffff:ffff:ffff,BE @@ -9132,288 +13158,563 @@ 2a01:1000::,2a01:17ff:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a01:2000::,2a01:2fff:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a01:4000::,2a01:4000:ffff:ffff:ffff:ffff:ffff:ffff,AM +2a01:4020::,2a01:4020:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:4040::,2a01:4040:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a01:4060::,2a01:4060:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:4080::,2a01:4080:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:40a0::,2a01:40a0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:40c0::,2a01:40c0:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a01:40e0::,2a01:40e0:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a01:4120::,2a01:4120:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a01:4160::,2a01:4160:ffff:ffff:ffff:ffff:ffff:ffff,AL +2a01:41a0::,2a01:41a0:ffff:ffff:ffff:ffff:ffff:ffff,LT 2a01:41c0::,2a01:41c0:ffff:ffff:ffff:ffff:ffff:ffff,CH -2a01:4200::,2a01:4200:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:41e0::,2a01:41e0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:4200::,2a01:4207:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:4240::,2a01:4240:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a01:4260::,2a01:4260:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a01:4280::,2a01:4280:ffff:ffff:ffff:ffff:ffff:ffff,IL +2a01:42a0::,2a01:42a0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:42c0::,2a01:42c0:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a01:42e0::,2a01:42e0:ffff:ffff:ffff:ffff:ffff:ffff,KZ 2a01:4300::,2a01:4300:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:4320::,2a01:4320:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:4340::,2a01:4340:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a01:4360::,2a01:4360:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a01:4380::,2a01:4380:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:43a0::,2a01:43a0:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a01:43c0::,2a01:43c0:ffff:ffff:ffff:ffff:ffff:ffff,IQ +2a01:43e0::,2a01:43e0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:4400::,2a01:4400:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a01:4420::,2a01:4420:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:4440::,2a01:4440:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:4460::,2a01:4460:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:4480::,2a01:4480:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a01:44a0::,2a01:44a0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a01:44c0::,2a01:44c0:ffff:ffff:ffff:ffff:ffff:ffff,IS +2a01:44e0::,2a01:44e0:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a01:4500::,2a01:4500:ffff:ffff:ffff:ffff:ffff:ffff,PS -2a01:4540::,2a01:4540:ffff:ffff:ffff:ffff:ffff:ffff,CH -2a01:4580::,2a01:4580:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a01:4520::,2a01:4520:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a01:4540::,2a01:4547:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a01:4580::,2a01:4587:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a01:45c0::,2a01:45c0:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a01:45e0::,2a01:45e0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a01:4600::,2a01:4600:ffff:ffff:ffff:ffff:ffff:ffff,BH +2a01:4620::,2a01:4620:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:4640::,2a01:4640:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a01:4660::,2a01:4660:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a01:4680::,2a01:4680:ffff:ffff:ffff:ffff:ffff:ffff,RS +2a01:46a0::,2a01:46a0:ffff:ffff:ffff:ffff:ffff:ffff,SA 2a01:46c0::,2a01:46c0:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a01:4700::,2a01:4700:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a01:46e0::,2a01:46e0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:4720::,2a01:4720:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:4740::,2a01:4740:ffff:ffff:ffff:ffff:ffff:ffff,PT +2a01:4760::,2a01:4760:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:4780::,2a01:4780:ffff:ffff:ffff:ffff:ffff:ffff,AM +2a01:47a0::,2a01:47a0:ffff:ffff:ffff:ffff:ffff:ffff,GE 2a01:47c0::,2a01:47c0:ffff:ffff:ffff:ffff:ffff:ffff,HU +2a01:47e0::,2a01:47e0:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a01:4800::,2a01:4800:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:4820::,2a01:4820:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a01:4840::,2a01:4840:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a01:4860::,2a01:4860:ffff:ffff:ffff:ffff:ffff:ffff,IQ 2a01:4880::,2a01:4880:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:48a0::,2a01:48a0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:48c0::,2a01:48c0:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a01:48e0::,2a01:48e0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a01:4900::,2a01:4900:ffff:ffff:ffff:ffff:ffff:ffff,BH +2a01:4920::,2a01:4920:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:4940::,2a01:4940:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:4960::,2a01:4960:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a01:4980::,2a01:4980:ffff:ffff:ffff:ffff:ffff:ffff,HU +2a01:49a0::,2a01:49a0:ffff:ffff:ffff:ffff:ffff:ffff,IS 2a01:49c0::,2a01:49c0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:49e0::,2a01:49e0:ffff:ffff:ffff:ffff:ffff:ffff,AZ 2a01:4a00::,2a01:4a00:ffff:ffff:ffff:ffff:ffff:ffff,AM +2a01:4a20::,2a01:4a20:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a01:4a40::,2a01:4a40:ffff:ffff:ffff:ffff:ffff:ffff,BG +2a01:4a60::,2a01:4a60:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a01:4a80::,2a01:4a80:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a01:4aa0::,2a01:4aa0:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a01:4ac0::,2a01:4ac0:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a01:4ae0::,2a01:4ae0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:4b00::,2a01:4b00:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:4b20::,2a01:4b20:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:4b40::,2a01:4b40:ffff:ffff:ffff:ffff:ffff:ffff,KZ +2a01:4b60::,2a01:4b60:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:4b80::,2a01:4b80:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a01:4ba0::,2a01:4ba0:ffff:ffff:ffff:ffff:ffff:ffff,AZ 2a01:4bc0::,2a01:4bc0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:4be0::,2a01:4be0:ffff:ffff:ffff:ffff:ffff:ffff,HU 2a01:4c00::,2a01:4c00:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a01:4c20::,2a01:4c20:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a01:4c40::,2a01:4c40:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a01:4c60::,2a01:4c60:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:4c80::,2a01:4c80:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:4ca0::,2a01:4ca0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:4cc0::,2a01:4cc0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:4d00::,2a01:4d00:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:4d20::,2a01:4d20:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a01:4d40::,2a01:4d40:ffff:ffff:ffff:ffff:ffff:ffff,KZ +2a01:4d60::,2a01:4d60:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a01:4d80::,2a01:4d80:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a01:4dc0::,2a01:4dc0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:4da0::,2a01:4da0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:4dc0::,2a01:4dc7:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:4de0::,2a01:4de0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:4e00::,2a01:4e00:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a01:4e20::,2a01:4e20:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a01:4e40::,2a01:4e40:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:4e60::,2a01:4e60:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:4e80::,2a01:4e80:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a01:4ea0::,2a01:4ea0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:4ec0::,2a01:4ec0:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a01:4ee0::,2a01:4ee0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:4f00::,2a01:4f00:ffff:ffff:ffff:ffff:ffff:ffff,AL +2a01:4f20::,2a01:4f20:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a01:4f40::,2a01:4f40:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a01:4f60::,2a01:4f60:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a01:4f80::,2a01:4f80:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:4fa0::,2a01:4fa0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:4fc0::,2a01:4fc0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:4fe0::,2a01:4fe0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a01:5000::,2a01:5000:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:5020::,2a01:5020:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:5040::,2a01:5047:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a01:5080::,2a01:5080:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:50a0::,2a01:50a0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:50c0::,2a01:50c0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:50e0::,2a01:50e0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:5100::,2a01:5100:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a01:5120::,2a01:5120:ffff:ffff:ffff:ffff:ffff:ffff,CY 2a01:5140::,2a01:5140:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a01:5160::,2a01:5160:ffff:ffff:ffff:ffff:ffff:ffff,ME 2a01:5180::,2a01:5180:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a01:51c0::,2a01:51c0:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a01:51a0::,2a01:51a0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:51c0::,2a01:51c7:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a01:5200::,2a01:5200:ffff:ffff:ffff:ffff:ffff:ffff,SK +2a01:5220::,2a01:5220:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:5240::,2a01:5240:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:5260::,2a01:5260:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:5280::,2a01:5280:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a01:52a0::,2a01:52a0:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a01:52c0::,2a01:52c0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:52e0::,2a01:52e0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a01:5300::,2a01:5300:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a01:5320::,2a01:5320:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a01:5340::,2a01:5340:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:5360::,2a01:5360:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:5380::,2a01:5380:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:53a0::,2a01:53a0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a01:53c0::,2a01:53c0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:53e0::,2a01:53e0:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a01:5400::,2a01:5400:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:5420::,2a01:5420:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a01:5440::,2a01:5440:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a01:5460::,2a01:5460:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a01:5480::,2a01:5480:ffff:ffff:ffff:ffff:ffff:ffff,GG +2a01:54a0::,2a01:54a0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a01:54c0::,2a01:54c0:ffff:ffff:ffff:ffff:ffff:ffff,NL -2a01:5500::,2a01:5500:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a01:54e0::,2a01:54e0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:5500::,2a01:5507:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a01:5540::,2a01:5540:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a01:5560::,2a01:5560:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:5580::,2a01:5580:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:55a0::,2a01:55a0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:55c0::,2a01:55c0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:55e0::,2a01:55e0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:5600::,2a01:5600:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a01:5620::,2a01:5620:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a01:5640::,2a01:5640:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:5660::,2a01:5660:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a01:5680::,2a01:5680:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a01:56c0::,2a01:56c0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:56a0::,2a01:56a0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:56c0::,2a01:56c7:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:56e0::,2a01:56e0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a01:5700::,2a01:5700:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a01:5720::,2a01:5720:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a01:5740::,2a01:5740:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a01:5760::,2a01:5760:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a01:5780::,2a01:5780:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a01:57a0::,2a01:57a0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a01:57c0::,2a01:57c0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:57e0::,2a01:57e0:ffff:ffff:ffff:ffff:ffff:ffff,SA 2a01:5800::,2a01:5800:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a01:5820::,2a01:5820:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:5840::,2a01:5840:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a01:5860::,2a01:5860:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a01:58a0::,2a01:58a0:ffff:ffff:ffff:ffff:ffff:ffff,IQ +2a01:58e0::,2a01:58e0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:5900::,2a01:5900:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:5920::,2a01:5920:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a01:5940::,2a01:5940:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a01:5960::,2a01:5960:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a01:5980::,2a01:5980:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:59a0::,2a01:59a0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a01:59c0::,2a01:59c0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:59e0::,2a01:59e0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:5a00::,2a01:5a00:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a01:5a20::,2a01:5a20:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a01:5a40::,2a01:5a40:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:5a60::,2a01:5a60:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:5a80::,2a01:5a80:ffff:ffff:ffff:ffff:ffff:ffff,US +2a01:5aa0::,2a01:5aa0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:5ac0::,2a01:5ac0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:5ae0::,2a01:5ae0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:5b00::,2a01:5b00:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:5b20::,2a01:5b20:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a01:5b40::,2a01:5b40:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a01:5b60::,2a01:5b60:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:5b80::,2a01:5b80:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a01:5ba0::,2a01:5ba0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:5bc0::,2a01:5bc0:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a01:5be0::,2a01:5be0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a01:5c00::,2a01:5c00:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a01:5c20::,2a01:5c20:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:5c40::,2a01:5c40:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a01:5c60::,2a01:5c60:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a01:5c80::,2a01:5c80:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:5ca0::,2a01:5ca0:ffff:ffff:ffff:ffff:ffff:ffff,KW 2a01:5cc0::,2a01:5cc0:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a01:5ce0::,2a01:5ce0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:5d00::,2a01:5d00:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:5d20::,2a01:5d20:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a01:5d40::,2a01:5d40:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a01:5d60::,2a01:5d67:ffff:ffff:ffff:ffff:ffff:ffff,TJ 2a01:5d80::,2a01:5d80:ffff:ffff:ffff:ffff:ffff:ffff,BH +2a01:5da0::,2a01:5da0:ffff:ffff:ffff:ffff:ffff:ffff,ME 2a01:5dc0::,2a01:5dc0:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a01:5de0::,2a01:5de0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:5e00::,2a01:5e00:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a01:5e20::,2a01:5e20:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a01:5e40::,2a01:5e40:ffff:ffff:ffff:ffff:ffff:ffff,GB +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:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a01:5ee0::,2a01:5ee0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a01:5f00::,2a01:5f00:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:5f20::,2a01:5f20:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:5f40::,2a01:5f40:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:5f60::,2a01:5f60:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a01:5f80::,2a01:5f80:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a01:5fa0::,2a01:5fa0:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a01:5fc0::,2a01:5fc0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:5fe0::,2a01:5fe0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a01:6000::,2a01:6000:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:6020::,2a01:6020:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:6040::,2a01:6040:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:6060::,2a01:6060:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a01:6080::,2a01:6080:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a01:60a0::,2a01:60a0:ffff:ffff:ffff:ffff:ffff:ffff,FR 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:6140: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 +2a01:61a0::,2a01:61a0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:61c0::,2a01:61c0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:61e0::,2a01:61e0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:6200::,2a01:6200:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a01:6220::,2a01:6220:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a01:6240::,2a01:6240:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:6260::,2a01:6260:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a01:6280::,2a01:6280:ffff:ffff:ffff:ffff:ffff:ffff,IE +2a01:62a0::,2a01:62a0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a01:62c0::,2a01:62c0:ffff:ffff:ffff:ffff:ffff:ffff,CY 2a01:6300::,2a01:6300:ffff:ffff:ffff:ffff:ffff:ffff,SE -2a01:6340::,2a01:6340:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a01:6320::,2a01:6320:ffff:ffff:ffff:ffff:ffff:ffff,GR +2a01:6340::,2a01:6347:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a01:6360::,2a01:6360:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a01:6380::,2a01:6380:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a01:63a0::,2a01:63a0:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a01:63c0::,2a01:63c0:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a01:63e0::,2a01:63e0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a01:6400::,2a01:6400:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a01:6420::,2a01:6420:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:6440::,2a01:6440:ffff:ffff:ffff:ffff:ffff:ffff,RS +2a01:6460::,2a01:6460:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a01:6480::,2a01:6480:ffff:ffff:ffff:ffff:ffff:ffff,AZ +2a01:64a0::,2a01:64a0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:64c0::,2a01:64c0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:64e0::,2a01:64e0:ffff:ffff:ffff:ffff:ffff:ffff,RU 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 +2a01:6560::,2a01:6560:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a01:6580::,2a01:6580:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a01:65a0::,2a01:65a0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a01:65c0::,2a01:65c0:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a01:65e0::,2a01:65e0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:6600::,2a01:6600:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a01:6640::,2a01:6640:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a01:6620::,2a01:6620:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a01:6640::,2a01:6647:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a01:6680::,2a01:6680:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:66a0::,2a01:66a0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:66c0::,2a01:66c0:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a01:66e0::,2a01:66e0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a01:6700::,2a01:6700:ffff:ffff:ffff:ffff:ffff:ffff,CY +2a01:6720::,2a01:6720:ffff:ffff:ffff:ffff:ffff:ffff,IQ 2a01:6740::,2a01:6740:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:6760::,2a01:6760:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a01:6780::,2a01:6780:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:67a0::,2a01:67a0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:67c0::,2a01:67c0:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a01:67e0::,2a01:67e0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:6800::,2a01:6800:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a01:6820::,2a01:6820:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:6840::,2a01:6840:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a01:6860::,2a01:6860:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:6880::,2a01:6880:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a01:68a0::,2a01:68a0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a01:68c0::,2a01:68c0:ffff:ffff:ffff:ffff:ffff:ffff,KZ +2a01:68e0::,2a01:68e0:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a01:6900::,2a01:6900:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a01:6920::,2a01:6920:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a01:6940::,2a01:6940:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a01:6960::,2a01:6960:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a01:6980::,2a01:6980:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a01:69a0::,2a01:69a0:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a01:69c0::,2a01:69c0:ffff:ffff:ffff:ffff:ffff:ffff,IE -2a01:6a00::,2a01:6a00:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:69e0::,2a01:69e0:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a01:6a00::,2a01:6a07:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:6a40::,2a01:6a40:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a01:6a60::,2a01:6a60:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:6a80::,2a01:6a80:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a01:6aa0::,2a01:6aa0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:6ac0::,2a01:6ac0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:6ae0::,2a01:6ae0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:6b00::,2a01:6b00:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:6b20::,2a01:6b20:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:6b40::,2a01:6b40:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a01:6b60::,2a01:6b60:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a01:6b80::,2a01:6b80:ffff:ffff:ffff:ffff:ffff:ffff,SK +2a01:6ba0::,2a01:6ba0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:6bc0::,2a01:6bc0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:6be0::,2a01:6be0:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a01:6c00::,2a01:6c00:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a01:6c20::,2a01:6c20:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:6c40::,2a01:6c40:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a01:6c60::,2a01:6c60:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:6c80::,2a01:6c80:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a01:6ca0::,2a01:6ca0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:6cc0::,2a01:6cc0:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a01:6ce0::,2a01:6ce0:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a01:6d00::,2a01:6d00:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a01:6d20::,2a01:6d20:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a01:6d40::,2a01:6d40:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a01:6d60::,2a01:6d60:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a01:6d80::,2a01:6d80:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a01:6da0::,2a01:6da0:ffff:ffff:ffff:ffff:ffff:ffff,EE 2a01:6dc0::,2a01:6dc0:ffff:ffff:ffff:ffff:ffff:ffff,MD +2a01:6de0::,2a01:6de0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a01:6e00::,2a01:6e00:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a01:6e20::,2a01:6e20:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:6e40::,2a01:6e40:ffff:ffff:ffff:ffff:ffff:ffff,BY +2a01:6e60::,2a01:6e60:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:6e80::,2a01:6e80:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a01:6ea0::,2a01:6ea0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:6ec0::,2a01:6ec0:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a01:6f00::,2a01:6f00:ffff:ffff:ffff:ffff:ffff:ffff,IS +2a01:6ee0::,2a01:6ee0:ffff:ffff:ffff:ffff:ffff:ffff,HU +2a01:6f00::,2a01:6f07:ffff:ffff:ffff:ffff:ffff:ffff,IS +2a01:6f20::,2a01:6f20:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:6f40::,2a01:6f40:ffff:ffff:ffff:ffff:ffff:ffff,IE +2a01:6f60::,2a01:6f60:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:6f80::,2a01:6f80:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a01:6fa0::,2a01:6fa0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a01:6fc0::,2a01:6fc0:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a01:6fe0::,2a01:6fe0:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a01:7000::,2a01:7000:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a01:7020::,2a01:7020:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a01:7040::,2a01:7040:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a01:7060::,2a01:7060:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a01:7080::,2a01:7080:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a01:70a0::,2a01:70a0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:70c0::,2a01:70c0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:70e0::,2a01:70e0:ffff:ffff:ffff:ffff:ffff:ffff,KW 2a01:7100::,2a01:7100:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:7120::,2a01:7120:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a01:7140::,2a01:7140:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a01:7160::,2a01:7160:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a01:7180::,2a01:7180:ffff:ffff:ffff:ffff:ffff:ffff,NL -2a01:71c0::,2a01:71c0:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a01:71a0::,2a01:71a0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:71c0::,2a01:71c1:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a01:71e0::,2a01:71e0:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a01:7200::,2a01:7200:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a01:7220::,2a01:7220:ffff:ffff:ffff:ffff:ffff:ffff,LT 2a01:7240::,2a01:7240:ffff:ffff:ffff:ffff:ffff:ffff,IE +2a01:7260::,2a01:7260:ffff:ffff:ffff:ffff:ffff:ffff,LB 2a01:7280::,2a01:7280:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:72a0::,2a01:72a0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:72e0::,2a01:72e0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a01:7300::,2a01:7300:ffff:ffff:ffff:ffff:ffff:ffff,HU +2a01:7320::,2a01:7320:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a01:7340::,2a01:7340:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a01:7360::,2a01:7360:ffff:ffff:ffff:ffff:ffff:ffff,LU 2a01:7380::,2a01:7380:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:73a0::,2a01:73a0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a01:73c0::,2a01:73c0:ffff:ffff:ffff:ffff:ffff:ffff,IL +2a01:73e0::,2a01:73e0:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a01:7400::,2a01:7400:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a01:7420::,2a01:7420:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:7440::,2a01:7440:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:7460::,2a01:7460:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:7480::,2a01:7480:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a01:74a0::,2a01:74a0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:74c0::,2a01:74c0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:74e0::,2a01:74e0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a01:7500::,2a01:7500:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a01:7520::,2a01:7520:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a01:7540::,2a01:7540:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a01:7560::,2a01:7560:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a01:7580::,2a01:7580:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a01:75a0::,2a01:75a0:ffff:ffff:ffff:ffff:ffff:ffff,AE 2a01:75c0::,2a01:75c0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:7600::,2a01:7600:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a01:7620::,2a01:7620:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a01:7640::,2a01:7640:ffff:ffff:ffff:ffff:ffff:ffff,KZ +2a01:7660::,2a01:7660:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:7680::,2a01:7680:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a01:76a0::,2a01:76a0:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a01:76c0::,2a01:76c0:ffff:ffff:ffff:ffff:ffff:ffff,DE +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: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 2a01:77c0::,2a01:77c0:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a01:77e0::,2a01:77e0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a01:7800::,2a01:7800:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:7820::,2a01:7820:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:7840::,2a01:7840:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:7860::,2a01:7860:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a01:7880::,2a01:7880:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a01:78a0::,2a01:78a0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a01:78c0::,2a01:78c0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:78e0::,2a01:78e0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:7900::,2a01:7900:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a01:7920::,2a01:7920:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a01:7940::,2a01:7940:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:7960::,2a01:7960:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:7980::,2a01:7980:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:79a0::,2a01:79a0:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a01:79c0::,2a01:79c0:ffff:ffff:ffff:ffff:ffff:ffff,CY +2a01:79e0::,2a01:79e0:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a01:7a00::,2a01:7a00:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a01:7a20::,2a01:7a20:ffff:ffff:ffff:ffff:ffff:ffff,SA 2a01:7a40::,2a01:7a40:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a01:7a80::,2a01:7a80:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a01:7a60::,2a01:7a60:ffff:ffff:ffff:ffff:ffff:ffff,SM +2a01:7a80::,2a01:7a87:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a01:7ac0::,2a01:7ac0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:7ae0::,2a01:7ae0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:7b00::,2a01:7b00:ffff:ffff:ffff:ffff:ffff:ffff,LB +2a01:7b20::,2a01:7b20:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a01:7b40::,2a01:7b40:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:7b60::,2a01:7b60:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:7b80::,2a01:7b80:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:7ba0::,2a01:7ba0:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a01:7bc0::,2a01:7bc0:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a01:7be0::,2a01:7be0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:7c00::,2a01:7c00:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a01:7c20::,2a01:7c20:ffff:ffff:ffff:ffff:ffff:ffff,GE 2a01:7c40::,2a01:7c40:ffff:ffff:ffff:ffff:ffff:ffff,HR +2a01:7c60::,2a01:7c60:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a01:7c80::,2a01:7c80:ffff:ffff:ffff:ffff:ffff:ffff,LT +2a01:7ca0::,2a01:7ca0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a01:7cc0::,2a01:7cc0:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a01:7ce0::,2a01:7ce0:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a01:7d00::,2a01:7d00:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a01:7d20::,2a01:7d20:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:7d40::,2a01:7d40:ffff:ffff:ffff:ffff:ffff:ffff,SK +2a01:7d60::,2a01:7d60:ffff:ffff:ffff:ffff:ffff:ffff,HU 2a01:7d80::,2a01:7d80:ffff:ffff:ffff:ffff:ffff:ffff,HU +2a01:7da0::,2a01:7da0:ffff:ffff:ffff:ffff:ffff:ffff,IE +2a01:7de0::,2a01:7de0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:7e00::,2a01:7e00:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:7e20::,2a01:7e27:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:7e40::,2a01:7e40:ffff:ffff:ffff:ffff:ffff:ffff,BH +2a01:7e60::,2a01:7e60:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a01:7e80::,2a01:7e80:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:7ea0::,2a01:7ea0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:7ec0::,2a01:7ec0:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a01:7ee0::,2a01:7ee0:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a01:7f00::,2a01:7f00:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a01:7f20::,2a01:7f20:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a01:7f40::,2a01:7f40:ffff:ffff:ffff:ffff:ffff:ffff,KW +2a01:7f60::,2a01:7f60:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:7f80::,2a01:7f80:ffff:ffff:ffff:ffff:ffff:ffff,PS +2a01:7fa0::,2a01:7fa0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:7fc0::,2a01:7fc0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:7fe0::,2a01:7fe0:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a01:8000::,2a01:8000:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:8020::,2a01:8020:ffff:ffff:ffff:ffff:ffff:ffff,EE 2a01:8040::,2a01:8040:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:8060::,2a01:8060:ffff:ffff:ffff:ffff:ffff:ffff,AE 2a01:8080::,2a01:8080:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a01:80a0::,2a01:80a0:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a01:80c0::,2a01:80c0:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a01:80e0::,2a01:80e0:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a01:8100::,2a01:8100:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a01:8120::,2a01:8120:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a01:8140::,2a01:8140:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a01:8160::,2a01:8160:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a01:8180::,2a01:8180:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:81a0::,2a01:81a0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:81c0::,2a01:81c0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:81e0::,2a01:81e0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a01:8200::,2a01:8200:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a01:8220::,2a01:8220:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a01:8240::,2a01:8240:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:8260::,2a01:8260:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:8280::,2a01:8280:ffff:ffff:ffff:ffff:ffff:ffff,IS +2a01:82a0::,2a01:82a0:ffff:ffff:ffff:ffff:ffff:ffff,EE 2a01:82c0::,2a01:82c0:ffff:ffff:ffff:ffff:ffff:ffff,HR +2a01:82e0::,2a01:82e0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:8300::,2a01:8300:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a01:8320::,2a01:8320:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a01:8340::,2a01:8340:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:8360::,2a01:8360:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:8380::,2a01:8380:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:83a0::,2a01:83a0:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a01:83c0::,2a01:83c0:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a01:83e0::,2a01:83e0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:8400::,2a01:8400:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:8420::,2a01:8420:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a01:8440::,2a01:8440:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a01:8460::,2a01:8460:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a01:8480::,2a01:8480:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a01:84a0::,2a01:84a0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a01:84c0::,2a01:84c0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:84e0::,2a01:84e0:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a01:8500::,2a01:8500:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a01:8520::,2a01:8520:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a01:8540::,2a01:8540:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a01:8560::,2a01:8560:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a01:8580::,2a01:8580:ffff:ffff:ffff:ffff:ffff:ffff,NL -2a01:85c0::,2a01:85c0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:85a0::,2a01:85a0:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a01:85e0::,2a01:85e0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:8600::,2a01:8600:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:8620::,2a01:8620:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a01:8640::,2a01:8640:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:8660::,2a01:8660:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a01:8680::,2a01:8680:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:86a0::,2a01:86a0:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a01:86c0::,2a01:86c0:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a01:86e0::,2a01:86e0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:8700::,2a01:8700:ffff:ffff:ffff:ffff:ffff:ffff,LT +2a01:8720::,2a01:8720:ffff:ffff:ffff:ffff:ffff:ffff,US 2a01:8740::,2a01:8740:ffff:ffff:ffff:ffff:ffff:ffff,BG -2a01:8780::,2a01:8780:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:8760::,2a01:8760:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a01:8780::,2a01:8787:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:87c0::,2a01:87c0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:87e0::,2a01:87e0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a01:8800::,2a01:8800:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a01:8820::,2a01:8820:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a01:8840::,2a01:8840:ffff:ffff:ffff:ffff:ffff:ffff,IE +2a01:8860::,2a01:8860:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a01:8880::,2a01:8880:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a01:88c0::,2a01:88c0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:8900::,2a01:8900:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -9438,7 +13739,7 @@ 2a01:8dc0::,2a01:8dc0:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a01:8e00::,2a01:8e00:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a01:8e40::,2a01:8e40:ffff:ffff:ffff:ffff:ffff:ffff,JO -2a01:8e80::,2a01:8e80:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a01:8e80::,2a01:8e87:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a01:8ec0::,2a01:8ec0:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a01:8f00::,2a01:8f00:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:8f40::,2a01:8f40:ffff:ffff:ffff:ffff:ffff:ffff,PL @@ -9501,7 +13802,7 @@ 2a01:9e00::,2a01:9e00:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:9e40::,2a01:9e40:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a01:9e80::,2a01:9e80:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a01:9ec0::,2a01:9ec0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:9ec0::,2a01:9ec7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:9f00::,2a01:9f00:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:9f40::,2a01:9f40:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a01:9f80::,2a01:9f80:ffff:ffff:ffff:ffff:ffff:ffff,SK @@ -9534,7 +13835,7 @@ 2a01:a640::,2a01:a640:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a01:a680::,2a01:a680:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a01:a6c0::,2a01:a6c0:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a01:a700::,2a01:a700:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:a700::,2a01:a707:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:a740::,2a01:a740:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:a780::,2a01:a780:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:a7c0::,2a01:a7c0:ffff:ffff:ffff:ffff:ffff:ffff,IT @@ -9576,7 +13877,7 @@ 2a01:b100::,2a01:b100:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a01:b140::,2a01:b140:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:b180::,2a01:b180:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a01:b1c0::,2a01:b1c0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:b1c0::,2a01:b1c7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:b200::,2a01:b200:ffff:ffff:ffff:ffff:ffff:ffff,SK 2a01:b240::,2a01:b240:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:b280::,2a01:b280:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -9590,13 +13891,13 @@ 2a01:b480::,2a01:b480:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a01:b4c0::,2a01:b4c0:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a01:b500::,2a01:b500:ffff:ffff:ffff:ffff:ffff:ffff,GR -2a01:b540::,2a01:b540:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a01:b540::,2a01:b547:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a01:b580::,2a01:b580:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:b5c0::,2a01:b5c0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a01:b600::,2a01:b600:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a01:b640::,2a01:b640:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:b680::,2a01:b680:ffff:ffff:ffff:ffff:ffff:ffff,ES -2a01:b6c0::,2a01:b6c0:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a01:b6c0::,2a01:b6c7:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a01:b700::,2a01:b700:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a01:b740::,2a01:b740:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a01:b780::,2a01:b780:ffff:ffff:ffff:ffff:ffff:ffff,MK @@ -9616,9 +13917,8 @@ 2a01:bb40::,2a01:bb40:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a01:bb80::,2a01:bb80:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a01:bbc0::,2a01:bbc0:ffff:ffff:ffff:ffff:ffff:ffff,AM -2a01:bc00::,2a01:bc00:ffff:ffff:ffff:ffff:ffff:ffff,IE +2a01:bc00::,2a01:bc07:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a01:bc40::,2a01:bc40:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a01:bc80::,2a01:bc80:ffff:ffff:ffff:ffff:ffff:ffff,EU 2a01:bcc0::,2a01:bcc0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:bd00::,2a01:bd00:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a01:bd40::,2a01:bd40:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -9633,9 +13933,8 @@ 2a01:bf80::,2a01:bf80:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a01:bfc0::,2a01:bfc0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:c000::,2a01:dfff:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a02::,2a02:0:ffff:ffff:ffff:ffff:ffff:ffff,LU -2a02:8::,2a02:8:ffff:ffff:ffff:ffff:ffff:ffff,EU -2a02:10::,2a02:10:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a02::,2a02::ffff:ffff:ffff:ffff:ffff:ffff,LU +2a02:10::,2a02:17:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a02:18::,2a02:18:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:20::,2a02:20:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a02:28::,2a02:28:ffff:ffff:ffff:ffff:ffff:ffff,RU @@ -9645,17 +13944,17 @@ 2a02:48::,2a02:48:ffff:ffff:ffff:ffff:ffff:ffff,IS 2a02:50::,2a02:50:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a02:58::,2a02:58:ffff:ffff:ffff:ffff:ffff:ffff,NL -2a02:60::,2a02:60:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a02:60::,2a02:67:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a02:68::,2a02:68:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:70::,2a02:70:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a02:78::,2a02:78:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a02:80::,2a02:80:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a02:88::,2a02:88:ffff:ffff:ffff:ffff:ffff:ffff,EE -2a02:90::,2a02:90:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a02:90::,2a02:97:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a02:98::,2a02:98:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:a0::,2a02:a0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a02:a8::,2a02:a8:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a02:b0::,2a02:b0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a02:b0::,2a02:b0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:b8::,2a02:b8:ffff:ffff:ffff:ffff:ffff:ffff,LU 2a02:c0::,2a02:c0:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a02:c8::,2a02:c8:ffff:ffff:ffff:ffff:ffff:ffff,BE @@ -9666,7 +13965,7 @@ 2a02:f0::,2a02:f0:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a02:f8::,2a02:f8:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a02:100::,2a02:100:ffff:ffff:ffff:ffff:ffff:ffff,IT -2a02:108::,2a02:108:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a02:108::,2a02:10f:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a02:110::,2a02:110:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a02:118::,2a02:118:ffff:ffff:ffff:ffff:ffff:ffff,LT 2a02:120::,2a02:120:ffff:ffff:ffff:ffff:ffff:ffff,NL @@ -9674,20 +13973,19 @@ 2a02:130::,2a02:130:ffff:ffff:ffff:ffff:ffff:ffff,SK 2a02:138::,2a02:138:ffff:ffff:ffff:ffff:ffff:ffff,PT 2a02:140::,2a02:140:ffff:ffff:ffff:ffff:ffff:ffff,FI -2a02:148::,2a02:148:ffff:ffff:ffff:ffff:ffff:ffff,IL +2a02:148::,2a02:14f:ffff:ffff:ffff:ffff:ffff:ffff,IL 2a02:150::,2a02:150:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:158::,2a02:158:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:160::,2a02:160:ffff:ffff:ffff:ffff:ffff:ffff,SE -2a02:168::,2a02:168:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a02:168::,2a02:16b:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a02:170::,2a02:170:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:178::,2a02:178:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a02:180::,2a02:180:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:188::,2a02:18f:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a02:190::,2a02:190:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a02:198::,2a02:198:ffff:ffff:ffff:ffff:ffff:ffff,IE -2a02:1a0::,2a02:1a0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:1a0::,2a02:1a7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:1a8::,2a02:1a8:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a02:1b0::,2a02:1b0:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a02:1b8::,2a02:1b8:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a02:1c0::,2a02:1c0:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a02:1c8::,2a02:1c8:ffff:ffff:ffff:ffff:ffff:ffff,RU @@ -9714,8 +14012,7 @@ 2a02:270::,2a02:270:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a02:278::,2a02:278:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a02:280::,2a02:280:ffff:ffff:ffff:ffff:ffff:ffff,UA -2a02:288::,2a02:288:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a02:290::,2a02:290:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:288::,2a02:290:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:298::,2a02:298:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:2a0::,2a02:2a0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a02:2a8::,2a02:2a8:ffff:ffff:ffff:ffff:ffff:ffff,CH @@ -9744,7 +14041,7 @@ 2a02:360::,2a02:360:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a02:368::,2a02:368:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a02:370::,2a02:370:ffff:ffff:ffff:ffff:ffff:ffff,CH -2a02:380::,2a02:380:ffff:ffff:ffff:ffff:ffff:ffff,LI +2a02:380::,2a02:381:ffff:ffff:ffff:ffff:ffff:ffff,LI 2a02:388::,2a02:388:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a02:390::,2a02:390:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:398::,2a02:398:ffff:ffff:ffff:ffff:ffff:ffff,FR @@ -9763,7 +14060,7 @@ 2a02:400::,2a02:400:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:408::,2a02:408:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:410::,2a02:410:ffff:ffff:ffff:ffff:ffff:ffff,CH -2a02:418::,2a02:418:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a02:418::,2a02:41f:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a02:420::,2a02:420:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:428::,2a02:428:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a02:430::,2a02:430:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -9783,8 +14080,7 @@ 2a02:4a0::,2a02:4a0:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a02:4a8::,2a02:4a8:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a02:4b0::,2a02:4b0:ffff:ffff:ffff:ffff:ffff:ffff,BE -2a02:4b8::,2a02:4b8:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a02:4c0::,2a02:4c0:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a02:4b8::,2a02:4c0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a02:4c8::,2a02:4c8:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a02:4d0::,2a02:4d0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a02:4d8::,2a02:4d8:ffff:ffff:ffff:ffff:ffff:ffff,LU @@ -9794,7 +14090,6 @@ 2a02:4f8::,2a02:4f8:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a02:500::,2a02:500:ffff:ffff:ffff:ffff:ffff:ffff,LV 2a02:508::,2a02:508:ffff:ffff:ffff:ffff:ffff:ffff,SE -2a02:510::,2a02:510:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a02:518::,2a02:518:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a02:520::,2a02:520:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a02:530::,2a02:530:ffff:ffff:ffff:ffff:ffff:ffff,RU @@ -9869,7 +14164,7 @@ 2a02:768::,2a02:768:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a02:770::,2a02:770:ffff:ffff:ffff:ffff:ffff:ffff,SK 2a02:778::,2a02:778:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a02:780::,2a02:780:ffff:ffff:ffff:ffff:ffff:ffff,HU +2a02:780::,2a02:787:ffff:ffff:ffff:ffff:ffff:ffff,HU 2a02:788::,2a02:788:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:790::,2a02:790:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:798::,2a02:798:ffff:ffff:ffff:ffff:ffff:ffff,FR @@ -9885,10 +14180,10 @@ 2a02:7e8::,2a02:7e8:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a02:7f0::,2a02:7f0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a02:7f8::,2a02:7f8:ffff:ffff:ffff:ffff:ffff:ffff,BG -2a02:800::,2a02:800:ffff:ffff:ffff:ffff:ffff:ffff,SI +2a02:800::,2a02:807:ffff:ffff:ffff:ffff:ffff:ffff,SI 2a02:808::,2a02:808:ffff:ffff:ffff:ffff:ffff:ffff,HU 2a02:810::,2a02:810:ffff:ffff:ffff:ffff:ffff:ffff,CH -2a02:818::,2a02:818:ffff:ffff:ffff:ffff:ffff:ffff,PT +2a02:818::,2a02:81f:ffff:ffff:ffff:ffff:ffff:ffff,PT 2a02:820::,2a02:820:ffff:ffff:ffff:ffff:ffff:ffff,KG 2a02:828::,2a02:828:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a02:830::,2a02:830:ffff:ffff:ffff:ffff:ffff:ffff,NL @@ -9911,7 +14206,7 @@ 2a02:8b8::,2a02:8b8:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:8c0::,2a02:8c0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:8c8::,2a02:8c8:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a02:8d0::,2a02:8d0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a02:8d0::,2a02:8d1:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:8d8::,2a02:8d8:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:8e0::,2a02:8e0:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a02:8e8::,2a02:8e8:ffff:ffff:ffff:ffff:ffff:ffff,DK @@ -9926,7 +14221,6 @@ 2a02:930::,2a02:930:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:938::,2a02:938:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a02:940::,2a02:940:ffff:ffff:ffff:ffff:ffff:ffff,AT -2a02:948::,2a02:948:ffff:ffff:ffff:ffff:ffff:ffff,EU 2a02:950::,2a02:950:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a02:958::,2a02:958:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:960::,2a02:960:ffff:ffff:ffff:ffff:ffff:ffff,RU @@ -9975,10 +14269,10 @@ 2a02:ab8::,2a02:ab8:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a02:ac0::,2a02:ac0:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a02:ac8::,2a02:ac8:ffff:ffff:ffff:ffff:ffff:ffff,HR -2a02:ad0::,2a02:ad0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a02:ad0::,2a02:ad7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:ad8::,2a02:ad8:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:ae0::,2a02:ae0:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a02:ae8::,2a02:ae8:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a02:ae8::,2a02:aef:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a02:af0::,2a02:af0:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a02:af8::,2a02:af8:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:b00::,2a02:b00:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -10016,7 +14310,7 @@ 2a02:c10::,2a02:c10:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a02:c18::,2a02:c18:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a02:c20::,2a02:c20:ffff:ffff:ffff:ffff:ffff:ffff,CZ -2a02:c28::,2a02:c28:ffff:ffff:ffff:ffff:ffff:ffff,JE +2a02:c28::,2a02:c2f:ffff:ffff:ffff:ffff:ffff:ffff,JE 2a02:c30::,2a02:c30:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:c38::,2a02:c38:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a02:c40::,2a02:c47:ffff:ffff:ffff:ffff:ffff:ffff,PL @@ -10034,9 +14328,8 @@ 2a02:ca0::,2a02:ca0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a02:ca8::,2a02:ca8:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:cb0::,2a02:cb0:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a02:cb8::,2a02:cb8:ffff:ffff:ffff:ffff:ffff:ffff,EU 2a02:cc0::,2a02:cc0:ffff:ffff:ffff:ffff:ffff:ffff,NL -2a02:cc8::,2a02:cc8:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a02:cc8::,2a02:cc9:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a02:cd0::,2a02:cd0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:cd8::,2a02:cd8:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a02:ce0::,2a02:ce0:ffff:ffff:ffff:ffff:ffff:ffff,SA @@ -10049,13 +14342,13 @@ 2a02:d20::,2a02:d20:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:d28::,2a02:d28:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a02:d30::,2a02:d30:ffff:ffff:ffff:ffff:ffff:ffff,IR -2a02:d38::,2a02:d38:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a02:d38::,2a02:d3f:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a02:d40::,2a02:d40:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:d48::,2a02:d48:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a02:d50::,2a02:d50:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a02:d58::,2a02:d58:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a02:d58::,2a02:d5f:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a02:d60::,2a02:d60:ffff:ffff:ffff:ffff:ffff:ffff,NO -2a02:d68::,2a02:d68:ffff:ffff:ffff:ffff:ffff:ffff,SI +2a02:d68::,2a02:d6f:ffff:ffff:ffff:ffff:ffff:ffff,SI 2a02:d70::,2a02:d70:ffff:ffff:ffff:ffff:ffff:ffff,SA 2a02:d78::,2a02:d78:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:d80::,2a02:d80:ffff:ffff:ffff:ffff:ffff:ffff,SI @@ -10068,7 +14361,7 @@ 2a02:dc0::,2a02:dc0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a02:dc8::,2a02:dc8:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a02:dd0::,2a02:dd0:ffff:ffff:ffff:ffff:ffff:ffff,MT -2a02:dd8::,2a02:dd8:ffff:ffff:ffff:ffff:ffff:ffff,SK +2a02:dd8::,2a02:ddf:ffff:ffff:ffff:ffff:ffff:ffff,SK 2a02:de0::,2a02:de0:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a02:de8::,2a02:de8:ffff:ffff:ffff:ffff:ffff:ffff,CY 2a02:df0::,2a02:df0:ffff:ffff:ffff:ffff:ffff:ffff,SA @@ -10076,18 +14369,17 @@ 2a02:e00::,2a02:e00:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:e08::,2a02:e08:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:e10::,2a02:e10:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a02:e20::,2a02:e20:ffff:ffff:ffff:ffff:ffff:ffff,SI +2a02:e20::,2a02:e27:ffff:ffff:ffff:ffff:ffff:ffff,SI 2a02:e28::,2a02:e28:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a02:e30::,2a02:e30:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a02:e38::,2a02:e38:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a02:e40::,2a02:e40:ffff:ffff:ffff:ffff:ffff:ffff,RS 2a02:e48::,2a02:e48:ffff:ffff:ffff:ffff:ffff:ffff,MK 2a02:e50::,2a02:e50:ffff:ffff:ffff:ffff:ffff:ffff,IT -2a02:e58::,2a02:e58:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a02:e58::,2a02:e5f:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a02:e60::,2a02:e60:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a02:e68::,2a02:e68:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:e70::,2a02:e70:ffff:ffff:ffff:ffff:ffff:ffff,CH -2a02:e78::,2a02:e78:ffff:ffff:ffff:ffff:ffff:ffff,MT 2a02:e80::,2a02:e80:ffff:ffff:ffff:ffff:ffff:ffff,EE 2a02:e88::,2a02:e88:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a02:e90::,2a02:e90:ffff:ffff:ffff:ffff:ffff:ffff,FO @@ -10101,7 +14393,6 @@ 2a02:ed0::,2a02:ed0:ffff:ffff:ffff:ffff:ffff:ffff,IL 2a02:ed8::,2a02:ed8:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a02:ee0::,2a02:ee0:ffff:ffff:ffff:ffff:ffff:ffff,PL -2a02:ee8::,2a02:ee8:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a02:ef0::,2a02:ef0:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a02:ef8::,2a02:ef8:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:f00::,2a02:f00:ffff:ffff:ffff:ffff:ffff:ffff,BE @@ -10117,9 +14408,9 @@ 2a02:f50::,2a02:f50:ffff:ffff:ffff:ffff:ffff:ffff,LB 2a02:f58::,2a02:f58:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a02:f60::,2a02:f60:ffff:ffff:ffff:ffff:ffff:ffff,IT -2a02:f68::,2a02:f68:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a02:f68::,2a02:f6f:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a02:f70::,2a02:f70:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a02:f78::,2a02:f78:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a02:f78::,2a02:f7f:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a02:f80::,2a02:f80:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a02:f88::,2a02:f88:ffff:ffff:ffff:ffff:ffff:ffff,RS 2a02:f90::,2a02:f90:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -10132,7 +14423,7 @@ 2a02:fc8::,2a02:fc8:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a02:fd0::,2a02:fd0:ffff:ffff:ffff:ffff:ffff:ffff,MD 2a02:fd8::,2a02:fd8:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a02:fe0::,2a02:fe0:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a02:fe0::,2a02:fe7:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a02:fe8::,2a02:fe8:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a02:ff0::,2a02:ff0:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a02:ff8::,2a02:ff8:ffff:ffff:ffff:ffff:ffff:ffff,IR @@ -10155,7 +14446,7 @@ 2a02:1370::,2a02:1370:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a02:1378::,2a02:1378:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:1380::,2a02:1380:ffff:ffff:ffff:ffff:ffff:ffff,SE -2a02:1388::,2a02:1388:ffff:ffff:ffff:ffff:ffff:ffff,GR +2a02:1388::,2a02:138f:ffff:ffff:ffff:ffff:ffff:ffff,GR 2a02:1390::,2a02:1390:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a02:1398::,2a02:1398:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a02:13a0::,2a02:13a0:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -10189,7 +14480,6 @@ 2a02:1678::,2a02:1678:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a02:1680::,2a02:1680:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a02:1688::,2a02:1688:ffff:ffff:ffff:ffff:ffff:ffff,AT -2a02:1690::,2a02:1690:ffff:ffff:ffff:ffff:ffff:ffff,SE 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:ffff:ffff:ffff:ffff:ffff:ffff,AT @@ -10204,7 +14494,6 @@ 2a02:16f0::,2a02:16f0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:16f8::,2a02:16f8:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:1700::,2a02:1700:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a02:1708::,2a02:1708:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a02:1710::,2a02:1710:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:1718::,2a02:1718:ffff:ffff:ffff:ffff:ffff:ffff,AE 2a02:1720::,2a02:1720:ffff:ffff:ffff:ffff:ffff:ffff,NL @@ -10303,7 +14592,6 @@ 2a02:2220::,2a02:2220:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a02:2228::,2a02:2228:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:2230::,2a02:2230:ffff:ffff:ffff:ffff:ffff:ffff,SI -2a02:2238::,2a02:2238:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:2240::,2a02:2240:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a02:2248::,2a02:2248:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a02:2250::,2a02:2250:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -10327,7 +14615,6 @@ 2a02:22e0::,2a02:22e0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a02:22e8::,2a02:22e8:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:22f0::,2a02:22f0:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a02:22f8::,2a02:22f8:ffff:ffff:ffff:ffff:ffff:ffff,EU 2a02:2300::,2a02:2300:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:2308::,2a02:2308:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a02:2310::,2a02:2310:ffff:ffff:ffff:ffff:ffff:ffff,CZ @@ -10335,14 +14622,13 @@ 2a02:2320::,2a02:2320:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a02:2328::,2a02:2328:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a02:2330::,2a02:2330:ffff:ffff:ffff:ffff:ffff:ffff,LV -2a02:2338::,2a02:2338:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a02:2338::,2a02:233f:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a02:2340::,2a02:2340:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a02:2348::,2a02:2348:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a02:2350::,2a02:2350:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a02:2358::,2a02:2358:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a02:2360::,2a02:2360:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:2368::,2a02:2368:ffff:ffff:ffff:ffff:ffff:ffff,NO -2a02:2370::,2a02:2370:ffff:ffff:ffff:ffff:ffff:ffff,EU 2a02:2378::,2a02:2378:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a02:2380::,2a02:2380:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a02:2388::,2a02:2388:ffff:ffff:ffff:ffff:ffff:ffff,NL @@ -10363,18 +14649,17 @@ 2a02:2400::,2a02:2400:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a02:2408::,2a02:2408:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a02:2410::,2a02:2410:ffff:ffff:ffff:ffff:ffff:ffff,AT -2a02:2418::,2a02:2418:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a02:2420::,2a02:2420:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a02:2428::,2a02:2428:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a02:2430::,2a02:2430:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a02:2438::,2a02:2438:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:2440::,2a02:2440:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a02:2448::,2a02:2448:ffff:ffff:ffff:ffff:ffff:ffff,PL -2a02:2450::,2a02:2450:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a02:2450::,2a02:2457:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:2458::,2a02:2458:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:2460::,2a02:2460:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a02:2468::,2a02:2468:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a02:2470::,2a02:2470:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a02:2470::,2a02:2477:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a02:2478::,2a02:2478:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:2480::,2a02:2480:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:2488::,2a02:2488:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -10383,7 +14668,7 @@ 2a02:24a0::,2a02:24a0:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a02:24a8::,2a02:24a8:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a02:24b0::,2a02:24b0:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a02:24b8::,2a02:24b8:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a02:24b8::,2a02:24bf:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a02:24c0::,2a02:24c0:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a02:24c8::,2a02:24c8:ffff:ffff:ffff:ffff:ffff:ffff,SA 2a02:24d0::,2a02:24d0:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -10397,7 +14682,7 @@ 2a02:2510::,2a02:2510:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:2518::,2a02:2518:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:2520::,2a02:2520:ffff:ffff:ffff:ffff:ffff:ffff,CH -2a02:2528::,2a02:2528: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 2a02:2538::,2a02:2538:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a02:2540::,2a02:2540:ffff:ffff:ffff:ffff:ffff:ffff,UA @@ -10406,14 +14691,14 @@ 2a02:2558::,2a02:2558:ffff:ffff:ffff:ffff:ffff:ffff,JO 2a02:2560::,2a02:2560:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:2568::,2a02:2568:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a02:2570::,2a02:2570:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a02:2570::,2a02:2577:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a02:2578::,2a02:2578:ffff:ffff:ffff:ffff:ffff:ffff,BH -2a02:2580::,2a02:2580:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a02:2580::,2a02:2587:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a02:2588::,2a02:2588:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a02:2590::,2a02:2590:ffff:ffff:ffff:ffff:ffff:ffff,SI 2a02:2598::,2a02:2598:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a02:25a0::,2a02:25a0:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a02:25a8::,2a02:25a8:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a02:25a8::,2a02:25af:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a02:25b0::,2a02:25b0:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a02:25b8::,2a02:25b8:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a02:25c0::,2a02:25c0:ffff:ffff:ffff:ffff:ffff:ffff,ES @@ -10444,7 +14729,7 @@ 2a02:2688::,2a02:2688:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:2690::,2a02:2690:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a02:2698::,2a02:2698:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a02:26a0::,2a02:26a0:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a02:26a0::,2a02:26a7:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a02:26a8::,2a02:26a8:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:26b0::,2a02:26b0:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a02:26b8::,2a02:26b8:ffff:ffff:ffff:ffff:ffff:ffff,FR @@ -10454,8 +14739,7 @@ 2a02:26d8::,2a02:26d8:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:26e0::,2a02:26e0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:26e8::,2a02:26e8:ffff:ffff:ffff:ffff:ffff:ffff,PL -2a02:26f0::,2a02:26f0:ffff:ffff:ffff:ffff:ffff:ffff,EU -2a02:26f8::,2a02:26f8:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a02:26f8::,2a02:26ff:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:2700::,2a02:2700:ffff:ffff:ffff:ffff:ffff:ffff,IQ 2a02:2708::,2a02:2708:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:2710::,2a02:2710:ffff:ffff:ffff:ffff:ffff:ffff,UA @@ -10477,7 +14761,7 @@ 2a02:2790::,2a02:2790:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a02:2798::,2a02:2798:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:27a0::,2a02:27a0:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a02:27a8::,2a02:27a8:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a02:27a8::,2a02:27af:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a02:27b0::,2a02:27b0:ffff:ffff:ffff:ffff:ffff:ffff,BA 2a02:27b8::,2a02:27b8:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a02:27c0::,2a02:27c0:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -10511,7 +14795,7 @@ 2a02:28a0::,2a02:28a0:ffff:ffff:ffff:ffff:ffff:ffff,GR 2a02:28a8::,2a02:28a8:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a02:28b0::,2a02:28b7:ffff:ffff:ffff:ffff:ffff:ffff,SI -2a02:28b8::,2a02:28b8:ffff:ffff:ffff:ffff:ffff:ffff,BA +2a02:28b8::,2a02:28bf:ffff:ffff:ffff:ffff:ffff:ffff,BA 2a02:28c0::,2a02:28c0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a02:28c8::,2a02:28c8:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:28d0::,2a02:28d0:ffff:ffff:ffff:ffff:ffff:ffff,UA @@ -10558,7 +14842,7 @@ 2a02:2a18::,2a02:2a18:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:2a20::,2a02:2a20:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a02:2a28::,2a02:2a28:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a02:2a30::,2a02:2a30:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a02:2a30::,2a02:2a37:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a02:2a38::,2a02:2a38:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a02:2a40::,2a02:2a40:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a02:2a48::,2a02:2a48:ffff:ffff:ffff:ffff:ffff:ffff,SE @@ -10592,20 +14876,20 @@ 2a02:2b28::,2a02:2b28:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:2b30::,2a02:2b30:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a02:2b38::,2a02:2b38:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a02:2b40::,2a02:2b40:ffff:ffff:ffff:ffff:ffff:ffff,SI +2a02:2b40::,2a02:2b47:ffff:ffff:ffff:ffff:ffff:ffff,SI 2a02:2b48::,2a02:2b48:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a02:2b50::,2a02:2b50:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a02:2b58::,2a02:2b58:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a02:2b80::,2a02:2b80:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:2b88::,2a02:2b88:ffff:ffff:ffff:ffff:ffff:ffff,CZ -2a02:2b90::,2a02:2b90:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a02:2b90::,2a02:2b97:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:2b98::,2a02:2b98:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a02:2ba0::,2a02:2ba0:ffff:ffff:ffff:ffff:ffff:ffff,KW 2a02:2ba8::,2a02:2ba8:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:2bb0::,2a02:2bb0:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a02:2bb8::,2a02:2bb8:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:2bc0::,2a02:2bc0:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a02:2c00::,2a02:2c00:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a02:2c00::,2a02:2c07:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a02:2c40::,2a02:2c40:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a02:2c80::,2a02:2c80:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a02:2cc0::,2a02:2cc0:ffff:ffff:ffff:ffff:ffff:ffff,ES @@ -10632,15 +14916,12 @@ 2a02:42c0::,2a02:42c0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:4300::,2a02:4300:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a02:4340::,2a02:4340:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a02:4380::,2a02:4380:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a02:43c0::,2a02:43c0:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a02:4400::,2a02:4400:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:4440::,2a02:4440:ffff:ffff:ffff:ffff:ffff:ffff,QA 2a02:4480::,2a02:4480:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:44c0::,2a02:44c0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a02:4500::,2a02:4500:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:4540::,2a02:4540:ffff:ffff:ffff:ffff:ffff:ffff,IR -2a02:4580::,2a02:4580:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a02:45c0::,2a02:45c0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:4600::,2a02:4600:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a02:4640::,2a02:4640:ffff:ffff:ffff:ffff:ffff:ffff,NL @@ -10653,20 +14934,19 @@ 2a02:4800::,2a02:4800:ffff:ffff:ffff:ffff:ffff:ffff,RO 2a02:4840::,2a02:4840:ffff:ffff:ffff:ffff:ffff:ffff,LV 2a02:4880::,2a02:4880:ffff:ffff:ffff:ffff:ffff:ffff,FI -2a02:48c0::,2a02:48c0:ffff:ffff:ffff:ffff:ffff:ffff,EU -2a02:4900::,2a02:4900:ffff:ffff:ffff:ffff:ffff:ffff,GR +2a02:4900::,2a02:4907:ffff:ffff:ffff:ffff:ffff:ffff,GR 2a02:4940::,2a02:4940:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a02:4980::,2a02:4980:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a02:49c0::,2a02:49c0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:4a00::,2a02:4a00:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a02:4a40::,2a02:4a40:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a02:4ac0::,2a02:4ac0:ffff:ffff:ffff:ffff:ffff:ffff,ES -2a02:4b00::,2a02:4b00:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a02:4b00::,2a02:4b07:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a02:4b40::,2a02:4b40:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:4b80::,2a02:4b80:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:4bc0::,2a02:4bc0:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a02:4c00::,2a02:4c00:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a02:4c40::,2a02:4c40:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a02:4c40::,2a02:4c47:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:4c80::,2a02:4c80:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a02:4cc0::,2a02:4cc0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:4d00::,2a02:4d00:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -10688,7 +14968,6 @@ 2a02:5180::,2a02:5180:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:51c0::,2a02:51c0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:5200::,2a02:5200:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a02:5240::,2a02:5240:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a02:5280::,2a02:5280:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:52c0::,2a02:52c0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a02:5300::,2a02:5300:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -10718,9 +14997,8 @@ 2a02:5940::,2a02:5940:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a02:5980::,2a02:5980:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a02:59c0::,2a02:59c0:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a02:5a00::,2a02:5a00:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a02:5a40::,2a02:5a40:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a02:5a80::,2a02:5a80:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a02:5a80::,2a02:5a87:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:5ac0::,2a02:5ac0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a02:5b00::,2a02:5b00:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a02:5b40::,2a02:5b40:ffff:ffff:ffff:ffff:ffff:ffff,BE @@ -10748,7 +15026,7 @@ 2a02:6140::,2a02:6140:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:6180::,2a02:6180:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a02:61c0::,2a02:61c0:ffff:ffff:ffff:ffff:ffff:ffff,IT -2a02:6200::,2a02:6200:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a02:6200::,2a02:6207:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a02:6240::,2a02:6240:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a02:6280::,2a02:6280:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a02:62c0::,2a02:62c0:ffff:ffff:ffff:ffff:ffff:ffff,ES @@ -10844,7 +15122,6 @@ 2a02:7980::,2a02:7980:ffff:ffff:ffff:ffff:ffff:ffff,EE 2a02:79c0::,2a02:79c0:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a02:7a00::,2a02:7a00:ffff:ffff:ffff:ffff:ffff:ffff,CZ -2a02:7a40::,2a02:7a40:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a02:7a80::,2a02:7a80:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a02:7ac0::,2a02:7ac0:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a02:7b00::,2a02:7b00:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -10854,7 +15131,6 @@ 2a02:7c00::,2a02:7c00:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a02:7c40::,2a02:7c40:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:7c80::,2a02:7c80:ffff:ffff:ffff:ffff:ffff:ffff,ES -2a02:7cc0::,2a02:7cc0:ffff:ffff:ffff:ffff:ffff:ffff,EU 2a02:7d00::,2a02:7d00:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a02:7d40::,2a02:7d40:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a02:7d80::,2a02:7d80:ffff:ffff:ffff:ffff:ffff:ffff,TR @@ -10862,8 +15138,11 @@ 2a02:7e00::,2a02:7e00:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a02:7e40::,2a02:7e40:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:7e80::,2a02:7e80:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:7ec0::,2a02:7ec0:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a02:7f00::,2a02:7f00:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a02:7f40::,2a02:7f40:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:7f80::,2a02:7f80:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a02:7fc0::,2a02:7fc0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:8010::,2a02:8017:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:8020::,2a02:8023:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:8040::,2a02:8043:ffff:ffff:ffff:ffff:ffff:ffff,RU @@ -10892,7 +15171,6 @@ 2a02:ac40::,2a02:ac47:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a02:ac80::,2a02:ac87:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a02:acc0::,2a02:acc7:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a02:ad00::,2a02:ad07:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:ad40::,2a02:ad47:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:ad80::,2a02:ad87:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a02:adc0::,2a02:adc7:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -10906,7 +15184,6 @@ 2a02:afc0::,2a02:afc7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:b000::,2a02:b1ff:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a02:c000::,2a02:c007:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a02:c040::,2a02:c047:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a02:c080::,2a02:c087:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a02:c0c0::,2a02:c0c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:c100::,2a02:c107:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -10914,13 +15191,12 @@ 2a02:c180::,2a02:c187:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a02:c1c0::,2a02:c1c7:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:c200::,2a02:c207:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a02:c240::,2a02:c247:ffff:ffff:ffff:ffff:ffff:ffff,EU 2a02:c280::,2a02:c287:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a02:c2c0::,2a02:c2c7:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:c300::,2a02:c307:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a02:c340::,2a02:c347:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a02:c380::,2a02:c381:ffff:ffff:ffff:ffff:ffff:ffff,CH -2a02:c390::,2a02:c391:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a02:c390::,2a02:c397:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a02:c3a0::,2a02:c3a3:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a02:c3c0::,2a02:c3c7:ffff:ffff:ffff:ffff:ffff:ffff,BH 2a02:c400::,2a02:c407:ffff:ffff:ffff:ffff:ffff:ffff,BH @@ -10934,7 +15210,6 @@ 2a02:c600::,2a02:c607:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a02:c640::,2a02:c647:ffff:ffff:ffff:ffff:ffff:ffff,HU 2a02:c680::,2a02:c681:ffff:ffff:ffff:ffff:ffff:ffff,IT -2a02:c690::,2a02:c691:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a02:c6a0::,2a02:c6a3:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:c6c0::,2a02:c6c7:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:c700::,2a02:c707:ffff:ffff:ffff:ffff:ffff:ffff,IT @@ -10956,507 +15231,1916 @@ 2a02:cb00::,2a02:cb07:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a02:cb40::,2a02:cb47:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:cb80::,2a02:cb87:ffff:ffff:ffff:ffff:ffff:ffff,SA +2a02:cbc0::,2a02:cbc3:ffff:ffff:ffff:ffff:ffff:ffff,MK +2a02:cbe0::,2a02:cbe1:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a02:cbf0::,2a02:cbf1:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a02:cc00::,2a02:cc07:ffff:ffff:ffff:ffff:ffff:ffff,HU +2a02:cc40::,2a02:cc47:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a02:cc80::,2a02:cc87:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:ccc0::,2a02:ccc7:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a02:cd00::,2a02:cd07:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a02:cd40::,2a02:cd47:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:cd80::,2a02:cd87:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a02:cdc0::,2a02:cdc7:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a02:ce00::,2a02:ce07:ffff:ffff:ffff:ffff:ffff:ffff,GR +2a02:ce40::,2a02:ce47:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a02:ce80::,2a02:ce87:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a02:cec0::,2a02:cec3:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a02:cee0::,2a02:cee3:ffff:ffff:ffff:ffff:ffff:ffff,IE +2a02:cf00::,2a02:cf07:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a02:cf80::,2a02:cf87:ffff:ffff:ffff:ffff:ffff:ffff,IL +2a02:cfc0::,2a02:cfc7:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a02:d000::,2a02:d007:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a02:d040::,2a02:d047:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a02:d080::,2a02:d087:ffff:ffff:ffff:ffff:ffff:ffff,BH +2a02:d0c0::,2a02:d0c7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:d100::,2a02:d107:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a02:d140::,2a02:d147:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a02:d180::,2a02:d187:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a02:d1c0::,2a02:d1c7:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a02:d200::,2a02:d207:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a02:d240::,2a02:d247:ffff:ffff:ffff:ffff:ffff:ffff,BY +2a02:d280::,2a02:d287:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a02:d2c0::,2a02:d2c7:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a02:d300::,2a02:d307:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a02:d340::,2a02:d347:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a02:d380::,2a02:d387:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a02:d3c0::,2a02:d3c7:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a02:d400::,2a02:d407:ffff:ffff:ffff:ffff:ffff:ffff,HU +2a02:d440::,2a02:d447:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a02:d480::,2a02:d487:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a02:d4c0::,2a02:d4c3:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a02:d4e0::,2a02:d4e3:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a02:d500::,2a02:d507:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a02:d540::,2a02:d547:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a02:d580::,2a02:d587:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a02:d5c0::,2a02:d5c7:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a02:d600::,2a02:d607:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a02:d640::,2a02:d647:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a02:d680::,2a02:d683:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a02:d6a0::,2a02:d6a3:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a02:d6c0::,2a02:d6c7:ffff:ffff:ffff:ffff:ffff:ffff,BG +2a02:d700::,2a02:d707:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a02:d740::,2a02:d747:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a02:d780::,2a02:d787:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a02:d7c0::,2a02:d7c7:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a02:d800::,2a02:d807:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a02:d840::,2a02:d847:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:d880::,2a02:d887:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:d8c0::,2a02:d8c7:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a02:d900::,2a02:d907:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a02:d940::,2a02:d947:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a02:d980::,2a02:d987:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a02:d9c0::,2a02:d9c7:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a02:da00::,2a02:da07:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a02:da40::,2a02:da47:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a02:da80::,2a02:da87:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a02:dac0::,2a02:dac7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:db00::,2a02:db07:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a02:db40::,2a02:db47:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a02:db80::,2a02:db87:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:dbc0::,2a02:dbc7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:dc00::,2a02:dc07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:dc40::,2a02:dc47:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a02:dc80::,2a02:dc87:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:dcc0::,2a02:dcc7:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a02:dd00::,2a02:dd07:ffff:ffff:ffff:ffff:ffff:ffff,AL +2a02:dd40::,2a02:dd47:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a02:dd80::,2a02:dd87:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a02:ddc0::,2a02:ddc7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:de00::,2a02:de07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:de40::,2a02:de47:ffff:ffff:ffff:ffff:ffff:ffff,IL +2a02:de80::,2a02:de87:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:dec0::,2a02:dec7:ffff:ffff:ffff:ffff:ffff:ffff,LB +2a02:df00::,2a02:df07:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a02:df40::,2a02:df47:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a02:df80::,2a02:df87:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a02:dfc0::,2a02:dfc7:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a02:e000::,2a02:e007:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a02:e040::,2a02:e047:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a02:e080::,2a02:e087:ffff:ffff:ffff:ffff:ffff:ffff,KW +2a02:e0c0::,2a02:e0c7:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a02:e100::,2a02:e107:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a02:e140::,2a02:e147:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a02:e180::,2a02:e187:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a02:e1c0::,2a02:e1c7:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a02:e200::,2a02:e203:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a02:e220::,2a02:e223:ffff:ffff:ffff:ffff:ffff:ffff,SA +2a02:e240::,2a02:e247:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a02:e280::,2a02:e287:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a02:e2c0::,2a02:e2c7:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a02:e300::,2a02:e307:ffff:ffff:ffff:ffff:ffff:ffff,BY +2a02:e340::,2a02:e347:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a02:e380::,2a02:e387:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a02:e3c0::,2a02:e3c7:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a02:e400::,2a02:e407:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a02:e440::,2a02:e447:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a02:e480::,2a02:e487:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:e4c0::,2a02:e4c7:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a02:e500::,2a02:e507:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a02:e540::,2a02:e547:ffff:ffff:ffff:ffff:ffff:ffff,RS +2a02:e580::,2a02:e587:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a02:e5c0::,2a02:e5c7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:e600::,2a02:e603:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a02:e620::,2a02:e623:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:e640::,2a02:e647:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a02:e680::,2a02:e687:ffff:ffff:ffff:ffff:ffff:ffff,JO +2a02:e700::,2a02:e707:ffff:ffff:ffff:ffff:ffff:ffff,LY +2a02:e740::,2a02:e747:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a02:e780::,2a02:e787:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a02:e7c0::,2a02:e7c7:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a02:e800::,2a02:e807:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a02:e840::,2a02:e847:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:e880::,2a02:e887:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:e900::,2a02:e907:ffff:ffff:ffff:ffff:ffff:ffff,IE +2a02:e940::,2a02:e947:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a02:e980::,2a02:e987:ffff:ffff:ffff:ffff:ffff:ffff,IL +2a02:e9c0::,2a02:e9c7:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a02:ea00::,2a02:ea07:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a02:ea40::,2a02:ea47:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a02:ea80::,2a02:ea87:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a02:eac0::,2a02:eac7:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a02:eb00::,2a02:eb07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:eb40::,2a02:eb47:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a02:eb80::,2a02:eb87:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:ebc0::,2a02:ebc7:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a02:ec00::,2a02:ec07:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a02:ec40::,2a02:ec47:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:ec80::,2a02:ec87:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a02:ecc0::,2a02:ecc7:ffff:ffff:ffff:ffff:ffff:ffff,AZ +2a02:ed00::,2a02:ed07:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a02:ed40::,2a02:ed47:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a02:ed80::,2a02:ed87:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a02:edc0::,2a02:edc7:ffff:ffff:ffff:ffff:ffff:ffff,SA +2a02:ee00::,2a02:ee07:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a02:ee40::,2a02:ee47:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:ee80::,2a02:ee87:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a02:eec0::,2a02:eec7:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a02:ef00::,2a02:ef07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:ef40::,2a02:ef47:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:ef80::,2a02:ef87:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a02:efc0::,2a02:efc7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:f000::,2a02:f007:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a02:f040::,2a02:f047:ffff:ffff:ffff:ffff:ffff:ffff,BH +2a02:f080::,2a02:f083:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a02:f0a0::,2a02:f0a3:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a02:f0c0::,2a02:f0c7:ffff:ffff:ffff:ffff:ffff:ffff,JO +2a02:f100::,2a02:f107:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a02:f140::,2a02:f147:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a02:f180::,2a02:f187:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a02:f1c0::,2a02:f1c7:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a02:f200::,2a02:f207:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a02:f240::,2a02:f247:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a02:f280::,2a02:f287:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a02:f2c0::,2a02:f2c7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:f300::,2a02:f307:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a02:f340::,2a02:f347:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a02:f380::,2a02:f387:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a02:f3c0::,2a02:f3c7:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a02:f400::,2a02:f407:ffff:ffff:ffff:ffff:ffff:ffff,AE +2a02:f440::,2a02:f447:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a02:f480::,2a02:f487:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a02:f4c0::,2a02:f4c7:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a02:f500::,2a02:f507:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:f540::,2a02:f543:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a02:f560::,2a02:f563:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:f580::,2a02:f587:ffff:ffff:ffff:ffff:ffff:ffff,AM +2a02:f5c0::,2a02:f5c7:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a02:f600::,2a02:f607:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a02:f640::,2a02:f647:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a02:f680::,2a02:f687:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:f6c0::,2a02:f6c7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:f700::,2a02:f707:ffff:ffff:ffff:ffff:ffff:ffff,LB +2a02:f740::,2a02:f747:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a02:f780::,2a02:f787:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a02:f7c0::,2a02:f7c7:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a02:f800::,2a02:f807:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:f840::,2a02:f847:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a02:f880::,2a02:f887:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a02:f8c0::,2a02:f8c7:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a02:f900::,2a02:f907:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a02:f940::,2a02:f947:ffff:ffff:ffff:ffff:ffff:ffff,HU +2a02:f980::,2a02:f987:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a02:f9c0::,2a02:f9c7:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a02:fa00::,2a02:fa07:ffff:ffff:ffff:ffff:ffff:ffff,SA +2a02:fa40::,2a02:fa47:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a02:fa80::,2a02:fa87:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a02:fac0::,2a02:fac7:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a02:fb00::,2a02:fb07:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a02:fb40::,2a02:fb47:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a02:fb80::,2a02:fb87:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a02:fbc0::,2a02:fbc7:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a02:fc00::,2a02:fc07:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a02:fc40::,2a02:fc47:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a02:fc80::,2a02:fc87:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a02:fcc0::,2a02:fcc7:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a02:fd00::,2a02:fd07:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a02:fd40::,2a02:fd47:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a02:fd80::,2a02:fd87:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a02:fdc0::,2a02:fdc7:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a02:fe00::,2a02:fe07:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a02:fe40::,2a02:fe47:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a02:fec0::,2a02:fec7:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a02:ff00::,2a02:ff07:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a02:ff40::,2a02:ff47:ffff:ffff:ffff:ffff:ffff:ffff,IM +2a02:ff80::,2a02:ff87:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a02:ffc0::,2a02:ffc7:ffff:ffff:ffff:ffff:ffff:ffff,GI +2a03:40::,2a03:40:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:80::,2a03:80:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:c0::,2a03:c0:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a03:100::,2a03:100:ffff:ffff:ffff:ffff:ffff:ffff,LV +2a03:140::,2a03:140:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a03:180::,2a03:180:ffff:ffff:ffff:ffff:ffff:ffff,LU +2a03:1c0::,2a03:1c0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a03:200::,2a03:200:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:240::,2a03:247:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:280::,2a03:280:ffff:ffff:ffff:ffff:ffff:ffff,LT +2a03:2c0::,2a03:2c0:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a03:300::,2a03:300:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:340::,2a03:340:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:380::,2a03:380:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a03:3c0::,2a03:3c0:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a03:400::,2a03:400:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a03:440::,2a03:440:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a03:480::,2a03:480:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:4c0::,2a03:4c0:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a03:500::,2a03:500:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:540::,2a03:540:ffff:ffff:ffff:ffff:ffff:ffff,UZ 2a03:580::,2a03:580:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a03:5c0::,2a03:5c0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:600::,2a03:600:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:640::,2a03:640:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a03:680::,2a03:680:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a03:6c0::,2a03:6c0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:700::,2a03:700:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:740::,2a03:740:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:780::,2a03:780:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a03:7c0::,2a03:7c0:ffff:ffff:ffff:ffff:ffff:ffff,PS 2a03:800::,2a03:800:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:840::,2a03:840:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a03:880::,2a03:880:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a03:8c0::,2a03:8c0:ffff:ffff:ffff:ffff:ffff:ffff,AZ 2a03:900::,2a03:900:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a03:940::,2a03:940:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a03:980::,2a03:980:ffff:ffff:ffff:ffff:ffff:ffff,IL +2a03:9c0::,2a03:9c0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a03:a00::,2a03:a00:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:a40::,2a03:a40:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a03:a80::,2a03:a80:ffff:ffff:ffff:ffff:ffff:ffff,MD +2a03:ac0::,2a03:ac0:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a03:b00::,2a03:b00:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:b40::,2a03:b40:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a03:b80::,2a03:b80:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a03:bc0::,2a03:bc7:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:c00::,2a03:c00:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a03:c40::,2a03:c40:ffff:ffff:ffff:ffff:ffff:ffff,PS 2a03:c80::,2a03:c80:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a03:cc0::,2a03:cc0:ffff:ffff:ffff:ffff:ffff:ffff,RO 2a03:d00::,2a03:d00:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a03:d40::,2a03:d40:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a03:d80::,2a03:d80:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a03:dc0::,2a03:dc0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a03:e00::,2a03:e00:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a03:e40::,2a03:e40:ffff:ffff:ffff:ffff:ffff:ffff,GR 2a03:e80::,2a03:e80:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a03:f00::,2a03:f00:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:ec0::,2a03:ec0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:f00::,2a03:f07:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:f40::,2a03:f40:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a03:f80::,2a03:f87:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a03:fc0::,2a03:fc0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:1000::,2a03:1000:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a03:1040::,2a03:1040:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:1080::,2a03:1080:ffff:ffff:ffff:ffff:ffff:ffff,AM +2a03:10c0::,2a03:10c3:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a03:1100::,2a03:1100:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a03:1140::,2a03:1140:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a03:1180::,2a03:1180:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a03:11c0::,2a03:11c0:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a03:1200::,2a03:1200:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a03:1240::,2a03:1240:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a03:1280::,2a03:1280:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a03:12c0::,2a03:12c0:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a03:1300::,2a03:1300:ffff:ffff:ffff:ffff:ffff:ffff,CY +2a03:1340::,2a03:1340:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a03:1380::,2a03:1380:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a03:13c0::,2a03:13c0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:1400::,2a03:1400:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a03:1440::,2a03:1440:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:1480::,2a03:1480:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:14c0::,2a03:14c0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:1500::,2a03:1500:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a03:1540::,2a03:1540:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:1580::,2a03:1580:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a03:15c0::,2a03:15c0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:1600::,2a03:1600:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a03:1640::,2a03:1640:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:1680::,2a03:1680:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a03:16c0::,2a03:16c0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:1700::,2a03:1707:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a03:1740::,2a03:1740:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:1780::,2a03:1780:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:17c0::,2a03:17c0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:1800::,2a03:1800:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:1840::,2a03:1840:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a03:1880::,2a03:1880:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a03:18c0::,2a03:18c0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:1900::,2a03:1900:ffff:ffff:ffff:ffff:ffff:ffff,AM +2a03:1940::,2a03:1940:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:1980::,2a03:1980:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a03:1a00::,2a03:1a00:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:1a40::,2a03:1a40:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:1a80::,2a03:1a80:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a03:1ac0::,2a03:1ac0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:1b00::,2a03:1b00:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:1b40::,2a03:1b40:ffff:ffff:ffff:ffff:ffff:ffff,RS 2a03:1b80::,2a03:1b80:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:1bc0::,2a03:1bc0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:1c00::,2a03:1c00:ffff:ffff:ffff:ffff:ffff:ffff,BH +2a03:1c40::,2a03:1c40:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a03:1c80::,2a03:1c80:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:1cc0::,2a03:1cc0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a03:1d00::,2a03:1d00:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:1d40::,2a03:1d40:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:1d80::,2a03:1d80:ffff:ffff:ffff:ffff:ffff:ffff,SK +2a03:1dc0::,2a03:1dc0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:1e00::,2a03:1e00:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:1e40::,2a03:1e40:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a03:1e80::,2a03:1e80:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:1ec0::,2a03:1ec0:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a03:1f00::,2a03:1f00:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a03:1f40::,2a03:1f40:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a03:1f80::,2a03:1f80:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a03:2000::,2a03:2000:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:2040::,2a03:2040:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a03:2080::,2a03:2080:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:20c0::,2a03:20c0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:2100::,2a03:2100:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a03:2140::,2a03:2140:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:2180::,2a03:2180:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a03:21c0::,2a03:21c0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:2200::,2a03:2200:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a03:2240::,2a03:2240:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a03:2280::,2a03:2280:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:22c0::,2a03:22c0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a03:2300::,2a03:2300:ffff:ffff:ffff:ffff:ffff:ffff,AM +2a03:2340::,2a03:2340:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a03:2380::,2a03:2380:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:23c0::,2a03:23c0:ffff:ffff:ffff:ffff:ffff:ffff,HR 2a03:2400::,2a03:2400:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:2440::,2a03:2440:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:2480::,2a03:2480:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:24c0::,2a03:24c0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a03:2500::,2a03:2500:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:2540::,2a03:2540:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:2580::,2a03:2580:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:25c0::,2a03:25c0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a03:2600::,2a03:2600:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a03:2640::,2a03:2640:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:2680::,2a03:2680:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:26c0::,2a03:26c0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a03:2700::,2a03:2700:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a03:2740::,2a03:2740:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a03:2780::,2a03:2780:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a03:27c0::,2a03:27c0:ffff:ffff:ffff:ffff:ffff:ffff,AM 2a03:2800::,2a03:2800:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:2840::,2a03:2840:ffff:ffff:ffff:ffff:ffff:ffff,US 2a03:2880::,2a03:2880:ffff:ffff:ffff:ffff:ffff:ffff,IE +2a03:28c0::,2a03:28c0:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a03:2900::,2a03:2900:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:2940::,2a03:2940:ffff:ffff:ffff:ffff:ffff:ffff,PS 2a03:2980::,2a03:2980:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:29c0::,2a03:29c0:ffff:ffff:ffff:ffff:ffff:ffff,EE 2a03:2a00::,2a03:2a00:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:2a40::,2a03:2a40:ffff:ffff:ffff:ffff:ffff:ffff,LB 2a03:2a80::,2a03:2a80:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a03:2ac0::,2a03:2ac0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:2b00::,2a03:2b00:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a03:2b40::,2a03:2b40:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:2b80::,2a03:2b80:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a03:2bc0::,2a03:2bc0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:2c00::,2a03:2c00:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:2c40::,2a03:2c40:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:2c80::,2a03:2c80:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:2cc0::,2a03:2cc0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:2d00::,2a03:2d00:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:2d80::,2a03:2d80:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:2dc0::,2a03:2dc0:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a03:2e00::,2a03:2e00:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a03:2e40::,2a03:2e40:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:2ec0::,2a03:2ec0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:2f00::,2a03:2f00:ffff:ffff:ffff:ffff:ffff:ffff,LU +2a03:2f40::,2a03:2f40:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a03:2f80::,2a03:2f80:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a03:2fc0::,2a03:2fc0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:3000::,2a03:3000:ffff:ffff:ffff:ffff:ffff:ffff,BY +2a03:3040::,2a03:3040:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a03:30c0::,2a03:30c0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a03:3100::,2a03:3100:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:3140::,2a03:3140:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a03:3180::,2a03:3180:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a03:31c0::,2a03:31c0:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a03:3200::,2a03:3200:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:3240::,2a03:3240:ffff:ffff:ffff:ffff:ffff:ffff,UZ 2a03:3280::,2a03:3280:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:32c0::,2a03:32c0:ffff:ffff:ffff:ffff:ffff:ffff,KZ 2a03:3300::,2a03:3300:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:3340::,2a03:3340:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a03:3380::,2a03:3380:ffff:ffff:ffff:ffff:ffff:ffff,HU +2a03:33c0::,2a03:33c0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:3400::,2a03:3400:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:3440::,2a03:3440:ffff:ffff:ffff:ffff:ffff:ffff,LV 2a03:3480::,2a03:3480:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:34c0::,2a03:34c0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:3500::,2a03:3500:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:3540::,2a03:3540:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:3580::,2a03:3580:ffff:ffff:ffff:ffff:ffff:ffff,GE +2a03:35c0::,2a03:35c0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:3600::,2a03:3600:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a03:3640::,2a03:3640:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:3680::,2a03:3680:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:36c0::,2a03:36c0:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a03:3700::,2a03:3700:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:37c0::,2a03:37c0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:3800::,2a03:3800:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a03:3840::,2a03:3840:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a03:3880::,2a03:3880:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a03:38c0::,2a03:38c0:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a03:3900::,2a03:3900:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a03:3940::,2a03:3940:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:3980::,2a03:3980:ffff:ffff:ffff:ffff:ffff:ffff,BY +2a03:39c0::,2a03:39c0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:3a00::,2a03:3a00:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a03:3a40::,2a03:3a40:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:3a80::,2a03:3a80:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:3ac0::,2a03:3ac0:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a03:3b00::,2a03:3b00:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:3b40::,2a03:3b40:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a03:3b80::,2a03:3b80:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a03:3bc0::,2a03:3bc0:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a03:3c00::,2a03:3c00:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:3c40::,2a03:3c40:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a03:3c80::,2a03:3c80:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:3cc0::,2a03:3cc7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:3d00::,2a03:3d00:ffff:ffff:ffff:ffff:ffff:ffff,AM +2a03:3d40::,2a03:3d40:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:3d80::,2a03:3d80:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a03:3dc0::,2a03:3dc0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:3e00::,2a03:3e00:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:3e40::,2a03:3e40:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:3e80::,2a03:3e80:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:3ec0::,2a03:3ec0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:3f00::,2a03:3f00:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a03:3f40::,2a03:3f40:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a03:3f80::,2a03:3f80:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:3fc0::,2a03:3fc0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:4000::,2a03:4000:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:4040::,2a03:4040:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:4080::,2a03:4080:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a03:4100::,2a03:4100:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a03:40c0::,2a03:40c0:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a03:4100::,2a03:4107:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a03:4140::,2a03:4140:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:4180::,2a03:4180:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a03:41c0::,2a03:41c0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:4200::,2a03:4200:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:4240::,2a03:4240:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:4280::,2a03:4280:ffff:ffff:ffff:ffff:ffff:ffff,HR -2a03:4300::,2a03:4300:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:42c0::,2a03:42c0:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:4300::,2a03:4307:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:4340::,2a03:4340:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:4380::,2a03:4380:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a03:43c0::,2a03:43c0:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a03:4400::,2a03:4400:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a03:4440::,2a03:4440:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a03:4480::,2a03:4480:ffff:ffff:ffff:ffff:ffff:ffff,AZ +2a03:44c0::,2a03:44c0:ffff:ffff:ffff:ffff:ffff:ffff,HU 2a03:4500::,2a03:4500:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:4540::,2a03:4540:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a03:4580::,2a03:4580:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a03:45c0::,2a03:45c0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a03:4600::,2a03:4600:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:4640::,2a03:4640:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:4680::,2a03:4680:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a03:46c0::,2a03:46c0:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a03:4700::,2a03:4700:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:4740::,2a03:4740:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a03:4780::,2a03:4780:ffff:ffff:ffff:ffff:ffff:ffff,KW +2a03:47c0::,2a03:47c7:ffff:ffff:ffff:ffff:ffff:ffff,IQ 2a03:4800::,2a03:4800:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:4840::,2a03:4847:ffff:ffff:ffff:ffff:ffff:ffff,AL 2a03:4880::,2a03:4880:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:48c0::,2a03:48c0:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a03:4900::,2a03:4900:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:4940::,2a03:4940:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a03:4980::,2a03:4980:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:49c0::,2a03:49c0:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a03:4a00::,2a03:4a00:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:4a40::,2a03:4a40:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a03:4a80::,2a03:4a80:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:4ac0::,2a03:4ac0:ffff:ffff:ffff:ffff:ffff:ffff,KZ 2a03:4b00::,2a03:4b00:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a03:4b40::,2a03:4b40:ffff:ffff:ffff:ffff:ffff:ffff,IQ 2a03:4b80::,2a03:4b80:ffff:ffff:ffff:ffff:ffff:ffff,AL +2a03:4bc0::,2a03:4bc0:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a03:4c00::,2a03:4c00:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:4c40::,2a03:4c40:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a03:4c80::,2a03:4c80:ffff:ffff:ffff:ffff:ffff:ffff,LI +2a03:4cc0::,2a03:4cc0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:4d00::,2a03:4d00:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:4d40::,2a03:4d40:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:4d80::,2a03:4d80:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:4dc0::,2a03:4dc0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:4e00::,2a03:4e00:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a03:4e40::,2a03:4e40:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a03:4e80::,2a03:4e80:ffff:ffff:ffff:ffff:ffff:ffff,GE +2a03:4ec0::,2a03:4ec0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:4f00::,2a03:4f00:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:4f40::,2a03:4f40:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:4f80::,2a03:4f80:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a03:5000::,2a03:5000:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:5040::,2a03:5040:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:5080::,2a03:5080:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:50c0::,2a03:50c0:ffff:ffff:ffff:ffff:ffff:ffff,GI 2a03:5100::,2a03:5100:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a03:5140::,2a03:5140:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:5180::,2a03:5180:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a03:51c0::,2a03:51c0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a03:5200::,2a03:5200:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:5240::,2a03:5240:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:5280::,2a03:5280:ffff:ffff:ffff:ffff:ffff:ffff,AT -2a03:5300::,2a03:5300:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a03:52c0::,2a03:52c0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:5300::,2a03:5307:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a03:5380::,2a03:5380:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:53c0::,2a03:53c0:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a03:5400::,2a03:5400:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a03:5440::,2a03:5440:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a03:5480::,2a03:5480:ffff:ffff:ffff:ffff:ffff:ffff,LI -2a03:5500::,2a03:5500:ffff:ffff:ffff:ffff:ffff:ffff,NL -2a03:5580::,2a03:5580:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a03:54c0::,2a03:54c0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:5500::,2a03:5501:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:5540::,2a03:5540:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:5580::,2a03:5587:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a03:55c0::,2a03:55c0:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a03:5600::,2a03:5600:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:5640::,2a03:5640:ffff:ffff:ffff:ffff:ffff:ffff,LU 2a03:5680::,2a03:5680:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:56c0::,2a03:56c0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:5700::,2a03:5700:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:5740::,2a03:5740:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a03:5780::,2a03:5780:ffff:ffff:ffff:ffff:ffff:ffff,KW +2a03:57c0::,2a03:57c0:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a03:5800::,2a03:5800:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:5840::,2a03:5840:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:5880::,2a03:5880:ffff:ffff:ffff:ffff:ffff:ffff,EE -2a03:5900::,2a03:5900:ffff:ffff:ffff:ffff:ffff:ffff,LB +2a03:58c0::,2a03:58c0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:5900::,2a03:5907:ffff:ffff:ffff:ffff:ffff:ffff,LB +2a03:5940::,2a03:5940:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a03:5980::,2a03:5980:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a03:5a00::,2a03:5a00:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:59c0::,2a03:59c0:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:5a00::,2a03:5a07:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:5a80::,2a03:5a80:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:5ac0::,2a03:5ac0:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a03:5b00::,2a03:5b00:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a03:5b40::,2a03:5b40:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:5b80::,2a03:5b80:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:5bc0::,2a03:5bc0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:5c00::,2a03:5c00:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a03:5c40::,2a03:5c40:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a03:5c80::,2a03:5c80:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:5cc0::,2a03:5cc0:ffff:ffff:ffff:ffff:ffff:ffff,BA 2a03:5d00::,2a03:5d00:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a03:5d40::,2a03:5d40:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:5d80::,2a03:5d80:ffff:ffff:ffff:ffff:ffff:ffff,NL -2a03:5e00::,2a03:5e00:ffff:ffff:ffff:ffff:ffff:ffff,BY +2a03:5dc0::,2a03:5dc0:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a03:5e40::,2a03:5e40:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a03:5e80::,2a03:5e80:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a03:5ec0::,2a03:5ec0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a03:5f00::,2a03:5f00:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a03:5f80::,2a03:5f80:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:5fc0::,2a03:5fc0:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a03:6000::,2a03:6000:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:6040::,2a03:6040:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:6080::,2a03:6087:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:60c0::,2a03:60c0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a03:6100::,2a03:6100:ffff:ffff:ffff:ffff:ffff:ffff,HR +2a03:6140::,2a03:6140:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:6180::,2a03:6180:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a03:61c0::,2a03:61c0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:6200::,2a03:6200:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:6240::,2a03:6240:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a03:62c0::,2a03:62c0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a03:6300::,2a03:6300:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a03:6340::,2a03:6340:ffff:ffff:ffff:ffff:ffff:ffff,KZ 2a03:6380::,2a03:6380:ffff:ffff:ffff:ffff:ffff:ffff,SK +2a03:63c0::,2a03:63c0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:6400::,2a03:6400:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:6440::,2a03:6440:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:6480::,2a03:6480:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a03:64c0::,2a03:64c0:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a03:6500::,2a03:6500:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:6540::,2a03:6540:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a03:6580::,2a03:6580:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:65c0::,2a03:65c0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a03:6600::,2a03:6600:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a03:6640::,2a03:6640:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a03:6680::,2a03:6680:ffff:ffff:ffff:ffff:ffff:ffff,IR -2a03:6700::,2a03:6700:ffff:ffff:ffff:ffff:ffff:ffff,KW +2a03:66c0::,2a03:66c0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:6700::,2a03:6707:ffff:ffff:ffff:ffff:ffff:ffff,KW +2a03:6740::,2a03:6740:ffff:ffff:ffff:ffff:ffff:ffff,LV 2a03:6780::,2a03:6780:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a03:67c0::,2a03:67c0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:6800::,2a03:6800:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a03:6840::,2a03:6840:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:6880::,2a03:6880:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:68c0::,2a03:68c0:ffff:ffff:ffff:ffff:ffff:ffff,CY 2a03:6900::,2a03:6900:ffff:ffff:ffff:ffff:ffff:ffff,LB +2a03:6940::,2a03:6940:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:6980::,2a03:6980:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:69c0::,2a03:69c0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:6a00::,2a03:6a00:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:6a40::,2a03:6a40:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:6a80::,2a03:6a80:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:6ac0::,2a03:6ac0:ffff:ffff:ffff:ffff:ffff:ffff,IQ 2a03:6b00::,2a03:6b00:ffff:ffff:ffff:ffff:ffff:ffff,JO +2a03:6b40::,2a03:6b40:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:6b80::,2a03:6b80:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a03:6bc0::,2a03:6bc7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:6c00::,2a03:6c00:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:6c40::,2a03:6c40:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a03:6c80::,2a03:6c80:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:6cc0::,2a03:6cc0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a03:6d00::,2a03:6d00:ffff:ffff:ffff:ffff:ffff:ffff,JO +2a03:6d40::,2a03:6d40:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:6d80::,2a03:6d80:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a03:6dc0::,2a03:6dc0:ffff:ffff:ffff:ffff:ffff:ffff,IQ 2a03:6e00::,2a03:6e00:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:6e40::,2a03:6e40:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:6e80::,2a03:6e80:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a03:6ec0::,2a03:6ec0:ffff:ffff:ffff:ffff:ffff:ffff,HU 2a03:6f00::,2a03:6f00:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a03:6f80::,2a03:6f80:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:6f40::,2a03:6f40:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a03:6f80::,2a03:6f87:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:6fc0::,2a03:6fc0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:7000::,2a03:7000:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:7040::,2a03:7040:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:7080::,2a03:7080:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a03:70c0::,2a03:70c0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:7100::,2a03:7100:ffff:ffff:ffff:ffff:ffff:ffff,IE +2a03:7140::,2a03:7140:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a03:7180::,2a03:7180:ffff:ffff:ffff:ffff:ffff:ffff,GR +2a03:71c0::,2a03:71c0:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a03:7200::,2a03:7200:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:7240::,2a03:7240:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a03:7280::,2a03:7280:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:72c0::,2a03:72c0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:7300::,2a03:7300:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:7340::,2a03:7340:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:7380::,2a03:7380:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a03:73c0::,2a03:73c0:ffff:ffff:ffff:ffff:ffff:ffff,PT 2a03:7400::,2a03:7400:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a03:7440::,2a03:7440:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a03:7480::,2a03:7480:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a03:74c0::,2a03:74c0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:7500::,2a03:7500:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:7540::,2a03:7540:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:7580::,2a03:7580:ffff:ffff:ffff:ffff:ffff:ffff,PL -2a03:7600::,2a03:7600:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a03:75c0::,2a03:75c0:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:7640::,2a03:7640:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a03:7680::,2a03:7680:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a03:76c0::,2a03:76c0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:7700::,2a03:7700:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:7740::,2a03:7740:ffff:ffff:ffff:ffff:ffff:ffff,AZ 2a03:7780::,2a03:7780:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:77c0::,2a03:77c0:ffff:ffff:ffff:ffff:ffff:ffff,SA 2a03:7800::,2a03:7800:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a03:7840::,2a03:7840:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:7880::,2a03:7880:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:7900::,2a03:7900:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:7940::,2a03:7940:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a03:79c0::,2a03:79c0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:7a00::,2a03:7a00:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a03:7a40::,2a03:7a40:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:7a80::,2a03:7a80:ffff:ffff:ffff:ffff:ffff:ffff,LV 2a03:7b00::,2a03:7b00:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a03:7b40::,2a03:7b40:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a03:7b80::,2a03:7b80:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a03:7bc0::,2a03:7bc0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:7c00::,2a03:7c00:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a03:7c40::,2a03:7c40:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:7c80::,2a03:7c80:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a03:7cc0::,2a03:7cc0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:7d00::,2a03:7d00:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:7d40::,2a03:7d40:ffff:ffff:ffff:ffff:ffff:ffff,IE +2a03:7dc0::,2a03:7dc0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:7e00::,2a03:7e00:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:7e40::,2a03:7e40:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a03:7e80::,2a03:7e80:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:7ec0::,2a03:7ec0:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a03:7f00::,2a03:7f00:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:7f40::,2a03:7f40:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a03:7f80::,2a03:7f80:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:7fc0::,2a03:7fc0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:8000::,2a03:8000:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a03:8040::,2a03:8040:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a03:8080::,2a03:8080:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:80c0::,2a03:80c0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:8100::,2a03:8100:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:8140::,2a03:8140:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:8180::,2a03:8180:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:81c0::,2a03:81c0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:8200::,2a03:8200:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:8240::,2a03:8240:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a03:8280::,2a03:8280:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:82c0::,2a03:82c0:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a03:8300::,2a03:8300:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a03:8340::,2a03:8340:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a03:8380::,2a03:8380:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a03:83c0::,2a03:83c0:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a03:8400::,2a03:8400:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:8440::,2a03:8440:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:8480::,2a03:8480:ffff:ffff:ffff:ffff:ffff:ffff,AL +2a03:84c0::,2a03:84c0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:8500::,2a03:8500:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a03:8540::,2a03:8540:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a03:8580::,2a03:8580:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a03:85c0::,2a03:85c7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:8600::,2a03:8600:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a03:8640::,2a03:8640:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:8680::,2a03:8680:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:86c0::,2a03:86c0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a03:8700::,2a03:8700:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:8740::,2a03:8740:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:8780::,2a03:8780:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a03:87c0::,2a03:87c0:ffff:ffff:ffff:ffff:ffff:ffff,RS 2a03:8800::,2a03:8800:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a03:8840::,2a03:8840:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:8880::,2a03:8880:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a03:88c0::,2a03:88c0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a03:8900::,2a03:8900:ffff:ffff:ffff:ffff:ffff:ffff,IE +2a03:8940::,2a03:8940:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a03:8980::,2a03:8980:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a03:89c0::,2a03:89c0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:8a00::,2a03:8a00:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:8a40::,2a03:8a40:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:8a80::,2a03:8a80:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a03:8b00::,2a03:8b00:ffff:ffff:ffff:ffff:ffff:ffff,SM +2a03:8b40::,2a03:8b40:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a03:8b80::,2a03:8b80:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:8bc0::,2a03:8bc0:ffff:ffff:ffff:ffff:ffff:ffff,PT 2a03:8c00::,2a03:8c00:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:8c40::,2a03:8c40:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a03:8c80::,2a03:8c87:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a03:8cc0::,2a03:8cc0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:8d00::,2a03:8d00:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:8d40::,2a03:8d40:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a03:8dc0::,2a03:8dc0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:8e00::,2a03:8e00:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:8e40::,2a03:8e40:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:8e80::,2a03:8e80:ffff:ffff:ffff:ffff:ffff:ffff,ES -2a03:8f00::,2a03:8f00:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a03:8ec0::,2a03:8ec0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:8f00::,2a03:8f07:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a03:8f40::,2a03:8f40:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:8f80::,2a03:8f80:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a03:8fc0::,2a03:8fc0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:9000::,2a03:9000:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:9040::,2a03:9040:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:9080::,2a03:9080:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a03:90c0::,2a03:90c0:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a03:9100::,2a03:9100:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a03:9140::,2a03:9140:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a03:9180::,2a03:9180:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:91c0::,2a03:91c0:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a03:9240::,2a03:9240:ffff:ffff:ffff:ffff:ffff:ffff,BA 2a03:9280::,2a03:9280:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:92c0::,2a03:92c0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:9300::,2a03:9300:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a03:9340::,2a03:9340:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:9380::,2a03:9380:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:93c0::,2a03:93c0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:9400::,2a03:9400:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:9440::,2a03:9440:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a03:9480::,2a03:9480:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:94c0::,2a03:94c0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:9500::,2a03:9500:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a03:9540::,2a03:9540:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a03:9580::,2a03:9580:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a03:95c0::,2a03:95c0:ffff:ffff:ffff:ffff:ffff:ffff,EE 2a03:9600::,2a03:9600:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:9640::,2a03:9640:ffff:ffff:ffff:ffff:ffff:ffff,PS 2a03:9680::,2a03:9680:ffff:ffff:ffff:ffff:ffff:ffff,IL +2a03:96c0::,2a03:96c0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:9700::,2a03:9700:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:9740::,2a03:9740:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:9780::,2a03:9780:ffff:ffff:ffff:ffff:ffff:ffff,CZ -2a03:9800::,2a03:9800:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:97c0::,2a03:97c1:ffff:ffff:ffff:ffff:ffff:ffff,BY +2a03:9800::,2a03:9807:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:9840::,2a03:9840:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:9880::,2a03:9880:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a03:98c0::,2a03:98c7:ffff:ffff:ffff:ffff:ffff:ffff,LU 2a03:9900::,2a03:9900:ffff:ffff:ffff:ffff:ffff:ffff,HU +2a03:9940::,2a03:9940:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a03:9980::,2a03:9980:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:99c0::,2a03:99c0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:9a00::,2a03:9a00:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a03:9a40::,2a03:9a40:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:9a80::,2a03:9a80:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a03:9ac0::,2a03:9ac0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a03:9b00::,2a03:9b00:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a03:9b40::,2a03:9b40:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:9b80::,2a03:9b80:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a03:9bc0::,2a03:9bc0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a03:9c00::,2a03:9c00:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a03:9c40::,2a03:9c40:ffff:ffff:ffff:ffff:ffff:ffff,LU 2a03:9c80::,2a03:9c80:ffff:ffff:ffff:ffff:ffff:ffff,PT +2a03:9cc0::,2a03:9cc7:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a03:9d00::,2a03:9d00:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:9d40::,2a03:9d40:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a03:9d80::,2a03:9d80:ffff:ffff:ffff:ffff:ffff:ffff,RS +2a03:9dc0::,2a03:9dc0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:9e00::,2a03:9e00:ffff:ffff:ffff:ffff:ffff:ffff,IM +2a03:9e40::,2a03:9e47:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:9e80::,2a03:9e80:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:9ec0::,2a03:9ec0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:9f00::,2a03:9f00:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:9f40::,2a03:9f40:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:9f80::,2a03:9f80:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a03:a000::,2a03:a000:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:a040::,2a03:a040:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:a080::,2a03:a080:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:a0c0::,2a03:a0c0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:a100::,2a03:a100:ffff:ffff:ffff:ffff:ffff:ffff,SI +2a03:a140::,2a03:a140:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:a180::,2a03:a180:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:a1c0::,2a03:a1c0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:a200::,2a03:a200:ffff:ffff:ffff:ffff:ffff:ffff,SK +2a03:a240::,2a03:a240:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:a280::,2a03:a280:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a03:a2c0::,2a03:a2c7:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:a300::,2a03:a300:ffff:ffff:ffff:ffff:ffff:ffff,KZ +2a03:a340::,2a03:a340:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:a380::,2a03:a380:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a03:a3c0::,2a03:a3c0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a03:a400::,2a03:a400:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:a440::,2a03:a440:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a03:a480::,2a03:a480:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a03:a4c0::,2a03:a4c0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:a500::,2a03:a500:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a03:a540::,2a03:a540:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:a580::,2a03:a580:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:a5c0::,2a03:a5c0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:a600::,2a03:a600:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a03:a640::,2a03:a640:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:a680::,2a03:a680:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a03:a6c0::,2a03:a6c0:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a03:a740::,2a03:a740:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a03:a780::,2a03:a780:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a03:a7c0::,2a03:a7c0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:a800::,2a03:a800:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a03:a840::,2a03:a840:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a03:a8c0::,2a03:a8c0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:a900::,2a03:a900:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a03:a940::,2a03:a940:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a03:a980::,2a03:a980:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:a9c0::,2a03:a9c0:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a03:aa00::,2a03:aa00:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:aa40::,2a03:aa40:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:aa80::,2a03:aa80:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:aac0::,2a03:aac0:ffff:ffff:ffff:ffff:ffff:ffff,SK 2a03:ab00::,2a03:ab00:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a03:ab40::,2a03:ab40:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a03:ab80::,2a03:ab80:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a03:abc0::,2a03:abc0:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a03:ac00::,2a03:ac00:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:ac40::,2a03:ac40:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a03:ac80::,2a03:ac80:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a03:acc0::,2a03:acc0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:ad00::,2a03:ad00:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:ad40::,2a03:ad40:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:ad80::,2a03:ad80:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a03:adc0::,2a03:adc0:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a03:ae00::,2a03:ae00:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a03:ae40::,2a03:ae40:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a03:ae80::,2a03:ae80:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a03:aec0::,2a03:aec0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a03:af00::,2a03:af00:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:af40::,2a03:af40:ffff:ffff:ffff:ffff:ffff:ffff,MK 2a03:af80::,2a03:af80:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a03:afc0::,2a03:afc0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:b000::,2a03:b000:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a03:b040::,2a03:b040:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:b080::,2a03:b080:ffff:ffff:ffff:ffff:ffff:ffff,RS +2a03:b0c0::,2a03:b0c0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a03:b100::,2a03:b100:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a03:b140::,2a03:b140:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a03:b180::,2a03:b180:ffff:ffff:ffff:ffff:ffff:ffff,AE +2a03:b1c0::,2a03:b1c0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:b200::,2a03:b207:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:b240::,2a03:b240:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a03:b280::,2a03:b280:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a03:b300::,2a03:b300:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:b340::,2a03:b340:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a03:b380::,2a03:b380:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:b3c0::,2a03:b3c0:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a03:b400::,2a03:b400:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:b440::,2a03:b440:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:b480::,2a03:b480:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:b4c0::,2a03:b4c0:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a03:b500::,2a03:b500:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a03:b540::,2a03:b540:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a03:b580::,2a03:b580:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:b5c0::,2a03:b5c0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:b600::,2a03:b600:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:b640::,2a03:b640:ffff:ffff:ffff:ffff:ffff:ffff,JO 2a03:b680::,2a03:b680:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a03:b6c0::,2a03:b6c0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:b700::,2a03:b700:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:b740::,2a03:b740:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a03:b780::,2a03:b780:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a03:b7c0::,2a03:b7c0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:b800::,2a03:b800:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:b840::,2a03:b840:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:b880::,2a03:b887:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:b8c0::,2a03:b8c0:ffff:ffff:ffff:ffff:ffff:ffff,GR 2a03:b900::,2a03:b900:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:b940::,2a03:b940:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a03:b980::,2a03:b980:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a03:ba00::,2a03:ba00:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a03:b9c0::,2a03:b9c0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:ba00::,2a03:ba07:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a03:ba40::,2a03:ba40:ffff:ffff:ffff:ffff:ffff:ffff,AZ 2a03:ba80::,2a03:ba80:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:bac0::,2a03:bac0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:bb00::,2a03:bb00:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:bb40::,2a03:bb40:ffff:ffff:ffff:ffff:ffff:ffff,HR 2a03:bb80::,2a03:bb80:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:bbc0::,2a03:bbc0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a03:bc00::,2a03:bc00:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a03:bc40::,2a03:bc40:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:bc80::,2a03:bc80:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a03:bcc0::,2a03:bcc0:ffff:ffff:ffff:ffff:ffff:ffff,IQ 2a03:bd00::,2a03:bd00:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:bd40::,2a03:bd47:ffff:ffff:ffff:ffff:ffff:ffff,BA 2a03:bd80::,2a03:bd80:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a03:bdc0::,2a03:bdc0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:be00::,2a03:be00:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:be40::,2a03:be40:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:be80::,2a03:be80:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:bec0::,2a03:bec0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a03:bf00::,2a03:bf00:ffff:ffff:ffff:ffff:ffff:ffff,HU +2a03:bf40::,2a03:bf40:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:bf80::,2a03:bf80:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:bfc0::,2a03:bfc0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:c000::,2a03:c007:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a03:c040::,2a03:c040:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a03:c080::,2a03:c080:ffff:ffff:ffff:ffff:ffff:ffff,SA +2a03:c0c0::,2a03:c0c0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a03:c100::,2a03:c100:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a03:c140::,2a03:c140:ffff:ffff:ffff:ffff:ffff:ffff,AE 2a03:c180::,2a03:c180:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a03:c1c0::,2a03:c1c0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a03:c200::,2a03:c200:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:c240::,2a03:c240:ffff:ffff:ffff:ffff:ffff:ffff,GE 2a03:c280::,2a03:c280:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:c2c0::,2a03:c2c0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:c300::,2a03:c300:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a03:c340::,2a03:c340:ffff:ffff:ffff:ffff:ffff:ffff,IQ 2a03:c380::,2a03:c380:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a03:c3c0::,2a03:c3c0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:c400::,2a03:c400:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a03:c440::,2a03:c440:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:c480::,2a03:c480:ffff:ffff:ffff:ffff:ffff:ffff,LU +2a03:c4c0::,2a03:c4c0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:c500::,2a03:c500:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:c540::,2a03:c540:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a03:c580::,2a03:c580:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:c5c0::,2a03:c5c0:ffff:ffff:ffff:ffff:ffff:ffff,IL 2a03:c600::,2a03:c600:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a03:c640::,2a03:c640:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:c680::,2a03:c680:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a03:c6c0::,2a03:c6c0:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a03:c700::,2a03:c700:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:c740::,2a03:c740:ffff:ffff:ffff:ffff:ffff:ffff,BY 2a03:c780::,2a03:c780:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a03:c7c0::,2a03:c7c7:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a03:c800::,2a03:c800:ffff:ffff:ffff:ffff:ffff:ffff,SI +2a03:c840::,2a03:c840:ffff:ffff:ffff:ffff:ffff:ffff,EE 2a03:c880::,2a03:c880:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a03:c8c0::,2a03:c8c0:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a03:c900::,2a03:c900:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:c940::,2a03:c940:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a03:c980::,2a03:c980:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:c9c0::,2a03:c9c0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a03:ca00::,2a03:ca00:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a03:ca80::,2a03:ca80:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:ca40::,2a03:ca40:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:ca80::,2a03:ca87:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:cac0::,2a03:cac0:ffff:ffff:ffff:ffff:ffff:ffff,IL 2a03:cb00::,2a03:cb00:ffff:ffff:ffff:ffff:ffff:ffff,MT +2a03:cb40::,2a03:cb40:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:cb80::,2a03:cb80:ffff:ffff:ffff:ffff:ffff:ffff,BA +2a03:cbc0::,2a03:cbc7:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a03:cc00::,2a03:cc00:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:cc40::,2a03:cc40:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a03:cc80::,2a03:cc80:ffff:ffff:ffff:ffff:ffff:ffff,BA +2a03:ccc0::,2a03:ccc0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:cd00::,2a03:cd00:ffff:ffff:ffff:ffff:ffff:ffff,US +2a03:cd40::,2a03:cd40:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a03:cd80::,2a03:cd80:ffff:ffff:ffff:ffff:ffff:ffff,SK +2a03:cdc0::,2a03:cdc0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a03:ce00::,2a03:ce00:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:ce40::,2a03:ce47:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:ce80::,2a03:ce80:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:cf00::,2a03:cf00:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a03:cf40::,2a03:cf40:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:cf80::,2a03:cf80:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:cfc0::,2a03:cfc0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a03:d000::,2a03:d000:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:d040::,2a03:d040:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:d080::,2a03:d080:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:d0c0::,2a03:d0c0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:d100::,2a03:d100:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a03:d140::,2a03:d140:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a03:d180::,2a03:d180:ffff:ffff:ffff:ffff:ffff:ffff,BG +2a03:d1c0::,2a03:d1c0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:d200::,2a03:d200:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a03:d280::,2a03:d280:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:d2c0::,2a03:d2c0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a03:d300::,2a03:d300:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a03:d340::,2a03:d340:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:d380::,2a03:d380:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a03:d3c0::,2a03:d3c0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:d400::,2a03:d400:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:d440::,2a03:d440:ffff:ffff:ffff:ffff:ffff:ffff,HU 2a03:d480::,2a03:d480:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:d4c0::,2a03:d4c0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:d500::,2a03:d500:ffff:ffff:ffff:ffff:ffff:ffff,NO -2a03:d580::,2a03:d580:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:d540::,2a03:d540:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a03:d580::,2a03:d587:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:d5c0::,2a03:d5c0:ffff:ffff:ffff:ffff:ffff:ffff,IL 2a03:d600::,2a03:d600:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:d640::,2a03:d640:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a03:d680::,2a03:d680:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:d6c0::,2a03:d6c0:ffff:ffff:ffff:ffff:ffff:ffff,GR 2a03:d700::,2a03:d700:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:d740::,2a03:d740:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a03:d780::,2a03:d780:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a03:d7c0::,2a03:d7c0:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a03:d800::,2a03:d800:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:d840::,2a03:d840:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a03:d880::,2a03:d880:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:d8c0::,2a03:d8c0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:d900::,2a03:d900:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a03:d940::,2a03:d940:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:d980::,2a03:d980:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:d9c0::,2a03:d9c0:ffff:ffff:ffff:ffff:ffff:ffff,HU 2a03:da00::,2a03:da00:ffff:ffff:ffff:ffff:ffff:ffff,HU +2a03:da40::,2a03:da40:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a03:da80::,2a03:da80:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a03:dac0::,2a03:dac0:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a03:db00::,2a03:db00:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:db40::,2a03:db47:ffff:ffff:ffff:ffff:ffff:ffff,CY 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 +2a03:dc40::,2a03:dc40:ffff:ffff:ffff:ffff:ffff:ffff,MT 2a03:dc80::,2a03:dc80:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a03:dcc0::,2a03:dcc0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:dd00::,2a03:dd00:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a03:dd80::,2a03:dd80:ffff:ffff:ffff:ffff:ffff:ffff,RS +2a03:dd40::,2a03:dd40:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:dd80::,2a03:dd87:ffff:ffff:ffff:ffff:ffff:ffff,RS +2a03:ddc0::,2a03:ddc0:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a03:de00::,2a03:de00:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a03:de40::,2a03:de40:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a03:de80::,2a03:de80:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a03:dec0::,2a03:dec0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:df00::,2a03:df00:ffff:ffff:ffff:ffff:ffff:ffff,HU +2a03:df40::,2a03:df40:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a03:df80::,2a03:df80:ffff:ffff:ffff:ffff:ffff:ffff,AL +2a03:dfc0::,2a03:dfc0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:e000::,2a03:e000:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:e040::,2a03:e040:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:e080::,2a03:e080:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a03:e0c0::,2a03:e0c0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a03:e100::,2a03:e100:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:e140::,2a03:e140:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:e180::,2a03:e180:ffff:ffff:ffff:ffff:ffff:ffff,SI +2a03:e1c0::,2a03:e1c0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:e200::,2a03:e200:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:e240::,2a03:e240:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:e280::,2a03:e280:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:e2c0::,2a03:e2c0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:e340::,2a03:e340:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:e380::,2a03:e380:ffff:ffff:ffff:ffff:ffff:ffff,MK +2a03:e3c0::,2a03:e3c0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a03:e400::,2a03:e400:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:e440::,2a03:e440:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a03:e480::,2a03:e480:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:e4c0::,2a03:e4c0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:e500::,2a03:e500:ffff:ffff:ffff:ffff:ffff:ffff,GR -2a03:e580::,2a03:e580:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a03:e540::,2a03:e540:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:e580::,2a03:e587:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a03:e600::,2a03:e600:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a03:e640::,2a03:e640:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a03:e680::,2a03:e680:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a03:e6c0::,2a03:e6c0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:e700::,2a03:e700:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a03:e740::,2a03:e740:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a03:e780::,2a03:e780:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:e7c0::,2a03:e7c0:ffff:ffff:ffff:ffff:ffff:ffff,SA 2a03:e800::,2a03:e800:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a03:e880::,2a03:e880:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:e8c0::,2a03:e8c0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:e900::,2a03:e900:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a03:e940::,2a03:e940:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a03:e980::,2a03:e980:ffff:ffff:ffff:ffff:ffff:ffff,IS +2a03:e9c0::,2a03:e9c0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:ea00::,2a03:ea00:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a03:ea40::,2a03:ea40:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a03:ea80::,2a03:ea80:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a03:eac0::,2a03:eac0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:eb00::,2a03:eb00:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a03:eb40::,2a03:eb40:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:eb80::,2a03:eb80:ffff:ffff:ffff:ffff:ffff:ffff,IS +2a03:ebc0::,2a03:ebc0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:ec00::,2a03:ec00:ffff:ffff:ffff:ffff:ffff:ffff,LV +2a03:ec40::,2a03:ec40:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:ec80::,2a03:ec80:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:ecc0::,2a03:ecc0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:ed00::,2a03:ed00:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:ed40::,2a03:ed40:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a03:ed80::,2a03:ed80:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:edc0::,2a03:edc0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:ee00::,2a03:ee00:ffff:ffff:ffff:ffff:ffff:ffff,FO +2a03:ee40::,2a03:ee40:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:ee80::,2a03:ee80:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:eec0::,2a03:eec0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:ef00::,2a03:ef00:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a03:ef40::,2a03:ef40:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a03:ef80::,2a03:ef80:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a03:efc0::,2a03:efc0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:f000::,2a03:f000:ffff:ffff:ffff:ffff:ffff:ffff,GR +2a03:f040::,2a03:f040:ffff:ffff:ffff:ffff:ffff:ffff,SK 2a03:f080::,2a03:f080:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a03:f0c0::,2a03:f0c0:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a03:f100::,2a03:f100:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:f140::,2a03:f140:ffff:ffff:ffff:ffff:ffff:ffff,NC 2a03:f180::,2a03:f180:ffff:ffff:ffff:ffff:ffff:ffff,BA +2a03:f1c0::,2a03:f1c0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:f200::,2a03:f200:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:f280::,2a03:f280:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a03:f2c0::,2a03:f2c0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:f300::,2a03:f300:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a03:f340::,2a03:f340:ffff:ffff:ffff:ffff:ffff:ffff,AL 2a03:f380::,2a03:f380:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a03:f3c0::,2a03:f3c0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:f400::,2a03:f400:ffff:ffff:ffff:ffff:ffff:ffff,IE +2a03:f440::,2a03:f440:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a03:f480::,2a03:f480:ffff:ffff:ffff:ffff:ffff:ffff,EE +2a03:f4c0::,2a03:f4c0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:f500::,2a03:f500:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:f540::,2a03:f540:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:f580::,2a03:f580:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:f5c0::,2a03:f5c0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:f600::,2a03:f600:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a03:f640::,2a03:f640:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:f680::,2a03:f680:ffff:ffff:ffff:ffff:ffff:ffff,MD +2a03:f6c0::,2a03:f6c0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a03:f700::,2a03:f700:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:f740::,2a03:f740:ffff:ffff:ffff:ffff:ffff:ffff,GR 2a03:f780::,2a03:f780:ffff:ffff:ffff:ffff:ffff:ffff,HU +2a03:f7c0::,2a03:f7c0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:f800::,2a03:f800:ffff:ffff:ffff:ffff:ffff:ffff,SI +2a03:f840::,2a03:f840:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a03:f880::,2a03:f880:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:f8c0::,2a03:f8c0:ffff:ffff:ffff:ffff:ffff:ffff,LU 2a03:f900::,2a03:f907:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:f940::,2a03:f940:ffff:ffff:ffff:ffff:ffff:ffff,CY 2a03:f980::,2a03:f980:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a03:f9c0::,2a03:f9c0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:fa00::,2a03:fa00:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a03:fa40::,2a03:fa40:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a03:fa80::,2a03:fa80:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a03:fac0::,2a03:fac0:ffff:ffff:ffff:ffff:ffff:ffff,BA 2a03:fb00::,2a03:fb00:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:fb40::,2a03:fb40:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a03:fb80::,2a03:fb80:ffff:ffff:ffff:ffff:ffff:ffff,DK -2a03:fc00::,2a03:fc00:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:fbc0::,2a03:fbc0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a03:fc00::,2a03:fc07:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:fc40::,2a03:fc40:ffff:ffff:ffff:ffff:ffff:ffff,RS 2a03:fc80::,2a03:fc80:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:fcc0::,2a03:fcc0:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a03:fd40::,2a03:fd40:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:fdc0::,2a03:fdc0:ffff:ffff:ffff:ffff:ffff:ffff,GL 2a03:fe00::,2a03:fe00:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a03:fe40::,2a03:fe40:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:fe80::,2a03:fe80:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a03:ff00::,2a03:ff00:ffff:ffff:ffff:ffff:ffff:ffff,LV -2a03:ff80::,2a03:ff80:ffff:ffff:ffff:ffff:ffff:ffff,EU +2a03:ff40::,2a03:ff40:ffff:ffff:ffff:ffff:ffff:ffff,IL +2a03:ffc0::,2a03:ffc0:ffff:ffff:ffff:ffff:ffff:ffff,JO +2a04::,2a04:7:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:40::,2a04:47:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a04:80::,2a04:87:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a04:c0::,2a04:c7:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a04:100::,2a04:107:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a04:140::,2a04:147:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a04:180::,2a04:187:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:1c0::,2a04:1c7:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:200::,2a04:207:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:240::,2a04:247:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a04:280::,2a04:287:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:2c0::,2a04:2c7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:300::,2a04:307:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a04:340::,2a04:347:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a04:380::,2a04:387:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:3c0::,2a04:3c7:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:400::,2a04:407:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a04:440::,2a04:447:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a04:480::,2a04:487:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:4c0::,2a04:4c7:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a04:500::,2a04:507:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a04:540::,2a04:547:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:580::,2a04:587:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:5c0::,2a04:5c3:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:5e0::,2a04:5e3:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:600::,2a04:607:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:640::,2a04:647:ffff:ffff:ffff:ffff:ffff:ffff,VA +2a04:680::,2a04:687:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a04:6c0::,2a04:6c7:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:700::,2a04:707:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:740::,2a04:747:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:780::,2a04:787:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a04:7c0::,2a04:7c7:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a04:800::,2a04:807:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:840::,2a04:847:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:880::,2a04:887:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:8c0::,2a04:8c7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:900::,2a04:907:ffff:ffff:ffff:ffff:ffff:ffff,HR +2a04:940::,2a04:947:ffff:ffff:ffff:ffff:ffff:ffff,PS +2a04:980::,2a04:987:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a04:9c0::,2a04:9c7:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:a00::,2a04:a07:ffff:ffff:ffff:ffff:ffff:ffff,SK +2a04:a40::,2a04:a47:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:a80::,2a04:a87:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:ac0::,2a04:ac7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:b00::,2a04:b07:ffff:ffff:ffff:ffff:ffff:ffff,IE +2a04:b40::,2a04:b47:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:b80::,2a04:b87:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a04:bc0::,2a04:bc7:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a04:c00::,2a04:c07:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:c40::,2a04:c47:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a04:c80::,2a04:c87:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a04:cc0::,2a04:cc7:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a04:d00::,2a04:d07:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:d40::,2a04:d47:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:d80::,2a04:d87:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:dc0::,2a04:dc7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:e00::,2a04:e07:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:e40::,2a04:e47:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:e80::,2a04:e87:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a04:ec0::,2a04:ec7:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:f00::,2a04:f07:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a04:f40::,2a04:f47:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a04:f80::,2a04:f87:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a04:fc0::,2a04:fc7:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a04:1000::,2a04:1007:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:1040::,2a04:1047:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a04:1080::,2a04:1087:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:10c0::,2a04:10c7:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a04:1100::,2a04:1103:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a04:1120::,2a04:1123:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:1140::,2a04:1143:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:1160::,2a04:1161:ffff:ffff:ffff:ffff:ffff:ffff,IQ +2a04:1170::,2a04:1171:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:1180::,2a04:1187:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:11c0::,2a04:11c7:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:1200::,2a04:1207:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a04:1240::,2a04:1247:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:1280::,2a04:1287:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:12c0::,2a04:12c7:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a04:1300::,2a04:1307:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:1340::,2a04:1347:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:1380::,2a04:1387:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a04:13c0::,2a04:13c7:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:1400::,2a04:1407:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:1440::,2a04:1447:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:1480::,2a04:1487:ffff:ffff:ffff:ffff:ffff:ffff,CY +2a04:14c0::,2a04:14c7:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a04:1500::,2a04:1507:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:1540::,2a04:1547:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:1580::,2a04:1587:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a04:15c0::,2a04:15c7:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:1600::,2a04:1607:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:1640::,2a04:1647:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:1680::,2a04:1687:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:16c0::,2a04:16c7:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:1700::,2a04:1707:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:1740::,2a04:1747:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a04:1780::,2a04:1787:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:17c0::,2a04:17c7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:1800::,2a04:1807:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a04:1840::,2a04:1847:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:1880::,2a04:1887:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a04:18c0::,2a04:18c7:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:1900::,2a04:1907:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a04:1940::,2a04:1947:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:1980::,2a04:1987:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:19c0::,2a04:19c7:ffff:ffff:ffff:ffff:ffff:ffff,PS +2a04:1a00::,2a04:1a07:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a04:1a40::,2a04:1a47:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a04:1a80::,2a04:1a87:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:1ac0::,2a04:1ac7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:1b00::,2a04:1b07:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:1b40::,2a04:1b47:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a04:1b80::,2a04:1b87:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a04:1bc0::,2a04:1bc7:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a04:1c00::,2a04:1c07:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:1c40::,2a04:1c47:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:1c80::,2a04:1c87:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a04:1cc0::,2a04:1cc7:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:1d00::,2a04:1d07:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a04:1d40::,2a04:1d47:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a04:1d80::,2a04:1d87:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:1dc0::,2a04:1dc7:ffff:ffff:ffff:ffff:ffff:ffff,RS +2a04:1e00::,2a04:1e07:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:1e40::,2a04:1e47:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:1e80::,2a04:1e87:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:1ec0::,2a04:1ec7:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a04:1f00::,2a04:1f03:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:1f20::,2a04:1f23:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a04:1f40::,2a04:1f47:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:1f80::,2a04:1f87:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:1fc0::,2a04:1fc7:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:2000::,2a04:2007:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:2040::,2a04:2047:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a04:2080::,2a04:2087:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:20c0::,2a04:20c7:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a04:2100::,2a04:2107:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:2140::,2a04:2147:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:2180::,2a04:2187:ffff:ffff:ffff:ffff:ffff:ffff,LT +2a04:21c0::,2a04:21c7:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:2200::,2a04:2207:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:2240::,2a04:2247:ffff:ffff:ffff:ffff:ffff:ffff,BH +2a04:2280::,2a04:2287:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:22c0::,2a04:22c7:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:2300::,2a04:2307:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a04:2340::,2a04:2347:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:2380::,2a04:2387:ffff:ffff:ffff:ffff:ffff:ffff,HU +2a04:23c0::,2a04:23c7:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:2400::,2a04:241f:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a04:2500::,2a04:2507:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:2540::,2a04:2547:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a04:2580::,2a04:2587:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a04:25c0::,2a04:25c7:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a04:2600::,2a04:2607:ffff:ffff:ffff:ffff:ffff:ffff,AE +2a04:2640::,2a04:2647:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:2680::,2a04:2687:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a04:26c0::,2a04:26c7:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:2700::,2a04:2707:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:2740::,2a04:2747:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a04:2780::,2a04:2787:ffff:ffff:ffff:ffff:ffff:ffff,TJ +2a04:27c0::,2a04:27c7:ffff:ffff:ffff:ffff:ffff:ffff,AL +2a04:2800::,2a04:2807:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a04:2840::,2a04:2847:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:2880::,2a04:2883:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:28a0::,2a04:28a0:ffff:ffff:ffff:ffff:ffff:ffff,IL +2a04:28b0::,2a04:28b1:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a04:28c0::,2a04:28c7:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:2900::,2a04:2907:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:2940::,2a04:2947:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:2980::,2a04:2987:ffff:ffff:ffff:ffff:ffff:ffff,AE +2a04:29c0::,2a04:29c7:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:2a00::,2a04:2a07:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:2a40::,2a04:2a47:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:2a80::,2a04:2a87:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:2ac0::,2a04:2ac7:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:2b00::,2a04:2b07:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:2b40::,2a04:2b47:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a04:2b80::,2a04:2b87:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a04:2bc0::,2a04:2bc7:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:2c00::,2a04:2c07:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a04:2c80::,2a04:2c87:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a04:2cc0::,2a04:2cc7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:2d00::,2a04:2d07:ffff:ffff:ffff:ffff:ffff:ffff,MD +2a04:2d40::,2a04:2d47:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a04:2d80::,2a04:2d87:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a04:2dc0::,2a04:2dc7:ffff:ffff:ffff:ffff:ffff:ffff,IQ +2a04:2e00::,2a04:2e07:ffff:ffff:ffff:ffff:ffff:ffff,IE +2a04:2e40::,2a04:2e47:ffff:ffff:ffff:ffff:ffff:ffff,RS +2a04:2e80::,2a04:2e87:ffff:ffff:ffff:ffff:ffff:ffff,BY +2a04:2ec0::,2a04:2ec7:ffff:ffff:ffff:ffff:ffff:ffff,JO +2a04:2f00::,2a04:2f07:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a04:2f40::,2a04:2f47:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:2f80::,2a04:2f87:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:2fc0::,2a04:2fc7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:3000::,2a04:3007:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a04:3040::,2a04:3047:ffff:ffff:ffff:ffff:ffff:ffff,GR +2a04:3080::,2a04:3087:ffff:ffff:ffff:ffff:ffff:ffff,RS +2a04:30c0::,2a04:30c7:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:3100::,2a04:3107:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a04:3140::,2a04:3147:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a04:3180::,2a04:3187:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a04:31c0::,2a04:31c7:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:3200::,2a04:3207:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:3240::,2a04:3247:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a04:3280::,2a04:3287:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:32c0::,2a04:32c7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:3300::,2a04:3307:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a04:3340::,2a04:3347:ffff:ffff:ffff:ffff:ffff:ffff,EE +2a04:3380::,2a04:3387:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:33c0::,2a04:33c7:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:3400::,2a04:3407:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a04:3440::,2a04:3447:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:3480::,2a04:3487:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:34c0::,2a04:34c7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:3500::,2a04:3507:ffff:ffff:ffff:ffff:ffff:ffff,IE +2a04:3540::,2a04:3547:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a04:3580::,2a04:3587:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a04:35c0::,2a04:35c7:ffff:ffff:ffff:ffff:ffff:ffff,IE +2a04:3600::,2a04:3607:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:3640::,2a04:3647:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:3680::,2a04:3687:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:36c0::,2a04:36c7:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:3700::,2a04:3707:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a04:3740::,2a04:3747:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:3780::,2a04:3787:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:3800::,2a04:3807:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:3840::,2a04:3847:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a04:3880::,2a04:3883:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a04:38a0::,2a04:38a3:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a04:38c0::,2a04:38c7:ffff:ffff:ffff:ffff:ffff:ffff,JE +2a04:3900::,2a04:3907:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:3940::,2a04:3947:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a04:3980::,2a04:3987:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:39c0::,2a04:39c7:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:3a00::,2a04:3a07:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:3a40::,2a04:3a40:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a04:3a50::,2a04:3a51:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a04:3a60::,2a04:3a63:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:3a80::,2a04:3a87:ffff:ffff:ffff:ffff:ffff:ffff,KZ +2a04:3ac0::,2a04:3ac7:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a04:3b00::,2a04:3b07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:3b40::,2a04:3b47:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:3b80::,2a04:3b87:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a04:3bc0::,2a04:3bc7:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:3c00::,2a04:3c07:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:3c40::,2a04:3c47:ffff:ffff:ffff:ffff:ffff:ffff,IQ +2a04:3c80::,2a04:3c87:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a04:3cc0::,2a04:3cc7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:3d00::,2a04:3d07:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:3d40::,2a04:3d47:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a04:3d80::,2a04:3d87:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:3dc0::,2a04:3dc7:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a04:3e00::,2a04:3e07:ffff:ffff:ffff:ffff:ffff:ffff,GR +2a04:3e40::,2a04:3e47:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a04:3e80::,2a04:3e87:ffff:ffff:ffff:ffff:ffff:ffff,BA +2a04:3ec0::,2a04:3ec7:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a04:3f00::,2a04:3f07:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a04:3f40::,2a04:3f47:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:3f80::,2a04:3f87:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a04:3fc0::,2a04:3fc7:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:4000::,2a04:4007:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a04:4040::,2a04:4047:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:4080::,2a04:4087:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a04:40c0::,2a04:40c7:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a04:4100::,2a04:4107:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:4140::,2a04:4147:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:4180::,2a04:4187:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a04:41c0::,2a04:41c7:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a04:4200::,2a04:4207:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:4240::,2a04:4247:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a04:4280::,2a04:4287:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a04:42c0::,2a04:42c7:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a04:4300::,2a04:4307:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:4340::,2a04:4347:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:4380::,2a04:4387:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:43c0::,2a04:43c7:ffff:ffff:ffff:ffff:ffff:ffff,BG +2a04:4400::,2a04:4407:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:4440::,2a04:4447:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:4480::,2a04:4487:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:44c0::,2a04:44c7:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:4500::,2a04:4507:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:4540::,2a04:4547:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:4580::,2a04:4587:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:45c0::,2a04:45c7:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a04:4600::,2a04:4607:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:4640::,2a04:4647:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:4680::,2a04:4687:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:46c0::,2a04:46c7:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:4700::,2a04:4703:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a04:4720::,2a04:4723:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a04:4740::,2a04:4747:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a04:4780::,2a04:4787:ffff:ffff:ffff:ffff:ffff:ffff,IS +2a04:47c0::,2a04:47c7:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:4800::,2a04:4807:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:4840::,2a04:4847:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:4880::,2a04:4887:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a04:48c0::,2a04:48c7:ffff:ffff:ffff:ffff:ffff:ffff,AZ +2a04:4900::,2a04:4907:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a04:4940::,2a04:4947:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a04:4980::,2a04:4987:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:49c0::,2a04:49c7:ffff:ffff:ffff:ffff:ffff:ffff,AL +2a04:4a00::,2a04:4a07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:4a40::,2a04:4a47:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:4a80::,2a04:4a87:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a04:4ac0::,2a04:4ac7:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a04:4b00::,2a04:4b07:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:4b40::,2a04:4b47:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:4b80::,2a04:4b87:ffff:ffff:ffff:ffff:ffff:ffff,AZ +2a04:4bc0::,2a04:4bc7:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:4c00::,2a04:4c07:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a04:4c40::,2a04:4c47:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a04:4c80::,2a04:4c87:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:4cc0::,2a04:4cc7:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:4d00::,2a04:4d07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:4d40::,2a04:4d47:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a04:4d80::,2a04:4d87:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a04:4dc0::,2a04:4dc7:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a04:4e00::,2a04:4e07:ffff:ffff:ffff:ffff:ffff:ffff,LV +2a04:4e80::,2a04:4e87:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a04:4ec0::,2a04:4ec7:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a04:4f00::,2a04:4f07:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a04:4f40::,2a04:4f47:ffff:ffff:ffff:ffff:ffff:ffff,KZ +2a04:4f80::,2a04:4f87:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:4fc0::,2a04:4fc3:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:4fe0::,2a04:4fe3:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:5200::,2a04:5207:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:5240::,2a04:5247:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:5280::,2a04:5287:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a04:52c0::,2a04:52c7:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:5300::,2a04:5307:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:5340::,2a04:5347:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:5380::,2a04:5387:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:53c0::,2a04:53c7:ffff:ffff:ffff:ffff:ffff:ffff,PT +2a04:5400::,2a04:5407:ffff:ffff:ffff:ffff:ffff:ffff,IE +2a04:5440::,2a04:5447:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:5480::,2a04:5487:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a04:54c0::,2a04:54c7:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a04:5500::,2a04:5507:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:5540::,2a04:5547:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a04:5580::,2a04:5587:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:55c0::,2a04:55c7:ffff:ffff:ffff:ffff:ffff:ffff,IL +2a04:5600::,2a04:5607:ffff:ffff:ffff:ffff:ffff:ffff,KG +2a04:5640::,2a04:5647:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a04:5680::,2a04:5687:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a04:56c0::,2a04:56c7:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:5700::,2a04:5707:ffff:ffff:ffff:ffff:ffff:ffff,LI +2a04:5740::,2a04:5747:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:5780::,2a04:5787:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:57c0::,2a04:57c7:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a04:5800::,2a04:5807:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:5880::,2a04:5887:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:58c0::,2a04:58c7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:5900::,2a04:5907:ffff:ffff:ffff:ffff:ffff:ffff,AL +2a04:5940::,2a04:5947:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:5980::,2a04:5987:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a04:59c0::,2a04:59c7:ffff:ffff:ffff:ffff:ffff:ffff,SI +2a04:5a00::,2a04:5a07:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:5a40::,2a04:5a47:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a04:5a80::,2a04:5a87:ffff:ffff:ffff:ffff:ffff:ffff,LB +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,TR +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 +2a04:5c80::,2a04:5c87:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a04:5cc0::,2a04:5cc7:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:5d00::,2a04:5d07:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:5d40::,2a04:5d47:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a04:5d80::,2a04:5d87:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:5dc0::,2a04:5dc7:ffff:ffff:ffff:ffff:ffff:ffff,TR +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,NL +2a04:5f00::,2a04:5f07:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:5f40::,2a04:5f47:ffff:ffff:ffff:ffff:ffff:ffff,LV +2a04:5f80::,2a04:5f87:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:6000::,2a04:6007:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:6040::,2a04:6047:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:6080::,2a04:6087:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:60c0::,2a04:60c7:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a04:6100::,2a04:6107:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:6140::,2a04:6147:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:6180::,2a04:6187:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a04:61c0::,2a04:61c7:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:6200::,2a04:6207:ffff:ffff:ffff:ffff:ffff:ffff,JO +2a04:6240::,2a04:6247:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:6280::,2a04:6287:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:62c0::,2a04:62c7:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a04:6300::,2a04:6307:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:6340::,2a04:6347:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a04:6380::,2a04:6387:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:63c0::,2a04:63c7:ffff:ffff:ffff:ffff:ffff:ffff,AE +2a04:6400::,2a04:6407:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a04:6440::,2a04:6447:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:6480::,2a04:6487:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a04:64c0::,2a04:64c7:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:6500::,2a04:6507:ffff:ffff:ffff:ffff:ffff:ffff,IS +2a04:6540::,2a04:6547:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a04:6580::,2a04:6587:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:65c0::,2a04:65c7:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:6600::,2a04:6607:ffff:ffff:ffff:ffff:ffff:ffff,NO +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,GB +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 +2a04:67c0::,2a04:67c7:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a04:6800::,2a04:6807:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a04:6840::,2a04:6847:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:6880::,2a04:6887:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:68c0::,2a04:68c7:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:6900::,2a04:6907:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a04:6940::,2a04:6947:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:6980::,2a04:6987:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a04:69c0::,2a04:69c7:ffff:ffff:ffff:ffff:ffff:ffff,MK +2a04:6a00::,2a04:6a07:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:6a40::,2a04:6a47:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:6a80::,2a04:6a87:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a04:6ac0::,2a04:6ac7:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a04:6b00::,2a04:6b07:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a04:6b40::,2a04:6b47:ffff:ffff:ffff:ffff:ffff:ffff,GG +2a04:6b80::,2a04:6b87:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a04:6bc0::,2a04:6bc7:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:6c00::,2a04:6c07:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a04:6c40::,2a04:6c47:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a04:6c80::,2a04:6c87:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a04:6cc0::,2a04:6cc7:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a04:6d00::,2a04:6d07:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a04:6d40::,2a04:6d47:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a04:6d80::,2a04:6d87:ffff:ffff:ffff:ffff:ffff:ffff,PT +2a04:6dc0::,2a04:6dc7:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:6e00::,2a04:6e07:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a04:6e40::,2a04:6e47:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:6e80::,2a04:6e87:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a04:6ec0::,2a04:6ec7:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:6f00::,2a04:6f07:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a04:6f40::,2a04:6f47:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a04:6f80::,2a04:6f83:ffff:ffff:ffff:ffff:ffff:ffff,QA +2a04:6fa0::,2a04:6fa1:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:6fb0::,2a04:6fb1:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a04:6fc0::,2a04:6fc7:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:7000::,2a04:7007:ffff:ffff:ffff:ffff:ffff:ffff,RS +2a04:7040::,2a04:7047:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:7080::,2a04:7087:ffff:ffff:ffff:ffff:ffff:ffff,BG +2a04:70c0::,2a04:70c7:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:7100::,2a04:7107:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a04:7140::,2a04:7147:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:7180::,2a04:7187:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a04:71c0::,2a04:71c7:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:7200::,2a04:7207:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:7240::,2a04:7247:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:7280::,2a04:7287:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a04:72c0::,2a04:72c7:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:7300::,2a04:7307:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:7340::,2a04:7347:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:7380::,2a04:7387:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:73c0::,2a04:73c7:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:7400::,2a04:7407:ffff:ffff:ffff:ffff:ffff:ffff,ME +2a04:7440::,2a04:7447:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:7480::,2a04:7487:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:74c0::,2a04:74c7:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:7500::,2a04:7507:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a04:7540::,2a04:7547:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:7580::,2a04:7587:ffff:ffff:ffff:ffff:ffff:ffff,MD +2a04:75c0::,2a04:75c7:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a04:7600::,2a04:7607:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a04:7640::,2a04:7647:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a04:7680::,2a04:7687:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:76c0::,2a04:76c7:ffff:ffff:ffff:ffff:ffff:ffff,US +2a04:7700::,2a04:7707:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a04:7740::,2a04:7747:ffff:ffff:ffff:ffff:ffff:ffff,IQ +2a04:7780::,2a04:7787:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:77c0::,2a04:77c7:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a04:7800::,2a04:7807:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a04:7840::,2a04:7847:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a04:7880::,2a04:7887:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a04:78c0::,2a04:78c3:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:78e0::,2a04:78e3:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:7900::,2a04:7907:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:7940::,2a04:7947:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a04:7980::,2a04:7987:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a04:79c0::,2a04:79c7:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:7a00::,2a04:7a07:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:7a40::,2a04:7a47:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a04:7a80::,2a04:7a87:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:7ac0::,2a04:7ac7:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:7b40::,2a04:7b47:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:7b80::,2a04:7b87:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a04:7bc0::,2a04:7bc7:ffff:ffff:ffff:ffff:ffff:ffff,SA +2a04:7c00::,2a04:7c07:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:7c40::,2a04:7c47:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a04:7c80::,2a04:7c87:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:7cc0::,2a04:7cc7:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a04:7d00::,2a04:7d07:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:7d40::,2a04:7d47:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a04:7d80::,2a04:7d87:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:7dc0::,2a04:7dc7:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a04:7e00::,2a04:7e07:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:7e40::,2a04:7e47:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:7e80::,2a04:7e87:ffff:ffff:ffff:ffff:ffff:ffff,EE +2a04:7ec0::,2a04:7ec7:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a04:7f00::,2a04:7f07:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a04:7f40::,2a04:7f47:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a04:7f80::,2a04:7f87:ffff:ffff:ffff:ffff:ffff:ffff,IQ +2a04:7fc0::,2a04:7fc7:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:8000::,2a04:8007:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a04:8040::,2a04:8047:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:8080::,2a04:8087:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a04:80c0::,2a04:80c7:ffff:ffff:ffff:ffff:ffff:ffff,EE +2a04:8100::,2a04:8107:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:8140::,2a04:8147:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:8180::,2a04:8181:ffff:ffff:ffff:ffff:ffff:ffff,SY +2a04:8190::,2a04:8191:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:81a0::,2a04:81a3:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a04:81c0::,2a04:81c7:ffff:ffff:ffff:ffff:ffff:ffff,LU +2a04:8200::,2a04:8207:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:8240::,2a04:8247:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:8280::,2a04:8287:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:82c0::,2a04:82c7:ffff:ffff:ffff:ffff:ffff:ffff,IE +2a04:8300::,2a04:8307:ffff:ffff:ffff:ffff:ffff:ffff,MT +2a04:8340::,2a04:8347:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a04:8380::,2a04:8387:ffff:ffff:ffff:ffff:ffff:ffff,AZ +2a04:83c0::,2a04:83c7:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a04:8400::,2a04:8407:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:8440::,2a04:8447:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a04:8480::,2a04:8487:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:84c0::,2a04:84c7:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:8500::,2a04:8507:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:8540::,2a04:8547:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a04:8580::,2a04:8587:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:85c0::,2a04:85c7:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a04:8600::,2a04:8607:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:8640::,2a04:8647:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:8680::,2a04:8687:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:86c0::,2a04:86c7:ffff:ffff:ffff:ffff:ffff:ffff,LB +2a04:8700::,2a04:8707:ffff:ffff:ffff:ffff:ffff:ffff,MT +2a04:8740::,2a04:8747:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:8780::,2a04:8787:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:87c0::,2a04:87c7:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a04:8800::,2a04:8807:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:8840::,2a04:8847:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a04:8880::,2a04:8887:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:88c0::,2a04:88c7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:8900::,2a04:8907:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:8940::,2a04:8947:ffff:ffff:ffff:ffff:ffff:ffff,PT +2a04:8980::,2a04:8987:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:89c0::,2a04:89c7:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:8a00::,2a04:8a07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:8a40::,2a04:8a47:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:8a80::,2a04:8a87:ffff:ffff:ffff:ffff:ffff:ffff,SI +2a04:8ac0::,2a04:8ac7:ffff:ffff:ffff:ffff:ffff:ffff,BH +2a04:8b00::,2a04:8b07:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:8b40::,2a04:8b47:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:8b80::,2a04:8b87:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:8bc0::,2a04:8bc7:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a04:8c00::,2a04:8c07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:8c40::,2a04:8c47:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:8c80::,2a04:8c87:ffff:ffff:ffff:ffff:ffff:ffff,CY +2a04:8cc0::,2a04:8cc7:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a04:8d00::,2a04:8d07:ffff:ffff:ffff:ffff:ffff:ffff,MK +2a04:8d40::,2a04:8d47:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a04:8d80::,2a04:8d87:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:8dc0::,2a04:8dc7:ffff:ffff:ffff:ffff:ffff:ffff,LU +2a04:8e00::,2a04:8e07:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:8e40::,2a04:8e47:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:8e80::,2a04:8e81:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:8e90::,2a04:8e91:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a04:8ea0::,2a04:8ea3:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:8f00::,2a04:8f07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:8f40::,2a04:8f47:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:8f80::,2a04:8f87:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:8fc0::,2a04:8fc7:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a04:9000::,2a04:9007:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a04:9040::,2a04:9047:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:9080::,2a04:9087:ffff:ffff:ffff:ffff:ffff:ffff,SY +2a04:90c0::,2a04:90c7:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a04:9100::,2a04:9107:ffff:ffff:ffff:ffff:ffff:ffff,IQ +2a04:9140::,2a04:9147:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:9180::,2a04:9187:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a04:91c0::,2a04:91c7:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a04:9240::,2a04:9247:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a04:9280::,2a04:9287:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a04:92c0::,2a04:92c7:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:9300::,2a04:9307:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a04:9340::,2a04:9347:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:9380::,2a04:9387:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:93c0::,2a04:93c7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:9400::,2a04:9407:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:9440::,2a04:9447:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a04:9480::,2a04:9487:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:94e0::,2a04:94e3:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:9500::,2a04:9507:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:9540::,2a04:9547:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a04:9580::,2a04:9587:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:95c0::,2a04:95c7:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:9600::,2a04:9607:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:9640::,2a04:9647:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a04:9680::,2a04:9687:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:96c0::,2a04:96c7:ffff:ffff:ffff:ffff:ffff:ffff,CY +2a04:9700::,2a04:9707:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:9740::,2a04:9747:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:9780::,2a04:9787:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a04:97c0::,2a04:97c7:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a04:9800::,2a04:9807:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a04:9840::,2a04:9847:ffff:ffff:ffff:ffff:ffff:ffff,IS +2a04:9880::,2a04:9887:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:98c0::,2a04:98c7:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a04:9900::,2a04:9907:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a04:9940::,2a04:9947:ffff:ffff:ffff:ffff:ffff:ffff,SA +2a04:9980::,2a04:9987:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a04:99c0::,2a04:99c7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:9a00::,2a04:9a07:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:9a40::,2a04:9a47:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a04:9a80::,2a04:9a87:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a04:9ac0::,2a04:9ac7:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a04:9b00::,2a04:9b07:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:9b40::,2a04:9b47:ffff:ffff:ffff:ffff:ffff:ffff,BY +2a04:9b80::,2a04:9b87:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a04:9bc0::,2a04:9bc7:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a04:9c00::,2a04:9c07:ffff:ffff:ffff:ffff:ffff:ffff,NL +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,NL +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 +2a04:9e00::,2a04:9e07:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a04:9e40::,2a04:9e47:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:9e80::,2a04:9e87:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a04:9ec0::,2a04:9ec7:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a04:9f00::,2a04:9f07:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:9f40::,2a04:9f47:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a04:9f80::,2a04:9f87:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a04:9fc0::,2a04:9fc7:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:a000::,2a04:a007:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:a040::,2a04:a047:ffff:ffff:ffff:ffff:ffff:ffff,IQ +2a04:a080::,2a04:a087:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:a0c0::,2a04:a0c7:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:a100::,2a04:a107:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a04:a140::,2a04:a147:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:a180::,2a04:a187:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:a1c0::,2a04:a1c7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:a200::,2a04:a207:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:a240::,2a04:a247:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a04:a280::,2a04:a287:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a04:a2c0::,2a04:a2c7:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a04:a300::,2a04:a307:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a04:a340::,2a04:a347:ffff:ffff:ffff:ffff:ffff:ffff,SM +2a04:a380::,2a04:a387:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a04:a3c0::,2a04:a3c7:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a04:a400::,2a04:a407:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:a440::,2a04:a440:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:a480::,2a04:a487:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a04:a4c0::,2a04:a4c7:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a04:a500::,2a04:a507:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:a540::,2a04:a547:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:a580::,2a04:a587:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:a5c0::,2a04:a5c7:ffff:ffff:ffff:ffff:ffff:ffff,GR +2a04:a600::,2a04:a607:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a04:a640::,2a04:a647:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a04:a680::,2a04:a687:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a04:a6c0::,2a04:a6c7:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a04:a700::,2a04:a707:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:a740::,2a04:a747:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a04:a780::,2a04:a787:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:a7c0::,2a04:a7c7:ffff:ffff:ffff:ffff:ffff:ffff,HR +2a04:a800::,2a04:a807:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a04:a840::,2a04:a847:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a04:a880::,2a04:a887:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a04:a8c0::,2a04:a8c7:ffff:ffff:ffff:ffff:ffff:ffff,US +2a04:a900::,2a04:a907:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a04:a940::,2a04:a947:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a04:a980::,2a04:a987:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a04:a9c0::,2a04:a9c7:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a04:aa00::,2a04:aa07:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a04:aa40::,2a04:aa47:ffff:ffff:ffff:ffff:ffff:ffff,PL +2c0e::,2c0e:fff:ffff:ffff:ffff:ffff:ffff:ffff,EG +2c0e:2000::,2c0e:200f:ffff:ffff:ffff:ffff:ffff:ffff,ZA +2c0f:f600::,2c0f:f600:ffff:ffff:ffff:ffff:ffff:ffff,GN +2c0f:f608::,2c0f:f608:ffff:ffff:ffff:ffff:ffff:ffff,RE +2c0f:f610::,2c0f:f610:ffff:ffff:ffff:ffff:ffff:ffff,ZA +2c0f:f618::,2c0f:f618:ffff:ffff:ffff:ffff:ffff:ffff,GH +2c0f:f620::,2c0f:f620:ffff:ffff:ffff:ffff:ffff:ffff,KE +2c0f:f628::,2c0f:f628:ffff:ffff:ffff:ffff:ffff:ffff,RW +2c0f:f630::,2c0f:f630:ffff:ffff:ffff:ffff:ffff:ffff,BJ +2c0f:f638::,2c0f:f638:ffff:ffff:ffff:ffff:ffff:ffff,NG +2c0f:f640::,2c0f:f640:ffff:ffff:ffff:ffff:ffff:ffff,GA +2c0f:f648::,2c0f:f648:ffff:ffff:ffff:ffff:ffff:ffff,TD +2c0f:f650::,2c0f:f650:ffff:ffff:ffff:ffff:ffff:ffff,ZA +2c0f:f658::,2c0f:f658:ffff:ffff:ffff:ffff:ffff:ffff,UG +2c0f:f660::,2c0f:f660:ffff:ffff:ffff:ffff:ffff:ffff,CM +2c0f:f668::,2c0f:f668:ffff:ffff:ffff:ffff:ffff:ffff,ZA +2c0f:f670::,2c0f:f670:ffff:ffff:ffff:ffff:ffff:ffff,ZM +2c0f:f678::,2c0f:f678:ffff:ffff:ffff:ffff:ffff:ffff,BW +2c0f:f680::,2c0f:f680:ffff:ffff:ffff:ffff:ffff:ffff,SC +2c0f:f688::,2c0f:f688:ffff:ffff:ffff:ffff:ffff:ffff,KE +2c0f:f690::,2c0f:f690:ffff:ffff:ffff:ffff:ffff:ffff,SS +2c0f:f698::,2c0f:f698:ffff:ffff:ffff:ffff:ffff:ffff,TN +2c0f:f6a0::,2c0f:f6a0:ffff:ffff:ffff:ffff:ffff:ffff,CM 2c0f:f800::,2c0f:f80f:ffff:ffff:ffff:ffff:ffff:ffff,ZA 2c0f:f810::,2c0f:f810:ffff:ffff:ffff:ffff:ffff:ffff,AO -2c0f:f818::,2c0f:f818:ffff:ffff:ffff:ffff:ffff:ffff,LY +2c0f:f818::,2c0f:f818:ffff:ffff:ffff:ffff:ffff:ffff,BJ 2c0f:f820::,2c0f:f820:ffff:ffff:ffff:ffff:ffff:ffff,GH 2c0f:f828::,2c0f:f828:ffff:ffff:ffff:ffff:ffff:ffff,AO 2c0f:f830::,2c0f:f830:ffff:ffff:ffff:ffff:ffff:ffff,ZW @@ -11466,18 +17150,61 @@ 2c0f:f850::,2c0f:f850:ffff:ffff:ffff:ffff:ffff:ffff,ZA 2c0f:f858::,2c0f:f858:ffff:ffff:ffff:ffff:ffff:ffff,DZ 2c0f:f860::,2c0f:f860:ffff:ffff:ffff:ffff:ffff:ffff,RW -2c0f:f868::,2c0f:f868:ffff:ffff:ffff:ffff:ffff:ffff,ZA 2c0f:f870::,2c0f:f870:ffff:ffff:ffff:ffff:ffff:ffff,NG 2c0f:f878::,2c0f:f878:ffff:ffff:ffff:ffff:ffff:ffff,KE 2c0f:f880::,2c0f:f880:ffff:ffff:ffff:ffff:ffff:ffff,NG 2c0f:f888::,2c0f:f888:ffff:ffff:ffff:ffff:ffff:ffff,AO +2c0f:f890::,2c0f:f890:ffff:ffff:ffff:ffff:ffff:ffff,GM +2c0f:f898::,2c0f:f898:ffff:ffff:ffff:ffff:ffff:ffff,MU +2c0f:f8a0::,2c0f:f8a0:ffff:ffff:ffff:ffff:ffff:ffff,UG +2c0f:f8a8::,2c0f:f8a8:ffff:ffff:ffff:ffff:ffff:ffff,ZA +2c0f:f8b0::,2c0f:f8b0:ffff:ffff:ffff:ffff:ffff:ffff,BF +2c0f:f8b8::,2c0f:f8b8:ffff:ffff:ffff:ffff:ffff:ffff,ZA +2c0f:f8c0::,2c0f:f8c0:ffff:ffff:ffff:ffff:ffff:ffff,GQ +2c0f:f8c8::,2c0f:f8c8:ffff:ffff:ffff:ffff:ffff:ffff,NE +2c0f:f8d0::,2c0f:f8d0:ffff:ffff:ffff:ffff:ffff:ffff,NG +2c0f:f8d8::,2c0f:f8d8:ffff:ffff:ffff:ffff:ffff:ffff,BW +2c0f:f8e0::,2c0f:f8e0:ffff:ffff:ffff:ffff:ffff:ffff,MU +2c0f:f8e8::,2c0f:f8e8:ffff:ffff:ffff:ffff:ffff:ffff,GH +2c0f:f8f0::,2c0f:f8f0:ffff:ffff:ffff:ffff:ffff:ffff,ZW +2c0f:f8f8::,2c0f:f8f8:ffff:ffff:ffff:ffff:ffff:ffff,SO +2c0f:f900::,2c0f:f900:ffff:ffff:ffff:ffff:ffff:ffff,ML +2c0f:f908::,2c0f:f908:ffff:ffff:ffff:ffff:ffff:ffff,BI +2c0f:f918::,2c0f:f918:ffff:ffff:ffff:ffff:ffff:ffff,RE +2c0f:f920::,2c0f:f920:ffff:ffff:ffff:ffff:ffff:ffff,CG +2c0f:f928::,2c0f:f928:ffff:ffff:ffff:ffff:ffff:ffff,GW +2c0f:f930::,2c0f:f930:ffff:ffff:ffff:ffff:ffff:ffff,LR +2c0f:f938::,2c0f:f938:ffff:ffff:ffff:ffff:ffff:ffff,ZM +2c0f:f940::,2c0f:f940:ffff:ffff:ffff:ffff:ffff:ffff,DZ +2c0f:f948::,2c0f:f948:ffff:ffff:ffff:ffff:ffff:ffff,GA +2c0f:f950::,2c0f:f950:ffff:ffff:ffff:ffff:ffff:ffff,SS +2c0f:f958::,2c0f:f958:ffff:ffff:ffff:ffff:ffff:ffff,ZA +2c0f:f960::,2c0f:f960:ffff:ffff:ffff:ffff:ffff:ffff,TZ +2c0f:f968::,2c0f:f968:ffff:ffff:ffff:ffff:ffff:ffff,MZ +2c0f:f970::,2c0f:f970:ffff:ffff:ffff:ffff:ffff:ffff,ZA +2c0f:f978::,2c0f:f978:ffff:ffff:ffff:ffff:ffff:ffff,CD +2c0f:f980::,2c0f:f980:ffff:ffff:ffff:ffff:ffff:ffff,NA +2c0f:f988::,2c0f:f988:ffff:ffff:ffff:ffff:ffff:ffff,ZA +2c0f:f990::,2c0f:f990:ffff:ffff:ffff:ffff:ffff:ffff,GN +2c0f:f998::,2c0f:f998:ffff:ffff:ffff:ffff:ffff:ffff,MR +2c0f:f9a0::,2c0f:f9a0:ffff:ffff:ffff:ffff:ffff:ffff,MW +2c0f:f9a8::,2c0f:f9a8:ffff:ffff:ffff:ffff:ffff:ffff,ZA +2c0f:f9b0::,2c0f:f9b0:ffff:ffff:ffff:ffff:ffff:ffff,GA +2c0f:f9b8::,2c0f:f9b8:ffff:ffff:ffff:ffff:ffff:ffff,MU +2c0f:f9c0::,2c0f:f9c0:ffff:ffff:ffff:ffff:ffff:ffff,BW +2c0f:f9c8::,2c0f:f9c8:ffff:ffff:ffff:ffff:ffff:ffff,ZA +2c0f:f9d0::,2c0f:f9d0:ffff:ffff:ffff:ffff:ffff:ffff,TZ +2c0f:f9d8::,2c0f:f9d8:ffff:ffff:ffff:ffff:ffff:ffff,ZA +2c0f:f9e0::,2c0f:f9e0:ffff:ffff:ffff:ffff:ffff:ffff,NG +2c0f:f9e8::,2c0f:f9e8:ffff:ffff:ffff:ffff:ffff:ffff,ZA +2c0f:f9f0::,2c0f:f9f0:ffff:ffff:ffff:ffff:ffff:ffff,MG +2c0f:f9f8::,2c0f:f9f8:ffff:ffff:ffff:ffff:ffff:ffff,BJ 2c0f:fa00::,2c0f:fa00:ffff:ffff:ffff:ffff:ffff:ffff,GH 2c0f:fa08::,2c0f:fa08:ffff:ffff:ffff:ffff:ffff:ffff,CD 2c0f:fa10::,2c0f:fa10:ffff:ffff:ffff:ffff:ffff:ffff,ZM 2c0f:fa18::,2c0f:fa18:ffff:ffff:ffff:ffff:ffff:ffff,MA -2c0f:fa20::,2c0f:fa20:ffff:ffff:ffff:ffff:ffff:ffff,SD +2c0f:fa20::,2c0f:fa20:ffff:ffff:ffff:ffff:ffff:ffff,SS 2c0f:fa28::,2c0f:fa28:ffff:ffff:ffff:ffff:ffff:ffff,MG -2c0f:fa30::,2c0f:fa30:ffff:ffff:ffff:ffff:ffff:ffff,KE 2c0f:fa38::,2c0f:fa38:ffff:ffff:ffff:ffff:ffff:ffff,AO 2c0f:fa40::,2c0f:fa40:ffff:ffff:ffff:ffff:ffff:ffff,ZA 2c0f:fa48::,2c0f:fa48:ffff:ffff:ffff:ffff:ffff:ffff,ZA @@ -11538,7 +17265,7 @@ 2c0f:fc70::,2c0f:fc70:ffff:ffff:ffff:ffff:ffff:ffff,KE 2c0f:fc78::,2c0f:fc78:ffff:ffff:ffff:ffff:ffff:ffff,ZW 2c0f:fc80::,2c0f:fc80:ffff:ffff:ffff:ffff:ffff:ffff,KE -2c0f:fc88::,2c0f:fc88:ffff:ffff:ffff:ffff:ffff:ffff,EG +2c0f:fc88::,2c0f:fc89:ffff:ffff:ffff:ffff:ffff:ffff,EG 2c0f:fc90::,2c0f:fc90:ffff:ffff:ffff:ffff:ffff:ffff,NG 2c0f:fc98::,2c0f:fc98:ffff:ffff:ffff:ffff:ffff:ffff,NG 2c0f:fca0::,2c0f:fca0:ffff:ffff:ffff:ffff:ffff:ffff,GH @@ -11605,11 +17332,10 @@ 2c0f:fe98::,2c0f:fe98:ffff:ffff:ffff:ffff:ffff:ffff,TZ 2c0f:fea0::,2c0f:fea0:ffff:ffff:ffff:ffff:ffff:ffff,NG 2c0f:fea8::,2c0f:fea8:ffff:ffff:ffff:ffff:ffff:ffff,NG -2c0f:feb0::,2c0f:feb0:ffff:ffff:ffff:ffff:ffff:ffff,MU +2c0f:feb0::,2c0f:feb1:ffff:ffff:ffff:ffff:ffff:ffff,MU 2c0f:feb8::,2c0f:feb8:ffff:ffff:ffff:ffff:ffff:ffff,ZM 2c0f:fec0::,2c0f:fec0:ffff:ffff:ffff:ffff:ffff:ffff,UG 2c0f:fec8::,2c0f:fec8:ffff:ffff:ffff:ffff:ffff:ffff,SD -2c0f:fed0::,2c0f:fed0:ffff:ffff:ffff:ffff:ffff:ffff,NG 2c0f:fed8::,2c0f:fed8:ffff:ffff:ffff:ffff:ffff:ffff,ZA 2c0f:fee0::,2c0f:fee0:ffff:ffff:ffff:ffff:ffff:ffff,EG 2c0f:fef0::,2c0f:fef0:ffff:ffff:ffff:ffff:ffff:ffff,SC diff --git a/src/config/mmdb-convert.py b/src/config/mmdb-convert.py new file mode 100644 index 0000000000..cbe9acdc5d --- /dev/null +++ b/src/config/mmdb-convert.py @@ -0,0 +1,466 @@ +#!/usr/bin/python3 + +# This software has been dedicated to the public domain under the CC0 +# public domain dedication. +# +# To the extent possible under law, the person who associated CC0 +# with mmdb-convert.py has waived all copyright and related or +# neighboring rights to mmdb-convert.py. +# +# You should have received a copy of the CC0 legalcode along with this +# work in doc/cc0.txt. If not, see +# <http://creativecommons.org/publicdomain/zero/1.0/>. + +# Nick Mathewson is responsible for this kludge, but takes no +# responsibility for it. + +"""This kludge is meant to + parse mmdb files in sufficient detail to dump out the old format + that Tor expects. It's also meant to be pure-python. + + When given a simplicity/speed tradeoff, it opts for simplicity. + + You will not understand the code without undestanding the MaxMind-DB + file format. It is specified at: + https://github.com/maxmind/MaxMind-DB/blob/master/MaxMind-DB-spec.md. + + This isn't so much tested. When it breaks, you get to keep both + pieces. +""" + +import struct +import bisect +import socket +import binascii +import sys +import time + +METADATA_MARKER = b'\xab\xcd\xefMaxMind.com' + +# Here's some python2/python3 junk. Better solutions wanted. +try: + ord(b"1"[0]) +except TypeError: + def byte_to_int(b): + "convert a single element of a bytestring to an integer." + return b +else: + byte_to_int = ord + +# Here's some more python2/python3 junk. Better solutions wanted. +try: + str(b"a", "utf8") +except TypeError: + bytesToStr = str +else: + def bytesToStr(b): + "convert a bytestring in utf8 to a string." + return str(b, 'utf8') + +def to_int(s): + "Parse a big-endian integer from bytestring s." + result = 0 + for c in s: + result *= 256 + result += byte_to_int(c) + return result + +def to_int24(s): + "Parse a pair of big-endian 24-bit integers from bytestring s." + a, b, c = struct.unpack("!HHH", s) + return ((a <<8)+(b>>8)), (((b&0xff)<<16)+c) + +def to_int32(s): + "Parse a pair of big-endian 32-bit integers from bytestring s." + a, b = struct.unpack("!LL", s) + return a, b + +def to_int28(s): + "Parse a pair of big-endian 28-bit integers from bytestring s." + a, b = unpack("!LL", s + b'\x00') + return (((a & 0xf0) << 20) + (a >> 8)), ((a & 0x0f) << 24) + (b >> 8) + +class Tree(object): + "Holds a node in the tree" + def __init__(self, left, right): + self.left = left + self.right = right + +def resolve_tree(tree, data): + """Fill in the left_item and right_item fields for all values in the tree + so that they point to another Tree, or to a Datum, or to None.""" + d = Datum(None, None, None, None) + def resolve_item(item): + "Helper: resolve a single index." + if item < len(tree): + return tree[item] + elif item == len(tree): + return None + else: + d.pos = (item - len(tree) - 16) + p = bisect.bisect_left(data, d) + assert data[p].pos == d.pos + return data[p] + + for t in tree: + t.left_item = resolve_item(t.left) + t.right_item = resolve_item(t.right) + +def parse_search_tree(s, record_size): + """Given a bytestring and a record size in bits, parse the tree. + Return a list of nodes.""" + record_bytes = (record_size*2) // 8 + nodes = [] + p = 0 + try: + to_leftright = { 24: to_int24, + 28: to_int28, + 32: to_int32 }[ record_size ] + except KeyError: + raise NotImplementedError("Unsupported record size in bits: %d" % + record_size) + while p < len(s): + left, right = to_leftright(s[p:p+record_bytes]) + p += record_bytes + + nodes.append( Tree(left, right ) ) + + return nodes + +class Datum(object): + """Holds a single entry from the Data section""" + def __init__(self, pos, kind, ln, data): + self.pos = pos # Position of this record within data section + self.kind = kind # Type of this record. one of TP_* + self.ln = ln # Length field, which might be overloaded. + self.data = data # Raw bytes data. + self.children = None # Used for arrays and maps. + + def __repr__(self): + return "Datum(%r,%r,%r,%r)" % (self.pos, self.kind, self.ln, self.data) + + # Comparison functions used for bsearch + def __lt__(self, other): + return self.pos < other.pos + + def __gt__(self, other): + return self.pos > other.pos + + def __eq__(self, other): + return self.pos == other.pos + + def build_maps(self): + """If this is a map or array, fill in its 'map' field if it's a map, + and the 'map' field of all its children.""" + + if not hasattr(self, 'nChildren'): + return + + if self.kind == TP_ARRAY: + del self.nChildren + for c in self.children: + c.build_maps() + + elif self.kind == TP_MAP: + del self.nChildren + self.map = {} + for i in range(0, len(self.children), 2): + k = self.children[i].deref() + v = self.children[i+1].deref() + v.build_maps() + if k.kind != TP_UTF8: + raise ValueError("Bad dictionary key type %d"% k.kind) + self.map[bytesToStr(k.data)] = v + + def int_val(self): + """If this is an integer type, return its value""" + assert self.kind in (TP_UINT16, TP_UINT32, TP_UINT64, + TP_UINT128, TP_SINT32) + i = to_int(self.data) + if self.kind == TP_SINT32: + if i & 0x80000000: + i = i - 0x100000000 + return i + + def deref(self): + """If this value is a pointer, return its pointed-to-value. Chase + through multiple layers of pointers if need be. If this isn't + a pointer, return it.""" + n = 0 + s = self + while s.kind == TP_PTR: + s = s.ptr + n += 1 + assert n < 100 + return s + +def resolve_pointers(data): + """Fill in the ptr field of every pointer in data.""" + search = Datum(None, None, None, None) + for d in data: + if d.kind == TP_PTR: + search.pos = d.ln + p = bisect.bisect_left(data, search) + assert data[p].pos == d.ln + d.ptr = data[p] + +TP_PTR = 1 +TP_UTF8 = 2 +TP_DBL = 3 +TP_BYTES = 4 +TP_UINT16 = 5 +TP_UINT32 = 6 +TP_MAP = 7 +TP_SINT32 = 8 +TP_UINT64 = 9 +TP_UINT128 = 10 +TP_ARRAY = 11 +TP_DCACHE = 12 +TP_END = 13 +TP_BOOL = 14 +TP_FLOAT = 15 + +def get_type_and_len(s): + """Data parsing helper: decode the type value and much-overloaded 'length' + field for the value starting at s. Return a 3-tuple of type, length, + and number of bytes used to encode type-plus-length.""" + c = byte_to_int(s[0]) + tp = c >> 5 + skip = 1 + if tp == 0: + tp = byte_to_int(s[1])+7 + skip = 2 + ln = c & 31 + + # I'm sure I don't know what they were thinking here... + if tp == TP_PTR: + len_len = (ln >> 3) + 1 + if len_len < 4: + ln &= 7 + ln <<= len_len * 8 + else: + ln = 0 + ln += to_int(s[skip:skip+len_len]) + ln += (0, 0, 2048, 526336, 0)[len_len] + skip += len_len + elif ln >= 29: + len_len = ln - 28 + ln = to_int(s[skip:skip+len_len]) + ln += (0, 29, 285, 65821)[len_len] + skip += len_len + + return tp, ln, skip + +# Set of types for which 'length' doesn't mean length. +IGNORE_LEN_TYPES = set([ + TP_MAP, # Length is number of key-value pairs that follow. + TP_ARRAY, # Length is number of members that follow. + TP_PTR, # Length is index to pointed-to data element. + TP_BOOL, # Length is 0 or 1. + TP_DCACHE, # Length isnumber of members that follow +]) + +def parse_data_section(s): + """Given a data section encoded in a bytestring, return a list of + Datum items.""" + + # Stack of possibly nested containers. We use the 'nChildren' member of + # the last one to tell how many moreitems nest directly inside. + stack = [] + + # List of all items, including nested ones. + data = [] + + # Byte index within the data section. + pos = 0 + + while s: + tp, ln, skip = get_type_and_len(s) + if tp in IGNORE_LEN_TYPES: + real_len = 0 + else: + real_len = ln + + d = Datum(pos, tp, ln, s[skip:skip+real_len]) + data.append(d) + pos += skip+real_len + s = s[skip+real_len:] + + if stack: + stack[-1].children.append(d) + stack[-1].nChildren -= 1 + if stack[-1].nChildren == 0: + del stack[-1] + + if d.kind == TP_ARRAY: + d.nChildren = d.ln + d.children = [] + stack.append(d) + elif d.kind == TP_MAP: + d.nChildren = d.ln * 2 + d.children = [] + stack.append(d) + + return data + +def parse_mm_file(s): + """Parse a MaxMind-DB file.""" + try: + metadata_ptr = s.rindex(METADATA_MARKER) + except ValueError: + raise ValueError("No metadata!") + + metadata = parse_data_section(s[metadata_ptr+len(METADATA_MARKER):]) + + if metadata[0].kind != TP_MAP: + raise ValueError("Bad map") + + metadata[0].build_maps() + mm = metadata[0].map + + tree_size = (((mm['record_size'].int_val() * 2) // 8 ) * + mm['node_count'].int_val()) + + if s[tree_size:tree_size+16] != b'\x00'*16: + raise ValueError("Missing section separator!") + + tree = parse_search_tree(s[:tree_size], mm['record_size'].int_val()) + + data = parse_data_section(s[tree_size+16:metadata_ptr]) + + resolve_pointers(data) + resolve_tree(tree, data) + + for d in data: + d.build_maps() + + return metadata, tree, data + +def format_datum(datum): + """Given a Datum at a leaf of the tree, return the string that we should + write as its value. + + We first try country->iso_code which is the two-character ISO 3166-1 + country code of the country where MaxMind believes the end user is + located. If there's no such key, we try registered_country->iso_code + which is the country in which the ISP has registered the IP address. + Without falling back to registered_country, we'd leave out all ranges + that MaxMind thinks belong to anonymous proxies, because those ranges + don't contain country but only registered_country. In short: let's + fill all A1 entries with what ARIN et. al think. + """ + try: + return bytesToStr(datum.map['country'].map['iso_code'].data) + except KeyError: + pass + try: + return bytesToStr(datum.map['registered_country'].map['iso_code'].data) + except KeyError: + pass + return None + +IPV4_PREFIX = "0"*96 + +def dump_item_ipv4(entries, prefix, val): + """Dump the information for an IPv4 address to entries, where 'prefix' + is a string holding a binary prefix for the address, and 'val' is the + value to dump. If the prefix is not an IPv4 address (it does not start + with 96 bits of 0), then print nothing. + """ + if not prefix.startswith(IPV4_PREFIX): + return + prefix = prefix[96:] + v = int(prefix, 2) + shift = 32 - len(prefix) + lo = v << shift + hi = ((v+1) << shift) - 1 + entries.append((lo, hi, val)) + +def fmt_item_ipv4(entry): + """Format an IPv4 range with lo and hi addresses in decimal form.""" + return "%d,%d,%s\n"%(entry[0], entry[1], entry[2]) + +def fmt_ipv6_addr(v): + """Given a 128-bit integer representing an ipv6 address, return a + string for that ipv6 address.""" + return socket.inet_ntop(socket.AF_INET6, binascii.unhexlify("%032x"%v)) + +def fmt_item_ipv6(entry): + """Format an IPv6 range with lo and hi addresses in hex form.""" + return "%s,%s,%s\n"%(fmt_ipv6_addr(entry[0]), + fmt_ipv6_addr(entry[1]), + entry[2]) + +IPV4_MAPPED_IPV6_PREFIX = "0"*80 + "1"*16 +IPV6_6TO4_PREFIX = "0010000000000010" +TEREDO_IPV6_PREFIX = "0010000000000001" + "0"*16 + +def dump_item_ipv6(entries, prefix, val): + """Dump the information for an IPv6 address prefix to entries, where + 'prefix' is a string holding a binary prefix for the address, + and 'val' is the value to dump. If the prefix is an IPv4 address + (starts with 96 bits of 0), is an IPv4-mapped IPv6 address + (::ffff:0:0/96), or is in the 6to4 mapping subnet (2002::/16), then + print nothing. + """ + if prefix.startswith(IPV4_PREFIX) or \ + prefix.startswith(IPV4_MAPPED_IPV6_PREFIX) or \ + prefix.startswith(IPV6_6TO4_PREFIX) or \ + prefix.startswith(TEREDO_IPV6_PREFIX): + return + v = int(prefix, 2) + shift = 128 - len(prefix) + lo = v << shift + hi = ((v+1) << shift) - 1 + entries.append((lo, hi, val)) + +def dump_tree(entries, node, dump_item, prefix=""): + """Walk the tree rooted at 'node', and call dump_item on the + format_datum output of every leaf of the tree.""" + + if isinstance(node, Tree): + dump_tree(entries, node.left_item, dump_item, prefix+"0") + dump_tree(entries, node.right_item, dump_item, prefix+"1") + elif isinstance(node, Datum): + assert node.kind == TP_MAP + code = format_datum(node) + if code: + dump_item(entries, prefix, code) + else: + assert node == None + +GEOIP_FILE_HEADER = """\ +# Last updated based on %s 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 +""" + +def write_geoip_file(filename, metadata, the_tree, dump_item, fmt_item): + """Write the entries in the_tree to filename.""" + entries = [] + dump_tree(entries, the_tree[0], dump_item) + fobj = open(filename, 'w') + + build_epoch = metadata[0].map['build_epoch'].int_val() + fobj.write(GEOIP_FILE_HEADER % + time.strftime('%B %-d %Y', time.gmtime(build_epoch))) + + unwritten = None + for entry in entries: + if not unwritten: + unwritten = entry + elif unwritten[1] + 1 == entry[0] and unwritten[2] == entry[2]: + unwritten = (unwritten[0], entry[1], unwritten[2]) + else: + fobj.write(fmt_item(unwritten)) + unwritten = entry + if unwritten: + fobj.write(fmt_item(unwritten)) + fobj.close() + +content = open(sys.argv[1], 'rb').read() +metadata, the_tree, _ = parse_mm_file(content) + +write_geoip_file('geoip', metadata, the_tree, dump_item_ipv4, fmt_item_ipv4) +write_geoip_file('geoip6', metadata, the_tree, dump_item_ipv6, fmt_item_ipv6) diff --git a/src/ext/csiphash.c b/src/ext/csiphash.c new file mode 100644 index 0000000000..c247886038 --- /dev/null +++ b/src/ext/csiphash.c @@ -0,0 +1,166 @@ +/* <MIT License> + Copyright (c) 2013 Marek Majkowski <marek@popcount.org> + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + </MIT License> + + Original location: + https://github.com/majek/csiphash/ + + Solution inspired by code from: + Samuel Neves (supercop/crypto_auth/siphash24/little) + djb (supercop/crypto_auth/siphash24/little2) + Jean-Philippe Aumasson (https://131002.net/siphash/siphash24.c) +*/ + +#include "torint.h" +#include "siphash.h" +/* for tor_assert */ +#include "util.h" +/* for memcpy */ +#include <string.h> + +#if defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && \ + __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ +# define _le64toh(x) ((uint64_t)(x)) +#elif defined(_WIN32) +/* Windows is always little endian, unless you're on xbox360 + http://msdn.microsoft.com/en-us/library/b0084kay(v=vs.80).aspx */ +# define _le64toh(x) ((uint64_t)(x)) +#elif defined(__APPLE__) +# include <libkern/OSByteOrder.h> +# define _le64toh(x) OSSwapLittleToHostInt64(x) +#elif defined(sun) || defined(__sun) +# include <sys/byteorder.h> +# define _le64toh(x) LE_64(x) + +#else + +/* See: http://sourceforge.net/p/predef/wiki/Endianness/ */ +# if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) +# include <sys/endian.h> +# else +# include <endian.h> +# endif +# if defined(__BYTE_ORDER) && defined(__LITTLE_ENDIAN) && \ + __BYTE_ORDER == __LITTLE_ENDIAN +# define _le64toh(x) ((uint64_t)(x)) +# else +# if defined(__OpenBSD__) +# define _le64toh(x) letoh64(x) +# else +# define _le64toh(x) le64toh(x) +# endif +# endif + +#endif + +#define ROTATE(x, b) (uint64_t)( ((x) << (b)) | ( (x) >> (64 - (b))) ) + +#define HALF_ROUND(a,b,c,d,s,t) \ + a += b; c += d; \ + b = ROTATE(b, s) ^ a; \ + d = ROTATE(d, t) ^ c; \ + a = ROTATE(a, 32); + +#define DOUBLE_ROUND(v0,v1,v2,v3) \ + HALF_ROUND(v0,v1,v2,v3,13,16); \ + HALF_ROUND(v2,v1,v0,v3,17,21); \ + HALF_ROUND(v0,v1,v2,v3,13,16); \ + HALF_ROUND(v2,v1,v0,v3,17,21); + +#if 0 +/* This does not seem to save very much runtime in the fast case, and it's + * potentially a big loss in the slow case where we're misaligned and we cross + * a cache line. */ +#if (defined(__i386) || defined(__i386__) || defined(_M_IX86) || \ + defined(__x86_64) || defined(__x86_64__) || \ + defined(_M_AMD64) || defined(_M_X64) || defined(__INTEL__)) +# define UNALIGNED_OK 1 +#endif +#endif + +uint64_t siphash24(const void *src, unsigned long src_sz, const struct sipkey *key) { + uint64_t k0 = key->k0; + uint64_t k1 = key->k1; + uint64_t b = (uint64_t)src_sz << 56; + const uint64_t *in = (uint64_t*)src; + + uint64_t t; + uint8_t *pt, *m; + + uint64_t v0 = k0 ^ 0x736f6d6570736575ULL; + uint64_t v1 = k1 ^ 0x646f72616e646f6dULL; + uint64_t v2 = k0 ^ 0x6c7967656e657261ULL; + uint64_t v3 = k1 ^ 0x7465646279746573ULL; + + while (src_sz >= 8) { +#ifdef UNALIGNED_OK + uint64_t mi = _le64toh(*in); +#else + uint64_t mi; + memcpy(&mi, in, 8); + mi = _le64toh(mi); +#endif + in += 1; src_sz -= 8; + v3 ^= mi; + DOUBLE_ROUND(v0,v1,v2,v3); + v0 ^= mi; + } + + t = 0; pt = (uint8_t*)&t; m = (uint8_t*)in; + switch (src_sz) { + case 7: pt[6] = m[6]; + case 6: pt[5] = m[5]; + case 5: pt[4] = m[4]; +#ifdef UNALIGNED_OK + case 4: *((uint32_t*)&pt[0]) = *((uint32_t*)&m[0]); break; +#else + case 4: pt[3] = m[3]; +#endif + case 3: pt[2] = m[2]; + case 2: pt[1] = m[1]; + case 1: pt[0] = m[0]; + } + b |= _le64toh(t); + + v3 ^= b; + DOUBLE_ROUND(v0,v1,v2,v3); + v0 ^= b; v2 ^= 0xff; + DOUBLE_ROUND(v0,v1,v2,v3); + DOUBLE_ROUND(v0,v1,v2,v3); + return (v0 ^ v1) ^ (v2 ^ v3); +} + + +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); + return siphash24(src, src_sz, &the_siphash_key); +} + +void siphash_set_global_key(const struct sipkey *key) +{ + tor_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/eventdns.c b/src/ext/eventdns.c index 8b934c4430..2b2988f1ec 100644 --- a/src/ext/eventdns.c +++ b/src/ext/eventdns.c @@ -842,10 +842,11 @@ name_parse(u8 *packet, int length, int *idx, char *name_out, size_t name_out_len } if (label_len > 63) return -1; if (cp != name_out) { - if (cp + 1 >= end) return -1; + if (cp >= name_out + name_out_len - 1) return -1; *cp++ = '.'; } - if (cp + label_len >= end) return -1; + if (label_len > name_out_len || + cp >= name_out + name_out_len - label_len) return -1; memcpy(cp, packet + j, label_len); cp += label_len; j += label_len; @@ -3014,7 +3015,8 @@ resolv_conf_parse_line(char *const start, int flags) { if (!strcmp(first_token, "nameserver") && (flags & DNS_OPTION_NAMESERVERS)) { const char *const nameserver = NEXT_TOKEN; - evdns_nameserver_ip_add(nameserver); + if (nameserver) + evdns_nameserver_ip_add(nameserver); } else if (!strcmp(first_token, "domain") && (flags & DNS_OPTION_SEARCH)) { const char *const domain = NEXT_TOKEN; if (domain) { diff --git a/src/ext/ht.h b/src/ext/ht.h index 669a2ed929..4a68673e6e 100644 --- a/src/ext/ht.h +++ b/src/ext/ht.h @@ -86,6 +86,7 @@ ht_string_hash(const char *s) } #endif +#if 0 /** Basic string hash function, from Python's str.__hash__() */ static INLINE unsigned ht_string_hash(const char *s) @@ -100,6 +101,7 @@ ht_string_hash(const char *s) h ^= (unsigned)(cp-(const unsigned char*)s); return h; } +#endif #ifndef HT_NO_CACHE_HASH_VALUES #define HT_SET_HASH_(elm, field, hashfn) \ @@ -168,7 +170,7 @@ ht_string_hash(const char *s) } \ /* Insert the element 'elm' into the table 'head'. Do not call this \ * function if the table might already contain a matching element. */ \ - static INLINE void \ + ATTR_UNUSED static INLINE void \ name##_HT_INSERT(struct name *head, struct type *elm) \ { \ struct type **p; \ @@ -183,7 +185,7 @@ ht_string_hash(const char *s) /* Insert the element 'elm' into the table 'head'. If there already \ * a matching element in the table, replace that element and return \ * it. */ \ - static INLINE struct type * \ + ATTR_UNUSED static INLINE struct type * \ name##_HT_REPLACE(struct name *head, struct type *elm) \ { \ struct type **p, *r; \ @@ -204,7 +206,7 @@ ht_string_hash(const char *s) } \ /* Remove any element matching 'elm' from the table 'head'. If such \ * an element is found, return it; otherwise return NULL. */ \ - static INLINE struct type * \ + ATTR_UNUSED static INLINE struct type * \ name##_HT_REMOVE(struct name *head, struct type *elm) \ { \ struct type **p, *r; \ @@ -222,11 +224,11 @@ ht_string_hash(const char *s) * using 'data' as its second argument. If the function returns \ * nonzero, remove the most recently examined element before invoking \ * the function again. */ \ - static INLINE void \ + ATTR_UNUSED static INLINE void \ name##_HT_FOREACH_FN(struct name *head, \ int (*fn)(struct type *, void *), \ void *data) \ - { \ +{ \ unsigned idx; \ struct type **p, **nextp, *next; \ if (!head->hth_table) \ @@ -248,7 +250,7 @@ ht_string_hash(const char *s) /* Return a pointer to the first element in the table 'head', under \ * an arbitrary order. This order is stable under remove operations, \ * but not under others. If the table is empty, return NULL. */ \ - static INLINE struct type ** \ + ATTR_UNUSED static INLINE struct type ** \ name##_HT_START(struct name *head) \ { \ unsigned b = 0; \ @@ -264,7 +266,7 @@ ht_string_hash(const char *s) * NULL. If 'elm' is to be removed from the table, you must call \ * this function for the next value before you remove it. \ */ \ - static INLINE struct type ** \ + ATTR_UNUSED static INLINE struct type ** \ name##_HT_NEXT(struct name *head, struct type **elm) \ { \ if ((*elm)->field.hte_next) { \ @@ -280,7 +282,7 @@ ht_string_hash(const char *s) return NULL; \ } \ } \ - static INLINE struct type ** \ + ATTR_UNUSED static INLINE struct type ** \ name##_HT_NEXT_RMV(struct name *head, struct type **elm) \ { \ unsigned h = HT_ELT_HASH_(*elm, field, hashfn); \ @@ -301,14 +303,16 @@ ht_string_hash(const char *s) #define HT_GENERATE(name, type, field, hashfn, eqfn, load, mallocfn, \ reallocfn, freefn) \ + /* Primes that aren't too far from powers of two. We stop at */ \ + /* P=402653189 because P*sizeof(void*) is less than SSIZE_MAX */ \ + /* even on a 32-bit platform. */ \ static unsigned name##_PRIMES[] = { \ 53, 97, 193, 389, \ 769, 1543, 3079, 6151, \ 12289, 24593, 49157, 98317, \ 196613, 393241, 786433, 1572869, \ 3145739, 6291469, 12582917, 25165843, \ - 50331653, 100663319, 201326611, 402653189, \ - 805306457, 1610612741 \ + 50331653, 100663319, 201326611, 402653189 \ }; \ static unsigned name##_N_PRIMES = \ (unsigned)(sizeof(name##_PRIMES)/sizeof(name##_PRIMES[0])); \ diff --git a/src/ext/include.am b/src/ext/include.am index ea7e58e79e..26e194e88e 100644 --- a/src/ext/include.am +++ b/src/ext/include.am @@ -10,7 +10,8 @@ EXTHEADERS = \ src/ext/strlcat.c \ src/ext/strlcpy.c \ src/ext/tinytest_macros.h \ - src/ext/tor_queue.h + src/ext/tor_queue.h \ + src/ext/siphash.h noinst_HEADERS+= $(EXTHEADERS) diff --git a/src/ext/siphash.h b/src/ext/siphash.h new file mode 100644 index 0000000000..d9b34b8980 --- /dev/null +++ b/src/ext/siphash.h @@ -0,0 +1,13 @@ +#ifndef SIPHASH_H +#define SIPHASH_H + +struct sipkey { + uint64_t k0; + uint64_t k1; +}; +uint64_t siphash24(const void *src, unsigned long src_sz, const struct sipkey *key); + +void siphash_set_global_key(const struct sipkey *key); +uint64_t siphash24g(const void *src, unsigned long src_sz); + +#endif diff --git a/src/ext/tinytest.c b/src/ext/tinytest.c index 4d9afacce4..cc054ad340 100644 --- a/src/ext/tinytest.c +++ b/src/ext/tinytest.c @@ -31,6 +31,8 @@ #include <string.h> #include <assert.h> +#ifndef NO_FORKING + #ifdef _WIN32 #include <windows.h> #else @@ -39,6 +41,17 @@ #include <unistd.h> #endif +#if defined(__APPLE__) && defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) +#if (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1060 && \ + __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1070) +/* Workaround for a stupid bug in OSX 10.6 */ +#define FORK_BREAKS_GCOV +#include <vproc.h> +#endif +#endif + +#endif /* !NO_FORKING */ + #ifndef __GNUC__ #define __attribute__(x) #endif @@ -58,6 +71,8 @@ static int opt_nofork = 0; /**< Suppress calls to fork() for debugging. */ static int opt_verbosity = 1; /**< -==quiet,0==terse,1==normal,2==verbose */ const char *verbosity_flag = ""; +const struct testlist_alias_t *cfg_aliases=NULL; + enum outcome { SKIP=2, OK=1, FAIL=0 }; static enum outcome cur_test_outcome = 0; const char *cur_test_prefix = NULL; /**< prefix of the current test group */ @@ -71,6 +86,7 @@ static char commandname[MAX_PATH+1]; static void usage(struct testgroup_t *groups, int list_groups) __attribute__((noreturn)); +static int process_test_option(struct testgroup_t *groups, const char *test); static enum outcome testcase_run_bare_(const struct testcase_t *testcase) @@ -99,6 +115,8 @@ testcase_run_bare_(const struct testcase_t *testcase) #define MAGIC_EXITCODE 42 +#ifndef NO_FORKING + static enum outcome testcase_run_forked_(const struct testgroup_t *group, const struct testcase_t *testcase) @@ -160,6 +178,9 @@ testcase_run_forked_(const struct testgroup_t *group, if (opt_verbosity>0) printf("[forking] "); pid = fork(); +#ifdef FORK_BREAKS_GCOV + vproc_transaction_begin(0); +#endif if (!pid) { /* child. */ int test_r, write_r; @@ -196,16 +217,19 @@ testcase_run_forked_(const struct testgroup_t *group, #endif } +#endif /* !NO_FORKING */ + int testcase_run_one(const struct testgroup_t *group, const struct testcase_t *testcase) { enum outcome outcome; - if (testcase->flags & TT_SKIP) { + if (testcase->flags & (TT_SKIP|TT_OFF_BY_DEFAULT)) { if (opt_verbosity>0) - printf("%s%s: SKIPPED\n", - group->prefix, testcase->name); + printf("%s%s: %s\n", + group->prefix, testcase->name, + (testcase->flags & TT_SKIP) ? "SKIPPED" : "DISABLED"); ++n_skipped; return SKIP; } @@ -218,9 +242,13 @@ testcase_run_one(const struct testgroup_t *group, cur_test_name = testcase->name; } +#ifndef NO_FORKING if ((testcase->flags & TT_FORK) && !(opt_forked||opt_nofork)) { outcome = testcase_run_forked_(group, testcase); } else { +#else + { +#endif outcome = testcase_run_bare_(testcase); } @@ -247,7 +275,7 @@ testcase_run_one(const struct testgroup_t *group, } int -tinytest_set_flag_(struct testgroup_t *groups, const char *arg, unsigned long flag) +tinytest_set_flag_(struct testgroup_t *groups, const char *arg, int set, unsigned long flag) { int i, j; size_t length = LONGEST_TEST_NAME; @@ -257,12 +285,23 @@ tinytest_set_flag_(struct testgroup_t *groups, const char *arg, unsigned long fl length = strstr(arg,"..")-arg; for (i=0; groups[i].prefix; ++i) { for (j=0; groups[i].cases[j].name; ++j) { + struct testcase_t *testcase = &groups[i].cases[j]; snprintf(fullname, sizeof(fullname), "%s%s", - groups[i].prefix, groups[i].cases[j].name); - if (!flag) /* Hack! */ - printf(" %s\n", fullname); + groups[i].prefix, testcase->name); + if (!flag) { /* Hack! */ + printf(" %s", fullname); + if (testcase->flags & TT_OFF_BY_DEFAULT) + puts(" (Off by default)"); + else if (testcase->flags & TT_SKIP) + puts(" (DISABLED)"); + else + puts(""); + } if (!strncmp(fullname, arg, length)) { - groups[i].cases[j].flags |= flag; + if (set) + testcase->flags |= flag; + else + testcase->flags &= ~flag; ++found; } } @@ -275,15 +314,69 @@ usage(struct testgroup_t *groups, int list_groups) { puts("Options are: [--verbose|--quiet|--terse] [--no-fork]"); puts(" Specify tests by name, or using a prefix ending with '..'"); - puts(" To skip a test, list give its name prefixed with a colon."); + puts(" To skip a test, prefix its name with a colon."); + puts(" To enable a disabled test, prefix its name with a plus."); puts(" Use --list-tests for a list of tests."); if (list_groups) { puts("Known tests are:"); - tinytest_set_flag_(groups, "..", 0); + tinytest_set_flag_(groups, "..", 1, 0); } exit(0); } +static int +process_test_alias(struct testgroup_t *groups, const char *test) +{ + int i, j, n, r; + for (i=0; cfg_aliases && cfg_aliases[i].name; ++i) { + if (!strcmp(cfg_aliases[i].name, test)) { + n = 0; + for (j = 0; cfg_aliases[i].tests[j]; ++j) { + r = process_test_option(groups, cfg_aliases[i].tests[j]); + if (r<0) + return -1; + n += r; + } + return n; + } + } + printf("No such test alias as @%s!",test); + return -1; +} + +static int +process_test_option(struct testgroup_t *groups, const char *test) +{ + int flag = TT_ENABLED_; + int n = 0; + if (test[0] == '@') { + return process_test_alias(groups, test + 1); + } else if (test[0] == ':') { + ++test; + flag = TT_SKIP; + } else if (test[0] == '+') { + ++test; + ++n; + if (!tinytest_set_flag_(groups, test, 0, TT_OFF_BY_DEFAULT)) { + printf("No such test as %s!\n", test); + return -1; + } + } else { + ++n; + } + if (!tinytest_set_flag_(groups, test, 1, flag)) { + printf("No such test as %s!\n", test); + return -1; + } + return n; +} + +void +tinytest_set_aliases(const struct testlist_alias_t *aliases) +{ + cfg_aliases = aliases; +} + int tinytest_main(int c, const char **v, struct testgroup_t *groups) { @@ -321,24 +414,18 @@ tinytest_main(int c, const char **v, struct testgroup_t *groups) return -1; } } else { - const char *test = v[i]; - int flag = TT_ENABLED_; - if (test[0] == ':') { - ++test; - flag = TT_SKIP; - } else { - ++n; - } - if (!tinytest_set_flag_(groups, test, flag)) { - printf("No such test as %s!\n", v[i]); + int r = process_test_option(groups, v[i]); + if (r<0) return -1; - } + n += r; } } if (!n) - tinytest_set_flag_(groups, "..", TT_ENABLED_); + tinytest_set_flag_(groups, "..", 1, TT_ENABLED_); +#ifdef _IONBF setvbuf(stdout, NULL, _IONBF, 0); +#endif ++in_tinytest_main; for (i=0; groups[i].prefix; ++i) @@ -385,3 +472,29 @@ tinytest_set_test_skipped_(void) cur_test_outcome = SKIP; } +char * +tinytest_format_hex_(const void *val_, unsigned long len) +{ + const unsigned char *val = val_; + char *result, *cp; + size_t i; + int ellipses = 0; + + if (!val) + return strdup("null"); + if (len > 1024) { + ellipses = 3; + len = 1024; + } + if (!(result = malloc(len*2+4))) + return strdup("<allocation failure>"); + cp = result; + for (i=0;i<len;++i) { + *cp++ = "0123456789ABCDEF"[val[i] >> 4]; + *cp++ = "0123456789ABCDEF"[val[i] & 0x0f]; + } + while (ellipses--) + *cp++ = '.'; + *cp = 0; + return result; +} diff --git a/src/ext/tinytest.h b/src/ext/tinytest.h index bcac9f079c..ed07b26bc0 100644 --- a/src/ext/tinytest.h +++ b/src/ext/tinytest.h @@ -32,8 +32,10 @@ #define TT_SKIP (1<<1) /** Internal runtime flag for a test we've decided to run. */ #define TT_ENABLED_ (1<<2) +/** Flag for a test that's off by default. */ +#define TT_OFF_BY_DEFAULT (1<<3) /** If you add your own flags, make them start at this point. */ -#define TT_FIRST_USER_FLAG (1<<3) +#define TT_FIRST_USER_FLAG (1<<4) typedef void (*testcase_fn)(void *); @@ -64,6 +66,12 @@ struct testgroup_t { }; #define END_OF_GROUPS { NULL, NULL} +struct testlist_alias_t { + const char *name; + const char **tests; +}; +#define END_OF_ALIASES { NULL, NULL } + /** Implementation: called from a test to indicate failure, before logging. */ void tinytest_set_test_failed_(void); /** Implementation: called from a test to indicate that we're skipping. */ @@ -72,14 +80,19 @@ void tinytest_set_test_skipped_(void); int tinytest_get_verbosity_(void); /** Implementation: Set a flag on tests matching a name; returns number * of tests that matched. */ -int tinytest_set_flag_(struct testgroup_t *, const char *, unsigned long); +int tinytest_set_flag_(struct testgroup_t *, const char *, int set, unsigned long); +/** Implementation: Put a chunk of memory into hex. */ +char *tinytest_format_hex_(const void *, unsigned long); /** Set all tests in 'groups' matching the name 'named' to be skipped. */ #define tinytest_skip(groups, named) \ - tinytest_set_flag_(groups, named, TT_SKIP) + tinytest_set_flag_(groups, named, 1, TT_SKIP) /** Run a single testcase in a single group. */ int testcase_run_one(const struct testgroup_t *,const struct testcase_t *); + +void tinytest_set_aliases(const struct testlist_alias_t *aliases); + /** Run a set of testcases from an END_OF_GROUPS-terminated array of groups, as selected from the command line. */ int tinytest_main(int argc, const char **argv, struct testgroup_t *groups); diff --git a/src/ext/tinytest_demo.c b/src/ext/tinytest_demo.c index be95ce4c1d..634e112cb8 100644 --- a/src/ext/tinytest_demo.c +++ b/src/ext/tinytest_demo.c @@ -35,6 +35,13 @@ #include <stdlib.h> #include <string.h> #include <errno.h> +#include <time.h> + +#ifdef _WIN32 +#include <windows.h> +#else +#include <unistd.h> +#endif /* ============================================================ */ @@ -148,6 +155,10 @@ test_memcpy(void *ptr) memcpy(db->buffer2, db->buffer1, sizeof(db->buffer1)); tt_str_op(db->buffer1, ==, db->buffer2); + /* tt_mem_op() does a memcmp, as opposed to the strcmp in tt_str_op() */ + db->buffer2[100] = 3; /* Make the buffers unequal */ + tt_mem_op(db->buffer1, <, db->buffer2, sizeof(db->buffer1)); + /* Now we've allocated memory that's referenced by a local variable. The end block of the function will clean it up. */ mem = strdup("Hello world."); @@ -162,6 +173,27 @@ test_memcpy(void *ptr) free(mem); } +void +test_timeout(void *ptr) +{ + time_t t1, t2; + (void)ptr; + t1 = time(NULL); +#ifdef _WIN32 + Sleep(5000); +#else + sleep(5); +#endif + t2 = time(NULL); + + tt_int_op(t2-t1, >=, 4); + + tt_int_op(t2-t1, <=, 6); + + end: + ; +} + /* ============================================================ */ /* Now we need to make sure that our tests get invoked. First, you take @@ -178,6 +210,10 @@ struct testcase_t demo_tests[] = { its environment. */ { "memcpy", test_memcpy, TT_FORK, &data_buffer_setup }, + /* This flag is off-by-default, since it takes a while to run. You + * can enable it manually by passing +demo/timeout at the command line.*/ + { "timeout", test_timeout, TT_OFF_BY_DEFAULT }, + /* The array has to end with END_OF_TESTCASES. */ END_OF_TESTCASES }; @@ -192,6 +228,18 @@ struct testgroup_t groups[] = { END_OF_GROUPS }; +/* We can also define test aliases. These can be used for types of tests that + * cut across groups. */ +const char *alltests[] = { "+..", NULL }; +const char *slowtests[] = { "+demo/timeout", NULL }; +struct testlist_alias_t aliases[] = { + + { "ALL", alltests }, + { "SLOW", slowtests }, + + END_OF_ALIASES +}; + int main(int c, const char **v) @@ -211,5 +259,6 @@ main(int c, const char **v) "tinytest-demo" and "tinytest-demo .." mean the same thing. */ + tinytest_set_aliases(aliases); return tinytest_main(c, v, groups); } diff --git a/src/ext/tinytest_macros.h b/src/ext/tinytest_macros.h index 9ff69b1d50..db2dfcbe6b 100644 --- a/src/ext/tinytest_macros.h +++ b/src/ext/tinytest_macros.h @@ -144,6 +144,10 @@ tt_assert_test_fmt_type(a,b,str_test,type,test,type,fmt, \ {print_=value_;},{},die_on_fail) +#define tt_assert_test_type_opt(a,b,str_test,type,test,fmt,die_on_fail) \ + tt_assert_test_fmt_type(a,b,str_test,type,test,type,fmt, \ + {print_=value_?value_:"<NULL>";},{},die_on_fail) + /* Helper: assert that a op b, when cast to type. Format the values with * printf format fmt on failure. */ #define tt_assert_op_type(a,op,b,type,fmt) \ @@ -163,8 +167,19 @@ (val1_ op val2_),"%p",TT_EXIT_TEST_FUNCTION) #define tt_str_op(a,op,b) \ - tt_assert_test_type(a,b,#a" "#op" "#b,const char *, \ - (strcmp(val1_,val2_) op 0),"<%s>",TT_EXIT_TEST_FUNCTION) + tt_assert_test_type_opt(a,b,#a" "#op" "#b,const char *, \ + (val1_ && val2_ && strcmp(val1_,val2_) op 0),"<%s>", \ + TT_EXIT_TEST_FUNCTION) + +#define tt_mem_op(expr1, op, expr2, len) \ + tt_assert_test_fmt_type(expr1,expr2,#expr1" "#op" "#expr2, \ + const char *, \ + (val1_ && val2_ && memcmp(val1_, val2_, len) op 0), \ + char *, "%s", \ + { print_ = tinytest_format_hex_(value_, (len)); }, \ + { if (print_) free(print_); }, \ + TT_EXIT_TEST_FUNCTION \ + ); #define tt_want_int_op(a,op,b) \ tt_assert_test_type(a,b,#a" "#op" "#b,long,(val1_ op val2_),"%ld",(void)0) diff --git a/src/or/addressmap.c b/src/or/addressmap.c index 9bc79bd84b..998770a3db 100644 --- a/src/or/addressmap.c +++ b/src/or/addressmap.c @@ -45,7 +45,7 @@ typedef struct { char *new_address; time_t expires; - ENUM_BF(addressmap_entry_source_t) source:3; + addressmap_entry_source_bitfield_t source:3; unsigned src_wildcard:1; unsigned dst_wildcard:1; short num_resolve_failures; diff --git a/src/or/buffers.c b/src/or/buffers.c index 50016d3a86..e54751db28 100644 --- a/src/or/buffers.c +++ b/src/or/buffers.c @@ -62,6 +62,8 @@ static int parse_socks_client(const uint8_t *data, size_t datalen, int state, char **reason, ssize_t *drain_out); +#define DEBUG_CHUNK_ALLOC + /* Chunk manipulation functions */ /** A single chunk on a buffer or in a freelist. */ @@ -69,7 +71,12 @@ typedef struct chunk_t { struct chunk_t *next; /**< The next chunk on the buffer or freelist. */ size_t datalen; /**< The number of bytes stored in this chunk */ size_t memlen; /**< The number of usable bytes of storage in <b>mem</b>. */ +#ifdef DEBUG_CHUNK_ALLOC + size_t DBG_alloc; +#endif char *data; /**< A pointer to the first byte of data stored in <b>mem</b>. */ + uint32_t inserted_time; /**< Timestamp in truncated ms since epoch + * when this chunk was inserted. */ char mem[FLEXIBLE_ARRAY_MEMBER]; /**< The actual memory used for storage in * this chunk. */ } chunk_t; @@ -110,6 +117,9 @@ chunk_repack(chunk_t *chunk) chunk->data = &chunk->mem[0]; } +/** Keep track of total size of allocated chunks for consistency asserts */ +static size_t total_bytes_allocated_in_chunks = 0; + #if defined(ENABLE_BUF_FREELISTS) || defined(RUNNING_DOXYGEN) /** A freelist of chunks. */ typedef struct chunk_freelist_t { @@ -174,6 +184,11 @@ chunk_free_unchecked(chunk_t *chunk) } else { if (freelist) ++freelist->n_free; +#ifdef DEBUG_CHUNK_ALLOC + tor_assert(alloc == chunk->DBG_alloc); +#endif + tor_assert(total_bytes_allocated_in_chunks >= alloc); + total_bytes_allocated_in_chunks -= alloc; tor_free(chunk); } } @@ -200,6 +215,10 @@ chunk_new_with_alloc_size(size_t alloc) else ++n_freelist_miss; ch = tor_malloc(alloc); +#ifdef DEBUG_CHUNK_ALLOC + ch->DBG_alloc = alloc; +#endif + total_bytes_allocated_in_chunks += alloc; } ch->next = NULL; ch->datalen = 0; @@ -211,6 +230,14 @@ chunk_new_with_alloc_size(size_t alloc) static void chunk_free_unchecked(chunk_t *chunk) { + if (!chunk) + return; +#ifdef DEBUG_CHUNK_ALLOC + tor_assert(CHUNK_ALLOC_SIZE(chunk->memlen) == chunk->DBG_alloc); +#endif + tor_assert(total_bytes_allocated_in_chunks >= + CHUNK_ALLOC_SIZE(chunk->memlen)); + total_bytes_allocated_in_chunks -= CHUNK_ALLOC_SIZE(chunk->memlen); tor_free(chunk); } static INLINE chunk_t * @@ -220,7 +247,11 @@ chunk_new_with_alloc_size(size_t alloc) ch = tor_malloc(alloc); ch->next = NULL; ch->datalen = 0; +#ifdef DEBUG_CHUNK_ALLOC + ch->DBG_alloc = alloc; +#endif ch->memlen = CHUNK_SIZE_WITH_ALLOC(alloc); + total_bytes_allocated_in_chunks += alloc; ch->data = &ch->mem[0]; return ch; } @@ -232,11 +263,18 @@ static INLINE chunk_t * chunk_grow(chunk_t *chunk, size_t sz) { off_t offset; + size_t memlen_orig = chunk->memlen; tor_assert(sz > chunk->memlen); offset = chunk->data - chunk->mem; chunk = tor_realloc(chunk, CHUNK_ALLOC_SIZE(sz)); chunk->memlen = sz; chunk->data = chunk->mem + offset; +#ifdef DEBUG_CHUNK_ALLOC + tor_assert(chunk->DBG_alloc == CHUNK_ALLOC_SIZE(memlen_orig)); + chunk->DBG_alloc = CHUNK_ALLOC_SIZE(sz); +#endif + total_bytes_allocated_in_chunks += + CHUNK_ALLOC_SIZE(sz) - CHUNK_ALLOC_SIZE(memlen_orig); return chunk; } @@ -261,12 +299,14 @@ preferred_chunk_size(size_t target) } /** Remove from the freelists most chunks that have not been used since the - * last call to buf_shrink_freelists(). */ -void + * last call to buf_shrink_freelists(). Return the amount of memory + * freed. */ +size_t buf_shrink_freelists(int free_all) { #ifdef ENABLE_BUF_FREELISTS int i; + size_t total_freed = 0; disable_control_logging(); for (i = 0; freelists[i].alloc_size; ++i) { int slack = freelists[i].slack; @@ -282,7 +322,7 @@ buf_shrink_freelists(int free_all) chunk_t **chp = &freelists[i].head; chunk_t *chunk; while (n_to_skip) { - if (! (*chp)->next) { + if (!(*chp) || ! (*chp)->next) { log_warn(LD_BUG, "I wanted to skip %d chunks in the freelist for " "%d-byte chunks, but only found %d. (Length %d)", orig_n_to_skip, (int)freelists[i].alloc_size, @@ -298,6 +338,13 @@ buf_shrink_freelists(int free_all) *chp = NULL; while (chunk) { chunk_t *next = chunk->next; +#ifdef DEBUG_CHUNK_ALLOC + tor_assert(chunk->DBG_alloc == CHUNK_ALLOC_SIZE(chunk->memlen)); +#endif + tor_assert(total_bytes_allocated_in_chunks >= + CHUNK_ALLOC_SIZE(chunk->memlen)); + total_bytes_allocated_in_chunks -= CHUNK_ALLOC_SIZE(chunk->memlen); + total_freed += CHUNK_ALLOC_SIZE(chunk->memlen); tor_free(chunk); chunk = next; --n_to_free; @@ -315,18 +362,21 @@ buf_shrink_freelists(int free_all) } // tor_assert(!n_to_free); freelists[i].cur_length = new_length; + tor_assert(orig_n_to_skip == new_length); log_info(LD_MM, "Cleaned freelist for %d-byte chunks: original " - "length %d, kept %d, dropped %d.", + "length %d, kept %d, dropped %d. New length is %d", (int)freelists[i].alloc_size, orig_length, - orig_n_to_skip, orig_n_to_free); + orig_n_to_skip, orig_n_to_free, new_length); } freelists[i].lowest_length = freelists[i].cur_length; assert_freelist_ok(&freelists[i]); } done: enable_control_logging(); + return total_freed; #else (void) free_all; + return 0; #endif } @@ -376,9 +426,10 @@ struct buf_t { * * If <b>nulterminate</b> is true, ensure that there is a 0 byte in * buf->head->mem right after all the data. */ -static void +STATIC void buf_pullup(buf_t *buf, size_t bytes, int nulterminate) { + /* XXXX nothing uses nulterminate; remove it. */ chunk_t *dest, *src; size_t capacity; if (!buf->head) @@ -450,6 +501,20 @@ buf_pullup(buf_t *buf, size_t bytes, int nulterminate) check(); } +#ifdef TOR_UNIT_TESTS +void +buf_get_first_chunk_data(const buf_t *buf, const char **cp, size_t *sz) +{ + if (!buf || !buf->head) { + *cp = NULL; + *sz = 0; + } else { + *cp = buf->head->data; + *sz = buf->head->datalen; + } +} +#endif + /** Resize buf so it won't hold extra memory that we haven't been * using lately. */ @@ -504,6 +569,12 @@ buf_new(void) return buf; } +size_t +buf_get_default_chunk_size(const buf_t *buf) +{ + return buf->default_chunk_size; +} + /** Remove all data from <b>buf</b>. */ void buf_clear(buf_t *buf) @@ -531,7 +602,7 @@ buf_allocation(const buf_t *buf) size_t total = 0; const chunk_t *chunk; for (chunk = buf->head; chunk; chunk = chunk->next) { - total += chunk->memlen; + total += CHUNK_ALLOC_SIZE(chunk->memlen); } return total; } @@ -564,6 +635,10 @@ static chunk_t * chunk_copy(const chunk_t *in_chunk) { chunk_t *newch = tor_memdup(in_chunk, CHUNK_ALLOC_SIZE(in_chunk->memlen)); + total_bytes_allocated_in_chunks += CHUNK_ALLOC_SIZE(in_chunk->memlen); +#ifdef DEBUG_CHUNK_ALLOC + newch->DBG_alloc = CHUNK_ALLOC_SIZE(in_chunk->memlen); +#endif newch->next = NULL; if (in_chunk->data) { off_t offset = in_chunk->data - in_chunk->mem; @@ -599,6 +674,7 @@ static chunk_t * buf_add_chunk_with_capacity(buf_t *buf, size_t capacity, int capped) { chunk_t *chunk; + struct timeval now; if (CHUNK_ALLOC_SIZE(capacity) < buf->default_chunk_size) { chunk = chunk_new_with_alloc_size(buf->default_chunk_size); } else if (capped && CHUNK_ALLOC_SIZE(capacity) > MAX_CHUNK_ALLOC) { @@ -606,6 +682,10 @@ buf_add_chunk_with_capacity(buf_t *buf, size_t capacity, int capped) } else { chunk = chunk_new_with_alloc_size(preferred_chunk_size(capacity)); } + + tor_gettimeofday_cached_monotonic(&now); + chunk->inserted_time = (uint32_t)tv_to_msec(&now); + if (buf->tail) { tor_assert(buf->head); buf->tail->next = chunk; @@ -618,6 +698,26 @@ buf_add_chunk_with_capacity(buf_t *buf, size_t capacity, int capped) return chunk; } +/** Return the age of the oldest chunk in the buffer <b>buf</b>, in + * milliseconds. Requires the current time, in truncated milliseconds since + * the epoch, as its input <b>now</b>. + */ +uint32_t +buf_get_oldest_chunk_timestamp(const buf_t *buf, uint32_t now) +{ + if (buf->head) { + return now - buf->head->inserted_time; + } else { + return 0; + } +} + +size_t +buf_get_total_allocation(void) +{ + return total_bytes_allocated_in_chunks; +} + /** Read up to <b>at_most</b> bytes from the socket <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, diff --git a/src/or/buffers.h b/src/or/buffers.h index 48b1185204..a201282da6 100644 --- a/src/or/buffers.h +++ b/src/or/buffers.h @@ -16,17 +16,21 @@ buf_t *buf_new(void); buf_t *buf_new_with_capacity(size_t size); +size_t buf_get_default_chunk_size(const buf_t *buf); void buf_free(buf_t *buf); void buf_clear(buf_t *buf); buf_t *buf_copy(const buf_t *buf); void buf_shrink(buf_t *buf); -void buf_shrink_freelists(int free_all); +size_t buf_shrink_freelists(int free_all); void buf_dump_freelist_sizes(int severity); size_t buf_datalen(const buf_t *buf); size_t buf_allocation(const buf_t *buf); size_t buf_slack(const buf_t *buf); +uint32_t buf_get_oldest_chunk_timestamp(const buf_t *buf, uint32_t now); +size_t buf_get_total_allocation(void); + int read_to_buf(tor_socket_t s, size_t at_most, buf_t *buf, int *reached_eof, int *socket_error); int read_to_buf_tls(tor_tls_t *tls, size_t at_most, buf_t *buf); @@ -100,6 +104,8 @@ void assert_buf_ok(buf_t *buf); #ifdef BUFFERS_PRIVATE STATIC int buf_find_string_offset(const buf_t *buf, const char *s, size_t n); +STATIC void buf_pullup(buf_t *buf, size_t bytes, int nulterminate); +void buf_get_first_chunk_data(const buf_t *buf, const char **cp, size_t *sz); #endif #endif diff --git a/src/or/channel.c b/src/or/channel.c index a345bab20c..63af2f91c0 100644 --- a/src/or/channel.c +++ b/src/or/channel.c @@ -95,12 +95,7 @@ typedef struct channel_idmap_entry_s { static INLINE unsigned channel_idmap_hash(const channel_idmap_entry_t *ent) { - const unsigned *a = (const unsigned *)ent->digest; -#if SIZEOF_INT == 4 - return a[0] ^ a[1] ^ a[2] ^ a[3] ^ a[4]; -#elif SIZEOF_INT == 8 - return a[0] ^ a[1]; -#endif + return (unsigned) siphash24g(ent->digest, DIGEST_LEN); } static INLINE int @@ -733,8 +728,8 @@ channel_init(channel_t *chan) /* Init timestamp */ chan->timestamp_last_added_nonpadding = time(NULL); - /* Init next_circ_id */ - chan->next_circ_id = crypto_rand_int(1 << 15); + /* Warn about exhausted circuit IDs no more than hourly. */ + chan->last_warned_circ_ids_exhausted.rate = 3600; /* Initialize queues. */ TOR_SIMPLEQ_INIT(&chan->incoming_queue); @@ -805,7 +800,7 @@ channel_free(channel_t *chan) /* Get rid of cmux */ if (chan->cmux) { - circuitmux_detach_all_circuits(chan->cmux); + circuitmux_detach_all_circuits(chan->cmux, NULL); circuitmux_mark_destroyed_circids_usable(chan->cmux, chan); circuitmux_free(chan->cmux); chan->cmux = NULL; @@ -2865,7 +2860,7 @@ channel_free_list(smartlist_t *channels, int mark_for_close) channel_state_to_string(curr->state), curr->state); /* Detach circuits early so they can find the channel */ if (curr->cmux) { - circuitmux_detach_all_circuits(curr->cmux); + circuitmux_detach_all_circuits(curr->cmux, NULL); } channel_unregister(curr); if (mark_for_close) { diff --git a/src/or/channel.h b/src/or/channel.h index 7e3f5ad075..bd9a02f323 100644 --- a/src/or/channel.h +++ b/src/or/channel.h @@ -21,7 +21,7 @@ struct cell_queue_entry_s; TOR_SIMPLEQ_HEAD(chan_cell_queue, cell_queue_entry_s) incoming_queue; typedef struct chan_cell_queue chan_cell_queue_t; -/* +/** * Channel struct; see the channel_t typedef in or.h. A channel is an * abstract interface for the OR-to-OR connection, similar to connection_or_t, * but without the strong coupling to the underlying TLS implementation. They @@ -31,18 +31,18 @@ typedef struct chan_cell_queue chan_cell_queue_t; */ struct channel_s { - /* Magic number for type-checking cast macros */ + /** Magic number for type-checking cast macros */ uint32_t magic; - /* Current channel state */ + /** Current channel state */ channel_state_t state; - /* Globally unique ID number for a channel over the lifetime of a Tor + /** Globally unique ID number for a channel over the lifetime of a Tor * process. */ uint64_t global_identifier; - /* Should we expect to see this channel in the channel lists? */ + /** Should we expect to see this channel in the channel lists? */ unsigned char registered:1; /** has this channel ever been open? */ @@ -57,28 +57,28 @@ struct channel_s { CHANNEL_CLOSE_FOR_ERROR } reason_for_closing; - /* Timestamps for both cell channels and listeners */ + /** Timestamps for both cell channels and listeners */ time_t timestamp_created; /* Channel created */ time_t timestamp_active; /* Any activity */ /* Methods implemented by the lower layer */ - /* Free a channel */ + /** Free a channel */ void (*free)(channel_t *); - /* Close an open channel */ + /** Close an open channel */ void (*close)(channel_t *); - /* Describe the transport subclass for this channel */ + /** Describe the transport subclass for this channel */ const char * (*describe_transport)(channel_t *); - /* Optional method to dump transport-specific statistics on the channel */ + /** Optional method to dump transport-specific statistics on the channel */ void (*dumpstats)(channel_t *, int); - /* Registered handlers for incoming cells */ + /** Registered handlers for incoming cells */ channel_cell_handler_fn_ptr cell_handler; channel_var_cell_handler_fn_ptr var_cell_handler; /* Methods implemented by the lower layer */ - /* + /** * Ask the underlying transport what the remote endpoint address is, in * a tor_addr_t. This is optional and subclasses may leave this NULL. * If they implement it, they should write the address out to the @@ -90,75 +90,70 @@ struct channel_s { #define GRD_FLAG_ORIGINAL 1 #define GRD_FLAG_ADDR_ONLY 2 - /* + /** * Get a text description of the remote endpoint; canonicalized if the flag * GRD_FLAG_ORIGINAL is not set, or the one we originally connected * to/received from if it is. If GRD_FLAG_ADDR_ONLY is set, we return only * the original address. */ const char * (*get_remote_descr)(channel_t *, int); - /* Check if the lower layer has queued writes */ + /** Check if the lower layer has queued writes */ int (*has_queued_writes)(channel_t *); - /* + /** * If the second param is zero, ask the lower layer if this is * 'canonical', for a transport-specific definition of canonical; if * it is 1, ask if the answer to the preceding query is safe to rely * on. */ int (*is_canonical)(channel_t *, int); - /* Check if this channel matches a specified extend_info_t */ + /** Check if this channel matches a specified extend_info_t */ int (*matches_extend_info)(channel_t *, extend_info_t *); - /* Check if this channel matches a target address when extending */ + /** Check if this channel matches a target address when extending */ int (*matches_target)(channel_t *, const tor_addr_t *); - /* Write a cell to an open channel */ + /** Write a cell to an open channel */ int (*write_cell)(channel_t *, cell_t *); - /* Write a packed cell to an open channel */ + /** Write a packed cell to an open channel */ int (*write_packed_cell)(channel_t *, packed_cell_t *); - /* Write a variable-length cell to an open channel */ + /** Write a variable-length cell to an open channel */ int (*write_var_cell)(channel_t *, var_cell_t *); - /* + /** * Hash of the public RSA key for the other side's identity key, or * zeroes if the other side hasn't shown us a valid identity key. */ char identity_digest[DIGEST_LEN]; - /* Nickname of the OR on the other side, or NULL if none. */ + /** Nickname of the OR on the other side, or NULL if none. */ char *nickname; - /* + /** * Linked list of channels with the same identity digest, for the * digest->channel map */ TOR_LIST_ENTRY(channel_s) next_with_same_id; - /* List of incoming cells to handle */ + /** List of incoming cells to handle */ chan_cell_queue_t incoming_queue; - /* List of queued outgoing cells */ + /** List of queued outgoing cells */ chan_cell_queue_t outgoing_queue; - /* Circuit mux for circuits sending on this channel */ + /** Circuit mux for circuits sending on this channel */ circuitmux_t *cmux; - /* Circuit ID generation stuff for use by circuitbuild.c */ + /** Circuit ID generation stuff for use by circuitbuild.c */ - /* + /** * When we send CREATE cells along this connection, which half of the * space should we use? */ - ENUM_BF(circ_id_type_t) circ_id_type:2; + circ_id_type_bitfield_t circ_id_type:2; /** DOCDOC*/ unsigned wide_circ_ids:1; - /* - * Which circ_id do we try to use next on this connection? This is - * always in the range 0..1<<15-1. - */ - circid_t next_circ_id; - /* For how many circuits are we n_chan? What about p_chan? */ + /** For how many circuits are we n_chan? What about p_chan? */ unsigned int num_n_circuits, num_p_circuits; - /* + /** * True iff this channel shouldn't get any new circs attached to it, * because the connection is too old, or because there's a better one. * More generally, this flag is used to note an unhealthy connection; @@ -182,6 +177,10 @@ struct channel_s { */ unsigned int is_local:1; + /** Have we logged a warning about circID exhaustion on this channel? + * If so, when? */ + ratelim_t last_warned_circ_ids_exhausted; + /** Channel timestamps for cell channels */ time_t timestamp_client; /* Client used this, according to relay.c */ time_t timestamp_drained; /* Output queue empty */ @@ -210,7 +209,7 @@ struct channel_listener_s { */ uint64_t global_identifier; - /* Should we expect to see this channel in the channel lists? */ + /** Should we expect to see this channel in the channel lists? */ unsigned char registered:1; /** Why did we close? @@ -222,31 +221,31 @@ struct channel_listener_s { CHANNEL_LISTENER_CLOSE_FOR_ERROR } reason_for_closing; - /* Timestamps for both cell channels and listeners */ + /** Timestamps for both cell channels and listeners */ time_t timestamp_created; /* Channel created */ time_t timestamp_active; /* Any activity */ /* Methods implemented by the lower layer */ - /* Free a channel */ + /** Free a channel */ void (*free)(channel_listener_t *); - /* Close an open channel */ + /** Close an open channel */ void (*close)(channel_listener_t *); - /* Describe the transport subclass for this channel */ + /** Describe the transport subclass for this channel */ const char * (*describe_transport)(channel_listener_t *); - /* Optional method to dump transport-specific statistics on the channel */ + /** Optional method to dump transport-specific statistics on the channel */ void (*dumpstats)(channel_listener_t *, int); - /* Registered listen handler to call on incoming connection */ + /** Registered listen handler to call on incoming connection */ channel_listener_fn_ptr listener; - /* List of pending incoming connections */ + /** List of pending incoming connections */ smartlist_t *incoming_list; - /* Timestamps for listeners */ + /** Timestamps for listeners */ time_t timestamp_accepted; - /* Counters for listeners */ + /** Counters for listeners */ uint64_t n_accepted; }; diff --git a/src/or/channeltls.c b/src/or/channeltls.c index 959ec47449..539ead193e 100644 --- a/src/or/channeltls.c +++ b/src/or/channeltls.c @@ -1282,7 +1282,6 @@ static void channel_tls_process_versions_cell(var_cell_t *cell, channel_tls_t *chan) { int highest_supported_version = 0; - const uint8_t *cp, *end; int started_here = 0; tor_assert(cell); @@ -1322,11 +1321,15 @@ channel_tls_process_versions_cell(var_cell_t *cell, channel_tls_t *chan) } tor_assert(chan->conn->handshake_state); - end = cell->payload + cell->payload_len; - for (cp = cell->payload; cp+1 < end; cp += 2) { - uint16_t v = ntohs(get_uint16(cp)); - if (is_or_protocol_version_known(v) && v > highest_supported_version) - highest_supported_version = v; + + { + int i; + const uint8_t *cp = cell->payload; + for (i = 0; i < cell->payload_len / 2; ++i, cp += 2) { + uint16_t v = ntohs(get_uint16(cp)); + if (is_or_protocol_version_known(v) && v > highest_supported_version) + highest_supported_version = v; + } } if (!highest_supported_version) { log_fn(LOG_PROTOCOL_WARN, LD_OR, @@ -1685,12 +1688,16 @@ channel_tls_process_certs_cell(var_cell_t *cell, channel_tls_t *chan) for (i = 0; i < n_certs; ++i) { uint8_t cert_type; uint16_t cert_len; - if (ptr + 3 > cell->payload + cell->payload_len) { + if (cell->payload_len < 3) + goto truncated; + if (ptr > cell->payload + cell->payload_len - 3) { goto truncated; } cert_type = *ptr; cert_len = ntohs(get_uint16(ptr+1)); - if (ptr + 3 + cert_len > cell->payload + cell->payload_len) { + if (cell->payload_len < 3 + cert_len) + goto truncated; + if (ptr > cell->payload + cell->payload_len - cert_len - 3) { goto truncated; } if (cert_type == OR_CERT_TYPE_TLS_LINK || diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c index ffcca4666c..cd92326b3a 100644 --- a/src/or/circuitbuild.c +++ b/src/or/circuitbuild.c @@ -77,18 +77,27 @@ channel_connect_for_circuit(const tor_addr_t *addr, uint16_t port, return chan; } -/** Iterate over values of circ_id, starting from conn-\>next_circ_id, - * and with the high bit specified by conn-\>circ_id_type, until we get - * a circ_id that is not in use by any other circuit on that conn. +/** Search for a value for circ_id that we can use on <b>chan</b> for an + * outbound circuit, until we get a circ_id that is not in use by any other + * circuit on that conn. * * Return it, or 0 if can't get a unique circ_id. */ static circid_t get_unique_circ_id_by_chan(channel_t *chan) { +/* This number is chosen somewhat arbitrarily; see comment below for more + * info. When the space is 80% full, it gives a one-in-a-million failure + * chance; when the space is 90% full, it gives a one-in-850 chance; and when + * the space is 95% full, it gives a one-in-26 failure chance. That seems + * okay, though you could make a case IMO for anything between N=32 and + * N=256. */ +#define MAX_CIRCID_ATTEMPTS 64 + int in_use; + unsigned n_with_circ = 0, n_pending_destroy = 0; circid_t test_circ_id; circid_t attempts=0; - circid_t high_bit, max_range; + circid_t high_bit, max_range, mask; tor_assert(chan); @@ -98,25 +107,52 @@ get_unique_circ_id_by_chan(channel_t *chan) "a client with no identity."); return 0; } - max_range = (chan->wide_circ_ids) ? (1u<<31) : (1u<<15); + max_range = (chan->wide_circ_ids) ? (1u<<31) : (1u<<15); + mask = max_range - 1; high_bit = (chan->circ_id_type == CIRC_ID_TYPE_HIGHER) ? max_range : 0; do { - /* Sequentially iterate over test_circ_id=1...max_range until we find a - * circID such that (high_bit|test_circ_id) is not already used. */ - test_circ_id = chan->next_circ_id++; - if (test_circ_id == 0 || test_circ_id >= max_range) { - test_circ_id = 1; - chan->next_circ_id = 2; - } - if (++attempts > max_range) { - /* Make sure we don't loop forever if all circ_id's are used. This - * matters because it's an external DoS opportunity. + if (++attempts > MAX_CIRCID_ATTEMPTS) { + /* Make sure we don't loop forever because all circuit IDs are used. + * + * Once, we would try until we had tried every possible circuit ID. But + * that's quite expensive. Instead, we try MAX_CIRCID_ATTEMPTS random + * circuit IDs, and then give up. + * + * This potentially causes us to give up early if our circuit ID space + * is nearly full. If we have N circuit IDs in use, then we will reject + * a new circuit with probability (N / max_range) ^ MAX_CIRCID_ATTEMPTS. + * This means that in practice, a few percent of our circuit ID capacity + * will go unused. + * + * The alternative here, though, is to do a linear search over the + * whole circuit ID space every time we extend a circuit, which is + * not so great either. */ - log_warn(LD_CIRC,"No unused circ IDs. Failing."); + log_fn_ratelim(&chan->last_warned_circ_ids_exhausted, LOG_WARN, + LD_CIRC,"No unused circIDs found on channel %s wide " + "circID support, with %u inbound and %u outbound circuits. " + "Found %u circuit IDs in use by circuits, and %u with " + "pending destroy cells." + "Failing a circuit.", + chan->wide_circ_ids ? "with" : "without", + chan->num_p_circuits, chan->num_n_circuits, + n_with_circ, n_pending_destroy); return 0; } + + do { + crypto_rand((char*) &test_circ_id, sizeof(test_circ_id)); + test_circ_id &= mask; + } while (test_circ_id == 0); + test_circ_id |= high_bit; - } while (circuit_id_in_use_on_channel(test_circ_id, chan)); + + in_use = circuit_id_in_use_on_channel(test_circ_id, chan); + if (in_use == 1) + ++n_with_circ; + else if (in_use == 2) + ++n_pending_destroy; + } while (in_use); return test_circ_id; } @@ -277,9 +313,9 @@ circuit_rep_hist_note_result(origin_circuit_t *circ) static int circuit_cpath_supports_ntor(const origin_circuit_t *circ) { - crypt_path_t *head = circ->cpath, *cpath = circ->cpath; + crypt_path_t *head, *cpath; - cpath = head; + cpath = head = circ->cpath; do { if (cpath->extend_info && !tor_mem_is_zero( @@ -561,7 +597,9 @@ circuit_deliver_create_cell(circuit_t *circ, const create_cell_t *create_cell, id = get_unique_circ_id_by_chan(circ->n_chan); if (!id) { - log_warn(LD_CIRC,"failed to get unique circID."); + static ratelim_t circid_warning_limit = RATELIM_INIT(9600); + log_fn_ratelim(&circid_warning_limit, LOG_WARN, LD_CIRC, + "failed to get unique circID."); return -1; } log_debug(LD_CIRC,"Chosen circID %u.", (unsigned)id); @@ -606,27 +644,30 @@ int inform_testing_reachability(void) { char dirbuf[128]; + char *address; const routerinfo_t *me = router_get_my_routerinfo(); if (!me) return 0; + address = tor_dup_ip(me->addr); control_event_server_status(LOG_NOTICE, "CHECKING_REACHABILITY ORADDRESS=%s:%d", - me->address, me->or_port); + address, me->or_port); if (me->dir_port) { tor_snprintf(dirbuf, sizeof(dirbuf), " and DirPort %s:%d", - me->address, me->dir_port); + address, me->dir_port); control_event_server_status(LOG_NOTICE, "CHECKING_REACHABILITY DIRADDRESS=%s:%d", - me->address, me->dir_port); + address, me->dir_port); } log_notice(LD_OR, "Now checking whether ORPort %s:%d%s %s reachable... " "(this may take up to %d minutes -- look for log " "messages indicating success)", - me->address, me->or_port, + address, me->or_port, me->dir_port ? dirbuf : "", me->dir_port ? "are" : "is", TIMEOUT_UNTIL_UNREACHABILITY_COMPLAINT/60); + tor_free(address); return 1; } diff --git a/src/or/circuitlist.c b/src/or/circuitlist.c index 9474896367..90fc93f3a8 100644 --- a/src/or/circuitlist.c +++ b/src/or/circuitlist.c @@ -32,6 +32,7 @@ #include "rephist.h" #include "routerlist.h" #include "routerset.h" + #include "ht.h" /********* START VARIABLES **********/ @@ -45,6 +46,9 @@ static smartlist_t *circuits_pending_chans = NULL; static void circuit_free_cpath_node(crypt_path_t *victim); static void cpath_ref_decref(crypt_path_reference_t *cpath_ref); +//static void circuit_set_rend_token(or_circuit_t *circ, int is_rend_circ, +// const uint8_t *token); +static void circuit_clear_rend_token(or_circuit_t *circ); /********* END VARIABLES ************/ @@ -434,8 +438,8 @@ circuit_close_all_marked(void) } /** Return the head of the global linked list of circuits. */ -struct global_circuitlist_s * -circuit_get_global_list(void) +MOCK_IMPL(struct global_circuitlist_s *, +circuit_get_global_list,(void)) { return &global_circuitlist; } @@ -756,6 +760,8 @@ circuit_free(circuit_t *circ) crypto_cipher_free(ocirc->n_crypto); crypto_digest_free(ocirc->n_digest); + circuit_clear_rend_token(ocirc); + if (ocirc->rend_splice) { or_circuit_t *other = ocirc->rend_splice; tor_assert(other->base_.magic == OR_CIRCUIT_MAGIC); @@ -833,6 +839,18 @@ circuit_free_all(void) smartlist_free(circuits_pending_chans); circuits_pending_chans = NULL; + { + chan_circid_circuit_map_t **elt, **next, *c; + for (elt = HT_START(chan_circid_map, &chan_circid_map); + elt; + elt = next) { + c = *elt; + next = HT_NEXT_RMV(chan_circid_map, &chan_circid_map, elt); + + tor_assert(c->circuit == NULL); + tor_free(c); + } + } HT_CLEAR(chan_circid_map, &chan_circid_map); } @@ -930,72 +948,6 @@ circuit_dump_by_conn(connection_t *conn, int severity) } } -/** A helper function for circuit_dump_by_chan() below. Log a bunch - * of information about circuit <b>circ</b>. - */ -static void -circuit_dump_chan_details(int severity, - circuit_t *circ, - channel_t *chan, - const char *type, - circid_t this_circid, - circid_t other_circid) -{ - tor_log(severity, LD_CIRC, "Conn %p has %s circuit: circID %u " - "(other side %u), state %d (%s), born %ld:", - chan, type, (unsigned)this_circid, (unsigned)other_circid, circ->state, - circuit_state_to_string(circ->state), - (long)circ->timestamp_began.tv_sec); - if (CIRCUIT_IS_ORIGIN(circ)) { /* circ starts at this node */ - circuit_log_path(severity, LD_CIRC, TO_ORIGIN_CIRCUIT(circ)); - } -} - -/** Log, at severity <b>severity</b>, information about each circuit - * that is connected to <b>chan</b>. - */ -void -circuit_dump_by_chan(channel_t *chan, int severity) -{ - circuit_t *circ; - - tor_assert(chan); - - TOR_LIST_FOREACH(circ, &global_circuitlist, head) { - circid_t n_circ_id = circ->n_circ_id, p_circ_id = 0; - - if (circ->marked_for_close) { - continue; - } - - if (!CIRCUIT_IS_ORIGIN(circ)) { - p_circ_id = TO_OR_CIRCUIT(circ)->p_circ_id; - } - - if (! CIRCUIT_IS_ORIGIN(circ) && TO_OR_CIRCUIT(circ)->p_chan && - TO_OR_CIRCUIT(circ)->p_chan == chan) { - circuit_dump_chan_details(severity, circ, chan, "App-ward", - p_circ_id, n_circ_id); - } - - if (circ->n_chan && circ->n_chan == chan) { - circuit_dump_chan_details(severity, circ, chan, "Exit-ward", - n_circ_id, p_circ_id); - } - - if (!circ->n_chan && circ->n_hop && - channel_matches_extend_info(chan, circ->n_hop) && - tor_memeq(chan->identity_digest, - circ->n_hop->identity_digest, DIGEST_LEN)) { - circuit_dump_chan_details(severity, circ, chan, - (circ->state == CIRCUIT_STATE_OPEN && - !CIRCUIT_IS_ORIGIN(circ)) ? - "Endpoint" : "Pending", - n_circ_id, p_circ_id); - } - } -} - /** Return the circuit whose global ID is <b>id</b>, or NULL if no * such circuit exists. */ origin_circuit_t * @@ -1113,13 +1065,21 @@ circuit_get_by_circid_channel_even_if_marked(circid_t circ_id, } /** Return true iff the circuit ID <b>circ_id</b> is currently used by a - * circuit, marked or not, on <b>chan</b>. */ + * circuit, marked or not, on <b>chan</b>, or if the circ ID is reserved until + * a queued destroy cell can be sent. + * + * (Return 1 if the circuit is present, marked or not; Return 2 + * if the circuit ID is pending a destroy.) + **/ int circuit_id_in_use_on_channel(circid_t circ_id, channel_t *chan) { int found = 0; - return circuit_get_by_circid_channel_impl(circ_id, chan, &found) != NULL - || found; + if (circuit_get_by_circid_channel_impl(circ_id, chan, &found) != NULL) + return 1; + if (found) + return 2; + return 0; } /** Return the circuit that a given edge connection is using. */ @@ -1143,13 +1103,59 @@ circuit_get_by_edge_conn(edge_connection_t *conn) void circuit_unlink_all_from_channel(channel_t *chan, int reason) { - circuit_t *circ; + smartlist_t *detached = smartlist_new(); - channel_unlink_all_circuits(chan); +/* #define DEBUG_CIRCUIT_UNLINK_ALL */ - TOR_LIST_FOREACH(circ, &global_circuitlist, head) { + channel_unlink_all_circuits(chan, detached); + +#ifdef DEBUG_CIRCUIT_UNLINK_ALL + { + circuit_t *circ; + smartlist_t *detached_2 = smartlist_new(); + int mismatch = 0, badlen = 0; + + TOR_LIST_FOREACH(circ, &global_circuitlist, head) { + if (circ->n_chan == chan || + (!CIRCUIT_IS_ORIGIN(circ) && + TO_OR_CIRCUIT(circ)->p_chan == chan)) { + smartlist_add(detached_2, circ); + } + } + + if (smartlist_len(detached) != smartlist_len(detached_2)) { + log_warn(LD_BUG, "List of detached circuits had the wrong length! " + "(got %d, should have gotten %d)", + (int)smartlist_len(detached), + (int)smartlist_len(detached_2)); + badlen = 1; + } + smartlist_sort_pointers(detached); + smartlist_sort_pointers(detached_2); + + SMARTLIST_FOREACH(detached, circuit_t *, c, + if (c != smartlist_get(detached_2, c_sl_idx)) + mismatch = 1; + ); + + if (mismatch) + log_warn(LD_BUG, "Mismatch in list of detached circuits."); + + if (badlen || mismatch) { + smartlist_free(detached); + detached = detached_2; + } else { + log_notice(LD_CIRC, "List of %d circuits was as expected.", + (int)smartlist_len(detached)); + smartlist_free(detached_2); + } + } +#endif + + SMARTLIST_FOREACH_BEGIN(detached, circuit_t *, circ) { int mark = 0; if (circ->n_chan == chan) { + circuit_set_n_circid_chan(circ, 0, NULL); mark = 1; @@ -1165,9 +1171,16 @@ circuit_unlink_all_from_channel(channel_t *chan, int reason) mark = 1; } } - if (mark && !circ->marked_for_close) + if (!mark) { + log_warn(LD_BUG, "Circuit on detached list which I had no reason " + "to mark"); + continue; + } + if (!circ->marked_for_close) circuit_mark_for_close(circ, reason); - } + } SMARTLIST_FOREACH_END(circ); + + smartlist_free(detached); } /** Return a circ such that @@ -1230,43 +1243,175 @@ circuit_get_next_by_pk_and_purpose(origin_circuit_t *start, return NULL; } -/** Return the first OR circuit in the global list whose purpose is - * <b>purpose</b>, and whose rend_token is the <b>len</b>-byte - * <b>token</b>. */ +/** Map from rendezvous cookie to or_circuit_t */ +static digestmap_t *rend_cookie_map = NULL; + +/** Map from introduction point digest to or_circuit_t */ +static digestmap_t *intro_digest_map = NULL; + +/** Return the OR circuit whose purpose is <b>purpose</b>, and whose + * rend_token is the REND_TOKEN_LEN-byte <b>token</b>. If <b>is_rend_circ</b>, + * look for rendezvous point circuits; otherwise look for introduction point + * circuits. */ static or_circuit_t * -circuit_get_by_rend_token_and_purpose(uint8_t purpose, const char *token, - size_t len) +circuit_get_by_rend_token_and_purpose(uint8_t purpose, int is_rend_circ, + const char *token) { - circuit_t *circ; - TOR_LIST_FOREACH(circ, &global_circuitlist, head) { - if (! circ->marked_for_close && - circ->purpose == purpose && - tor_memeq(TO_OR_CIRCUIT(circ)->rend_token, token, len)) - return TO_OR_CIRCUIT(circ); + or_circuit_t *circ; + digestmap_t *map = is_rend_circ ? rend_cookie_map : intro_digest_map; + + if (!map) + return NULL; + + circ = digestmap_get(map, token); + if (!circ || + circ->base_.purpose != purpose || + circ->base_.marked_for_close) + return NULL; + + if (!circ->rendinfo) { + char *t = tor_strdup(hex_str(token, REND_TOKEN_LEN)); + log_warn(LD_BUG, "Wanted a circuit with %s:%d, but lookup returned a " + "circuit with no rendinfo set.", + safe_str(t), is_rend_circ); + tor_free(t); + return NULL; } - return NULL; + + if (! bool_eq(circ->rendinfo->is_rend_circ, is_rend_circ) || + tor_memneq(circ->rendinfo->rend_token, token, REND_TOKEN_LEN)) { + char *t = tor_strdup(hex_str(token, REND_TOKEN_LEN)); + log_warn(LD_BUG, "Wanted a circuit with %s:%d, but lookup returned %s:%d", + safe_str(t), is_rend_circ, + safe_str(hex_str(circ->rendinfo->rend_token, REND_TOKEN_LEN)), + (int)circ->rendinfo->is_rend_circ); + tor_free(t); + return NULL; + } + + return circ; +} + +/** Clear the rendezvous cookie or introduction point key digest that's + * configured on <b>circ</b>, if any, and remove it from any such maps. */ +static void +circuit_clear_rend_token(or_circuit_t *circ) +{ + or_circuit_t *found_circ; + digestmap_t *map; + + if (!circ || !circ->rendinfo) + return; + + map = circ->rendinfo->is_rend_circ ? rend_cookie_map : intro_digest_map; + + if (!map) { + log_warn(LD_BUG, "Tried to clear rend token on circuit, but found no map"); + return; + } + + found_circ = digestmap_get(map, circ->rendinfo->rend_token); + if (found_circ == circ) { + /* Great, this is the right one. */ + digestmap_remove(map, circ->rendinfo->rend_token); + } else if (found_circ) { + log_warn(LD_BUG, "Tried to clear rend token on circuit, but " + "it was already replaced in the map."); + } else { + log_warn(LD_BUG, "Tried to clear rend token on circuit, but " + "it not in the map at all."); + } + + tor_free(circ->rendinfo); /* Sets it to NULL too */ +} + +/** Set the rendezvous cookie (if is_rend_circ), or the introduction point + * digest (if ! is_rend_circ) of <b>circ</b> to the REND_TOKEN_LEN-byte value + * in <b>token</b>, and add it to the appropriate map. If it previously had a + * token, clear it. If another circuit previously had the same + * cookie/intro-digest, mark that circuit and remove it from the map. */ +static void +circuit_set_rend_token(or_circuit_t *circ, int is_rend_circ, + const uint8_t *token) +{ + digestmap_t **map_p, *map; + or_circuit_t *found_circ; + + /* Find the right map, creating it as needed */ + map_p = is_rend_circ ? &rend_cookie_map : &intro_digest_map; + + if (!*map_p) + *map_p = digestmap_new(); + + map = *map_p; + + /* If this circuit already has a token, we need to remove that. */ + if (circ->rendinfo) + circuit_clear_rend_token(circ); + + if (token == NULL) { + /* We were only trying to remove this token, not set a new one. */ + return; + } + + found_circ = digestmap_get(map, (const char *)token); + if (found_circ) { + tor_assert(found_circ != circ); + circuit_clear_rend_token(found_circ); + if (! found_circ->base_.marked_for_close) { + circuit_mark_for_close(TO_CIRCUIT(found_circ), END_CIRC_REASON_FINISHED); + if (is_rend_circ) { + log_fn(LOG_PROTOCOL_WARN, LD_REND, + "Duplicate rendezvous cookie (%s...) used on two circuits", + hex_str((const char*)token, 4)); /* only log first 4 chars */ + } + } + } + + /* Now set up the rendinfo */ + circ->rendinfo = tor_malloc(sizeof(*circ->rendinfo)); + memcpy(circ->rendinfo->rend_token, token, REND_TOKEN_LEN); + circ->rendinfo->is_rend_circ = is_rend_circ ? 1 : 0; + + digestmap_set(map, (const char *)token, circ); } /** Return the circuit waiting for a rendezvous with the provided cookie. * Return NULL if no such circuit is found. */ or_circuit_t * -circuit_get_rendezvous(const char *cookie) +circuit_get_rendezvous(const uint8_t *cookie) { return circuit_get_by_rend_token_and_purpose( CIRCUIT_PURPOSE_REND_POINT_WAITING, - cookie, REND_COOKIE_LEN); + 1, (const char*)cookie); } /** Return the circuit waiting for intro cells of the given digest. * Return NULL if no such circuit is found. */ or_circuit_t * -circuit_get_intro_point(const char *digest) +circuit_get_intro_point(const uint8_t *digest) { return circuit_get_by_rend_token_and_purpose( - CIRCUIT_PURPOSE_INTRO_POINT, digest, - DIGEST_LEN); + CIRCUIT_PURPOSE_INTRO_POINT, 0, + (const char *)digest); +} + +/** Set the rendezvous cookie of <b>circ</b> to <b>cookie</b>. If another + * circuit previously had that cookie, mark it. */ +void +circuit_set_rendezvous_cookie(or_circuit_t *circ, const uint8_t *cookie) +{ + circuit_set_rend_token(circ, 1, cookie); +} + +/** Set the intro point key digest of <b>circ</b> to <b>cookie</b>. If another + * circuit previously had that intro point digest, mark it. */ +void +circuit_set_intro_point_digest(or_circuit_t *circ, const uint8_t *digest) +{ + circuit_set_rend_token(circ, 0, digest); } /** Return a circuit that is open, is CIRCUIT_PURPOSE_C_GENERAL, @@ -1435,9 +1580,9 @@ circuit_mark_all_dirty_circs_as_unusable(void) * - If circ->rend_splice is set (we are the midpoint of a joined * rendezvous stream), then mark the other circuit to close as well. */ -void -circuit_mark_for_close_(circuit_t *circ, int reason, int line, - const char *file) +MOCK_IMPL(void, +circuit_mark_for_close_, (circuit_t *circ, int reason, int line, + const char *file)) { int orig_reason = reason; /* Passed to the controller */ assert_circuit_ok(circ); @@ -1541,6 +1686,7 @@ circuit_mark_for_close_(circuit_t *circ, int reason, int line, channel_send_destroy(circ->n_circ_id, circ->n_chan, reason); } circuitmux_detach_circuit(circ->n_chan->cmux, circ); + circuit_set_n_circid_chan(circ, 0, NULL); } if (! CIRCUIT_IS_ORIGIN(circ)) { @@ -1574,6 +1720,7 @@ circuit_mark_for_close_(circuit_t *circ, int reason, int line, channel_send_destroy(or_circ->p_circ_id, or_circ->p_chan, reason); } circuitmux_detach_circuit(or_circ->p_chan->cmux, circ); + circuit_set_p_circid_chan(or_circ, 0, NULL); } } else { origin_circuit_t *ocirc = TO_ORIGIN_CIRCUIT(circ); @@ -1612,6 +1759,38 @@ marked_circuit_free_cells(circuit_t *circ) cell_queue_clear(& TO_OR_CIRCUIT(circ)->p_chan_cells); } +/** Aggressively free buffer contents on all the buffers of all streams in the + * list starting at <b>stream</b>. Return the number of bytes recovered. */ +static size_t +marked_circuit_streams_free_bytes(edge_connection_t *stream) +{ + size_t result = 0; + for ( ; stream; stream = stream->next_stream) { + connection_t *conn = TO_CONN(stream); + if (conn->inbuf) { + result += buf_allocation(conn->inbuf); + buf_clear(conn->inbuf); + } + if (conn->outbuf) { + result += buf_allocation(conn->outbuf); + buf_clear(conn->outbuf); + } + } + return result; +} + +/** Aggressively free buffer contents on all the buffers of all streams on + * circuit <b>c</b>. Return the number of bytes recovered. */ +static size_t +marked_circuit_free_stream_bytes(circuit_t *c) +{ + if (CIRCUIT_IS_ORIGIN(c)) { + return marked_circuit_streams_free_bytes(TO_ORIGIN_CIRCUIT(c)->p_streams); + } else { + return marked_circuit_streams_free_bytes(TO_OR_CIRCUIT(c)->n_streams); + } +} + /** Return the number of cells used by the circuit <b>c</b>'s cell queues. */ STATIC size_t n_cells_in_circ_queues(const circuit_t *c) @@ -1632,7 +1811,7 @@ n_cells_in_circ_queues(const circuit_t *c) * This function will return incorrect results if the oldest cell queued on * the circuit is older than 2**32 msec (about 49 days) old. */ -static uint32_t +STATIC uint32_t circuit_max_queued_cell_age(const circuit_t *c, uint32_t now) { uint32_t age = 0; @@ -1642,7 +1821,7 @@ circuit_max_queued_cell_age(const circuit_t *c, uint32_t now) age = now - cell->inserted_time; if (! CIRCUIT_IS_ORIGIN(c)) { - const or_circuit_t *orcirc = TO_OR_CIRCUIT((circuit_t*)c); + const or_circuit_t *orcirc = CONST_TO_OR_CIRCUIT(c); if (NULL != (cell = TOR_SIMPLEQ_FIRST(&orcirc->p_chan_cells.head))) { uint32_t age2 = now - cell->inserted_time; if (age2 > age) @@ -1652,20 +1831,68 @@ circuit_max_queued_cell_age(const circuit_t *c, uint32_t now) return age; } -/** Temporary variable for circuits_compare_by_oldest_queued_cell_ This is a - * kludge to work around the fact that qsort doesn't provide a way for - * comparison functions to take an extra argument. */ -static uint32_t circcomp_now_tmp; +/** Return the age in milliseconds of the oldest buffer chunk on any stream in + * the linked list <b>stream</b>, where age is taken in milliseconds before + * the time <b>now</b> (in truncated milliseconds since the epoch). */ +static uint32_t +circuit_get_streams_max_data_age(const edge_connection_t *stream, uint32_t now) +{ + uint32_t age = 0, age2; + for (; stream; stream = stream->next_stream) { + const connection_t *conn = TO_CONN(stream); + if (conn->outbuf) { + age2 = buf_get_oldest_chunk_timestamp(conn->outbuf, now); + if (age2 > age) + age = age2; + } + if (conn->inbuf) { + age2 = buf_get_oldest_chunk_timestamp(conn->inbuf, now); + if (age2 > age) + age = age2; + } + } + + return age; +} + +/** Return the age in milliseconds of the oldest buffer chunk on any stream + * attached to the circuit <b>c</b>, where age is taken in milliseconds before + * the time <b>now</b> (in truncated milliseconds since the epoch). */ +STATIC uint32_t +circuit_max_queued_data_age(const circuit_t *c, uint32_t now) +{ + if (CIRCUIT_IS_ORIGIN(c)) { + return circuit_get_streams_max_data_age( + CONST_TO_ORIGIN_CIRCUIT(c)->p_streams, now); + } else { + return circuit_get_streams_max_data_age( + CONST_TO_OR_CIRCUIT(c)->n_streams, now); + } +} -/** Helper to sort a list of circuit_t by age of oldest cell, in descending - * order. Requires that circcomp_now_tmp is set correctly. */ +/** Return the age of the oldest cell or stream buffer chunk on the circuit + * <b>c</b>, where age is taken in milliseconds before the time <b>now</b> (in + * truncated milliseconds since the epoch). */ +STATIC uint32_t +circuit_max_queued_item_age(const circuit_t *c, uint32_t now) +{ + uint32_t cell_age = circuit_max_queued_cell_age(c, now); + uint32_t data_age = circuit_max_queued_data_age(c, now); + if (cell_age > data_age) + return cell_age; + else + return data_age; +} + +/** Helper to sort a list of circuit_t by age of oldest item, in descending + * order. */ static int -circuits_compare_by_oldest_queued_cell_(const void **a_, const void **b_) +circuits_compare_by_oldest_queued_item_(const void **a_, const void **b_) { const circuit_t *a = *a_; const circuit_t *b = *b_; - uint32_t age_a = circuit_max_queued_cell_age(a, circcomp_now_tmp); - uint32_t age_b = circuit_max_queued_cell_age(b, circcomp_now_tmp); + uint32_t age_a = a->age_tmp; + uint32_t age_b = b->age_tmp; if (age_a < age_b) return 1; @@ -1675,67 +1902,88 @@ circuits_compare_by_oldest_queued_cell_(const void **a_, const void **b_) return -1; } -#define FRACTION_OF_CELLS_TO_RETAIN_ON_OOM 0.90 +#define FRACTION_OF_DATA_TO_RETAIN_ON_OOM 0.90 /** We're out of memory for cells, having allocated <b>current_allocation</b> * bytes' worth. Kill the 'worst' circuits until we're under - * FRACTION_OF_CIRCS_TO_RETAIN_ON_OOM of our maximum usage. */ + * FRACTION_OF_DATA_TO_RETAIN_ON_OOM of our maximum usage. */ void circuits_handle_oom(size_t current_allocation) { /* Let's hope there's enough slack space for this allocation here... */ smartlist_t *circlist = smartlist_new(); circuit_t *circ; - size_t n_cells_removed=0, n_cells_to_remove; + size_t mem_to_recover; + size_t mem_recovered=0; int n_circuits_killed=0; struct timeval now; + uint32_t now_ms; log_notice(LD_GENERAL, "We're low on memory. Killing circuits with " "over-long queues. (This behavior is controlled by " - "MaxMemInCellQueues.)"); + "MaxMemInQueues.)"); + + { + const size_t recovered = buf_shrink_freelists(1); + if (recovered >= current_allocation) { + log_warn(LD_BUG, "We somehow recovered more memory from freelists " + "than we thought we had allocated"); + current_allocation = 0; + } else { + current_allocation -= recovered; + } + } { - size_t mem_target = (size_t)(get_options()->MaxMemInCellQueues * - FRACTION_OF_CELLS_TO_RETAIN_ON_OOM); - size_t mem_to_recover; + size_t mem_target = (size_t)(get_options()->MaxMemInQueues * + FRACTION_OF_DATA_TO_RETAIN_ON_OOM); if (current_allocation <= mem_target) return; mem_to_recover = current_allocation - mem_target; - n_cells_to_remove = CEIL_DIV(mem_to_recover, packed_cell_mem_cost()); } + tor_gettimeofday_cached_monotonic(&now); + now_ms = (uint32_t)tv_to_msec(&now); + /* This algorithm itself assumes that you've got enough memory slack * to actually run it. */ - TOR_LIST_FOREACH(circ, &global_circuitlist, head) + TOR_LIST_FOREACH(circ, &global_circuitlist, head) { + circ->age_tmp = circuit_max_queued_item_age(circ, now_ms); smartlist_add(circlist, circ); - - /* Set circcomp_now_tmp so that the sort can work. */ - tor_gettimeofday_cached(&now); - circcomp_now_tmp = (uint32_t)tv_to_msec(&now); + } /* This is O(n log n); there are faster algorithms we could use instead. * Let's hope this doesn't happen enough to be in the critical path. */ - smartlist_sort(circlist, circuits_compare_by_oldest_queued_cell_); + smartlist_sort(circlist, circuits_compare_by_oldest_queued_item_); /* Okay, now the worst circuits are at the front of the list. Let's mark * them, and reclaim their storage aggressively. */ SMARTLIST_FOREACH_BEGIN(circlist, circuit_t *, circ) { size_t n = n_cells_in_circ_queues(circ); + size_t freed; if (! circ->marked_for_close) { circuit_mark_for_close(circ, END_CIRC_REASON_RESOURCELIMIT); } marked_circuit_free_cells(circ); + freed = marked_circuit_free_stream_bytes(circ); ++n_circuits_killed; - n_cells_removed += n; - if (n_cells_removed >= n_cells_to_remove) + + mem_recovered += n * packed_cell_mem_cost(); + mem_recovered += freed; + + if (mem_recovered >= mem_to_recover) break; } SMARTLIST_FOREACH_END(circ); clean_cell_pool(); /* In case this helps. */ + buf_shrink_freelists(1); /* This is necessary to actually release buffer + chunks. */ - log_notice(LD_GENERAL, "Removed "U64_FORMAT" bytes by killing %d circuits.", - U64_PRINTF_ARG(n_cells_removed * packed_cell_mem_cost()), - n_circuits_killed); + log_notice(LD_GENERAL, "Removed "U64_FORMAT" bytes by killing %d circuits; " + "%d circuits remain alive.", + U64_PRINTF_ARG(mem_recovered), + n_circuits_killed, + smartlist_len(circlist) - n_circuits_killed); smartlist_free(circlist); } @@ -1809,15 +2057,10 @@ assert_circuit_ok(const circuit_t *c) tor_assert(c->purpose >= CIRCUIT_PURPOSE_MIN_ && c->purpose <= CIRCUIT_PURPOSE_MAX_); - { - /* Having a separate variable for this pleases GCC 4.2 in ways I hope I - * never understand. -NM. */ - circuit_t *nonconst_circ = (circuit_t*) c; - if (CIRCUIT_IS_ORIGIN(c)) - origin_circ = TO_ORIGIN_CIRCUIT(nonconst_circ); - else - or_circ = TO_OR_CIRCUIT(nonconst_circ); - } + if (CIRCUIT_IS_ORIGIN(c)) + origin_circ = CONST_TO_ORIGIN_CIRCUIT(c); + else + or_circ = CONST_TO_OR_CIRCUIT(c); if (c->n_chan) { tor_assert(!c->n_hop); diff --git a/src/or/circuitlist.h b/src/or/circuitlist.h index 1c8cf7de24..916afba215 100644 --- a/src/or/circuitlist.h +++ b/src/or/circuitlist.h @@ -16,13 +16,12 @@ TOR_LIST_HEAD(global_circuitlist_s, circuit_t); -struct global_circuitlist_s* circuit_get_global_list(void); +MOCK_DECL(struct global_circuitlist_s*, circuit_get_global_list, (void)); const char *circuit_state_to_string(int state); const char *circuit_purpose_to_controller_string(uint8_t purpose); const char *circuit_purpose_to_controller_hs_state_string(uint8_t purpose); const char *circuit_purpose_to_string(uint8_t purpose); void circuit_dump_by_conn(connection_t *conn, int severity); -void circuit_dump_by_chan(channel_t *chan, int severity); void circuit_set_p_circid_chan(or_circuit_t *circ, circid_t id, channel_t *chan); void circuit_set_n_circid_chan(circuit_t *circ, circid_t id, @@ -47,14 +46,16 @@ origin_circuit_t *circuit_get_ready_rend_circ_by_rend_data( const rend_data_t *rend_data); origin_circuit_t *circuit_get_next_by_pk_and_purpose(origin_circuit_t *start, const char *digest, uint8_t purpose); -or_circuit_t *circuit_get_rendezvous(const char *cookie); -or_circuit_t *circuit_get_intro_point(const char *digest); +or_circuit_t *circuit_get_rendezvous(const uint8_t *cookie); +or_circuit_t *circuit_get_intro_point(const uint8_t *digest); +void circuit_set_rendezvous_cookie(or_circuit_t *circ, const uint8_t *cookie); +void circuit_set_intro_point_digest(or_circuit_t *circ, const uint8_t *digest); origin_circuit_t *circuit_find_to_cannibalize(uint8_t purpose, extend_info_t *info, int flags); void circuit_mark_all_unused_circs(void); void circuit_mark_all_dirty_circs_as_unusable(void); -void circuit_mark_for_close_(circuit_t *circ, int reason, - int line, const char *file); +MOCK_DECL(void, circuit_mark_for_close_, (circuit_t *circ, int reason, + int line, const char *file)); int circuit_get_cpath_len(origin_circuit_t *circ); void circuit_clear_cpath(origin_circuit_t *circ); crypt_path_t *circuit_get_cpath_hop(origin_circuit_t *circ, int hopnum); @@ -76,6 +77,9 @@ void channel_note_destroy_not_pending(channel_t *chan, circid_t id); #ifdef CIRCUITLIST_PRIVATE STATIC void circuit_free(circuit_t *circ); STATIC size_t n_cells_in_circ_queues(const circuit_t *c); +STATIC uint32_t circuit_max_queued_data_age(const circuit_t *c, uint32_t now); +STATIC uint32_t circuit_max_queued_cell_age(const circuit_t *c, uint32_t now); +STATIC uint32_t circuit_max_queued_item_age(const circuit_t *c, uint32_t now); #endif #endif diff --git a/src/or/circuitmux.c b/src/or/circuitmux.c index f2af943937..52ebfef084 100644 --- a/src/or/circuitmux.c +++ b/src/or/circuitmux.c @@ -390,10 +390,13 @@ circuitmux_alloc(void) /** * Detach all circuits from a circuitmux (use before circuitmux_free()) + * + * If <b>detached_out</b> is non-NULL, add every detached circuit_t to + * detached_out. */ void -circuitmux_detach_all_circuits(circuitmux_t *cmux) +circuitmux_detach_all_circuits(circuitmux_t *cmux, smartlist_t *detached_out) { chanid_circid_muxinfo_t **i = NULL, *to_remove; channel_t *chan = NULL; @@ -409,7 +412,11 @@ circuitmux_detach_all_circuits(circuitmux_t *cmux) i = HT_START(chanid_circid_muxinfo_map, cmux->chanid_circid_map); while (i) { to_remove = *i; - if (to_remove) { + + if (! to_remove) { + log_warn(LD_BUG, "Somehow, an HT iterator gave us a NULL pointer."); + break; + } else { /* Find a channel and circuit */ chan = channel_find_by_global_id(to_remove->chan_id); if (chan) { @@ -430,6 +437,9 @@ circuitmux_detach_all_circuits(circuitmux_t *cmux) /* Clear n_mux */ circ->n_mux = NULL; + + if (detached_out) + smartlist_add(detached_out, circ); } else if (circ->magic == OR_CIRCUIT_MAGIC) { /* * Update active_circuits et al.; this does policy notifies, so @@ -445,6 +455,9 @@ circuitmux_detach_all_circuits(circuitmux_t *cmux) * so clear p_mux. */ TO_OR_CIRCUIT(circ)->p_mux = NULL; + + if (detached_out) + smartlist_add(detached_out, circ); } else { /* Complain and move on */ log_warn(LD_CIRC, diff --git a/src/or/circuitmux.h b/src/or/circuitmux.h index ee2f5d1535..c4c0649c6c 100644 --- a/src/or/circuitmux.h +++ b/src/or/circuitmux.h @@ -99,7 +99,8 @@ void circuitmux_assert_okay(circuitmux_t *cmux); /* Create/destroy */ circuitmux_t * circuitmux_alloc(void); -void circuitmux_detach_all_circuits(circuitmux_t *cmux); +void circuitmux_detach_all_circuits(circuitmux_t *cmux, + smartlist_t *detached_out); void circuitmux_free(circuitmux_t *cmux); /* Policy control */ diff --git a/src/or/circuitstats.c b/src/or/circuitstats.c index eaefc9edde..e362b1b49e 100644 --- a/src/or/circuitstats.c +++ b/src/or/circuitstats.c @@ -12,6 +12,7 @@ #include "config.h" #include "confparse.h" #include "control.h" +#include "main.h" #include "networkstatus.h" #include "statefile.h" @@ -94,18 +95,22 @@ circuit_build_times_disabled(void) if (consensus_disabled || config_disabled || dirauth_disabled || state_disabled) { +#if 0 log_debug(LD_CIRC, "CircuitBuildTime learning is disabled. " "Consensus=%d, Config=%d, AuthDir=%d, StateFile=%d", consensus_disabled, config_disabled, dirauth_disabled, state_disabled); +#endif return 1; } else { +#if 0 log_debug(LD_CIRC, "CircuitBuildTime learning is not disabled. " "Consensus=%d, Config=%d, AuthDir=%d, StateFile=%d", consensus_disabled, config_disabled, dirauth_disabled, state_disabled); +#endif return 0; } } @@ -1181,6 +1186,12 @@ circuit_build_times_needs_circuits_now(const circuit_build_times_t *cbt) } /** + * How long should we be unreachable before we think we need to check if + * our published IP address has changed. + */ +#define CIRCUIT_TIMEOUT_BEFORE_RECHECK_IP (60*3) + +/** * Called to indicate that the network showed some signs of liveness, * i.e. we received a cell. * @@ -1195,12 +1206,15 @@ circuit_build_times_network_is_live(circuit_build_times_t *cbt) { time_t now = approx_time(); if (cbt->liveness.nonlive_timeouts > 0) { + time_t time_since_live = now - cbt->liveness.network_last_live; log_notice(LD_CIRC, "Tor now sees network activity. Restoring circuit build " "timeout recording. Network was down for %d seconds " "during %d circuit attempts.", - (int)(now - cbt->liveness.network_last_live), + (int)time_since_live, cbt->liveness.nonlive_timeouts); + if (time_since_live > CIRCUIT_TIMEOUT_BEFORE_RECHECK_IP) + reschedule_descriptor_update_check(); } cbt->liveness.network_last_live = now; cbt->liveness.nonlive_timeouts = 0; diff --git a/src/or/circuituse.c b/src/or/circuituse.c index 8b82de0f99..d10430668b 100644 --- a/src/or/circuituse.c +++ b/src/or/circuituse.c @@ -537,7 +537,9 @@ circuit_expire_building(void) "%d guards are live.", TO_ORIGIN_CIRCUIT(victim)->global_identifier, circuit_purpose_to_string(victim->purpose), - TO_ORIGIN_CIRCUIT(victim)->build_state->desired_path_len, + TO_ORIGIN_CIRCUIT(victim)->build_state ? + TO_ORIGIN_CIRCUIT(victim)->build_state->desired_path_len : + -1, circuit_state_to_string(victim->state), channel_state_to_string(victim->n_chan->state), num_live_entry_guards(0)); @@ -561,7 +563,9 @@ circuit_expire_building(void) "anyway. %d guards are live.", TO_ORIGIN_CIRCUIT(victim)->global_identifier, circuit_purpose_to_string(victim->purpose), - TO_ORIGIN_CIRCUIT(victim)->build_state->desired_path_len, + TO_ORIGIN_CIRCUIT(victim)->build_state ? + TO_ORIGIN_CIRCUIT(victim)->build_state->desired_path_len : + -1, circuit_state_to_string(victim->state), channel_state_to_string(victim->n_chan->state), (long)build_close_ms, @@ -707,7 +711,8 @@ circuit_expire_building(void) * and we have tried to send an INTRODUCE1 cell specifying it. * Thus, if the pending_final_cpath field *is* NULL, then we * want to not spare it. */ - if (TO_ORIGIN_CIRCUIT(victim)->build_state->pending_final_cpath == + if (TO_ORIGIN_CIRCUIT(victim)->build_state && + TO_ORIGIN_CIRCUIT(victim)->build_state->pending_final_cpath == NULL) break; /* fallthrough! */ @@ -753,7 +758,9 @@ circuit_expire_building(void) TO_ORIGIN_CIRCUIT(victim)->has_opened, victim->state, circuit_state_to_string(victim->state), victim->purpose, - TO_ORIGIN_CIRCUIT(victim)->build_state->desired_path_len); + TO_ORIGIN_CIRCUIT(victim)->build_state ? + TO_ORIGIN_CIRCUIT(victim)->build_state->desired_path_len : + -1); else log_info(LD_CIRC, "Abandoning circ %u %u (state %d,%d:%s, purpose %d, len %d)", @@ -762,7 +769,9 @@ circuit_expire_building(void) TO_ORIGIN_CIRCUIT(victim)->has_opened, victim->state, circuit_state_to_string(victim->state), victim->purpose, - TO_ORIGIN_CIRCUIT(victim)->build_state->desired_path_len); + TO_ORIGIN_CIRCUIT(victim)->build_state ? + TO_ORIGIN_CIRCUIT(victim)->build_state->desired_path_len : + -1); circuit_log_path(LOG_INFO,LD_CIRC,TO_ORIGIN_CIRCUIT(victim)); if (victim->purpose == CIRCUIT_PURPOSE_C_MEASURE_TIMEOUT) @@ -1515,7 +1524,7 @@ circuit_launch_by_extend_info(uint8_t purpose, circ = circuit_find_to_cannibalize(purpose, extend_info, flags); if (circ) { uint8_t old_purpose = circ->base_.purpose; - struct timeval old_timestamp_began; + struct timeval old_timestamp_began = circ->base_.timestamp_began; log_info(LD_CIRC,"Cannibalizing circ '%s' for purpose %d (%s)", build_state_get_exit_nickname(circ->build_state), purpose, diff --git a/src/or/config.c b/src/or/config.c index 834a0ce50b..1faf13871b 100644 --- a/src/or/config.c +++ b/src/or/config.c @@ -1,4 +1,4 @@ - /* Copyright (c) 2001 Matej Pfajfar. +/* Copyright (c) 2001 Matej Pfajfar. * Copyright (c) 2001-2004, Roger Dingledine. * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson. * Copyright (c) 2007-2013, The Tor Project, Inc. */ @@ -85,6 +85,7 @@ static config_abbrev_t option_abbrevs_[] = { { "DirFetchPostPeriod", "StatusFetchPeriod", 0, 0}, { "DirServer", "DirAuthority", 0, 0}, /* XXXX024 later, make this warn? */ { "MaxConn", "ConnLimit", 0, 1}, + { "MaxMemInCellQueues", "MaxMemInQueues", 0, 0}, { "ORBindAddress", "ORListenAddress", 0, 0}, { "DirBindAddress", "DirListenAddress", 0, 0}, { "SocksBindAddress", "SocksListenAddress", 0, 0}, @@ -137,7 +138,7 @@ static config_var_t option_vars_[] = { V(AllowSingleHopExits, BOOL, "0"), V(AlternateBridgeAuthority, LINELIST, NULL), V(AlternateDirAuthority, LINELIST, NULL), - V(AlternateHSAuthority, LINELIST, NULL), + OBSOLETE("AlternateHSAuthority"), V(AssumeReachable, BOOL, "0"), V(AuthDirBadDir, LINELIST, NULL), V(AuthDirBadDirCCs, CSV, ""), @@ -236,6 +237,7 @@ static config_var_t option_vars_[] = { V(ExitPortStatistics, BOOL, "0"), V(ExtendAllowPrivateAddresses, BOOL, "0"), VPORT(ExtORPort, LINELIST, NULL), + V(ExtORPortCookieAuthFile, STRING, NULL), V(ExtraInfoStatistics, BOOL, "1"), V(FallbackDir, LINELIST, NULL), @@ -276,7 +278,7 @@ static config_var_t option_vars_[] = { VAR("HiddenServiceVersion",LINELIST_S, RendConfigLines, NULL), VAR("HiddenServiceAuthorizeClient",LINELIST_S,RendConfigLines, NULL), V(HidServAuth, LINELIST, NULL), - V(HSAuthoritativeDir, BOOL, "0"), + OBSOLETE("HSAuthoritativeDir"), OBSOLETE("HSAuthorityRecordStats"), V(CloseHSClientCircuitsImmediatelyOnTimeout, BOOL, "0"), V(CloseHSServiceRendCircuitsImmediatelyOnTimeout, BOOL, "0"), @@ -306,7 +308,7 @@ static config_var_t option_vars_[] = { V(MaxAdvertisedBandwidth, MEMUNIT, "1 GB"), V(MaxCircuitDirtiness, INTERVAL, "10 minutes"), V(MaxClientCircuitsPending, UINT, "32"), - V(MaxMemInCellQueues, MEMUNIT, "8 GB"), + VAR("MaxMemInQueues", MEMUNIT, MaxMemInQueues_raw, "0"), OBSOLETE("MaxOnionsPending"), V(MaxOnionQueueDelay, MSEC_INTERVAL, "1750 msec"), V(MinMeasuredBWsForAuthToIgnoreAdvertised, INT, "500"), @@ -317,6 +319,7 @@ static config_var_t option_vars_[] = { V(NATDListenAddress, LINELIST, NULL), VPORT(NATDPort, LINELIST, NULL), V(Nickname, STRING, NULL), + V(PredictedPortsRelevanceTime, INTERVAL, "1 hour"), V(WarnUnsafeSocks, BOOL, "1"), OBSOLETE("NoPublish"), VAR("NodeFamily", LINELIST, NodeFamilies, NULL), @@ -418,7 +421,7 @@ static config_var_t option_vars_[] = { V(UseNTorHandshake, AUTOBOOL, "1"), V(User, STRING, NULL), V(UserspaceIOCPBuffers, BOOL, "0"), - VAR("V1AuthoritativeDirectory",BOOL, V1AuthoritativeDir, "0"), + OBSOLETE("V1AuthoritativeDirectory"), OBSOLETE("V2AuthoritativeDirectory"), VAR("V3AuthoritativeDirectory",BOOL, V3AuthoritativeDir, "0"), V(TestingV3AuthInitialVotingInterval, INTERVAL, "30 minutes"), @@ -563,6 +566,8 @@ static void config_maybe_load_geoip_files_(const or_options_t *options, static int options_validate_cb(void *old_options, void *options, void *default_options, int from_setconf, char **msg); +static uint64_t compute_real_max_mem_in_queues(const uint64_t val, + int log_guess); /** Magic value for or_options_t. */ #define OR_OPTIONS_MAGIC 9090909 @@ -618,8 +623,8 @@ get_options_mutable(void) } /** Returns the currently configured options */ -const or_options_t * -get_options(void) +MOCK_IMPL(const or_options_t *, +get_options,(void)) { return get_options_mutable(); } @@ -844,7 +849,7 @@ add_default_trusted_dir_authorities(dirinfo_type_t type) "moria1 orport=9101 " "v3ident=D586D18309DED4CD6D57C18FDB97EFA96D330566 " "128.31.0.39:9131 9695 DFC3 5FFE B861 329B 9F1A B04C 4639 7020 CE31", - "tor26 v1 orport=443 v3ident=14C131DFC5C6F93646BE72FA1401C02A8DF2E8B4 " + "tor26 orport=443 v3ident=14C131DFC5C6F93646BE72FA1401C02A8DF2E8B4 " "86.59.21.38:80 847B 1F85 0344 D787 6491 A548 92F9 0493 4E4E B85D", "dizum orport=443 v3ident=E8A9C45EDE6D711294FADF8E7951F4DE6CA56B58 " "194.109.206.212:80 7EA6 EAD6 FD83 083C 538F 4403 8BBF A077 587D D755", @@ -904,8 +909,7 @@ validate_dir_servers(or_options_t *options, or_options_t *old_options) config_line_t *cl; if (options->DirAuthorities && - (options->AlternateDirAuthority || options->AlternateBridgeAuthority || - options->AlternateHSAuthority)) { + (options->AlternateDirAuthority || options->AlternateBridgeAuthority)) { log_warn(LD_CONFIG, "You cannot set both DirAuthority and Alternate*Authority."); return -1; @@ -941,9 +945,6 @@ validate_dir_servers(or_options_t *options, or_options_t *old_options) for (cl = options->AlternateDirAuthority; cl; cl = cl->next) if (parse_dir_authority_line(cl->value, NO_DIRINFO, 1)<0) return -1; - for (cl = options->AlternateHSAuthority; cl; cl = cl->next) - if (parse_dir_authority_line(cl->value, NO_DIRINFO, 1)<0) - return -1; for (cl = options->FallbackDir; cl; cl = cl->next) if (parse_dir_fallback_line(cl->value, 1)<0) return -1; @@ -966,9 +967,7 @@ consider_adding_dir_servers(const or_options_t *options, !config_lines_eq(options->AlternateBridgeAuthority, old_options->AlternateBridgeAuthority) || !config_lines_eq(options->AlternateDirAuthority, - old_options->AlternateDirAuthority) || - !config_lines_eq(options->AlternateHSAuthority, - old_options->AlternateHSAuthority); + old_options->AlternateDirAuthority); if (!need_to_update) return 0; /* all done */ @@ -982,10 +981,7 @@ consider_adding_dir_servers(const or_options_t *options, if (!options->AlternateBridgeAuthority) type |= BRIDGE_DIRINFO; if (!options->AlternateDirAuthority) - type |= V1_DIRINFO | V3_DIRINFO | EXTRAINFO_DIRINFO | - MICRODESC_DIRINFO; - if (!options->AlternateHSAuthority) - type |= HIDSERV_DIRINFO; + type |= V3_DIRINFO | EXTRAINFO_DIRINFO | MICRODESC_DIRINFO; add_default_trusted_dir_authorities(type); } if (!options->FallbackDir) @@ -1000,9 +996,6 @@ consider_adding_dir_servers(const or_options_t *options, for (cl = options->AlternateDirAuthority; cl; cl = cl->next) if (parse_dir_authority_line(cl->value, NO_DIRINFO, 0)<0) return -1; - for (cl = options->AlternateHSAuthority; cl; cl = cl->next) - if (parse_dir_authority_line(cl->value, NO_DIRINFO, 0)<0) - return -1; for (cl = options->FallbackDir; cl; cl = cl->next) if (parse_dir_fallback_line(cl->value, 0)<0) return -1; @@ -1053,12 +1046,18 @@ options_act_reversible(const or_options_t *old_options, char **msg) if (running_tor) { int n_ports=0; /* We need to set the connection limit before we can open the listeners. */ - if (set_max_file_descriptors((unsigned)options->ConnLimit, - &options->ConnLimit_) < 0) { - *msg = tor_strdup("Problem with ConnLimit value. See logs for details."); - goto rollback; + if (! sandbox_is_active()) { + if (set_max_file_descriptors((unsigned)options->ConnLimit, + &options->ConnLimit_) < 0) { + *msg = tor_strdup("Problem with ConnLimit value. " + "See logs for details."); + goto rollback; + } + set_conn_limit = 1; + } else { + tor_assert(old_options); + options->ConnLimit_ = old_options->ConnLimit_; } - set_conn_limit = 1; /* Set up libevent. (We need to do this before we can register the * listeners as listeners.) */ @@ -1099,7 +1098,8 @@ options_act_reversible(const or_options_t *old_options, char **msg) #if defined(HAVE_NET_IF_H) && defined(HAVE_NET_PFVAR_H) /* Open /dev/pf before dropping privileges. */ - if (options->TransPort_set) { + if (options->TransPort_set && + options->TransProxyType_parsed == TPT_DEFAULT) { if (get_pf_socket() < 0) { *msg = tor_strdup("Unable to open /dev/pf for transparent proxy."); goto rollback; @@ -1141,11 +1141,13 @@ options_act_reversible(const or_options_t *old_options, char **msg) if (!running_tor) goto commit; - mark_logs_temp(); /* Close current logs once new logs are open. */ - logs_marked = 1; - if (options_init_logs(options, 0)<0) { /* Configure the tor_log(s) */ - *msg = tor_strdup("Failed to init Log options. See logs for details."); - goto rollback; + if (!sandbox_is_active()) { + mark_logs_temp(); /* Close current logs once new logs are open. */ + logs_marked = 1; + if (options_init_logs(options, 0)<0) { /* Configure the tor_log(s) */ + *msg = tor_strdup("Failed to init Log options. See logs for details."); + goto rollback; + } } commit: @@ -1159,20 +1161,42 @@ options_act_reversible(const or_options_t *old_options, char **msg) tor_free(severity); tor_log_update_sigsafe_err_fds(); } - if (get_min_log_level() >= LOG_INFO && - get_min_log_level() != old_min_log_level) { - log_warn(LD_GENERAL, "Your log may contain sensitive information: you're " - "logging more than \"notice\". Please log safely. Don't log " - "unless it serves an important reason, and overwrite the log " - "afterwards."); + + { + const char *badness = NULL; + int bad_safelog = 0, bad_severity = 0, new_badness = 0; + if (options->SafeLogging_ != SAFELOG_SCRUB_ALL) { + bad_safelog = 1; + if (!old_options || old_options->SafeLogging_ != options->SafeLogging_) + new_badness = 1; + } + if (get_min_log_level() >= LOG_INFO) { + bad_severity = 1; + if (get_min_log_level() != old_min_log_level) + new_badness = 1; + } + if (bad_safelog && bad_severity) + badness = "you disabled SafeLogging, and " + "you're logging more than \"notice\""; + else if (bad_safelog) + badness = "you disabled SafeLogging"; + else + badness = "you're logging more than \"notice\""; + if (new_badness) + log_warn(LD_GENERAL, "Your log may contain sensitive information - %s. " + "Don't log unless it serves an important reason. " + "Overwrite the log afterwards.", badness); } SMARTLIST_FOREACH(replaced_listeners, connection_t *, conn, { + int marked = conn->marked_for_close; log_notice(LD_NET, "Closing old %s on %s:%d", conn_type_to_string(conn->type), conn->address, conn->port); connection_close_immediate(conn); - connection_mark_for_close(conn); + if (!marked) { + connection_mark_for_close(conn); + } }); goto done; @@ -1352,11 +1376,17 @@ options_act(const or_options_t *old_options) } #endif - if (options->SafeLogging_ != SAFELOG_SCRUB_ALL && - (!old_options || old_options->SafeLogging_ != options->SafeLogging_)) { - log_warn(LD_GENERAL, "Your log may contain sensitive information - you " - "disabled SafeLogging. Please log safely. Don't log unless it " - "serves an important reason. Overwrite the log afterwards."); + /* If we are a bridge with a pluggable transport proxy but no + Extended ORPort, inform the user that she is missing out. */ + if (server_mode(options) && options->ServerTransportPlugin && + !options->ExtORPort_lines) { + log_notice(LD_CONFIG, "We use pluggable transports but the Extended " + "ORPort is disabled. Tor and your pluggable transports proxy " + "communicate with each other via the Extended ORPort so it " + "is suggested you enable it: it will also allow your Bridge " + "to collect statistics about its clients that use pluggable " + "transports. Please enable it using the ExtORPort torrc option " + "(e.g. set 'ExtORPort auto')."); } if (options->Bridges) { @@ -1418,6 +1448,12 @@ options_act(const or_options_t *old_options) sweep_transport_list(); sweep_proxy_list(); + /* Start the PT proxy configuration. By doing this configuration + here, we also figure out which proxies need to be restarted and + which not. */ + if (pt_proxies_configuration_pending() && !net_is_disabled()) + pt_configure_remaining_proxies(); + /* Bail out at this point if we're not going to be a client or server: * we want to not fork, and to log stuff to stderr. */ if (!running_tor) @@ -1467,8 +1503,9 @@ options_act(const or_options_t *old_options) /* Write our PID to the PID file. If we do not have write permissions we * will log a warning */ - if (options->PidFile) + if (options->PidFile && !sandbox_is_active()) { write_pidfile(options->PidFile); + } /* Register addressmap directives */ config_register_addressmaps(options); @@ -1671,10 +1708,14 @@ options_act(const or_options_t *old_options) time_t now = time(NULL); int print_notice = 0; - /* If we aren't acting as a server, we can't collect stats anyway. */ + /* Only collect directory-request statistics on relays and bridges. */ if (!server_mode(options)) { - options->CellStatistics = 0; options->DirReqStatistics = 0; + } + + /* Only collect other relay-only statistics on relays. */ + if (!public_server_mode(options)) { + options->CellStatistics = 0; options->EntryStatistics = 0; options->ExitPortStatistics = 0; } @@ -2053,6 +2094,7 @@ resolve_my_address(int warn_severity, const or_options_t *options, int notice_severity = warn_severity <= LOG_NOTICE ? LOG_NOTICE : warn_severity; + tor_addr_t myaddr; tor_assert(addr_out); /* @@ -2103,24 +2145,26 @@ resolve_my_address(int warn_severity, const or_options_t *options, "local interface. Using that.", fmt_addr32(addr)); strlcpy(hostname, "<guessed from interfaces>", sizeof(hostname)); } else { /* resolved hostname into addr */ + tor_addr_from_ipv4h(&myaddr, addr); + if (!explicit_hostname && - is_internal_IP(addr, 0)) { - uint32_t interface_ip; + tor_addr_is_internal(&myaddr, 0)) { + tor_addr_t interface_ip; log_fn(notice_severity, LD_CONFIG, "Guessed local hostname '%s' " "resolves to a private IP address (%s). Trying something " "else.", hostname, fmt_addr32(addr)); - if (get_interface_address(warn_severity, &interface_ip)) { + if (get_interface_address6(warn_severity, AF_INET, &interface_ip)<0) { log_fn(warn_severity, LD_CONFIG, "Could not get local interface IP address. Too bad."); - } else if (is_internal_IP(interface_ip, 0)) { + } else if (tor_addr_is_internal(&interface_ip, 0)) { log_fn(notice_severity, LD_CONFIG, "Interface IP address '%s' is a private address too. " - "Ignoring.", fmt_addr32(interface_ip)); + "Ignoring.", fmt_addr(&interface_ip)); } else { from_interface = 1; - addr = interface_ip; + addr = tor_addr_to_ipv4h(&interface_ip); log_fn(notice_severity, LD_CONFIG, "Learned IP address '%s' for local interface." " Using that.", fmt_addr32(addr)); @@ -2138,8 +2182,10 @@ resolve_my_address(int warn_severity, const or_options_t *options, * out if it is and we don't want that. */ + tor_addr_from_ipv4h(&myaddr,addr); + addr_string = tor_dup_ip(addr); - if (is_internal_IP(addr, 0)) { + if (tor_addr_is_internal(&myaddr, 0)) { /* make sure we're ok with publishing an internal IP */ if (!options->DirAuthorities && !options->AlternateDirAuthority) { /* if they are using the default authorities, disallow internal IPs @@ -2245,7 +2291,7 @@ is_local_addr(const tor_addr_t *addr) * resolve_my_address will never be called at all). In those cases, * last_resolved_addr will be 0, and so checking to see whether ip is on * the same /24 as last_resolved_addr will be the same as checking whether - * it was on net 0, which is already done by is_internal_IP. + * it was on net 0, which is already done by tor_addr_is_internal. */ if ((last_resolved_addr & (uint32_t)0xffffff00ul) == (ip & (uint32_t)0xffffff00ul)) @@ -2359,14 +2405,16 @@ compute_publishserverdescriptor(or_options_t *options) return 0; SMARTLIST_FOREACH_BEGIN(list, const char *, string) { if (!strcasecmp(string, "v1")) - *auth |= V1_DIRINFO; + log_warn(LD_CONFIG, "PublishServerDescriptor v1 has no effect, because " + "there are no v1 directory authorities anymore."); else if (!strcmp(string, "1")) if (options->BridgeRelay) *auth |= BRIDGE_DIRINFO; else *auth |= V3_DIRINFO; else if (!strcasecmp(string, "v2")) - /* obsolete */; + log_warn(LD_CONFIG, "PublishServerDescriptor v2 has no effect, because " + "there are no v2 directory authorities anymore."); else if (!strcasecmp(string, "v3")) *auth |= V3_DIRINFO; else if (!strcasecmp(string, "bridge")) @@ -2387,6 +2435,11 @@ compute_publishserverdescriptor(or_options_t *options) * services can overload the directory system. */ #define MIN_REND_POST_PERIOD (10*60) +/** Higest allowable value for PredictedPortsRelevanceTime; if this is + * too high, our selection of exits will decrease for an extended + * period of time to an uncomfortable level .*/ +#define MAX_PREDICTED_CIRCS_RELEVANCE (60*60) + /** Highest allowable value for RendPostPeriod. */ #define MAX_DIR_PERIOD (MIN_ONION_KEY_LIFETIME/2) @@ -2455,7 +2508,7 @@ options_validate(or_options_t *old_options, or_options_t *options, !strcmpstart(uname, "Windows Me"))) { log_warn(LD_CONFIG, "Tor is running as a server, but you are " "running %s; this probably won't work. See " - "https://wiki.torproject.org/TheOnionRouter/TorFAQ#ServerOS " + "https://www.torproject.org/docs/faq.html#BestOSForRelay " "for details.", uname); } @@ -2522,12 +2575,24 @@ options_validate(or_options_t *old_options, or_options_t *options, if (options->TransProxyType) { if (!strcasecmp(options->TransProxyType, "default")) { options->TransProxyType_parsed = TPT_DEFAULT; + } else if (!strcasecmp(options->TransProxyType, "pf-divert")) { +#ifndef __OpenBSD__ + REJECT("pf-divert is a OpenBSD-specific feature."); +#else + options->TransProxyType_parsed = TPT_PF_DIVERT; +#endif } else if (!strcasecmp(options->TransProxyType, "tproxy")) { #ifndef __linux__ REJECT("TPROXY is a Linux-specific feature."); #else options->TransProxyType_parsed = TPT_TPROXY; #endif + } else if (!strcasecmp(options->TransProxyType, "ipfw")) { +#ifndef __FreeBSD__ + REJECT("ipfw is a FreeBSD-specific feature."); +#else + options->TransProxyType_parsed = TPT_IPFW; +#endif } else { REJECT("Unrecognized value for TransProxyType"); } @@ -2582,8 +2647,6 @@ options_validate(or_options_t *old_options, or_options_t *options, if (options->AuthoritativeDir) { if (!options->ContactInfo && !options->TestingTorNetwork) REJECT("Authoritative directory servers must set ContactInfo"); - if (options->V1AuthoritativeDir && !options->RecommendedVersions) - REJECT("V1 authoritative dir servers must set RecommendedVersions."); if (!options->RecommendedClientVersions) options->RecommendedClientVersions = config_lines_dup(options->RecommendedVersions); @@ -2605,11 +2668,10 @@ options_validate(or_options_t *old_options, or_options_t *options, "extra-info documents. Setting DownloadExtraInfo."); options->DownloadExtraInfo = 1; } - if (!(options->BridgeAuthoritativeDir || options->HSAuthoritativeDir || - options->V1AuthoritativeDir || + if (!(options->BridgeAuthoritativeDir || options->V3AuthoritativeDir)) REJECT("AuthoritativeDir is set, but none of " - "(Bridge/HS/V1/V3)AuthoritativeDir is set."); + "(Bridge/V3)AuthoritativeDir is set."); /* If we have a v3bandwidthsfile and it's broken, complain on startup */ if (options->V3BandwidthsFile && !old_options) { dirserv_read_measured_bandwidths(options->V3BandwidthsFile, NULL); @@ -2629,10 +2691,6 @@ options_validate(or_options_t *old_options, or_options_t *options, REJECT("FetchDirInfoExtraEarly requires that you also set " "FetchDirInfoEarly"); - if (options->HSAuthoritativeDir && proxy_mode(options)) - REJECT("Running as authoritative v0 HS directory, but also configured " - "as a client."); - if (options->ConnLimit <= 0) { tor_asprintf(msg, "ConnLimit must be greater than 0, but was set to %d", @@ -2769,11 +2827,9 @@ options_validate(or_options_t *old_options, or_options_t *options, REJECT("If EntryNodes is set, UseEntryGuards must be enabled."); } - if (options->MaxMemInCellQueues < (500 << 20)) { - log_warn(LD_CONFIG, "MaxMemInCellQueues must be at least 500 MB for now. " - "Ideally, have it as large as you can afford."); - options->MaxMemInCellQueues = (500 << 20); - } + options->MaxMemInQueues = + compute_real_max_mem_in_queues(options->MaxMemInQueues_raw, + server_mode(options)); options->AllowInvalid_ = 0; @@ -2818,8 +2874,7 @@ options_validate(or_options_t *old_options, or_options_t *options, if ((options->BridgeRelay || options->PublishServerDescriptor_ & BRIDGE_DIRINFO) - && (options->PublishServerDescriptor_ - & (V1_DIRINFO|V3_DIRINFO))) { + && (options->PublishServerDescriptor_ & V3_DIRINFO)) { REJECT("Bridges are not supposed to publish router descriptors to the " "directory authorities. Please correct your " "PublishServerDescriptor line."); @@ -2851,6 +2906,13 @@ options_validate(or_options_t *old_options, or_options_t *options, options->RendPostPeriod = MAX_DIR_PERIOD; } + if (options->PredictedPortsRelevanceTime > + MAX_PREDICTED_CIRCS_RELEVANCE) { + log_warn(LD_CONFIG, "PredictedPortsRelevanceTime is too large; " + "clipping to %ds.", MAX_PREDICTED_CIRCS_RELEVANCE); + options->PredictedPortsRelevanceTime = MAX_PREDICTED_CIRCS_RELEVANCE; + } + if (options->Tor2webMode && options->LearnCircuitBuildTimeout) { /* LearnCircuitBuildTimeout and Tor2webMode are incompatible in * two ways: @@ -3267,17 +3329,6 @@ options_validate(or_options_t *old_options, or_options_t *options, smartlist_free(options_sl); } - /* If we are a bridge with a pluggable transport proxy but no - Extended ORPort, inform the user that she is missing out. */ - if (server_mode(options) && options->ServerTransportPlugin && - !options->ExtORPort_lines) { - log_notice(LD_CONFIG, "We are a bridge with a pluggable transport " - "proxy but the Extended ORPort is disabled. The " - "Extended ORPort helps Tor communicate with the pluggable " - "transport proxy. Please enable it using the ExtORPort " - "torrc option."); - } - if (options->ConstrainedSockets) { /* If the user wants to constrain socket buffer use, make sure the desired * limit is between MIN|MAX_TCPSOCK_BUFFER in k increments. */ @@ -3517,6 +3568,68 @@ options_validate(or_options_t *old_options, or_options_t *options, #undef COMPLAIN } +/* Given the value that the user has set for MaxMemInQueues, compute the + * actual maximum value. We clip this value if it's too low, and autodetect + * it if it's set to 0. */ +static uint64_t +compute_real_max_mem_in_queues(const uint64_t val, int log_guess) +{ + uint64_t result; + + if (val == 0) { +#define ONE_GIGABYTE (U64_LITERAL(1) << 30) +#define ONE_MEGABYTE (U64_LITERAL(1) << 20) +#if SIZEOF_VOID_P >= 8 +#define MAX_DEFAULT_MAXMEM (8*ONE_GIGABYTE) +#else +#define MAX_DEFAULT_MAXMEM (2*ONE_GIGABYTE) +#endif + /* The user didn't pick a memory limit. Choose a very large one + * that is still smaller than the system memory */ + static int notice_sent = 0; + size_t ram = 0; + if (get_total_system_memory(&ram) < 0) { + /* We couldn't determine our total system memory! */ +#if SIZEOF_VOID_P >= 8 + /* 64-bit system. Let's hope for 8 GB. */ + result = 8 * ONE_GIGABYTE; +#else + /* (presumably) 32-bit system. Let's hope for 1 GB. */ + result = ONE_GIGABYTE; +#endif + } else { + /* We detected it, so let's pick 3/4 of the total RAM as our limit. */ + const uint64_t avail = (ram / 4) * 3; + + /* Make sure it's in range from 0.25 GB to 8 GB. */ + if (avail > MAX_DEFAULT_MAXMEM) { + /* If you want to use more than this much RAM, you need to configure + it yourself */ + result = MAX_DEFAULT_MAXMEM; + } else if (avail < ONE_GIGABYTE / 4) { + result = ONE_GIGABYTE / 4; + } else { + result = avail; + } + } + if (log_guess && ! notice_sent) { + log_notice(LD_CONFIG, "%sMaxMemInQueues is set to "U64_FORMAT" MB. " + "You can override this by setting MaxMemInQueues by hand.", + ram ? "Based on detected system memory, " : "", + U64_PRINTF_ARG(result / ONE_MEGABYTE)); + notice_sent = 1; + } + return result; + } else if (val < ONE_GIGABYTE / 4) { + log_warn(LD_CONFIG, "MaxMemInQueues must be at least 256 MB for now. " + "Ideally, have it as large as you can afford."); + return ONE_GIGABYTE / 4; + } else { + /* The value was fine all along */ + return val; + } +} + /** Helper: return true iff s1 and s2 are both NULL, or both non-NULL * equal strings. */ static int @@ -3545,6 +3658,12 @@ options_transition_allowed(const or_options_t *old, return -1; } + if (old->Sandbox != new_val->Sandbox) { + *msg = tor_strdup("While Tor is running, changing Sandbox " + "is not allowed."); + return -1; + } + if (strcmp(old->DataDirectory,new_val->DataDirectory)!=0) { tor_asprintf(msg, "While Tor is running, changing DataDirectory " @@ -3597,6 +3716,32 @@ options_transition_allowed(const or_options_t *old, return -1; } + if (sandbox_is_active()) { + if (! opt_streq(old->PidFile, new_val->PidFile)) { + *msg = tor_strdup("Can't change PidFile while Sandbox is active"); + return -1; + } + if (! config_lines_eq(old->Logs, new_val->Logs)) { + *msg = tor_strdup("Can't change Logs while Sandbox is active"); + return -1; + } + if (old->ConnLimit != new_val->ConnLimit) { + *msg = tor_strdup("Can't change ConnLimit while Sandbox is active"); + return -1; + } + if (! opt_streq(old->ServerDNSResolvConfFile, + new_val->ServerDNSResolvConfFile)) { + *msg = tor_strdup("Can't change ServerDNSResolvConfFile" + " while Sandbox is active"); + return -1; + } + if (server_mode(old) != server_mode(new_val)) { + *msg = tor_strdup("Can't start/stop being a server while " + "Sandbox is active"); + return -1; + } + } + return 0; } @@ -4505,18 +4650,11 @@ parse_bridge_line(const char *line) addrport = field; } - /* Parse addrport. */ - if (tor_addr_port_lookup(addrport, - &bridge_line->addr, &bridge_line->port)<0) { + if (tor_addr_port_parse(LOG_INFO, addrport, + &bridge_line->addr, &bridge_line->port, 443)<0) { log_warn(LD_CONFIG, "Error parsing Bridge address '%s'", addrport); goto err; } - if (!bridge_line->port) { - log_info(LD_CONFIG, - "Bridge address '%s' has no port; using default port 443.", - addrport); - bridge_line->port = 443; - } /* If transports are enabled, next field could be a fingerprint or a socks argument. If transports are disabled, next field must be @@ -4665,8 +4803,8 @@ parse_client_transport_line(const char *line, int validate_only) if (is_managed) { /* managed */ if (!validate_only && is_useless_proxy) { - log_warn(LD_GENERAL, "Pluggable transport proxy (%s) does not provide " - "any needed transports and will not be launched.", line); + log_notice(LD_GENERAL, "Pluggable transport proxy (%s) does not provide " + "any needed transports and will not be launched.", line); } /* If we are not just validating, use the rest of the line as the @@ -4767,7 +4905,7 @@ get_bindaddr_from_transport_listen_line(const char *line,const char *transport) goto err; /* Validate addrport */ - if (tor_addr_port_parse(LOG_WARN, addrport, &addr, &port)<0) { + if (tor_addr_port_parse(LOG_WARN, addrport, &addr, &port, -1)<0) { log_warn(LD_CONFIG, "Error parsing ServerTransportListenAddr " "address '%s'", addrport); goto err; @@ -5020,7 +5158,6 @@ parse_dir_authority_line(const char *line, dirinfo_type_t required_type, char digest[DIGEST_LEN]; char v3_digest[DIGEST_LEN]; dirinfo_type_t type = 0; - int is_not_hidserv_authority = 0; double weight = 1.0; items = smartlist_new(); @@ -5040,12 +5177,10 @@ parse_dir_authority_line(const char *line, dirinfo_type_t required_type, char *flag = smartlist_get(items, 0); if (TOR_ISDIGIT(flag[0])) break; - if (!strcasecmp(flag, "v1")) { - type |= (V1_DIRINFO | HIDSERV_DIRINFO); - } else if (!strcasecmp(flag, "hs")) { - type |= HIDSERV_DIRINFO; - } else if (!strcasecmp(flag, "no-hs")) { - is_not_hidserv_authority = 1; + if (!strcasecmp(flag, "hs") || + !strcasecmp(flag, "no-hs")) { + log_warn(LD_CONFIG, "The DirAuthority options 'hs' and 'no-hs' are " + "obsolete; you don't need them any more."); } else if (!strcasecmp(flag, "bridge")) { type |= BRIDGE_DIRINFO; } else if (!strcasecmp(flag, "no-v2")) { @@ -5082,8 +5217,6 @@ parse_dir_authority_line(const char *line, dirinfo_type_t required_type, tor_free(flag); smartlist_del_keeporder(items, 0); } - if (is_not_hidserv_authority) - type &= ~HIDSERV_DIRINFO; if (smartlist_len(items) < 2) { log_warn(LD_CONFIG, "Too few arguments to DirAuthority line."); @@ -6258,7 +6391,7 @@ write_configuration_file(const char *fname, const or_options_t *options) ++i; } log_notice(LD_CONFIG, "Renaming old configuration file to \"%s\"", fn_tmp); - if (rename(fname, fn_tmp) < 0) { + if (tor_rename(fname, fn_tmp) < 0) {//XXXX sandbox doesn't allow log_warn(LD_FS, "Couldn't rename configuration file \"%s\" to \"%s\": %s", fname, fn_tmp, strerror(errno)); @@ -6444,13 +6577,17 @@ remove_file_if_very_old(const char *fname, time_t now) #define VERY_OLD_FILE_AGE (28*24*60*60) struct stat st; + log_debug(LD_FS, "stat()ing %s", fname); if (stat(sandbox_intern_string(fname), &st)==0 && st.st_mtime < now-VERY_OLD_FILE_AGE) { char buf[ISO_TIME_LEN+1]; format_local_iso_time(buf, st.st_mtime); log_notice(LD_GENERAL, "Obsolete file %s hasn't been modified since %s. " "Removing it.", fname, buf); - unlink(fname); + if (unlink(fname) != 0) { + log_warn(LD_FS, "Failed to unlink %s: %s", + fname, strerror(errno)); + } } } diff --git a/src/or/config.h b/src/or/config.h index 8ee2a45725..bf386134b8 100644 --- a/src/or/config.h +++ b/src/or/config.h @@ -12,8 +12,10 @@ #ifndef TOR_CONFIG_H #define TOR_CONFIG_H +#include "testsupport.h" + const char *get_dirportfrontpage(void); -const or_options_t *get_options(void); +MOCK_DECL(const or_options_t *,get_options,(void)); or_options_t *get_options_mutable(void); int set_options(or_options_t *new_val, char **msg); void config_free_all(void); diff --git a/src/or/connection.c b/src/or/connection.c index 0a01e5020c..3cc4e09fb7 100644 --- a/src/or/connection.c +++ b/src/or/connection.c @@ -271,8 +271,6 @@ dir_connection_new(int socket_family) * * Set timestamp_last_added_nonpadding to now. * - * Assign a pseudorandom next_circ_id between 0 and 2**15. - * * Initialize active_circuit_pqueue. * * Set active_circuit_pqueue_last_recalibrated to current cell_ewma tick. @@ -958,12 +956,14 @@ check_location_for_unix_socket(const or_options_t *options, const char *path) #endif /** Tell the TCP stack that it shouldn't wait for a long time after - * <b>sock</b> has closed before reusing its port. */ -static void + * <b>sock</b> has closed before reusing its port. Return 0 on success, + * -1 on failure. */ +static int make_socket_reuseable(tor_socket_t sock) { #ifdef _WIN32 (void) sock; + return 0; #else int one=1; @@ -973,9 +973,9 @@ make_socket_reuseable(tor_socket_t sock) * already has it bound_. So, don't do that on Win32. */ if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (void*) &one, (socklen_t)sizeof(one)) == -1) { - log_warn(LD_NET, "Error setting SO_REUSEADDR flag: %s", - tor_socket_strerror(errno)); + return -1; } + return 0; #endif } @@ -1008,9 +1008,9 @@ tor_listen(tor_socket_t fd) */ static connection_t * connection_listener_new(const struct sockaddr *listensockaddr, - socklen_t socklen, - int type, const char *address, - const port_cfg_t *port_cfg) + socklen_t socklen, + int type, const char *address, + const port_cfg_t *port_cfg) { listener_connection_t *lis_conn; connection_t *conn = NULL; @@ -1049,7 +1049,11 @@ connection_listener_new(const struct sockaddr *listensockaddr, goto err; } - make_socket_reuseable(s); + if (make_socket_reuseable(s) < 0) { + log_warn(LD_NET, "Error setting SO_REUSEADDR flag on %s: %s", + conn_type_to_string(type), + tor_socket_strerror(errno)); + } #if defined USE_TRANSPARENT && defined(IP_TRANSPARENT) if (options->TransProxyType_parsed == TPT_TPROXY && @@ -1354,7 +1358,18 @@ connection_handle_listener_read(connection_t *conn, int new_type) "Connection accepted on socket %d (child of fd %d).", (int)news,(int)conn->s); - make_socket_reuseable(news); + if (make_socket_reuseable(news) < 0) { + if (tor_socket_errno(news) == EINVAL) { + /* This can happen on OSX if we get a badly timed shutdown. */ + log_debug(LD_NET, "make_socket_reuseable returned EINVAL"); + } else { + log_warn(LD_NET, "Error setting SO_REUSEADDR flag on %s: %s", + conn_type_to_string(new_type), + tor_socket_strerror(errno)); + } + tor_close_socket(news); + return 0; + } if (options->ConstrainedSockets) set_constrained_socket_buffers(news, (int)options->ConstrainedSockSize); @@ -1563,7 +1578,10 @@ connection_connect(connection_t *conn, const char *address, return -1; } - make_socket_reuseable(s); + if (make_socket_reuseable(s) < 0) { + log_warn(LD_NET, "Error setting SO_REUSEADDR flag on new connection: %s", + tor_socket_strerror(errno)); + } if (!tor_addr_is_loopback(addr)) { const tor_addr_t *ext_addr = NULL; @@ -2227,7 +2245,7 @@ retry_listener_ports(smartlist_t *old_conns, if (listensockaddr) { conn = connection_listener_new(listensockaddr, listensocklen, - port->type, address, port); + port->type, address, port); tor_free(listensockaddr); tor_free(address); } else { @@ -2339,6 +2357,20 @@ connection_mark_all_noncontrol_connections(void) connection_mark_unattached_ap(TO_ENTRY_CONN(conn), END_STREAM_REASON_HIBERNATING); break; + case CONN_TYPE_OR: + { + or_connection_t *orconn = TO_OR_CONN(conn); + if (orconn->chan) { + connection_or_close_normally(orconn, 0); + } else { + /* + * There should have been one, but mark for close and hope + * for the best.. + */ + connection_mark_for_close(conn); + } + } + break; default: connection_mark_for_close(conn); break; @@ -2513,9 +2545,8 @@ connection_bucket_write_limit(connection_t *conn, time_t now) * shouldn't send <b>attempt</b> bytes of low-priority directory stuff * out to <b>conn</b>. Else return 0. - * Priority is 1 for v1 requests (directories and running-routers), - * and 2 for v2 requests (statuses and descriptors). But see FFFF in - * directory_handle_command_get() for why we don't use priority 2 yet. + * Priority was 1 for v1 requests (directories and running-routers), + * and 2 for v2 requests and later (statuses and descriptors). * * There are a lot of parameters we could use here: * - global_relayed_write_bucket. Low is bad. @@ -3990,6 +4021,12 @@ connection_write_to_buf_impl_,(const char *string, size_t len, "write_to_buf failed. Closing circuit (fd %d).", (int)conn->s); circuit_mark_for_close(circuit_get_by_edge_conn(TO_EDGE_CONN(conn)), END_CIRC_REASON_INTERNAL); + } else if (conn->type == CONN_TYPE_OR) { + or_connection_t *orconn = TO_OR_CONN(conn); + log_warn(LD_NET, + "write_to_buf failed on an orconn; notifying of error " + "(fd %d)", (int)(conn->s)); + connection_or_close_for_error(orconn, 0); } else { log_warn(LD_NET, "write_to_buf failed. Closing connection (fd %d).", @@ -4164,20 +4201,29 @@ connection_dir_get_by_purpose_and_resource(int purpose, return NULL; } -/** Return an open, non-marked connection of a given type and purpose, or NULL - * if no such connection exists. */ -connection_t * -connection_get_by_type_purpose(int type, int purpose) +/** Return 1 if there are any active OR connections apart from + * <b>this_conn</b>. + * + * We use this to guess if we should tell the controller that we + * didn't manage to connect to any of our bridges. */ +int +any_other_active_or_conns(const or_connection_t *this_conn) { smartlist_t *conns = get_connection_array(); - SMARTLIST_FOREACH(conns, connection_t *, conn, - { - if (conn->type == type && - !conn->marked_for_close && - (purpose == conn->purpose)) - return conn; - }); - return NULL; + SMARTLIST_FOREACH_BEGIN(conns, connection_t *, conn) { + if (conn == TO_CONN(this_conn)) { /* don't consider this conn */ + continue; + } + + if (conn->type == CONN_TYPE_OR && + !conn->marked_for_close) { + log_debug(LD_DIR, "%s: Found an OR connection: %s", + __func__, conn->address); + return 1; + } + } SMARTLIST_FOREACH_END(conn); + + return 0; } /** Return 1 if <b>conn</b> is a listener conn, else return 0. */ @@ -4766,6 +4812,8 @@ get_proxy_addrport(tor_addr_t *addr, uint16_t *port, int *proxy_type, } } + tor_addr_make_unspec(addr); + *port = 0; *proxy_type = PROXY_NONE; return 0; } diff --git a/src/or/connection.h b/src/or/connection.h index 4073d9fc9c..13dcbcd919 100644 --- a/src/or/connection.h +++ b/src/or/connection.h @@ -178,7 +178,6 @@ 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); -connection_t *connection_get_by_type_purpose(int type, int purpose); connection_t *connection_get_by_type_addr_port_purpose(int type, const tor_addr_t *addr, uint16_t port, int purpose); @@ -188,6 +187,8 @@ connection_t *connection_get_by_type_state_rendquery(int type, int state, dir_connection_t *connection_dir_get_by_purpose_and_resource( int state, const char *resource); +int any_other_active_or_conns(const or_connection_t *this_conn); + #define connection_speaks_cells(conn) ((conn)->type == CONN_TYPE_OR) int connection_is_listener(connection_t *conn); int connection_state_is_open(connection_t *conn); diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c index 4ca926e381..a8ad9ec2e2 100644 --- a/src/or/connection_edge.c +++ b/src/or/connection_edge.c @@ -62,19 +62,14 @@ static int connection_ap_process_natd(entry_connection_t *conn); static int connection_exit_connect_dir(edge_connection_t *exitconn); static int consider_plaintext_ports(entry_connection_t *conn, uint16_t port); static int connection_ap_supports_optimistic_data(const entry_connection_t *); -static void connection_ap_handshake_socks_resolved_addr( - entry_connection_t *conn, - const tor_addr_t *answer, - int ttl, - time_t expires); /** An AP stream has failed/finished. If it hasn't already sent back * a socks reply, send one now (based on endreason). Also set * has_sent_end to 1, and mark the conn. */ -void -connection_mark_unattached_ap_(entry_connection_t *conn, int endreason, - int line, const char *file) +MOCK_IMPL(void, +connection_mark_unattached_ap_,(entry_connection_t *conn, int endreason, + int line, const char *file)) { connection_t *base_conn = ENTRY_TO_CONN(conn); edge_connection_t *edge_conn = ENTRY_TO_EDGE_CONN(conn); @@ -1396,35 +1391,48 @@ get_pf_socket(void) } #endif -/** Fetch the original destination address and port from a - * system-specific interface and put them into a - * socks_request_t as if they came from a socks request. - * - * Return -1 if an error prevents fetching the destination, - * else return 0. - */ +#if defined(TRANS_NETFILTER) || defined(TRANS_PF) +/** Try fill in the address of <b>req</b> from the socket configured + * with <b>conn</b>. */ static int -connection_ap_get_original_destination(entry_connection_t *conn, - socks_request_t *req) +destination_from_socket(entry_connection_t *conn, socks_request_t *req) { -#ifdef TRANS_NETFILTER - /* Linux 2.4+ */ struct sockaddr_storage orig_dst; socklen_t orig_dst_len = sizeof(orig_dst); tor_addr_t addr; +#ifdef TRANS_NETFILTER if (getsockopt(ENTRY_TO_CONN(conn)->s, SOL_IP, SO_ORIGINAL_DST, (struct sockaddr*)&orig_dst, &orig_dst_len) < 0) { int e = tor_socket_errno(ENTRY_TO_CONN(conn)->s); log_warn(LD_NET, "getsockopt() failed: %s", tor_socket_strerror(e)); return -1; } +#elif defined(TRANS_PF) + if (getsockname(ENTRY_TO_CONN(conn)->s, (struct sockaddr*)&orig_dst, + &orig_dst_len) < 0) { + int e = tor_socket_errno(ENTRY_TO_CONN(conn)->s); + log_warn(LD_NET, "getsockname() failed: %s", tor_socket_strerror(e)); + return -1; + } +#else + (void)conn; + (void)req; + log_warn(LD_BUG, "Unable to determine destination from socket."); + return -1; +#endif tor_addr_from_sockaddr(&addr, (struct sockaddr*)&orig_dst, &req->port); tor_addr_to_str(req->address, &addr, sizeof(req->address), 1); return 0; -#elif defined(TRANS_PF) +} +#endif + +#ifdef TRANS_PF +static int +destination_from_pf(entry_connection_t *conn, socks_request_t *req) +{ struct sockaddr_storage proxy_addr; socklen_t proxy_addr_len = sizeof(proxy_addr); struct sockaddr *proxy_sa = (struct sockaddr*) &proxy_addr; @@ -1440,6 +1448,21 @@ connection_ap_get_original_destination(entry_connection_t *conn, return -1; } +#ifdef __FreeBSD__ + if (get_options()->TransProxyType_parsed == TPT_IPFW) { + /* ipfw(8) is used and in this case getsockname returned the original + destination */ + if (tor_addr_from_sockaddr(&addr, proxy_sa, &req->port) < 0) { + tor_fragile_assert(); + return -1; + } + + tor_addr_to_str(req->address, &addr, sizeof(req->address), 0); + + return 0; + } +#endif + memset(&pnl, 0, sizeof(pnl)); pnl.proto = IPPROTO_TCP; pnl.direction = PF_OUT; @@ -1486,6 +1509,36 @@ connection_ap_get_original_destination(entry_connection_t *conn, req->port = ntohs(pnl.rdport); return 0; +} +#endif + +/** Fetch the original destination address and port from a + * system-specific interface and put them into a + * socks_request_t as if they came from a socks request. + * + * Return -1 if an error prevents fetching the destination, + * else return 0. + */ +static int +connection_ap_get_original_destination(entry_connection_t *conn, + socks_request_t *req) +{ +#ifdef TRANS_NETFILTER + return destination_from_socket(conn, req); +#elif defined(TRANS_PF) + const or_options_t *options = get_options(); + + if (options->TransProxyType_parsed == TPT_PF_DIVERT) + return destination_from_socket(conn, req); + + if (options->TransProxyType_parsed == TPT_DEFAULT) + return destination_from_pf(conn, req); + + (void)conn; + (void)req; + log_warn(LD_BUG, "Proxy destination determination mechanism %s unknown.", + options->TransProxyType); + return -1; #else (void)conn; (void)req; @@ -2065,7 +2118,7 @@ tell_controller_about_resolved_result(entry_connection_t *conn, * As connection_ap_handshake_socks_resolved, but take a tor_addr_t to send * as the answer. */ -static void +void connection_ap_handshake_socks_resolved_addr(entry_connection_t *conn, const tor_addr_t *answer, int ttl, @@ -2098,13 +2151,13 @@ connection_ap_handshake_socks_resolved_addr(entry_connection_t *conn, **/ /* XXXX the use of the ttl and expires fields is nutty. Let's make this * interface and those that use it less ugly. */ -void -connection_ap_handshake_socks_resolved(entry_connection_t *conn, +MOCK_IMPL(void, +connection_ap_handshake_socks_resolved,(entry_connection_t *conn, int answer_type, size_t answer_len, const uint8_t *answer, int ttl, - time_t expires) + time_t expires)) { char buf[384]; size_t replylen; @@ -2273,13 +2326,24 @@ connection_ap_handshake_socks_reply(entry_connection_t *conn, char *reply, /* leave version, destport, destip zero */ connection_write_to_buf(buf, SOCKS4_NETWORK_LEN, ENTRY_TO_CONN(conn)); } else if (conn->socks_request->socks_version == 5) { - buf[0] = 5; /* version 5 */ - buf[1] = (char)status; - buf[2] = 0; - buf[3] = 1; /* ipv4 addr */ - memset(buf+4,0,6); /* Set external addr/port to 0. - The spec doesn't seem to say what to do here. -RD */ - connection_write_to_buf(buf,10,ENTRY_TO_CONN(conn)); + size_t buf_len; + memset(buf,0,sizeof(buf)); + if (tor_addr_family(&conn->edge_.base_.addr) == AF_INET) { + buf[0] = 5; /* version 5 */ + buf[1] = (char)status; + buf[2] = 0; + buf[3] = 1; /* ipv4 addr */ + /* 4 bytes for the header, 2 bytes for the port, 4 for the address. */ + buf_len = 10; + } else { /* AF_INET6. */ + buf[0] = 5; /* version 5 */ + buf[1] = (char)status; + buf[2] = 0; + buf[3] = 4; /* ipv6 addr */ + /* 4 bytes for the header, 2 bytes for the port, 16 for the address. */ + buf_len = 22; + } + connection_write_to_buf(buf,buf_len,ENTRY_TO_CONN(conn)); } /* If socks_version isn't 4 or 5, don't send anything. * This can happen in the case of AP bridges. */ diff --git a/src/or/connection_edge.h b/src/or/connection_edge.h index e3a95ad9ed..3c0e30a973 100644 --- a/src/or/connection_edge.h +++ b/src/or/connection_edge.h @@ -17,8 +17,9 @@ #define connection_mark_unattached_ap(conn, endreason) \ connection_mark_unattached_ap_((conn), (endreason), __LINE__, SHORT_FILE__) -void connection_mark_unattached_ap_(entry_connection_t *conn, int endreason, - int line, const char *file); +MOCK_DECL(void,connection_mark_unattached_ap_, + (entry_connection_t *conn, int endreason, + int line, const char *file)); int connection_edge_reached_eof(edge_connection_t *conn); int connection_edge_process_inbuf(edge_connection_t *conn, int package_partial); @@ -44,12 +45,17 @@ entry_connection_t *connection_ap_make_link(connection_t *partner, void connection_ap_handshake_socks_reply(entry_connection_t *conn, char *reply, size_t replylen, int endreason); -void connection_ap_handshake_socks_resolved(entry_connection_t *conn, - int answer_type, - size_t answer_len, - const uint8_t *answer, - int ttl, - time_t expires); +MOCK_DECL(void,connection_ap_handshake_socks_resolved, + (entry_connection_t *conn, + int answer_type, + size_t answer_len, + const uint8_t *answer, + int ttl, + time_t expires)); +void connection_ap_handshake_socks_resolved_addr(entry_connection_t *conn, + const tor_addr_t *answer, + int ttl, + time_t expires); int connection_exit_begin_conn(cell_t *cell, circuit_t *circ); int connection_exit_begin_resolve(cell_t *cell, or_circuit_t *circ); diff --git a/src/or/connection_or.c b/src/or/connection_or.c index dbf05a6fc8..6572a918e6 100644 --- a/src/or/connection_or.c +++ b/src/or/connection_or.c @@ -215,7 +215,7 @@ connection_or_clear_ext_or_id_map(void) orconn_ext_or_id_map = NULL; } -/** Creates an Extended ORPort identifier for <b>conn<b/> and deposits +/** Creates an Extended ORPort identifier for <b>conn</b> and deposits * it into the global list of identifiers. */ void connection_or_set_ext_or_identifier(or_connection_t *conn) @@ -714,7 +714,8 @@ connection_or_about_to_close(or_connection_t *or_conn) reason); if (!authdir_mode_tests_reachability(options)) control_event_bootstrap_problem( - orconn_end_reason_to_control_string(reason), reason); + orconn_end_reason_to_control_string(reason), + reason, or_conn); } } } else if (conn->hold_open_until_flushed) { @@ -1077,7 +1078,7 @@ connection_or_connect_failed(or_connection_t *conn, { control_event_or_conn_status(conn, OR_CONN_EVENT_FAILED, reason); if (!authdir_mode_tests_reachability(get_options())) - control_event_bootstrap_problem(msg, reason); + control_event_bootstrap_problem(msg, reason, conn); } /** <b>conn</b> got an error in connection_handle_read_impl() or @@ -1194,6 +1195,12 @@ connection_or_connect(const tor_addr_t *_addr, uint16_t port, "your pluggable transport proxy stopped running.", fmt_addrport(&TO_CONN(conn)->addr, TO_CONN(conn)->port), transport_name, transport_name); + + control_event_bootstrap_problem( + "Can't connect to bridge", + END_OR_CONN_REASON_PT_MISSING, + conn); + } else { log_warn(LD_GENERAL, "Tried to connect to '%s' through a proxy, but " "the proxy address could not be found.", @@ -1708,7 +1715,8 @@ connection_or_client_learned_peer_id(or_connection_t *conn, if (!authdir_mode_tests_reachability(options)) control_event_bootstrap_problem( "Unexpected identity in router certificate", - END_OR_CONN_REASON_OR_IDENTITY); + END_OR_CONN_REASON_OR_IDENTITY, + conn); return -1; } if (authdir_mode_tests_reachability(options)) { @@ -1758,8 +1766,6 @@ connection_tls_finish_handshake(or_connection_t *conn) safe_str_client(conn->base_.address), tor_tls_get_ciphersuite_name(conn->tls)); - directory_set_dirty(); - if (connection_or_check_valid_tls_handshake(conn, started_here, digest_rcvd) < 0) return -1; diff --git a/src/or/control.c b/src/or/control.c index 42db3613d4..d571900ac3 100644..100755 --- a/src/or/control.c +++ b/src/or/control.c @@ -1504,6 +1504,9 @@ getinfo_helper_misc(control_connection_t *conn, const char *question, int max_fds=-1; set_max_file_descriptors(0, &max_fds); tor_asprintf(answer, "%d", max_fds); + } else if (!strcmp(question, "limits/max-mem-in-queues")) { + tor_asprintf(answer, U64_FORMAT, + U64_PRINTF_ARG(get_options()->MaxMemInQueues)); } else if (!strcmp(question, "dir-usage")) { *answer = directory_dump_request_log(); } else if (!strcmp(question, "fingerprint")) { @@ -2184,6 +2187,7 @@ static const getinfo_item_t getinfo_items[] = { ITEM("process/user", misc, "Username under which the tor process is running."), ITEM("process/descriptor-limit", misc, "File descriptor limit."), + ITEM("limits/max-mem-in-queues", misc, "Actual limit on memory in queues"), ITEM("dir-usage", misc, "Breakdown of bytes transferred over DirPort."), PREFIX("desc-annotations/id/", dir, "Router annotations by hexdigest."), PREFIX("dir/server/", dir,"Router descriptors as retrieved from a DirPort."), @@ -2193,6 +2197,9 @@ static const getinfo_item_t getinfo_items[] = { "v3 Networkstatus consensus as retrieved from a DirPort."), ITEM("exit-policy/default", policies, "The default value appended to the configured exit policy."), + ITEM("exit-policy/full", policies, "The entire exit policy of onion router"), + ITEM("exit-policy/ipv4", policies, "IPv4 parts of exit policy"), + ITEM("exit-policy/ipv6", policies, "IPv6 parts of exit policy"), PREFIX("ip-to-country/", geoip, "Perform a GEOIP lookup"), { NULL, NULL, NULL, 0 } }; @@ -3176,27 +3183,22 @@ connection_control_reached_eof(control_connection_t *conn) return 0; } +static void lost_owning_controller(const char *owner_type, + const char *loss_manner) + ATTR_NORETURN; + /** Shut down this Tor instance in the same way that SIGINT would, but * with a log message appropriate for the loss of an owning controller. */ static void lost_owning_controller(const char *owner_type, const char *loss_manner) { - int shutdown_slowly = server_mode(get_options()); - - log_notice(LD_CONTROL, "Owning controller %s has %s -- %s.", - owner_type, loss_manner, - shutdown_slowly ? "shutting down" : "exiting now"); + log_notice(LD_CONTROL, "Owning controller %s has %s -- exiting now.", + owner_type, loss_manner); /* XXXX Perhaps this chunk of code should be a separate function, * called here and by process_signal(SIGINT). */ - - if (!shutdown_slowly) { - tor_cleanup(); - exit(0); - } - /* XXXX This will close all listening sockets except control-port - * listeners. Perhaps we should close those too. */ - hibernate_begin_shutdown(); + tor_cleanup(); + exit(0); } /** Called when <b>conn</b> is being freed. */ @@ -4679,6 +4681,8 @@ static char *owning_controller_process_spec = NULL; * if this Tor instance is not currently owned by a process. */ static tor_process_monitor_t *owning_controller_process_monitor = NULL; +static void owning_controller_procmon_cb(void *unused) ATTR_NORETURN; + /** Process-termination monitor callback for Tor's owning controller * process. */ static void @@ -4822,16 +4826,28 @@ bootstrap_status_to_string(bootstrap_status_t s, const char **tag, * Tor initializes. */ static int bootstrap_percent = 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 +/** 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 + /** Called when Tor has made progress at bootstrapping its directory * information and initial circuits. * @@ -4851,7 +4867,7 @@ control_event_bootstrap(bootstrap_status_t status, int progress) * 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; + status = BOOTSTRAP_STATUS_HANDSHAKE_DIR; } else { status = BOOTSTRAP_STATUS_HANDSHAKE_OR; } @@ -4859,9 +4875,19 @@ control_event_bootstrap(bootstrap_status_t status, int progress) if (status > bootstrap_percent || (progress && progress > bootstrap_percent)) { + int loglevel = LOG_NOTICE; bootstrap_status_to_string(status, &tag, &summary); - tor_log(status ? LOG_NOTICE : LOG_INFO, LD_CONTROL, - "Bootstrapped %d%%: %s.", progress ? progress : status, summary); + + if (status <= bootstrap_percent && + (progress < notice_bootstrap_percent + BOOTSTRAP_PCT_INCREMENT)) { + /* We log the message at info if the status hasn't advanced, and if less + * than BOOTSTRAP_PCT_INCREMENT progress has been made. + */ + loglevel = LOG_INFO; + } + + tor_log(loglevel, LD_CONTROL, + "Bootstrapped %d%%: %s", progress ? progress : status, summary); tor_snprintf(buf, sizeof(buf), "BOOTSTRAP PROGRESS=%d TAG=%s SUMMARY=\"%s\"", progress ? progress : status, tag, summary); @@ -4877,15 +4903,22 @@ control_event_bootstrap(bootstrap_status_t status, int progress) 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; + } } } /** 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>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_problem, (const char *warn, int reason)) + control_event_bootstrap_problem, (const char *warn, int reason, + or_connection_t *or_conn)) { int status = bootstrap_percent; const char *tag, *summary; @@ -4896,6 +4929,11 @@ control_event_bootstrap_problem, (const char *warn, int reason)) /* bootstrap_percent must not be in "undefined" state here. */ tor_assert(status >= 0); + if (or_conn->have_noted_bootstrap_problem) + return; + + or_conn->have_noted_bootstrap_problem = 1; + if (bootstrap_percent == 100) return; /* already bootstrapped; nothing to be done here. */ @@ -4907,9 +4945,10 @@ control_event_bootstrap_problem, (const char *warn, int reason)) if (reason == END_OR_CONN_REASON_NO_ROUTE) recommendation = "warn"; - if (get_options()->UseBridges && - !any_bridge_descriptors_known() && - !any_pending_bridge_descriptor_fetches()) + /* 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)) recommendation = "warn"; if (we_are_hibernating()) diff --git a/src/or/control.h b/src/or/control.h index 0466de17f6..988c171d7f 100644 --- a/src/or/control.h +++ b/src/or/control.h @@ -93,7 +93,8 @@ void monitor_owning_controller_process(const char *process_spec); void control_event_bootstrap(bootstrap_status_t status, int progress); MOCK_DECL(void, control_event_bootstrap_problem,(const char *warn, - int reason)); + int reason, + or_connection_t *or_conn)); void control_event_clients_seen(const char *controller_str); void control_event_transport_launched(const char *mode, diff --git a/src/or/cpuworker.c b/src/or/cpuworker.c index ecf0d2035d..6b6a68afe5 100644 --- a/src/or/cpuworker.c +++ b/src/or/cpuworker.c @@ -436,7 +436,7 @@ cpuworker_main(void *data) if (req.task == CPUWORKER_TASK_ONION) { const create_cell_t *cc = &req.create_cell; created_cell_t *cell_out = &rpl.created_cell; - struct timeval tv_start, tv_end; + struct timeval tv_start = {0,0}, tv_end; int n; rpl.timed = req.timed; rpl.started_at = req.started_at; @@ -686,7 +686,7 @@ assign_onionskin_to_cpuworker(connection_t *cpuworker, } if (connection_or_digest_is_known_relay(circ->p_chan->identity_digest)) - rep_hist_note_circuit_handshake_completed(onionskin->handshake_type); + rep_hist_note_circuit_handshake_assigned(onionskin->handshake_type); should_time = should_time_request(onionskin->handshake_type); memset(&req, 0, sizeof(req)); diff --git a/src/or/directory.c b/src/or/directory.c index 5d205c5e9b..76cb8fa0bc 100644 --- a/src/or/directory.c +++ b/src/or/directory.c @@ -82,8 +82,7 @@ static void dir_microdesc_download_failed(smartlist_t *failed, static void note_client_request(int purpose, int compressed, size_t bytes); static int client_likes_consensus(networkstatus_t *v, const char *want_url); -static void directory_initiate_command_rend(const char *address, - const tor_addr_t *addr, +static void directory_initiate_command_rend(const tor_addr_t *addr, uint16_t or_port, uint16_t dir_port, const char *digest, @@ -149,14 +148,10 @@ authdir_type_to_string(dirinfo_type_t auth) { char *result; smartlist_t *lst = smartlist_new(); - if (auth & V1_DIRINFO) - smartlist_add(lst, (void*)"V1"); if (auth & V3_DIRINFO) smartlist_add(lst, (void*)"V3"); if (auth & BRIDGE_DIRINFO) smartlist_add(lst, (void*)"Bridge"); - if (auth & HIDSERV_DIRINFO) - smartlist_add(lst, (void*)"Hidden service"); if (smartlist_len(lst)) { result = smartlist_join_strings(lst, ", ", 0, NULL); } else { @@ -172,12 +167,8 @@ dir_conn_purpose_to_string(int purpose) { switch (purpose) { - case DIR_PURPOSE_FETCH_RENDDESC: - return "hidden-service descriptor fetch"; case DIR_PURPOSE_UPLOAD_DIR: return "server descriptor upload"; - case DIR_PURPOSE_UPLOAD_RENDDESC: - return "hidden-service descriptor upload"; case DIR_PURPOSE_UPLOAD_VOTE: return "server vote upload"; case DIR_PURPOSE_UPLOAD_SIGNATURES: @@ -249,13 +240,13 @@ directories_have_accepted_server_descriptor(void) /** Start a connection to every suitable directory authority, using * connection purpose <b>dir_purpose</b> and uploading <b>payload</b> * (of length <b>payload_len</b>). The dir_purpose should be one of - * 'DIR_PURPOSE_UPLOAD_DIR' or 'DIR_PURPOSE_UPLOAD_RENDDESC'. + * 'DIR_PURPOSE_UPLOAD_{DIR|VOTE|SIGNATURES}'. * * <b>router_purpose</b> describes the type of descriptor we're * publishing, if we're publishing a descriptor -- e.g. general or bridge. * - * <b>type</b> specifies what sort of dir authorities (V1, V3, - * HIDSERV, BRIDGE, etc) we should upload to. + * <b>type</b> specifies what sort of dir authorities (V3, + * BRIDGE, etc) we should upload to. * * If <b>extrainfo_len</b> is nonzero, the first <b>payload_len</b> bytes of * <b>payload</b> hold a router descriptor, and the next <b>extrainfo_len</b> @@ -410,9 +401,6 @@ directory_get_from_dirserver(uint8_t dir_purpose, uint8_t router_purpose, type = (router_purpose == ROUTER_PURPOSE_BRIDGE ? BRIDGE_DIRINFO : V3_DIRINFO); break; - case DIR_PURPOSE_FETCH_RENDDESC: - type = HIDSERV_DIRINFO; - break; case DIR_PURPOSE_FETCH_STATUS_VOTE: case DIR_PURPOSE_FETCH_DETACHED_SIGNATURES: case DIR_PURPOSE_FETCH_CERTIFICATE: @@ -452,7 +440,7 @@ directory_get_from_dirserver(uint8_t dir_purpose, uint8_t router_purpose, } } - if (!options->FetchServerDescriptors && type != HIDSERV_DIRINFO) + if (!options->FetchServerDescriptors) return; if (!get_via_tor) { @@ -471,7 +459,7 @@ directory_get_from_dirserver(uint8_t dir_purpose, uint8_t router_purpose, tor_addr_t addr; routerinfo_t *ri = node->ri; node_get_addr(node, &addr); - directory_initiate_command(ri->address, &addr, + directory_initiate_command(&addr, ri->or_port, 0/*no dirport*/, ri->cache_info.identity_digest, dir_purpose, @@ -523,11 +511,7 @@ directory_get_from_dirserver(uint8_t dir_purpose, uint8_t router_purpose, } } else { /* get_via_tor */ /* Never use fascistfirewall; we're going via Tor. */ - if (dir_purpose == DIR_PURPOSE_FETCH_RENDDESC) { - /* only ask hidserv authorities, any of them will do */ - pds_flags |= PDS_IGNORE_FASCISTFIREWALL|PDS_ALLOW_SELF; - rs = router_pick_trusteddirserver(HIDSERV_DIRINFO, pds_flags); - } else { + if (1) { /* anybody with a non-zero dirport will do. Disregard firewalls. */ pds_flags |= PDS_IGNORE_FASCISTFIREWALL; rs = router_pick_directory_server(type, pds_flags); @@ -604,9 +588,6 @@ directory_initiate_command_routerstatus_rend(const routerstatus_t *status, { const or_options_t *options = get_options(); const node_t *node; - char address_buf[INET_NTOA_BUF_LEN+1]; - struct in_addr in; - const char *address; tor_addr_t addr; const int anonymized_connection = dirind_is_anon(indirection); node = node_get_by_id(status->identity_digest); @@ -616,13 +597,6 @@ directory_initiate_command_routerstatus_rend(const routerstatus_t *status, "don't have its router descriptor.", routerstatus_describe(status)); return; - } else if (node) { - node_get_address_string(node, address_buf, sizeof(address_buf)); - address = address_buf; - } else { - in.s_addr = htonl(status->addr); - tor_inet_ntoa(&in, address_buf, sizeof(address_buf)); - address = address_buf; } tor_addr_from_ipv4h(&addr, status->addr); @@ -636,7 +610,7 @@ directory_initiate_command_routerstatus_rend(const routerstatus_t *status, return; } - directory_initiate_command_rend(address, &addr, + directory_initiate_command_rend(&addr, status->or_port, status->dir_port, status->identity_digest, dir_purpose, router_purpose, @@ -649,7 +623,7 @@ directory_initiate_command_routerstatus_rend(const routerstatus_t *status, * upload or download a server or rendezvous * descriptor. <b>dir_purpose</b> determines what * kind of directory connection we're launching, and must be one of - * DIR_PURPOSE_{FETCH|UPLOAD}_{DIR|RENDDESC|RENDDESC_V2}. <b>router_purpose</b> + * DIR_PURPOSE_{FETCH|UPLOAD}_{DIR|RENDDESC_V2}. <b>router_purpose</b> * specifies the descriptor purposes we have in mind (currently only * used for FETCH_DIR). * @@ -876,7 +850,7 @@ directory_command_should_use_begindir(const or_options_t *options, * <b>supports_begindir</b>, and whose identity key digest is * <b>digest</b>. */ void -directory_initiate_command(const char *address, const tor_addr_t *_addr, +directory_initiate_command(const tor_addr_t *_addr, uint16_t or_port, uint16_t dir_port, const char *digest, uint8_t dir_purpose, uint8_t router_purpose, @@ -884,7 +858,7 @@ directory_initiate_command(const char *address, const tor_addr_t *_addr, const char *payload, size_t payload_len, time_t if_modified_since) { - directory_initiate_command_rend(address, _addr, or_port, dir_port, + directory_initiate_command_rend(_addr, or_port, dir_port, digest, dir_purpose, router_purpose, indirection, resource, payload, payload_len, @@ -898,9 +872,7 @@ directory_initiate_command(const char *address, const tor_addr_t *_addr, static int is_sensitive_dir_purpose(uint8_t dir_purpose) { - return ((dir_purpose == DIR_PURPOSE_FETCH_RENDDESC) || - (dir_purpose == DIR_PURPOSE_HAS_FETCHED_RENDDESC) || - (dir_purpose == DIR_PURPOSE_UPLOAD_RENDDESC) || + return ((dir_purpose == DIR_PURPOSE_HAS_FETCHED_RENDDESC_V2) || (dir_purpose == DIR_PURPOSE_UPLOAD_RENDDESC_V2) || (dir_purpose == DIR_PURPOSE_FETCH_RENDDESC_V2)); } @@ -908,7 +880,7 @@ is_sensitive_dir_purpose(uint8_t dir_purpose) /** Same as directory_initiate_command(), but accepts rendezvous data to * fetch a hidden service descriptor. */ static void -directory_initiate_command_rend(const char *address, const tor_addr_t *_addr, +directory_initiate_command_rend(const tor_addr_t *_addr, uint16_t or_port, uint16_t dir_port, const char *digest, uint8_t dir_purpose, uint8_t router_purpose, @@ -926,7 +898,6 @@ directory_initiate_command_rend(const char *address, const tor_addr_t *_addr, const int anonymized_connection = dirind_is_anon(indirection); tor_addr_t addr; - tor_assert(address); tor_assert(_addr); tor_assert(or_port || dir_port); tor_assert(digest); @@ -959,7 +930,7 @@ directory_initiate_command_rend(const char *address, const tor_addr_t *_addr, /* set up conn so it's got all the data we need to remember */ tor_addr_copy(&conn->base_.addr, &addr); conn->base_.port = use_begindir ? or_port : dir_port; - conn->base_.address = tor_strdup(address); + conn->base_.address = tor_dup_addr(&addr); memcpy(conn->identity_digest, digest, DIGEST_LEN); conn->base_.purpose = dir_purpose; @@ -1265,12 +1236,6 @@ directory_send_command(dir_connection_t *conn, httpcommand = "GET"; tor_asprintf(&url, "/tor/rendezvous2/%s", resource); break; - case DIR_PURPOSE_UPLOAD_RENDDESC: - tor_assert(!resource); - tor_assert(payload); - httpcommand = "POST"; - url = tor_strdup("/tor/rendezvous/publish"); - break; case DIR_PURPOSE_UPLOAD_RENDDESC_V2: tor_assert(!resource); tor_assert(payload); @@ -1414,13 +1379,14 @@ http_set_address_origin(const char *headers, connection_t *conn) if (!fwd) fwd = http_get_header(headers, "X-Forwarded-For: "); if (fwd) { - struct in_addr in; - if (!tor_inet_aton(fwd, &in) || is_internal_IP(ntohl(in.s_addr), 0)) { - log_debug(LD_DIR, "Ignoring unrecognized or internal IP %s", - escaped(fwd)); + tor_addr_t toraddr; + if (tor_addr_parse(&toraddr,fwd) == -1 || + tor_addr_is_internal(&toraddr,0)) { + log_debug(LD_DIR, "Ignoring local/internal IP %s", escaped(fwd)); tor_free(fwd); return; } + tor_free(conn->address); conn->address = tor_strdup(fwd); tor_free(fwd); @@ -1517,8 +1483,8 @@ parse_http_response(const char *headers, int *code, time_t *date, } /** Return true iff <b>body</b> doesn't start with a plausible router or - * running-list or directory opening. This is a sign of possible compression. - **/ + * network-status or microdescriptor opening. This is a sign of possible + * compression. */ static int body_is_plausible(const char *body, size_t len, int purpose) { @@ -1530,20 +1496,16 @@ body_is_plausible(const char *body, size_t len, int purpose) if (purpose == DIR_PURPOSE_FETCH_MICRODESC) { return (!strcmpstart(body,"onion-key")); } - if (purpose != DIR_PURPOSE_FETCH_RENDDESC) { + if (1) { if (!strcmpstart(body,"router") || - !strcmpstart(body,"signed-directory") || - !strcmpstart(body,"network-status") || - !strcmpstart(body,"running-routers")) - return 1; + !strcmpstart(body,"network-status")) + return 1; for (i=0;i<32;++i) { if (!TOR_ISPRINT(body[i]) && !TOR_ISSPACE(body[i])) return 0; } - return 1; - } else { - return 1; } + return 1; } /** Called when we've just fetched a bunch of router descriptors in @@ -2102,46 +2064,6 @@ connection_dir_client_reached_eof(dir_connection_t *conn) * dirservers down just because they don't like us. */ } - if (conn->base_.purpose == DIR_PURPOSE_FETCH_RENDDESC) { - tor_assert(conn->rend_data); - log_info(LD_REND,"Received rendezvous descriptor (size %d, status %d " - "(%s))", - (int)body_len, status_code, escaped(reason)); - switch (status_code) { - case 200: - if (rend_cache_store(body, body_len, 0, - conn->rend_data->onion_address) < -1) { - log_warn(LD_REND,"Failed to parse rendezvous descriptor."); - /* Any pending rendezvous attempts will notice when - * connection_about_to_close_connection() - * cleans this dir conn up. */ - /* We could retry. But since v0 descriptors are going out of - * style, it isn't worth the hassle. We'll do better in v2. */ - } else { - /* Success, or at least there's a v2 descriptor already - * present. Notify pending connections about this. */ - conn->base_.purpose = DIR_PURPOSE_HAS_FETCHED_RENDDESC; - rend_client_desc_trynow(conn->rend_data->onion_address); - } - break; - case 404: - /* Not there. Pending connections will be notified when - * connection_about_to_close_connection() cleans this conn up. */ - break; - case 400: - log_warn(LD_REND, - "http status 400 (%s). Dirserver didn't like our " - "rendezvous query?", escaped(reason)); - break; - default: - log_warn(LD_REND,"http status %d (%s) response unexpected while " - "fetching hidden service descriptor (server '%s:%d').", - status_code, escaped(reason), conn->base_.address, - conn->base_.port); - break; - } - } - if (conn->base_.purpose == DIR_PURPOSE_FETCH_RENDDESC_V2) { #define SEND_HS_DESC_FAILED_EVENT() ( \ control_event_hs_descriptor_failed(conn->rend_data, \ @@ -2153,27 +2075,22 @@ connection_dir_client_reached_eof(dir_connection_t *conn) switch (status_code) { case 200: switch (rend_cache_store_v2_desc_as_client(body, conn->rend_data)) { - case -2: + case RCS_BADDESC: + case RCS_NOTDIR: /* Impossible */ log_warn(LD_REND,"Fetching v2 rendezvous descriptor failed. " "Retrying at another directory."); /* We'll retry when connection_about_to_close_connection() * cleans this dir conn up. */ SEND_HS_DESC_FAILED_EVENT(); break; - case -1: - /* We already have a v0 descriptor here. Ignoring this one - * and _not_ performing another request. */ - log_info(LD_REND, "Successfully fetched v2 rendezvous " - "descriptor, but we already have a v0 descriptor."); - conn->base_.purpose = DIR_PURPOSE_HAS_FETCHED_RENDDESC; - break; + case RCS_OKAY: default: /* success. notify pending connections about this. */ log_info(LD_REND, "Successfully fetched v2 rendezvous " "descriptor."); control_event_hs_descriptor_received(conn->rend_data, conn->identity_digest); - conn->base_.purpose = DIR_PURPOSE_HAS_FETCHED_RENDDESC; + conn->base_.purpose = DIR_PURPOSE_HAS_FETCHED_RENDDESC_V2; rend_client_desc_trynow(conn->rend_data->onion_address); break; } @@ -2204,8 +2121,7 @@ connection_dir_client_reached_eof(dir_connection_t *conn) } } - if (conn->base_.purpose == DIR_PURPOSE_UPLOAD_RENDDESC || - conn->base_.purpose == DIR_PURPOSE_UPLOAD_RENDDESC_V2) { + if (conn->base_.purpose == DIR_PURPOSE_UPLOAD_RENDDESC_V2) { log_info(LD_REND,"Uploaded rendezvous descriptor (status %d " "(%s))", status_code, escaped(reason)); @@ -2309,7 +2225,7 @@ connection_dir_about_to_close(dir_connection_t *dir_conn) } /* If we were trying to fetch a v2 rend desc and did not succeed, * retry as needed. (If a fetch is successful, the connection state - * is changed to DIR_PURPOSE_HAS_FETCHED_RENDDESC to mark that + * is changed to DIR_PURPOSE_HAS_FETCHED_RENDDESC_V2 to mark that * refetching is unnecessary.) */ if (conn->purpose == DIR_PURPOSE_FETCH_RENDDESC_V2 && dir_conn->rend_data && @@ -2450,9 +2366,7 @@ note_client_request(int purpose, int compressed, size_t bytes) case DIR_PURPOSE_UPLOAD_DIR: kind = "dl/ul-dir"; break; case DIR_PURPOSE_UPLOAD_VOTE: kind = "dl/ul-vote"; break; case DIR_PURPOSE_UPLOAD_SIGNATURES: kind = "dl/ul-sig"; break; - case DIR_PURPOSE_FETCH_RENDDESC: kind = "dl/rend"; break; case DIR_PURPOSE_FETCH_RENDDESC_V2: kind = "dl/rend2"; break; - case DIR_PURPOSE_UPLOAD_RENDDESC: kind = "dl/ul-rend"; break; case DIR_PURPOSE_UPLOAD_RENDDESC_V2: kind = "dl/ul-rend2"; break; } if (kind) { @@ -2664,75 +2578,6 @@ directory_handle_command_get(dir_connection_t *conn, const char *headers, /* if no disclaimer file, fall through and continue */ } - if (!strcmp(url,"/tor/") || !strcmp(url,"/tor/dir")) { /* v1 dir fetch */ - cached_dir_t *d = dirserv_get_directory(); - - if (!d) { - log_info(LD_DIRSERV,"Client asked for the mirrored directory, but we " - "don't have a good one yet. Sending 503 Dir not available."); - write_http_status_line(conn, 503, "Directory unavailable"); - goto done; - } - if (d->published < if_modified_since) { - write_http_status_line(conn, 304, "Not modified"); - goto done; - } - - dlen = compressed ? d->dir_z_len : d->dir_len; - - if (global_write_bucket_low(TO_CONN(conn), dlen, 1)) { - log_debug(LD_DIRSERV, - "Client asked for the mirrored directory, but we've been " - "writing too many bytes lately. Sending 503 Dir busy."); - write_http_status_line(conn, 503, "Directory busy, try again later"); - goto done; - } - - note_request(url, dlen); - - log_debug(LD_DIRSERV,"Dumping %sdirectory to client.", - compressed?"compressed ":""); - write_http_response_header(conn, dlen, compressed, - FULL_DIR_CACHE_LIFETIME); - conn->cached_dir = d; - conn->cached_dir_offset = 0; - if (!compressed) - conn->zlib_state = tor_zlib_new(0, ZLIB_METHOD); - ++d->refcnt; - - /* Prime the connection with some data. */ - conn->dir_spool_src = DIR_SPOOL_CACHED_DIR; - connection_dirserv_flushed_some(conn); - goto done; - } - - if (!strcmp(url,"/tor/running-routers")) { /* running-routers fetch */ - cached_dir_t *d = dirserv_get_runningrouters(); - if (!d) { - write_http_status_line(conn, 503, "Directory unavailable"); - goto done; - } - if (d->published < if_modified_since) { - write_http_status_line(conn, 304, "Not modified"); - goto done; - } - dlen = compressed ? d->dir_z_len : d->dir_len; - - if (global_write_bucket_low(TO_CONN(conn), dlen, 1)) { - log_info(LD_DIRSERV, - "Client asked for running-routers, but we've been " - "writing too many bytes lately. Sending 503 Dir busy."); - write_http_status_line(conn, 503, "Directory busy, try again later"); - goto done; - } - note_request(url, dlen); - write_http_response_header(conn, dlen, compressed, - RUNNINGROUTERS_CACHE_LIFETIME); - connection_write_to_buf(compressed ? d->dir_z : d->dir, dlen, - TO_CONN(conn)); - goto done; - } - if (!strcmpstart(url, "/tor/status-vote/current/consensus")) { /* v3 network status fetch. */ smartlist_t *dir_fps = smartlist_new(); @@ -3172,32 +3017,6 @@ directory_handle_command_get(dir_connection_t *conn, const char *headers, goto done; } - if (options->HSAuthoritativeDir && !strcmpstart(url,"/tor/rendezvous/")) { - /* rendezvous descriptor fetch */ - const char *descp; - size_t desc_len; - const char *query = url+strlen("/tor/rendezvous/"); - - log_info(LD_REND, "Handling rendezvous descriptor get"); - switch (rend_cache_lookup_desc(query, 0, &descp, &desc_len)) { - case 1: /* valid */ - write_http_response_header_impl(conn, desc_len, - "application/octet-stream", - NULL, NULL, 0); - note_request("/tor/rendezvous?/", desc_len); - /* need to send descp separately, because it may include NULs */ - connection_write_to_buf(descp, desc_len, TO_CONN(conn)); - break; - case 0: /* well-formed but not present */ - write_http_status_line(conn, 404, "Not found"); - break; - case -1: /* not well-formed */ - write_http_status_line(conn, 400, "Bad request"); - break; - } - goto done; - } - if (options->BridgeAuthoritativeDir && options->BridgePassword_AuthDigest_ && connection_dir_is_encrypted(conn) && @@ -3336,19 +3155,20 @@ directory_handle_command_post(dir_connection_t *conn, const char *headers, connection_dir_is_encrypted(conn) && !strcmpstart(url,"/tor/rendezvous2/publish")) { switch (rend_cache_store_v2_desc_as_dir(body)) { - case -2: + case RCS_NOTDIR: log_info(LD_REND, "Rejected v2 rend descriptor (length %d) from %s " "since we're not currently a hidden service directory.", (int)body_len, conn->base_.address); write_http_status_line(conn, 503, "Currently not acting as v2 " "hidden service directory"); break; - case -1: + case RCS_BADDESC: log_warn(LD_REND, "Rejected v2 rend descriptor (length %d) from %s.", (int)body_len, conn->base_.address); write_http_status_line(conn, 400, "Invalid v2 service descriptor rejected"); break; + case RCS_OKAY: default: write_http_status_line(conn, 200, "Service descriptor (v2) stored"); log_info(LD_REND, "Handled v2 rendezvous descriptor post: accepted"); @@ -3372,8 +3192,6 @@ directory_handle_command_post(dir_connection_t *conn, const char *headers, was_router_added_t r = dirserv_add_multiple_descriptors(body, purpose, conn->base_.address, &msg); tor_assert(msg); - if (WRA_WAS_ADDED(r)) - dirserv_get_directory(); /* rebuild and write to disk */ if (r == ROUTER_ADDED_NOTIFY_GENERATOR) { /* Accepted with a message. */ @@ -3397,22 +3215,6 @@ directory_handle_command_post(dir_connection_t *conn, const char *headers, goto done; } - if (options->HSAuthoritativeDir && - !strcmpstart(url,"/tor/rendezvous/publish")) { - /* rendezvous descriptor post */ - log_info(LD_REND, "Handling rendezvous descriptor post."); - if (rend_cache_store(body, body_len, 1, NULL) < 0) { - log_fn(LOG_PROTOCOL_WARN, LD_DIRSERV, - "Rejected rend descriptor (length %d) from %s.", - (int)body_len, conn->base_.address); - write_http_status_line(conn, 400, - "Invalid v0 service descriptor rejected"); - } else { - write_http_status_line(conn, 200, "Service descriptor (v0) stored"); - } - goto done; - } - if (authdir_mode_v3(options) && !strcmp(url,"/tor/post/vote")) { /* v3 networkstatus vote */ const char *msg = "OK"; diff --git a/src/or/directory.h b/src/or/directory.h index 3de69329a4..bc200797d4 100644 --- a/src/or/directory.h +++ b/src/or/directory.h @@ -63,7 +63,7 @@ int connection_dir_process_inbuf(dir_connection_t *conn); int connection_dir_finished_flushing(dir_connection_t *conn); int connection_dir_finished_connecting(dir_connection_t *conn); void connection_dir_about_to_close(dir_connection_t *dir_conn); -void directory_initiate_command(const char *address, const tor_addr_t *addr, +void directory_initiate_command(const tor_addr_t *addr, uint16_t or_port, uint16_t dir_port, const char *digest, uint8_t dir_purpose, uint8_t router_purpose, diff --git a/src/or/dirserv.c b/src/or/dirserv.c index c0e000c759..f5994e0318 100644 --- a/src/or/dirserv.c +++ b/src/or/dirserv.c @@ -42,28 +42,10 @@ * directory authorities. */ #define MAX_UNTRUSTED_NETWORKSTATUSES 16 -/** If a v1 directory is older than this, discard it. */ -#define MAX_V1_DIRECTORY_AGE (30*24*60*60) -/** If a v1 running-routers is older than this, discard it. */ -#define MAX_V1_RR_AGE (7*24*60*60) - extern time_t time_of_process_start; /* from main.c */ extern long stats_n_seconds_working; /* from main.c */ -/** Do we need to regenerate the v1 directory when someone asks for it? */ -static time_t the_directory_is_dirty = 1; -/** Do we need to regenerate the v1 runningrouters document when somebody - * asks for it? */ -static time_t runningrouters_is_dirty = 1; - -/** Most recently generated encoded signed v1 directory. (v1 auth dirservers - * only.) */ -static cached_dir_t *the_directory = NULL; - -/** For authoritative directories: the current (v1) network status. */ -static cached_dir_t the_runningrouters; - /** Total number of routers with measured bandwidth; this is set by * dirserv_count_measured_bws() before the loop in * dirserv_generate_networkstatus_vote_obj() and checked by @@ -72,14 +54,12 @@ static cached_dir_t the_runningrouters; static int routers_with_measured_bw = 0; static void directory_remove_invalid(void); -static cached_dir_t *dirserv_regenerate_directory(void); static char *format_versions_list(config_line_t *ln); struct authdir_config_t; static int add_fingerprint_to_dir(const char *nickname, const char *fp, struct authdir_config_t *list); static uint32_t dirserv_get_status_impl(const char *fp, const char *nickname, - const char *address, uint32_t addr, uint16_t or_port, const char *platform, const char *contact, const char **msg, int should_log); @@ -327,7 +307,6 @@ dirserv_router_get_status(const routerinfo_t *router, const char **msg) } return dirserv_get_status_impl(d, router->nickname, - router->address, router->addr, router->or_port, router->platform, router->contact_info, msg, 1); @@ -341,7 +320,6 @@ dirserv_would_reject_router(const routerstatus_t *rs) uint32_t res; res = dirserv_get_status_impl(rs->identity_digest, rs->nickname, - "", /* address is only used in logs */ rs->addr, rs->or_port, NULL, NULL, NULL, 0); @@ -380,7 +358,6 @@ dirserv_get_name_status(const char *id_digest, const char *nickname) */ static uint32_t dirserv_get_status_impl(const char *id_digest, const char *nickname, - const char *address, uint32_t addr, uint16_t or_port, const char *platform, const char *contact, const char **msg, int should_log) @@ -397,13 +374,15 @@ dirserv_get_status_impl(const char *id_digest, const char *nickname, strmap_size(fingerprint_list->fp_by_name), digestmap_size(fingerprint_list->status_by_digest)); - /* Versions before Tor 0.2.2.35 have known security issues that - * make them unsuitable for the current network. */ - if (platform && !tor_version_as_new_as(platform,"0.2.2.35")) { + /* Versions before Tor 0.2.3.16-alpha are too old to support, and are + * missing some important security fixes too. Disable them. */ + if (platform && !tor_version_as_new_as(platform,"0.2.3.16-alpha")) { if (msg) *msg = "Tor version is insecure or unsupported. Please upgrade!"; return FP_REJECT; - } else if (platform && tor_version_as_new_as(platform,"0.2.3.0-alpha")) { + } +#if 0 + else if (platform && tor_version_as_new_as(platform,"0.2.3.0-alpha")) { /* Versions from 0.2.3-alpha...0.2.3.9-alpha have known security * issues that make them unusable for the current network */ if (!tor_version_as_new_as(platform, "0.2.3.10-alpha")) { @@ -412,6 +391,7 @@ dirserv_get_status_impl(const char *id_digest, const char *nickname, return FP_REJECT; } } +#endif result = dirserv_get_name_status(id_digest, nickname); if (result & FP_NAMED) { @@ -452,14 +432,14 @@ dirserv_get_status_impl(const char *id_digest, const char *nickname, if (should_log) log_info(LD_DIRSERV, "Marking '%s' as bad directory because of address '%s'", - nickname, address); + nickname, fmt_addr32(addr)); result |= FP_BADDIR; } if (authdir_policy_badexit_address(addr, or_port)) { if (should_log) log_info(LD_DIRSERV, "Marking '%s' as bad exit because of address '%s'", - nickname, address); + nickname, fmt_addr32(addr)); result |= FP_BADEXIT; } @@ -467,7 +447,7 @@ dirserv_get_status_impl(const char *id_digest, const char *nickname, if (!authdir_policy_permits_address(addr, or_port)) { if (should_log) log_info(LD_DIRSERV, "Rejecting '%s' because of address '%s'", - nickname, address); + nickname, fmt_addr32(addr)); if (msg) *msg = "Authdir is rejecting routers in this range."; return FP_REJECT; @@ -475,7 +455,7 @@ dirserv_get_status_impl(const char *id_digest, const char *nickname, if (!authdir_policy_valid_address(addr, or_port)) { if (should_log) log_info(LD_DIRSERV, "Not marking '%s' valid because of address '%s'", - nickname, address); + nickname, fmt_addr32(addr)); result |= FP_INVALID; } if (reject_unlisted) { @@ -524,19 +504,15 @@ dirserv_free_fingerprint_list(void) static int dirserv_router_has_valid_address(routerinfo_t *ri) { - struct in_addr iaddr; + tor_addr_t addr; if (get_options()->DirAllowPrivateAddresses) return 0; /* whatever it is, we're fine with it */ - if (!tor_inet_aton(ri->address, &iaddr)) { - log_info(LD_DIRSERV,"Router %s published non-IP address '%s'. Refusing.", - router_describe(ri), - ri->address); - return -1; - } - if (is_internal_IP(ntohl(iaddr.s_addr), 0)) { + tor_addr_from_ipv4h(&addr, ri->addr); + + if (tor_addr_is_internal(&addr, 0)) { log_info(LD_DIRSERV, - "Router %s published internal IP address '%s'. Refusing.", - router_describe(ri), ri->address); + "Router %s published internal IP address. Refusing.", + router_describe(ri)); return -1; /* it's a private IP, we should reject it */ } return 0; @@ -588,12 +564,10 @@ authdir_wants_to_reject_router(routerinfo_t *ri, const char **msg, } if (dirserv_router_has_valid_address(ri) < 0) { log_fn(severity, LD_DIRSERV, - "Router %s has invalid address '%s'. " - "Not adding (%s).", + "Router %s has invalid address. Not adding (%s).", router_describe(ri), - ri->address, esc_router_info(ri)); - *msg = "Rejected: Address is not an IP, or IP is a private address."; + *msg = "Rejected: Address is a private address."; return -1; } @@ -837,7 +811,6 @@ dirserv_add_extrainfo(extrainfo_t *ei, const char **msg) static void directory_remove_invalid(void) { - int changed = 0; routerlist_t *rl = router_get_routerlist(); smartlist_t *nodes = smartlist_new(); smartlist_add_all(nodes, nodelist_get_list()); @@ -855,7 +828,6 @@ directory_remove_invalid(void) log_info(LD_DIRSERV, "Router %s is now rejected: %s", description, msg?msg:""); routerlist_remove(rl, ent, 0, time(NULL)); - changed = 1; continue; } #if 0 @@ -864,70 +836,35 @@ directory_remove_invalid(void) "Router %s is now %snamed.", description, (r&FP_NAMED)?"":"un"); ent->is_named = (r&FP_NAMED)?1:0; - changed = 1; } if (bool_neq((r & FP_UNNAMED), ent->auth_says_is_unnamed)) { log_info(LD_DIRSERV, "Router '%s' is now %snamed. (FP_UNNAMED)", description, (r&FP_NAMED)?"":"un"); ent->is_named = (r&FP_NUNAMED)?0:1; - changed = 1; } #endif if (bool_neq((r & FP_INVALID), !node->is_valid)) { log_info(LD_DIRSERV, "Router '%s' is now %svalid.", description, (r&FP_INVALID) ? "in" : ""); node->is_valid = (r&FP_INVALID)?0:1; - changed = 1; } if (bool_neq((r & FP_BADDIR), node->is_bad_directory)) { log_info(LD_DIRSERV, "Router '%s' is now a %s directory", description, (r & FP_BADDIR) ? "bad" : "good"); node->is_bad_directory = (r&FP_BADDIR) ? 1: 0; - changed = 1; } if (bool_neq((r & FP_BADEXIT), node->is_bad_exit)) { log_info(LD_DIRSERV, "Router '%s' is now a %s exit", description, (r & FP_BADEXIT) ? "bad" : "good"); node->is_bad_exit = (r&FP_BADEXIT) ? 1: 0; - changed = 1; } } SMARTLIST_FOREACH_END(node); - if (changed) - directory_set_dirty(); routerlist_assert_ok(rl); smartlist_free(nodes); } -/** Mark the directory as <b>dirty</b> -- when we're next asked for a - * directory, we will rebuild it instead of reusing the most recently - * generated one. - */ -void -directory_set_dirty(void) -{ - time_t now = time(NULL); - int set_v1_dirty=0; - - /* Regenerate stubs only every 8 hours. - * XXXX It would be nice to generate less often, but these are just - * stubs: it doesn't matter. */ -#define STUB_REGENERATE_INTERVAL (8*60*60) - if (!the_directory || !the_runningrouters.dir) - set_v1_dirty = 1; - else if (the_directory->published < now - STUB_REGENERATE_INTERVAL || - the_runningrouters.published < now - STUB_REGENERATE_INTERVAL) - set_v1_dirty = 1; - - if (set_v1_dirty) { - if (!the_directory_is_dirty) - the_directory_is_dirty = now; - if (!runningrouters_is_dirty) - runningrouters_is_dirty = now; - } -} - /** * Allocate and return a description of the status of the server <b>desc</b>, * for use in a v1-style router-status line. The server is listed @@ -1301,15 +1238,6 @@ directory_permits_begindir_requests(const or_options_t *options) return options->BridgeRelay != 0 || options->DirPort_set; } -/** Return 1 if we want to allow controllers to ask us directory - * requests via the controller interface, which doesn't require - * having any separate port open. */ -int -directory_permits_controller_requests(const or_options_t *options) -{ - return options->DirPort_set; -} - /** Return 1 if we have no need to fetch new descriptors. This generally * happens when we're not a dir cache and we haven't built any circuits * lately. @@ -1325,51 +1253,10 @@ directory_too_idle_to_fetch_descriptors(const or_options_t *options, /********************************************************************/ -/* Used only by non-v1-auth dirservers: The v1 directory and - * runningrouters we'll serve when requested. */ - -/** The v1 directory we'll serve (as a cache or as an authority) if - * requested. */ -static cached_dir_t *cached_directory = NULL; -/** The v1 runningrouters document we'll serve (as a cache or as an authority) - * if requested. */ -static cached_dir_t cached_runningrouters; - /** Map from flavor name to the cached_dir_t for the v3 consensuses that we're * currently serving. */ static strmap_t *cached_consensuses = NULL; -/** Possibly replace the contents of <b>d</b> with the value of - * <b>directory</b> published on <b>when</b>, unless <b>when</b> is older than - * the last value, or too far in the future. - * - * Does not copy <b>directory</b>; frees it if it isn't used. - */ -static void -set_cached_dir(cached_dir_t *d, char *directory, time_t when) -{ - time_t now = time(NULL); - if (when<=d->published) { - log_info(LD_DIRSERV, "Ignoring old directory; not caching."); - tor_free(directory); - } else if (when>=now+ROUTER_MAX_AGE_TO_PUBLISH) { - log_info(LD_DIRSERV, "Ignoring future directory; not caching."); - tor_free(directory); - } else { - /* if (when>d->published && when<now+ROUTER_MAX_AGE) */ - log_debug(LD_DIRSERV, "Caching directory."); - tor_free(d->dir); - d->dir = directory; - d->dir_len = strlen(directory); - tor_free(d->dir_z); - if (tor_gzip_compress(&(d->dir_z), &(d->dir_z_len), d->dir, d->dir_len, - ZLIB_METHOD)) { - log_warn(LD_BUG,"Error compressing cached directory"); - } - d->published = when; - } -} - /** Decrement the reference count on <b>d</b>, and free it if it no longer has * any references. */ void @@ -1419,22 +1306,6 @@ free_cached_dir_(void *_d) cached_dir_decref(d); } -/** If we have no cached v1 directory, or it is older than <b>published</b>, - * then replace it with <b>directory</b>, published at <b>published</b>. - * - * If <b>published</b> is too old, do nothing. - * - * If <b>is_running_routers</b>, this is really a v1 running_routers - * document rather than a v1 directory. - */ -static void -dirserv_set_cached_directory(const char *directory, time_t published) -{ - - cached_dir_decref(cached_directory); - cached_directory = new_cached_dir(tor_strdup(directory), published); -} - /** Replace the v3 consensus networkstatus of type <b>flavor_name</b> that * we're serving with <b>networkstatus</b>, published at <b>published</b>. No * validation is performed. */ @@ -1457,161 +1328,6 @@ dirserv_set_cached_consensus_networkstatus(const char *networkstatus, cached_dir_decref(old_networkstatus); } -/** Remove any v1 info from the directory cache that was published - * too long ago. */ -void -dirserv_clear_old_v1_info(time_t now) -{ - if (cached_directory && - cached_directory->published < (now - MAX_V1_DIRECTORY_AGE)) { - cached_dir_decref(cached_directory); - cached_directory = NULL; - } - if (cached_runningrouters.published < (now - MAX_V1_RR_AGE)) { - clear_cached_dir(&cached_runningrouters); - } -} - -/** Helper: If we're an authority for the right directory version (v1) - * (based on <b>auth_type</b>), try to regenerate - * auth_src as appropriate and return it, falling back to cache_src on - * failure. If we're a cache, simply return cache_src. - */ -static cached_dir_t * -dirserv_pick_cached_dir_obj(cached_dir_t *cache_src, - cached_dir_t *auth_src, - time_t dirty, cached_dir_t *(*regenerate)(void), - const char *name, - dirinfo_type_t auth_type) -{ - const or_options_t *options = get_options(); - int authority = (auth_type == V1_DIRINFO && authdir_mode_v1(options)); - - if (!authority || authdir_mode_bridge(options)) { - return cache_src; - } else { - /* We're authoritative. */ - if (regenerate != NULL) { - if (dirty && dirty + DIR_REGEN_SLACK_TIME < time(NULL)) { - if (!(auth_src = regenerate())) { - log_err(LD_BUG, "Couldn't generate %s?", name); - exit(1); - } - } else { - log_info(LD_DIRSERV, "The %s is still clean; reusing.", name); - } - } - return auth_src ? auth_src : cache_src; - } -} - -/** Return the most recently generated encoded signed v1 directory, - * generating a new one as necessary. If not a v1 authoritative directory - * may return NULL if no directory is yet cached. */ -cached_dir_t * -dirserv_get_directory(void) -{ - return dirserv_pick_cached_dir_obj(cached_directory, the_directory, - the_directory_is_dirty, - dirserv_regenerate_directory, - "v1 server directory", V1_DIRINFO); -} - -/** Only called by v1 auth dirservers. - * Generate a fresh v1 directory; set the_directory and return a pointer - * to the new value. - */ -static cached_dir_t * -dirserv_regenerate_directory(void) -{ - /* XXXX 024 Get rid of this function if we can confirm that nobody's - * fetching these any longer */ - char *new_directory=NULL; - - if (dirserv_dump_directory_to_string(&new_directory, - get_server_identity_key())) { - log_warn(LD_BUG, "Error creating directory."); - tor_free(new_directory); - return NULL; - } - cached_dir_decref(the_directory); - the_directory = new_cached_dir(new_directory, time(NULL)); - log_info(LD_DIRSERV,"New directory (size %d) has been built.", - (int)the_directory->dir_len); - log_debug(LD_DIRSERV,"New directory (size %d):\n%s", - (int)the_directory->dir_len, the_directory->dir); - - the_directory_is_dirty = 0; - - /* Save the directory to disk so we re-load it quickly on startup. - */ - dirserv_set_cached_directory(the_directory->dir, time(NULL)); - - return the_directory; -} - -/** Only called by v1 auth dirservers. - * Replace the current running-routers list with a newly generated one. */ -static cached_dir_t * -generate_runningrouters(void) -{ - char *s=NULL; - char digest[DIGEST_LEN]; - char published[ISO_TIME_LEN+1]; - size_t len; - crypto_pk_t *private_key = get_server_identity_key(); - char *identity_pkey; /* Identity key, DER64-encoded. */ - size_t identity_pkey_len; - - if (crypto_pk_write_public_key_to_string(private_key,&identity_pkey, - &identity_pkey_len)<0) { - log_warn(LD_BUG,"write identity_pkey to string failed!"); - goto err; - } - format_iso_time(published, time(NULL)); - - len = 2048; - s = tor_malloc_zero(len); - tor_snprintf(s, len, - "network-status\n" - "published %s\n" - "router-status %s\n" - "dir-signing-key\n%s" - "directory-signature %s\n", - published, "", identity_pkey, - get_options()->Nickname); - tor_free(identity_pkey); - if (router_get_runningrouters_hash(s,digest)) { - log_warn(LD_BUG,"couldn't compute digest"); - goto err; - } - note_crypto_pk_op(SIGN_DIR); - if (router_append_dirobj_signature(s, len, digest, DIGEST_LEN, - private_key)<0) - goto err; - - set_cached_dir(&the_runningrouters, s, time(NULL)); - runningrouters_is_dirty = 0; - - return &the_runningrouters; - err: - tor_free(s); - return NULL; -} - -/** Set *<b>rr</b> to the most recently generated encoded signed - * running-routers list, generating a new one as necessary. Return the - * size of the directory on success, and 0 on failure. */ -cached_dir_t * -dirserv_get_runningrouters(void) -{ - return dirserv_pick_cached_dir_obj( - &cached_runningrouters, &the_runningrouters, - runningrouters_is_dirty, - generate_runningrouters, - "v1 network status list", V1_DIRINFO); -} - /** Return the latest downloaded consensus networkstatus in encoded, signed, * optionally compressed format, suitable for sending to clients. */ cached_dir_t * @@ -2862,14 +2578,6 @@ dirserv_generate_networkstatus_vote_obj(crypto_pk_t *private_key, tor_assert(private_key); tor_assert(cert); - if (resolve_my_address(LOG_WARN, options, &addr, NULL, &hostname)<0) { - log_warn(LD_NET, "Couldn't resolve my hostname"); - return NULL; - } - if (!hostname || !strchr(hostname, '.')) { - tor_free(hostname); - hostname = tor_dup_ip(addr); - } if (crypto_pk_get_digest(private_key, signing_key_digest)<0) { log_err(LD_BUG, "Error computing signing key digest"); return NULL; @@ -2878,6 +2586,14 @@ dirserv_generate_networkstatus_vote_obj(crypto_pk_t *private_key, log_err(LD_BUG, "Error computing identity key digest"); return NULL; } + if (resolve_my_address(LOG_WARN, options, &addr, NULL, &hostname)<0) { + log_warn(LD_NET, "Couldn't resolve my hostname"); + return NULL; + } + if (!hostname || !strchr(hostname, '.')) { + tor_free(hostname); + hostname = tor_dup_ip(addr); + } if (options->VersioningAuthoritativeDir) { client_versions = format_versions_list(options->RecommendedClientVersions); @@ -3303,7 +3019,7 @@ dirserv_single_reachability_test(time_t now, routerinfo_t *router) /* IPv4. */ log_debug(LD_OR,"Testing reachability of %s at %s:%u.", - router->nickname, router->address, router->or_port); + router->nickname, fmt_addr32(router->addr), router->or_port); tor_addr_from_ipv4h(&router_addr, router->addr); chan = channel_tls_connect(&router_addr, router->or_port, router->cache_info.identity_digest); @@ -3767,11 +3483,6 @@ dirserv_free_all(void) { dirserv_free_fingerprint_list(); - cached_dir_decref(the_directory); - clear_cached_dir(&the_runningrouters); - cached_dir_decref(cached_directory); - clear_cached_dir(&cached_runningrouters); - strmap_free(cached_consensuses, free_cached_dir_); cached_consensuses = NULL; diff --git a/src/or/dirserv.h b/src/or/dirserv.h index 8591c4c186..858e6e3a07 100644 --- a/src/or/dirserv.h +++ b/src/or/dirserv.h @@ -59,20 +59,15 @@ int directory_fetches_dir_info_later(const or_options_t *options); int directory_caches_unknown_auth_certs(const or_options_t *options); int directory_caches_dir_info(const or_options_t *options); int directory_permits_begindir_requests(const or_options_t *options); -int directory_permits_controller_requests(const or_options_t *options); int directory_too_idle_to_fetch_descriptors(const or_options_t *options, time_t now); -void directory_set_dirty(void); -cached_dir_t *dirserv_get_directory(void); -cached_dir_t *dirserv_get_runningrouters(void); cached_dir_t *dirserv_get_consensus(const char *flavor_name); void dirserv_set_cached_consensus_networkstatus(const char *consensus, const char *flavor_name, const digests_t *digests, time_t published); void dirserv_clear_old_networkstatuses(time_t cutoff); -void dirserv_clear_old_v1_info(time_t now); int dirserv_get_routerdesc_fingerprints(smartlist_t *fps_out, const char *key, const char **msg, int for_unencrypted_conn, diff --git a/src/or/dns.c b/src/or/dns.c index a1fe0de1d7..36271939b4 100644 --- a/src/or/dns.c +++ b/src/or/dns.c @@ -239,7 +239,7 @@ cached_resolves_eq(cached_resolve_t *a, cached_resolve_t *b) static INLINE unsigned int cached_resolve_hash(cached_resolve_t *a) { - return ht_string_hash(a->address); + return (unsigned) siphash24g((const uint8_t*)a->address, strlen(a->address)); } HT_PROTOTYPE(cache_map, cached_resolve_t, node, cached_resolve_hash, @@ -1353,6 +1353,7 @@ inform_pending_connections(cached_resolve_t *resolve) } resolve->pending_connections = pend->next; tor_free(pend); + tor_free(hostname); } } @@ -1479,6 +1480,7 @@ 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)) { log_warn(LD_EXIT, "Unable to stat resolver configuration in '%s': %s", conf_fname, strerror(errno)); @@ -1496,6 +1498,7 @@ configure_nameservers(int force) #if defined(DNS_OPTION_HOSTSFILE) && defined(USE_LIBSECCOMP) if (flags & DNS_OPTION_HOSTSFILE) { flags ^= DNS_OPTION_HOSTSFILE; + log_debug(LD_FS, "Loading /etc/hosts"); evdns_base_load_hosts(the_evdns_base, sandbox_intern_string("/etc/hosts")); } diff --git a/src/or/dnsserv.c b/src/or/dnsserv.c index ebff7b524c..ecd45be77c 100644 --- a/src/or/dnsserv.c +++ b/src/or/dnsserv.c @@ -35,7 +35,7 @@ evdns_server_callback(struct evdns_server_request *req, void *data_) entry_connection_t *entry_conn; edge_connection_t *conn; int i = 0; - struct evdns_server_question *q = NULL; + struct evdns_server_question *q = NULL, *supported_q = NULL; struct sockaddr_storage addr; struct sockaddr *sa; int addrlen; @@ -87,31 +87,37 @@ evdns_server_callback(struct evdns_server_request *req, void *data_) for (i = 0; i < req->nquestions; ++i) { if (req->questions[i]->dns_question_class != EVDNS_CLASS_INET) continue; + if (! q) + q = req->questions[i]; switch (req->questions[i]->type) { case EVDNS_TYPE_A: case EVDNS_TYPE_AAAA: case EVDNS_TYPE_PTR: - q = req->questions[i]; + /* We always pick the first one of these questions, if there is + one. */ + if (! supported_q) + supported_q = q; + break; default: break; } } + if (supported_q) + q = supported_q; if (!q) { log_info(LD_APP, "None of the questions we got were ones we're willing " "to support. Sending NOTIMPL."); evdns_server_request_respond(req, DNS_ERR_NOTIMPL); return; } - if (q->type != EVDNS_TYPE_A && q->type != EVDNS_TYPE_AAAA) { - tor_assert(q->type == EVDNS_TYPE_PTR); - } /* Make sure the name isn't too long: This should be impossible, I think. */ if (err == DNS_ERR_NONE && strlen(q->name) > MAX_SOCKS_ADDR_LEN-1) err = DNS_ERR_FORMAT; - if (err != DNS_ERR_NONE) { - /* We got an error? Then send back an answer immediately; we're done. */ + if (err != DNS_ERR_NONE || !supported_q) { + /* We got an error? There's no question we're willing to answer? Then + * send back an answer immediately; we're done. */ evdns_server_request_respond(req, err); return; } @@ -126,10 +132,23 @@ evdns_server_callback(struct evdns_server_request *req, void *data_) TO_CONN(conn)->port = port; TO_CONN(conn)->address = tor_dup_addr(&tor_addr); - if (q->type == EVDNS_TYPE_A || q->type == EVDNS_TYPE_AAAA) + if (q->type == EVDNS_TYPE_A || q->type == EVDNS_TYPE_AAAA || + q->type == EVDNS_QTYPE_ALL) { entry_conn->socks_request->command = SOCKS_COMMAND_RESOLVE; - else + } else { + tor_assert(q->type == EVDNS_TYPE_PTR); entry_conn->socks_request->command = SOCKS_COMMAND_RESOLVE_PTR; + } + + if (q->type == EVDNS_TYPE_A || q->type == EVDNS_QTYPE_ALL) { + entry_conn->ipv4_traffic_ok = 1; + entry_conn->ipv6_traffic_ok = 0; + entry_conn->prefer_ipv6_traffic = 0; + } else if (q->type == EVDNS_TYPE_AAAA) { + entry_conn->ipv4_traffic_ok = 0; + entry_conn->ipv6_traffic_ok = 1; + entry_conn->prefer_ipv6_traffic = 1; + } strlcpy(entry_conn->socks_request->address, q->name, sizeof(entry_conn->socks_request->address)); diff --git a/src/or/entrynodes.c b/src/or/entrynodes.c index d626032ac2..957217ac6c 100644 --- a/src/or/entrynodes.c +++ b/src/or/entrynodes.c @@ -70,7 +70,9 @@ static int entry_guards_dirty = 0; static void bridge_free(bridge_info_t *bridge); static const node_t *choose_random_entry_impl(cpath_build_state_t *state, int for_directory, - dirinfo_type_t dirtype); + dirinfo_type_t dirtype, + int *n_options_out); +static int num_bridges_usable(void); /** Return the list of entry guards, creating it if necessary. */ const smartlist_t * @@ -982,7 +984,7 @@ node_can_handle_dirinfo(const node_t *node, dirinfo_type_t dirinfo) const node_t * choose_random_entry(cpath_build_state_t *state) { - return choose_random_entry_impl(state, 0, 0); + return choose_random_entry_impl(state, 0, 0, NULL); } /** Pick a live (up and listed) directory guard from entry_guards for @@ -990,13 +992,13 @@ choose_random_entry(cpath_build_state_t *state) const node_t * choose_random_dirguard(dirinfo_type_t type) { - return choose_random_entry_impl(NULL, 1, type); + return choose_random_entry_impl(NULL, 1, type, NULL); } /** Helper for choose_random{entry,dirguard}. */ static const node_t * choose_random_entry_impl(cpath_build_state_t *state, int for_directory, - dirinfo_type_t dirinfo_type) + dirinfo_type_t dirinfo_type, int *n_options_out) { const or_options_t *options = get_options(); smartlist_t *live_entry_guards = smartlist_new(); @@ -1010,6 +1012,9 @@ choose_random_entry_impl(cpath_build_state_t *state, int for_directory, int need_descriptor = !for_directory; const int num_needed = decide_num_guards(options, for_directory); + if (n_options_out) + *n_options_out = 0; + if (chosen_exit) { nodelist_add_node_and_family(exit_family, chosen_exit); consider_exit_family = 1; @@ -1136,6 +1141,8 @@ choose_random_entry_impl(cpath_build_state_t *state, int for_directory, * *double*-weight our guard selection. */ node = smartlist_choose(live_entry_guards); } + if (n_options_out) + *n_options_out = smartlist_len(live_entry_guards); smartlist_free(live_entry_guards); smartlist_free(exit_family); return node; @@ -1967,7 +1974,6 @@ get_socks_args_by_bridge_addrport(const tor_addr_t *addr, uint16_t port) static void launch_direct_bridge_descriptor_fetch(bridge_info_t *bridge) { - char *address; const or_options_t *options = get_options(); if (connection_get_by_type_addr_port_purpose( @@ -1982,15 +1988,12 @@ launch_direct_bridge_descriptor_fetch(bridge_info_t *bridge) return; } - address = tor_dup_addr(&bridge->addr); - - directory_initiate_command(address, &bridge->addr, + directory_initiate_command(&bridge->addr, bridge->port, 0/*no dirport*/, bridge->identity, DIR_PURPOSE_FETCH_SERVERDESC, ROUTER_PURPOSE_BRIDGE, DIRIND_ONEHOP, "authority.z", NULL, 0, 0); - tor_free(address); } /** Fetching the bridge descriptor from the bridge authority returned a @@ -2108,13 +2111,11 @@ rewrite_node_address_for_bridge(const bridge_info_t *bridge, node_t *node) } else { if (tor_addr_family(&bridge->addr) == AF_INET) { ri->addr = tor_addr_to_ipv4h(&bridge->addr); - tor_free(ri->address); - ri->address = tor_dup_ip(ri->addr); ri->or_port = bridge->port; log_info(LD_DIR, "Adjusted bridge routerinfo for '%s' to match configured " "address %s:%d.", - ri->nickname, ri->address, ri->or_port); + ri->nickname, fmt_addr32(ri->addr), ri->or_port); } else if (tor_addr_family(&bridge->addr) == AF_INET6) { tor_addr_copy(&ri->ipv6_addr, &bridge->addr); ri->ipv6_orport = bridge->port; @@ -2172,7 +2173,7 @@ learned_bridge_descriptor(routerinfo_t *ri, int from_cache) tor_assert(ri); tor_assert(ri->purpose == ROUTER_PURPOSE_BRIDGE); if (get_options()->UseBridges) { - int first = !any_bridge_descriptors_known(); + int first = num_bridges_usable() <= 1; bridge_info_t *bridge = get_configured_bridge_by_routerinfo(ri); time_t now = time(NULL); router_set_status(ri->cache_info.identity_digest, 1); @@ -2194,14 +2195,15 @@ learned_bridge_descriptor(routerinfo_t *ri, int from_cache) * our entry node list */ entry_guard_register_connect_status(ri->cache_info.identity_digest, 1, 0, now); - if (first) + if (first) { routerlist_retry_directory_downloads(now); + } } } } -/** Return 1 if any of our entry guards have descriptors that - * are marked with purpose 'bridge' and are running. Else return 0. +/** Return the number of bridges that have descriptors that + * are marked with purpose 'bridge' and are running. * * We use this function to decide if we're ready to start building * circuits through our bridges, or if we need to wait until the @@ -2213,25 +2215,16 @@ any_bridge_descriptors_known(void) return choose_random_entry(NULL) != NULL; } -/** Return 1 if there are any directory conns fetching bridge descriptors - * that aren't marked for close. We use this to guess if we should tell - * the controller that we have a problem. */ -int -any_pending_bridge_descriptor_fetches(void) +/** Return the number of bridges that have descriptors that are marked with + * purpose 'bridge' and are running. + */ +static int +num_bridges_usable(void) { - smartlist_t *conns = get_connection_array(); - SMARTLIST_FOREACH_BEGIN(conns, connection_t *, conn) { - if (conn->type == CONN_TYPE_DIR && - conn->purpose == DIR_PURPOSE_FETCH_SERVERDESC && - TO_DIR_CONN(conn)->router_purpose == ROUTER_PURPOSE_BRIDGE && - !conn->marked_for_close && - conn->linked && - conn->linked_conn && !conn->linked_conn->marked_for_close) { - log_debug(LD_DIR, "found one: %s", conn->address); - return 1; - } - } SMARTLIST_FOREACH_END(conn); - return 0; + int n_options = 0; + tor_assert(get_options()->UseBridges); + (void) choose_random_entry_impl(NULL, 0, 0, &n_options); + return n_options; } /** Return 1 if we have at least one descriptor for an entry guard diff --git a/src/or/entrynodes.h b/src/or/entrynodes.h index 772c6662d3..e229f3b79a 100644 --- a/src/or/entrynodes.h +++ b/src/or/entrynodes.h @@ -5,7 +5,7 @@ /* See LICENSE for licensing information */ /** - * \file guardnodes.h + * \file entrynodes.h * \brief Header file for circuitbuild.c. **/ @@ -105,7 +105,6 @@ void retry_bridge_descriptor_fetch_directly(const char *digest); void fetch_bridge_descriptors(const or_options_t *options, time_t now); void learned_bridge_descriptor(routerinfo_t *ri, int from_cache); int any_bridge_descriptors_known(void); -int any_pending_bridge_descriptor_fetches(void); int entries_known_but_down(const or_options_t *options); void entries_retry_all(const or_options_t *options); diff --git a/src/or/ext_orport.c b/src/or/ext_orport.c index d5a0fa1ee4..0d28a9199a 100644 --- a/src/or/ext_orport.c +++ b/src/or/ext_orport.c @@ -256,7 +256,7 @@ handle_client_auth_nonce(const char *client_nonce, size_t client_nonce_len, base16_encode(server_nonce_encoded, sizeof(server_nonce_encoded), server_nonce, sizeof(server_nonce)); base16_encode(client_nonce_encoded, sizeof(client_nonce_encoded), - client_nonce, sizeof(client_nonce)); + client_nonce, EXT_OR_PORT_AUTH_NONCE_LEN); log_debug(LD_GENERAL, "server_hash: '%s'\nserver_nonce: '%s'\nclient_nonce: '%s'", diff --git a/src/or/fp_pair.c b/src/or/fp_pair.c index 4d8a835c83..55e4c89a42 100644 --- a/src/or/fp_pair.c +++ b/src/or/fp_pair.c @@ -32,17 +32,8 @@ fp_pair_map_entries_eq(const fp_pair_map_entry_t *a, static INLINE unsigned int fp_pair_map_entry_hash(const fp_pair_map_entry_t *a) { - const uint32_t *p; - unsigned int hash; - - p = (const uint32_t *)(a->key.first); - /* Hashes are 20 bytes long, so 5 times uint32_t */ - hash = p[0] ^ p[1] ^ p[2] ^ p[3] ^ p[4]; - /* Now XOR in the second fingerprint */ - p = (const uint32_t *)(a->key.second); - hash ^= p[0] ^ p[1] ^ p[2] ^ p[3] ^ p[4]; - - return hash; + tor_assert(sizeof(a->key) == DIGEST_LEN*2); + return (unsigned) siphash24g(&a->key, DIGEST_LEN*2); } /* diff --git a/src/or/geoip.c b/src/or/geoip.c index dc4730c810..f722bac468 100644 --- a/src/or/geoip.c +++ b/src/or/geoip.c @@ -486,10 +486,12 @@ static HT_HEAD(clientmap, clientmap_entry_t) client_history = static INLINE unsigned clientmap_entry_hash(const clientmap_entry_t *a) { - unsigned h = tor_addr_hash(&a->addr); + unsigned h = (unsigned) tor_addr_hash(&a->addr); + if (a->transport_name) - h += ht_string_hash(a->transport_name); - return ht_improve_hash(h); + h += (unsigned) siphash24g(a->transport_name, strlen(a->transport_name)); + + return h; } /** Hashtable helper: compare two clientmap_entry_t values for equality. */ static INLINE int @@ -554,8 +556,9 @@ geoip_note_client_seen(geoip_client_action_t action, (!(options->BridgeRelay && options->BridgeRecordUsageByCountry))) return; } else { - if (options->BridgeRelay || options->BridgeAuthoritativeDir || - !options->DirReqStatistics) + /* Only gather directory-request statistics if configured, and + * forcibly disable them on bridge authorities. */ + if (!options->DirReqStatistics || options->BridgeAuthoritativeDir) return; } @@ -809,7 +812,7 @@ char * geoip_get_transport_history(void) { unsigned granularity = IP_GRANULARITY; - /** String hash table <name of transport> -> <number of users>. */ + /** String hash table (name of transport) -> (number of users). */ strmap_t *transport_counts = strmap_new(); /** Smartlist that contains copies of the names of the transports diff --git a/src/or/hibernate.c b/src/or/hibernate.c index 607dec8cd5..c433ac1be9 100644 --- a/src/or/hibernate.c +++ b/src/or/hibernate.c @@ -239,8 +239,8 @@ accounting_parse_options(const or_options_t *options, int validate_only) /** If we want to manage the accounting system and potentially * hibernate, return 1, else return 0. */ -int -accounting_is_enabled(const or_options_t *options) +MOCK_IMPL(int, +accounting_is_enabled,(const or_options_t *options)) { if (options->AccountingMax) return 1; @@ -256,8 +256,8 @@ accounting_get_interval_length(void) } /** Return the time at which the current accounting interval will end. */ -time_t -accounting_get_end_time(void) +MOCK_IMPL(time_t, +accounting_get_end_time,(void)) { return interval_end_time; } @@ -648,7 +648,15 @@ read_bandwidth_usage(void) { char *fname = get_datadir_fname("bw_accounting"); - unlink(fname); + int res; + + res = unlink(fname); + if (res != 0) { + log_warn(LD_FS, + "Failed to unlink %s: %s", + fname, strerror(errno)); + } + tor_free(fname); } @@ -815,8 +823,8 @@ hibernate_begin_shutdown(void) } /** Return true iff we are currently hibernating. */ -int -we_are_hibernating(void) +MOCK_IMPL(int, +we_are_hibernating,(void)) { return hibernate_state != HIBERNATE_STATE_LIVE; } diff --git a/src/or/hibernate.h b/src/or/hibernate.h index 4f7331ce8c..38ecb75129 100644 --- a/src/or/hibernate.h +++ b/src/or/hibernate.h @@ -12,16 +12,18 @@ #ifndef TOR_HIBERNATE_H #define TOR_HIBERNATE_H +#include "testsupport.h" + int accounting_parse_options(const or_options_t *options, int validate_only); -int accounting_is_enabled(const or_options_t *options); +MOCK_DECL(int, accounting_is_enabled, (const or_options_t *options)); int accounting_get_interval_length(void); -time_t accounting_get_end_time(void); +MOCK_DECL(time_t, accounting_get_end_time, (void)); void configure_accounting(time_t now); void accounting_run_housekeeping(time_t now); void accounting_add_bytes(size_t n_read, size_t n_written, int seconds); int accounting_record_bandwidth_usage(time_t now, or_state_t *state); void hibernate_begin_shutdown(void); -int we_are_hibernating(void); +MOCK_DECL(int, we_are_hibernating, (void)); void consider_hibernation(time_t now); int getinfo_helper_accounting(control_connection_t *conn, const char *question, char **answer, diff --git a/src/or/main.c b/src/or/main.c index a970e35801..6713d80368 100644 --- a/src/or/main.c +++ b/src/or/main.c @@ -469,15 +469,15 @@ get_connection_array(void) /** Provides the traffic read and written over the life of the process. */ -uint64_t -get_bytes_read(void) +MOCK_IMPL(uint64_t, +get_bytes_read,(void)) { return stats_n_bytes_read; } /* DOCDOC get_bytes_written */ -uint64_t -get_bytes_written(void) +MOCK_IMPL(uint64_t, +get_bytes_written,(void)) { return stats_n_bytes_written; } @@ -919,16 +919,7 @@ conn_close_if_marked(int i) return 0; } if (connection_wants_to_flush(conn)) { - int severity; - if (conn->type == CONN_TYPE_EXIT || - (conn->type == CONN_TYPE_OR && server_mode(get_options())) || - (conn->type == CONN_TYPE_DIR && conn->purpose == DIR_PURPOSE_SERVER)) - severity = LOG_INFO; - else - severity = LOG_NOTICE; - /* XXXX Maybe allow this to happen a certain amount per hour; it usually - * is meaningless. */ - log_fn(severity, LD_NET, "We stalled too much while trying to write %d " + log_fn(LOG_INFO, LD_NET, "We stalled too much while trying to write %d " "bytes to address %s. If this happens a lot, either " "something is wrong with your network connection, or " "something is wrong with theirs. " @@ -1162,6 +1153,18 @@ get_signewnym_epoch(void) return newnym_epoch; } +static time_t time_to_check_descriptor = 0; +/** + * Update our schedule so that we'll check whether we need to update our + * descriptor immediately, rather than after up to CHECK_DESCRIPTOR_INTERVAL + * seconds. + */ +void +reschedule_descriptor_update_check(void) +{ + time_to_check_descriptor = 0; +} + /** Perform regular maintenance tasks. This function gets run once per * second by second_elapsed_callback(). */ @@ -1171,7 +1174,6 @@ run_scheduled_events(time_t now) static time_t last_rotated_x509_certificate = 0; static time_t time_to_check_v3_certificate = 0; static time_t time_to_check_listeners = 0; - static time_t time_to_check_descriptor = 0; static time_t time_to_download_networkstatus = 0; static time_t time_to_shrink_memory = 0; static time_t time_to_try_getting_descriptors = 0; @@ -1196,22 +1198,12 @@ run_scheduled_events(time_t now) int i; int have_dir_info; - /** 0. See if we've been asked to shut down and our timeout has + /* 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. */ consider_hibernation(now); -#if 0 - { - static time_t nl_check_time = 0; - if (nl_check_time <= now) { - nodelist_assert_ok(); - nl_check_time = now + 30; - } - } -#endif - /* 0b. If we've deferred a signewnym, make sure it gets handled * eventually. */ if (signewnym_is_pending && @@ -1223,7 +1215,7 @@ run_scheduled_events(time_t now) /* 0c. If we've deferred log messages for the controller, handle them now */ flush_pending_log_callbacks(); - /** 1a. Every MIN_ONION_KEY_LIFETIME seconds, rotate the onion keys, + /* 1a. Every MIN_ONION_KEY_LIFETIME seconds, rotate the onion keys, * shut down and restart all cpuworkers, and update the directory if * necessary. */ @@ -1257,7 +1249,7 @@ run_scheduled_events(time_t now) if (options->UseBridges) fetch_bridge_descriptors(options, now); - /** 1b. Every MAX_SSL_KEY_LIFETIME_INTERNAL seconds, we change our + /* 1b. Every MAX_SSL_KEY_LIFETIME_INTERNAL seconds, we change our * TLS context. */ if (!last_rotated_x509_certificate) last_rotated_x509_certificate = now; @@ -1283,7 +1275,7 @@ run_scheduled_events(time_t now) time_to_add_entropy = now + ENTROPY_INTERVAL; } - /** 1c. If we have to change the accounting interval or record + /* 1c. If we have to change the accounting interval or record * bandwidth used in this accounting interval, do so. */ if (accounting_is_enabled(options)) accounting_run_housekeeping(now); @@ -1296,7 +1288,7 @@ run_scheduled_events(time_t now) dirserv_test_reachability(now); } - /** 1d. Periodically, we discount older stability information so that new + /* 1d. Periodically, we discount older stability information so that new * stability info counts more, and save the stability information to disk as * appropriate. */ if (time_to_downrate_stability < now) @@ -1415,7 +1407,7 @@ run_scheduled_events(time_t now) dns_init(); } - /** 2. Periodically, we consider force-uploading our descriptor + /* 2. Periodically, we consider force-uploading our descriptor * (if we've passed our internal checks). */ /** How often do we check whether part of our router info has changed in a @@ -1475,11 +1467,11 @@ run_scheduled_events(time_t now) update_networkstatus_downloads(now); } - /** 2c. Let directory voting happen. */ + /* 2c. Let directory voting happen. */ if (authdir_mode_v3(options)) dirvote_act(options, now); - /** 3a. Every second, we examine pending circuits and prune the + /* 3a. Every second, we examine pending circuits and prune the * ones which have been pending for more than a few seconds. * We do this before step 4, so it can try building more if * it's not comfortable with the number of available circuits. @@ -1488,24 +1480,24 @@ run_scheduled_events(time_t now) * it can't, currently), we should do this more often.) */ circuit_expire_building(); - /** 3b. Also look at pending streams and prune the ones that 'began' + /* 3b. Also look at pending streams and prune the ones that 'began' * a long time ago but haven't gotten a 'connected' yet. * Do this before step 4, so we can put them back into pending * state to be picked up by the new circuit. */ connection_ap_expire_beginning(); - /** 3c. And expire connections that we've held open for too long. + /* 3c. And expire connections that we've held open for too long. */ connection_expire_held_open(); - /** 3d. And every 60 seconds, we relaunch listeners if any died. */ + /* 3d. And every 60 seconds, we relaunch listeners if any died. */ if (!net_is_disabled() && time_to_check_listeners < now) { retry_all_listeners(NULL, NULL, 0); time_to_check_listeners = now+60; } - /** 4. Every second, we try a new circuit if there are no valid + /* 4. Every second, we try a new circuit if there are no valid * circuits. Every NewCircuitPeriod seconds, we expire circuits * that became dirty more than MaxCircuitDirtiness seconds ago, * and we make a new circ if there are no clean circuits. @@ -1518,7 +1510,7 @@ run_scheduled_events(time_t now) if (now % 10 == 5) circuit_expire_old_circuits_serverside(now); - /** 5. We do housekeeping for each connection... */ + /* 5. We do housekeeping for each connection... */ connection_or_set_bad_connections(NULL, 0); for (i=0;i<smartlist_len(connection_array);i++) { run_connection_housekeeping(i, now); @@ -1538,33 +1530,35 @@ run_scheduled_events(time_t now) time_to_shrink_memory = now + MEM_SHRINK_INTERVAL; } - /** 6. And remove any marked circuits... */ + /* 6. And remove any marked circuits... */ circuit_close_all_marked(); - /** 7. And upload service descriptors if necessary. */ + /* 7. And upload service descriptors if necessary. */ if (can_complete_circuit && !net_is_disabled()) { rend_consider_services_upload(now); rend_consider_descriptor_republication(); } - /** 8. and blow away any connections that need to die. have to do this now, + /* 8. and blow away any connections that need to die. have to do this now, * because if we marked a conn for close and left its socket -1, then * we'll pass it to poll/select and bad things will happen. */ close_closeable_connections(); - /** 8b. And if anything in our state is ready to get flushed to disk, we + /* 8b. And if anything in our state is ready to get flushed to disk, we * flush it. */ or_state_save(now); - /** 8c. Do channel cleanup just like for connections */ + /* 8c. Do channel cleanup just like for connections */ channel_run_cleanup(); channel_listener_run_cleanup(); - /** 9. and if we're a server, check whether our DNS is telling stories to - * us. */ + /* 9. and if we're an exit node, check whether our DNS is telling stories + * to us. */ if (!net_is_disabled() && - public_server_mode(options) && time_to_check_for_correct_dns < now) { + public_server_mode(options) && + time_to_check_for_correct_dns < now && + ! router_my_exit_policy_is_reject_star()) { if (!time_to_check_for_correct_dns) { time_to_check_for_correct_dns = now + 60 + crypto_rand_int(120); } else { @@ -1574,7 +1568,7 @@ run_scheduled_events(time_t now) } } - /** 10. write bridge networkstatus file to disk */ + /* 10. write bridge networkstatus file to disk */ if (options->BridgeAuthoritativeDir && time_to_write_bridge_status_file < now) { networkstatus_dump_bridge_status_to_file(now); @@ -1582,7 +1576,7 @@ run_scheduled_events(time_t now) time_to_write_bridge_status_file = now+BRIDGE_STATUSFILE_INTERVAL; } - /** 11. check the port forwarding app */ + /* 11. check the port forwarding app */ if (!net_is_disabled() && time_to_check_port_forwarding < now && options->PortForwarding && @@ -1600,11 +1594,11 @@ run_scheduled_events(time_t now) time_to_check_port_forwarding = now+PORT_FORWARDING_CHECK_INTERVAL; } - /** 11b. check pending unconfigured managed proxies */ + /* 11b. check pending unconfigured managed proxies */ if (!net_is_disabled() && pt_proxies_configuration_pending()) pt_configure_remaining_proxies(); - /** 12. write the heartbeat message */ + /* 12. write the heartbeat message */ if (options->HeartbeatPeriod && time_to_next_heartbeat <= now) { if (time_to_next_heartbeat) /* don't log the first heartbeat */ @@ -1678,24 +1672,28 @@ second_elapsed_callback(periodic_timer_t *timer, void *arg) /* every 20 minutes, check and complain if necessary */ const routerinfo_t *me = router_get_my_routerinfo(); if (me && !check_whether_orport_reachable()) { + char *address = tor_dup_ip(me->addr); log_warn(LD_CONFIG,"Your server (%s:%d) has not managed to confirm that " "its ORPort is reachable. Please check your firewalls, ports, " "address, /etc/hosts file, etc.", - me->address, me->or_port); + address, me->or_port); control_event_server_status(LOG_WARN, "REACHABILITY_FAILED ORADDRESS=%s:%d", - me->address, me->or_port); + address, me->or_port); + tor_free(address); } if (me && !check_whether_dirport_reachable()) { + char *address = tor_dup_ip(me->addr); log_warn(LD_CONFIG, "Your server (%s:%d) has not managed to confirm that its " "DirPort is reachable. Please check your firewalls, ports, " "address, /etc/hosts file, etc.", - me->address, me->dir_port); + address, me->dir_port); control_event_server_status(LOG_WARN, "REACHABILITY_FAILED DIRADDRESS=%s:%d", - me->address, me->dir_port); + address, me->dir_port); + tor_free(address); } } @@ -2123,8 +2121,8 @@ process_signal(uintptr_t sig) } /** Returns Tor's uptime. */ -long -get_uptime(void) +MOCK_IMPL(long, +get_uptime,(void)) { return stats_n_seconds_working; } @@ -2329,6 +2327,13 @@ tor_init(int argc, char *argv[]) /* Have the log set up with our application name. */ 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. */ @@ -2427,6 +2432,9 @@ tor_init(int argc, char *argv[]) return -1; } stream_choice_seed_weak_rng(); + if (tor_init_libevent_rng() < 0) { + log_warn(LD_NET, "Problem initializing libevent RNG."); + } return 0; } @@ -2571,10 +2579,19 @@ tor_cleanup(void) time_t now = time(NULL); /* Remove our pid file. We don't care if there was an error when we * unlink, nothing we could do about it anyways. */ - if (options->PidFile) - unlink(options->PidFile); - if (options->ControlPortWriteToFile) - unlink(options->ControlPortWriteToFile); + if (options->PidFile) { + if (unlink(options->PidFile) != 0) { + log_warn(LD_FS, "Couldn't unlink pid file %s: %s", + options->PidFile, strerror(errno)); + } + } + if (options->ControlPortWriteToFile) { + if (unlink(options->ControlPortWriteToFile) != 0) { + log_warn(LD_FS, "Couldn't unlink control port file %s: %s", + options->ControlPortWriteToFile, + strerror(errno)); + } + } if (accounting_is_enabled(options)) accounting_record_bandwidth_usage(now, get_or_state()); or_state_mark_dirty(get_or_state(), 0); /* force an immediate save. */ @@ -2709,77 +2726,144 @@ init_addrinfo(void) static sandbox_cfg_t* sandbox_init_filter(void) { + const or_options_t *options = get_options(); sandbox_cfg_t *cfg = sandbox_cfg_new(); + int i; sandbox_cfg_allow_openat_filename(&cfg, - get_datadir_fname("cached-status"), 1); + get_datadir_fname("cached-status")); sandbox_cfg_allow_open_filename_array(&cfg, - get_datadir_fname("cached-certs"), 1, - get_datadir_fname("cached-certs.tmp"), 1, - get_datadir_fname("cached-consensus"), 1, - get_datadir_fname("unverified-consensus"), 1, - get_datadir_fname("unverified-consensus.tmp"), 1, - get_datadir_fname("cached-microdesc-consensus"), 1, - get_datadir_fname("cached-microdesc-consensus.tmp"), 1, - get_datadir_fname("cached-microdescs"), 1, - get_datadir_fname("cached-microdescs.tmp"), 1, - get_datadir_fname("cached-microdescs.new"), 1, - get_datadir_fname("cached-microdescs.new.tmp"), 1, - get_datadir_fname("unverified-microdesc-consensus"), 1, - get_datadir_fname("cached-descriptors"), 1, - get_datadir_fname("cached-descriptors.new"), 1, - get_datadir_fname("cached-descriptors.tmp"), 1, - get_datadir_fname("cached-descriptors.new.tmp"), 1, - get_datadir_fname("cached-descriptors.tmp.tmp"), 1, - get_datadir_fname("cached-extrainfo"), 1, - get_datadir_fname("state.tmp"), 1, - get_datadir_fname("unparseable-desc.tmp"), 1, - get_datadir_fname("unparseable-desc"), 1, - "/dev/srandom", 0, - "/dev/urandom", 0, - "/dev/random", 0, + get_datadir_fname("cached-certs"), + get_datadir_fname("cached-certs.tmp"), + get_datadir_fname("cached-consensus"), + get_datadir_fname("cached-consensus.tmp"), + get_datadir_fname("unverified-consensus"), + get_datadir_fname("unverified-consensus.tmp"), + get_datadir_fname("unverified-microdesc-consensus"), + get_datadir_fname("unverified-microdesc-consensus.tmp"), + get_datadir_fname("cached-microdesc-consensus"), + get_datadir_fname("cached-microdesc-consensus.tmp"), + get_datadir_fname("cached-microdescs"), + get_datadir_fname("cached-microdescs.tmp"), + get_datadir_fname("cached-microdescs.new"), + get_datadir_fname("cached-microdescs.new.tmp"), + get_datadir_fname("cached-descriptors"), + get_datadir_fname("cached-descriptors.new"), + get_datadir_fname("cached-descriptors.tmp"), + get_datadir_fname("cached-descriptors.new.tmp"), + get_datadir_fname("cached-descriptors.tmp.tmp"), + get_datadir_fname("cached-extrainfo"), + get_datadir_fname("cached-extrainfo.new"), + get_datadir_fname("cached-extrainfo.tmp"), + get_datadir_fname("cached-extrainfo.new.tmp"), + get_datadir_fname("cached-extrainfo.tmp.tmp"), + get_datadir_fname("state.tmp"), + get_datadir_fname("unparseable-desc.tmp"), + get_datadir_fname("unparseable-desc"), + get_datadir_fname("v3-status-votes"), + get_datadir_fname("v3-status-votes.tmp"), + tor_strdup("/dev/srandom"), + tor_strdup("/dev/urandom"), + tor_strdup("/dev/random"), + tor_strdup("/etc/hosts"), + tor_strdup("/proc/meminfo"), NULL, 0 ); + if (options->ServerDNSResolvConfFile) + sandbox_cfg_allow_open_filename(&cfg, + tor_strdup(options->ServerDNSResolvConfFile)); + else + sandbox_cfg_allow_open_filename(&cfg, tor_strdup("/etc/resolv.conf")); + + for (i = 0; i < 2; ++i) { + if (get_torrc_fname(i)) { + sandbox_cfg_allow_open_filename(&cfg, tor_strdup(get_torrc_fname(i))); + } + } + +#define RENAME_SUFFIX(name, suffix) \ + sandbox_cfg_allow_rename(&cfg, \ + get_datadir_fname(name suffix), \ + get_datadir_fname(name)) + +#define RENAME_SUFFIX2(prefix, name, suffix) \ + sandbox_cfg_allow_rename(&cfg, \ + get_datadir_fname2(prefix, name suffix), \ + get_datadir_fname2(prefix, name)) + + RENAME_SUFFIX("cached-certs", ".tmp"); + RENAME_SUFFIX("cached-consensus", ".tmp"); + RENAME_SUFFIX("unverified-consensus", ".tmp"); + RENAME_SUFFIX("unverified-microdesc-consensus", ".tmp"); + RENAME_SUFFIX("cached-microdesc-consensus", ".tmp"); + RENAME_SUFFIX("cached-microdescs", ".tmp"); + RENAME_SUFFIX("cached-microdescs", ".new"); + RENAME_SUFFIX("cached-microdescs.new", ".tmp"); + RENAME_SUFFIX("cached-descriptors", ".tmp"); + RENAME_SUFFIX("cached-descriptors", ".new"); + RENAME_SUFFIX("cached-descriptors.new", ".tmp"); + RENAME_SUFFIX("cached-extrainfo", ".tmp"); + RENAME_SUFFIX("cached-extrainfo", ".new"); + RENAME_SUFFIX("cached-extrainfo.new", ".tmp"); + RENAME_SUFFIX("state", ".tmp"); + RENAME_SUFFIX("unparseable-desc", ".tmp"); + RENAME_SUFFIX("v3-status-votes", ".tmp"); sandbox_cfg_allow_stat_filename_array(&cfg, - get_datadir_fname(NULL), 1, - get_datadir_fname("lock"), 1, - get_datadir_fname("state"), 1, - get_datadir_fname("router-stability"), 1, - get_datadir_fname("cached-extrainfo.new"), 1, + get_datadir_fname(NULL), + get_datadir_fname("lock"), + get_datadir_fname("state"), + get_datadir_fname("router-stability"), + get_datadir_fname("cached-extrainfo.new"), NULL, 0 ); // orport if (server_mode(get_options())) { sandbox_cfg_allow_open_filename_array(&cfg, - get_datadir_fname2("keys", "secret_id_key"), 1, - get_datadir_fname2("keys", "secret_onion_key"), 1, - get_datadir_fname2("keys", "secret_onion_key_ntor"), 1, - get_datadir_fname2("keys", "secret_onion_key_ntor.tmp"), 1, - get_datadir_fname2("keys", "secret_id_key.old"), 1, - get_datadir_fname2("keys", "secret_onion_key.old"), 1, - get_datadir_fname2("keys", "secret_onion_key_ntor.old"), 1, - get_datadir_fname2("keys", "secret_onion_key.tmp"), 1, - get_datadir_fname2("keys", "secret_id_key.tmp"), 1, - get_datadir_fname("fingerprint"), 1, - get_datadir_fname("fingerprint.tmp"), 1, - get_datadir_fname("cached-consensus"), 1, - get_datadir_fname("cached-consensus.tmp"), 1, - "/etc/resolv.conf", 0, + get_datadir_fname2("keys", "secret_id_key"), + get_datadir_fname2("keys", "secret_onion_key"), + get_datadir_fname2("keys", "secret_onion_key_ntor"), + get_datadir_fname2("keys", "secret_onion_key_ntor.tmp"), + get_datadir_fname2("keys", "secret_id_key.old"), + get_datadir_fname2("keys", "secret_onion_key.old"), + get_datadir_fname2("keys", "secret_onion_key_ntor.old"), + get_datadir_fname2("keys", "secret_onion_key.tmp"), + get_datadir_fname2("keys", "secret_id_key.tmp"), + get_datadir_fname("fingerprint"), + get_datadir_fname("fingerprint.tmp"), + get_datadir_fname("hashed-fingerprint"), + get_datadir_fname("hashed-fingerprint.tmp"), + get_datadir_fname("router-stability"), + get_datadir_fname("router-stability.tmp"), + tor_strdup("/etc/resolv.conf"), NULL, 0 ); + RENAME_SUFFIX("fingerprint", ".tmp"); + RENAME_SUFFIX2("keys", "secret_onion_key_ntor", ".tmp"); + RENAME_SUFFIX2("keys", "secret_id_key", ".tmp"); + RENAME_SUFFIX2("keys", "secret_id_key.old", ".tmp"); + RENAME_SUFFIX2("keys", "secret_onion_key", ".tmp"); + RENAME_SUFFIX2("keys", "secret_onion_key.old", ".tmp"); + RENAME_SUFFIX("hashed-fingerprint", ".tmp"); + RENAME_SUFFIX("router-stability", ".tmp"); + + sandbox_cfg_allow_rename(&cfg, + get_datadir_fname2("keys", "secret_onion_key"), + get_datadir_fname2("keys", "secret_onion_key.old")); + sandbox_cfg_allow_rename(&cfg, + get_datadir_fname2("keys", "secret_onion_key_ntor"), + get_datadir_fname2("keys", "secret_onion_key_ntor.old")); + sandbox_cfg_allow_stat_filename_array(&cfg, - get_datadir_fname("keys"), 1, - get_datadir_fname("stats/dirreq-stats"), 1, + get_datadir_fname("keys"), + get_datadir_fname("stats/dirreq-stats"), NULL, 0 ); } - sandbox_cfg_allow_execve(&cfg, "/usr/local/bin/tor"); - init_addrinfo(); return cfg; diff --git a/src/or/main.h b/src/or/main.h index df302ffa72..a3bce3486f 100644 --- a/src/or/main.h +++ b/src/or/main.h @@ -24,8 +24,8 @@ void add_connection_to_closeable_list(connection_t *conn); int connection_is_on_closeable_list(connection_t *conn); smartlist_t *get_connection_array(void); -uint64_t get_bytes_read(void); -uint64_t get_bytes_written(void); +MOCK_DECL(uint64_t,get_bytes_read,(void)); +MOCK_DECL(uint64_t,get_bytes_written,(void)); /** Bitmask for events that we can turn on and off with * connection_watch_events. */ @@ -50,8 +50,10 @@ void directory_info_has_arrived(time_t now, int from_cache); void ip_address_changed(int at_interface); void dns_servers_relaunch_checks(void); +void reschedule_descriptor_update_check(void); + +MOCK_DECL(long,get_uptime,(void)); -long get_uptime(void); unsigned get_signewnym_epoch(void); void handle_signals(int is_parent); diff --git a/src/or/microdesc.c b/src/or/microdesc.c index 11249910ca..ec85de0d6b 100644 --- a/src/or/microdesc.c +++ b/src/or/microdesc.c @@ -45,12 +45,7 @@ struct microdesc_cache_t { static INLINE unsigned int microdesc_hash_(microdesc_t *md) { - unsigned *d = (unsigned*)md->digest; -#if SIZEOF_INT == 4 - return d[0] ^ d[1] ^ d[2] ^ d[3] ^ d[4] ^ d[5] ^ d[6] ^ d[7]; -#else - return d[0] ^ d[1] ^ d[2] ^ d[3]; -#endif + return (unsigned) siphash24g(md->digest, sizeof(md->digest)); } /** Helper: compares <b>a</b> and </b> for equality for hash-table purposes. */ @@ -280,6 +275,7 @@ void microdesc_cache_clear(microdesc_cache_t *cache) { microdesc_t **entry, **next; + for (entry = HT_START(microdesc_map, &cache->map); entry; entry = next) { microdesc_t *md = *entry; next = HT_NEXT_RMV(microdesc_map, &cache->map, entry); @@ -288,7 +284,13 @@ microdesc_cache_clear(microdesc_cache_t *cache) } HT_CLEAR(microdesc_map, &cache->map); if (cache->cache_content) { - tor_munmap_file(cache->cache_content); + int res = tor_munmap_file(cache->cache_content); + if (res != 0) { + log_warn(LD_FS, + "tor_munmap_file() failed clearing microdesc cache; " + "we are probably about to leak memory."); + /* TODO something smarter? */ + } cache->cache_content = NULL; } cache->total_len_seen = 0; @@ -368,7 +370,9 @@ microdesc_cache_clean(microdesc_cache_t *cache, time_t cutoff, int force) cutoff = now - TOLERATE_MICRODESC_AGE; for (mdp = HT_START(microdesc_map, &cache->map); mdp != NULL; ) { - if ((*mdp)->last_listed < cutoff) { + const int is_old = (*mdp)->last_listed < cutoff; + const unsigned held_by_nodes = (*mdp)->held_by_nodes; + if (is_old && !held_by_nodes) { ++dropped; victim = *mdp; mdp = HT_NEXT_RMV(microdesc_map, &cache->map, mdp); @@ -376,6 +380,54 @@ microdesc_cache_clean(microdesc_cache_t *cache, time_t cutoff, int force) bytes_dropped += victim->bodylen; microdesc_free(victim); } else { + if (is_old) { + /* It's old, but it has held_by_nodes set. That's not okay. */ + /* Let's try to diagnose and fix #7164 . */ + smartlist_t *nodes = nodelist_find_nodes_with_microdesc(*mdp); + const networkstatus_t *ns = networkstatus_get_latest_consensus(); + long networkstatus_age = -1; + if (ns) { + networkstatus_age = now - ns->valid_after; + } + log_warn(LD_BUG, "Microdescriptor seemed very old " + "(last listed %d hours ago vs %d hour cutoff), but is still " + "marked as being held by %d node(s). I found %d node(s) " + "holding it. Current networkstatus is %ld hours old.", + (int)((now - (*mdp)->last_listed) / 3600), + (int)((now - cutoff) / 3600), + held_by_nodes, + smartlist_len(nodes), + networkstatus_age / 3600); + + SMARTLIST_FOREACH_BEGIN(nodes, const node_t *, node) { + const char *rs_match = "No RS"; + const char *rs_present = ""; + if (node->rs) { + if (tor_memeq(node->rs->descriptor_digest, + (*mdp)->digest, DIGEST256_LEN)) { + rs_match = "Microdesc digest in RS matches"; + } else { + rs_match = "Microdesc digest in RS does match"; + } + if (ns) { + /* This should be impossible, but let's see! */ + rs_present = " RS not present in networkstatus."; + SMARTLIST_FOREACH(ns->routerstatus_list, routerstatus_t *,rs, { + if (rs == node->rs) { + rs_present = " RS okay in networkstatus."; + } + }); + } + } + log_warn(LD_BUG, " [%d]: ID=%s. md=%p, rs=%p, ri=%p. %s.%s", + node_sl_idx, + hex_str(node->identity, DIGEST_LEN), + node->md, node->rs, node->ri, rs_match, rs_present); + } SMARTLIST_FOREACH_END(node); + smartlist_free(nodes); + (*mdp)->last_listed = now; + } + ++kept; mdp = HT_NEXT(microdesc_map, &cache->map, mdp); } @@ -434,7 +486,7 @@ int microdesc_cache_rebuild(microdesc_cache_t *cache, int force) { open_file_t *open_file; - int fd = -1; + int fd = -1, res; microdesc_t **mdp; smartlist_t *wrote; ssize_t size; @@ -501,8 +553,14 @@ microdesc_cache_rebuild(microdesc_cache_t *cache, int force) /* We must do this unmap _before_ we call finish_writing_to_file(), or * windows will not actually replace the file. */ - if (cache->cache_content) - tor_munmap_file(cache->cache_content); + if (cache->cache_content) { + res = tor_munmap_file(cache->cache_content); + if (res != 0) { + log_warn(LD_FS, + "Failed to unmap old microdescriptor cache while rebuilding"); + } + cache->cache_content = NULL; + } if (finish_writing_to_file(open_file) < 0) { log_warn(LD_DIR, "Error rebuilding microdescriptor cache: %s", @@ -726,7 +784,7 @@ update_microdesc_downloads(time_t now) smartlist_t *missing; digestmap_t *pending; - if (should_delay_dir_fetches(options)) + if (should_delay_dir_fetches(options, NULL)) return; if (directory_too_idle_to_fetch_descriptors(options, now)) return; diff --git a/src/or/networkstatus.c b/src/or/networkstatus.c index 6c9a6dd720..ef450073e7 100644 --- a/src/or/networkstatus.c +++ b/src/or/networkstatus.c @@ -31,6 +31,7 @@ #include "router.h" #include "routerlist.h" #include "routerparse.h" +#include "transports.h" /** Map from lowercase nickname to identity digest of named server, if any. */ static strmap_t *named_server_map = NULL; @@ -321,6 +322,17 @@ networkstatus_check_document_signature(const networkstatus_t *consensus, DIGEST_LEN)) return -1; + if (authority_cert_is_blacklisted(cert)) { + /* We implement blacklisting for authority signing keys by treating + * all their signatures as always bad. That way we don't get into + * crazy loops of dropping and re-fetching signatures. */ + log_warn(LD_DIR, "Ignoring a consensus signature made with deprecated" + " signing key %s", + hex_str(cert->signing_key_digest, DIGEST_LEN)); + sig->bad_signature = 1; + return 0; + } + signed_digest_len = crypto_pk_keysize(cert->signing_key); signed_digest = tor_malloc(signed_digest_len); if (crypto_pk_public_checksig(cert->signing_key, @@ -522,16 +534,6 @@ networkstatus_check_consensus_signature(networkstatus_t *consensus, return -2; } -/** Helper: return a newly allocated string containing the name of the filename - * where we plan to cache the network status with the given identity digest. */ -char * -networkstatus_get_cache_filename(const char *identity_digest) -{ - char fp[HEX_DIGEST_LEN+1]; - base16_encode(fp, HEX_DIGEST_LEN+1, identity_digest, DIGEST_LEN); - return get_datadir_fname2("cached-status", fp); -} - /** How far in the future do we allow a network-status to get before removing * it? (seconds) */ #define NETWORKSTATUS_ALLOW_SKEW (24*60*60) @@ -894,14 +896,45 @@ update_consensus_networkstatus_fetch_time(time_t now) /** Return 1 if there's a reason we shouldn't try any directory * fetches yet (e.g. we demand bridges and none are yet known). - * Else return 0. */ + * Else return 0. + + * If we return 1 and <b>msg_out</b> is provided, set <b>msg_out</b> + * to an explanation of why directory fetches are delayed. (If we + * return 0, we set msg_out to NULL.) + */ int -should_delay_dir_fetches(const or_options_t *options) +should_delay_dir_fetches(const or_options_t *options, const char **msg_out) { - if (options->UseBridges && !any_bridge_descriptors_known()) { - log_info(LD_DIR, "delaying dir fetches (no running bridges known)"); + if (msg_out) { + *msg_out = NULL; + } + + if (options->DisableNetwork) { + if (msg_out) { + *msg_out = "DisableNetwork is set."; + } + log_info(LD_DIR, "Delaying dir fetches (DisableNetwork is set)"); return 1; } + + if (options->UseBridges) { + if (!any_bridge_descriptors_known()) { + if (msg_out) { + *msg_out = "No running bridges"; + } + log_info(LD_DIR, "Delaying dir fetches (no running bridges known)"); + return 1; + } + + if (pt_proxies_configuration_pending()) { + if (msg_out) { + *msg_out = "Pluggable transport proxies still configuring"; + } + log_info(LD_DIR, "Delaying dir fetches (pt proxies still configuring)"); + return 1; + } + } + return 0; } @@ -911,7 +944,7 @@ void update_networkstatus_downloads(time_t now) { const or_options_t *options = get_options(); - if (should_delay_dir_fetches(options)) + if (should_delay_dir_fetches(options, NULL)) return; update_consensus_networkstatus_downloads(now); update_certificate_downloads(now); @@ -1240,7 +1273,11 @@ networkstatus_set_current_consensus(const char *consensus, /* Even if we had enough signatures, we'd never use this as the * latest consensus. */ if (was_waiting_for_certs && from_cache) - unlink(unverified_fname); + if (unlink(unverified_fname) != 0) { + log_warn(LD_FS, + "Failed to unlink %s: %s", + unverified_fname, strerror(errno)); + } } goto done; } else { @@ -1250,8 +1287,13 @@ networkstatus_set_current_consensus(const char *consensus, "consensus"); result = -2; } - if (was_waiting_for_certs && (r < -1) && from_cache) - unlink(unverified_fname); + if (was_waiting_for_certs && (r < -1) && from_cache) { + if (unlink(unverified_fname) != 0) { + log_warn(LD_FS, + "Failed to unlink %s: %s", + unverified_fname, strerror(errno)); + } + } goto done; } } @@ -1299,7 +1341,11 @@ networkstatus_set_current_consensus(const char *consensus, waiting->body = NULL; waiting->set_at = 0; waiting->dl_failed = 0; - unlink(unverified_fname); + if (unlink(unverified_fname) != 0) { + log_warn(LD_FS, + "Failed to unlink %s: %s", + unverified_fname, strerror(errno)); + } } /* Reset the failure count only if this consensus is actually valid. */ diff --git a/src/or/networkstatus.h b/src/or/networkstatus.h index fed32ea1a3..1659818f0a 100644 --- a/src/or/networkstatus.h +++ b/src/or/networkstatus.h @@ -25,7 +25,6 @@ int networkstatus_check_consensus_signature(networkstatus_t *consensus, int networkstatus_check_document_signature(const networkstatus_t *consensus, document_signature_t *sig, const authority_cert_t *cert); -char *networkstatus_get_cache_filename(const char *identity_digest); int compare_digest_to_routerstatus_entry(const void *_key, const void **_member); int compare_digest_to_vote_routerstatus_entry(const void *_key, @@ -54,7 +53,7 @@ int networkstatus_nickname_is_unnamed(const char *nickname); void networkstatus_consensus_download_failed(int status_code, const char *flavname); void update_consensus_networkstatus_fetch_time(time_t now); -int should_delay_dir_fetches(const or_options_t *options); +int should_delay_dir_fetches(const or_options_t *options,const char **msg_out); void update_networkstatus_downloads(time_t now); void update_certificate_downloads(time_t now); int consensus_is_waiting_for_certs(void); diff --git a/src/or/nodelist.c b/src/or/nodelist.c index 402fb2e96a..a38a6d4993 100644 --- a/src/or/nodelist.c +++ b/src/or/nodelist.c @@ -43,14 +43,7 @@ typedef struct nodelist_t { static INLINE unsigned int node_id_hash(const node_t *node) { -#if SIZEOF_INT == 4 - const uint32_t *p = (const uint32_t*)node->identity; - return p[0] ^ p[1] ^ p[2] ^ p[3] ^ p[4]; -#elif SIZEOF_INT == 8 - const uint64_t *p = (const uint32_t*)node->identity; - const uint32_t *p32 = (const uint32_t*)node->identity; - return p[0] ^ p[1] ^ p32[4]; -#endif + return (unsigned) siphash24g(node->identity, DIGEST_LEN); } static INLINE unsigned int @@ -92,8 +85,8 @@ node_get_mutable_by_id(const char *identity_digest) /** Return the node_t whose identity is <b>identity_digest</b>, or NULL * if no such node exists. */ -const node_t * -node_get_by_id(const char *identity_digest) +MOCK_IMPL(const node_t *, +node_get_by_id,(const char *identity_digest)) { return node_get_mutable_by_id(identity_digest); } @@ -339,6 +332,25 @@ nodelist_drop_node(node_t *node, int remove_from_ht) node->nodelist_idx = -1; } +/** Return a newly allocated smartlist of the nodes that have <b>md</b> as + * their microdescriptor. */ +smartlist_t * +nodelist_find_nodes_with_microdesc(const microdesc_t *md) +{ + smartlist_t *result = smartlist_new(); + + if (the_nodelist == NULL) + return result; + + SMARTLIST_FOREACH_BEGIN(the_nodelist->nodes, node_t *, node) { + if (node->md == md) { + smartlist_add(result, node); + } + } SMARTLIST_FOREACH_END(node); + + return result; +} + /** Release storage held by <b>node</b> */ static void node_free(node_t *node) @@ -792,7 +804,7 @@ void node_get_address_string(const node_t *node, char *buf, size_t len) { if (node->ri) { - strlcpy(buf, node->ri->address, len); + strlcpy(buf, fmt_addr32(node->ri->addr), len); } else if (node->rs) { tor_addr_t addr; tor_addr_from_ipv4h(&addr, node->rs->addr); @@ -1484,6 +1496,7 @@ update_router_have_minimum_dir_info(void) const networkstatus_t *consensus = networkstatus_get_reasonably_live_consensus(now,usable_consensus_flavor()); int using_md; + const char *delay_fetches_msg = NULL; if (!consensus) { if (!networkstatus_get_latest_consensus()) @@ -1496,10 +1509,9 @@ update_router_have_minimum_dir_info(void) goto done; } - if (should_delay_dir_fetches(get_options())) { - log_notice(LD_DIR, "no known bridge descriptors running yet; stalling"); - strlcpy(dir_info_status, "No live bridge descriptors.", - sizeof(dir_info_status)); + if (should_delay_dir_fetches(get_options(), &delay_fetches_msg)) { + log_notice(LD_DIR, "Delaying dir fetches: %s", delay_fetches_msg); + strlcpy(dir_info_status, "%s", sizeof(dir_info_status)); res = 0; goto done; } diff --git a/src/or/nodelist.h b/src/or/nodelist.h index 565caa76cd..8e719e012d 100644 --- a/src/or/nodelist.h +++ b/src/or/nodelist.h @@ -17,7 +17,7 @@ } STMT_END node_t *node_get_mutable_by_id(const char *identity_digest); -const node_t *node_get_by_id(const char *identity_digest); +MOCK_DECL(const node_t *, node_get_by_id, (const char *identity_digest)); const node_t *node_get_by_hex_id(const char *identity_digest); node_t *nodelist_set_routerinfo(routerinfo_t *ri, routerinfo_t **ri_old_out); node_t *nodelist_add_microdesc(microdesc_t *md); @@ -26,6 +26,7 @@ void nodelist_set_consensus(networkstatus_t *ns); void nodelist_remove_microdesc(const char *identity_digest, microdesc_t *md); void nodelist_remove_routerinfo(routerinfo_t *ri); void nodelist_purge(void); +smartlist_t *nodelist_find_nodes_with_microdesc(const microdesc_t *md); void nodelist_free_all(void); void nodelist_assert_ok(void); diff --git a/src/or/onion.c b/src/or/onion.c index 30b983d91e..72571b7bd9 100644 --- a/src/or/onion.c +++ b/src/or/onion.c @@ -329,12 +329,14 @@ onion_queue_entry_remove(onion_queue_t *victim) void clear_pending_onions(void) { - onion_queue_t *victim; + onion_queue_t *victim, *next; int i; for (i=0; i<=MAX_ONION_HANDSHAKE_TYPE; i++) { - while ((victim = TOR_TAILQ_FIRST(&ol_list[i]))) { + for (victim = TOR_TAILQ_FIRST(&ol_list[i]); victim; victim = next) { + next = TOR_TAILQ_NEXT(victim,next); onion_queue_entry_remove(victim); } + tor_assert(TOR_TAILQ_EMPTY(&ol_list[i])); } memset(ol_entries, 0, sizeof(ol_entries)); } diff --git a/src/or/or.h b/src/or/or.h index 63b8e9c046..6aa6b59e8e 100644 --- a/src/or/or.h +++ b/src/or/or.h @@ -196,6 +196,7 @@ typedef enum { * and let it use any circuit ID it wants. */ CIRC_ID_TYPE_NEITHER=2 } circ_id_type_t; +#define circ_id_type_bitfield_t ENUM_BF(circ_id_type_t) #define CONN_TYPE_MIN_ 3 /** Type for sockets listening for OR connections. */ @@ -400,13 +401,10 @@ typedef enum { #define CONTROL_CONN_STATE_NEEDAUTH 2 #define CONTROL_CONN_STATE_MAX_ 2 -#define DIR_PURPOSE_MIN_ 3 -/** A connection to a directory server: download a rendezvous - * descriptor. */ -#define DIR_PURPOSE_FETCH_RENDDESC 3 -/** A connection to a directory server: set after a rendezvous +#define DIR_PURPOSE_MIN_ 4 +/** A connection to a directory server: set after a v2 rendezvous * descriptor is downloaded. */ -#define DIR_PURPOSE_HAS_FETCHED_RENDDESC 4 +#define DIR_PURPOSE_HAS_FETCHED_RENDDESC_V2 4 /** A connection to a directory server: download one or more server * descriptors. */ #define DIR_PURPOSE_FETCH_SERVERDESC 6 @@ -415,9 +413,6 @@ typedef enum { #define DIR_PURPOSE_FETCH_EXTRAINFO 7 /** A connection to a directory server: upload a server descriptor. */ #define DIR_PURPOSE_UPLOAD_DIR 8 -/** A connection to a directory server: upload a rendezvous - * descriptor. */ -#define DIR_PURPOSE_UPLOAD_RENDDESC 9 /** A connection to a directory server: upload a v3 networkstatus vote. */ #define DIR_PURPOSE_UPLOAD_VOTE 10 /** A connection to a directory server: upload a v3 consensus signature */ @@ -451,7 +446,6 @@ typedef enum { * directory server. */ #define DIR_PURPOSE_IS_UPLOAD(p) \ ((p)==DIR_PURPOSE_UPLOAD_DIR || \ - (p)==DIR_PURPOSE_UPLOAD_RENDDESC || \ (p)==DIR_PURPOSE_UPLOAD_VOTE || \ (p)==DIR_PURPOSE_UPLOAD_SIGNATURES) @@ -610,7 +604,8 @@ typedef enum { #define END_OR_CONN_REASON_NO_ROUTE 6 /* no route to host/net */ #define END_OR_CONN_REASON_IO_ERROR 7 /* read/write error */ #define END_OR_CONN_REASON_RESOURCE_LIMIT 8 /* sockets, buffers, etc */ -#define END_OR_CONN_REASON_MISC 9 +#define END_OR_CONN_REASON_PT_MISSING 9 /* PT failed or not available */ +#define END_OR_CONN_REASON_MISC 10 /* Reasons why we (or a remote OR) might close a stream. See tor-spec.txt for * documentation of these. The values must match. */ @@ -1121,48 +1116,12 @@ typedef struct packed_cell_t { * bits truncated) when this cell was inserted. */ } packed_cell_t; -/* XXXX This next structure may be obsoleted by inserted_time in - * packed_cell_t */ - -/** Number of cells added to a circuit queue including their insertion - * time on 10 millisecond detail; used for buffer statistics. */ -typedef struct insertion_time_elem_t { - struct insertion_time_elem_t *next; /**< Next element in queue. */ - uint32_t insertion_time; /**< When were cells inserted (in 10 ms steps - * starting at 0:00 of the current day)? */ - unsigned counter; /**< How many cells were inserted? */ -} insertion_time_elem_t; - -/** Queue of insertion times. */ -typedef struct insertion_time_queue_t { - struct insertion_time_elem_t *first; /**< First element in queue. */ - struct insertion_time_elem_t *last; /**< Last element in queue. */ -} insertion_time_queue_t; - -/** Number of cells with the same command consecutively added to a circuit - * queue; used for cell statistics only if CELL_STATS events are enabled. */ -typedef struct insertion_command_elem_t { - struct insertion_command_elem_t *next; /**< Next element in queue. */ - /** Which command did these consecutively added cells have? */ - uint8_t command; - unsigned counter; /**< How many cells were inserted? */ -} insertion_command_elem_t; - -/** Queue of insertion commands. */ -typedef struct insertion_command_queue_t { - struct insertion_command_elem_t *first; /**< First element in queue. */ - struct insertion_command_elem_t *last; /**< Last element in queue. */ -} insertion_command_queue_t; - /** A queue of cells on a circuit, waiting to be added to the * or_connection_t's outbuf. */ typedef struct cell_queue_t { /** Linked list of packed_cell_t*/ TOR_SIMPLEQ_HEAD(cell_simpleq, packed_cell_t) head; int n; /**< The number of cells in the queue. */ - insertion_time_queue_t *insertion_times; /**< Insertion times of cells. */ - /** Commands of inserted cells. */ - insertion_command_queue_t *insertion_commands; } cell_queue_t; /** Beginning of a RELAY cell payload. */ @@ -1523,6 +1482,10 @@ typedef struct or_connection_t { unsigned int is_outgoing:1; unsigned int proxy_type:2; /**< One of PROXY_NONE...PROXY_SOCKS5 */ unsigned int wide_circ_ids:1; + /** True iff this connection has had its bootstrap failure logged with + * control_event_bootstrap_problem. */ + unsigned int have_noted_bootstrap_problem:1; + uint16_t link_proto; /**< What protocol version are we using? 0 for * "none negotiated yet." */ @@ -1726,6 +1689,7 @@ typedef enum { DIR_SPOOL_CACHED_DIR, DIR_SPOOL_NETWORKSTATUS, DIR_SPOOL_MICRODESC, /* NOTE: if we add another entry, add another bit. */ } dir_spool_source_t; +#define dir_spool_source_bitfield_t ENUM_BF(dir_spool_source_t) /** Subtype of connection_t for an "directory connection" -- that is, an HTTP * connection to retrieve or serve directory material. */ @@ -1745,7 +1709,7 @@ typedef struct dir_connection_t { * "spooling" of directory material to the outbuf. Otherwise, we'd have * to append everything to the outbuf in one enormous chunk. */ /** What exactly are we spooling right now? */ - ENUM_BF(dir_spool_source_t) dir_spool_src : 3; + dir_spool_source_bitfield_t dir_spool_src : 3; /** If we're fetching descriptors, what router purpose shall we assign * to them? */ @@ -1918,12 +1882,13 @@ typedef enum { ADDR_POLICY_ACCEPT=1, ADDR_POLICY_REJECT=2, } addr_policy_action_t; +#define addr_policy_action_bitfield_t ENUM_BF(addr_policy_action_t) /** A reference-counted address policy rule. */ typedef struct addr_policy_t { int refcnt; /**< Reference count */ /** What to do when the policy matches.*/ - ENUM_BF(addr_policy_action_t) policy_type:2; + addr_policy_action_bitfield_t policy_type:2; unsigned int is_private:1; /**< True iff this is the pseudo-address, * "private". */ unsigned int is_canonical:1; /**< True iff this policy is the canonical @@ -1975,6 +1940,7 @@ typedef enum { */ SAVED_IN_JOURNAL } saved_location_t; +#define saved_location_bitfield_t ENUM_BF(saved_location_t) /** Enumeration: what kind of download schedule are we using for a given * object? */ @@ -1983,6 +1949,7 @@ typedef enum { DL_SCHED_CONSENSUS = 1, DL_SCHED_BRIDGE = 2, } download_schedule_t; +#define download_schedule_bitfield_t ENUM_BF(download_schedule_t) /** Information about our plans for retrying downloads for a downloadable * object. */ @@ -1991,7 +1958,7 @@ typedef struct download_status_t { * again? */ uint8_t n_download_failures; /**< Number of failures trying to download the * most recent descriptor. */ - ENUM_BF(download_schedule_t) schedule : 8; + download_schedule_bitfield_t schedule : 8; } download_status_t; /** If n_download_failures is this high, the download can never happen. */ @@ -2052,7 +2019,6 @@ typedef int16_t country_t; /** Information about another onion router in the network. */ typedef struct { signed_descriptor_t cache_info; - char *address; /**< Location of OR: either a hostname or an IP address. */ char *nickname; /**< Human-readable OR name. */ uint32_t addr; /**< IPv4 address of OR, in host order. */ @@ -2247,7 +2213,7 @@ typedef struct microdesc_t { */ time_t last_listed; /** Where is this microdescriptor currently stored? */ - ENUM_BF(saved_location_t) saved_location : 3; + saved_location_bitfield_t saved_location : 3; /** If true, do not attempt to cache this microdescriptor on disk. */ unsigned int no_save : 1; /** If true, this microdesc has an entry in the microdesc_map */ @@ -2457,8 +2423,8 @@ typedef enum { /** A common structure to hold a v3 network status vote, or a v3 network * status consensus. */ typedef struct networkstatus_t { - ENUM_BF(networkstatus_type_t) type : 8; /**< Vote, consensus, or opinion? */ - ENUM_BF(consensus_flavor_t) flavor : 8; /**< If a consensus, what kind? */ + networkstatus_type_t type; /**< Vote, consensus, or opinion? */ + consensus_flavor_t flavor; /**< If a consensus, what kind? */ unsigned int has_measured_bws : 1;/**< True iff this networkstatus contains * measured= bandwidth values. */ @@ -2630,13 +2596,8 @@ typedef struct authority_cert_t { */ typedef enum { NO_DIRINFO = 0, - /** Serves/signs v1 directory information: Big lists of routers, and short - * routerstatus documents. */ - V1_DIRINFO = 1 << 0, /** Serves/signs v3 directory information: votes, consensuses, certs */ V3_DIRINFO = 1 << 2, - /** Serves hidden service descriptors. */ - HIDSERV_DIRINFO = 1 << 3, /** Serves bridge descriptors. */ BRIDGE_DIRINFO = 1 << 4, /** Serves extrainfo documents. */ @@ -2861,6 +2822,9 @@ typedef struct circuit_t { * more. */ int deliver_window; + /** Temporary field used during circuits_handle_oom. */ + uint32_t age_tmp; + /** For storage while n_chan is pending (state CIRCUIT_STATE_CHAN_WAIT). */ struct create_cell_t *n_chan_create_cell; @@ -2979,6 +2943,7 @@ typedef enum { */ PATH_STATE_ALREADY_COUNTED = 6, } path_state_t; +#define path_state_bitfield_t ENUM_BF(path_state_t) /** An origin_circuit_t holds data necessary to build and use a circuit. */ @@ -3029,7 +2994,7 @@ typedef struct origin_circuit_t { * circuit building and usage accounting. See path_state_t * for more details. */ - ENUM_BF(path_state_t) path_state : 3; + path_state_bitfield_t path_state : 3; /* If this flag is set, we should not consider attaching any more * connections to this circuit. */ @@ -3213,20 +3178,8 @@ typedef struct or_circuit_t { * is not marked for close. */ struct or_circuit_t *rend_splice; -#if REND_COOKIE_LEN >= DIGEST_LEN -#define REND_TOKEN_LEN REND_COOKIE_LEN -#else -#define REND_TOKEN_LEN DIGEST_LEN -#endif + struct or_circuit_rendinfo_s *rendinfo; - /** A hash of location-hidden service's PK if purpose is INTRO_POINT, or a - * rendezvous cookie if purpose is REND_POINT_WAITING. Filled with zeroes - * otherwise. - * ???? move to a subtype or adjunct structure? Wastes 20 bytes. -NM - */ - char rend_token[REND_TOKEN_LEN]; - - /* ???? move to a subtype or adjunct structure? Wastes 20 bytes -NM */ /** Stores KH for the handshake. */ char rend_circ_nonce[DIGEST_LEN];/* KH in tor-spec.txt */ @@ -3253,26 +3206,58 @@ typedef struct or_circuit_t { uint32_t max_middle_cells; } or_circuit_t; +typedef struct or_circuit_rendinfo_s { + +#if REND_COOKIE_LEN != DIGEST_LEN +#error "The REND_TOKEN_LEN macro assumes REND_COOKIE_LEN == DIGEST_LEN" +#endif +#define REND_TOKEN_LEN DIGEST_LEN + + /** A hash of location-hidden service's PK if purpose is INTRO_POINT, or a + * rendezvous cookie if purpose is REND_POINT_WAITING. Filled with zeroes + * otherwise. + */ + char rend_token[REND_TOKEN_LEN]; + + /** True if this is a rendezvous point circuit; false if this is an + * introduction point. */ + unsigned is_rend_circ; + +} or_circuit_rendinfo_t; + /** Convert a circuit subtype to a circuit_t. */ #define TO_CIRCUIT(x) (&((x)->base_)) /** Convert a circuit_t* to a pointer to the enclosing or_circuit_t. Assert * if the cast is impossible. */ static or_circuit_t *TO_OR_CIRCUIT(circuit_t *); +static const or_circuit_t *CONST_TO_OR_CIRCUIT(const circuit_t *); /** Convert a circuit_t* to a pointer to the enclosing origin_circuit_t. * Assert if the cast is impossible. */ static origin_circuit_t *TO_ORIGIN_CIRCUIT(circuit_t *); +static const origin_circuit_t *CONST_TO_ORIGIN_CIRCUIT(const circuit_t *); static INLINE or_circuit_t *TO_OR_CIRCUIT(circuit_t *x) { tor_assert(x->magic == OR_CIRCUIT_MAGIC); return DOWNCAST(or_circuit_t, x); } +static INLINE const or_circuit_t *CONST_TO_OR_CIRCUIT(const circuit_t *x) +{ + tor_assert(x->magic == OR_CIRCUIT_MAGIC); + return DOWNCAST(or_circuit_t, x); +} static INLINE origin_circuit_t *TO_ORIGIN_CIRCUIT(circuit_t *x) { tor_assert(x->magic == ORIGIN_CIRCUIT_MAGIC); return DOWNCAST(origin_circuit_t, x); } +static INLINE const origin_circuit_t *CONST_TO_ORIGIN_CIRCUIT( + const circuit_t *x) +{ + tor_assert(x->magic == ORIGIN_CIRCUIT_MAGIC); + return DOWNCAST(origin_circuit_t, x); +} /** Bitfield type: things that we're willing to use invalid routers for. */ typedef enum invalid_router_usage_t { @@ -3501,7 +3486,12 @@ typedef struct { const char *TransProxyType; /**< What kind of transparent proxy * implementation are we using? */ /** Parsed value of TransProxyType. */ - enum { TPT_DEFAULT, TPT_TPROXY } TransProxyType_parsed; + enum { + TPT_DEFAULT, + TPT_PF_DIVERT, + TPT_IPFW, + TPT_TPROXY, + } TransProxyType_parsed; config_line_t *NATDPort_lines; /**< Ports to listen on for transparent natd * connections. */ config_line_t *ControlPort_lines; /**< Ports to listen on for control @@ -3514,9 +3504,11 @@ typedef struct { config_line_t *DirPort_lines; config_line_t *DNSPort_lines; /**< Ports to listen on for DNS requests. */ - uint64_t MaxMemInCellQueues; /**< If we have more memory than this allocated - * for circuit cell queues, run the OOM handler - */ + /* MaxMemInQueues value as input by the user. We clean this up to be + * MaxMemInQueues. */ + uint64_t MaxMemInQueues_raw; + uint64_t MaxMemInQueues;/**< If we have more memory than this allocated + * for queues and buffers, run the OOM handler */ /** @name port booleans * @@ -3538,12 +3530,8 @@ typedef struct { int AssumeReachable; /**< Whether to publish our descriptor regardless. */ int AuthoritativeDir; /**< Boolean: is this an authoritative directory? */ - int V1AuthoritativeDir; /**< Boolean: is this an authoritative directory - * for version 1 directories? */ int V3AuthoritativeDir; /**< Boolean: is this an authoritative directory * for version 3 directories? */ - int HSAuthoritativeDir; /**< Boolean: does this an authoritative directory - * handle hidden service requests? */ int NamingAuthoritativeDir; /**< Boolean: is this an authoritative directory * that's willing to bind names? */ int VersioningAuthoritativeDir; /**< Boolean: is this an authoritative @@ -3684,6 +3672,10 @@ typedef struct { * a new one? */ int MaxCircuitDirtiness; /**< Never use circs that were first used more than this interval ago. */ + int PredictedPortsRelevanceTime; /** How long after we've requested a + * connection for a given port, do we want + * to continue to pick exits that support + * that port? */ uint64_t BandwidthRate; /**< How much bandwidth, on average, are we willing * to use in a second? */ uint64_t BandwidthBurst; /**< How much bandwidth, at maximum, are we willing @@ -3747,9 +3739,6 @@ typedef struct { /** If set, use these bridge authorities and not the default one. */ config_line_t *AlternateBridgeAuthority; - /** If set, use these HS authorities and not the default ones. */ - config_line_t *AlternateHSAuthority; - char *MyFamily; /**< Declared family for this OR. */ config_line_t *NodeFamilies; /**< List of config lines for * node families */ @@ -4524,6 +4513,7 @@ typedef enum { * did this remapping happen." */ ADDRMAPSRC_NONE } addressmap_entry_source_t; +#define addressmap_entry_source_bitfield_t ENUM_BF(addressmap_entry_source_t) /********************************* control.c ***************************/ @@ -4882,9 +4872,9 @@ typedef struct rend_service_descriptor_t { crypto_pk_t *pk; /**< This service's public key. */ int version; /**< Version of the descriptor format: 0 or 2. */ time_t timestamp; /**< Time when the descriptor was generated. */ - /** Bitmask: which rendezvous protocols are supported? - * (We allow bits '0', '1', and '2' to be set.) */ - int protocols : REND_PROTOCOL_VERSION_BITMASK_WIDTH; + /** Bitmask: which introduce/rendezvous protocols are supported? + * (We allow bits '0', '1', '2' and '3' to be set.) */ + unsigned protocols : REND_PROTOCOL_VERSION_BITMASK_WIDTH; /** List of the service's introduction points. Elements are removed if * introduction attempts fail. */ smartlist_t *intro_nodes; diff --git a/src/or/policies.c b/src/or/policies.c index be4da55061..8a91509a77 100644 --- a/src/or/policies.c +++ b/src/or/policies.c @@ -13,6 +13,7 @@ #include "dirserv.h" #include "nodelist.h" #include "policies.h" +#include "router.h" #include "routerparse.h" #include "geoip.h" #include "ht.h" @@ -438,7 +439,7 @@ validate_addr_policies(const or_options_t *options, char **msg) if (policies_parse_exit_policy(options->ExitPolicy, &addr_policy, options->IPv6Exit, - options->ExitPolicyRejectPrivate, NULL, + options->ExitPolicyRejectPrivate, 0, !options->BridgeRelay)) REJECT("Error in ExitPolicy entry."); @@ -482,10 +483,12 @@ validate_addr_policies(const or_options_t *options, char **msg) * Ignore port specifiers. */ static int -load_policy_from_option(config_line_t *config, smartlist_t **policy, +load_policy_from_option(config_line_t *config, const char *option_name, + smartlist_t **policy, int assume_action) { int r; + int killed_any_ports = 0; addr_policy_list_free(*policy); *policy = NULL; r = parse_addr_policy(config, policy, assume_action); @@ -504,9 +507,13 @@ load_policy_from_option(config_line_t *config, smartlist_t **policy, c = addr_policy_get_canonical_entry(&newp); SMARTLIST_REPLACE_CURRENT(*policy, n, c); addr_policy_free(n); + killed_any_ports = 1; } } SMARTLIST_FOREACH_END(n); } + if (killed_any_ports) { + log_warn(LD_CONFIG, "Ignoring ports in %s option.", option_name); + } return 0; } @@ -516,20 +523,22 @@ int policies_parse_from_options(const or_options_t *options) { int ret = 0; - if (load_policy_from_option(options->SocksPolicy, &socks_policy, -1) < 0) + if (load_policy_from_option(options->SocksPolicy, "SocksPolicy", + &socks_policy, -1) < 0) ret = -1; - if (load_policy_from_option(options->DirPolicy, &dir_policy, -1) < 0) + if (load_policy_from_option(options->DirPolicy, "DirPolicy", + &dir_policy, -1) < 0) ret = -1; - if (load_policy_from_option(options->AuthDirReject, + if (load_policy_from_option(options->AuthDirReject, "AuthDirReject", &authdir_reject_policy, ADDR_POLICY_REJECT) < 0) ret = -1; - if (load_policy_from_option(options->AuthDirInvalid, + if (load_policy_from_option(options->AuthDirInvalid, "AuthDirInvalid", &authdir_invalid_policy, ADDR_POLICY_REJECT) < 0) ret = -1; - if (load_policy_from_option(options->AuthDirBadDir, + if (load_policy_from_option(options->AuthDirBadDir, "AuthDirBadDir", &authdir_baddir_policy, ADDR_POLICY_REJECT) < 0) ret = -1; - if (load_policy_from_option(options->AuthDirBadExit, + if (load_policy_from_option(options->AuthDirBadExit, "AuthDirBadExit", &authdir_badexit_policy, ADDR_POLICY_REJECT) < 0) ret = -1; if (parse_reachable_addresses() < 0) @@ -597,21 +606,25 @@ policy_eq(policy_map_ent_t *a, policy_map_ent_t *b) /** Return a hashcode for <b>ent</b> */ static unsigned int -policy_hash(policy_map_ent_t *ent) +policy_hash(const policy_map_ent_t *ent) { - addr_policy_t *a = ent->policy; - unsigned int r; - if (a->is_private) - r = 0x1234abcd; - else - r = tor_addr_hash(&a->addr); - r += a->prt_min << 8; - r += a->prt_max << 16; - r += a->maskbits; - if (a->policy_type == ADDR_POLICY_REJECT) - r ^= 0xffffffff; + const addr_policy_t *a = ent->policy; + addr_policy_t aa; + memset(&aa, 0, sizeof(aa)); + + aa.prt_min = a->prt_min; + aa.prt_max = a->prt_max; + aa.maskbits = a->maskbits; + aa.policy_type = a->policy_type; + aa.is_private = a->is_private; + + if (a->is_private) { + aa.is_private = 1; + } else { + tor_addr_copy_tight(&aa.addr, &a->addr); + } - return r; + return (unsigned) siphash24g(&aa, sizeof(aa)); } HT_PROTOTYPE(policy_map, policy_map_ent_t, node, policy_hash, @@ -958,7 +971,7 @@ exit_policy_remove_redundancies(smartlist_t *dest) int policies_parse_exit_policy(config_line_t *cfg, smartlist_t **dest, int ipv6_exit, - int rejectprivate, const char *local_address, + int rejectprivate, uint32_t local_address, int add_default_policy) { if (!ipv6_exit) { @@ -968,7 +981,7 @@ policies_parse_exit_policy(config_line_t *cfg, smartlist_t **dest, append_exit_policy_string(dest, "reject private:*"); if (local_address) { char buf[POLICY_BUF_LEN]; - tor_snprintf(buf, sizeof(buf), "reject %s:*", local_address); + tor_snprintf(buf, sizeof(buf), "reject %s:*", fmt_addr32(local_address)); append_exit_policy_string(dest, buf); } } @@ -1680,6 +1693,28 @@ getinfo_helper_policies(control_connection_t *conn, (void) errmsg; if (!strcmp(question, "exit-policy/default")) { *answer = tor_strdup(DEFAULT_EXIT_POLICY); + } else if (!strcmpstart(question, "exit-policy/")) { + const routerinfo_t *me = router_get_my_routerinfo(); + + int include_ipv4 = 0; + int include_ipv6 = 0; + + if (!strcmp(question, "exit-policy/ipv4")) { + include_ipv4 = 1; + } else if (!strcmp(question, "exit-policy/ipv6")) { + include_ipv6 = 1; + } else if (!strcmp(question, "exit-policy/full")) { + include_ipv4 = include_ipv6 = 1; + } else { + return 0; /* No such key. */ + } + + if (!me) { + *errmsg = "router_get_my_routerinfo returned NULL"; + return -1; + } + + *answer = router_dump_exit_policy_to_string(me,include_ipv4,include_ipv6); } return 0; } diff --git a/src/or/policies.h b/src/or/policies.h index facbbb6b5a..91ac427492 100644 --- a/src/or/policies.h +++ b/src/or/policies.h @@ -45,7 +45,7 @@ addr_policy_result_t compare_tor_addr_to_node_policy(const tor_addr_t *addr, int policies_parse_exit_policy(config_line_t *cfg, smartlist_t **dest, int ipv6exit, - int rejectprivate, const char *local_address, + int rejectprivate, uint32_t local_address, int add_default_policy); void policies_exit_policy_append_reject_star(smartlist_t **dest); void addr_policy_append_reject_addr(smartlist_t **dest, diff --git a/src/or/reasons.c b/src/or/reasons.c index 637f8cdc7d..750e89bbe7 100644 --- a/src/or/reasons.c +++ b/src/or/reasons.c @@ -174,11 +174,12 @@ errno_to_stream_end_reason(int e) S_CASE(ENOTSOCK): S_CASE(EPROTONOSUPPORT): S_CASE(EAFNOSUPPORT): - E_CASE(EACCES): S_CASE(ENOTCONN): - S_CASE(ENETUNREACH): return END_STREAM_REASON_INTERNAL; + S_CASE(ENETUNREACH): S_CASE(EHOSTUNREACH): + E_CASE(EACCES): + case EPERM: return END_STREAM_REASON_NOROUTE; S_CASE(ECONNREFUSED): return END_STREAM_REASON_CONNECTREFUSED; @@ -230,6 +231,8 @@ orconn_end_reason_to_control_string(int r) return "RESOURCELIMIT"; case END_OR_CONN_REASON_MISC: return "MISC"; + case END_OR_CONN_REASON_PT_MISSING: + return "PT_MISSING"; case 0: return ""; default: diff --git a/src/or/relay.c b/src/or/relay.c index b5e4ff7cc4..f8b0deedb9 100644 --- a/src/or/relay.c +++ b/src/or/relay.c @@ -735,13 +735,15 @@ connection_ap_process_end_not_open( if (rh->length > 0) { if (reason == END_STREAM_REASON_TORPROTOCOL || - reason == END_STREAM_REASON_INTERNAL || reason == END_STREAM_REASON_DESTROY) { - /* All three of these reasons could mean a failed tag + /* Both of these reasons could mean a failed tag * hit the exit and it complained. Do not probe. * Fail the circuit. */ circ->path_state = PATH_STATE_USE_FAILED; return -END_CIRC_REASON_TORPROTOCOL; + } else if (reason == END_STREAM_REASON_INTERNAL) { + /* We can't infer success or failure, since older Tors report + * ENETUNREACH as END_STREAM_REASON_INTERNAL. */ } else { /* Path bias: If we get a valid reason code from the exit, * it wasn't due to tagging. @@ -1007,6 +1009,254 @@ connected_cell_parse(const relay_header_t *rh, const cell_t *cell, return 0; } +/** Drop all storage held by <b>addr</b>. */ +STATIC void +address_ttl_free(address_ttl_t *addr) +{ + if (!addr) + return; + tor_free(addr->hostname); + tor_free(addr); +} + +/** Parse a resolved cell in <b>cell</b>, with parsed header in <b>rh</b>. + * Return -1 on parse error. On success, add one or more newly allocated + * address_ttl_t to <b>addresses_out</b>; set *<b>errcode_out</b> to + * one of 0, RESOLVED_TYPE_ERROR, or RESOLVED_TYPE_ERROR_TRANSIENT, and + * return 0. */ +STATIC int +resolved_cell_parse(const cell_t *cell, const relay_header_t *rh, + smartlist_t *addresses_out, int *errcode_out) +{ + const uint8_t *cp; + uint8_t answer_type; + size_t answer_len; + address_ttl_t *addr; + size_t remaining; + int errcode = 0; + smartlist_t *addrs; + + tor_assert(cell); + tor_assert(rh); + tor_assert(addresses_out); + tor_assert(errcode_out); + + *errcode_out = 0; + + if (rh->length > RELAY_PAYLOAD_SIZE) + return -1; + + addrs = smartlist_new(); + + cp = cell->payload + RELAY_HEADER_SIZE; + + remaining = rh->length; + while (remaining) { + const uint8_t *cp_orig = cp; + if (remaining < 2) + goto err; + answer_type = *cp++; + answer_len = *cp++; + if (remaining < 2 + answer_len + 4) { + goto err; + } + if (answer_type == RESOLVED_TYPE_IPV4) { + if (answer_len != 4) { + goto err; + } + addr = tor_malloc_zero(sizeof(*addr)); + tor_addr_from_ipv4n(&addr->addr, get_uint32(cp)); + cp += 4; + addr->ttl = ntohl(get_uint32(cp)); + cp += 4; + smartlist_add(addrs, addr); + } else if (answer_type == RESOLVED_TYPE_IPV6) { + if (answer_len != 16) + goto err; + addr = tor_malloc_zero(sizeof(*addr)); + tor_addr_from_ipv6_bytes(&addr->addr, (const char*) cp); + cp += 16; + addr->ttl = ntohl(get_uint32(cp)); + cp += 4; + smartlist_add(addrs, addr); + } else if (answer_type == RESOLVED_TYPE_HOSTNAME) { + if (answer_len == 0) { + goto err; + } + addr = tor_malloc_zero(sizeof(*addr)); + addr->hostname = tor_memdup_nulterm(cp, answer_len); + cp += answer_len; + addr->ttl = ntohl(get_uint32(cp)); + cp += 4; + smartlist_add(addrs, addr); + } else if (answer_type == RESOLVED_TYPE_ERROR_TRANSIENT || + answer_type == RESOLVED_TYPE_ERROR) { + errcode = answer_type; + /* Ignore the error contents */ + cp += answer_len + 4; + } else { + cp += answer_len + 4; + } + tor_assert(((ssize_t)remaining) >= (cp - cp_orig)); + remaining -= (cp - cp_orig); + } + + if (errcode && smartlist_len(addrs) == 0) { + /* Report an error only if there were no results. */ + *errcode_out = errcode; + } + + smartlist_add_all(addresses_out, addrs); + smartlist_free(addrs); + + return 0; + + err: + /* On parse error, don't report any results */ + SMARTLIST_FOREACH(addrs, address_ttl_t *, a, address_ttl_free(a)); + smartlist_free(addrs); + return -1; +} + +/** Helper for connection_edge_process_resolved_cell: given an error code, + * an entry_connection, and a list of address_ttl_t *, report the best answer + * to the entry_connection. */ +static void +connection_ap_handshake_socks_got_resolved_cell(entry_connection_t *conn, + int error_code, + smartlist_t *results) +{ + address_ttl_t *addr_ipv4 = NULL; + address_ttl_t *addr_ipv6 = NULL; + address_ttl_t *addr_hostname = NULL; + address_ttl_t *addr_best = NULL; + + /* If it's an error code, that's easy. */ + if (error_code) { + tor_assert(error_code == RESOLVED_TYPE_ERROR || + error_code == RESOLVED_TYPE_ERROR_TRANSIENT); + connection_ap_handshake_socks_resolved(conn, + error_code,0,NULL,-1,-1); + return; + } + + /* Get the first answer of each type. */ + SMARTLIST_FOREACH_BEGIN(results, address_ttl_t *, addr) { + if (addr->hostname) { + if (!addr_hostname) { + addr_hostname = addr; + } + } else if (tor_addr_family(&addr->addr) == AF_INET) { + if (!addr_ipv4 && conn->ipv4_traffic_ok) { + addr_ipv4 = addr; + } + } else if (tor_addr_family(&addr->addr) == AF_INET6) { + if (!addr_ipv6 && conn->ipv6_traffic_ok) { + addr_ipv6 = addr; + } + } + } SMARTLIST_FOREACH_END(addr); + + /* Now figure out which type we wanted to deliver. */ + if (conn->socks_request->command == SOCKS_COMMAND_RESOLVE_PTR) { + if (addr_hostname) { + connection_ap_handshake_socks_resolved(conn, + RESOLVED_TYPE_HOSTNAME, + strlen(addr_hostname->hostname), + (uint8_t*)addr_hostname->hostname, + addr_hostname->ttl,-1); + } else { + connection_ap_handshake_socks_resolved(conn, + RESOLVED_TYPE_ERROR,0,NULL,-1,-1); + } + return; + } + + if (conn->prefer_ipv6_traffic) { + addr_best = addr_ipv6 ? addr_ipv6 : addr_ipv4; + } else { + addr_best = addr_ipv4 ? addr_ipv4 : addr_ipv6; + } + + /* Now convert it to the ugly old interface */ + if (! addr_best) { + connection_ap_handshake_socks_resolved(conn, + RESOLVED_TYPE_ERROR,0,NULL,-1,-1); + return; + } + + connection_ap_handshake_socks_resolved_addr(conn, + &addr_best->addr, + addr_best->ttl, + -1); + + remap_event_helper(conn, &addr_best->addr); +} + +/** Handle a RELAY_COMMAND_RESOLVED cell that we received on a non-open AP + * stream. */ +STATIC int +connection_edge_process_resolved_cell(edge_connection_t *conn, + const cell_t *cell, + const relay_header_t *rh) +{ + entry_connection_t *entry_conn = EDGE_TO_ENTRY_CONN(conn); + smartlist_t *resolved_addresses = NULL; + int errcode = 0; + + if (conn->base_.state != AP_CONN_STATE_RESOLVE_WAIT) { + log_fn(LOG_PROTOCOL_WARN, LD_APP, "Got a 'resolved' cell while " + "not in state resolve_wait. Dropping."); + return 0; + } + tor_assert(SOCKS_COMMAND_IS_RESOLVE(entry_conn->socks_request->command)); + + resolved_addresses = smartlist_new(); + if (resolved_cell_parse(cell, rh, resolved_addresses, &errcode)) { + log_fn(LOG_PROTOCOL_WARN, LD_PROTOCOL, + "Dropping malformed 'resolved' cell"); + connection_mark_unattached_ap(entry_conn, END_STREAM_REASON_TORPROTOCOL); + goto done; + } + + if (get_options()->ClientDNSRejectInternalAddresses) { + int orig_len = smartlist_len(resolved_addresses); + SMARTLIST_FOREACH_BEGIN(resolved_addresses, address_ttl_t *, addr) { + if (addr->hostname == NULL && tor_addr_is_internal(&addr->addr, 0)) { + log_info(LD_APP, "Got a resolved cell with answer %s; dropping that " + "answer.", + safe_str_client(fmt_addr(&addr->addr))); + address_ttl_free(addr); + SMARTLIST_DEL_CURRENT(resolved_addresses, addr); + } + } SMARTLIST_FOREACH_END(addr); + if (orig_len && smartlist_len(resolved_addresses) == 0) { + log_info(LD_APP, "Got a resolved cell with only private addresses; " + "dropping it."); + connection_ap_handshake_socks_resolved(entry_conn, + RESOLVED_TYPE_ERROR_TRANSIENT, + 0, NULL, 0, TIME_MAX); + connection_mark_unattached_ap(entry_conn, + END_STREAM_REASON_TORPROTOCOL); + goto done; + } + } + + connection_ap_handshake_socks_got_resolved_cell(entry_conn, + errcode, + resolved_addresses); + + connection_mark_unattached_ap(entry_conn, + END_STREAM_REASON_DONE | + END_STREAM_REASON_FLAG_ALREADY_SOCKS_REPLIED); + + done: + SMARTLIST_FOREACH(resolved_addresses, address_ttl_t *, addr, + address_ttl_free(addr)); + smartlist_free(resolved_addresses); + return 0; +} + /** An incoming relay cell has arrived from circuit <b>circ</b> to * stream <b>conn</b>. * @@ -1131,67 +1381,7 @@ connection_edge_process_relay_cell_not_open( } if (conn->base_.type == CONN_TYPE_AP && rh->command == RELAY_COMMAND_RESOLVED) { - int ttl; - int answer_len; - uint8_t answer_type; - entry_connection_t *entry_conn = EDGE_TO_ENTRY_CONN(conn); - if (conn->base_.state != AP_CONN_STATE_RESOLVE_WAIT) { - log_fn(LOG_PROTOCOL_WARN, LD_APP, "Got a 'resolved' cell while " - "not in state resolve_wait. Dropping."); - return 0; - } - tor_assert(SOCKS_COMMAND_IS_RESOLVE(entry_conn->socks_request->command)); - answer_len = cell->payload[RELAY_HEADER_SIZE+1]; - if (rh->length < 2 || answer_len+2>rh->length) { - log_fn(LOG_PROTOCOL_WARN, LD_PROTOCOL, - "Dropping malformed 'resolved' cell"); - connection_mark_unattached_ap(entry_conn, END_STREAM_REASON_TORPROTOCOL); - return 0; - } - answer_type = cell->payload[RELAY_HEADER_SIZE]; - if (rh->length >= answer_len+6) - ttl = (int)ntohl(get_uint32(cell->payload+RELAY_HEADER_SIZE+ - 2+answer_len)); - else - ttl = -1; - if (answer_type == RESOLVED_TYPE_IPV4 || - answer_type == RESOLVED_TYPE_IPV6) { - tor_addr_t addr; - if (decode_address_from_payload(&addr, cell->payload+RELAY_HEADER_SIZE, - rh->length) && - tor_addr_is_internal(&addr, 0) && - get_options()->ClientDNSRejectInternalAddresses) { - log_info(LD_APP,"Got a resolve with answer %s. Rejecting.", - fmt_addr(&addr)); - connection_ap_handshake_socks_resolved(entry_conn, - RESOLVED_TYPE_ERROR_TRANSIENT, - 0, NULL, 0, TIME_MAX); - connection_mark_unattached_ap(entry_conn, - END_STREAM_REASON_TORPROTOCOL); - return 0; - } - } - connection_ap_handshake_socks_resolved(entry_conn, - answer_type, - cell->payload[RELAY_HEADER_SIZE+1], /*answer_len*/ - cell->payload+RELAY_HEADER_SIZE+2, /*answer*/ - ttl, - -1); - if (answer_type == RESOLVED_TYPE_IPV4 && answer_len == 4) { - tor_addr_t addr; - tor_addr_from_ipv4n(&addr, - get_uint32(cell->payload+RELAY_HEADER_SIZE+2)); - remap_event_helper(entry_conn, &addr); - } else if (answer_type == RESOLVED_TYPE_IPV6 && answer_len == 16) { - tor_addr_t addr; - tor_addr_from_ipv6_bytes(&addr, - (char*)(cell->payload+RELAY_HEADER_SIZE+2)); - remap_event_helper(entry_conn, &addr); - } - connection_mark_unattached_ap(entry_conn, - END_STREAM_REASON_DONE | - END_STREAM_REASON_FLAG_ALREADY_SOCKS_REPLIED); - return 0; + return connection_edge_process_resolved_cell(conn, cell, rh); } log_fn(LOG_PROTOCOL_WARN, LD_PROTOCOL, @@ -2047,14 +2237,6 @@ static size_t total_cells_allocated = 0; /** A memory pool to allocate packed_cell_t objects. */ static mp_pool_t *cell_pool = NULL; -/** Memory pool to allocate insertion_time_elem_t objects used for cell - * statistics. */ -static mp_pool_t *it_pool = NULL; - -/** Memory pool to allocate insertion_command_elem_t objects used for cell - * statistics if CELL_STATS events are enabled. */ -static mp_pool_t *ic_pool = NULL; - /** Allocate structures to hold cells. */ void init_cell_pool(void) @@ -2073,14 +2255,6 @@ free_cell_pool(void) mp_pool_destroy(cell_pool); cell_pool = NULL; } - if (it_pool) { - mp_pool_destroy(it_pool); - it_pool = NULL; - } - if (ic_pool) { - mp_pool_destroy(ic_pool); - ic_pool = NULL; - } } /** Free excess storage in cell pool. */ @@ -2153,57 +2327,6 @@ cell_queue_append(cell_queue_t *queue, packed_cell_t *cell) ++queue->n; } -/** Append command of type <b>command</b> in direction to <b>queue</b> for - * CELL_STATS event. */ -static void -cell_command_queue_append(cell_queue_t *queue, uint8_t command) -{ - insertion_command_queue_t *ic_queue = queue->insertion_commands; - if (!ic_pool) - ic_pool = mp_pool_new(sizeof(insertion_command_elem_t), 1024); - if (!ic_queue) { - ic_queue = tor_malloc_zero(sizeof(insertion_command_queue_t)); - queue->insertion_commands = ic_queue; - } - if (ic_queue->last && ic_queue->last->command == command) { - ic_queue->last->counter++; - } else { - insertion_command_elem_t *elem = mp_pool_get(ic_pool); - elem->next = NULL; - elem->command = command; - elem->counter = 1; - if (ic_queue->last) { - ic_queue->last->next = elem; - ic_queue->last = elem; - } else { - ic_queue->first = ic_queue->last = elem; - } - } -} - -/** Retrieve oldest command from <b>queue</b> and write it to - * <b>command</b> for CELL_STATS event. Return 0 for success, -1 - * otherwise. */ -static int -cell_command_queue_pop(uint8_t *command, cell_queue_t *queue) -{ - int res = -1; - insertion_command_queue_t *ic_queue = queue->insertion_commands; - if (ic_queue && ic_queue->first) { - insertion_command_elem_t *ic_elem = ic_queue->first; - ic_elem->counter--; - if (ic_elem->counter < 1) { - ic_queue->first = ic_elem->next; - if (ic_elem == ic_queue->last) - ic_queue->last = NULL; - mp_pool_release(ic_elem); - } - *command = ic_elem->command; - res = 0; - } - return res; -} - /** Append a newly allocated copy of <b>cell</b> to the end of the * <b>exitward</b> (or app-ward) <b>queue</b> of <b>circ</b>. If * <b>use_stats</b> is true, record statistics about the cell. @@ -2215,52 +2338,13 @@ cell_queue_append_packed_copy(circuit_t *circ, cell_queue_t *queue, { struct timeval now; packed_cell_t *copy = packed_cell_copy(cell, wide_circ_ids); - tor_gettimeofday_cached(&now); + (void)circ; + (void)exitward; + (void)use_stats; + tor_gettimeofday_cached_monotonic(&now); + copy->inserted_time = (uint32_t)tv_to_msec(&now); - /* Remember the time when this cell was put in the queue. */ - /*XXXX This may be obsoleted by inserted_time */ - if ((get_options()->CellStatistics || - get_options()->TestingEnableCellStatsEvent) && use_stats) { - uint32_t added; - insertion_time_queue_t *it_queue = queue->insertion_times; - if (!it_pool) - it_pool = mp_pool_new(sizeof(insertion_time_elem_t), 1024); - -#define SECONDS_IN_A_DAY 86400L - added = (uint32_t)(((now.tv_sec % SECONDS_IN_A_DAY) * 100L) - + ((uint32_t)now.tv_usec / (uint32_t)10000L)); - if (!it_queue) { - it_queue = tor_malloc_zero(sizeof(insertion_time_queue_t)); - queue->insertion_times = it_queue; - } - if (it_queue->last && it_queue->last->insertion_time == added) { - it_queue->last->counter++; - } else { - insertion_time_elem_t *elem = mp_pool_get(it_pool); - elem->next = NULL; - elem->insertion_time = added; - elem->counter = 1; - if (it_queue->last) { - it_queue->last->next = elem; - it_queue->last = elem; - } else { - it_queue->first = it_queue->last = elem; - } - } - } - /* Remember that we added a cell to the queue, and remember the cell - * command. */ - if (get_options()->TestingEnableCellStatsEvent && circ) { - testing_cell_stats_entry_t *ent = - tor_malloc_zero(sizeof(testing_cell_stats_entry_t)); - ent->command = cell->command; - ent->exitward = exitward; - if (!circ->testing_cell_stats) - circ->testing_cell_stats = smartlist_new(); - smartlist_add(circ->testing_cell_stats, ent); - cell_command_queue_append(queue, cell->command); - } cell_queue_append(queue, copy); } @@ -2283,14 +2367,6 @@ cell_queue_clear(cell_queue_t *queue) } TOR_SIMPLEQ_INIT(&queue->head); queue->n = 0; - if (queue->insertion_times) { - while (queue->insertion_times->first) { - insertion_time_elem_t *elem = queue->insertion_times->first; - queue->insertion_times->first = elem->next; - mp_pool_release(elem); - } - tor_free(queue->insertion_times); - } } /** Extract and return the cell at the head of <b>queue</b>; return NULL if @@ -2311,18 +2387,24 @@ cell_queue_pop(cell_queue_t *queue) size_t packed_cell_mem_cost(void) { - return sizeof(packed_cell_t) + MP_POOL_ITEM_OVERHEAD + - get_options()->CellStatistics ? - (sizeof(insertion_time_elem_t)+MP_POOL_ITEM_OVERHEAD) : 0; + return sizeof(packed_cell_t) + MP_POOL_ITEM_OVERHEAD; +} + +/** DOCDOC */ +STATIC size_t +cell_queues_get_total_allocation(void) +{ + return total_cells_allocated * packed_cell_mem_cost(); } /** Check whether we've got too much space used for cells. If so, * call the OOM handler and return 1. Otherwise, return 0. */ -static int +STATIC int cell_queues_check_size(void) { - size_t alloc = total_cells_allocated * packed_cell_mem_cost(); - if (alloc >= get_options()->MaxMemInCellQueues) { + size_t alloc = cell_queues_get_total_allocation(); + alloc += buf_get_total_allocation(); + if (alloc >= get_options()->MaxMemInQueues) { circuits_handle_oom(alloc); return 1; } @@ -2377,14 +2459,18 @@ update_circuit_on_cmux_(circuit_t *circ, cell_direction_t direction, assert_cmux_ok_paranoid(chan); } -/** Remove all circuits from the cmux on <b>chan</b>. */ +/** Remove all circuits from the cmux on <b>chan</b>. + * + * If <b>circuits_out</b> is non-NULL, add all detached circuits to + * <b>circuits_out</b>. + **/ void -channel_unlink_all_circuits(channel_t *chan) +channel_unlink_all_circuits(channel_t *chan, smartlist_t *circuits_out) { tor_assert(chan); tor_assert(chan->cmux); - circuitmux_detach_all_circuits(chan->cmux); + circuitmux_detach_all_circuits(chan->cmux, circuits_out); chan->num_n_circuits = 0; chan->num_p_circuits = 0; } @@ -2443,6 +2529,17 @@ set_streams_blocked_on_circ(circuit_t *circ, channel_t *chan, return n; } +/** Extract the command from a packed cell. */ +static uint8_t +packed_cell_get_command(const packed_cell_t *cell, int wide_circ_ids) +{ + if (wide_circ_ids) { + return get_uint8(cell->body+4); + } else { + return get_uint8(cell->body+2); + } +} + /** Pull as many cells as possible (but no more than <b>max</b>) from the * queue of the first active circuit on <b>chan</b>, and write them to * <b>chan</b>->outbuf. Return the number of cells written. Advance @@ -2504,55 +2601,30 @@ channel_flush_from_first_active_circuit(channel_t *chan, int max) /* Calculate the exact time that this cell has spent in the queue. */ if (get_options()->CellStatistics || get_options()->TestingEnableCellStatsEvent) { + uint32_t msec_waiting; struct timeval tvnow; - uint32_t flushed; - uint32_t cell_waiting_time; - insertion_time_queue_t *it_queue = queue->insertion_times; tor_gettimeofday_cached(&tvnow); - flushed = (uint32_t)((tvnow.tv_sec % SECONDS_IN_A_DAY) * 100L + - (uint32_t)tvnow.tv_usec / (uint32_t)10000L); - if (!it_queue || !it_queue->first) { - log_info(LD_GENERAL, "Cannot determine insertion time of cell. " - "Looks like the CellStatistics option was " - "recently enabled."); - } else { - insertion_time_elem_t *elem = it_queue->first; - cell_waiting_time = - (uint32_t)((flushed * 10L + SECONDS_IN_A_DAY * 1000L - - elem->insertion_time * 10L) % - (SECONDS_IN_A_DAY * 1000L)); -#undef SECONDS_IN_A_DAY - elem->counter--; - if (elem->counter < 1) { - it_queue->first = elem->next; - if (elem == it_queue->last) - it_queue->last = NULL; - mp_pool_release(elem); - } - if (get_options()->CellStatistics && !CIRCUIT_IS_ORIGIN(circ)) { - or_circ = TO_OR_CIRCUIT(circ); - or_circ->total_cell_waiting_time += cell_waiting_time; - or_circ->processed_cells++; - } - if (get_options()->TestingEnableCellStatsEvent) { - uint8_t command; - if (cell_command_queue_pop(&command, queue) < 0) { - log_info(LD_GENERAL, "Cannot determine command of cell. " - "Looks like the CELL_STATS event was " - "recently enabled."); - } else { - testing_cell_stats_entry_t *ent = - tor_malloc_zero(sizeof(testing_cell_stats_entry_t)); - ent->command = command; - ent->waiting_time = (unsigned int)cell_waiting_time / 10; - ent->removed = 1; - if (circ->n_chan == chan) - ent->exitward = 1; - if (!circ->testing_cell_stats) - circ->testing_cell_stats = smartlist_new(); - smartlist_add(circ->testing_cell_stats, ent); - } - } + msec_waiting = ((uint32_t)tv_to_msec(&tvnow)) - cell->inserted_time; + + if (get_options()->CellStatistics && !CIRCUIT_IS_ORIGIN(circ)) { + or_circ = TO_OR_CIRCUIT(circ); + or_circ->total_cell_waiting_time += msec_waiting; + or_circ->processed_cells++; + } + + if (get_options()->TestingEnableCellStatsEvent) { + uint8_t command = packed_cell_get_command(cell, chan->wide_circ_ids); + + testing_cell_stats_entry_t *ent = + tor_malloc_zero(sizeof(testing_cell_stats_entry_t)); + ent->command = command; + ent->waiting_time = msec_waiting / 10; + ent->removed = 1; + if (circ->n_chan == chan) + ent->exitward = 1; + if (!circ->testing_cell_stats) + circ->testing_cell_stats = smartlist_new(); + smartlist_add(circ->testing_cell_stats, ent); } } diff --git a/src/or/relay.h b/src/or/relay.h index 20eecfb400..9c0e21c14f 100644 --- a/src/or/relay.h +++ b/src/or/relay.h @@ -61,7 +61,7 @@ void cell_queue_append_packed_copy(circuit_t *circ, cell_queue_t *queue, void append_cell_to_circuit_queue(circuit_t *circ, channel_t *chan, cell_t *cell, cell_direction_t direction, streamid_t fromstream); -void channel_unlink_all_circuits(channel_t *chan); +void channel_unlink_all_circuits(channel_t *chan, smartlist_t *detached_out); int channel_flush_from_first_active_circuit(channel_t *chan, int max); void assert_circuit_mux_okay(channel_t *chan); void update_circuit_on_cmux_(circuit_t *circ, cell_direction_t direction, @@ -83,8 +83,22 @@ int relay_crypt(circuit_t *circ, cell_t *cell, cell_direction_t cell_direction, #ifdef RELAY_PRIVATE STATIC int connected_cell_parse(const relay_header_t *rh, const cell_t *cell, tor_addr_t *addr_out, int *ttl_out); +/** An address-and-ttl tuple as yielded by resolved_cell_parse */ +typedef struct address_ttl_s { + tor_addr_t addr; + char *hostname; + int ttl; +} address_ttl_t; +STATIC void address_ttl_free(address_ttl_t *addr); +STATIC int resolved_cell_parse(const cell_t *cell, const relay_header_t *rh, + smartlist_t *addresses_out, int *errcode_out); +STATIC int connection_edge_process_resolved_cell(edge_connection_t *conn, + const cell_t *cell, + const relay_header_t *rh); STATIC packed_cell_t *packed_cell_new(void); STATIC packed_cell_t *cell_queue_pop(cell_queue_t *queue); +STATIC size_t cell_queues_get_total_allocation(void); +STATIC int cell_queues_check_size(void); #endif #endif diff --git a/src/or/rendclient.c b/src/or/rendclient.c index 2327a547c3..d42024010d 100644 --- a/src/or/rendclient.c +++ b/src/or/rendclient.c @@ -670,8 +670,9 @@ directory_get_from_hs_dir(const char *desc_id, const rend_data_t *rend_query) "service directories, because we requested them all " "recently without success."); if (options->StrictNodes && excluded_some) { - log_info(LD_REND, "There are others that we could have tried, but " - "they are all excluded, and StrictNodes is set."); + log_warn(LD_REND, "Could not pick a hidden service directory for the " + "requested hidden service: they are all either down or " + "excluded, and StrictNodes is set."); } return 0; } @@ -796,8 +797,7 @@ rend_client_cancel_descriptor_fetches(void) SMARTLIST_FOREACH_BEGIN(connection_array, connection_t *, conn) { if (conn->type == CONN_TYPE_DIR && - (conn->purpose == DIR_PURPOSE_FETCH_RENDDESC || - conn->purpose == DIR_PURPOSE_FETCH_RENDDESC_V2)) { + conn->purpose == DIR_PURPOSE_FETCH_RENDDESC_V2) { /* It's a rendezvous descriptor fetch in progress -- cancel it * by marking the connection for close. * diff --git a/src/or/rendcommon.c b/src/or/rendcommon.c index d1b49411cd..a664b5d501 100644 --- a/src/or/rendcommon.c +++ b/src/or/rendcommon.c @@ -672,79 +672,6 @@ rend_encode_v2_descriptors(smartlist_t *descs_out, return seconds_valid; } -/** Parse a service descriptor at <b>str</b> (<b>len</b> bytes). On - * success, return a newly alloced service_descriptor_t. On failure, - * return NULL. - */ -rend_service_descriptor_t * -rend_parse_service_descriptor(const char *str, size_t len) -{ - rend_service_descriptor_t *result = NULL; - int i, n_intro_points; - size_t keylen, asn1len; - const char *end, *cp, *eos; - rend_intro_point_t *intro; - - result = tor_malloc_zero(sizeof(rend_service_descriptor_t)); - cp = str; - end = str+len; - if (end-cp<2) goto truncated; - result->version = 0; - if (end-cp < 2) goto truncated; - asn1len = ntohs(get_uint16(cp)); - cp += 2; - if ((size_t)(end-cp) < asn1len) goto truncated; - result->pk = crypto_pk_asn1_decode(cp, asn1len); - if (!result->pk) goto truncated; - cp += asn1len; - if (end-cp < 4) goto truncated; - result->timestamp = (time_t) ntohl(get_uint32(cp)); - cp += 4; - result->protocols = 1<<2; /* always use intro format 2 */ - if (end-cp < 2) goto truncated; - n_intro_points = ntohs(get_uint16(cp)); - cp += 2; - - result->intro_nodes = smartlist_new(); - for (i=0;i<n_intro_points;++i) { - if (end-cp < 2) goto truncated; - eos = (const char *)memchr(cp,'\0',end-cp); - if (!eos) goto truncated; - /* Write nickname to extend info, but postpone the lookup whether - * we know that router. It's not part of the parsing process. */ - intro = tor_malloc_zero(sizeof(rend_intro_point_t)); - intro->extend_info = tor_malloc_zero(sizeof(extend_info_t)); - strlcpy(intro->extend_info->nickname, cp, - sizeof(intro->extend_info->nickname)); - smartlist_add(result->intro_nodes, intro); - cp = eos+1; - } - keylen = crypto_pk_keysize(result->pk); - tor_assert(end-cp >= 0); - if ((size_t)(end-cp) < keylen) goto truncated; - if ((size_t)(end-cp) > keylen) { - log_warn(LD_PROTOCOL, - "Signature is %d bytes too long on service descriptor.", - (int)((size_t)(end-cp) - keylen)); - goto error; - } - note_crypto_pk_op(REND_CLIENT); - if (crypto_pk_public_checksig_digest(result->pk, - (char*)str,cp-str, /* data */ - (char*)cp,end-cp /* signature*/ - )<0) { - log_warn(LD_PROTOCOL, "Bad signature on service descriptor."); - goto error; - } - - return result; - truncated: - log_warn(LD_PROTOCOL, "Truncated service descriptor."); - error: - rend_service_descriptor_free(result); - return NULL; -} - /** Sets <b>out</b> to the first 10 bytes of the digest of <b>pk</b>, * base32 encoded. NUL-terminates out. (We use this string to * identify services in directory requests and .onion URLs.) @@ -843,7 +770,7 @@ void rend_cache_purge(void) { if (rend_cache) { - log_info(LD_REND, "Purging client/v0-HS-authority HS descriptor cache"); + log_info(LD_REND, "Purging HS descriptor cache"); strmap_free(rend_cache, rend_cache_entry_free_); } rend_cache = strmap_new(); @@ -954,27 +881,6 @@ rend_cache_lookup_entry(const char *query, int version, rend_cache_entry_t **e) return 1; } -/** <b>query</b> is a base32'ed service id. If it's malformed, return -1. - * Else look it up. - * - If it is found, point *desc to it, and write its length into - * *desc_len, and return 1. - * - If it is not found, return 0. - * Note: calls to rend_cache_clean or rend_cache_store may invalidate - * *desc. - */ -int -rend_cache_lookup_desc(const char *query, int version, const char **desc, - size_t *desc_len) -{ - rend_cache_entry_t *e; - int r; - r = rend_cache_lookup_entry(query,version,&e); - if (r <= 0) return r; - *desc = e->desc; - *desc_len = e->len; - return 1; -} - /** Lookup the v2 service descriptor with base32-encoded <b>desc_id</b> and * copy the pointer to it to *<b>desc</b>. Return 1 on success, 0 on * well-formed-but-not-found, and -1 on failure. @@ -1006,130 +912,16 @@ rend_cache_lookup_v2_desc_as_dir(const char *desc_id, const char **desc) * descriptor */ #define MAX_INTRO_POINTS 10 -/** Parse *desc, calculate its service id, and store it in the cache. - * If we have a newer v0 descriptor with the same ID, ignore this one. - * If we have an older descriptor with the same ID, replace it. - * If we are acting as client due to the published flag and have any v2 - * descriptor with the same ID, reject this one in order to not get - * confused with having both versions for the same service. - * - * Return -2 if it's malformed or otherwise rejected; return -1 if we - * already have a v2 descriptor here; return 0 if it's the same or older - * than one we've already got; return 1 if it's novel. - * - * The published flag tells us if we store the descriptor - * in our role as directory (1) or if we cache it as client (0). - * - * If <b>service_id</b> is non-NULL and the descriptor is not for that - * service ID, reject it. <b>service_id</b> must be specified if and - * only if <b>published</b> is 0 (we fetched this descriptor). - */ -int -rend_cache_store(const char *desc, size_t desc_len, int published, - const char *service_id) -{ - rend_cache_entry_t *e; - rend_service_descriptor_t *parsed; - char query[REND_SERVICE_ID_LEN_BASE32+1]; - char key[REND_SERVICE_ID_LEN_BASE32+2]; /* 0<query>\0 */ - time_t now; - tor_assert(rend_cache); - parsed = rend_parse_service_descriptor(desc,desc_len); - if (!parsed) { - log_warn(LD_PROTOCOL,"Couldn't parse service descriptor."); - return -2; - } - if (rend_get_service_id(parsed->pk, query)<0) { - log_warn(LD_BUG,"Couldn't compute service ID."); - rend_service_descriptor_free(parsed); - return -2; - } - if ((service_id != NULL) && strcmp(query, service_id)) { - log_warn(LD_REND, "Received service descriptor for service ID %s; " - "expected descriptor for service ID %s.", - query, safe_str(service_id)); - rend_service_descriptor_free(parsed); - return -2; - } - now = time(NULL); - if (parsed->timestamp < now-REND_CACHE_MAX_AGE-REND_CACHE_MAX_SKEW) { - log_fn(LOG_PROTOCOL_WARN, LD_REND, - "Service descriptor %s is too old.", - safe_str_client(query)); - rend_service_descriptor_free(parsed); - return -2; - } - if (parsed->timestamp > now+REND_CACHE_MAX_SKEW) { - log_fn(LOG_PROTOCOL_WARN, LD_REND, - "Service descriptor %s is too far in the future.", - safe_str_client(query)); - rend_service_descriptor_free(parsed); - return -2; - } - /* Do we have a v2 descriptor and fetched this descriptor as a client? */ - tor_snprintf(key, sizeof(key), "2%s", query); - if (!published && strmap_get_lc(rend_cache, key)) { - log_info(LD_REND, "We already have a v2 descriptor for service %s.", - safe_str_client(query)); - rend_service_descriptor_free(parsed); - return -1; - } - if (parsed->intro_nodes && - smartlist_len(parsed->intro_nodes) > MAX_INTRO_POINTS) { - log_warn(LD_REND, "Found too many introduction points on a hidden " - "service descriptor for %s. This is probably a (misguided) " - "attempt to improve reliability, but it could also be an " - "attempt to do a guard enumeration attack. Rejecting.", - safe_str_client(query)); - rend_service_descriptor_free(parsed); - return -2; - } - tor_snprintf(key, sizeof(key), "0%s", query); - e = (rend_cache_entry_t*) strmap_get_lc(rend_cache, key); - if (e && e->parsed->timestamp > parsed->timestamp) { - log_info(LD_REND,"We already have a newer service descriptor %s with the " - "same ID and version.", - safe_str_client(query)); - rend_service_descriptor_free(parsed); - return 0; - } - if (e && e->len == desc_len && tor_memeq(desc,e->desc,desc_len)) { - log_info(LD_REND,"We already have this service descriptor %s.", - safe_str_client(query)); - e->received = time(NULL); - rend_service_descriptor_free(parsed); - return 0; - } - if (!e) { - e = tor_malloc_zero(sizeof(rend_cache_entry_t)); - strmap_set_lc(rend_cache, key, e); - } else { - rend_service_descriptor_free(e->parsed); - tor_free(e->desc); - } - e->received = time(NULL); - e->parsed = parsed; - e->len = desc_len; - e->desc = tor_malloc(desc_len); - memcpy(e->desc, desc, desc_len); - - log_debug(LD_REND,"Successfully stored rend desc '%s', len %d.", - safe_str_client(query), (int)desc_len); - return 1; -} - /** Parse the v2 service descriptor(s) in <b>desc</b> and store it/them to the * local rend cache. Don't attempt to decrypt the included list of introduction * points (as we don't have a descriptor cookie for it). * * If we have a newer descriptor with the same ID, ignore this one. * If we have an older descriptor with the same ID, replace it. - * Return -2 if we are not acting as hidden service directory; - * return -1 if the descriptor(s) were not parsable; return 0 if all - * descriptors are the same or older than those we've already got; - * return a positive number for the number of novel stored descriptors. + * + * Return an appropriate rend_cache_store_status_t. */ -int +rend_cache_store_status_t rend_cache_store_v2_desc_as_dir(const char *desc) { rend_service_descriptor_t *parsed; @@ -1149,7 +941,7 @@ rend_cache_store_v2_desc_as_dir(const char *desc) /* Cannot store descs, because we are (currently) not acting as * hidden service directory. */ log_info(LD_REND, "Cannot store descs: Not acting as hs dir"); - return -2; + return RCS_NOTDIR; } while (rend_parse_v2_service_descriptor(&parsed, desc_id, &intro_content, &intro_size, &encoded_size, @@ -1225,11 +1017,11 @@ rend_cache_store_v2_desc_as_dir(const char *desc) } if (!number_parsed) { log_info(LD_REND, "Could not parse any descriptor."); - return -1; + return RCS_BADDESC; } log_info(LD_REND, "Parsed %d and added %d descriptor%s.", number_parsed, number_stored, number_stored != 1 ? "s" : ""); - return number_stored; + return RCS_OKAY; } /** Parse the v2 service descriptor in <b>desc</b>, decrypt the included list @@ -1239,15 +1031,12 @@ rend_cache_store_v2_desc_as_dir(const char *desc) * * If we have a newer v2 descriptor with the same ID, ignore this one. * If we have an older descriptor with the same ID, replace it. - * If we have any v0 descriptor with the same ID, reject this one in order - * to not get confused with having both versions for the same service. * If the descriptor's service ID does not match * <b>rend_query</b>-\>onion_address, reject it. - * Return -2 if it's malformed or otherwise rejected; return -1 if we - * already have a v0 descriptor here; return 0 if it's the same or older - * than one we've already got; return 1 if it's novel. + * + * Return an appropriate rend_cache_store_status_t. */ -int +rend_cache_store_status_t rend_cache_store_v2_desc_as_client(const char *desc, const rend_data_t *rend_query) { @@ -1276,7 +1065,7 @@ rend_cache_store_v2_desc_as_client(const char *desc, char key[REND_SERVICE_ID_LEN_BASE32+2]; char service_id[REND_SERVICE_ID_LEN_BASE32+1]; rend_cache_entry_t *e; - int retval; + rend_cache_store_status_t retval = RCS_BADDESC; tor_assert(rend_cache); tor_assert(desc); /* Parse the descriptor. */ @@ -1284,20 +1073,17 @@ rend_cache_store_v2_desc_as_client(const char *desc, &intro_size, &encoded_size, &next_desc, desc) < 0) { log_warn(LD_REND, "Could not parse descriptor."); - retval = -2; goto err; } /* Compute service ID from public key. */ if (rend_get_service_id(parsed->pk, service_id)<0) { log_warn(LD_REND, "Couldn't compute service ID."); - retval = -2; goto err; } if (strcmp(rend_query->onion_address, service_id)) { log_warn(LD_REND, "Received service descriptor for service ID %s; " "expected descriptor for service ID %s.", service_id, safe_str(rend_query->onion_address)); - retval = -2; goto err; } /* Decode/decrypt introduction points. */ @@ -1329,7 +1115,6 @@ rend_cache_store_v2_desc_as_client(const char *desc, log_warn(LD_REND, "Failed to parse introduction points. Either the " "service has published a corrupt descriptor or you have " "provided invalid authorization data."); - retval = -2; goto err; } else if (n_intro_points > MAX_INTRO_POINTS) { log_warn(LD_REND, "Found too many introduction points on a hidden " @@ -1337,7 +1122,7 @@ rend_cache_store_v2_desc_as_client(const char *desc, "attempt to improve reliability, but it could also be an " "attempt to do a guard enumeration attack. Rejecting.", safe_str_client(rend_query->onion_address)); - retval = -2; + goto err; } } else { @@ -1350,22 +1135,12 @@ rend_cache_store_v2_desc_as_client(const char *desc, if (parsed->timestamp < now - REND_CACHE_MAX_AGE-REND_CACHE_MAX_SKEW) { log_warn(LD_REND, "Service descriptor with service ID %s is too old.", safe_str_client(service_id)); - retval = -2; goto err; } /* Is descriptor too far in the future? */ if (parsed->timestamp > now + REND_CACHE_MAX_SKEW) { log_warn(LD_REND, "Service descriptor with service ID %s is too far in " "the future.", safe_str_client(service_id)); - retval = -2; - goto err; - } - /* Do we have a v0 descriptor? */ - tor_snprintf(key, sizeof(key), "0%s", service_id); - if (strmap_get_lc(rend_cache, key)) { - log_info(LD_REND, "We already have a v0 descriptor for service ID %s.", - safe_str_client(service_id)); - retval = -1; goto err; } /* Do we already have a newer descriptor? */ @@ -1375,16 +1150,14 @@ rend_cache_store_v2_desc_as_client(const char *desc, log_info(LD_REND, "We already have a newer service descriptor for " "service ID %s with the same desc ID and version.", safe_str_client(service_id)); - retval = 0; - goto err; + goto okay; } /* Do we already have this descriptor? */ if (e && !strcmp(desc, e->desc)) { log_info(LD_REND,"We already have this service descriptor %s.", safe_str_client(service_id)); e->received = time(NULL); - retval = 0; - goto err; + goto okay; } if (!e) { e = tor_malloc_zero(sizeof(rend_cache_entry_t)); @@ -1400,7 +1173,10 @@ rend_cache_store_v2_desc_as_client(const char *desc, e->len = encoded_size; log_debug(LD_REND,"Successfully stored rend desc '%s', len %d.", safe_str_client(service_id), (int)encoded_size); - return 1; + return RCS_OKAY; + + okay: + retval = RCS_OKAY; err: rend_service_descriptor_free(parsed); diff --git a/src/or/rendcommon.h b/src/or/rendcommon.h index f476593d2b..07a47accfe 100644 --- a/src/or/rendcommon.h +++ b/src/or/rendcommon.h @@ -26,8 +26,6 @@ void rend_process_relay_cell(circuit_t *circ, const crypt_path_t *layer_hint, const uint8_t *payload); void rend_service_descriptor_free(rend_service_descriptor_t *desc); -rend_service_descriptor_t *rend_parse_service_descriptor(const char *str, - size_t len); int rend_get_service_id(crypto_pk_t *pk, char *out); void rend_encoded_v2_service_descriptor_free( rend_encoded_v2_service_descriptor_t *desc); @@ -39,16 +37,20 @@ void rend_cache_clean_v2_descs_as_dir(time_t now); void rend_cache_purge(void); void rend_cache_free_all(void); int rend_valid_service_id(const char *query); -int rend_cache_lookup_desc(const char *query, int version, const char **desc, - size_t *desc_len); int rend_cache_lookup_entry(const char *query, int version, rend_cache_entry_t **entry_out); int rend_cache_lookup_v2_desc_as_dir(const char *query, const char **desc); -int rend_cache_store(const char *desc, size_t desc_len, int published, - const char *service_id); -int rend_cache_store_v2_desc_as_client(const char *desc, +/** Return value from rend_cache_store_v2_desc_as_{dir,client}. */ +typedef enum { + RCS_NOTDIR = -2, /**< We're not a directory */ + RCS_BADDESC = -1, /**< This descriptor is no good. */ + RCS_OKAY = 0 /**< All worked as expected */ +} rend_cache_store_status_t; + +rend_cache_store_status_t rend_cache_store_v2_desc_as_dir(const char *desc); +rend_cache_store_status_t rend_cache_store_v2_desc_as_client(const char *desc, const rend_data_t *rend_query); -int rend_cache_store_v2_desc_as_dir(const char *desc); + int rend_encode_v2_descriptors(smartlist_t *descs_out, rend_service_descriptor_t *desc, time_t now, uint8_t period, rend_auth_type_t auth_type, diff --git a/src/or/rendmid.c b/src/or/rendmid.c index 1bd11f6dc0..1103816806 100644 --- a/src/or/rendmid.c +++ b/src/or/rendmid.c @@ -94,7 +94,7 @@ rend_mid_establish_intro(or_circuit_t *circ, const uint8_t *request, /* Close any other intro circuits with the same pk. */ c = NULL; - while ((c = circuit_get_intro_point(pk_digest))) { + while ((c = circuit_get_intro_point((const uint8_t *)pk_digest))) { log_info(LD_REND, "Replacing old circuit for service %s", safe_str(serviceid)); circuit_mark_for_close(TO_CIRCUIT(c), END_CIRC_REASON_FINISHED); @@ -111,7 +111,7 @@ rend_mid_establish_intro(or_circuit_t *circ, const uint8_t *request, /* Now, set up this circuit. */ circuit_change_purpose(TO_CIRCUIT(circ), CIRCUIT_PURPOSE_INTRO_POINT); - memcpy(circ->rend_token, pk_digest, DIGEST_LEN); + circuit_set_intro_point_digest(circ, (uint8_t *)pk_digest); log_info(LD_REND, "Established introduction point on circuit %u for service %s", @@ -165,7 +165,7 @@ rend_mid_introduce(or_circuit_t *circ, const uint8_t *request, (char*)request, REND_SERVICE_ID_LEN); /* The first 20 bytes are all we look at: they have a hash of Bob's PK. */ - intro_circ = circuit_get_intro_point((char*)request); + intro_circ = circuit_get_intro_point((const uint8_t*)request); if (!intro_circ) { log_info(LD_REND, "No intro circ found for INTRODUCE1 cell (%s) from circuit %u; " @@ -231,11 +231,12 @@ rend_mid_establish_rendezvous(or_circuit_t *circ, const uint8_t *request, } if (request_len != REND_COOKIE_LEN) { - log_warn(LD_PROTOCOL, "Invalid length on ESTABLISH_RENDEZVOUS."); + log_fn(LOG_PROTOCOL_WARN, + LD_PROTOCOL, "Invalid length on ESTABLISH_RENDEZVOUS."); goto err; } - if (circuit_get_rendezvous((char*)request)) { + if (circuit_get_rendezvous(request)) { log_warn(LD_PROTOCOL, "Duplicate rendezvous cookie in ESTABLISH_RENDEZVOUS."); goto err; @@ -251,7 +252,7 @@ rend_mid_establish_rendezvous(or_circuit_t *circ, const uint8_t *request, } circuit_change_purpose(TO_CIRCUIT(circ), CIRCUIT_PURPOSE_REND_POINT_WAITING); - memcpy(circ->rend_token, request, REND_COOKIE_LEN); + circuit_set_rendezvous_cookie(circ, request); base16_encode(hexid,9,(char*)request,4); @@ -299,7 +300,7 @@ rend_mid_rendezvous(or_circuit_t *circ, const uint8_t *request, "Got request for rendezvous from circuit %u to cookie %s.", (unsigned)circ->p_circ_id, hexid); - rend_circ = circuit_get_rendezvous((char*)request); + rend_circ = circuit_get_rendezvous(request); if (!rend_circ) { log_fn(LOG_PROTOCOL_WARN, LD_PROTOCOL, "Rejecting RENDEZVOUS1 cell with unrecognized rendezvous cookie %s.", @@ -327,7 +328,7 @@ rend_mid_rendezvous(or_circuit_t *circ, const uint8_t *request, circuit_change_purpose(TO_CIRCUIT(circ), CIRCUIT_PURPOSE_REND_ESTABLISHED); circuit_change_purpose(TO_CIRCUIT(rend_circ), CIRCUIT_PURPOSE_REND_ESTABLISHED); - memset(circ->rend_token, 0, REND_COOKIE_LEN); + circuit_set_rendezvous_cookie(circ, NULL); rend_circ->rend_splice = circ; circ->rend_splice = rend_circ; diff --git a/src/or/rendservice.c b/src/or/rendservice.c index cb2f962995..5a81d07856 100644 --- a/src/or/rendservice.c +++ b/src/or/rendservice.c @@ -82,7 +82,7 @@ typedef struct rend_service_port_config_t { #define MAX_INTRO_CIRCS_PER_PERIOD 10 /** How many times will a hidden service operator attempt to connect to * a requested rendezvous point before giving up? */ -#define MAX_REND_FAILURES 30 +#define MAX_REND_FAILURES 8 /** How many seconds should we spend trying to connect to a requested * rendezvous point before giving up? */ #define MAX_REND_TIMEOUT 30 @@ -1503,27 +1503,6 @@ find_rp_for_intro(const rend_intro_cell_t *intro, return rp; } -/** Remove unnecessary parts from a rend_intro_cell_t - the ciphertext if - * already decrypted, the plaintext too if already parsed - */ - -void -rend_service_compact_intro(rend_intro_cell_t *request) -{ - if (!request) return; - - if ((request->plaintext && request->plaintext_len > 0) || - request->parsed) { - tor_free(request->ciphertext); - request->ciphertext_len = 0; - } - - if (request->parsed) { - tor_free(request->plaintext); - request->plaintext_len = 0; - } -} - /** Free a parsed INTRODUCE1 or INTRODUCE2 cell that was allocated by * rend_service_parse_intro(). */ @@ -2062,7 +2041,7 @@ rend_service_decrypt_intro( if (err_msg_out && !err_msg) { tor_asprintf(&err_msg, "unknown INTRODUCE%d error decrypting encrypted part", - (int)(intro->type)); + intro ? (int)(intro->type) : -1); } if (status >= 0) status = -1; @@ -2168,7 +2147,7 @@ rend_service_parse_intro_plaintext( if (err_msg_out && !err_msg) { tor_asprintf(&err_msg, "unknown INTRODUCE%d error parsing encrypted part", - (int)(intro->type)); + intro ? (int)(intro->type) : -1); } if (status >= 0) status = -1; diff --git a/src/or/rendservice.h b/src/or/rendservice.h index caf88a3d64..4a810eb521 100644 --- a/src/or/rendservice.h +++ b/src/or/rendservice.h @@ -83,7 +83,6 @@ int rend_service_intro_established(origin_circuit_t *circuit, void rend_service_rendezvous_has_opened(origin_circuit_t *circuit); int rend_service_introduce(origin_circuit_t *circuit, const uint8_t *request, size_t request_len); -void rend_service_compact_intro(rend_intro_cell_t *request); int rend_service_decrypt_intro(rend_intro_cell_t *request, crypto_pk_t *key, char **err_msg_out); diff --git a/src/or/rephist.c b/src/or/rephist.c index 66dc5f611f..70be39e230 100644 --- a/src/or/rephist.c +++ b/src/or/rephist.c @@ -1862,22 +1862,20 @@ rep_hist_note_used_port(time_t now, uint16_t port) add_predicted_port(now, port); } -/** For this long after we've seen a request for a given port, assume that - * we'll want to make connections to the same port in the future. */ -#define PREDICTED_CIRCS_RELEVANCE_TIME (60*60) - /** Return a newly allocated pointer to a list of uint16_t * for ports that * are likely to be asked for in the near future. */ smartlist_t * rep_hist_get_predicted_ports(time_t now) { + int predicted_circs_relevance_time; smartlist_t *out = smartlist_new(); tor_assert(predicted_ports_list); + predicted_circs_relevance_time = get_options()->PredictedPortsRelevanceTime; /* clean out obsolete entries */ SMARTLIST_FOREACH_BEGIN(predicted_ports_list, predicted_port_t *, pp) { - if (pp->time + PREDICTED_CIRCS_RELEVANCE_TIME < now) { + if (pp->time + predicted_circs_relevance_time < now) { log_debug(LD_CIRC, "Expiring predicted port %d", pp->port); rephist_total_alloc -= sizeof(predicted_port_t); @@ -1944,14 +1942,17 @@ int rep_hist_get_predicted_internal(time_t now, int *need_uptime, int *need_capacity) { + int predicted_circs_relevance_time; + predicted_circs_relevance_time = get_options()->PredictedPortsRelevanceTime; + if (!predicted_internal_time) { /* initialize it */ predicted_internal_time = now; predicted_internal_uptime_time = now; predicted_internal_capacity_time = now; } - if (predicted_internal_time + PREDICTED_CIRCS_RELEVANCE_TIME < now) + if (predicted_internal_time + predicted_circs_relevance_time < now) return 0; /* too long ago */ - if (predicted_internal_uptime_time + PREDICTED_CIRCS_RELEVANCE_TIME >= now) + if (predicted_internal_uptime_time + predicted_circs_relevance_time >= now) *need_uptime = 1; // Always predict that we need capacity. *need_capacity = 1; @@ -1963,8 +1964,11 @@ rep_hist_get_predicted_internal(time_t now, int *need_uptime, int any_predicted_circuits(time_t now) { + int predicted_circs_relevance_time; + predicted_circs_relevance_time = get_options()->PredictedPortsRelevanceTime; + return smartlist_len(predicted_ports_list) || - predicted_internal_time + PREDICTED_CIRCS_RELEVANCE_TIME >= now; + predicted_internal_time + predicted_circs_relevance_time >= now; } /** Return 1 if we have no need for circuits currently, else return 0. */ @@ -2988,11 +2992,11 @@ rep_hist_conn_stats_write(time_t now) } /** Internal statistics to track how many requests of each type of - * handshake we've received, and how many we've completed. Useful for - * seeing trends in cpu load. + * handshake we've received, and how many we've assigned to cpuworkers. + * Useful for seeing trends in cpu load. * @{ */ -static int onion_handshakes_requested[MAX_ONION_HANDSHAKE_TYPE+1] = {0}; -static int onion_handshakes_completed[MAX_ONION_HANDSHAKE_TYPE+1] = {0}; +STATIC int onion_handshakes_requested[MAX_ONION_HANDSHAKE_TYPE+1] = {0}; +STATIC int onion_handshakes_assigned[MAX_ONION_HANDSHAKE_TYPE+1] = {0}; /**@}*/ /** A new onionskin (using the <b>type</b> handshake) has arrived. */ @@ -3006,10 +3010,10 @@ rep_hist_note_circuit_handshake_requested(uint16_t type) /** We've sent an onionskin (using the <b>type</b> handshake) to a * cpuworker. */ void -rep_hist_note_circuit_handshake_completed(uint16_t type) +rep_hist_note_circuit_handshake_assigned(uint16_t type) { if (type <= MAX_ONION_HANDSHAKE_TYPE) - onion_handshakes_completed[type]++; + onion_handshakes_assigned[type]++; } /** Log our onionskin statistics since the last time we were called. */ @@ -3019,11 +3023,11 @@ rep_hist_log_circuit_handshake_stats(time_t now) (void)now; log_notice(LD_HEARTBEAT, "Circuit handshake stats since last time: " "%d/%d TAP, %d/%d NTor.", - onion_handshakes_completed[ONION_HANDSHAKE_TYPE_TAP], + onion_handshakes_assigned[ONION_HANDSHAKE_TYPE_TAP], onion_handshakes_requested[ONION_HANDSHAKE_TYPE_TAP], - onion_handshakes_completed[ONION_HANDSHAKE_TYPE_NTOR], + onion_handshakes_assigned[ONION_HANDSHAKE_TYPE_NTOR], onion_handshakes_requested[ONION_HANDSHAKE_TYPE_NTOR]); - memset(onion_handshakes_completed, 0, sizeof(onion_handshakes_completed)); + memset(onion_handshakes_assigned, 0, sizeof(onion_handshakes_assigned)); memset(onion_handshakes_requested, 0, sizeof(onion_handshakes_requested)); } diff --git a/src/or/rephist.h b/src/or/rephist.h index de824749b4..df01ae6cb3 100644 --- a/src/or/rephist.h +++ b/src/or/rephist.h @@ -97,7 +97,7 @@ time_t rep_hist_conn_stats_write(time_t now); void rep_hist_conn_stats_term(void); void rep_hist_note_circuit_handshake_requested(uint16_t type); -void rep_hist_note_circuit_handshake_completed(uint16_t type); +void rep_hist_note_circuit_handshake_assigned(uint16_t type); void rep_hist_log_circuit_handshake_stats(time_t now); void rep_hist_free_all(void); diff --git a/src/or/router.c b/src/or/router.c index fd0df52dce..86cefc9a6f 100644..100755 --- a/src/or/router.c +++ b/src/or/router.c @@ -684,6 +684,63 @@ router_initialize_tls_context(void) (unsigned int)lifetime); } +/** Compute fingerprint (or hashed fingerprint if hashed is 1) and write + * it to 'fingerprint' (or 'hashed-fingerprint'). Return 0 on success, or + * -1 if Tor should die, + */ +STATIC int +router_write_fingerprint(int hashed) +{ + char *keydir = NULL, *cp = NULL; + const char *fname = hashed ? "hashed-fingerprint" : + "fingerprint"; + char fingerprint[FINGERPRINT_LEN+1]; + const or_options_t *options = get_options(); + char *fingerprint_line = NULL; + int result = -1; + + keydir = get_datadir_fname(fname); + log_info(LD_GENERAL,"Dumping %sfingerprint to \"%s\"...", + hashed ? "hashed " : "", keydir); + if (!hashed) { + if (crypto_pk_get_fingerprint(get_server_identity_key(), + fingerprint, 0) < 0) { + log_err(LD_GENERAL,"Error computing fingerprint"); + goto done; + } + } else { + if (crypto_pk_get_hashed_fingerprint(get_server_identity_key(), + fingerprint) < 0) { + log_err(LD_GENERAL,"Error computing hashed fingerprint"); + goto done; + } + } + + tor_asprintf(&fingerprint_line, "%s %s\n", options->Nickname, fingerprint); + + /* Check whether we need to write the (hashed-)fingerprint file. */ + + cp = read_file_to_str(keydir, RFTS_IGNORE_MISSING, NULL); + if (!cp || strcmp(cp, fingerprint_line)) { + if (write_str_to_file(keydir, fingerprint_line, 0)) { + log_err(LD_FS, "Error writing %sfingerprint line to file", + hashed ? "hashed " : ""); + goto done; + } + } + + log_notice(LD_GENERAL, "Your Tor %s identity key fingerprint is '%s %s'", + hashed ? "bridge's hashed" : "server's", options->Nickname, + fingerprint); + + result = 0; + done: + tor_free(cp); + tor_free(keydir); + tor_free(fingerprint_line); + return result; +} + /** Initialize all OR private keys, and the TLS context, as necessary. * On OPs, this only initializes the tls context. Return 0 on success, * or -1 if Tor should die. @@ -692,14 +749,10 @@ int init_keys(void) { char *keydir; - char fingerprint[FINGERPRINT_LEN+1]; - /*nickname<space>fp\n\0 */ - char fingerprint_line[MAX_NICKNAME_LEN+FINGERPRINT_LEN+3]; const char *mydesc; crypto_pk_t *prkey; char digest[DIGEST_LEN]; char v3_digest[DIGEST_LEN]; - char *cp; const or_options_t *options = get_options(); dirinfo_type_t type; time_t now = time(NULL); @@ -889,40 +942,16 @@ init_keys(void) } } - /* 5. Dump fingerprint to 'fingerprint' */ - keydir = get_datadir_fname("fingerprint"); - log_info(LD_GENERAL,"Dumping fingerprint to \"%s\"...",keydir); - if (crypto_pk_get_fingerprint(get_server_identity_key(), - fingerprint, 0) < 0) { - log_err(LD_GENERAL,"Error computing fingerprint"); - tor_free(keydir); + /* 5. Dump fingerprint and possibly hashed fingerprint to files. */ + if (router_write_fingerprint(0)) { + log_err(LD_FS, "Error writing fingerprint to file"); return -1; } - tor_assert(strlen(options->Nickname) <= MAX_NICKNAME_LEN); - if (tor_snprintf(fingerprint_line, sizeof(fingerprint_line), - "%s %s\n",options->Nickname, fingerprint) < 0) { - log_err(LD_GENERAL,"Error writing fingerprint line"); - tor_free(keydir); + if (!public_server_mode(options) && router_write_fingerprint(1)) { + log_err(LD_FS, "Error writing hashed fingerprint to file"); return -1; } - /* Check whether we need to write the fingerprint file. */ - cp = NULL; - if (file_status(keydir) == FN_FILE) - cp = read_file_to_str(keydir, 0, NULL); - if (!cp || strcmp(cp, fingerprint_line)) { - if (write_str_to_file(keydir, fingerprint_line, 0)) { - log_err(LD_FS, "Error writing fingerprint line to file"); - tor_free(keydir); - tor_free(cp); - return -1; - } - } - tor_free(cp); - tor_free(keydir); - log_notice(LD_GENERAL, - "Your Tor server's identity key fingerprint is '%s %s'", - options->Nickname, fingerprint); if (!authdir_mode(options)) return 0; /* 6. [authdirserver only] load approved-routers file */ @@ -932,11 +961,9 @@ init_keys(void) } /* 6b. [authdirserver only] add own key to approved directories. */ crypto_pk_get_digest(get_server_identity_key(), digest); - type = ((options->V1AuthoritativeDir ? V1_DIRINFO : NO_DIRINFO) | - (options->V3AuthoritativeDir ? + type = ((options->V3AuthoritativeDir ? (V3_DIRINFO|MICRODESC_DIRINFO|EXTRAINFO_DIRINFO) : NO_DIRINFO) | - (options->BridgeAuthoritativeDir ? BRIDGE_DIRINFO : NO_DIRINFO) | - (options->HSAuthoritativeDir ? HIDSERV_DIRINFO : NO_DIRINFO)); + (options->BridgeAuthoritativeDir ? BRIDGE_DIRINFO : NO_DIRINFO)); ds = router_get_trusteddirserver_by_digest(digest); if (!ds) { @@ -1149,7 +1176,7 @@ consider_testing_reachability(int test_or, int test_dir) /* XXX IPv6 self testing */ log_info(LD_CIRC, "Testing %s of my ORPort: %s:%d.", !orport_reachable ? "reachability" : "bandwidth", - me->address, me->or_port); + fmt_addr32(me->addr), me->or_port); circuit_launch_by_extend_info(CIRCUIT_PURPOSE_TESTING, ei, CIRCLAUNCH_NEED_CAPACITY|CIRCLAUNCH_IS_INTERNAL); extend_info_free(ei); @@ -1161,7 +1188,7 @@ consider_testing_reachability(int test_or, int test_dir) CONN_TYPE_DIR, &addr, me->dir_port, DIR_PURPOSE_FETCH_SERVERDESC)) { /* ask myself, via tor, for my server descriptor. */ - directory_initiate_command(me->address, &addr, + directory_initiate_command(&addr, me->or_port, me->dir_port, me->cache_info.identity_digest, DIR_PURPOSE_FETCH_SERVERDESC, @@ -1176,6 +1203,7 @@ router_orport_found_reachable(void) { const routerinfo_t *me = router_get_my_routerinfo(); if (!can_reach_or_port && me) { + char *address = tor_dup_ip(me->addr); log_notice(LD_OR,"Self-testing indicates your ORPort is reachable from " "the outside. Excellent.%s", get_options()->PublishServerDescriptor_ != NO_DIRINFO ? @@ -1184,7 +1212,8 @@ router_orport_found_reachable(void) mark_my_descriptor_dirty("ORPort found reachable"); control_event_server_status(LOG_NOTICE, "REACHABILITY_SUCCEEDED ORADDRESS=%s:%d", - me->address, me->or_port); + address, me->or_port); + tor_free(address); } } @@ -1194,6 +1223,7 @@ router_dirport_found_reachable(void) { const routerinfo_t *me = router_get_my_routerinfo(); if (!can_reach_dir_port && me) { + char *address = tor_dup_ip(me->addr); log_notice(LD_DIRSERV,"Self-testing indicates your DirPort is reachable " "from the outside. Excellent."); can_reach_dir_port = 1; @@ -1201,7 +1231,8 @@ router_dirport_found_reachable(void) mark_my_descriptor_dirty("DirPort found reachable"); control_event_server_status(LOG_NOTICE, "REACHABILITY_SUCCEEDED DIRADDRESS=%s:%d", - me->address, me->dir_port); + address, me->dir_port); + tor_free(address); } } @@ -1251,14 +1282,6 @@ authdir_mode(const or_options_t *options) { return options->AuthoritativeDir != 0; } -/** Return true iff we believe ourselves to be a v1 authoritative - * directory server. - */ -int -authdir_mode_v1(const or_options_t *options) -{ - return authdir_mode(options) && options->V1AuthoritativeDir != 0; -} /** Return true iff we believe ourselves to be a v3 authoritative * directory server. */ @@ -1267,12 +1290,11 @@ authdir_mode_v3(const or_options_t *options) { return authdir_mode(options) && options->V3AuthoritativeDir != 0; } -/** Return true iff we are a v1 or v3 directory authority. */ +/** Return true iff we are a v3 directory authority. */ int authdir_mode_any_main(const or_options_t *options) { - return options->V1AuthoritativeDir || - options->V3AuthoritativeDir; + return options->V3AuthoritativeDir; } /** Return true if we believe ourselves to be any kind of * authoritative directory beyond just a hidserv authority. */ @@ -1326,8 +1348,8 @@ authdir_mode_bridge(const or_options_t *options) /** Return true iff we are trying to be a server. */ -int -server_mode(const or_options_t *options) +MOCK_IMPL(int, +server_mode,(const or_options_t *options)) { if (options->ClientOnly) return 0; /* XXXX024 I believe we can kill off ORListenAddress here.*/ @@ -1336,8 +1358,8 @@ server_mode(const or_options_t *options) /** Return true iff we are trying to be a non-bridge server. */ -int -public_server_mode(const or_options_t *options) +MOCK_IMPL(int, +public_server_mode,(const or_options_t *options)) { if (!server_mode(options)) return 0; return (!options->BridgeRelay); @@ -1665,22 +1687,10 @@ router_is_me(const routerinfo_t *router) return router_digest_is_me(router->cache_info.identity_digest); } -/** Return true iff <b>fp</b> is a hex fingerprint of my identity digest. */ -int -router_fingerprint_is_me(const char *fp) -{ - char digest[DIGEST_LEN]; - if (strlen(fp) == HEX_DIGEST_LEN && - base16_decode(digest, sizeof(digest), fp, HEX_DIGEST_LEN) == 0) - return router_digest_is_me(digest); - - return 0; -} - /** Return a routerinfo for this OR, rebuilding a fresh one if * necessary. Return NULL on error, or if called on an OP. */ -const routerinfo_t * -router_get_my_routerinfo(void) +MOCK_IMPL(const routerinfo_t *, +router_get_my_routerinfo,(void)) { if (!server_mode(get_options())) return NULL; @@ -1784,7 +1794,6 @@ router_rebuild_descriptor(int force) ri = tor_malloc_zero(sizeof(routerinfo_t)); ri->cache_info.routerlist_index = -1; - ri->address = tor_dup_ip(addr); ri->nickname = tor_strdup(options->Nickname); ri->addr = addr; ri->or_port = router_get_advertised_or_port(options); @@ -1849,7 +1858,7 @@ router_rebuild_descriptor(int force) policies_parse_exit_policy(options->ExitPolicy, &ri->exit_policy, options->IPv6Exit, options->ExitPolicyRejectPrivate, - ri->address, !options->BridgeRelay); + ri->addr, !options->BridgeRelay); } ri->policy_is_reject_star = policy_is_reject_star(ri->exit_policy, AF_INET) && @@ -1862,12 +1871,6 @@ router_rebuild_descriptor(int force) tor_free(p_tmp); } -#if 0 - /* XXXX NM NM I belive this is safe to remove */ - if (authdir_mode(options)) - ri->is_valid = ri->is_named = 1; /* believe in yourself */ -#endif - if (options->MyFamily && ! options->BridgeRelay) { smartlist_t *family; if (!warned_nonexistent_family) @@ -2261,8 +2264,7 @@ char * router_dump_router_to_string(routerinfo_t *router, crypto_pk_t *ident_key) { - /* XXXX025 Make this look entirely at its arguments, and not at globals. - */ + char *address = NULL; char *onion_pkey = NULL; /* Onion key, PEM-encoded. */ char *identity_pkey = NULL; /* Identity key, PEM-encoded. */ char digest[DIGEST_LEN]; @@ -2336,7 +2338,9 @@ router_dump_router_to_string(routerinfo_t *router, } } + address = tor_dup_ip(router->addr); chunks = smartlist_new(); + /* Generate the easy portion of the router descriptor. */ smartlist_add_asprintf(chunks, "router %s %s %d 0 %d\n" @@ -2352,7 +2356,7 @@ router_dump_router_to_string(routerinfo_t *router, "signing-key\n%s" "%s%s%s%s", router->nickname, - router->address, + address, router->or_port, decide_to_advertise_dirport(options, router->dir_port), extra_or_address ? extra_or_address : "", @@ -2394,20 +2398,13 @@ router_dump_router_to_string(routerinfo_t *router, if (!router->exit_policy || !smartlist_len(router->exit_policy)) { smartlist_add(chunks, tor_strdup("reject *:*\n")); } else if (router->exit_policy) { - int i; - for (i = 0; i < smartlist_len(router->exit_policy); ++i) { - char pbuf[POLICY_BUF_LEN]; - addr_policy_t *tmpe = smartlist_get(router->exit_policy, i); - int result; - if (tor_addr_family(&tmpe->addr) == AF_INET6) - continue; /* Don't include IPv6 parts of address policy */ - result = policy_write_item(pbuf, POLICY_BUF_LEN, tmpe, 1); - if (result < 0) { - log_warn(LD_BUG,"descriptor policy_write_item ran out of room!"); - goto err; - } - smartlist_add_asprintf(chunks, "%s\n", pbuf); - } + char *exit_policy = router_dump_exit_policy_to_string(router,1,0); + + if (!exit_policy) + goto err; + + smartlist_add_asprintf(chunks, "%s\n", exit_policy); + tor_free(exit_policy); } if (router->ipv6_exit_policy) { @@ -2466,6 +2463,7 @@ router_dump_router_to_string(routerinfo_t *router, SMARTLIST_FOREACH(chunks, char *, cp, tor_free(cp)); smartlist_free(chunks); } + tor_free(address); tor_free(family_line); tor_free(onion_pkey); tor_free(identity_pkey); @@ -2474,6 +2472,56 @@ router_dump_router_to_string(routerinfo_t *router, return output; } +/** + * OR only: Given <b>router</b>, produce a string with its exit policy. + * If <b>include_ipv4</b> is true, include IPv4 entries. + * If <b>include_ipv6</b> is true, include IPv6 entries. + */ +char * +router_dump_exit_policy_to_string(const routerinfo_t *router, + int include_ipv4, + int include_ipv6) +{ + smartlist_t *exit_policy_strings; + char *policy_string = NULL; + + if ((!router->exit_policy) || (router->policy_is_reject_star)) { + return tor_strdup("reject *:*"); + } + + exit_policy_strings = smartlist_new(); + + SMARTLIST_FOREACH_BEGIN(router->exit_policy, addr_policy_t *, tmpe) { + char *pbuf; + int bytes_written_to_pbuf; + if ((tor_addr_family(&tmpe->addr) == AF_INET6) && (!include_ipv6)) { + continue; /* Don't include IPv6 parts of address policy */ + } + if ((tor_addr_family(&tmpe->addr) == AF_INET) && (!include_ipv4)) { + continue; /* Don't include IPv4 parts of address policy */ + } + + pbuf = tor_malloc(POLICY_BUF_LEN); + bytes_written_to_pbuf = policy_write_item(pbuf,POLICY_BUF_LEN, tmpe, 1); + + if (bytes_written_to_pbuf < 0) { + log_warn(LD_BUG, "router_dump_exit_policy_to_string ran out of room!"); + tor_free(pbuf); + goto done; + } + + smartlist_add(exit_policy_strings,pbuf); + } SMARTLIST_FOREACH_END(tmpe); + + policy_string = smartlist_join_strings(exit_policy_strings, "\n", 0, NULL); + + done: + SMARTLIST_FOREACH(exit_policy_strings, char *, str, tor_free(str)); + smartlist_free(exit_policy_strings); + + return policy_string; +} + /** Copy the primary (IPv4) OR port (IP address and TCP port) for * <b>router</b> into *<b>ap_out</b>. */ void diff --git a/src/or/router.h b/src/or/router.h index 1ee0577c8c..d18ff065ea 100644 --- a/src/or/router.h +++ b/src/or/router.h @@ -50,7 +50,6 @@ void router_perform_bandwidth_test(int num_circs, time_t now); int net_is_disabled(void); int authdir_mode(const or_options_t *options); -int authdir_mode_v1(const or_options_t *options); int authdir_mode_v3(const or_options_t *options); int authdir_mode_any_main(const or_options_t *options); int authdir_mode_any_nonhidserv(const or_options_t *options); @@ -67,8 +66,8 @@ uint16_t router_get_advertised_or_port_by_af(const or_options_t *options, uint16_t router_get_advertised_dir_port(const or_options_t *options, uint16_t dirport); -int server_mode(const or_options_t *options); -int public_server_mode(const or_options_t *options); +MOCK_DECL(int, server_mode, (const or_options_t *options)); +MOCK_DECL(int, public_server_mode, (const or_options_t *options)); int advertised_server_mode(void); int proxy_mode(const or_options_t *options); void consider_publishable_server(int force); @@ -83,7 +82,7 @@ void router_new_address_suggestion(const char *suggestion, const dir_connection_t *d_conn); int router_compare_to_my_exit_policy(const tor_addr_t *addr, uint16_t port); int router_my_exit_policy_is_reject_star(void); -const routerinfo_t *router_get_my_routerinfo(void); +MOCK_DECL(const routerinfo_t *, router_get_my_routerinfo, (void)); extrainfo_t *router_get_my_extrainfo(void); const char *router_get_my_descriptor(void); const char *router_get_descriptor_gen_reason(void); @@ -91,11 +90,13 @@ int router_digest_is_me(const char *digest); const uint8_t *router_get_my_id_digest(void); int router_extrainfo_digest_is_me(const char *digest); int router_is_me(const routerinfo_t *router); -int router_fingerprint_is_me(const char *fp); int router_pick_published_address(const or_options_t *options, uint32_t *addr); int router_rebuild_descriptor(int force); char *router_dump_router_to_string(routerinfo_t *router, crypto_pk_t *ident_key); +char *router_dump_exit_policy_to_string(const routerinfo_t *router, + int include_ipv4, + int include_ipv6); void router_get_prim_orport(const routerinfo_t *router, tor_addr_port_t *addr_port_out); void router_get_pref_orport(const routerinfo_t *router, @@ -148,6 +149,7 @@ smartlist_t *router_get_all_orports(const routerinfo_t *ri); #ifdef ROUTER_PRIVATE /* 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); #endif #endif diff --git a/src/or/routerlist.c b/src/or/routerlist.c index f4c4d4889a..8f3477a4a4 100644 --- a/src/or/routerlist.c +++ b/src/or/routerlist.c @@ -98,7 +98,8 @@ static smartlist_t *trusted_dir_servers = NULL; * and all fallback directory servers. */ static smartlist_t *fallback_dir_servers = NULL; -/** List of for a given authority, and download status for latest certificate. +/** List of certificates for a single authority, and download status for + * latest certificate. */ struct cert_list_t { /* @@ -130,16 +131,6 @@ static smartlist_t *warned_nicknames = NULL; * download is low. */ static time_t last_descriptor_download_attempted = 0; -/** When we last computed the weights to use for bandwidths on directory - * requests, what were the total weighted bandwidth, and our share of that - * bandwidth? Used to determine what fraction of directory requests we should - * expect to see. - * - * @{ */ -static uint64_t sl_last_total_weighted_bw = 0, - sl_last_weighted_bw_of_me = 0; -/**@}*/ - /** Return the number of directory authorities whose type matches some bit set * in <b>type</b> */ int @@ -631,6 +622,37 @@ authority_cert_dl_failed(const char *id_digest, } } +static const char *BAD_SIGNING_KEYS[] = { + "09CD84F751FD6E955E0F8ADB497D5401470D697E", // Expires 2015-01-11 16:26:31 + "0E7E9C07F0969D0468AD741E172A6109DC289F3C", // Expires 2014-08-12 10:18:26 + "57B85409891D3FB32137F642FDEDF8B7F8CDFDCD", // Expires 2015-02-11 17:19:09 + "87326329007AF781F587AF5B594E540B2B6C7630", // Expires 2014-07-17 11:10:09 + "98CC82342DE8D298CF99D3F1A396475901E0D38E", // Expires 2014-11-10 13:18:56 + "9904B52336713A5ADCB13E4FB14DC919E0D45571", // Expires 2014-04-20 20:01:01 + "9DCD8E3F1DD1597E2AD476BBA28A1A89F3095227", // Expires 2015-01-16 03:52:30 + "A61682F34B9BB9694AC98491FE1ABBFE61923941", // Expires 2014-06-11 09:25:09 + "B59F6E99C575113650C99F1C425BA7B20A8C071D", // Expires 2014-07-31 13:22:10 + "D27178388FA75B96D37FA36E0B015227DDDBDA51", // Expires 2014-08-04 04:01:57 + NULL, +}; + +/** DOCDOC */ +int +authority_cert_is_blacklisted(const authority_cert_t *cert) +{ + char hex_digest[HEX_DIGEST_LEN+1]; + int i; + base16_encode(hex_digest, sizeof(hex_digest), + cert->signing_key_digest, sizeof(cert->signing_key_digest)); + + for (i = 0; BAD_SIGNING_KEYS[i]; ++i) { + if (!strcasecmp(hex_digest, BAD_SIGNING_KEYS[i])) { + return 1; + } + } + return 0; +} + /** Return true iff when we've been getting enough failures when trying to * download the certificate with ID digest <b>id_digest</b> that we're willing * to start bugging the user about it. */ @@ -679,7 +701,7 @@ authority_certs_fetch_missing(networkstatus_t *status, time_t now) char id_digest_str[2*DIGEST_LEN+1]; char sk_digest_str[2*DIGEST_LEN+1]; - if (should_delay_dir_fetches(get_options())) + if (should_delay_dir_fetches(get_options(), NULL)) return; pending_cert = fp_pair_map_new(); @@ -1074,8 +1096,11 @@ router_rebuild_store(int flags, desc_store_t *store) /* Our mmap is now invalid. */ if (store->mmap) { - tor_munmap_file(store->mmap); + int res = tor_munmap_file(store->mmap); store->mmap = NULL; + if (res != 0) { + log_warn(LD_FS, "Unable to munmap route store in %s", fname); + } } if (replace_file(fname_tmp, fname)<0) { @@ -1149,9 +1174,16 @@ router_reload_router_list_impl(desc_store_t *store) fname = get_datadir_fname(store->fname_base); - if (store->mmap) /* get rid of it first */ - tor_munmap_file(store->mmap); - store->mmap = NULL; + if (store->mmap) { + /* get rid of it first */ + int res = tor_munmap_file(store->mmap); + store->mmap = NULL; + if (res != 0) { + log_warn(LD_FS, "Failed to munmap %s", fname); + tor_free(fname); + return -1; + } + } store->mmap = tor_mmap_file(fname); if (store->mmap) { @@ -1268,38 +1300,6 @@ router_pick_directory_server(dirinfo_type_t type, int flags) return choice; } -/** Try to determine which fraction ofv3 directory requests aimed at - * caches will be sent to us. Set - * *<b>v3_share_out</b> to the fraction of v3 protocol shares we - * expect to see. Return 0 on success, negative on failure. */ -/* XXXX This function is unused. */ -int -router_get_my_share_of_directory_requests(double *v3_share_out) -{ - const routerinfo_t *me = router_get_my_routerinfo(); - const routerstatus_t *rs; - const int pds_flags = PDS_ALLOW_SELF|PDS_IGNORE_FASCISTFIREWALL; - *v3_share_out = 0.0; - if (!me) - return -1; - rs = router_get_consensus_status_by_id(me->cache_info.identity_digest); - if (!rs) - return -1; - - /* Calling for side effect */ - /* XXXX This is a bit of a kludge */ - { - sl_last_total_weighted_bw = 0; - router_pick_directory_server(V3_DIRINFO, pds_flags); - if (sl_last_total_weighted_bw != 0) { - *v3_share_out = U64_TO_DBL(sl_last_weighted_bw_of_me) / - U64_TO_DBL(sl_last_total_weighted_bw); - } - } - - return 0; -} - /** Return the dir_server_t for the directory authority whose identity * key hashes to <b>digest</b>, or NULL if no such authority is known. */ @@ -1933,8 +1933,7 @@ smartlist_choose_node_by_bandwidth_weights(const smartlist_t *sl, if (compute_weighted_bandwidths(sl, rule, &bandwidths) < 0) return NULL; - scale_array_elements_to_u64(bandwidths, smartlist_len(sl), - &sl_last_total_weighted_bw); + scale_array_elements_to_u64(bandwidths, smartlist_len(sl), NULL); { int idx = choose_array_element_by_weight(bandwidths, @@ -2043,7 +2042,7 @@ compute_weighted_bandwidths(const smartlist_t *sl, // Cycle through smartlist and total the bandwidth. SMARTLIST_FOREACH_BEGIN(sl, const node_t *, node) { - int is_exit = 0, is_guard = 0, is_dir = 0, this_bw = 0, is_me = 0; + int is_exit = 0, is_guard = 0, is_dir = 0, this_bw = 0; double weight = 1; is_exit = node->is_exit && ! node->is_bad_exit; is_guard = node->is_possible_guard; @@ -2066,7 +2065,6 @@ compute_weighted_bandwidths(const smartlist_t *sl, /* We can't use this one. */ continue; } - is_me = router_digest_is_me(node->identity); if (is_guard && is_exit) { weight = (is_dir ? Wdb*Wd : Wd); @@ -2085,8 +2083,6 @@ compute_weighted_bandwidths(const smartlist_t *sl, weight = 0.0; bandwidths[node_sl_idx].dbl = weight*this_bw + 0.5; - if (is_me) - sl_last_weighted_bw_of_me = (uint64_t) bandwidths[node_sl_idx].dbl; } SMARTLIST_FOREACH_END(node); log_debug(LD_CIRC, "Generated weighted bandwidths for rule %s based " @@ -2168,7 +2164,6 @@ smartlist_choose_node_by_bandwidth(const smartlist_t *sl, bitarray_t *fast_bits; bitarray_t *exit_bits; bitarray_t *guard_bits; - int me_idx = -1; // This function does not support WEIGHT_FOR_DIR // or WEIGHT_FOR_MID @@ -2202,9 +2197,6 @@ smartlist_choose_node_by_bandwidth(const smartlist_t *sl, uint32_t this_bw = 0; i = node_sl_idx; - if (router_digest_is_me(node->identity)) - me_idx = node_sl_idx; - is_exit = node->is_exit; is_guard = node->is_possible_guard; if (node->rs) { @@ -2308,7 +2300,6 @@ smartlist_choose_node_by_bandwidth(const smartlist_t *sl, if (guard_weight <= 0.0) guard_weight = 0.0; - sl_last_weighted_bw_of_me = 0; for (i=0; i < (unsigned)smartlist_len(sl); i++) { tor_assert(bandwidths[i].dbl >= 0.0); @@ -2320,9 +2311,6 @@ smartlist_choose_node_by_bandwidth(const smartlist_t *sl, bandwidths[i].dbl *= guard_weight; else if (is_exit) bandwidths[i].dbl *= exit_weight; - - if (i == (unsigned) me_idx) - sl_last_weighted_bw_of_me = (uint64_t) bandwidths[i].dbl; } } @@ -2341,8 +2329,7 @@ smartlist_choose_node_by_bandwidth(const smartlist_t *sl, guard_weight, (int)(rule == WEIGHT_FOR_GUARD)); #endif - scale_array_elements_to_u64(bandwidths, smartlist_len(sl), - &sl_last_total_weighted_bw); + scale_array_elements_to_u64(bandwidths, smartlist_len(sl), NULL); { int idx = choose_array_element_by_weight(bandwidths, @@ -2753,7 +2740,6 @@ routerinfo_free(routerinfo_t *router) return; tor_free(router->cache_info.signed_descriptor_body); - tor_free(router->address); tor_free(router->nickname); tor_free(router->platform); tor_free(router->contact_info); @@ -2839,10 +2825,18 @@ routerlist_free(routerlist_t *rl) signed_descriptor_free(sd)); smartlist_free(rl->routers); smartlist_free(rl->old_routers); - if (routerlist->desc_store.mmap) - tor_munmap_file(routerlist->desc_store.mmap); - if (routerlist->extrainfo_store.mmap) - tor_munmap_file(routerlist->extrainfo_store.mmap); + if (rl->desc_store.mmap) { + int res = tor_munmap_file(routerlist->desc_store.mmap); + if (res != 0) { + log_warn(LD_FS, "Failed to munmap routerlist->desc_store.mmap"); + } + } + if (rl->extrainfo_store.mmap) { + int res = tor_munmap_file(routerlist->extrainfo_store.mmap); + if (res != 0) { + log_warn(LD_FS, "Failed to munmap routerlist->extrainfo_store.mmap"); + } + } tor_free(rl); router_dir_info_changed(); @@ -3459,7 +3453,6 @@ router_add_to_routerlist(routerinfo_t *router, const char **msg, signed_desc_append_to_journal(&router->cache_info, &routerlist->desc_store); } - directory_set_dirty(); *msg = authdir_believes_valid ? "Valid server updated" : ("Invalid server updated. (This dirserver is marking your " "server as unapproved.)"); @@ -3481,7 +3474,6 @@ router_add_to_routerlist(routerinfo_t *router, const char **msg, signed_desc_append_to_journal(&router->cache_info, &routerlist->desc_store); } - directory_set_dirty(); return ROUTER_ADDED_SUCCESSFULLY; } @@ -4637,7 +4629,7 @@ void update_router_descriptor_downloads(time_t now) { const or_options_t *options = get_options(); - if (should_delay_dir_fetches(options)) + if (should_delay_dir_fetches(options, NULL)) return; if (!we_fetch_router_descriptors(options)) return; @@ -4658,7 +4650,7 @@ update_extrainfo_downloads(time_t now) int n_no_ei = 0, n_pending = 0, n_have = 0, n_delay = 0; if (! options->DownloadExtraInfo) return; - if (should_delay_dir_fetches(options)) + if (should_delay_dir_fetches(options, NULL)) return; if (!router_have_minimum_dir_info()) return; @@ -4764,7 +4756,7 @@ router_differences_are_cosmetic(const routerinfo_t *r1, const routerinfo_t *r2) } /* If any key fields differ, they're different. */ - if (strcasecmp(r1->address, r2->address) || + if (r1->addr != r2->addr || strcasecmp(r1->nickname, r2->nickname) || r1->or_port != r2->or_port || !tor_addr_eq(&r1->ipv6_addr, &r2->ipv6_addr) || diff --git a/src/or/routerlist.h b/src/or/routerlist.h index cfa8683861..6e2f2eaea0 100644 --- a/src/or/routerlist.h +++ b/src/or/routerlist.h @@ -43,6 +43,7 @@ int router_reload_router_list(void); int authority_cert_dl_looks_uncertain(const char *id_digest); const smartlist_t *router_get_trusted_dir_servers(void); const smartlist_t *router_get_fallback_dir_servers(void); +int authority_cert_is_blacklisted(const authority_cert_t *cert); const routerstatus_t *router_pick_directory_server(dirinfo_type_t type, int flags); diff --git a/src/or/routerparse.c b/src/or/routerparse.c index 4ad316cee7..5add728d6d 100644 --- a/src/or/routerparse.c +++ b/src/or/routerparse.c @@ -572,7 +572,7 @@ dump_desc(const char *desc, const char *type) char *content = tor_malloc_zero(filelen); tor_snprintf(content, filelen, "Unable to parse descriptor of type " "%s:\n%s", type, desc); - write_str_to_file(debugfile, content, 0); + write_str_to_file(debugfile, content, 1); log_info(LD_DIR, "Unable to parse descriptor of type %s. See file " "unparseable-desc in data directory for details.", type); tor_free(content); @@ -603,17 +603,6 @@ router_get_router_hash(const char *s, size_t s_len, char *digest) DIGEST_SHA1); } -/** Set <b>digest</b> to the SHA-1 digest of the hash of the running-routers - * string in <b>s</b>. Return 0 on success, -1 on failure. - */ -int -router_get_runningrouters_hash(const char *s, char *digest) -{ - return router_get_hash_impl(s, strlen(s), digest, - "network-status","\ndirectory-signature", '\n', - DIGEST_SHA1); -} - /** Set <b>digests</b> to all the digests of the consensus document in * <b>s</b> */ int @@ -691,7 +680,7 @@ router_get_dirobj_signature(const char *digest, /** Helper: used to generate signatures for routers, directories and * network-status objects. Given a digest in <b>digest</b> and a secret - * <b>private_key</b>, generate an PKCS1-padded signature, BASE64-encode it, + * <b>private_key</b>, generate a PKCS1-padded signature, BASE64-encode it, * surround it with -----BEGIN/END----- pairs, and write it to the * <b>buf_len</b>-byte buffer at <b>buf</b>. Return 0 on success, -1 on * failure. @@ -714,6 +703,7 @@ router_append_dirobj_signature(char *buf, size_t buf_len, const char *digest, return -1; } memcpy(buf+s_len, sig, sig_len+1); + tor_free(sig); return 0; } @@ -1195,8 +1185,7 @@ router_parse_entry_from_string(const char *s, const char *end, log_warn(LD_DIR,"Router nickname is invalid"); goto err; } - router->address = tor_strdup(tok->args[1]); - if (!tor_inet_aton(router->address, &in)) { + if (!tor_inet_aton(tok->args[1], &in)) { log_warn(LD_DIR,"Router address is not an IP address."); goto err; } @@ -2040,14 +2029,6 @@ routerstatus_parse_entry_from_string(memarea_t *area, return rs; } -/** Helper to sort a smartlist of pointers to routerstatus_t */ -int -compare_routerstatus_entries(const void **_a, const void **_b) -{ - const routerstatus_t *a = *_a, *b = *_b; - return fast_memcmp(a->identity_digest, b->identity_digest, DIGEST_LEN); -} - int compare_vote_routerstatus_entries(const void **_a, const void **_b) { @@ -2706,6 +2687,14 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out, log_warn(LD_DIR,"Mismatch between identities in certificate and vote"); goto err; } + if (ns->type != NS_TYPE_CONSENSUS) { + if (authority_cert_is_blacklisted(ns->cert)) { + log_warn(LD_DIR, "Rejecting vote signature made with blacklisted " + "signing key %s", + hex_str(ns->cert->signing_key_digest, DIGEST_LEN)); + goto err; + } + } voter->address = tor_strdup(tok->args[2]); if (!tor_inet_aton(tok->args[3], &in)) { log_warn(LD_DIR, "Error decoding IP address %s in network-status.", @@ -4140,11 +4129,13 @@ microdescs_parse_from_string(const char *s, const char *eos, microdesc_free(md); md = NULL; + SMARTLIST_FOREACH(tokens, directory_token_t *, t, token_clear(t)); memarea_clear(area); smartlist_clear(tokens); s = start_of_next_microdesc; } + SMARTLIST_FOREACH(tokens, directory_token_t *, t, token_clear(t)); memarea_drop_all(area); smartlist_free(tokens); diff --git a/src/or/routerparse.h b/src/or/routerparse.h index 177217dc30..5d5d9e59ef 100644 --- a/src/or/routerparse.h +++ b/src/or/routerparse.h @@ -14,7 +14,6 @@ int router_get_router_hash(const char *s, size_t s_len, char *digest); int router_get_dir_hash(const char *s, char *digest); -int router_get_runningrouters_hash(const char *s, char *digest); int router_get_networkstatus_v3_hashes(const char *s, digests_t *digests); int router_get_extrainfo_hash(const char *s, size_t s_len, char *digest); #define DIROBJ_MAX_SIG_LEN 256 @@ -51,7 +50,6 @@ void sort_version_list(smartlist_t *lst, int remove_duplicates); void assert_addr_policy_ok(smartlist_t *t); void dump_distinct_digest_count(int severity); -int compare_routerstatus_entries(const void **_a, const void **_b); int compare_vote_routerstatus_entries(const void **_a, const void **_b); int networkstatus_verify_bw_weights(networkstatus_t *ns, int); networkstatus_t *networkstatus_parse_vote_from_string(const char *s, diff --git a/src/or/routerset.c b/src/or/routerset.c index 2e41f7f6c4..7aee90d6db 100644 --- a/src/or/routerset.c +++ b/src/or/routerset.c @@ -358,39 +358,6 @@ routerset_get_all_nodes(smartlist_t *out, const routerset_t *routerset, } } -#if 0 -/** Add to <b>target</b> every node_t from <b>source</b> except: - * - * 1) Don't add it if <b>include</b> is non-empty and the relay isn't in - * <b>include</b>; and - * 2) Don't add it if <b>exclude</b> is non-empty and the relay is - * excluded in a more specific fashion by <b>exclude</b>. - * 3) If <b>running_only</b>, don't add non-running routers. - */ -void -routersets_get_node_disjunction(smartlist_t *target, - const smartlist_t *source, - const routerset_t *include, - const routerset_t *exclude, int running_only) -{ - SMARTLIST_FOREACH(source, const node_t *, node, { - int include_result; - if (running_only && !node->is_running) - continue; - if (!routerset_is_empty(include)) - include_result = routerset_contains_node(include, node); - else - include_result = 1; - - if (include_result) { - int exclude_result = routerset_contains_node(exclude, node); - if (include_result >= exclude_result) - smartlist_add(target, (void*)node); - } - }); -} -#endif - /** Remove every node_t from <b>lst</b> that is in <b>routerset</b>. */ void routerset_subtract_nodes(smartlist_t *lst, const routerset_t *routerset) diff --git a/src/or/routerset.h b/src/or/routerset.h index bfa0c59ac1..8261c7fb09 100644 --- a/src/or/routerset.h +++ b/src/or/routerset.h @@ -32,12 +32,6 @@ void routerset_get_all_nodes(smartlist_t *out, const routerset_t *routerset, const routerset_t *excludeset, int running_only); int routerset_add_unknown_ccs(routerset_t **setp, int only_if_some_cc_set); -#if 0 -void routersets_get_node_disjunction(smartlist_t *target, - const smartlist_t *source, - const routerset_t *include, - const routerset_t *exclude, int running_only); -#endif void routerset_subtract_nodes(smartlist_t *out, const routerset_t *routerset); diff --git a/src/or/statefile.c b/src/or/statefile.c index 8ab04763d0..da31341712 100644 --- a/src/or/statefile.c +++ b/src/or/statefile.c @@ -13,6 +13,7 @@ #include "hibernate.h" #include "rephist.h" #include "router.h" +#include "sandbox.h" #include "statefile.h" /** A list of state-file "abbreviations," for compatibility. */ @@ -260,7 +261,7 @@ or_state_set(or_state_t *new_state) static void or_state_save_broken(char *fname) { - int i; + int i, res; file_status_t status; char *fname2 = NULL; for (i = 0; i < 100; ++i) { @@ -274,12 +275,18 @@ or_state_save_broken(char *fname) log_warn(LD_BUG, "Unable to parse state in \"%s\"; too many saved bad " "state files to move aside. Discarding the old state file.", fname); - unlink(fname); + res = unlink(fname); + if (res != 0) { + log_warn(LD_FS, + "Also couldn't discard old state file \"%s\" because " + "unlink() failed: %s", + fname, strerror(errno)); + } } else { log_warn(LD_BUG, "Unable to parse state in \"%s\". Moving it aside " "to \"%s\". This could be a bug in Tor; please tell " "the developers.", fname, fname2); - if (rename(fname, fname2) < 0) { + if (tor_rename(fname, fname2) < 0) {//XXXX sandbox prohibits log_warn(LD_BUG, "Weirdly, I couldn't even move the state aside. The " "OS gave an error of %s", strerror(errno)); } diff --git a/src/or/status.c b/src/or/status.c index e1820c8889..7e2afbce80 100644 --- a/src/or/status.c +++ b/src/or/status.c @@ -6,6 +6,8 @@ * \brief Keep status information and log the heartbeat messages. **/ +#define STATUS_PRIVATE + #include "or.h" #include "config.h" #include "status.h" @@ -22,7 +24,7 @@ static void log_accounting(const time_t now, const or_options_t *options); /** Return the total number of circuits. */ -static int +STATIC int count_circuits(void) { circuit_t *circ; @@ -36,7 +38,7 @@ count_circuits(void) /** Take seconds <b>secs</b> and return a newly allocated human-readable * uptime string */ -static char * +STATIC char * secs_to_uptime(long secs) { long int days = secs / 86400; @@ -63,7 +65,7 @@ secs_to_uptime(long secs) /** Take <b>bytes</b> and returns a newly allocated human-readable usage * string. */ -static char * +STATIC char * bytes_to_usage(uint64_t bytes) { char *bw_string = NULL; diff --git a/src/or/status.h b/src/or/status.h index 7c3b969c86..13458ea476 100644 --- a/src/or/status.h +++ b/src/or/status.h @@ -4,7 +4,15 @@ #ifndef TOR_STATUS_H #define TOR_STATUS_H +#include "testsupport.h" + int log_heartbeat(time_t now); +#ifdef STATUS_PRIVATE +STATIC int count_circuits(void); +STATIC char *secs_to_uptime(long secs); +STATIC char *bytes_to_usage(uint64_t bytes); +#endif + #endif diff --git a/src/or/transports.c b/src/or/transports.c index 8b4a11882b..dc30754162 100644 --- a/src/or/transports.c +++ b/src/or/transports.c @@ -51,35 +51,37 @@ * logic, because of race conditions that can cause dangling * pointers. ] * - * <b>In even more detail, this is what happens when a SIGHUP - * occurs:</b> + * <b>In even more detail, this is what happens when a config read + * (like a SIGHUP or a SETCONF) occurs:</b> * * We immediately destroy all unconfigured proxies (We shouldn't have - * unconfigured proxies in the first place, except when SIGHUP rings - * immediately after tor is launched.). + * unconfigured proxies in the first place, except when the config + * read happens immediately after tor is launched.). * * We mark all managed proxies and transports to signify that they * must be removed if they don't contribute by the new torrc * (we mark using the <b>marked_for_removal</b> element). * We also mark all managed proxies to signify that they might need to * be restarted so that they end up supporting all the transports the - * new torrc wants them to support (using the <b>got_hup</b> element). + * new torrc wants them to support + * (we mark using the <b>was_around_before_config_read</b> element). * We also clear their <b>transports_to_launch</b> list so that we can * put there the transports we need to launch according to the new * torrc. * * We then start parsing torrc again. * - * Everytime we encounter a transport line using a known pre-SIGHUP - * managed proxy, we cleanse that proxy from the removal mark. - * We also mark it as unconfigured so that on the next scheduled - * events tick, we investigate whether we need to restart the proxy - * so that it also spawns the new transports. - * If the post-SIGHUP <b>transports_to_launch</b> list is identical to - * the pre-SIGHUP one, it means that no changes were introduced to - * this proxy during the SIGHUP and no restart has to take place. + * Everytime we encounter a transport line using a managed proxy that + * was around before the config read, we cleanse that proxy from the + * removal mark. We also toggle the <b>check_if_restarts_needed</b> + * flag, so that on the next <b>pt_configure_remaining_proxies</b> + * tick, we investigate whether we need to restart the proxy so that + * it also spawns the new transports. If the post-config-read + * <b>transports_to_launch</b> list is identical to the pre-config-read + * one, it means that no changes were introduced to this proxy during + * the config read and no restart has to take place. * - * During the post-SIGHUP torrc parsing, we unmark all transports + * During the post-config-read torrc parsing, we unmark all transports * spawned by managed proxies that we find in our torrc. * We do that so that if we don't need to restart a managed proxy, we * can continue using its old transports normally. @@ -534,8 +536,7 @@ launch_managed_proxy(managed_proxy_t *mp) } /** Check if any of the managed proxies we are currently trying to - * configure have anything new to say. This is called from - * run_scheduled_events(). */ + * configure has anything new to say. */ void pt_configure_remaining_proxies(void) { @@ -555,11 +556,12 @@ pt_configure_remaining_proxies(void) tor_assert(mp->conf_state != PT_PROTO_BROKEN && mp->conf_state != PT_PROTO_FAILED_LAUNCH); - if (mp->got_hup) { - mp->got_hup = 0; + if (mp->was_around_before_config_read) { + /* This proxy is marked by a config read. Check whether we need + to restart it. */ + + mp->was_around_before_config_read = 0; - /* This proxy is marked by a SIGHUP. Check whether we need to - restart it. */ if (proxy_needs_restart(mp)) { log_info(LD_GENERAL, "Preparing managed proxy '%s' for restart.", mp->argv[0]); @@ -1243,8 +1245,10 @@ create_managed_proxy_environment(const managed_proxy_t *mp) { char *orport_tmp = get_first_listener_addrport_string(CONN_TYPE_OR_LISTENER); - smartlist_add_asprintf(envs, "TOR_PT_ORPORT=%s", orport_tmp); - tor_free(orport_tmp); + if (orport_tmp) { + smartlist_add_asprintf(envs, "TOR_PT_ORPORT=%s", orport_tmp); + tor_free(orport_tmp); + } } { @@ -1275,8 +1279,10 @@ create_managed_proxy_environment(const managed_proxy_t *mp) get_first_listener_addrport_string(CONN_TYPE_EXT_OR_LISTENER); char *cookie_file_loc = get_ext_or_auth_cookie_file_name(); - smartlist_add_asprintf(envs, "TOR_PT_EXTENDED_SERVER_PORT=%s", - ext_or_addrport_tmp); + if (ext_or_addrport_tmp) { + smartlist_add_asprintf(envs, "TOR_PT_EXTENDED_SERVER_PORT=%s", + ext_or_addrport_tmp); + } smartlist_add_asprintf(envs, "TOR_PT_AUTH_COOKIE_FILE=%s", cookie_file_loc); @@ -1360,19 +1366,20 @@ pt_kickstart_proxy(const smartlist_t *transport_list, managed_proxy_create(transport_list, proxy_argv, is_server); } else { /* known proxy. add its transport to its transport list */ - if (mp->got_hup) { - /* If the managed proxy we found is marked by a SIGHUP, it means - that it's not useless and should be kept. If it's marked for - removal, unmark it and increase the unconfigured proxies so - that we try to restart it if we need to. Afterwards, check if - a transport_t for 'transport' used to exist before the SIGHUP - and make sure it doesn't get deleted because we might reuse - it. */ + if (mp->was_around_before_config_read) { + /* If this managed proxy was around even before we read the + config this time, it means that it was already enabled before + and is not useless and should be kept. If it's marked for + removal, unmark it and make sure that we check whether it + needs to be restarted. */ if (mp->marked_for_removal) { mp->marked_for_removal = 0; check_if_restarts_needed = 1; } + /* For each new transport, check if the managed proxy used to + support it before the SIGHUP. If that was the case, make sure + it doesn't get removed because we might reuse it. */ SMARTLIST_FOREACH_BEGIN(transport_list, const char *, transport) { old_transport = transport_get_by_name(transport); if (old_transport) @@ -1421,8 +1428,10 @@ pt_prepare_proxy_list_for_config_read(void) tor_assert(mp->conf_state == PT_PROTO_COMPLETED); + /* Mark all proxies for removal, and also note that they have been + here before the config read. */ mp->marked_for_removal = 1; - mp->got_hup = 1; + mp->was_around_before_config_read = 1; SMARTLIST_FOREACH(mp->transports_to_launch, char *, t, tor_free(t)); smartlist_clear(mp->transports_to_launch); } SMARTLIST_FOREACH_END(mp); diff --git a/src/or/transports.h b/src/or/transports.h index 7b524f2073..1365ead006 100644 --- a/src/or/transports.h +++ b/src/or/transports.h @@ -97,7 +97,7 @@ typedef struct { * this flag to signify that this proxy might need to be restarted * so that it can listen for other transports according to the new * torrc. */ - unsigned int got_hup : 1; + unsigned int was_around_before_config_read : 1; /* transports to-be-launched by this proxy */ smartlist_t *transports_to_launch; diff --git a/src/test/bench.c b/src/test/bench.c index ae311b53cf..c9cc101b72 100644 --- a/src/test/bench.c +++ b/src/test/bench.c @@ -544,6 +544,7 @@ main(int argc, const char **argv) reset_perftime(); crypto_seed_rng(1); + crypto_init_siphash_key(); options = options_new(); init_logging(); options->command = CMD_RUN_UNITTESTS; diff --git a/src/test/bt_test.py b/src/test/bt_test.py index 2de9924a59..8290509fa7 100755 --- a/src/test/bt_test.py +++ b/src/test/bt_test.py @@ -35,8 +35,8 @@ LINES = sys.stdin.readlines() for I in range(len(LINES)): if matches(LINES[I:], FUNCNAMES): - print "OK" + print("OK") break else: - print "BAD" + print("BAD") diff --git a/src/test/include.am b/src/test/include.am index 5f978b518c..fba439a616 100644 --- a/src/test/include.am +++ b/src/test/include.am @@ -32,14 +32,19 @@ src_test_test_SOURCES = \ src/test/test_introduce.c \ src/test/test_logging.c \ src/test/test_microdesc.c \ + src/test/test_oom.c \ src/test/test_options.c \ src/test/test_pt.c \ + src/test/test_relaycell.c \ src/test/test_replay.c \ + src/test/test_routerkeys.c \ src/test/test_socks.c \ src/test/test_util.c \ src/test/test_config.c \ src/test/test_hs.c \ src/test/test_nodelist.c \ + src/test/test_policy.c \ + src/test/test_status.c \ src/ext/tinytest.c src_test_test_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS) diff --git a/src/test/ntor_ref.py b/src/test/ntor_ref.py index 12eb007422..7d6e43e716 100755 --- a/src/test/ntor_ref.py +++ b/src/test/ntor_ref.py @@ -39,13 +39,14 @@ except ImportError: import hashlib import hmac import subprocess +import sys # ********************************************************************** # Helpers and constants def HMAC(key,msg): "Return the HMAC-SHA256 of 'msg' using the key 'key'." - H = hmac.new(key, "", hashlib.sha256) + H = hmac.new(key, b"", hashlib.sha256) H.update(msg) return H.digest() @@ -67,10 +68,10 @@ G_LENGTH = 32 H_LENGTH = 32 PROTOID = b"ntor-curve25519-sha256-1" -M_EXPAND = PROTOID + ":key_expand" -T_MAC = PROTOID + ":mac" -T_KEY = PROTOID + ":key_extract" -T_VERIFY = PROTOID + ":verify" +M_EXPAND = PROTOID + b":key_expand" +T_MAC = PROTOID + b":mac" +T_KEY = PROTOID + b":key_extract" +T_VERIFY = PROTOID + b":verify" def H_mac(msg): return H(msg, tweak=T_MAC) def H_verify(msg): return H(msg, tweak=T_VERIFY) @@ -91,7 +92,14 @@ class PrivateKey(curve25519mod.Private): # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -def kdf_rfc5869(key, salt, info, n): +if sys.version < '3': + def int2byte(i): + return chr(i) +else: + def int2byte(i): + return bytes([i]) + +def kdf_rfc5869(key, salt, info, n): prk = HMAC(key=salt, msg=key) @@ -99,7 +107,7 @@ def kdf_rfc5869(key, salt, info, n): last = b"" i = 1 while len(out) < n: - m = last + info + chr(i) + m = last + info + int2byte(i) last = h = HMAC(key=prk, msg=m) out += h i = i + 1 @@ -208,7 +216,7 @@ def server(seckey_b, my_node_id, message, keyBytes=72): pubkey_Y.serialize() + pubkey_X.serialize() + PROTOID + - "Server") + b"Server") msg = pubkey_Y.serialize() + H_mac(auth_input) @@ -270,7 +278,7 @@ def client_part2(seckey_x, msg, node_id, pubkey_B, keyBytes=72): pubkey_B.serialize() + pubkey_Y.serialize() + pubkey_X.serialize() + PROTOID + - "Server") + b"Server") my_auth = H_mac(auth_input) @@ -284,7 +292,7 @@ def client_part2(seckey_x, msg, node_id, pubkey_B, keyBytes=72): # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -def demo(node_id="iToldYouAboutStairs.", server_key=PrivateKey()): +def demo(node_id=b"iToldYouAboutStairs.", server_key=PrivateKey()): """ Try to handshake with ourself. """ @@ -294,7 +302,7 @@ def demo(node_id="iToldYouAboutStairs.", server_key=PrivateKey()): assert len(skeys) == 72 assert len(ckeys) == 72 assert skeys == ckeys - print "OK" + print("OK") # ====================================================================== def timing(): @@ -304,7 +312,7 @@ def timing(): import timeit t = timeit.Timer(stmt="ntor_ref.demo(N,SK)", setup="import ntor_ref,curve25519;N='ABCD'*5;SK=ntor_ref.PrivateKey()") - print t.timeit(number=1000) + print(t.timeit(number=1000)) # ====================================================================== @@ -315,7 +323,7 @@ def kdf_vectors(): import binascii def kdf_vec(inp): k = kdf(inp, T_KEY, M_EXPAND, 100) - print repr(inp), "\n\""+ binascii.b2a_hex(k)+ "\"" + print(repr(inp), "\n\""+ binascii.b2a_hex(k)+ "\"") kdf_vec("") kdf_vec("Tor") kdf_vec("AN ALARMING ITEM TO FIND ON YOUR CREDIT-RATING STATEMENT") @@ -328,13 +336,13 @@ def test_tor(): Call the test-ntor-cl command-line program to make sure we can interoperate with Tor's ntor program """ - enhex=binascii.b2a_hex + enhex=lambda s: binascii.b2a_hex(s) dehex=lambda s: binascii.a2b_hex(s.strip()) - PROG = "./src/test/test-ntor-cl" + PROG = b"./src/test/test-ntor-cl" def tor_client1(node_id, pubkey_B): " returns (msg, state) " - p = subprocess.Popen([PROG, "client1", enhex(node_id), + p = subprocess.Popen([PROG, b"client1", enhex(node_id), enhex(pubkey_B.serialize())], stdout=subprocess.PIPE) return map(dehex, p.stdout.readlines()) @@ -352,7 +360,7 @@ def test_tor(): return map(dehex, p.stdout.readlines()) - node_id = "thisisatornodeid$#%^" + node_id = b"thisisatornodeid$#%^" seckey_b = PrivateKey() pubkey_B = seckey_b.get_public() @@ -377,14 +385,13 @@ def test_tor(): assert c_keys == s_keys assert len(c_keys) == 90 - print "OK" + print("OK") # ====================================================================== if __name__ == '__main__': - import sys if len(sys.argv) < 2: - print __doc__ + print(__doc__) elif sys.argv[1] == 'gen_kdf_vectors': kdf_vectors() elif sys.argv[1] == 'timing': @@ -395,4 +402,4 @@ if __name__ == '__main__': test_tor() else: - print __doc__ + print(__doc__) diff --git a/src/test/slownacl_curve25519.py b/src/test/slownacl_curve25519.py index 25244fb122..4dabab61b6 100644 --- a/src/test/slownacl_curve25519.py +++ b/src/test/slownacl_curve25519.py @@ -8,12 +8,14 @@ __all__ = ['smult_curve25519_base', 'smult_curve25519'] +import sys + P = 2 ** 255 - 19 A = 486662 def expmod(b, e, m): if e == 0: return 1 - t = expmod(b, e / 2, m) ** 2 % m + t = expmod(b, e // 2, m) ** 2 % m if e & 1: t = (t * b) % m return t @@ -23,12 +25,14 @@ def inv(x): # Addition and doubling formulas taken from Appendix D of "Curve25519: # new Diffie-Hellman speed records". -def add((xn,zn), (xm,zm), (xd,zd)): +def add(n,m,d): + (xn,zn), (xm,zm), (xd,zd) = n, m, d x = 4 * (xm * xn - zm * zn) ** 2 * zd z = 4 * (xm * zn - zm * xn) ** 2 * xd return (x % P, z % P) -def double((xn,zn)): +def double(n): + (xn,zn) = n x = (xn ** 2 - zn ** 2) ** 2 z = 4 * xn * zn * (xn ** 2 + A * xn * zn + zn ** 2) return (x % P, z % P) @@ -40,19 +44,34 @@ def curve25519(n, base): # (m+1)th multiple of base. def f(m): if m == 1: return (one, two) - (pm, pm1) = f(m / 2) + (pm, pm1) = f(m // 2) if (m & 1): return (add(pm, pm1, one), double(pm1)) return (double(pm), add(pm, pm1, one)) ((x,z), _) = f(n) return (x * inv(z)) % P +if sys.version < '3': + def b2i(c): + return ord(c) + def i2b(i): + return chr(i) + def ba2bs(ba): + return "".join(ba) +else: + def b2i(c): + return c + def i2b(i): + return i + def ba2bs(ba): + return bytes(ba) + def unpack(s): if len(s) != 32: raise ValueError('Invalid Curve25519 argument') - return sum(ord(s[i]) << (8 * i) for i in range(32)) + return sum(b2i(s[i]) << (8 * i) for i in range(32)) def pack(n): - return ''.join([chr((n >> (8 * i)) & 255) for i in range(32)]) + return ba2bs([i2b((n >> (8 * i)) & 255) for i in range(32)]) def clamp(n): n &= ~7 diff --git a/src/test/test.c b/src/test/test.c index 522f2af645..771725e231 100644 --- a/src/test/test.c +++ b/src/test/test.c @@ -598,335 +598,6 @@ test_circuit_timeout(void) return; } -/* Helper: assert that short_policy parses and writes back out as itself, - or as <b>expected</b> if that's provided. */ -static void -test_short_policy_parse(const char *input, - const char *expected) -{ - short_policy_t *short_policy = NULL; - char *out = NULL; - - if (expected == NULL) - expected = input; - - short_policy = parse_short_policy(input); - tt_assert(short_policy); - out = write_short_policy(short_policy); - tt_str_op(out, ==, expected); - - done: - tor_free(out); - short_policy_free(short_policy); -} - -/** Helper: Parse the exit policy string in <b>policy_str</b>, and make sure - * that policies_summarize() produces the string <b>expected_summary</b> from - * it. */ -static void -test_policy_summary_helper(const char *policy_str, - const char *expected_summary) -{ - config_line_t line; - smartlist_t *policy = smartlist_new(); - char *summary = NULL; - char *summary_after = NULL; - int r; - short_policy_t *short_policy = NULL; - - line.key = (char*)"foo"; - line.value = (char *)policy_str; - line.next = NULL; - - r = policies_parse_exit_policy(&line, &policy, 1, 0, NULL, 1); - test_eq(r, 0); - summary = policy_summarize(policy, AF_INET); - - test_assert(summary != NULL); - test_streq(summary, expected_summary); - - short_policy = parse_short_policy(summary); - tt_assert(short_policy); - summary_after = write_short_policy(short_policy); - test_streq(summary, summary_after); - - done: - tor_free(summary_after); - tor_free(summary); - if (policy) - addr_policy_list_free(policy); - short_policy_free(short_policy); -} - -/** Run unit tests for generating summary lines of exit policies */ -static void -test_policies(void) -{ - int i; - smartlist_t *policy = NULL, *policy2 = NULL, *policy3 = NULL, - *policy4 = NULL, *policy5 = NULL, *policy6 = NULL, - *policy7 = NULL; - addr_policy_t *p; - tor_addr_t tar; - config_line_t line; - smartlist_t *sm = NULL; - char *policy_str = NULL; - - policy = smartlist_new(); - - p = router_parse_addr_policy_item_from_string("reject 192.168.0.0/16:*",-1); - test_assert(p != NULL); - test_eq(ADDR_POLICY_REJECT, p->policy_type); - tor_addr_from_ipv4h(&tar, 0xc0a80000u); - test_eq(0, tor_addr_compare(&p->addr, &tar, CMP_EXACT)); - test_eq(16, p->maskbits); - test_eq(1, p->prt_min); - test_eq(65535, p->prt_max); - - smartlist_add(policy, p); - - tor_addr_from_ipv4h(&tar, 0x01020304u); - test_assert(ADDR_POLICY_ACCEPTED == - compare_tor_addr_to_addr_policy(&tar, 2, policy)); - tor_addr_make_unspec(&tar); - test_assert(ADDR_POLICY_PROBABLY_ACCEPTED == - compare_tor_addr_to_addr_policy(&tar, 2, policy)); - tor_addr_from_ipv4h(&tar, 0xc0a80102); - test_assert(ADDR_POLICY_REJECTED == - compare_tor_addr_to_addr_policy(&tar, 2, policy)); - - test_assert(0 == policies_parse_exit_policy(NULL, &policy2, 1, 1, NULL, 1)); - test_assert(policy2); - - policy3 = smartlist_new(); - p = router_parse_addr_policy_item_from_string("reject *:*",-1); - test_assert(p != NULL); - smartlist_add(policy3, p); - p = router_parse_addr_policy_item_from_string("accept *:*",-1); - test_assert(p != NULL); - smartlist_add(policy3, p); - - policy4 = smartlist_new(); - p = router_parse_addr_policy_item_from_string("accept *:443",-1); - test_assert(p != NULL); - smartlist_add(policy4, p); - p = router_parse_addr_policy_item_from_string("accept *:443",-1); - test_assert(p != NULL); - smartlist_add(policy4, p); - - policy5 = smartlist_new(); - p = router_parse_addr_policy_item_from_string("reject 0.0.0.0/8:*",-1); - test_assert(p != NULL); - smartlist_add(policy5, p); - p = router_parse_addr_policy_item_from_string("reject 169.254.0.0/16:*",-1); - test_assert(p != NULL); - smartlist_add(policy5, p); - p = router_parse_addr_policy_item_from_string("reject 127.0.0.0/8:*",-1); - test_assert(p != NULL); - smartlist_add(policy5, p); - p = router_parse_addr_policy_item_from_string("reject 192.168.0.0/16:*",-1); - test_assert(p != NULL); - smartlist_add(policy5, p); - p = router_parse_addr_policy_item_from_string("reject 10.0.0.0/8:*",-1); - test_assert(p != NULL); - smartlist_add(policy5, p); - p = router_parse_addr_policy_item_from_string("reject 172.16.0.0/12:*",-1); - test_assert(p != NULL); - smartlist_add(policy5, p); - p = router_parse_addr_policy_item_from_string("reject 80.190.250.90:*",-1); - test_assert(p != NULL); - smartlist_add(policy5, p); - p = router_parse_addr_policy_item_from_string("reject *:1-65534",-1); - test_assert(p != NULL); - smartlist_add(policy5, p); - p = router_parse_addr_policy_item_from_string("reject *:65535",-1); - test_assert(p != NULL); - smartlist_add(policy5, p); - p = router_parse_addr_policy_item_from_string("accept *:1-65535",-1); - test_assert(p != NULL); - smartlist_add(policy5, p); - - policy6 = smartlist_new(); - p = router_parse_addr_policy_item_from_string("accept 43.3.0.0/9:*",-1); - test_assert(p != NULL); - smartlist_add(policy6, p); - - policy7 = smartlist_new(); - p = router_parse_addr_policy_item_from_string("accept 0.0.0.0/8:*",-1); - test_assert(p != NULL); - smartlist_add(policy7, p); - - test_assert(!exit_policy_is_general_exit(policy)); - test_assert(exit_policy_is_general_exit(policy2)); - test_assert(!exit_policy_is_general_exit(NULL)); - test_assert(!exit_policy_is_general_exit(policy3)); - test_assert(!exit_policy_is_general_exit(policy4)); - test_assert(!exit_policy_is_general_exit(policy5)); - test_assert(!exit_policy_is_general_exit(policy6)); - test_assert(!exit_policy_is_general_exit(policy7)); - - test_assert(cmp_addr_policies(policy, policy2)); - test_assert(cmp_addr_policies(policy, NULL)); - test_assert(!cmp_addr_policies(policy2, policy2)); - test_assert(!cmp_addr_policies(NULL, NULL)); - - test_assert(!policy_is_reject_star(policy2, AF_INET)); - test_assert(policy_is_reject_star(policy, AF_INET)); - test_assert(policy_is_reject_star(NULL, AF_INET)); - - addr_policy_list_free(policy); - policy = NULL; - - /* make sure compacting logic works. */ - policy = NULL; - line.key = (char*)"foo"; - line.value = (char*)"accept *:80,reject private:*,reject *:*"; - line.next = NULL; - test_assert(0 == policies_parse_exit_policy(&line, &policy, 1, 0, NULL, 1)); - test_assert(policy); - //test_streq(policy->string, "accept *:80"); - //test_streq(policy->next->string, "reject *:*"); - test_eq(smartlist_len(policy), 4); - - /* test policy summaries */ - /* check if we properly ignore private IP addresses */ - test_policy_summary_helper("reject 192.168.0.0/16:*," - "reject 0.0.0.0/8:*," - "reject 10.0.0.0/8:*," - "accept *:10-30," - "accept *:90," - "reject *:*", - "accept 10-30,90"); - /* check all accept policies, and proper counting of rejects */ - test_policy_summary_helper("reject 11.0.0.0/9:80," - "reject 12.0.0.0/9:80," - "reject 13.0.0.0/9:80," - "reject 14.0.0.0/9:80," - "accept *:*", "accept 1-65535"); - test_policy_summary_helper("reject 11.0.0.0/9:80," - "reject 12.0.0.0/9:80," - "reject 13.0.0.0/9:80," - "reject 14.0.0.0/9:80," - "reject 15.0.0.0:81," - "accept *:*", "accept 1-65535"); - test_policy_summary_helper("reject 11.0.0.0/9:80," - "reject 12.0.0.0/9:80," - "reject 13.0.0.0/9:80," - "reject 14.0.0.0/9:80," - "reject 15.0.0.0:80," - "accept *:*", - "reject 80"); - /* no exits */ - test_policy_summary_helper("accept 11.0.0.0/9:80," - "reject *:*", - "reject 1-65535"); - /* port merging */ - test_policy_summary_helper("accept *:80," - "accept *:81," - "accept *:100-110," - "accept *:111," - "reject *:*", - "accept 80-81,100-111"); - /* border ports */ - test_policy_summary_helper("accept *:1," - "accept *:3," - "accept *:65535," - "reject *:*", - "accept 1,3,65535"); - /* holes */ - test_policy_summary_helper("accept *:1," - "accept *:3," - "accept *:5," - "accept *:7," - "reject *:*", - "accept 1,3,5,7"); - test_policy_summary_helper("reject *:1," - "reject *:3," - "reject *:5," - "reject *:7," - "accept *:*", - "reject 1,3,5,7"); - - /* Short policies with unrecognized formats should get accepted. */ - test_short_policy_parse("accept fred,2,3-5", "accept 2,3-5"); - test_short_policy_parse("accept 2,fred,3", "accept 2,3"); - test_short_policy_parse("accept 2,fred,3,bob", "accept 2,3"); - test_short_policy_parse("accept 2,-3,500-600", "accept 2,500-600"); - /* Short policies with nil entries are accepted too. */ - test_short_policy_parse("accept 1,,3", "accept 1,3"); - test_short_policy_parse("accept 100-200,,", "accept 100-200"); - test_short_policy_parse("reject ,1-10,,,,30-40", "reject 1-10,30-40"); - - /* Try parsing various broken short policies */ - tt_ptr_op(NULL, ==, parse_short_policy("accept 200-199")); - tt_ptr_op(NULL, ==, parse_short_policy("")); - tt_ptr_op(NULL, ==, parse_short_policy("rejekt 1,2,3")); - tt_ptr_op(NULL, ==, parse_short_policy("reject ")); - tt_ptr_op(NULL, ==, parse_short_policy("reject")); - tt_ptr_op(NULL, ==, parse_short_policy("rej")); - tt_ptr_op(NULL, ==, parse_short_policy("accept 2,3,100000")); - tt_ptr_op(NULL, ==, parse_short_policy("accept 2,3x,4")); - tt_ptr_op(NULL, ==, parse_short_policy("accept 2,3x,4")); - tt_ptr_op(NULL, ==, parse_short_policy("accept 2-")); - tt_ptr_op(NULL, ==, parse_short_policy("accept 2-x")); - tt_ptr_op(NULL, ==, parse_short_policy("accept 1-,3")); - tt_ptr_op(NULL, ==, parse_short_policy("accept 1-,3")); - /* Test a too-long policy. */ - { - int i; - char *policy = NULL; - smartlist_t *chunks = smartlist_new(); - smartlist_add(chunks, tor_strdup("accept ")); - for (i=1; i<10000; ++i) - smartlist_add_asprintf(chunks, "%d,", i); - smartlist_add(chunks, tor_strdup("20000")); - policy = smartlist_join_strings(chunks, "", 0, NULL); - SMARTLIST_FOREACH(chunks, char *, ch, tor_free(ch)); - smartlist_free(chunks); - tt_ptr_op(NULL, ==, parse_short_policy(policy));/* shouldn't be accepted */ - tor_free(policy); /* could leak. */ - } - - /* truncation ports */ - sm = smartlist_new(); - for (i=1; i<2000; i+=2) { - char buf[POLICY_BUF_LEN]; - tor_snprintf(buf, sizeof(buf), "reject *:%d", i); - smartlist_add(sm, tor_strdup(buf)); - } - smartlist_add(sm, tor_strdup("accept *:*")); - policy_str = smartlist_join_strings(sm, ",", 0, NULL); - test_policy_summary_helper( policy_str, - "accept 2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44," - "46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90," - "92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128," - "130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164," - "166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200," - "202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236," - "238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272," - "274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308," - "310,312,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344," - "346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,376,378,380," - "382,384,386,388,390,392,394,396,398,400,402,404,406,408,410,412,414,416," - "418,420,422,424,426,428,430,432,434,436,438,440,442,444,446,448,450,452," - "454,456,458,460,462,464,466,468,470,472,474,476,478,480,482,484,486,488," - "490,492,494,496,498,500,502,504,506,508,510,512,514,516,518,520,522"); - - done: - addr_policy_list_free(policy); - addr_policy_list_free(policy2); - addr_policy_list_free(policy3); - addr_policy_list_free(policy4); - addr_policy_list_free(policy5); - addr_policy_list_free(policy6); - addr_policy_list_free(policy7); - tor_free(policy_str); - if (sm) { - SMARTLIST_FOREACH(sm, char *, s, tor_free(s)); - smartlist_free(sm); - } -} - /** Test encoding and parsing of rendezvous service descriptors. */ static void test_rend_fns(void) @@ -1595,7 +1266,6 @@ static struct testcase_t test_array[] = { { "ntor_handshake", test_ntor_handshake, 0, NULL, NULL }, #endif ENT(circuit_timeout), - ENT(policies), ENT(rend_fns), ENT(geoip), FORK(geoip_with_pt), @@ -1615,6 +1285,7 @@ extern struct testcase_t pt_tests[]; extern struct testcase_t config_tests[]; extern struct testcase_t introduce_tests[]; extern struct testcase_t replaycache_tests[]; +extern struct testcase_t relaycell_tests[]; extern struct testcase_t cell_format_tests[]; extern struct testcase_t circuitlist_tests[]; extern struct testcase_t circuitmux_tests[]; @@ -1624,9 +1295,12 @@ extern struct testcase_t socks_tests[]; extern struct testcase_t extorport_tests[]; extern struct testcase_t controller_event_tests[]; extern struct testcase_t logging_tests[]; -extern struct testcase_t backtrace_tests[]; extern struct testcase_t hs_tests[]; extern struct testcase_t nodelist_tests[]; +extern struct testcase_t routerkeys_tests[]; +extern struct testcase_t oom_tests[]; +extern struct testcase_t policy_tests[]; +extern struct testcase_t status_tests[]; static struct testgroup_t testgroups[] = { { "", test_array }, @@ -1644,6 +1318,7 @@ static struct testgroup_t testgroups[] = { { "pt/", pt_tests }, { "config/", config_tests }, { "replaycache/", replaycache_tests }, + { "relaycell/", relaycell_tests }, { "introduce/", introduce_tests }, { "circuitlist/", circuitlist_tests }, { "circuitmux/", circuitmux_tests }, @@ -1652,6 +1327,10 @@ static struct testgroup_t testgroups[] = { { "control/", controller_event_tests }, { "hs/", hs_tests }, { "nodelist/", nodelist_tests }, + { "routerkeys/", routerkeys_tests }, + { "oom/", oom_tests }, + { "policy/" , policy_tests }, + { "status/" , status_tests }, END_OF_GROUPS }; diff --git a/src/test/test.h b/src/test/test.h index a89b558e5a..0ccf6c718e 100644 --- a/src/test/test.h +++ b/src/test/test.h @@ -36,17 +36,7 @@ #define test_strneq(expr1, expr2) tt_str_op((expr1), !=, (expr2)) #define test_mem_op(expr1, op, expr2, len) \ - tt_assert_test_fmt_type(expr1,expr2,#expr1" "#op" "#expr2, \ - const char *, \ - (memcmp(val1_, val2_, len) op 0), \ - char *, "%s", \ - { size_t printlen = (len)*2+1; \ - print_ = tor_malloc(printlen); \ - base16_encode(print_, printlen, value_, \ - (len)); }, \ - { tor_free(print_); }, \ - TT_EXIT_TEST_FUNCTION \ - ); + tt_mem_op((expr1), op, (expr2), (len)) #define test_memeq(expr1, expr2, len) test_mem_op((expr1), ==, (expr2), len) #define test_memneq(expr1, expr2, len) test_mem_op((expr1), !=, (expr2), len) @@ -75,5 +65,97 @@ crypto_pk_t *pk_generate(int idx); void legacy_test_helper(void *data); extern const struct testcase_setup_t legacy_setup; +#define US2_CONCAT_2__(a, b) a ## __ ## b +#define US_CONCAT_2__(a, b) a ## _ ## b +#define US_CONCAT_3__(a, b, c) a ## _ ## b ## _ ## c +#define US_CONCAT_2_(a, b) US_CONCAT_2__(a, b) +#define US_CONCAT_3_(a, b, c) US_CONCAT_3__(a, b, c) + +/* + * These macros are helpful for streamlining the authorship of several test + * cases that use mocks. + * + * The pattern is as follows. + * * Declare a top level namespace: + * #define NS_MODULE foo + * + * * For each test case you want to write, create a new submodule in the + * namespace. All mocks and other information should belong to a single + * submodule to avoid interference with other test cases. + * You can simply name the submodule after the function in the module you + * are testing: + * #define NS_SUBMODULE some_function + * or, if you're wanting to write several tests against the same function, + * ie., you are testing an aspect of that function, you can use: + * #define NS_SUBMODULE ASPECT(some_function, behavior) + * + * * Declare all the mocks you will use. The NS_DECL macro serves to declare + * the mock in the current namespace (defined by NS_MODULE and NS_SUBMODULE). + * It behaves like MOCK_DECL: + * NS_DECL(int, dependent_function, (void *)); + * Here, dependent_function must be declared and implemented with the + * MOCK_DECL and MOCK_IMPL macros. The NS_DECL macro also defines an integer + * global for use for tracking how many times a mock was called, and can be + * accessed by CALLED(mock_name). For example, you might put + * CALLED(dependent_function)++; + * in your mock body. + * + * * Define a function called NS(main) that will contain the body of the + * test case. The NS macro can be used to reference a name in the current + * namespace. + * + * * In NS(main), indicate that a mock function in the current namespace, + * declared with NS_DECL is to override that in the global namespace, + * with the NS_MOCK macro: + * NS_MOCK(dependent_function) + * Unmock with: + * NS_UNMOCK(dependent_function) + * + * * Define the mocks with the NS macro, eg., + * int + * NS(dependent_function)(void *) + * { + * CALLED(dependent_function)++; + * } + * + * * In the struct testcase_t array, you can use the TEST_CASE and + * TEST_CASE_ASPECT macros to define the cases without having to do so + * explicitly nor without having to reset NS_SUBMODULE, eg., + * struct testcase_t foo_tests[] = { + * TEST_CASE_ASPECT(some_function, behavior), + * ... + * END_OF_TESTCASES + * which will define a test case named "some_function__behavior". + */ + +#define NAME_TEST_(name) #name +#define NAME_TEST(name) NAME_TEST_(name) +#define ASPECT(test_module, test_name) US2_CONCAT_2__(test_module, test_name) +#define TEST_CASE(function) \ + { \ + NAME_TEST(function), \ + NS_FULL(NS_MODULE, function, test_main), \ + TT_FORK, \ + NULL, \ + NULL, \ + } +#define TEST_CASE_ASPECT(function, aspect) \ + { \ + NAME_TEST(ASPECT(function, aspect)), \ + NS_FULL(NS_MODULE, ASPECT(function, aspect), test_main), \ + TT_FORK, \ + NULL, \ + NULL, \ + } + +#define NS(name) US_CONCAT_3_(NS_MODULE, NS_SUBMODULE, name) +#define NS_FULL(module, submodule, name) US_CONCAT_3_(module, submodule, name) + +#define CALLED(mock_name) US_CONCAT_2_(NS(mock_name), called) +#define NS_DECL(retval, mock_fn, args) \ + static retval NS(mock_fn) args; int CALLED(mock_fn) = 0 +#define NS_MOCK(name) MOCK(name, NS(name)) +#define NS_UNMOCK(name) UNMOCK(name) + #endif diff --git a/src/test/test_addr.c b/src/test/test_addr.c index 79ddd95090..50011e606b 100644 --- a/src/test/test_addr.c +++ b/src/test/test_addr.c @@ -73,7 +73,7 @@ test_addr_basic(void) } done: - ; + tor_free(cp); } #define test_op_ip6_(a,op,b,e1,e2) \ @@ -346,6 +346,9 @@ test_addr_ip6_helpers(void) test_pton6_bad("a:::b:c"); test_pton6_bad(":::a:b:c"); test_pton6_bad("a:b:c:::"); + test_pton6_bad("1.2.3.4"); + test_pton6_bad(":1.2.3.4"); + test_pton6_bad(".2.3.4"); /* test internal checking */ test_external_ip("fbff:ffff::2:7", 0); @@ -402,7 +405,6 @@ test_addr_ip6_helpers(void) test_internal_ip("::ffff:169.254.0.0", 0); test_internal_ip("::ffff:169.254.255.255", 0); test_external_ip("::ffff:169.255.0.0", 0); - test_assert(is_internal_IP(0x7f000001, 0)); /* tor_addr_compare(tor_addr_t x2) */ test_addr_compare("ffff::", ==, "ffff::0"); @@ -744,42 +746,89 @@ test_addr_parse(void) /* Correct call. */ r= tor_addr_port_parse(LOG_DEBUG, "192.0.2.1:1234", - &addr, &port); + &addr, &port, -1); test_assert(r == 0); tor_addr_to_str(buf, &addr, sizeof(buf), 0); test_streq(buf, "192.0.2.1"); test_eq(port, 1234); + r= tor_addr_port_parse(LOG_DEBUG, + "[::1]:1234", + &addr, &port, -1); + test_assert(r == 0); + tor_addr_to_str(buf, &addr, sizeof(buf), 0); + test_streq(buf, "::1"); + test_eq(port, 1234); + /* Domain name. */ r= tor_addr_port_parse(LOG_DEBUG, "torproject.org:1234", - &addr, &port); + &addr, &port, -1); test_assert(r == -1); /* Only IP. */ r= tor_addr_port_parse(LOG_DEBUG, "192.0.2.2", - &addr, &port); + &addr, &port, -1); + test_assert(r == -1); + + r= tor_addr_port_parse(LOG_DEBUG, + "192.0.2.2", + &addr, &port, 200); + test_assert(r == 0); + tt_int_op(port,==,200); + + r= tor_addr_port_parse(LOG_DEBUG, + "[::1]", + &addr, &port, -1); test_assert(r == -1); + r= tor_addr_port_parse(LOG_DEBUG, + "[::1]", + &addr, &port, 400); + test_assert(r == 0); + tt_int_op(port,==,400); + /* Bad port. */ r= tor_addr_port_parse(LOG_DEBUG, "192.0.2.2:66666", - &addr, &port); + &addr, &port, -1); + test_assert(r == -1); + r= tor_addr_port_parse(LOG_DEBUG, + "192.0.2.2:66666", + &addr, &port, 200); test_assert(r == -1); /* Only domain name */ r= tor_addr_port_parse(LOG_DEBUG, "torproject.org", - &addr, &port); + &addr, &port, -1); + test_assert(r == -1); + r= tor_addr_port_parse(LOG_DEBUG, + "torproject.org", + &addr, &port, 200); test_assert(r == -1); /* Bad IP address */ r= tor_addr_port_parse(LOG_DEBUG, "192.0.2:1234", - &addr, &port); + &addr, &port, -1); test_assert(r == -1); + /* Make sure that the default port has lower priority than the real + one */ + r= tor_addr_port_parse(LOG_DEBUG, + "192.0.2.2:1337", + &addr, &port, 200); + test_assert(r == 0); + tt_int_op(port,==,1337); + + r= tor_addr_port_parse(LOG_DEBUG, + "[::1]:1369", + &addr, &port, 200); + test_assert(r == 0); + tt_int_op(port,==,1369); + done: ; } @@ -971,6 +1020,32 @@ test_addr_is_loopback(void *data) ; } +static void +test_addr_make_null(void *data) +{ + tor_addr_t *addr = tor_malloc(sizeof(*addr)); + tor_addr_t *zeros = tor_malloc_zero(sizeof(*addr)); + char buf[TOR_ADDR_BUF_LEN]; + (void) data; + /* Ensure that before tor_addr_make_null, addr != 0's */ + memset(addr, 1, sizeof(*addr)); + tt_int_op(memcmp(addr, zeros, sizeof(*addr)), !=, 0); + /* Test with AF == AF_INET */ + zeros->family = AF_INET; + tor_addr_make_null(addr, AF_INET); + tt_int_op(memcmp(addr, zeros, sizeof(*addr)), ==, 0); + tt_str_op(tor_addr_to_str(buf, addr, sizeof(buf), 0), ==, "0.0.0.0"); + /* Test with AF == AF_INET6 */ + memset(addr, 1, sizeof(*addr)); + zeros->family = AF_INET6; + tor_addr_make_null(addr, AF_INET6); + tt_int_op(memcmp(addr, zeros, sizeof(*addr)), ==, 0); + tt_str_op(tor_addr_to_str(buf, addr, sizeof(buf), 0), ==, "::"); + done: + tor_free(addr); + tor_free(zeros); +} + #define ADDR_LEGACY(name) \ { #name, legacy_test_helper, 0, &legacy_setup, test_addr_ ## name } @@ -983,6 +1058,7 @@ struct testcase_t addr_tests[] = { { "dup_ip", test_addr_dup_ip, 0, NULL, NULL }, { "sockaddr_to_str", test_addr_sockaddr_to_str, 0, NULL, NULL }, { "is_loopback", test_addr_is_loopback, 0, NULL, NULL }, + { "make_null", test_addr_make_null, 0, NULL, NULL }, END_OF_TESTCASES }; diff --git a/src/test/test_buffers.c b/src/test/test_buffers.c index a009faa0be..c2cfd2700f 100644 --- a/src/test/test_buffers.c +++ b/src/test/test_buffers.c @@ -193,7 +193,120 @@ test_buffers_basic(void *arg) buf_free(buf); if (buf2) buf_free(buf2); + buf_shrink_freelists(1); } + +static void +test_buffer_pullup(void *arg) +{ + buf_t *buf; + char *stuff, *tmp; + const char *cp; + size_t sz; + (void)arg; + stuff = tor_malloc(16384); + tmp = tor_malloc(16384); + + /* Note: this test doesn't check the nulterminate argument to buf_pullup, + since nothing actually uses it. We should remove it some time. */ + + buf = buf_new_with_capacity(3000); /* rounds up to next power of 2. */ + + tt_assert(buf); + tt_int_op(buf_get_default_chunk_size(buf), ==, 4096); + + tt_int_op(buf_get_total_allocation(), ==, 0); + + /* There are a bunch of cases for pullup. One is the trivial case. Let's + mess around with an empty buffer. */ + buf_pullup(buf, 16, 1); + buf_get_first_chunk_data(buf, &cp, &sz); + tt_ptr_op(cp, ==, NULL); + tt_ptr_op(sz, ==, 0); + + /* Let's make sure nothing got allocated */ + tt_int_op(buf_get_total_allocation(), ==, 0); + + /* Case 1: everything puts into the first chunk with some moving. */ + + /* Let's add some data. */ + crypto_rand(stuff, 16384); + write_to_buf(stuff, 3000, buf); + write_to_buf(stuff+3000, 3000, buf); + buf_get_first_chunk_data(buf, &cp, &sz); + tt_ptr_op(cp, !=, NULL); + tt_int_op(sz, <=, 4096); + + /* Make room for 3000 bytes in the first chunk, so that the pullup-move code + * can get tested. */ + tt_int_op(fetch_from_buf(tmp, 3000, buf), ==, 3000); + test_memeq(tmp, stuff, 3000); + buf_pullup(buf, 2048, 0); + assert_buf_ok(buf); + buf_get_first_chunk_data(buf, &cp, &sz); + tt_ptr_op(cp, !=, NULL); + tt_int_op(sz, >=, 2048); + test_memeq(cp, stuff+3000, 2048); + tt_int_op(3000, ==, buf_datalen(buf)); + tt_int_op(fetch_from_buf(tmp, 3000, buf), ==, 0); + test_memeq(tmp, stuff+3000, 2048); + + buf_free(buf); + + /* Now try the large-chunk case. */ + buf = buf_new_with_capacity(3000); /* rounds up to next power of 2. */ + write_to_buf(stuff, 4000, buf); + write_to_buf(stuff+4000, 4000, buf); + write_to_buf(stuff+8000, 4000, buf); + write_to_buf(stuff+12000, 4000, buf); + tt_int_op(buf_datalen(buf), ==, 16000); + buf_get_first_chunk_data(buf, &cp, &sz); + tt_ptr_op(cp, !=, NULL); + tt_int_op(sz, <=, 4096); + + buf_pullup(buf, 12500, 0); + assert_buf_ok(buf); + buf_get_first_chunk_data(buf, &cp, &sz); + tt_ptr_op(cp, !=, NULL); + tt_int_op(sz, >=, 12500); + test_memeq(cp, stuff, 12500); + tt_int_op(buf_datalen(buf), ==, 16000); + + fetch_from_buf(tmp, 12400, buf); + test_memeq(tmp, stuff, 12400); + tt_int_op(buf_datalen(buf), ==, 3600); + fetch_from_buf(tmp, 3500, buf); + test_memeq(tmp, stuff+12400, 3500); + fetch_from_buf(tmp, 100, buf); + test_memeq(tmp, stuff+15900, 10); + + buf_free(buf); + + /* Make sure that the pull-up-whole-buffer case works */ + buf = buf_new_with_capacity(3000); /* rounds up to next power of 2. */ + write_to_buf(stuff, 4000, buf); + write_to_buf(stuff+4000, 4000, buf); + fetch_from_buf(tmp, 100, buf); /* dump 100 bytes from first chunk */ + buf_pullup(buf, 16000, 0); /* Way too much. */ + assert_buf_ok(buf); + buf_get_first_chunk_data(buf, &cp, &sz); + tt_ptr_op(cp, !=, NULL); + tt_int_op(sz, ==, 7900); + test_memeq(cp, stuff+100, 7900); + + buf_free(buf); + buf = NULL; + + buf_shrink_freelists(1); + + tt_int_op(buf_get_total_allocation(), ==, 0); + done: + buf_free(buf); + buf_shrink_freelists(1); + tor_free(stuff); + tor_free(tmp); +} + static void test_buffer_copy(void *arg) { @@ -257,6 +370,7 @@ test_buffer_copy(void *arg) generic_buffer_free(buf); if (buf2) generic_buffer_free(buf2); + buf_shrink_freelists(1); } static void @@ -331,12 +445,165 @@ test_buffer_ext_or_cmd(void *arg) ext_or_cmd_free(cmd); generic_buffer_free(buf); tor_free(tmp); + buf_shrink_freelists(1); +} + +static void +test_buffer_allocation_tracking(void *arg) +{ + char *junk = tor_malloc(16384); + buf_t *buf1 = NULL, *buf2 = NULL; + int i; + + (void)arg; + + crypto_rand(junk, 16384); + tt_int_op(buf_get_total_allocation(), ==, 0); + + buf1 = buf_new(); + tt_assert(buf1); + buf2 = buf_new(); + tt_assert(buf2); + + tt_int_op(buf_allocation(buf1), ==, 0); + tt_int_op(buf_get_total_allocation(), ==, 0); + + write_to_buf(junk, 4000, buf1); + write_to_buf(junk, 4000, buf1); + write_to_buf(junk, 4000, buf1); + write_to_buf(junk, 4000, buf1); + tt_int_op(buf_allocation(buf1), ==, 16384); + fetch_from_buf(junk, 100, buf1); + tt_int_op(buf_allocation(buf1), ==, 16384); /* still 4 4k chunks */ + + tt_int_op(buf_get_total_allocation(), ==, 16384); + + fetch_from_buf(junk, 4096, buf1); /* drop a 1k chunk... */ + tt_int_op(buf_allocation(buf1), ==, 3*4096); /* now 3 4k chunks */ + +#ifdef ENABLE_BUF_FREELISTS + tt_int_op(buf_get_total_allocation(), ==, 16384); /* that chunk went onto + the freelist. */ +#else + tt_int_op(buf_get_total_allocation(), ==, 12288); /* that chunk was really + freed. */ +#endif + + write_to_buf(junk, 4000, buf2); + tt_int_op(buf_allocation(buf2), ==, 4096); /* another 4k chunk. */ + /* + * If we're using freelists, size stays at 16384 because we just pulled a + * chunk from the freelist. If we aren't, we bounce back up to 16384 by + * allocating a new chunk. + */ + tt_int_op(buf_get_total_allocation(), ==, 16384); + write_to_buf(junk, 4000, buf2); + tt_int_op(buf_allocation(buf2), ==, 8192); /* another 4k chunk. */ + tt_int_op(buf_get_total_allocation(), ==, 5*4096); /* that chunk was new. */ + + /* Make a really huge buffer */ + for (i = 0; i < 1000; ++i) { + write_to_buf(junk, 4000, buf2); + } + tt_int_op(buf_allocation(buf2), >=, 4008000); + tt_int_op(buf_get_total_allocation(), >=, 4008000); + buf_free(buf2); + buf2 = NULL; + + tt_int_op(buf_get_total_allocation(), <, 4008000); + buf_shrink_freelists(1); + tt_int_op(buf_get_total_allocation(), ==, buf_allocation(buf1)); + buf_free(buf1); + buf1 = NULL; + buf_shrink_freelists(1); + tt_int_op(buf_get_total_allocation(), ==, 0); + + done: + buf_free(buf1); + buf_free(buf2); + buf_shrink_freelists(1); +} + +static void +test_buffer_time_tracking(void *arg) +{ + buf_t *buf=NULL, *buf2=NULL; + struct timeval tv0; + const time_t START = 1389288246; + const uint32_t START_MSEC = (uint32_t) ((uint64_t)START * 1000); + int i; + char tmp[4096]; + (void)arg; + + crypto_rand(tmp, sizeof(tmp)); + + tv0.tv_sec = START; + tv0.tv_usec = 0; + + buf = buf_new_with_capacity(3000); /* rounds up to next power of 2. */ + tt_assert(buf); + + /* Empty buffer means the timestamp is 0. */ + tt_int_op(0, ==, buf_get_oldest_chunk_timestamp(buf, START_MSEC)); + tt_int_op(0, ==, buf_get_oldest_chunk_timestamp(buf, START_MSEC+1000)); + + tor_gettimeofday_cache_set(&tv0); + write_to_buf("ABCDEFG", 7, buf); + tt_int_op(1000, ==, buf_get_oldest_chunk_timestamp(buf, START_MSEC+1000)); + + buf2 = buf_copy(buf); + tt_assert(buf2); + tt_int_op(1234, ==, buf_get_oldest_chunk_timestamp(buf2, START_MSEC+1234)); + + /* Now add more bytes; enough to overflow the first chunk. */ + tv0.tv_usec += 123 * 1000; + tor_gettimeofday_cache_set(&tv0); + for (i = 0; i < 600; ++i) + write_to_buf("ABCDEFG", 7, buf); + tt_int_op(4207, ==, buf_datalen(buf)); + + /* The oldest bytes are still in the front. */ + tt_int_op(2000, ==, buf_get_oldest_chunk_timestamp(buf, START_MSEC+2000)); + + /* Once those bytes are dropped, the chunk is still on the first + * timestamp. */ + fetch_from_buf(tmp, 100, buf); + tt_int_op(2000, ==, buf_get_oldest_chunk_timestamp(buf, START_MSEC+2000)); + + /* But once we discard the whole first chunk, we get the data in the second + * chunk. */ + fetch_from_buf(tmp, 4000, buf); + tt_int_op(107, ==, buf_datalen(buf)); + tt_int_op(2000, ==, buf_get_oldest_chunk_timestamp(buf, START_MSEC+2123)); + + /* This time we'll be grabbing a chunk from the freelist, and making sure + its time gets updated */ + tv0.tv_sec += 5; + tv0.tv_usec = 617*1000; + tor_gettimeofday_cache_set(&tv0); + for (i = 0; i < 600; ++i) + write_to_buf("ABCDEFG", 7, buf); + tt_int_op(4307, ==, buf_datalen(buf)); + + tt_int_op(2000, ==, buf_get_oldest_chunk_timestamp(buf, START_MSEC+2123)); + fetch_from_buf(tmp, 4000, buf); + fetch_from_buf(tmp, 306, buf); + tt_int_op(0, ==, buf_get_oldest_chunk_timestamp(buf, START_MSEC+5617)); + tt_int_op(383, ==, buf_get_oldest_chunk_timestamp(buf, START_MSEC+6000)); + + done: + buf_free(buf); + buf_free(buf2); } struct testcase_t buffer_tests[] = { - { "basic", test_buffers_basic, 0, NULL, NULL }, - { "copy", test_buffer_copy, 0, NULL, NULL }, - { "ext_or_cmd", test_buffer_ext_or_cmd, 0, NULL, NULL }, + { "basic", test_buffers_basic, TT_FORK, NULL, NULL }, + { "copy", test_buffer_copy, TT_FORK, NULL, NULL }, + { "pullup", test_buffer_pullup, TT_FORK, NULL, NULL }, + { "ext_or_cmd", test_buffer_ext_or_cmd, TT_FORK, NULL, NULL }, + { "allocation_tracking", test_buffer_allocation_tracking, TT_FORK, + NULL, NULL }, + { "time_tracking", test_buffer_time_tracking, TT_FORK, NULL, NULL }, END_OF_TESTCASES }; diff --git a/src/test/test_cell_formats.c b/src/test/test_cell_formats.c index 55d8d0f00f..b0eb2fca25 100644 --- a/src/test/test_cell_formats.c +++ b/src/test/test_cell_formats.c @@ -872,6 +872,346 @@ test_cfmt_extended_cells(void *arg) tor_free(mem_op_hex_tmp); } +static void +test_cfmt_resolved_cells(void *arg) +{ + smartlist_t *addrs = smartlist_new(); + relay_header_t rh; + cell_t cell; + int r, errcode; + address_ttl_t *a; + + (void)arg; +#define CLEAR_CELL() do { \ + memset(&cell, 0, sizeof(cell)); \ + memset(&rh, 0, sizeof(rh)); \ + } while (0) +#define CLEAR_ADDRS() do { \ + SMARTLIST_FOREACH(addrs, address_ttl_t *, a, \ + address_ttl_free(a); ); \ + smartlist_clear(addrs); \ + } while (0) +#define SET_CELL(s) do { \ + CLEAR_CELL(); \ + memcpy(cell.payload + RELAY_HEADER_SIZE, (s), sizeof((s))-1); \ + rh.length = sizeof((s))-1; \ + rh.command = RELAY_COMMAND_RESOLVED; \ + errcode = -1; \ + } while (0) + + /* The cell format is one or more answers; each of the form + * type [1 byte---0:hostname, 4:ipv4, 6:ipv6, f0:err-transient, f1:err] + * length [1 byte] + * body [length bytes] + * ttl [4 bytes] + */ + + /* Let's try an empty cell */ + SET_CELL(""); + r = resolved_cell_parse(&cell, &rh, addrs, &errcode); + tt_int_op(errcode, ==, 0); + tt_int_op(r, ==, 0); + tt_int_op(smartlist_len(addrs), ==, 0); + CLEAR_ADDRS(); /* redundant but let's be consistent */ + + /* Cell with one ipv4 addr */ + SET_CELL("\x04\x04" "\x7f\x00\x02\x0a" "\x00\00\x01\x00"); + tt_int_op(rh.length, ==, 10); + r = resolved_cell_parse(&cell, &rh, addrs, &errcode); + tt_int_op(errcode, ==, 0); + tt_int_op(r, ==, 0); + tt_int_op(smartlist_len(addrs), ==, 1); + a = smartlist_get(addrs, 0); + tt_str_op(fmt_addr(&a->addr), ==, "127.0.2.10"); + tt_ptr_op(a->hostname, ==, NULL); + tt_int_op(a->ttl, ==, 256); + CLEAR_ADDRS(); + + /* Cell with one ipv6 addr */ + SET_CELL("\x06\x10" + "\x20\x02\x90\x90\x00\x00\x00\x00" + "\x00\x00\x00\x00\xf0\xf0\xab\xcd" + "\x02\00\x00\x01"); + tt_int_op(rh.length, ==, 22); + r = resolved_cell_parse(&cell, &rh, addrs, &errcode); + tt_int_op(errcode, ==, 0); + tt_int_op(r, ==, 0); + tt_int_op(smartlist_len(addrs), ==, 1); + a = smartlist_get(addrs, 0); + tt_str_op(fmt_addr(&a->addr), ==, "2002:9090::f0f0:abcd"); + tt_ptr_op(a->hostname, ==, NULL); + tt_int_op(a->ttl, ==, 0x2000001); + CLEAR_ADDRS(); + + /* Cell with one hostname */ + SET_CELL("\x00\x11" + "motherbrain.zebes" + "\x00\00\x00\x00"); + tt_int_op(rh.length, ==, 23); + r = resolved_cell_parse(&cell, &rh, addrs, &errcode); + tt_int_op(errcode, ==, 0); + tt_int_op(r, ==, 0); + tt_int_op(smartlist_len(addrs), ==, 1); + a = smartlist_get(addrs, 0); + tt_assert(tor_addr_is_null(&a->addr)); + tt_str_op(a->hostname, ==, "motherbrain.zebes"); + tt_int_op(a->ttl, ==, 0); + CLEAR_ADDRS(); + +#define LONG_NAME \ + "this-hostname-has-255-characters.in-order-to-test-whether-very-long.ho" \ + "stnames-are-accepted.i-am-putting-it-in-a-macro-because-although.this-" \ + "function-is-already-very-full.of-copy-and-pasted-stuff.having-this-app" \ + "ear-more-than-once-would-bother-me-somehow.is" + + tt_int_op(strlen(LONG_NAME), ==, 255); + SET_CELL("\x00\xff" + LONG_NAME + "\x00\01\x00\x00"); + tt_int_op(rh.length, ==, 261); + r = resolved_cell_parse(&cell, &rh, addrs, &errcode); + tt_int_op(errcode, ==, 0); + tt_int_op(r, ==, 0); + tt_int_op(smartlist_len(addrs), ==, 1); + a = smartlist_get(addrs, 0); + tt_assert(tor_addr_is_null(&a->addr)); + tt_str_op(a->hostname, ==, LONG_NAME); + tt_int_op(a->ttl, ==, 65536); + CLEAR_ADDRS(); + + /* Cells with an error */ + SET_CELL("\xf0\x2b" + "I'm sorry, Dave. I'm afraid I can't do that" + "\x00\x11\x22\x33"); + tt_int_op(rh.length, ==, 49); + r = resolved_cell_parse(&cell, &rh, addrs, &errcode); + tt_int_op(errcode, ==, RESOLVED_TYPE_ERROR_TRANSIENT); + tt_int_op(r, ==, 0); + tt_int_op(smartlist_len(addrs), ==, 0); + CLEAR_ADDRS(); + + SET_CELL("\xf1\x40" + "This hostname is too important for me to allow you to resolve it" + "\x00\x00\x00\x00"); + tt_int_op(rh.length, ==, 70); + r = resolved_cell_parse(&cell, &rh, addrs, &errcode); + tt_int_op(errcode, ==, RESOLVED_TYPE_ERROR); + tt_int_op(r, ==, 0); + tt_int_op(smartlist_len(addrs), ==, 0); + CLEAR_ADDRS(); + + /* Cell with an unrecognized type */ + SET_CELL("\xee\x16" + "fault in the AE35 unit" + "\x09\x09\x01\x01"); + tt_int_op(rh.length, ==, 28); + r = resolved_cell_parse(&cell, &rh, addrs, &errcode); + tt_int_op(errcode, ==, 0); + tt_int_op(r, ==, 0); + tt_int_op(smartlist_len(addrs), ==, 0); + CLEAR_ADDRS(); + + /* Cell with one of each */ + SET_CELL(/* unrecognized: */ + "\xee\x16" + "fault in the AE35 unit" + "\x09\x09\x01\x01" + /* error: */ + "\xf0\x2b" + "I'm sorry, Dave. I'm afraid I can't do that" + "\x00\x11\x22\x33" + /* IPv6: */ + "\x06\x10" + "\x20\x02\x90\x90\x00\x00\x00\x00" + "\x00\x00\x00\x00\xf0\xf0\xab\xcd" + "\x02\00\x00\x01" + /* IPv4: */ + "\x04\x04" "\x7f\x00\x02\x0a" "\x00\00\x01\x00" + /* Hostname: */ + "\x00\x11" + "motherbrain.zebes" + "\x00\00\x00\x00" + ); + r = resolved_cell_parse(&cell, &rh, addrs, &errcode); + tt_int_op(errcode, ==, 0); /* no error reported; we got answers */ + tt_int_op(r, ==, 0); + tt_int_op(smartlist_len(addrs), ==, 3); + a = smartlist_get(addrs, 0); + tt_str_op(fmt_addr(&a->addr), ==, "2002:9090::f0f0:abcd"); + tt_ptr_op(a->hostname, ==, NULL); + tt_int_op(a->ttl, ==, 0x2000001); + a = smartlist_get(addrs, 1); + tt_str_op(fmt_addr(&a->addr), ==, "127.0.2.10"); + tt_ptr_op(a->hostname, ==, NULL); + tt_int_op(a->ttl, ==, 256); + a = smartlist_get(addrs, 2); + tt_assert(tor_addr_is_null(&a->addr)); + tt_str_op(a->hostname, ==, "motherbrain.zebes"); + tt_int_op(a->ttl, ==, 0); + CLEAR_ADDRS(); + + /* Cell with several of similar type */ + SET_CELL(/* IPv4 */ + "\x04\x04" "\x7f\x00\x02\x0a" "\x00\00\x01\x00" + "\x04\x04" "\x08\x08\x08\x08" "\x00\00\x01\x05" + "\x04\x04" "\x7f\xb0\x02\xb0" "\x00\01\xff\xff" + /* IPv6 */ + "\x06\x10" + "\x20\x02\x90\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\xca\xfe\xf0\x0d" + "\x00\00\x00\x01" + "\x06\x10" + "\x20\x02\x90\x01\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\xfa\xca\xde" + "\x00\00\x00\x03"); + r = resolved_cell_parse(&cell, &rh, addrs, &errcode); + tt_int_op(errcode, ==, 0); + tt_int_op(r, ==, 0); + tt_int_op(smartlist_len(addrs), ==, 5); + a = smartlist_get(addrs, 0); + tt_str_op(fmt_addr(&a->addr), ==, "127.0.2.10"); + tt_ptr_op(a->hostname, ==, NULL); + tt_int_op(a->ttl, ==, 256); + a = smartlist_get(addrs, 1); + tt_str_op(fmt_addr(&a->addr), ==, "8.8.8.8"); + tt_ptr_op(a->hostname, ==, NULL); + tt_int_op(a->ttl, ==, 261); + a = smartlist_get(addrs, 2); + tt_str_op(fmt_addr(&a->addr), ==, "127.176.2.176"); + tt_ptr_op(a->hostname, ==, NULL); + tt_int_op(a->ttl, ==, 131071); + a = smartlist_get(addrs, 3); + tt_str_op(fmt_addr(&a->addr), ==, "2002:9000::cafe:f00d"); + tt_ptr_op(a->hostname, ==, NULL); + tt_int_op(a->ttl, ==, 1); + a = smartlist_get(addrs, 4); + tt_str_op(fmt_addr(&a->addr), ==, "2002:9001::fa:cade"); + tt_ptr_op(a->hostname, ==, NULL); + tt_int_op(a->ttl, ==, 3); + CLEAR_ADDRS(); + + /* Full cell */ +#define LONG_NAME2 \ + "this-name-has-231-characters.so-that-it-plus-LONG_NAME-can-completely-" \ + "fill-up-the-payload-of-a-cell.its-important-to-check-for-the-full-thin" \ + "g-case.to-avoid-off-by-one-errors.where-full-things-are-misreported-as" \ + ".overflowing-by-one.z" + + tt_int_op(strlen(LONG_NAME2), ==, 231); + SET_CELL("\x00\xff" + LONG_NAME + "\x00\01\x00\x00" + "\x00\xe7" + LONG_NAME2 + "\x00\01\x00\x00"); + tt_int_op(rh.length, ==, RELAY_PAYLOAD_SIZE); + r = resolved_cell_parse(&cell, &rh, addrs, &errcode); + tt_int_op(errcode, ==, 0); + tt_int_op(r, ==, 0); + tt_int_op(smartlist_len(addrs), ==, 2); + a = smartlist_get(addrs, 0); + tt_str_op(a->hostname, ==, LONG_NAME); + a = smartlist_get(addrs, 1); + tt_str_op(a->hostname, ==, LONG_NAME2); + CLEAR_ADDRS(); + + /* BAD CELLS */ + + /* Invalid length on an IPv4 */ + SET_CELL("\x04\x03zzz1234"); + r = resolved_cell_parse(&cell, &rh, addrs, &errcode); + tt_int_op(errcode, ==, 0); + tt_int_op(r, ==, -1); + tt_int_op(smartlist_len(addrs), ==, 0); + SET_CELL("\x04\x04" "\x7f\x00\x02\x0a" "\x00\00\x01\x00" + "\x04\x05zzzzz1234"); + r = resolved_cell_parse(&cell, &rh, addrs, &errcode); + tt_int_op(errcode, ==, 0); + tt_int_op(r, ==, -1); + tt_int_op(smartlist_len(addrs), ==, 0); + + /* Invalid length on an IPv6 */ + SET_CELL("\x06\x03zzz1234"); + r = resolved_cell_parse(&cell, &rh, addrs, &errcode); + tt_int_op(errcode, ==, 0); + tt_int_op(r, ==, -1); + tt_int_op(smartlist_len(addrs), ==, 0); + SET_CELL("\x04\x04" "\x7f\x00\x02\x0a" "\x00\00\x01\x00" + "\x06\x17wwwwwwwwwwwwwwwww1234"); + r = resolved_cell_parse(&cell, &rh, addrs, &errcode); + tt_int_op(errcode, ==, 0); + tt_int_op(r, ==, -1); + tt_int_op(smartlist_len(addrs), ==, 0); + SET_CELL("\x04\x04" "\x7f\x00\x02\x0a" "\x00\00\x01\x00" + "\x06\x10xxxx"); + r = resolved_cell_parse(&cell, &rh, addrs, &errcode); + tt_int_op(errcode, ==, 0); + tt_int_op(r, ==, -1); + tt_int_op(smartlist_len(addrs), ==, 0); + + /* Empty hostname */ + SET_CELL("\x00\x00xxxx"); + r = resolved_cell_parse(&cell, &rh, addrs, &errcode); + tt_int_op(errcode, ==, 0); + tt_int_op(r, ==, -1); + tt_int_op(smartlist_len(addrs), ==, 0); + + /* rh.length out of range */ + CLEAR_CELL(); + rh.length = 499; + r = resolved_cell_parse(&cell, &rh, addrs, &errcode); + tt_int_op(errcode, ==, 0); + tt_int_op(r, ==, -1); + tt_int_op(smartlist_len(addrs), ==, 0); + + /* Item length extends beyond rh.length */ + CLEAR_CELL(); + SET_CELL("\x00\xff" + LONG_NAME + "\x00\01\x00\x00"); + rh.length -= 1; + r = resolved_cell_parse(&cell, &rh, addrs, &errcode); + tt_int_op(r, ==, -1); + tt_int_op(smartlist_len(addrs), ==, 0); + rh.length -= 5; + r = resolved_cell_parse(&cell, &rh, addrs, &errcode); + tt_int_op(r, ==, -1); + tt_int_op(smartlist_len(addrs), ==, 0); + + SET_CELL("\x04\x04" "\x7f\x00\x02\x0a" "\x00\00\x01\x00"); + rh.length -= 1; + r = resolved_cell_parse(&cell, &rh, addrs, &errcode); + tt_int_op(r, ==, -1); + tt_int_op(smartlist_len(addrs), ==, 0); + + SET_CELL("\xee\x10" + "\x20\x02\x90\x01\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\xfa\xca\xde" + "\x00\00\x00\x03"); + rh.length -= 1; + r = resolved_cell_parse(&cell, &rh, addrs, &errcode); + tt_int_op(r, ==, -1); + tt_int_op(smartlist_len(addrs), ==, 0); + + /* Truncated item after first character */ + SET_CELL("\x04"); + r = resolved_cell_parse(&cell, &rh, addrs, &errcode); + tt_int_op(r, ==, -1); + tt_int_op(smartlist_len(addrs), ==, 0); + + SET_CELL("\xee"); + r = resolved_cell_parse(&cell, &rh, addrs, &errcode); + tt_int_op(r, ==, -1); + tt_int_op(smartlist_len(addrs), ==, 0); + + done: + CLEAR_ADDRS(); + CLEAR_CELL(); + smartlist_free(addrs); +#undef CLEAR_ADDRS +#undef CLEAR_CELL +} + #define TEST(name, flags) \ { #name, test_cfmt_ ## name, flags, 0, NULL } @@ -883,6 +1223,7 @@ struct testcase_t cell_format_tests[] = { TEST(created_cells, 0), TEST(extend_cells, 0), TEST(extended_cells, 0), + TEST(resolved_cells, 0), END_OF_TESTCASES }; diff --git a/src/test/test_circuitlist.c b/src/test/test_circuitlist.c index 720b407659..ad8d0ac3af 100644 --- a/src/test/test_circuitlist.c +++ b/src/test/test_circuitlist.c @@ -150,19 +150,116 @@ test_clist_maps(void *arg) tt_assert(! circuit_id_in_use_on_channel(100, ch1)); done: - tor_free(ch1); - tor_free(ch2); - tor_free(ch3); if (or_c1) circuit_free(TO_CIRCUIT(or_c1)); if (or_c2) circuit_free(TO_CIRCUIT(or_c2)); + tor_free(ch1); + tor_free(ch2); + tor_free(ch3); UNMOCK(circuitmux_attach_circuit); UNMOCK(circuitmux_detach_circuit); } +static void +test_rend_token_maps(void *arg) +{ + or_circuit_t *c1, *c2, *c3, *c4; + const uint8_t tok1[REND_TOKEN_LEN] = "The cat can't tell y"; + const uint8_t tok2[REND_TOKEN_LEN] = "ou its name, and it "; + const uint8_t tok3[REND_TOKEN_LEN] = "doesn't really care."; + /* -- Adapted from a quote by Fredrik Lundh. */ + + (void)arg; + (void)tok1; //xxxx + c1 = or_circuit_new(0, NULL); + c2 = or_circuit_new(0, NULL); + c3 = or_circuit_new(0, NULL); + c4 = or_circuit_new(0, NULL); + + /* Make sure we really filled up the tok* variables */ + tt_int_op(tok1[REND_TOKEN_LEN-1], ==, 'y'); + tt_int_op(tok2[REND_TOKEN_LEN-1], ==, ' '); + tt_int_op(tok3[REND_TOKEN_LEN-1], ==, '.'); + + /* No maps; nothing there. */ + tt_ptr_op(NULL, ==, circuit_get_rendezvous(tok1)); + tt_ptr_op(NULL, ==, circuit_get_intro_point(tok1)); + + circuit_set_rendezvous_cookie(c1, tok1); + circuit_set_intro_point_digest(c2, tok2); + + tt_ptr_op(NULL, ==, circuit_get_rendezvous(tok3)); + tt_ptr_op(NULL, ==, circuit_get_intro_point(tok3)); + tt_ptr_op(NULL, ==, circuit_get_rendezvous(tok2)); + tt_ptr_op(NULL, ==, circuit_get_intro_point(tok1)); + + /* Without purpose set, we don't get the circuits */ + tt_ptr_op(NULL, ==, circuit_get_rendezvous(tok1)); + tt_ptr_op(NULL, ==, circuit_get_intro_point(tok2)); + + c1->base_.purpose = CIRCUIT_PURPOSE_REND_POINT_WAITING; + c2->base_.purpose = CIRCUIT_PURPOSE_INTRO_POINT; + + /* Okay, make sure they show up now. */ + tt_ptr_op(c1, ==, circuit_get_rendezvous(tok1)); + tt_ptr_op(c2, ==, circuit_get_intro_point(tok2)); + + /* Two items at the same place with the same token. */ + c3->base_.purpose = CIRCUIT_PURPOSE_REND_POINT_WAITING; + circuit_set_rendezvous_cookie(c3, tok2); + tt_ptr_op(c2, ==, circuit_get_intro_point(tok2)); + tt_ptr_op(c3, ==, circuit_get_rendezvous(tok2)); + + /* Marking a circuit makes it not get returned any more */ + circuit_mark_for_close(TO_CIRCUIT(c1), END_CIRC_REASON_FINISHED); + tt_ptr_op(NULL, ==, circuit_get_rendezvous(tok1)); + circuit_free(TO_CIRCUIT(c1)); + c1 = NULL; + + /* Freeing a circuit makes it not get returned any more. */ + circuit_free(TO_CIRCUIT(c2)); + c2 = NULL; + tt_ptr_op(NULL, ==, circuit_get_intro_point(tok2)); + + /* c3 -- are you still there? */ + tt_ptr_op(c3, ==, circuit_get_rendezvous(tok2)); + /* Change its cookie. This never happens in Tor per se, but hey. */ + c3->base_.purpose = CIRCUIT_PURPOSE_INTRO_POINT; + circuit_set_intro_point_digest(c3, tok3); + + tt_ptr_op(NULL, ==, circuit_get_rendezvous(tok2)); + tt_ptr_op(c3, ==, circuit_get_intro_point(tok3)); + + /* Now replace c3 with c4. */ + c4->base_.purpose = CIRCUIT_PURPOSE_INTRO_POINT; + circuit_set_intro_point_digest(c4, tok3); + + tt_ptr_op(c4, ==, circuit_get_intro_point(tok3)); + + tt_ptr_op(c3->rendinfo, ==, NULL); + tt_ptr_op(c4->rendinfo, !=, NULL); + test_mem_op(c4->rendinfo, ==, tok3, REND_TOKEN_LEN); + + /* Now clear c4's cookie. */ + circuit_set_intro_point_digest(c4, NULL); + tt_ptr_op(c4->rendinfo, ==, NULL); + tt_ptr_op(NULL, ==, circuit_get_intro_point(tok3)); + + done: + if (c1) + circuit_free(TO_CIRCUIT(c1)); + if (c2) + circuit_free(TO_CIRCUIT(c2)); + if (c3) + circuit_free(TO_CIRCUIT(c3)); + if (c4) + circuit_free(TO_CIRCUIT(c4)); +} + struct testcase_t circuitlist_tests[] = { { "maps", test_clist_maps, TT_FORK, NULL, NULL }, + { "rend_token_maps", test_rend_token_maps, TT_FORK, NULL, NULL }, END_OF_TESTCASES }; diff --git a/src/test/test_cmdline_args.py b/src/test/test_cmdline_args.py index 6d9cf44dbd..55d1cdb805 100755 --- a/src/test/test_cmdline_args.py +++ b/src/test/test_cmdline_args.py @@ -27,6 +27,21 @@ class UnexpectedSuccess(Exception): class UnexpectedFailure(Exception): pass +if sys.version < '3': + def b2s(b): + return b + def s2b(s): + return s + def NamedTemporaryFile(): + return tempfile.NamedTemporaryFile(delete=False) +else: + def b2s(b): + return str(b, 'ascii') + def s2b(s): + return s.encode('ascii') + def NamedTemporaryFile(): + return tempfile.NamedTemporaryFile(mode="w",delete=False,encoding="ascii") + def contents(fn): f = open(fn) try: @@ -42,10 +57,10 @@ def run_tor(args, failure=False): raise UnexpectedFailure() elif not result and failure: raise UnexpectedSuccess() - return output + return b2s(output) def spaceify_fp(fp): - for i in xrange(0, len(fp), 4): + for i in range(0, len(fp), 4): yield fp[i:i+4] def lines(s): @@ -62,7 +77,7 @@ def strip_log_junk(line): def randstring(entropy_bytes): s = os.urandom(entropy_bytes) - return binascii.b2a_hex(s) + return b2s(binascii.b2a_hex(s)) def findLineContaining(lines, s): for ln in lines: @@ -74,59 +89,61 @@ class CmdlineTests(unittest.TestCase): def test_version(self): out = run_tor(["--version"]) - self.failUnless(out.startswith("Tor version ")) - self.assertEquals(len(lines(out)), 1) + self.assertTrue(out.startswith("Tor version ")) + self.assertEqual(len(lines(out)), 1) def test_quiet(self): out = run_tor(["--quiet", "--quumblebluffin", "1"], failure=True) - self.assertEquals(out, "") + self.assertEqual(out, "") def test_help(self): out = run_tor(["--help"], failure=False) out2 = run_tor(["-h"], failure=False) - self.assert_(out.startswith("Copyright (c) 2001")) - self.assert_(out.endswith( + self.assertTrue(out.startswith("Copyright (c) 2001")) + self.assertTrue(out.endswith( "tor -f <torrc> [args]\n" "See man page for options, or https://www.torproject.org/ for documentation.\n")) - self.assert_(out == out2) + self.assertTrue(out == out2) def test_hush(self): - torrc = tempfile.NamedTemporaryFile(delete=False) + torrc = NamedTemporaryFile() torrc.close() try: out = run_tor(["--hush", "-f", torrc.name, "--quumblebluffin", "1"], failure=True) finally: os.unlink(torrc.name) - self.assertEquals(len(lines(out)), 2) + self.assertEqual(len(lines(out)), 2) ln = [ strip_log_junk(l) for l in lines(out) ] - self.assertEquals(ln[0], "Failed to parse/validate config: Unknown option 'quumblebluffin'. Failing.") - self.assertEquals(ln[1], "Reading config failed--see warnings above.") + self.assertEqual(ln[0], "Failed to parse/validate config: Unknown option 'quumblebluffin'. Failing.") + self.assertEqual(ln[1], "Reading config failed--see warnings above.") def test_missing_argument(self): out = run_tor(["--hush", "--hash-password"], failure=True) - self.assertEquals(len(lines(out)), 2) + self.assertEqual(len(lines(out)), 2) ln = [ strip_log_junk(l) for l in lines(out) ] - self.assertEquals(ln[0], "Command-line option '--hash-password' with no value. Failing.") + self.assertEqual(ln[0], "Command-line option '--hash-password' with no value. Failing.") def test_hash_password(self): out = run_tor(["--hash-password", "woodwose"]) result = lines(out)[-1] - self.assertEquals(result[:3], "16:") - self.assertEquals(len(result), 61) + self.assertEqual(result[:3], "16:") + self.assertEqual(len(result), 61) r = binascii.a2b_hex(result[3:]) - self.assertEquals(len(r), 29) + self.assertEqual(len(r), 29) salt, how, hashed = r[:8], r[8], r[9:] - self.assertEquals(len(hashed), 20) + self.assertEqual(len(hashed), 20) + if type(how) == type("A"): + how = ord(how) - count = (16 + (ord(how) & 15)) << ((ord(how) >> 4) + 6) - stuff = salt + "woodwose" + count = (16 + (how & 15)) << ((how >> 4) + 6) + stuff = salt + s2b("woodwose") repetitions = count // len(stuff) + 1 inp = stuff * repetitions inp = inp[:count] - self.assertEquals(hashlib.sha1(inp).digest(), hashed) + self.assertEqual(hashlib.sha1(inp).digest(), hashed) def test_digests(self): main_c = os.path.join(TOP_SRCDIR, "src", "or", "main.c") @@ -136,12 +153,14 @@ class CmdlineTests(unittest.TestCase): out = run_tor(["--digests"]) main_line = [ l for l in lines(out) if l.endswith("/main.c") ] digest, name = main_line[0].split() - actual = hashlib.sha1(open(main_c).read()).hexdigest() - self.assertEquals(digest, actual) + f = open(main_c, 'rb') + actual = hashlib.sha1(f.read()).hexdigest() + f.close() + self.assertEqual(digest, actual) def test_dump_options(self): - default_torrc = tempfile.NamedTemporaryFile(delete=False) - torrc = tempfile.NamedTemporaryFile(delete=False) + default_torrc = NamedTemporaryFile() + torrc = NamedTemporaryFile() torrc.write("SocksPort 9999") torrc.close() default_torrc.write("SafeLogging 0") @@ -161,27 +180,27 @@ class CmdlineTests(unittest.TestCase): os.unlink(torrc.name) os.unlink(default_torrc.name) - self.assertEquals(len(lines(out_sh)), 2) - self.assert_(lines(out_sh)[0].startswith("DataDirectory ")) - self.assertEquals(lines(out_sh)[1:], + self.assertEqual(len(lines(out_sh)), 2) + self.assertTrue(lines(out_sh)[0].startswith("DataDirectory ")) + self.assertEqual(lines(out_sh)[1:], [ "SocksPort 9999" ]) - self.assertEquals(len(lines(out_nb)), 2) - self.assertEquals(lines(out_nb), + self.assertEqual(len(lines(out_nb)), 2) + self.assertEqual(lines(out_nb), [ "SafeLogging 0", "SocksPort 9999" ]) out_fl = lines(out_fl) - self.assert_(len(out_fl) > 100) - self.assert_("SocksPort 9999" in out_fl) - self.assert_("SafeLogging 0" in out_fl) - self.assert_("ClientOnly 0" in out_fl) + self.assertTrue(len(out_fl) > 100) + self.assertTrue("SocksPort 9999" in out_fl) + self.assertTrue("SafeLogging 0" in out_fl) + self.assertTrue("ClientOnly 0" in out_fl) - self.assert_(out_verif.endswith("Configuration was valid\n")) + self.assertTrue(out_verif.endswith("Configuration was valid\n")) def test_list_fingerprint(self): tmpdir = tempfile.mkdtemp(prefix='ttca_') - torrc = tempfile.NamedTemporaryFile(delete=False) + torrc = NamedTemporaryFile() torrc.write("ORPort 9999\n") torrc.write("DataDirectory %s\n"%tmpdir) torrc.write("Nickname tippi") @@ -200,21 +219,21 @@ class CmdlineTests(unittest.TestCase): fp = fp.strip() nn_fp = fp.split()[0] space_fp = " ".join(spaceify_fp(fp.split()[1])) - self.assertEquals(lastlog, + self.assertEqual(lastlog, "Your Tor server's identity key fingerprint is '%s'"%fp) - self.assertEquals(lastline, "tippi %s"%space_fp) - self.assertEquals(nn_fp, "tippi") + self.assertEqual(lastline, "tippi %s"%space_fp) + self.assertEqual(nn_fp, "tippi") def test_list_options(self): out = lines(run_tor(["--list-torrc-options"])) - self.assert_(len(out)>100) - self.assert_(out[0] <= 'AccountingMax') - self.assert_("UseBridges" in out) - self.assert_("SocksPort" in out) + self.assertTrue(len(out)>100) + self.assertTrue(out[0] <= 'AccountingMax') + self.assertTrue("UseBridges" in out) + self.assertTrue("SocksPort" in out) def test_cmdline_args(self): - default_torrc = tempfile.NamedTemporaryFile(delete=False) - torrc = tempfile.NamedTemporaryFile(delete=False) + default_torrc = NamedTemporaryFile() + torrc = NamedTemporaryFile() torrc.write("SocksPort 9999\n") torrc.write("SocksPort 9998\n") torrc.write("ORPort 9000\n") @@ -242,14 +261,14 @@ class CmdlineTests(unittest.TestCase): out_1 = [ l for l in lines(out_1) if not l.startswith("DataDir") ] out_2 = [ l for l in lines(out_2) if not l.startswith("DataDir") ] - self.assertEquals(out_1, + self.assertEqual(out_1, ["ControlPort 9500", "Nickname eleventeen", "ORPort 9000", "ORPort 9001", "SocksPort 9999", "SocksPort 9998"]) - self.assertEquals(out_2, + self.assertEqual(out_2, ["ExtORPort 9005", "Nickname eleventeen", "ORPort 9000", @@ -261,13 +280,13 @@ class CmdlineTests(unittest.TestCase): fname = "nonexistent_file_"+randstring(8) out = run_tor(["-f", fname, "--verify-config"], failure=True) ln = [ strip_log_junk(l) for l in lines(out) ] - self.assert_("Unable to open configuration file" in ln[-2]) - self.assert_("Reading config failed" in ln[-1]) + self.assertTrue("Unable to open configuration file" in ln[-2]) + self.assertTrue("Reading config failed" in ln[-1]) out = run_tor(["-f", fname, "--verify-config", "--ignore-missing-torrc"]) ln = [ strip_log_junk(l) for l in lines(out) ] - self.assert_(findLineContaining(ln, ", using reasonable defaults")) - self.assert_("Configuration was valid" in ln[-1]) + self.assertTrue(findLineContaining(ln, ", using reasonable defaults")) + self.assertTrue("Configuration was valid" in ln[-1]) if __name__ == '__main__': unittest.main() diff --git a/src/test/test_config.c b/src/test/test_config.c index 3a1b6d7d88..dbb50798b8 100644 --- a/src/test/test_config.c +++ b/src/test/test_config.c @@ -221,12 +221,17 @@ test_config_check_or_create_data_subdir(void *arg) // and is private to the user. test_assert(!check_or_create_data_subdir(subdir)); + r = stat(subpath, &st); + if (r) { + tt_abort_perror("stat"); + } + #if !defined (_WIN32) || defined (WINCE) group_permission = st.st_mode | 0070; r = chmod(subpath, group_permission); if (r) { - test_fail_msg("Changing permissions for the subdirectory failed."); + tt_abort_perror("chmod"); } // If the directory exists, but its mode is too permissive @@ -247,6 +252,7 @@ test_config_write_to_data_subdir(void *arg) { or_options_t* options = get_options_mutable(); char *datadir = options->DataDirectory = tor_strdup(get_fname("datadir-1")); + char *cp = NULL; const char* subdir = "test_stats"; const char* fname = "test_file"; const char* str = @@ -280,17 +286,22 @@ test_config_write_to_data_subdir(void *arg) // Content of file after write attempt should be // equal to the original string. test_assert(!write_to_data_subdir(subdir, fname, str, NULL)); - test_streq(read_file_to_str(filepath, 0, NULL), str); + cp = read_file_to_str(filepath, 0, NULL); + test_streq(cp, str); + tor_free(cp); // A second write operation should overwrite the old content. test_assert(!write_to_data_subdir(subdir, fname, str, NULL)); - test_streq(read_file_to_str(filepath, 0, NULL), str); + cp = read_file_to_str(filepath, 0, NULL); + test_streq(cp, str); + tor_free(cp); done: (void) unlink(filepath); rmdir(options->DataDirectory); tor_free(datadir); tor_free(filepath); + tor_free(cp); } /* Test helper function: Make sure that a bridge line gets parsed @@ -410,6 +421,23 @@ test_config_parse_bridge_line(void *arg) smartlist_free(sl_tmp); } + { + smartlist_t *sl_tmp = smartlist_new(); + smartlist_add_asprintf(sl_tmp, "dub=come"); + smartlist_add_asprintf(sl_tmp, "save=me"); + + good_bridge_line_test("transport 192.0.2.1:12 " + "4352e58420e68f5e40bf7c74faddccd9d1349666 " + "dub=come save=me", + + "192.0.2.1:12", + "4352e58420e68f5e40bf7c74faddccd9d1349666", + "transport", sl_tmp); + + SMARTLIST_FOREACH(sl_tmp, char *, s, tor_free(s)); + smartlist_free(sl_tmp); + } + good_bridge_line_test("192.0.2.1:1231 " "4352e58420e68f5e40bf7c74faddccd9d1349413", "192.0.2.1:1231", diff --git a/src/test/test_crypto.c b/src/test/test_crypto.c index 22adc6cc34..1fda334760 100644 --- a/src/test/test_crypto.c +++ b/src/test/test_crypto.c @@ -9,6 +9,7 @@ #include "test.h" #include "aes.h" #include "util.h" +#include "siphash.h" #ifdef CURVE25519_ENABLED #include "crypto_curve25519.h" #endif @@ -508,6 +509,56 @@ test_crypto_pk(void) tor_free(encoded); } +static void +test_crypto_pk_fingerprints(void *arg) +{ + crypto_pk_t *pk = NULL; + char encoded[512]; + char d[DIGEST_LEN], d2[DIGEST_LEN]; + char fingerprint[FINGERPRINT_LEN+1]; + int n; + unsigned i; + char *mem_op_hex_tmp=NULL; + + (void)arg; + + pk = pk_generate(1); + tt_assert(pk); + n = crypto_pk_asn1_encode(pk, encoded, sizeof(encoded)); + tt_int_op(n, >, 0); + tt_int_op(n, >, 128); + tt_int_op(n, <, 256); + + /* Is digest as expected? */ + crypto_digest(d, encoded, n); + tt_int_op(0, ==, crypto_pk_get_digest(pk, d2)); + test_memeq(d, d2, DIGEST_LEN); + + /* Is fingerprint right? */ + tt_int_op(0, ==, crypto_pk_get_fingerprint(pk, fingerprint, 0)); + tt_int_op(strlen(fingerprint), ==, DIGEST_LEN * 2); + test_memeq_hex(d, fingerprint); + + /* Are spaces right? */ + tt_int_op(0, ==, crypto_pk_get_fingerprint(pk, fingerprint, 1)); + for (i = 4; i < strlen(fingerprint); i += 5) { + tt_int_op(fingerprint[i], ==, ' '); + } + tor_strstrip(fingerprint, " "); + tt_int_op(strlen(fingerprint), ==, DIGEST_LEN * 2); + test_memeq_hex(d, fingerprint); + + /* Now hash again and check crypto_pk_get_hashed_fingerprint. */ + crypto_digest(d2, d, sizeof(d)); + tt_int_op(0, ==, crypto_pk_get_hashed_fingerprint(pk, fingerprint)); + tt_int_op(strlen(fingerprint), ==, DIGEST_LEN * 2); + test_memeq_hex(d2, fingerprint); + + done: + crypto_pk_free(pk); + tor_free(mem_op_hex_tmp); +} + /** Sanity check for crypto pk digests */ static void test_crypto_digests(void) @@ -1111,6 +1162,102 @@ test_crypto_curve25519_persist(void *arg) #endif +static void +test_crypto_siphash(void *arg) +{ + /* From the reference implementation, taking + k = 00 01 02 ... 0f + and in = 00; 00 01; 00 01 02; ... + */ + const uint8_t VECTORS[64][8] = + { + { 0x31, 0x0e, 0x0e, 0xdd, 0x47, 0xdb, 0x6f, 0x72, }, + { 0xfd, 0x67, 0xdc, 0x93, 0xc5, 0x39, 0xf8, 0x74, }, + { 0x5a, 0x4f, 0xa9, 0xd9, 0x09, 0x80, 0x6c, 0x0d, }, + { 0x2d, 0x7e, 0xfb, 0xd7, 0x96, 0x66, 0x67, 0x85, }, + { 0xb7, 0x87, 0x71, 0x27, 0xe0, 0x94, 0x27, 0xcf, }, + { 0x8d, 0xa6, 0x99, 0xcd, 0x64, 0x55, 0x76, 0x18, }, + { 0xce, 0xe3, 0xfe, 0x58, 0x6e, 0x46, 0xc9, 0xcb, }, + { 0x37, 0xd1, 0x01, 0x8b, 0xf5, 0x00, 0x02, 0xab, }, + { 0x62, 0x24, 0x93, 0x9a, 0x79, 0xf5, 0xf5, 0x93, }, + { 0xb0, 0xe4, 0xa9, 0x0b, 0xdf, 0x82, 0x00, 0x9e, }, + { 0xf3, 0xb9, 0xdd, 0x94, 0xc5, 0xbb, 0x5d, 0x7a, }, + { 0xa7, 0xad, 0x6b, 0x22, 0x46, 0x2f, 0xb3, 0xf4, }, + { 0xfb, 0xe5, 0x0e, 0x86, 0xbc, 0x8f, 0x1e, 0x75, }, + { 0x90, 0x3d, 0x84, 0xc0, 0x27, 0x56, 0xea, 0x14, }, + { 0xee, 0xf2, 0x7a, 0x8e, 0x90, 0xca, 0x23, 0xf7, }, + { 0xe5, 0x45, 0xbe, 0x49, 0x61, 0xca, 0x29, 0xa1, }, + { 0xdb, 0x9b, 0xc2, 0x57, 0x7f, 0xcc, 0x2a, 0x3f, }, + { 0x94, 0x47, 0xbe, 0x2c, 0xf5, 0xe9, 0x9a, 0x69, }, + { 0x9c, 0xd3, 0x8d, 0x96, 0xf0, 0xb3, 0xc1, 0x4b, }, + { 0xbd, 0x61, 0x79, 0xa7, 0x1d, 0xc9, 0x6d, 0xbb, }, + { 0x98, 0xee, 0xa2, 0x1a, 0xf2, 0x5c, 0xd6, 0xbe, }, + { 0xc7, 0x67, 0x3b, 0x2e, 0xb0, 0xcb, 0xf2, 0xd0, }, + { 0x88, 0x3e, 0xa3, 0xe3, 0x95, 0x67, 0x53, 0x93, }, + { 0xc8, 0xce, 0x5c, 0xcd, 0x8c, 0x03, 0x0c, 0xa8, }, + { 0x94, 0xaf, 0x49, 0xf6, 0xc6, 0x50, 0xad, 0xb8, }, + { 0xea, 0xb8, 0x85, 0x8a, 0xde, 0x92, 0xe1, 0xbc, }, + { 0xf3, 0x15, 0xbb, 0x5b, 0xb8, 0x35, 0xd8, 0x17, }, + { 0xad, 0xcf, 0x6b, 0x07, 0x63, 0x61, 0x2e, 0x2f, }, + { 0xa5, 0xc9, 0x1d, 0xa7, 0xac, 0xaa, 0x4d, 0xde, }, + { 0x71, 0x65, 0x95, 0x87, 0x66, 0x50, 0xa2, 0xa6, }, + { 0x28, 0xef, 0x49, 0x5c, 0x53, 0xa3, 0x87, 0xad, }, + { 0x42, 0xc3, 0x41, 0xd8, 0xfa, 0x92, 0xd8, 0x32, }, + { 0xce, 0x7c, 0xf2, 0x72, 0x2f, 0x51, 0x27, 0x71, }, + { 0xe3, 0x78, 0x59, 0xf9, 0x46, 0x23, 0xf3, 0xa7, }, + { 0x38, 0x12, 0x05, 0xbb, 0x1a, 0xb0, 0xe0, 0x12, }, + { 0xae, 0x97, 0xa1, 0x0f, 0xd4, 0x34, 0xe0, 0x15, }, + { 0xb4, 0xa3, 0x15, 0x08, 0xbe, 0xff, 0x4d, 0x31, }, + { 0x81, 0x39, 0x62, 0x29, 0xf0, 0x90, 0x79, 0x02, }, + { 0x4d, 0x0c, 0xf4, 0x9e, 0xe5, 0xd4, 0xdc, 0xca, }, + { 0x5c, 0x73, 0x33, 0x6a, 0x76, 0xd8, 0xbf, 0x9a, }, + { 0xd0, 0xa7, 0x04, 0x53, 0x6b, 0xa9, 0x3e, 0x0e, }, + { 0x92, 0x59, 0x58, 0xfc, 0xd6, 0x42, 0x0c, 0xad, }, + { 0xa9, 0x15, 0xc2, 0x9b, 0xc8, 0x06, 0x73, 0x18, }, + { 0x95, 0x2b, 0x79, 0xf3, 0xbc, 0x0a, 0xa6, 0xd4, }, + { 0xf2, 0x1d, 0xf2, 0xe4, 0x1d, 0x45, 0x35, 0xf9, }, + { 0x87, 0x57, 0x75, 0x19, 0x04, 0x8f, 0x53, 0xa9, }, + { 0x10, 0xa5, 0x6c, 0xf5, 0xdf, 0xcd, 0x9a, 0xdb, }, + { 0xeb, 0x75, 0x09, 0x5c, 0xcd, 0x98, 0x6c, 0xd0, }, + { 0x51, 0xa9, 0xcb, 0x9e, 0xcb, 0xa3, 0x12, 0xe6, }, + { 0x96, 0xaf, 0xad, 0xfc, 0x2c, 0xe6, 0x66, 0xc7, }, + { 0x72, 0xfe, 0x52, 0x97, 0x5a, 0x43, 0x64, 0xee, }, + { 0x5a, 0x16, 0x45, 0xb2, 0x76, 0xd5, 0x92, 0xa1, }, + { 0xb2, 0x74, 0xcb, 0x8e, 0xbf, 0x87, 0x87, 0x0a, }, + { 0x6f, 0x9b, 0xb4, 0x20, 0x3d, 0xe7, 0xb3, 0x81, }, + { 0xea, 0xec, 0xb2, 0xa3, 0x0b, 0x22, 0xa8, 0x7f, }, + { 0x99, 0x24, 0xa4, 0x3c, 0xc1, 0x31, 0x57, 0x24, }, + { 0xbd, 0x83, 0x8d, 0x3a, 0xaf, 0xbf, 0x8d, 0xb7, }, + { 0x0b, 0x1a, 0x2a, 0x32, 0x65, 0xd5, 0x1a, 0xea, }, + { 0x13, 0x50, 0x79, 0xa3, 0x23, 0x1c, 0xe6, 0x60, }, + { 0x93, 0x2b, 0x28, 0x46, 0xe4, 0xd7, 0x06, 0x66, }, + { 0xe1, 0x91, 0x5f, 0x5c, 0xb1, 0xec, 0xa4, 0x6c, }, + { 0xf3, 0x25, 0x96, 0x5c, 0xa1, 0x6d, 0x62, 0x9f, }, + { 0x57, 0x5f, 0xf2, 0x8e, 0x60, 0x38, 0x1b, 0xe5, }, + { 0x72, 0x45, 0x06, 0xeb, 0x4c, 0x32, 0x8a, 0x95, } + }; + + const struct sipkey K = { U64_LITERAL(0x0706050403020100), + U64_LITERAL(0x0f0e0d0c0b0a0908) }; + uint8_t input[64]; + int i, j; + + (void)arg; + + for (i = 0; i < 64; ++i) + input[i] = i; + + for (i = 0; i < 64; ++i) { + uint64_t r = siphash24(input, i, &K); + for (j = 0; j < 8; ++j) { + tt_int_op( (r >> (j*8)) & 0xff, ==, VECTORS[i][j]); + } + } + + done: + ; +} + static void * pass_data_setup_fn(const struct testcase_t *testcase) { @@ -1137,6 +1284,7 @@ struct testcase_t crypto_tests[] = { { "aes_EVP", test_crypto_aes, TT_FORK, &pass_data, (void*)"evp" }, CRYPTO_LEGACY(sha), CRYPTO_LEGACY(pk), + { "pk_fingerprints", test_crypto_pk_fingerprints, TT_FORK, NULL, NULL }, CRYPTO_LEGACY(digests), CRYPTO_LEGACY(dh), CRYPTO_LEGACY(s2k), @@ -1152,6 +1300,7 @@ struct testcase_t crypto_tests[] = { { "curve25519_encode", test_crypto_curve25519_encode, 0, NULL, NULL }, { "curve25519_persist", test_crypto_curve25519_persist, 0, NULL, NULL }, #endif + { "siphash", test_crypto_siphash, 0, NULL, NULL }, END_OF_TESTCASES }; diff --git a/src/test/test_dir.c b/src/test/test_dir.c index 7c625ce7dd..9e01bdbd48 100644 --- a/src/test/test_dir.c +++ b/src/test/test_dir.c @@ -97,7 +97,6 @@ test_dir_formats(void) get_platform_str(platform, sizeof(platform)); r1 = tor_malloc_zero(sizeof(routerinfo_t)); - r1->address = tor_strdup("18.244.0.1"); r1->addr = 0xc0a80001u; /* 192.168.0.1 */ r1->cache_info.published_on = 0; r1->or_port = 9000; @@ -124,7 +123,6 @@ test_dir_formats(void) ex2->maskbits = 8; ex2->prt_min = ex2->prt_max = 24; r2 = tor_malloc_zero(sizeof(routerinfo_t)); - r2->address = tor_strdup("1.1.1.1"); r2->addr = 0x0a030201u; /* 10.3.2.1 */ r2->platform = tor_strdup(platform); r2->cache_info.published_on = 5; @@ -153,7 +151,7 @@ test_dir_formats(void) tor_free(options->ContactInfo); test_assert(buf); - strlcpy(buf2, "router Magri 18.244.0.1 9000 0 9003\n" + strlcpy(buf2, "router Magri 192.168.0.1 9000 0 9003\n" "or-address [1:2:3:4::]:9999\n" "platform Tor "VERSION" on ", sizeof(buf2)); strlcat(buf2, get_uname(), sizeof(buf2)); @@ -187,7 +185,7 @@ test_dir_formats(void) cp = buf; rp1 = router_parse_entry_from_string((const char*)cp,NULL,1,0,NULL); test_assert(rp1); - test_streq(rp1->address, r1->address); + test_eq(rp1->addr, r1->addr); test_eq(rp1->or_port, r1->or_port); //test_eq(rp1->dir_port, r1->dir_port); test_eq(rp1->bandwidthrate, r1->bandwidthrate); @@ -198,7 +196,7 @@ test_dir_formats(void) //test_assert(rp1->exit_policy == NULL); strlcpy(buf2, - "router Fred 1.1.1.1 9005 0 0\n" + "router Fred 10.3.2.1 9005 0 0\n" "platform Tor "VERSION" on ", sizeof(buf2)); strlcat(buf2, get_uname(), sizeof(buf2)); strlcat(buf2, "\n" @@ -231,7 +229,7 @@ test_dir_formats(void) cp = buf; rp2 = router_parse_entry_from_string((const char*)cp,NULL,1,0,NULL); test_assert(rp2); - test_streq(rp2->address, r2->address); + test_eq(rp2->addr, r2->addr); test_eq(rp2->or_port, r2->or_port); test_eq(rp2->dir_port, r2->dir_port); test_eq(rp2->bandwidthrate, r2->bandwidthrate); @@ -1230,7 +1228,8 @@ test_a_networkstatus( vote_routerstatus_t *vrs; routerstatus_t *rs; int idx, n_rs, n_vrs; - char *v1_text=NULL, *v2_text=NULL, *v3_text=NULL, *consensus_text=NULL, *cp; + char *v1_text=NULL, *v2_text=NULL, *v3_text=NULL, *consensus_text=NULL, + *cp=NULL; smartlist_t *votes = smartlist_new(); /* For generating the two other consensuses. */ @@ -1648,6 +1647,7 @@ test_a_networkstatus( } done: + tor_free(cp); smartlist_free(votes); tor_free(v1_text); tor_free(v2_text); diff --git a/src/test/test_extorport.c b/src/test/test_extorport.c index 7e38ba57dc..f91ac7415e 100644 --- a/src/test/test_extorport.c +++ b/src/test/test_extorport.c @@ -363,10 +363,12 @@ test_ext_or_cookie_auth_testvec(void *arg) } static void -ignore_bootstrap_problem(const char *warn, int reason) +ignore_bootstrap_problem(const char *warn, int reason, + or_connection_t *conn) { (void)warn; (void)reason; + (void)conn; } static int is_reading = 1; diff --git a/src/test/test_oom.c b/src/test/test_oom.c new file mode 100644 index 0000000000..989ca1203b --- /dev/null +++ b/src/test/test_oom.c @@ -0,0 +1,348 @@ +/* Copyright (c) 2014, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/* Unit tests for OOM handling logic */ + +#define RELAY_PRIVATE +#define BUFFERS_PRIVATE +#define CIRCUITLIST_PRIVATE +#include "or.h" +#include "buffers.h" +#include "circuitlist.h" +#include "compat_libevent.h" +#include "connection.h" +#include "config.h" +#include "mempool.h" +#include "relay.h" +#include "test.h" + +/* small replacement mock for circuit_mark_for_close_ to avoid doing all + * the other bookkeeping that comes with marking circuits. */ +static void +circuit_mark_for_close_dummy_(circuit_t *circ, int reason, int line, + const char *file) +{ + (void) reason; + if (circ->marked_for_close) { + TT_FAIL(("Circuit already marked for close at %s:%d, but we are marking " + "it again at %s:%d", + circ->marked_for_close_file, (int)circ->marked_for_close, + file, line)); + } + + circ->marked_for_close = line; + circ->marked_for_close_file = file; +} + +static circuit_t * +dummy_or_circuit_new(int n_p_cells, int n_n_cells) +{ + or_circuit_t *circ = or_circuit_new(0, NULL); + int i; + cell_t cell; + + for (i=0; i < n_p_cells; ++i) { + crypto_rand((void*)&cell, sizeof(cell)); + cell_queue_append_packed_copy(TO_CIRCUIT(circ), &circ->p_chan_cells, + 0, &cell, 1, 0); + } + + for (i=0; i < n_n_cells; ++i) { + crypto_rand((void*)&cell, sizeof(cell)); + cell_queue_append_packed_copy(TO_CIRCUIT(circ), + &TO_CIRCUIT(circ)->n_chan_cells, + 1, &cell, 1, 0); + } + + TO_CIRCUIT(circ)->purpose = CIRCUIT_PURPOSE_OR; + return TO_CIRCUIT(circ); +} + +static circuit_t * +dummy_origin_circuit_new(int n_cells) +{ + origin_circuit_t *circ = origin_circuit_new(); + int i; + cell_t cell; + + for (i=0; i < n_cells; ++i) { + crypto_rand((void*)&cell, sizeof(cell)); + cell_queue_append_packed_copy(TO_CIRCUIT(circ), + &TO_CIRCUIT(circ)->n_chan_cells, + 1, &cell, 1, 0); + } + + TO_CIRCUIT(circ)->purpose = CIRCUIT_PURPOSE_C_GENERAL; + return TO_CIRCUIT(circ); +} + +static void +add_bytes_to_buf(generic_buffer_t *buf, size_t n_bytes) +{ + char b[3000]; + + while (n_bytes) { + size_t this_add = n_bytes > sizeof(b) ? sizeof(b) : n_bytes; + crypto_rand(b, this_add); + generic_buffer_add(buf, b, this_add); + n_bytes -= this_add; + } +} + +static edge_connection_t * +dummy_edge_conn_new(circuit_t *circ, + int type, size_t in_bytes, size_t out_bytes) +{ + edge_connection_t *conn; + + if (type == CONN_TYPE_EXIT) + conn = edge_connection_new(type, AF_INET); + else + conn = ENTRY_TO_EDGE_CONN(entry_connection_new(type, AF_INET)); + + /* We add these bytes directly to the buffers, to avoid all the + * edge connection read/write machinery. */ + add_bytes_to_buf(TO_CONN(conn)->inbuf, in_bytes); + add_bytes_to_buf(TO_CONN(conn)->outbuf, out_bytes); + + conn->on_circuit = circ; + if (type == CONN_TYPE_EXIT) { + or_circuit_t *oc = TO_OR_CIRCUIT(circ); + conn->next_stream = oc->n_streams; + oc->n_streams = conn; + } else { + origin_circuit_t *oc = TO_ORIGIN_CIRCUIT(circ); + conn->next_stream = oc->p_streams; + oc->p_streams = conn; + } + + return conn; +} + +/** Run unit tests for buffers.c */ +static void +test_oom_circbuf(void *arg) +{ + or_options_t *options = get_options_mutable(); + circuit_t *c1 = NULL, *c2 = NULL, *c3 = NULL, *c4 = NULL; + struct timeval tv = { 1389631048, 0 }; + + (void) arg; + + MOCK(circuit_mark_for_close_, circuit_mark_for_close_dummy_); + init_cell_pool(); + + /* Far too low for real life. */ + options->MaxMemInQueues = 256*packed_cell_mem_cost(); + options->CellStatistics = 0; + + tt_int_op(cell_queues_check_size(), ==, 0); /* We don't start out OOM. */ + tt_int_op(cell_queues_get_total_allocation(), ==, 0); + tt_int_op(buf_get_total_allocation(), ==, 0); + + /* Now we're going to fake up some circuits and get them added to the global + circuit list. */ + tv.tv_usec = 0; + tor_gettimeofday_cache_set(&tv); + c1 = dummy_origin_circuit_new(30); + tv.tv_usec = 10*1000; + tor_gettimeofday_cache_set(&tv); + c2 = dummy_or_circuit_new(20, 20); + + tt_int_op(packed_cell_mem_cost(), ==, + sizeof(packed_cell_t) + MP_POOL_ITEM_OVERHEAD); + tt_int_op(cell_queues_get_total_allocation(), ==, + packed_cell_mem_cost() * 70); + tt_int_op(cell_queues_check_size(), ==, 0); /* We are still not OOM */ + + tv.tv_usec = 20*1000; + tor_gettimeofday_cache_set(&tv); + c3 = dummy_or_circuit_new(100, 85); + tt_int_op(cell_queues_check_size(), ==, 0); /* We are still not OOM */ + tt_int_op(cell_queues_get_total_allocation(), ==, + packed_cell_mem_cost() * 255); + + tv.tv_usec = 30*1000; + tor_gettimeofday_cache_set(&tv); + /* Adding this cell will trigger our OOM handler. */ + c4 = dummy_or_circuit_new(2, 0); + + tt_int_op(cell_queues_get_total_allocation(), ==, + packed_cell_mem_cost() * 257); + + tt_int_op(cell_queues_check_size(), ==, 1); /* We are now OOM */ + + tt_assert(c1->marked_for_close); + tt_assert(! c2->marked_for_close); + tt_assert(! c3->marked_for_close); + tt_assert(! c4->marked_for_close); + + tt_int_op(cell_queues_get_total_allocation(), ==, + packed_cell_mem_cost() * (257 - 30)); + + circuit_free(c1); + tv.tv_usec = 0; + tor_gettimeofday_cache_set(&tv); /* go back in time */ + c1 = dummy_or_circuit_new(90, 0); + + tv.tv_usec = 40*1000; /* go back to the future */ + tor_gettimeofday_cache_set(&tv); + + tt_int_op(cell_queues_check_size(), ==, 1); /* We are now OOM */ + + tt_assert(c1->marked_for_close); + tt_assert(! c2->marked_for_close); + tt_assert(! c3->marked_for_close); + tt_assert(! c4->marked_for_close); + + tt_int_op(cell_queues_get_total_allocation(), ==, + packed_cell_mem_cost() * (257 - 30)); + + done: + circuit_free(c1); + circuit_free(c2); + circuit_free(c3); + circuit_free(c4); + + UNMOCK(circuit_mark_for_close_); +} + +/** Run unit tests for buffers.c */ +static void +test_oom_streambuf(void *arg) +{ + or_options_t *options = get_options_mutable(); + circuit_t *c1 = NULL, *c2 = NULL, *c3 = NULL, *c4 = NULL, *c5 = NULL; + struct timeval tv = { 1389641159, 0 }; + uint32_t tvms; + int i; + + (void) arg; + + MOCK(circuit_mark_for_close_, circuit_mark_for_close_dummy_); + init_cell_pool(); + + /* Far too low for real life. */ + options->MaxMemInQueues = 81*packed_cell_mem_cost() + 4096 * 34; + options->CellStatistics = 0; + + tt_int_op(cell_queues_check_size(), ==, 0); /* We don't start out OOM. */ + tt_int_op(cell_queues_get_total_allocation(), ==, 0); + tt_int_op(buf_get_total_allocation(), ==, 0); + + /* Start all circuits with a bit of data queued in cells */ + tv.tv_usec = 500*1000; /* go halfway into the second. */ + tor_gettimeofday_cache_set(&tv); + c1 = dummy_or_circuit_new(10,10); + tv.tv_usec = 510*1000; + tor_gettimeofday_cache_set(&tv); + c2 = dummy_origin_circuit_new(20); + tv.tv_usec = 520*1000; + tor_gettimeofday_cache_set(&tv); + c3 = dummy_or_circuit_new(20,20); + tv.tv_usec = 530*1000; + tor_gettimeofday_cache_set(&tv); + c4 = dummy_or_circuit_new(0,0); + tt_int_op(cell_queues_get_total_allocation(), ==, + packed_cell_mem_cost() * 80); + + tv.tv_usec = 600*1000; + tor_gettimeofday_cache_set(&tv); + + /* Add some connections to c1...c4. */ + for (i = 0; i < 4; ++i) { + edge_connection_t *ec; + /* link it to a circuit */ + tv.tv_usec += 10*1000; + tor_gettimeofday_cache_set(&tv); + ec = dummy_edge_conn_new(c1, CONN_TYPE_EXIT, 1000, 1000); + tt_assert(ec); + tv.tv_usec += 10*1000; + tor_gettimeofday_cache_set(&tv); + ec = dummy_edge_conn_new(c2, CONN_TYPE_AP, 1000, 1000); + tt_assert(ec); + tv.tv_usec += 10*1000; + tor_gettimeofday_cache_set(&tv); + ec = dummy_edge_conn_new(c4, CONN_TYPE_EXIT, 1000, 1000); /* Yes, 4 twice*/ + tt_assert(ec); + tv.tv_usec += 10*1000; + tor_gettimeofday_cache_set(&tv); + ec = dummy_edge_conn_new(c4, CONN_TYPE_EXIT, 1000, 1000); + tt_assert(ec); + } + + tv.tv_sec += 1; + tv.tv_usec = 0; + tvms = (uint32_t) tv_to_msec(&tv); + + tt_int_op(circuit_max_queued_cell_age(c1, tvms), ==, 500); + tt_int_op(circuit_max_queued_cell_age(c2, tvms), ==, 490); + tt_int_op(circuit_max_queued_cell_age(c3, tvms), ==, 480); + tt_int_op(circuit_max_queued_cell_age(c4, tvms), ==, 0); + + tt_int_op(circuit_max_queued_data_age(c1, tvms), ==, 390); + tt_int_op(circuit_max_queued_data_age(c2, tvms), ==, 380); + tt_int_op(circuit_max_queued_data_age(c3, tvms), ==, 0); + tt_int_op(circuit_max_queued_data_age(c4, tvms), ==, 370); + + tt_int_op(circuit_max_queued_item_age(c1, tvms), ==, 500); + tt_int_op(circuit_max_queued_item_age(c2, tvms), ==, 490); + tt_int_op(circuit_max_queued_item_age(c3, tvms), ==, 480); + tt_int_op(circuit_max_queued_item_age(c4, tvms), ==, 370); + + tt_int_op(cell_queues_get_total_allocation(), ==, + packed_cell_mem_cost() * 80); + tt_int_op(buf_get_total_allocation(), ==, 4096*16*2); + + /* Now give c4 a very old buffer of modest size */ + { + edge_connection_t *ec; + tv.tv_sec -= 1; + tv.tv_usec = 0; + tor_gettimeofday_cache_set(&tv); + ec = dummy_edge_conn_new(c4, CONN_TYPE_EXIT, 1000, 1000); + tt_assert(ec); + } + tt_int_op(buf_get_total_allocation(), ==, 4096*17*2); + tt_int_op(circuit_max_queued_item_age(c4, tvms), ==, 1000); + + tt_int_op(cell_queues_check_size(), ==, 0); + + /* And run over the limit. */ + tv.tv_usec = 800*1000; + tor_gettimeofday_cache_set(&tv); + c5 = dummy_or_circuit_new(0,5); + + tt_int_op(cell_queues_get_total_allocation(), ==, + packed_cell_mem_cost() * 85); + tt_int_op(buf_get_total_allocation(), ==, 4096*17*2); + + tt_int_op(cell_queues_check_size(), ==, 1); /* We are now OOM */ + + /* C4 should have died. */ + tt_assert(! c1->marked_for_close); + tt_assert(! c2->marked_for_close); + tt_assert(! c3->marked_for_close); + tt_assert(c4->marked_for_close); + tt_assert(! c5->marked_for_close); + + tt_int_op(cell_queues_get_total_allocation(), ==, + packed_cell_mem_cost() * 85); + tt_int_op(buf_get_total_allocation(), ==, 4096*8*2); + + done: + circuit_free(c1); + circuit_free(c2); + circuit_free(c3); + circuit_free(c4); + circuit_free(c5); + + UNMOCK(circuit_mark_for_close_); +} + +struct testcase_t oom_tests[] = { + { "circbuf", test_oom_circbuf, TT_FORK, NULL, NULL }, + { "streambuf", test_oom_streambuf, TT_FORK, NULL, NULL }, + END_OF_TESTCASES +}; + diff --git a/src/test/test_policy.c b/src/test/test_policy.c new file mode 100644 index 0000000000..e3e7b36733 --- /dev/null +++ b/src/test/test_policy.c @@ -0,0 +1,435 @@ +/* Copyright (c) 2013, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +#include "or.h" +#include "router.h" +#include "routerparse.h" +#include "policies.h" +#include "test.h" + +/* Helper: assert that short_policy parses and writes back out as itself, + or as <b>expected</b> if that's provided. */ +static void +test_short_policy_parse(const char *input, + const char *expected) +{ + short_policy_t *short_policy = NULL; + char *out = NULL; + + if (expected == NULL) + expected = input; + + short_policy = parse_short_policy(input); + tt_assert(short_policy); + out = write_short_policy(short_policy); + tt_str_op(out, ==, expected); + + done: + tor_free(out); + short_policy_free(short_policy); +} + +/** Helper: Parse the exit policy string in <b>policy_str</b>, and make sure + * that policies_summarize() produces the string <b>expected_summary</b> from + * it. */ +static void +test_policy_summary_helper(const char *policy_str, + const char *expected_summary) +{ + config_line_t line; + smartlist_t *policy = smartlist_new(); + char *summary = NULL; + char *summary_after = NULL; + int r; + short_policy_t *short_policy = NULL; + + line.key = (char*)"foo"; + line.value = (char *)policy_str; + line.next = NULL; + + r = policies_parse_exit_policy(&line, &policy, 1, 0, 0, 1); + test_eq(r, 0); + summary = policy_summarize(policy, AF_INET); + + test_assert(summary != NULL); + test_streq(summary, expected_summary); + + short_policy = parse_short_policy(summary); + tt_assert(short_policy); + summary_after = write_short_policy(short_policy); + test_streq(summary, summary_after); + + done: + tor_free(summary_after); + tor_free(summary); + if (policy) + addr_policy_list_free(policy); + short_policy_free(short_policy); +} + +/** Run unit tests for generating summary lines of exit policies */ +static void +test_policies_general(void *arg) +{ + int i; + smartlist_t *policy = NULL, *policy2 = NULL, *policy3 = NULL, + *policy4 = NULL, *policy5 = NULL, *policy6 = NULL, + *policy7 = NULL; + addr_policy_t *p; + tor_addr_t tar; + config_line_t line; + smartlist_t *sm = NULL; + char *policy_str = NULL; + short_policy_t *short_parsed = NULL; + (void)arg; + + policy = smartlist_new(); + + p = router_parse_addr_policy_item_from_string("reject 192.168.0.0/16:*",-1); + test_assert(p != NULL); + test_eq(ADDR_POLICY_REJECT, p->policy_type); + tor_addr_from_ipv4h(&tar, 0xc0a80000u); + test_eq(0, tor_addr_compare(&p->addr, &tar, CMP_EXACT)); + test_eq(16, p->maskbits); + test_eq(1, p->prt_min); + test_eq(65535, p->prt_max); + + smartlist_add(policy, p); + + tor_addr_from_ipv4h(&tar, 0x01020304u); + test_assert(ADDR_POLICY_ACCEPTED == + compare_tor_addr_to_addr_policy(&tar, 2, policy)); + tor_addr_make_unspec(&tar); + test_assert(ADDR_POLICY_PROBABLY_ACCEPTED == + compare_tor_addr_to_addr_policy(&tar, 2, policy)); + tor_addr_from_ipv4h(&tar, 0xc0a80102); + test_assert(ADDR_POLICY_REJECTED == + compare_tor_addr_to_addr_policy(&tar, 2, policy)); + + test_assert(0 == policies_parse_exit_policy(NULL, &policy2, 1, 1, 0, 1)); + test_assert(policy2); + + policy3 = smartlist_new(); + p = router_parse_addr_policy_item_from_string("reject *:*",-1); + test_assert(p != NULL); + smartlist_add(policy3, p); + p = router_parse_addr_policy_item_from_string("accept *:*",-1); + test_assert(p != NULL); + smartlist_add(policy3, p); + + policy4 = smartlist_new(); + p = router_parse_addr_policy_item_from_string("accept *:443",-1); + test_assert(p != NULL); + smartlist_add(policy4, p); + p = router_parse_addr_policy_item_from_string("accept *:443",-1); + test_assert(p != NULL); + smartlist_add(policy4, p); + + policy5 = smartlist_new(); + p = router_parse_addr_policy_item_from_string("reject 0.0.0.0/8:*",-1); + test_assert(p != NULL); + smartlist_add(policy5, p); + p = router_parse_addr_policy_item_from_string("reject 169.254.0.0/16:*",-1); + test_assert(p != NULL); + smartlist_add(policy5, p); + p = router_parse_addr_policy_item_from_string("reject 127.0.0.0/8:*",-1); + test_assert(p != NULL); + smartlist_add(policy5, p); + p = router_parse_addr_policy_item_from_string("reject 192.168.0.0/16:*",-1); + test_assert(p != NULL); + smartlist_add(policy5, p); + p = router_parse_addr_policy_item_from_string("reject 10.0.0.0/8:*",-1); + test_assert(p != NULL); + smartlist_add(policy5, p); + p = router_parse_addr_policy_item_from_string("reject 172.16.0.0/12:*",-1); + test_assert(p != NULL); + smartlist_add(policy5, p); + p = router_parse_addr_policy_item_from_string("reject 80.190.250.90:*",-1); + test_assert(p != NULL); + smartlist_add(policy5, p); + p = router_parse_addr_policy_item_from_string("reject *:1-65534",-1); + test_assert(p != NULL); + smartlist_add(policy5, p); + p = router_parse_addr_policy_item_from_string("reject *:65535",-1); + test_assert(p != NULL); + smartlist_add(policy5, p); + p = router_parse_addr_policy_item_from_string("accept *:1-65535",-1); + test_assert(p != NULL); + smartlist_add(policy5, p); + + policy6 = smartlist_new(); + p = router_parse_addr_policy_item_from_string("accept 43.3.0.0/9:*",-1); + test_assert(p != NULL); + smartlist_add(policy6, p); + + policy7 = smartlist_new(); + p = router_parse_addr_policy_item_from_string("accept 0.0.0.0/8:*",-1); + test_assert(p != NULL); + smartlist_add(policy7, p); + + test_assert(!exit_policy_is_general_exit(policy)); + test_assert(exit_policy_is_general_exit(policy2)); + test_assert(!exit_policy_is_general_exit(NULL)); + test_assert(!exit_policy_is_general_exit(policy3)); + test_assert(!exit_policy_is_general_exit(policy4)); + test_assert(!exit_policy_is_general_exit(policy5)); + test_assert(!exit_policy_is_general_exit(policy6)); + test_assert(!exit_policy_is_general_exit(policy7)); + + test_assert(cmp_addr_policies(policy, policy2)); + test_assert(cmp_addr_policies(policy, NULL)); + test_assert(!cmp_addr_policies(policy2, policy2)); + test_assert(!cmp_addr_policies(NULL, NULL)); + + test_assert(!policy_is_reject_star(policy2, AF_INET)); + test_assert(policy_is_reject_star(policy, AF_INET)); + test_assert(policy_is_reject_star(NULL, AF_INET)); + + addr_policy_list_free(policy); + policy = NULL; + + /* make sure compacting logic works. */ + policy = NULL; + line.key = (char*)"foo"; + line.value = (char*)"accept *:80,reject private:*,reject *:*"; + line.next = NULL; + test_assert(0 == policies_parse_exit_policy(&line, &policy, 1, 0, 0, 1)); + test_assert(policy); + //test_streq(policy->string, "accept *:80"); + //test_streq(policy->next->string, "reject *:*"); + test_eq(smartlist_len(policy), 4); + + /* test policy summaries */ + /* check if we properly ignore private IP addresses */ + test_policy_summary_helper("reject 192.168.0.0/16:*," + "reject 0.0.0.0/8:*," + "reject 10.0.0.0/8:*," + "accept *:10-30," + "accept *:90," + "reject *:*", + "accept 10-30,90"); + /* check all accept policies, and proper counting of rejects */ + test_policy_summary_helper("reject 11.0.0.0/9:80," + "reject 12.0.0.0/9:80," + "reject 13.0.0.0/9:80," + "reject 14.0.0.0/9:80," + "accept *:*", "accept 1-65535"); + test_policy_summary_helper("reject 11.0.0.0/9:80," + "reject 12.0.0.0/9:80," + "reject 13.0.0.0/9:80," + "reject 14.0.0.0/9:80," + "reject 15.0.0.0:81," + "accept *:*", "accept 1-65535"); + test_policy_summary_helper("reject 11.0.0.0/9:80," + "reject 12.0.0.0/9:80," + "reject 13.0.0.0/9:80," + "reject 14.0.0.0/9:80," + "reject 15.0.0.0:80," + "accept *:*", + "reject 80"); + /* no exits */ + test_policy_summary_helper("accept 11.0.0.0/9:80," + "reject *:*", + "reject 1-65535"); + /* port merging */ + test_policy_summary_helper("accept *:80," + "accept *:81," + "accept *:100-110," + "accept *:111," + "reject *:*", + "accept 80-81,100-111"); + /* border ports */ + test_policy_summary_helper("accept *:1," + "accept *:3," + "accept *:65535," + "reject *:*", + "accept 1,3,65535"); + /* holes */ + test_policy_summary_helper("accept *:1," + "accept *:3," + "accept *:5," + "accept *:7," + "reject *:*", + "accept 1,3,5,7"); + test_policy_summary_helper("reject *:1," + "reject *:3," + "reject *:5," + "reject *:7," + "accept *:*", + "reject 1,3,5,7"); + + /* Short policies with unrecognized formats should get accepted. */ + test_short_policy_parse("accept fred,2,3-5", "accept 2,3-5"); + test_short_policy_parse("accept 2,fred,3", "accept 2,3"); + test_short_policy_parse("accept 2,fred,3,bob", "accept 2,3"); + test_short_policy_parse("accept 2,-3,500-600", "accept 2,500-600"); + /* Short policies with nil entries are accepted too. */ + test_short_policy_parse("accept 1,,3", "accept 1,3"); + test_short_policy_parse("accept 100-200,,", "accept 100-200"); + test_short_policy_parse("reject ,1-10,,,,30-40", "reject 1-10,30-40"); + + /* Try parsing various broken short policies */ +#define TT_BAD_SHORT_POLICY(s) \ + do { \ + tt_ptr_op(NULL, ==, (short_parsed = parse_short_policy((s)))); \ + } while (0) + TT_BAD_SHORT_POLICY("accept 200-199"); + TT_BAD_SHORT_POLICY(""); + TT_BAD_SHORT_POLICY("rejekt 1,2,3"); + TT_BAD_SHORT_POLICY("reject "); + TT_BAD_SHORT_POLICY("reject"); + TT_BAD_SHORT_POLICY("rej"); + TT_BAD_SHORT_POLICY("accept 2,3,100000"); + TT_BAD_SHORT_POLICY("accept 2,3x,4"); + TT_BAD_SHORT_POLICY("accept 2,3x,4"); + TT_BAD_SHORT_POLICY("accept 2-"); + TT_BAD_SHORT_POLICY("accept 2-x"); + TT_BAD_SHORT_POLICY("accept 1-,3"); + TT_BAD_SHORT_POLICY("accept 1-,3"); + + /* Test a too-long policy. */ + { + int i; + char *policy = NULL; + smartlist_t *chunks = smartlist_new(); + smartlist_add(chunks, tor_strdup("accept ")); + for (i=1; i<10000; ++i) + smartlist_add_asprintf(chunks, "%d,", i); + smartlist_add(chunks, tor_strdup("20000")); + policy = smartlist_join_strings(chunks, "", 0, NULL); + SMARTLIST_FOREACH(chunks, char *, ch, tor_free(ch)); + smartlist_free(chunks); + short_parsed = parse_short_policy(policy);/* shouldn't be accepted */ + tor_free(policy); + tt_ptr_op(NULL, ==, short_parsed); + } + + /* truncation ports */ + sm = smartlist_new(); + for (i=1; i<2000; i+=2) { + char buf[POLICY_BUF_LEN]; + tor_snprintf(buf, sizeof(buf), "reject *:%d", i); + smartlist_add(sm, tor_strdup(buf)); + } + smartlist_add(sm, tor_strdup("accept *:*")); + policy_str = smartlist_join_strings(sm, ",", 0, NULL); + test_policy_summary_helper( policy_str, + "accept 2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44," + "46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90," + "92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128," + "130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164," + "166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200," + "202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236," + "238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272," + "274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308," + "310,312,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344," + "346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,376,378,380," + "382,384,386,388,390,392,394,396,398,400,402,404,406,408,410,412,414,416," + "418,420,422,424,426,428,430,432,434,436,438,440,442,444,446,448,450,452," + "454,456,458,460,462,464,466,468,470,472,474,476,478,480,482,484,486,488," + "490,492,494,496,498,500,502,504,506,508,510,512,514,516,518,520,522"); + + done: + addr_policy_list_free(policy); + addr_policy_list_free(policy2); + addr_policy_list_free(policy3); + addr_policy_list_free(policy4); + addr_policy_list_free(policy5); + addr_policy_list_free(policy6); + addr_policy_list_free(policy7); + tor_free(policy_str); + if (sm) { + SMARTLIST_FOREACH(sm, char *, s, tor_free(s)); + smartlist_free(sm); + } + short_policy_free(short_parsed); +} + +static void +test_dump_exit_policy_to_string(void *arg) +{ + char *ep; + addr_policy_t *policy_entry; + + routerinfo_t *ri = tor_malloc_zero(sizeof(routerinfo_t)); + + (void)arg; + + ri->policy_is_reject_star = 1; + ri->exit_policy = NULL; // expecting "reject *:*" + ep = router_dump_exit_policy_to_string(ri,1,1); + + test_streq("reject *:*",ep); + + tor_free(ep); + + ri->exit_policy = smartlist_new(); + ri->policy_is_reject_star = 0; + + policy_entry = router_parse_addr_policy_item_from_string("accept *:*",-1); + + smartlist_add(ri->exit_policy,policy_entry); + + ep = router_dump_exit_policy_to_string(ri,1,1); + + test_streq("accept *:*",ep); + + tor_free(ep); + + policy_entry = router_parse_addr_policy_item_from_string("reject *:25",-1); + + smartlist_add(ri->exit_policy,policy_entry); + + ep = router_dump_exit_policy_to_string(ri,1,1); + + test_streq("accept *:*\nreject *:25",ep); + + tor_free(ep); + + policy_entry = + router_parse_addr_policy_item_from_string("reject 8.8.8.8:*",-1); + + smartlist_add(ri->exit_policy,policy_entry); + + ep = router_dump_exit_policy_to_string(ri,1,1); + + test_streq("accept *:*\nreject *:25\nreject 8.8.8.8:*",ep); + + policy_entry = + router_parse_addr_policy_item_from_string("reject6 [FC00::]/7:*",-1); + + smartlist_add(ri->exit_policy,policy_entry); + + ep = router_dump_exit_policy_to_string(ri,1,1); + + test_streq("accept *:*\nreject *:25\nreject 8.8.8.8:*\n" + "reject6 [fc00::]/7:*",ep); + tor_free(ep); + + policy_entry = + router_parse_addr_policy_item_from_string("accept6 [c000::]/3:*",-1); + + smartlist_add(ri->exit_policy,policy_entry); + + ep = router_dump_exit_policy_to_string(ri,1,1); + + test_streq("accept *:*\nreject *:25\nreject 8.8.8.8:*\n" + "reject6 [fc00::]/7:*\naccept6 [c000::]/3:*",ep); + + done: + + if (ri->exit_policy) { + SMARTLIST_FOREACH(ri->exit_policy, addr_policy_t *, + entry, addr_policy_free(entry)); + } + tor_free(ri); + tor_free(ep); +} + +struct testcase_t policy_tests[] = { + { "router_dump_exit_policy_to_string", test_dump_exit_policy_to_string, 0, + NULL, NULL }, + { "general", test_policies_general, 0, NULL, NULL }, + END_OF_TESTCASES +}; + diff --git a/src/test/test_relaycell.c b/src/test/test_relaycell.c new file mode 100644 index 0000000000..5deb36260f --- /dev/null +++ b/src/test/test_relaycell.c @@ -0,0 +1,249 @@ +/* Copyright (c) 2014, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/* Unit tests for handling different kinds of relay cell */ + +#define RELAY_PRIVATE +#include "or.h" +#include "config.h" +#include "connection.h" +#include "connection_edge.h" +#include "relay.h" +#include "test.h" + +static int srm_ncalls; +static entry_connection_t *srm_conn; +static int srm_atype; +static size_t srm_alen; +static int srm_answer_is_set; +static uint8_t srm_answer[512]; +static int srm_ttl; +static time_t srm_expires; + +/* Mock replacement for connection_ap_hannshake_socks_resolved() */ +static void +socks_resolved_mock(entry_connection_t *conn, + int answer_type, + size_t answer_len, + const uint8_t *answer, + int ttl, + time_t expires) +{ + srm_ncalls++; + srm_conn = conn; + srm_atype = answer_type; + srm_alen = answer_len; + if (answer) { + memset(srm_answer, 0, sizeof(srm_answer)); + memcpy(srm_answer, answer, answer_len < 512 ? answer_len : 512); + srm_answer_is_set = 1; + } else { + srm_answer_is_set = 0; + } + srm_ttl = ttl; + srm_expires = expires; +} + +static int mum_ncalls; +static entry_connection_t *mum_conn; +static int mum_endreason; + +/* Mock replacement for connection_mark_unattached_ap_() */ +static void +mark_unattached_mock(entry_connection_t *conn, int endreason, + int line, const char *file) +{ + ++mum_ncalls; + mum_conn = conn; + mum_endreason = endreason; + (void) line; + (void) file; +} + +/* Tests for connection_edge_process_resolved_cell(). + + The point of ..process_resolved_cell() is to handle an incoming cell + on an entry connection, and call connection_mark_unattached_ap() and/or + connection_ap_handshake_socks_resolved(). + */ +static void +test_relaycell_resolved(void *arg) +{ + entry_connection_t *entryconn; + edge_connection_t *edgeconn; + cell_t cell; + relay_header_t rh; + int r; + or_options_t *options = get_options_mutable(); + +#define SET_CELL(s) do { \ + memset(&cell, 0, sizeof(cell)); \ + memset(&rh, 0, sizeof(rh)); \ + memcpy(cell.payload + RELAY_HEADER_SIZE, (s), sizeof((s))-1); \ + rh.length = sizeof((s))-1; \ + rh.command = RELAY_COMMAND_RESOLVED; \ + } while (0) +#define MOCK_RESET() do { \ + srm_ncalls = mum_ncalls = 0; \ + } while (0) +#define ASSERT_MARK_CALLED(reason) do { \ + tt_int_op(mum_ncalls, ==, 1); \ + tt_ptr_op(mum_conn, ==, entryconn); \ + tt_int_op(mum_endreason, ==, (reason)); \ + } while (0) +#define ASSERT_RESOLVED_CALLED(atype, answer, ttl, expires) do { \ + tt_int_op(srm_ncalls, ==, 1); \ + tt_ptr_op(srm_conn, ==, entryconn); \ + tt_int_op(srm_atype, ==, (atype)); \ + if (answer) { \ + tt_int_op(srm_alen, ==, sizeof(answer)-1); \ + tt_int_op(srm_alen, <, 512); \ + tt_int_op(srm_answer_is_set, ==, 1); \ + tt_mem_op(srm_answer, ==, answer, sizeof(answer)-1); \ + } else { \ + tt_int_op(srm_answer_is_set, ==, 0); \ + } \ + tt_int_op(srm_ttl, ==, ttl); \ + tt_int_op(srm_expires, ==, expires); \ + } while (0) + + (void)arg; + + MOCK(connection_mark_unattached_ap_, mark_unattached_mock); + MOCK(connection_ap_handshake_socks_resolved, socks_resolved_mock); + + options->ClientDNSRejectInternalAddresses = 0; + + SET_CELL(/* IPv4: 127.0.1.2, ttl 256 */ + "\x04\x04\x7f\x00\x01\x02\x00\x00\x01\x00" + /* IPv4: 18.0.0.1, ttl 512 */ + "\x04\x04\x12\x00\x00\x01\x00\x00\x02\x00" + /* IPv6: 2003::3, ttl 1024 */ + "\x06\x10" + "\x20\x02\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x03" + "\x00\x00\x04\x00"); + + entryconn = entry_connection_new(CONN_TYPE_AP, AF_INET); + edgeconn = ENTRY_TO_EDGE_CONN(entryconn); + + /* Try with connection in non-RESOLVE_WAIT state: cell gets ignored */ + MOCK_RESET(); + r = connection_edge_process_resolved_cell(edgeconn, &cell, &rh); + tt_int_op(r, ==, 0); + tt_int_op(srm_ncalls, ==, 0); + tt_int_op(mum_ncalls, ==, 0); + + /* Now put it in the right state. */ + ENTRY_TO_CONN(entryconn)->state = AP_CONN_STATE_RESOLVE_WAIT; + entryconn->socks_request->command = SOCKS_COMMAND_RESOLVE; + entryconn->ipv4_traffic_ok = 1; + entryconn->ipv6_traffic_ok = 1; + entryconn->prefer_ipv6_traffic = 0; + + /* We prefer ipv4, so we should get the first ipv4 answer */ + MOCK_RESET(); + r = connection_edge_process_resolved_cell(edgeconn, &cell, &rh); + tt_int_op(r, ==, 0); + ASSERT_MARK_CALLED(END_STREAM_REASON_DONE| + END_STREAM_REASON_FLAG_ALREADY_SOCKS_REPLIED); + ASSERT_RESOLVED_CALLED(RESOLVED_TYPE_IPV4, "\x7f\x00\x01\x02", 256, -1); + + /* But we may be discarding private answers. */ + MOCK_RESET(); + options->ClientDNSRejectInternalAddresses = 1; + r = connection_edge_process_resolved_cell(edgeconn, &cell, &rh); + tt_int_op(r, ==, 0); + ASSERT_MARK_CALLED(END_STREAM_REASON_DONE| + END_STREAM_REASON_FLAG_ALREADY_SOCKS_REPLIED); + ASSERT_RESOLVED_CALLED(RESOLVED_TYPE_IPV4, "\x12\x00\x00\x01", 512, -1); + + /* now prefer ipv6, and get the first ipv6 answer */ + entryconn->prefer_ipv6_traffic = 1; + MOCK_RESET(); + r = connection_edge_process_resolved_cell(edgeconn, &cell, &rh); + tt_int_op(r, ==, 0); + ASSERT_MARK_CALLED(END_STREAM_REASON_DONE| + END_STREAM_REASON_FLAG_ALREADY_SOCKS_REPLIED); + ASSERT_RESOLVED_CALLED(RESOLVED_TYPE_IPV6, + "\x20\x02\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x03", + 1024, -1); + + /* With a cell that only has IPv4, we report IPv4 even if we prefer IPv6 */ + MOCK_RESET(); + SET_CELL("\x04\x04\x12\x00\x00\x01\x00\x00\x02\x00"); + r = connection_edge_process_resolved_cell(edgeconn, &cell, &rh); + tt_int_op(r, ==, 0); + ASSERT_MARK_CALLED(END_STREAM_REASON_DONE| + END_STREAM_REASON_FLAG_ALREADY_SOCKS_REPLIED); + ASSERT_RESOLVED_CALLED(RESOLVED_TYPE_IPV4, "\x12\x00\x00\x01", 512, -1); + + /* But if we don't allow IPv4, we report nothing if the cell contains only + * ipv4 */ + MOCK_RESET(); + entryconn->ipv4_traffic_ok = 0; + r = connection_edge_process_resolved_cell(edgeconn, &cell, &rh); + tt_int_op(r, ==, 0); + ASSERT_MARK_CALLED(END_STREAM_REASON_DONE| + END_STREAM_REASON_FLAG_ALREADY_SOCKS_REPLIED); + ASSERT_RESOLVED_CALLED(RESOLVED_TYPE_ERROR, NULL, -1, -1); + + /* If we wanted hostnames, we report nothing, since we only had IPs. */ + MOCK_RESET(); + entryconn->ipv4_traffic_ok = 1; + entryconn->socks_request->command = SOCKS_COMMAND_RESOLVE_PTR; + r = connection_edge_process_resolved_cell(edgeconn, &cell, &rh); + tt_int_op(r, ==, 0); + ASSERT_MARK_CALLED(END_STREAM_REASON_DONE| + END_STREAM_REASON_FLAG_ALREADY_SOCKS_REPLIED); + ASSERT_RESOLVED_CALLED(RESOLVED_TYPE_ERROR, NULL, -1, -1); + + /* A hostname cell is fine though. */ + MOCK_RESET(); + SET_CELL("\x00\x0fwww.example.com\x00\x01\x00\x00"); + r = connection_edge_process_resolved_cell(edgeconn, &cell, &rh); + tt_int_op(r, ==, 0); + ASSERT_MARK_CALLED(END_STREAM_REASON_DONE| + END_STREAM_REASON_FLAG_ALREADY_SOCKS_REPLIED); + ASSERT_RESOLVED_CALLED(RESOLVED_TYPE_HOSTNAME, "www.example.com", 65536, -1); + + /* error on malformed cell */ + MOCK_RESET(); + entryconn->socks_request->command = SOCKS_COMMAND_RESOLVE; + SET_CELL("\x04\x04\x01\x02\x03\x04"); /* no ttl */ + r = connection_edge_process_resolved_cell(edgeconn, &cell, &rh); + tt_int_op(r, ==, 0); + ASSERT_MARK_CALLED(END_STREAM_REASON_TORPROTOCOL); + tt_int_op(srm_ncalls, ==, 0); + + /* error on all addresses private */ + MOCK_RESET(); + SET_CELL(/* IPv4: 127.0.1.2, ttl 256 */ + "\x04\x04\x7f\x00\x01\x02\x00\x00\x01\x00" + /* IPv4: 192.168.1.1, ttl 256 */ + "\x04\x04\xc0\xa8\x01\x01\x00\x00\x01\x00"); + r = connection_edge_process_resolved_cell(edgeconn, &cell, &rh); + tt_int_op(r, ==, 0); + ASSERT_MARK_CALLED(END_STREAM_REASON_TORPROTOCOL); + ASSERT_RESOLVED_CALLED(RESOLVED_TYPE_ERROR_TRANSIENT, NULL, 0, TIME_MAX); + + /* Legit error code */ + MOCK_RESET(); + SET_CELL("\xf0\x15" "quiet and meaningless" "\x00\x00\x0f\xff"); + r = connection_edge_process_resolved_cell(edgeconn, &cell, &rh); + tt_int_op(r, ==, 0); + ASSERT_MARK_CALLED(END_STREAM_REASON_DONE| + END_STREAM_REASON_FLAG_ALREADY_SOCKS_REPLIED); + ASSERT_RESOLVED_CALLED(RESOLVED_TYPE_ERROR_TRANSIENT, NULL, -1, -1); + + done: + UNMOCK(connection_mark_unattached_ap_); + UNMOCK(connection_ap_handshake_socks_resolved); +} + +struct testcase_t relaycell_tests[] = { + { "resolved", test_relaycell_resolved, TT_FORK, NULL, NULL }, + END_OF_TESTCASES +}; + diff --git a/src/test/test_routerkeys.c b/src/test/test_routerkeys.c new file mode 100644 index 0000000000..1c8174b065 --- /dev/null +++ b/src/test/test_routerkeys.c @@ -0,0 +1,84 @@ +/* Copyright (c) 2001-2004, Roger Dingledine. + * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson. + * Copyright (c) 2007-2013, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +#include "orconfig.h" +#define ROUTER_PRIVATE +#include "or.h" +#include "config.h" +#include "router.h" +#include "util.h" +#include "crypto.h" + +#include "test.h" + +static void +test_routerkeys_write_fingerprint(void *arg) +{ + crypto_pk_t *key = pk_generate(2); + or_options_t *options = get_options_mutable(); + const char *ddir = get_fname("write_fingerprint"); + char *cp = NULL, *cp2 = NULL; + char fp[FINGERPRINT_LEN+1]; + + (void)arg; + + tt_assert(key); + + options->ORPort_set = 1; /* So that we can get the server ID key */ + options->DataDirectory = tor_strdup(ddir); + options->Nickname = tor_strdup("haflinger"); + set_server_identity_key(key); + set_client_identity_key(crypto_pk_dup_key(key)); + + tt_int_op(0, ==, check_private_dir(ddir, CPD_CREATE, NULL)); + tt_int_op(crypto_pk_cmp_keys(get_server_identity_key(),key),==,0); + + /* Write fingerprint file */ + tt_int_op(0, ==, router_write_fingerprint(0)); + cp = read_file_to_str(get_fname("write_fingerprint/fingerprint"), + 0, NULL); + crypto_pk_get_fingerprint(key, fp, 0); + tor_asprintf(&cp2, "haflinger %s\n", fp); + tt_str_op(cp, ==, cp2); + tor_free(cp); + tor_free(cp2); + + /* Write hashed-fingerprint file */ + tt_int_op(0, ==, router_write_fingerprint(1)); + cp = read_file_to_str(get_fname("write_fingerprint/hashed-fingerprint"), + 0, NULL); + crypto_pk_get_hashed_fingerprint(key, fp); + tor_asprintf(&cp2, "haflinger %s\n", fp); + tt_str_op(cp, ==, cp2); + tor_free(cp); + tor_free(cp2); + + /* Replace outdated file */ + write_str_to_file(get_fname("write_fingerprint/hashed-fingerprint"), + "junk goes here", 0); + tt_int_op(0, ==, router_write_fingerprint(1)); + cp = read_file_to_str(get_fname("write_fingerprint/hashed-fingerprint"), + 0, NULL); + crypto_pk_get_hashed_fingerprint(key, fp); + tor_asprintf(&cp2, "haflinger %s\n", fp); + tt_str_op(cp, ==, cp2); + tor_free(cp); + tor_free(cp2); + + done: + crypto_pk_free(key); + set_client_identity_key(NULL); + tor_free(cp); + tor_free(cp2); +} + +#define TEST(name, flags) \ + { #name , test_routerkeys_ ## name, (flags), NULL, NULL } + +struct testcase_t routerkeys_tests[] = { + TEST(write_fingerprint, TT_FORK), + END_OF_TESTCASES +}; + diff --git a/src/test/test_status.c b/src/test/test_status.c new file mode 100644 index 0000000000..b704053d04 --- /dev/null +++ b/src/test/test_status.c @@ -0,0 +1,1109 @@ +#define STATUS_PRIVATE +#define HIBERNATE_PRIVATE +#define LOG_PRIVATE +#define REPHIST_PRIVATE + +#include <float.h> +#include <math.h> + +#include "or.h" +#include "torlog.h" +#include "tor_queue.h" +#include "status.h" +#include "circuitlist.h" +#include "config.h" +#include "hibernate.h" +#include "rephist.h" +#include "relay.h" +#include "router.h" +#include "main.h" +#include "nodelist.h" +#include "statefile.h" +#include "test.h" + +#define NS_MODULE status + +#define NS_SUBMODULE count_circuits + +/* + * Test that count_circuits() is correctly counting the number of + * global circuits. + */ + +struct global_circuitlist_s mock_global_circuitlist = + TOR_LIST_HEAD_INITIALIZER(global_circuitlist); + +NS_DECL(struct global_circuitlist_s *, circuit_get_global_list, (void)); + +static void +NS(test_main)(void *arg) +{ + /* Choose origin_circuit_t wlog. */ + origin_circuit_t *mock_circuit1, *mock_circuit2; + circuit_t *circ, *tmp; + int expected_circuits = 2, actual_circuits; + + (void)arg; + + mock_circuit1 = tor_malloc_zero(sizeof(origin_circuit_t)); + mock_circuit2 = tor_malloc_zero(sizeof(origin_circuit_t)); + TOR_LIST_INSERT_HEAD( + &mock_global_circuitlist, TO_CIRCUIT(mock_circuit1), head); + TOR_LIST_INSERT_HEAD( + &mock_global_circuitlist, TO_CIRCUIT(mock_circuit2), head); + + NS_MOCK(circuit_get_global_list); + + actual_circuits = count_circuits(); + + tt_assert(expected_circuits == actual_circuits); + + done: + TOR_LIST_FOREACH_SAFE( + circ, NS(circuit_get_global_list)(), head, tmp); + tor_free(circ); + NS_UNMOCK(circuit_get_global_list); +} + +static struct global_circuitlist_s * +NS(circuit_get_global_list)(void) +{ + return &mock_global_circuitlist; +} + +#undef NS_SUBMODULE +#define NS_SUBMODULE secs_to_uptime + +/* + * Test that secs_to_uptime() is converting the number of seconds that + * Tor is up for into the appropriate string form containing hours and minutes. + */ + +static void +NS(test_main)(void *arg) +{ + const char *expected; + char *actual; + (void)arg; + + expected = "0:00 hours"; + actual = secs_to_uptime(0); + tt_str_op(actual, ==, expected); + tor_free(actual); + + expected = "0:00 hours"; + actual = secs_to_uptime(1); + tt_str_op(actual, ==, expected); + tor_free(actual); + + expected = "0:01 hours"; + actual = secs_to_uptime(60); + tt_str_op(actual, ==, expected); + tor_free(actual); + + expected = "0:59 hours"; + actual = secs_to_uptime(60 * 59); + tt_str_op(actual, ==, expected); + tor_free(actual); + + expected = "1:00 hours"; + actual = secs_to_uptime(60 * 60); + tt_str_op(actual, ==, expected); + tor_free(actual); + + expected = "23:59 hours"; + actual = secs_to_uptime(60 * 60 * 23 + 60 * 59); + tt_str_op(actual, ==, expected); + tor_free(actual); + + expected = "1 day 0:00 hours"; + actual = secs_to_uptime(60 * 60 * 23 + 60 * 60); + tt_str_op(actual, ==, expected); + tor_free(actual); + + expected = "1 day 0:00 hours"; + actual = secs_to_uptime(86400 + 1); + tt_str_op(actual, ==, expected); + tor_free(actual); + + expected = "1 day 0:01 hours"; + actual = secs_to_uptime(86400 + 60); + tt_str_op(actual, ==, expected); + tor_free(actual); + + expected = "10 days 0:00 hours"; + actual = secs_to_uptime(86400 * 10); + tt_str_op(actual, ==, expected); + tor_free(actual); + + expected = "10 days 0:00 hours"; + actual = secs_to_uptime(864000 + 1); + tt_str_op(actual, ==, expected); + tor_free(actual); + + expected = "10 days 0:01 hours"; + actual = secs_to_uptime(864000 + 60); + tt_str_op(actual, ==, expected); + tor_free(actual); + + done: + if (actual != NULL) + tor_free(actual); +} + +#undef NS_SUBMODULE +#define NS_SUBMODULE bytes_to_usage + +/* + * Test that bytes_to_usage() is correctly converting the number of bytes that + * Tor has read/written into the appropriate string form containing kilobytes, + * megabytes, or gigabytes. + */ + +static void +NS(test_main)(void *arg) +{ + const char *expected; + char *actual; + (void)arg; + + expected = "0 kB"; + actual = bytes_to_usage(0); + tt_str_op(actual, ==, expected); + tor_free(actual); + + expected = "0 kB"; + actual = bytes_to_usage(1); + tt_str_op(actual, ==, expected); + tor_free(actual); + + expected = "1 kB"; + actual = bytes_to_usage(1024); + tt_str_op(actual, ==, expected); + tor_free(actual); + + expected = "1023 kB"; + actual = bytes_to_usage((1 << 20) - 1); + tt_str_op(actual, ==, expected); + tor_free(actual); + + expected = "1.00 MB"; + actual = bytes_to_usage((1 << 20)); + tt_str_op(actual, ==, expected); + tor_free(actual); + + expected = "1.00 MB"; + actual = bytes_to_usage((1 << 20) + 5242); + tt_str_op(actual, ==, expected); + tor_free(actual); + + expected = "1.01 MB"; + actual = bytes_to_usage((1 << 20) + 5243); + tt_str_op(actual, ==, expected); + tor_free(actual); + + expected = "1024.00 MB"; + actual = bytes_to_usage((1 << 30) - 1); + tt_str_op(actual, ==, expected); + tor_free(actual); + + expected = "1.00 GB"; + actual = bytes_to_usage((1 << 30)); + tt_str_op(actual, ==, expected); + tor_free(actual); + + expected = "1.00 GB"; + actual = bytes_to_usage((1 << 30) + 5368709); + tt_str_op(actual, ==, expected); + tor_free(actual); + + expected = "1.01 GB"; + actual = bytes_to_usage((1 << 30) + 5368710); + tt_str_op(actual, ==, expected); + tor_free(actual); + + expected = "10.00 GB"; + actual = bytes_to_usage((U64_LITERAL(1) << 30) * 10L); + tt_str_op(actual, ==, expected); + tor_free(actual); + + done: + if (actual != NULL) + tor_free(actual); +} + +#undef NS_SUBMODULE +#define NS_SUBMODULE ASPECT(log_heartbeat, fails) + +/* + * Tests that log_heartbeat() fails when in the public server mode, + * not hibernating, and we couldn't get the current routerinfo. + */ + +NS_DECL(double, tls_get_write_overhead_ratio, (void)); +NS_DECL(int, we_are_hibernating, (void)); +NS_DECL(const or_options_t *, get_options, (void)); +NS_DECL(int, public_server_mode, (const or_options_t *options)); +NS_DECL(const routerinfo_t *, router_get_my_routerinfo, (void)); + +static void +NS(test_main)(void *arg) +{ + int expected, actual; + (void)arg; + + NS_MOCK(tls_get_write_overhead_ratio); + NS_MOCK(we_are_hibernating); + NS_MOCK(get_options); + NS_MOCK(public_server_mode); + NS_MOCK(router_get_my_routerinfo); + + expected = -1; + actual = log_heartbeat(0); + + tt_int_op(actual, ==, expected); + + done: + NS_UNMOCK(tls_get_write_overhead_ratio); + NS_UNMOCK(we_are_hibernating); + NS_UNMOCK(get_options); + NS_UNMOCK(public_server_mode); + NS_UNMOCK(router_get_my_routerinfo); +} + +static double +NS(tls_get_write_overhead_ratio)(void) +{ + return 2.0; +} + +static int +NS(we_are_hibernating)(void) +{ + return 0; +} + +static const or_options_t * +NS(get_options)(void) +{ + return NULL; +} + +static int +NS(public_server_mode)(const or_options_t *options) +{ + (void)options; + + return 1; +} + +static const routerinfo_t * +NS(router_get_my_routerinfo)(void) +{ + return NULL; +} + +#undef NS_SUBMODULE +#define NS_SUBMODULE ASPECT(log_heartbeat, not_in_consensus) + +/* + * Tests that log_heartbeat() logs appropriately if we are not in the cached + * consensus. + */ + +NS_DECL(double, tls_get_write_overhead_ratio, (void)); +NS_DECL(int, we_are_hibernating, (void)); +NS_DECL(const or_options_t *, get_options, (void)); +NS_DECL(int, public_server_mode, (const or_options_t *options)); +NS_DECL(const routerinfo_t *, router_get_my_routerinfo, (void)); +NS_DECL(const node_t *, node_get_by_id, (const char *identity_digest)); +NS_DECL(void, logv, (int severity, log_domain_mask_t domain, + const char *funcname, const char *suffix, const char *format, va_list ap)); +NS_DECL(int, server_mode, (const or_options_t *options)); + +static routerinfo_t *mock_routerinfo; +extern int onion_handshakes_requested[MAX_ONION_HANDSHAKE_TYPE+1]; +extern int onion_handshakes_assigned[MAX_ONION_HANDSHAKE_TYPE+1]; + +static void +NS(test_main)(void *arg) +{ + int expected, actual; + (void)arg; + + NS_MOCK(tls_get_write_overhead_ratio); + NS_MOCK(we_are_hibernating); + NS_MOCK(get_options); + NS_MOCK(public_server_mode); + NS_MOCK(router_get_my_routerinfo); + NS_MOCK(node_get_by_id); + NS_MOCK(logv); + NS_MOCK(server_mode); + + log_global_min_severity_ = LOG_DEBUG; + onion_handshakes_requested[ONION_HANDSHAKE_TYPE_TAP] = 1; + onion_handshakes_assigned[ONION_HANDSHAKE_TYPE_TAP] = 1; + onion_handshakes_requested[ONION_HANDSHAKE_TYPE_NTOR] = 1; + onion_handshakes_assigned[ONION_HANDSHAKE_TYPE_NTOR] = 1; + + expected = 0; + actual = log_heartbeat(0); + + tt_int_op(actual, ==, expected); + tt_int_op(CALLED(logv), ==, 3); + + done: + NS_UNMOCK(tls_get_write_overhead_ratio); + NS_UNMOCK(we_are_hibernating); + NS_UNMOCK(get_options); + NS_UNMOCK(public_server_mode); + NS_UNMOCK(router_get_my_routerinfo); + NS_UNMOCK(node_get_by_id); + NS_UNMOCK(logv); + NS_UNMOCK(server_mode); + tor_free(mock_routerinfo); +} + +static double +NS(tls_get_write_overhead_ratio)(void) +{ + return 1.0; +} + +static int +NS(we_are_hibernating)(void) +{ + return 0; +} + +static const or_options_t * +NS(get_options)(void) +{ + return NULL; +} + +static int +NS(public_server_mode)(const or_options_t *options) +{ + (void)options; + + return 1; +} + +static const routerinfo_t * +NS(router_get_my_routerinfo)(void) +{ + mock_routerinfo = tor_malloc(sizeof(routerinfo_t)); + + return mock_routerinfo; +} + +static const node_t * +NS(node_get_by_id)(const char *identity_digest) +{ + (void)identity_digest; + + return NULL; +} + +static void +NS(logv)(int severity, log_domain_mask_t domain, + const char *funcname, const char *suffix, const char *format, va_list ap) +{ + switch (CALLED(logv)) + { + case 0: + tt_int_op(severity, ==, LOG_NOTICE); + tt_int_op(domain, ==, LD_HEARTBEAT); + tt_ptr_op(strstr(funcname, "log_heartbeat"), !=, NULL); + tt_ptr_op(suffix, ==, NULL); + tt_str_op(format, ==, + "Heartbeat: It seems like we are not in the cached consensus."); + break; + case 1: + tt_int_op(severity, ==, LOG_NOTICE); + tt_int_op(domain, ==, LD_HEARTBEAT); + tt_ptr_op(strstr(funcname, "log_heartbeat"), !=, NULL); + tt_ptr_op(suffix, ==, NULL); + tt_str_op(format, ==, + "Heartbeat: Tor's uptime is %s, with %d circuits open. " + "I've sent %s and received %s.%s"); + tt_str_op(va_arg(ap, char *), ==, "0:00 hours"); /* uptime */ + tt_int_op(va_arg(ap, int), ==, 0); /* count_circuits() */ + tt_str_op(va_arg(ap, char *), ==, "0 kB"); /* bw_sent */ + tt_str_op(va_arg(ap, char *), ==, "0 kB"); /* bw_rcvd */ + tt_str_op(va_arg(ap, char *), ==, ""); /* hibernating */ + break; + case 2: + tt_int_op(severity, ==, LOG_NOTICE); + tt_int_op(domain, ==, LD_HEARTBEAT); + tt_ptr_op( + strstr(funcname, "rep_hist_log_circuit_handshake_stats"), !=, NULL); + tt_ptr_op(suffix, ==, NULL); + tt_str_op(format, ==, + "Circuit handshake stats since last time: %d/%d TAP, %d/%d NTor."); + tt_int_op(va_arg(ap, int), ==, 1); /* handshakes assigned (TAP) */ + tt_int_op(va_arg(ap, int), ==, 1); /* handshakes requested (TAP) */ + tt_int_op(va_arg(ap, int), ==, 1); /* handshakes assigned (NTOR) */ + tt_int_op(va_arg(ap, int), ==, 1); /* handshakes requested (NTOR) */ + break; + default: + tt_abort_msg("unexpected call to logv()"); // TODO: prettyprint args + break; + } + + done: + CALLED(logv)++; +} + +static int +NS(server_mode)(const or_options_t *options) +{ + (void)options; + + return 0; +} + +#undef NS_SUBMODULE +#define NS_SUBMODULE ASPECT(log_heartbeat, simple) + +/* + * Tests that log_heartbeat() correctly logs heartbeat information + * normally. + */ + +NS_DECL(double, tls_get_write_overhead_ratio, (void)); +NS_DECL(int, we_are_hibernating, (void)); +NS_DECL(const or_options_t *, get_options, (void)); +NS_DECL(int, public_server_mode, (const or_options_t *options)); +NS_DECL(long, get_uptime, (void)); +NS_DECL(uint64_t, get_bytes_read, (void)); +NS_DECL(uint64_t, get_bytes_written, (void)); +NS_DECL(void, logv, (int severity, log_domain_mask_t domain, + const char *funcname, const char *suffix, const char *format, va_list ap)); +NS_DECL(int, server_mode, (const or_options_t *options)); + +static void +NS(test_main)(void *arg) +{ + int expected, actual; + (void)arg; + + NS_MOCK(tls_get_write_overhead_ratio); + NS_MOCK(we_are_hibernating); + NS_MOCK(get_options); + NS_MOCK(public_server_mode); + NS_MOCK(get_uptime); + NS_MOCK(get_bytes_read); + NS_MOCK(get_bytes_written); + NS_MOCK(logv); + NS_MOCK(server_mode); + + log_global_min_severity_ = LOG_DEBUG; + + expected = 0; + actual = log_heartbeat(0); + + tt_int_op(actual, ==, expected); + + done: + NS_UNMOCK(tls_get_write_overhead_ratio); + NS_UNMOCK(we_are_hibernating); + NS_UNMOCK(get_options); + NS_UNMOCK(public_server_mode); + NS_UNMOCK(get_uptime); + NS_UNMOCK(get_bytes_read); + NS_UNMOCK(get_bytes_written); + NS_UNMOCK(logv); + NS_UNMOCK(server_mode); +} + +static double +NS(tls_get_write_overhead_ratio)(void) +{ + return 1.0; +} + +static int +NS(we_are_hibernating)(void) +{ + return 1; +} + +static const or_options_t * +NS(get_options)(void) +{ + return NULL; +} + +static int +NS(public_server_mode)(const or_options_t *options) +{ + (void)options; + + return 0; +} + +static long +NS(get_uptime)(void) +{ + return 0; +} + +static uint64_t +NS(get_bytes_read)(void) +{ + return 0; +} + +static uint64_t +NS(get_bytes_written)(void) +{ + return 0; +} + +static void +NS(logv)(int severity, log_domain_mask_t domain, const char *funcname, + const char *suffix, const char *format, va_list ap) +{ + tt_int_op(severity, ==, LOG_NOTICE); + tt_int_op(domain, ==, LD_HEARTBEAT); + tt_ptr_op(strstr(funcname, "log_heartbeat"), !=, NULL); + tt_ptr_op(suffix, ==, NULL); + tt_str_op(format, ==, + "Heartbeat: Tor's uptime is %s, with %d circuits open. " + "I've sent %s and received %s.%s"); + tt_str_op(va_arg(ap, char *), ==, "0:00 hours"); /* uptime */ + tt_int_op(va_arg(ap, int), ==, 0); /* count_circuits() */ + tt_str_op(va_arg(ap, char *), ==, "0 kB"); /* bw_sent */ + tt_str_op(va_arg(ap, char *), ==, "0 kB"); /* bw_rcvd */ + tt_str_op(va_arg(ap, char *), ==, " We are currently hibernating."); + + done: + ; +} + +static int +NS(server_mode)(const or_options_t *options) +{ + (void)options; + + return 0; +} + +#undef NS_SUBMODULE +#define NS_SUBMODULE ASPECT(log_heartbeat, calls_log_accounting) + +/* + * Tests that log_heartbeat() correctly logs heartbeat information + * and accounting information when configured. + */ + +NS_DECL(double, tls_get_write_overhead_ratio, (void)); +NS_DECL(int, we_are_hibernating, (void)); +NS_DECL(const or_options_t *, get_options, (void)); +NS_DECL(int, public_server_mode, (const or_options_t *options)); +NS_DECL(long, get_uptime, (void)); +NS_DECL(uint64_t, get_bytes_read, (void)); +NS_DECL(uint64_t, get_bytes_written, (void)); +NS_DECL(void, logv, (int severity, log_domain_mask_t domain, + const char *funcname, const char *suffix, const char *format, va_list ap)); +NS_DECL(int, server_mode, (const or_options_t *options)); +NS_DECL(or_state_t *, get_or_state, (void)); +NS_DECL(int, accounting_is_enabled, (const or_options_t *options)); +NS_DECL(time_t, accounting_get_end_time, (void)); + +static void +NS(test_main)(void *arg) +{ + int expected, actual; + (void)arg; + + NS_MOCK(tls_get_write_overhead_ratio); + NS_MOCK(we_are_hibernating); + NS_MOCK(get_options); + NS_MOCK(public_server_mode); + NS_MOCK(get_uptime); + NS_MOCK(get_bytes_read); + NS_MOCK(get_bytes_written); + NS_MOCK(logv); + NS_MOCK(server_mode); + NS_MOCK(get_or_state); + NS_MOCK(accounting_is_enabled); + NS_MOCK(accounting_get_end_time); + + log_global_min_severity_ = LOG_DEBUG; + + expected = 0; + actual = log_heartbeat(0); + + tt_int_op(actual, ==, expected); + tt_int_op(CALLED(logv), ==, 2); + + done: + NS_UNMOCK(tls_get_write_overhead_ratio); + NS_UNMOCK(we_are_hibernating); + NS_UNMOCK(get_options); + NS_UNMOCK(public_server_mode); + NS_UNMOCK(get_uptime); + NS_UNMOCK(get_bytes_read); + NS_UNMOCK(get_bytes_written); + NS_UNMOCK(logv); + NS_UNMOCK(server_mode); + NS_UNMOCK(accounting_is_enabled); + NS_UNMOCK(accounting_get_end_time); +} + +static double +NS(tls_get_write_overhead_ratio)(void) +{ + return 1.0; +} + +static int +NS(we_are_hibernating)(void) +{ + return 0; +} + +static const or_options_t * +NS(get_options)(void) +{ + or_options_t *mock_options = tor_malloc_zero(sizeof(or_options_t)); + mock_options->AccountingMax = 0; + + return mock_options; +} + +static int +NS(public_server_mode)(const or_options_t *options) +{ + (void)options; + + return 0; +} + +static long +NS(get_uptime)(void) +{ + return 0; +} + +static uint64_t +NS(get_bytes_read)(void) +{ + return 0; +} + +static uint64_t +NS(get_bytes_written)(void) +{ + return 0; +} + +static void +NS(logv)(int severity, log_domain_mask_t domain, + const char *funcname, const char *suffix, const char *format, va_list ap) +{ + switch (CALLED(logv)) + { + case 0: + tt_int_op(severity, ==, LOG_NOTICE); + tt_int_op(domain, ==, LD_HEARTBEAT); + tt_ptr_op(strstr(funcname, "log_heartbeat"), !=, NULL); + tt_ptr_op(suffix, ==, NULL); + tt_str_op(format, ==, + "Heartbeat: Tor's uptime is %s, with %d circuits open. " + "I've sent %s and received %s.%s"); + tt_str_op(va_arg(ap, char *), ==, "0:00 hours"); /* uptime */ + tt_int_op(va_arg(ap, int), ==, 0); /* count_circuits() */ + tt_str_op(va_arg(ap, char *), ==, "0 kB"); /* bw_sent */ + tt_str_op(va_arg(ap, char *), ==, "0 kB"); /* bw_rcvd */ + tt_str_op(va_arg(ap, char *), ==, ""); /* hibernating */ + break; + case 1: + tt_int_op(severity, ==, LOG_NOTICE); + tt_int_op(domain, ==, LD_HEARTBEAT); + tt_ptr_op(strstr(funcname, "log_accounting"), !=, NULL); + tt_ptr_op(suffix, ==, NULL); + tt_str_op(format, ==, + "Heartbeat: Accounting enabled. Sent: %s / %s, Received: %s / %s. " + "The current accounting interval ends on %s, in %s."); + tt_str_op(va_arg(ap, char *), ==, "0 kB"); /* acc_sent */ + tt_str_op(va_arg(ap, char *), ==, "0 kB"); /* acc_max */ + tt_str_op(va_arg(ap, char *), ==, "0 kB"); /* acc_rcvd */ + tt_str_op(va_arg(ap, char *), ==, "0 kB"); /* acc_max */ + /* format_local_iso_time uses local tz, just check mins and secs. */ + tt_ptr_op(strstr(va_arg(ap, char *), ":01:00"), !=, NULL); /* end_buf */ + tt_str_op(va_arg(ap, char *), ==, "0:01 hours"); /* remaining */ + break; + default: + tt_abort_msg("unexpected call to logv()"); // TODO: prettyprint args + break; + } + + done: + CALLED(logv)++; +} + +static int +NS(server_mode)(const or_options_t *options) +{ + (void)options; + + return 1; +} + +static int +NS(accounting_is_enabled)(const or_options_t *options) +{ + (void)options; + + return 1; +} + +static time_t +NS(accounting_get_end_time)(void) +{ + return 60; +} + +static or_state_t * +NS(get_or_state)(void) +{ + or_state_t *mock_state = tor_malloc_zero(sizeof(or_state_t)); + mock_state->AccountingBytesReadInInterval = 0; + mock_state->AccountingBytesWrittenInInterval = 0; + + return mock_state; +} + +#undef NS_SUBMODULE +#define NS_SUBMODULE ASPECT(log_heartbeat, packaged_cell_fullness) + +/* + * Tests that log_heartbeat() correctly logs packaged cell + * fullness information. + */ + +NS_DECL(double, tls_get_write_overhead_ratio, (void)); +NS_DECL(int, we_are_hibernating, (void)); +NS_DECL(const or_options_t *, get_options, (void)); +NS_DECL(int, public_server_mode, (const or_options_t *options)); +NS_DECL(long, get_uptime, (void)); +NS_DECL(uint64_t, get_bytes_read, (void)); +NS_DECL(uint64_t, get_bytes_written, (void)); +NS_DECL(void, logv, (int severity, log_domain_mask_t domain, + const char *funcname, const char *suffix, const char *format, va_list ap)); +NS_DECL(int, server_mode, (const or_options_t *options)); +NS_DECL(int, accounting_is_enabled, (const or_options_t *options)); + +static void +NS(test_main)(void *arg) +{ + int expected, actual; + (void)arg; + + NS_MOCK(tls_get_write_overhead_ratio); + NS_MOCK(we_are_hibernating); + NS_MOCK(get_options); + NS_MOCK(public_server_mode); + NS_MOCK(get_uptime); + NS_MOCK(get_bytes_read); + NS_MOCK(get_bytes_written); + NS_MOCK(logv); + NS_MOCK(server_mode); + NS_MOCK(accounting_is_enabled); + log_global_min_severity_ = LOG_DEBUG; + + stats_n_data_bytes_packaged = RELAY_PAYLOAD_SIZE; + stats_n_data_cells_packaged = 1; + expected = 0; + actual = log_heartbeat(0); + + tt_int_op(actual, ==, expected); + tt_int_op(CALLED(logv), ==, 2); + + done: + stats_n_data_bytes_packaged = 0; + stats_n_data_cells_packaged = 0; + NS_UNMOCK(tls_get_write_overhead_ratio); + NS_UNMOCK(we_are_hibernating); + NS_UNMOCK(get_options); + NS_UNMOCK(public_server_mode); + NS_UNMOCK(get_uptime); + NS_UNMOCK(get_bytes_read); + NS_UNMOCK(get_bytes_written); + NS_UNMOCK(logv); + NS_UNMOCK(server_mode); + NS_UNMOCK(accounting_is_enabled); +} + +static double +NS(tls_get_write_overhead_ratio)(void) +{ + return 1.0; +} + +static int +NS(we_are_hibernating)(void) +{ + return 0; +} + +static const or_options_t * +NS(get_options)(void) +{ + return NULL; +} + +static int +NS(public_server_mode)(const or_options_t *options) +{ + (void)options; + + return 0; +} + +static long +NS(get_uptime)(void) +{ + return 0; +} + +static uint64_t +NS(get_bytes_read)(void) +{ + return 0; +} + +static uint64_t +NS(get_bytes_written)(void) +{ + return 0; +} + +static void +NS(logv)(int severity, log_domain_mask_t domain, const char *funcname, + const char *suffix, const char *format, va_list ap) +{ + switch (CALLED(logv)) + { + case 0: + tt_int_op(severity, ==, LOG_NOTICE); + tt_int_op(domain, ==, LD_HEARTBEAT); + tt_ptr_op(strstr(funcname, "log_heartbeat"), !=, NULL); + tt_ptr_op(suffix, ==, NULL); + tt_str_op(format, ==, + "Heartbeat: Tor's uptime is %s, with %d circuits open. " + "I've sent %s and received %s.%s"); + tt_str_op(va_arg(ap, char *), ==, "0:00 hours"); /* uptime */ + tt_int_op(va_arg(ap, int), ==, 0); /* count_circuits() */ + tt_str_op(va_arg(ap, char *), ==, "0 kB"); /* bw_sent */ + tt_str_op(va_arg(ap, char *), ==, "0 kB"); /* bw_rcvd */ + tt_str_op(va_arg(ap, char *), ==, ""); /* hibernating */ + break; + case 1: + tt_int_op(severity, ==, LOG_NOTICE); + tt_int_op(domain, ==, LD_HEARTBEAT); + tt_ptr_op(strstr(funcname, "log_heartbeat"), !=, NULL); + tt_ptr_op(suffix, ==, NULL); + tt_str_op(format, ==, + "Average packaged cell fullness: %2.3f%%"); + tt_int_op(fabs(va_arg(ap, double) - 100.0) <= DBL_EPSILON, ==, 1); + break; + default: + tt_abort_msg("unexpected call to logv()"); // TODO: prettyprint args + break; + } + + done: + CALLED(logv)++; +} + +static int +NS(server_mode)(const or_options_t *options) +{ + (void)options; + + return 0; +} + +static int +NS(accounting_is_enabled)(const or_options_t *options) +{ + (void)options; + + return 0; +} + +#undef NS_SUBMODULE +#define NS_SUBMODULE ASPECT(log_heartbeat, tls_write_overhead) + +/* + * Tests that log_heartbeat() correctly logs the TLS write overhead information + * when the TLS write overhead ratio exceeds 1. + */ + +NS_DECL(double, tls_get_write_overhead_ratio, (void)); +NS_DECL(int, we_are_hibernating, (void)); +NS_DECL(const or_options_t *, get_options, (void)); +NS_DECL(int, public_server_mode, (const or_options_t *options)); +NS_DECL(long, get_uptime, (void)); +NS_DECL(uint64_t, get_bytes_read, (void)); +NS_DECL(uint64_t, get_bytes_written, (void)); +NS_DECL(void, logv, (int severity, log_domain_mask_t domain, + const char *funcname, const char *suffix, const char *format, va_list ap)); +NS_DECL(int, server_mode, (const or_options_t *options)); +NS_DECL(int, accounting_is_enabled, (const or_options_t *options)); + +static void +NS(test_main)(void *arg) +{ + int expected, actual; + (void)arg; + + NS_MOCK(tls_get_write_overhead_ratio); + NS_MOCK(we_are_hibernating); + NS_MOCK(get_options); + NS_MOCK(public_server_mode); + NS_MOCK(get_uptime); + NS_MOCK(get_bytes_read); + NS_MOCK(get_bytes_written); + NS_MOCK(logv); + NS_MOCK(server_mode); + NS_MOCK(accounting_is_enabled); + stats_n_data_cells_packaged = 0; + log_global_min_severity_ = LOG_DEBUG; + + expected = 0; + actual = log_heartbeat(0); + + tt_int_op(actual, ==, expected); + tt_int_op(CALLED(logv), ==, 2); + + done: + NS_UNMOCK(tls_get_write_overhead_ratio); + NS_UNMOCK(we_are_hibernating); + NS_UNMOCK(get_options); + NS_UNMOCK(public_server_mode); + NS_UNMOCK(get_uptime); + NS_UNMOCK(get_bytes_read); + NS_UNMOCK(get_bytes_written); + NS_UNMOCK(logv); + NS_UNMOCK(server_mode); + NS_UNMOCK(accounting_is_enabled); +} + +static double +NS(tls_get_write_overhead_ratio)(void) +{ + return 2.0; +} + +static int +NS(we_are_hibernating)(void) +{ + return 0; +} + +static const or_options_t * +NS(get_options)(void) +{ + return NULL; +} + +static int +NS(public_server_mode)(const or_options_t *options) +{ + (void)options; + + return 0; +} + +static long +NS(get_uptime)(void) +{ + return 0; +} + +static uint64_t +NS(get_bytes_read)(void) +{ + return 0; +} + +static uint64_t +NS(get_bytes_written)(void) +{ + return 0; +} + +static void +NS(logv)(int severity, log_domain_mask_t domain, + const char *funcname, const char *suffix, const char *format, va_list ap) +{ + switch (CALLED(logv)) + { + case 0: + tt_int_op(severity, ==, LOG_NOTICE); + tt_int_op(domain, ==, LD_HEARTBEAT); + tt_ptr_op(strstr(funcname, "log_heartbeat"), !=, NULL); + tt_ptr_op(suffix, ==, NULL); + tt_str_op(format, ==, + "Heartbeat: Tor's uptime is %s, with %d circuits open. " + "I've sent %s and received %s.%s"); + tt_str_op(va_arg(ap, char *), ==, "0:00 hours"); /* uptime */ + tt_int_op(va_arg(ap, int), ==, 0); /* count_circuits() */ + tt_str_op(va_arg(ap, char *), ==, "0 kB"); /* bw_sent */ + tt_str_op(va_arg(ap, char *), ==, "0 kB"); /* bw_rcvd */ + tt_str_op(va_arg(ap, char *), ==, ""); /* hibernating */ + break; + case 1: + tt_int_op(severity, ==, LOG_NOTICE); + tt_int_op(domain, ==, LD_HEARTBEAT); + tt_ptr_op(strstr(funcname, "log_heartbeat"), !=, NULL); + tt_ptr_op(suffix, ==, NULL); + tt_str_op(format, ==, "TLS write overhead: %.f%%"); + tt_int_op(fabs(va_arg(ap, double) - 100.0) <= DBL_EPSILON, ==, 1); + break; + default: + tt_abort_msg("unexpected call to logv()"); // TODO: prettyprint args + break; + } + + done: + CALLED(logv)++; +} + +static int +NS(server_mode)(const or_options_t *options) +{ + (void)options; + + return 0; +} + +static int +NS(accounting_is_enabled)(const or_options_t *options) +{ + (void)options; + + return 0; +} + +#undef NS_SUBMODULE + +struct testcase_t status_tests[] = { + TEST_CASE(count_circuits), + TEST_CASE(secs_to_uptime), + TEST_CASE(bytes_to_usage), + TEST_CASE_ASPECT(log_heartbeat, fails), + TEST_CASE_ASPECT(log_heartbeat, simple), + TEST_CASE_ASPECT(log_heartbeat, not_in_consensus), + TEST_CASE_ASPECT(log_heartbeat, calls_log_accounting), + TEST_CASE_ASPECT(log_heartbeat, packaged_cell_fullness), + TEST_CASE_ASPECT(log_heartbeat, tls_write_overhead), + END_OF_TESTCASES +}; + diff --git a/src/test/test_util.c b/src/test/test_util.c index 9104088c90..6d6b6dbdf8 100644 --- a/src/test/test_util.c +++ b/src/test/test_util.c @@ -1189,19 +1189,19 @@ test_util_strmisc(void) } /* Test str-foo functions */ - cp = tor_strdup("abcdef"); - test_assert(tor_strisnonupper(cp)); - cp[3] = 'D'; - test_assert(!tor_strisnonupper(cp)); - tor_strupper(cp); - test_streq(cp, "ABCDEF"); - tor_strlower(cp); - test_streq(cp, "abcdef"); - test_assert(tor_strisnonupper(cp)); - test_assert(tor_strisprint(cp)); - cp[3] = 3; - test_assert(!tor_strisprint(cp)); - tor_free(cp); + cp_tmp = tor_strdup("abcdef"); + test_assert(tor_strisnonupper(cp_tmp)); + cp_tmp[3] = 'D'; + test_assert(!tor_strisnonupper(cp_tmp)); + tor_strupper(cp_tmp); + test_streq(cp_tmp, "ABCDEF"); + tor_strlower(cp_tmp); + test_streq(cp_tmp, "abcdef"); + test_assert(tor_strisnonupper(cp_tmp)); + test_assert(tor_strisprint(cp_tmp)); + cp_tmp[3] = 3; + test_assert(!tor_strisprint(cp_tmp)); + tor_free(cp_tmp); /* Test memmem and memstr */ { @@ -1212,6 +1212,10 @@ test_util_strmisc(void) test_assert(!tor_memmem(haystack, 4, "cde", 3)); haystack = "ababcad"; test_eq_ptr(tor_memmem(haystack, 7, "abc", 3), haystack + 2); + test_eq_ptr(tor_memmem(haystack, 7, "ad", 2), haystack + 5); + test_eq_ptr(tor_memmem(haystack, 7, "cad", 3), haystack + 4); + test_assert(!tor_memmem(haystack, 7, "dadad", 5)); + test_assert(!tor_memmem(haystack, 7, "abcdefghij", 10)); /* memstr */ test_eq_ptr(tor_memstr(haystack, 7, "abc"), haystack + 2); test_eq_ptr(tor_memstr(haystack, 7, "cad"), haystack + 4); @@ -1577,14 +1581,14 @@ test_util_mmap(void) test_eq(mapping->size, strlen("Short file.")); test_streq(mapping->data, "Short file."); #ifdef _WIN32 - tor_munmap_file(mapping); + tt_int_op(0, ==, tor_munmap_file(mapping)); mapping = NULL; test_assert(unlink(fname1) == 0); #else /* make sure we can unlink. */ test_assert(unlink(fname1) == 0); test_streq(mapping->data, "Short file."); - tor_munmap_file(mapping); + tt_int_op(0, ==, tor_munmap_file(mapping)); mapping = NULL; #endif @@ -1605,7 +1609,7 @@ test_util_mmap(void) test_assert(mapping); test_eq(mapping->size, buflen); test_memeq(mapping->data, buf, buflen); - tor_munmap_file(mapping); + tt_int_op(0, ==, tor_munmap_file(mapping)); mapping = NULL; /* Now try a big aligned file. */ @@ -1614,7 +1618,7 @@ test_util_mmap(void) test_assert(mapping); test_eq(mapping->size, 16384); test_memeq(mapping->data, buf, 16384); - tor_munmap_file(mapping); + tt_int_op(0, ==, tor_munmap_file(mapping)); mapping = NULL; done: @@ -1627,8 +1631,7 @@ test_util_mmap(void) tor_free(fname3); tor_free(buf); - if (mapping) - tor_munmap_file(mapping); + tor_munmap_file(mapping); } /** Run unit tests for escaping/unescaping data for use by controllers. */ @@ -2322,6 +2325,8 @@ test_util_listdir(void *ptr) done: tor_free(fname1); tor_free(fname2); + tor_free(fname3); + tor_free(dir1); tor_free(dirname); if (dir_contents) { SMARTLIST_FOREACH(dir_contents, char *, cp, tor_free(cp)); @@ -3607,6 +3612,34 @@ test_util_socketpair(void *arg) tor_close_socket(fds[1]); } +static void +test_util_max_mem(void *arg) +{ + size_t memory1, memory2; + int r, r2; + (void) arg; + + r = get_total_system_memory(&memory1); + r2 = get_total_system_memory(&memory2); + tt_int_op(r, ==, r2); + tt_int_op(memory2, ==, memory1); + + TT_BLATHER(("System memory: "U64_FORMAT, U64_PRINTF_ARG(memory1))); + + if (r==0) { + /* You have at least a megabyte. */ + tt_int_op(memory1, >, (1<<20)); + } else { + /* You do not have a petabyte. */ +#if SIZEOF_SIZE_T == SIZEOF_UINT64_T + tt_int_op(memory1, <, (U64_LITERAL(1)<<50)); +#endif + } + + done: + ; +} + struct testcase_t util_tests[] = { UTIL_LEGACY(time), UTIL_TEST(parse_http_time, 0), @@ -3670,6 +3703,7 @@ struct testcase_t util_tests[] = { (void*)"0" }, { "socketpair_ersatz", test_util_socketpair, TT_FORK, &socketpair_setup, (void*)"1" }, + UTIL_TEST(max_mem, 0), END_OF_TESTCASES }; diff --git a/src/tools/tor-fw-helper/include.am b/src/tools/tor-fw-helper/include.am index 275a0e237c..1f862e6f06 100644 --- a/src/tools/tor-fw-helper/include.am +++ b/src/tools/tor-fw-helper/include.am @@ -33,4 +33,4 @@ endif src_tools_tor_fw_helper_tor_fw_helper_LDFLAGS = $(nat_pmp_ldflags) $(miniupnpc_ldflags) src_tools_tor_fw_helper_tor_fw_helper_LDADD = src/common/libor.a $(nat_pmp_ldadd) $(miniupnpc_ldadd) -lm @TOR_LIB_WS32@ -src_tools_tor_fw_helper_tor_fw_helper_CPPFLAGS = $(nat_pmp_cppflags) $(miniupnpc_cppflags) +src_tools_tor_fw_helper_tor_fw_helper_CPPFLAGS = $(nat_pmp_cppflags) $(miniupnpc_cppflags) -I"$(top_srcdir)/src/ext" diff --git a/src/tools/tor-gencert.c b/src/tools/tor-gencert.c index 2f95cf7c52..e799df5cad 100644 --- a/src/tools/tor-gencert.c +++ b/src/tools/tor-gencert.c @@ -302,6 +302,7 @@ load_identity_key(void) if (!identity_key) { log_err(LD_GENERAL, "Couldn't read identity key from %s", identity_key_file); + fclose(f); return 1; } fclose(f); @@ -322,6 +323,7 @@ load_signing_key(void) } if (!(signing_key = PEM_read_PrivateKey(f, NULL, NULL, NULL))) { log_err(LD_GENERAL, "Couldn't read siging key from %s", signing_key_file); + fclose(f); return 1; } fclose(f); @@ -547,6 +549,9 @@ main(int argc, char **argv) if (signing_key) EVP_PKEY_free(signing_key); tor_free(address); + tor_free(identity_key_file); + tor_free(signing_key_file); + tor_free(certificate_file); crypto_global_cleanup(); return r; diff --git a/src/win32/orconfig.h b/src/win32/orconfig.h index 0d6fe692b9..7b5877cf9d 100644 --- a/src/win32/orconfig.h +++ b/src/win32/orconfig.h @@ -241,7 +241,7 @@ #define USING_TWOS_COMPLEMENT /* Version number of package */ -#define VERSION "0.2.5.1-alpha-dev" +#define VERSION "0.2.5.4-alpha-dev" |