Internal change

PiperOrigin-RevId: 157669357
Change-Id: I2cf6e3eb6edbbb0dbce58ae9e900b30de28268bf
diff --git a/import.sh b/import.sh
index f6e20b3..56b5842 100644
--- a/import.sh
+++ b/import.sh
@@ -8,7 +8,7 @@
 do
   mkdir $top/$version
   cd $top/$version
-  for d in base build url
+  for d in base build net url
   do
     wget $prefix/$version/$d.tar.gz
     mkdir $top/$version/$d
diff --git a/src/base/optional.h b/src/base/optional.h
new file mode 100644
index 0000000..cf65ad7
--- /dev/null
+++ b/src/base/optional.h
@@ -0,0 +1,506 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef BASE_OPTIONAL_H_
+#define BASE_OPTIONAL_H_
+
+#include <type_traits>
+
+#include "base/logging.h"
+#include "base/template_util.h"
+
+namespace base {
+
+// Specification:
+// http://en.cppreference.com/w/cpp/utility/optional/in_place_t
+struct in_place_t {};
+
+// Specification:
+// http://en.cppreference.com/w/cpp/utility/optional/nullopt_t
+struct nullopt_t {
+  constexpr explicit nullopt_t(int) {}
+};
+
+// Specification:
+// http://en.cppreference.com/w/cpp/utility/optional/in_place
+constexpr in_place_t in_place = {};
+
+// Specification:
+// http://en.cppreference.com/w/cpp/utility/optional/nullopt
+constexpr nullopt_t nullopt(0);
+
+namespace internal {
+
+template <typename T, bool = base::is_trivially_destructible<T>::value>
+struct OptionalStorage {
+  // Initializing |empty_| here instead of using default member initializing
+  // to avoid errors in g++ 4.8.
+  constexpr OptionalStorage() : empty_('\0') {}
+
+  constexpr explicit OptionalStorage(const T& value)
+      : is_null_(false), value_(value) {}
+
+  // TODO(alshabalin): Can't use 'constexpr' with std::move until C++14.
+  explicit OptionalStorage(T&& value)
+      : is_null_(false), value_(std::move(value)) {}
+
+  // TODO(alshabalin): Can't use 'constexpr' with std::forward until C++14.
+  template <class... Args>
+  explicit OptionalStorage(base::in_place_t, Args&&... args)
+      : is_null_(false), value_(std::forward<Args>(args)...) {}
+
+  // When T is not trivially destructible we must call its
+  // destructor before deallocating its memory.
+  ~OptionalStorage() {
+    if (!is_null_)
+      value_.~T();
+  }
+
+  bool is_null_ = true;
+  union {
+    // |empty_| exists so that the union will always be initialized, even when
+    // it doesn't contain a value. Union members must be initialized for the
+    // constructor to be 'constexpr'.
+    char empty_;
+    T value_;
+  };
+};
+
+template <typename T>
+struct OptionalStorage<T, true> {
+  // Initializing |empty_| here instead of using default member initializing
+  // to avoid errors in g++ 4.8.
+  constexpr OptionalStorage() : empty_('\0') {}
+
+  constexpr explicit OptionalStorage(const T& value)
+      : is_null_(false), value_(value) {}
+
+  // TODO(alshabalin): Can't use 'constexpr' with std::move until C++14.
+  explicit OptionalStorage(T&& value)
+      : is_null_(false), value_(std::move(value)) {}
+
+  // TODO(alshabalin): Can't use 'constexpr' with std::forward until C++14.
+  template <class... Args>
+  explicit OptionalStorage(base::in_place_t, Args&&... args)
+      : is_null_(false), value_(std::forward<Args>(args)...) {}
+
+  // When T is trivially destructible (i.e. its destructor does nothing) there
+  // is no need to call it. Explicitly defaulting the destructor means it's not
+  // user-provided. Those two together make this destructor trivial.
+  ~OptionalStorage() = default;
+
+  bool is_null_ = true;
+  union {
+    // |empty_| exists so that the union will always be initialized, even when
+    // it doesn't contain a value. Union members must be initialized for the
+    // constructor to be 'constexpr'.
+    char empty_;
+    T value_;
+  };
+};
+
+}  // namespace internal
+
+// base::Optional is a Chromium version of the C++17 optional class:
+// std::optional documentation:
+// http://en.cppreference.com/w/cpp/utility/optional
+// Chromium documentation:
+// https://chromium.googlesource.com/chromium/src/+/master/docs/optional.md
+//
+// These are the differences between the specification and the implementation:
+// - The constructor and emplace method using initializer_list are not
+//   implemented because 'initializer_list' is banned from Chromium.
+// - Constructors do not use 'constexpr' as it is a C++14 extension.
+// - 'constexpr' might be missing in some places for reasons specified locally.
+// - No exceptions are thrown, because they are banned from Chromium.
+// - All the non-members are in the 'base' namespace instead of 'std'.
+template <typename T>
+class Optional {
+ public:
+  using value_type = T;
+
+  constexpr Optional() {}
+
+  constexpr Optional(base::nullopt_t) {}
+
+  Optional(const Optional& other) {
+    if (!other.storage_.is_null_)
+      Init(other.value());
+  }
+
+  Optional(Optional&& other) {
+    if (!other.storage_.is_null_)
+      Init(std::move(other.value()));
+  }
+
+  constexpr Optional(const T& value) : storage_(value) {}
+
+  // TODO(alshabalin): Can't use 'constexpr' with std::move until C++14.
+  Optional(T&& value) : storage_(std::move(value)) {}
+
+  // TODO(alshabalin): Can't use 'constexpr' with std::forward until C++14.
+  template <class... Args>
+  explicit Optional(base::in_place_t, Args&&... args)
+      : storage_(base::in_place, std::forward<Args>(args)...) {}
+
+  ~Optional() = default;
+
+  Optional& operator=(base::nullopt_t) {
+    FreeIfNeeded();
+    return *this;
+  }
+
+  Optional& operator=(const Optional& other) {
+    if (other.storage_.is_null_) {
+      FreeIfNeeded();
+      return *this;
+    }
+
+    InitOrAssign(other.value());
+    return *this;
+  }
+
+  Optional& operator=(Optional&& other) {
+    if (other.storage_.is_null_) {
+      FreeIfNeeded();
+      return *this;
+    }
+
+    InitOrAssign(std::move(other.value()));
+    return *this;
+  }
+
+  template <class U>
+  typename std::enable_if<std::is_same<std::decay<U>, T>::value,
+                          Optional&>::type
+  operator=(U&& value) {
+    InitOrAssign(std::forward<U>(value));
+    return *this;
+  }
+
+  // TODO(mlamouri): can't use 'constexpr' with DCHECK.
+  const T* operator->() const {
+    DCHECK(!storage_.is_null_);
+    return &value();
+  }
+
+  // TODO(mlamouri): using 'constexpr' here breaks compiler that assume it was
+  // meant to be 'constexpr const'.
+  T* operator->() {
+    DCHECK(!storage_.is_null_);
+    return &value();
+  }
+
+  constexpr const T& operator*() const& { return value(); }
+
+  // TODO(mlamouri): using 'constexpr' here breaks compiler that assume it was
+  // meant to be 'constexpr const'.
+  T& operator*() & { return value(); }
+
+  constexpr const T&& operator*() const&& { return std::move(value()); }
+
+  // TODO(mlamouri): using 'constexpr' here breaks compiler that assume it was
+  // meant to be 'constexpr const'.
+  T&& operator*() && { return std::move(value()); }
+
+  constexpr explicit operator bool() const { return !storage_.is_null_; }
+
+  constexpr bool has_value() const { return !storage_.is_null_; }
+
+  // TODO(mlamouri): using 'constexpr' here breaks compiler that assume it was
+  // meant to be 'constexpr const'.
+  T& value() & {
+    DCHECK(!storage_.is_null_);
+    return storage_.value_;
+  }
+
+  // TODO(mlamouri): can't use 'constexpr' with DCHECK.
+  const T& value() const& {
+    DCHECK(!storage_.is_null_);
+    return storage_.value_;
+  }
+
+  // TODO(mlamouri): using 'constexpr' here breaks compiler that assume it was
+  // meant to be 'constexpr const'.
+  T&& value() && {
+    DCHECK(!storage_.is_null_);
+    return std::move(storage_.value_);
+  }
+
+  // TODO(mlamouri): can't use 'constexpr' with DCHECK.
+  const T&& value() const&& {
+    DCHECK(!storage_.is_null_);
+    return std::move(storage_.value_);
+  }
+
+  template <class U>
+  constexpr T value_or(U&& default_value) const& {
+    // TODO(mlamouri): add the following assert when possible:
+    // static_assert(std::is_copy_constructible<T>::value,
+    //               "T must be copy constructible");
+    static_assert(std::is_convertible<U, T>::value,
+                  "U must be convertible to T");
+    return storage_.is_null_ ? static_cast<T>(std::forward<U>(default_value))
+                             : value();
+  }
+
+  template <class U>
+  T value_or(U&& default_value) && {
+    // TODO(mlamouri): add the following assert when possible:
+    // static_assert(std::is_move_constructible<T>::value,
+    //               "T must be move constructible");
+    static_assert(std::is_convertible<U, T>::value,
+                  "U must be convertible to T");
+    return storage_.is_null_ ? static_cast<T>(std::forward<U>(default_value))
+                             : std::move(value());
+  }
+
+  void swap(Optional& other) {
+    if (storage_.is_null_ && other.storage_.is_null_)
+      return;
+
+    if (storage_.is_null_ != other.storage_.is_null_) {
+      if (storage_.is_null_) {
+        Init(std::move(other.storage_.value_));
+        other.FreeIfNeeded();
+      } else {
+        other.Init(std::move(storage_.value_));
+        FreeIfNeeded();
+      }
+      return;
+    }
+
+    DCHECK(!storage_.is_null_ && !other.storage_.is_null_);
+    using std::swap;
+    swap(**this, *other);
+  }
+
+  void reset() {
+    FreeIfNeeded();
+  }
+
+  template <class... Args>
+  void emplace(Args&&... args) {
+    FreeIfNeeded();
+    Init(std::forward<Args>(args)...);
+  }
+
+ private:
+  void Init(const T& value) {
+    DCHECK(storage_.is_null_);
+    new (&storage_.value_) T(value);
+    storage_.is_null_ = false;
+  }
+
+  void Init(T&& value) {
+    DCHECK(storage_.is_null_);
+    new (&storage_.value_) T(std::move(value));
+    storage_.is_null_ = false;
+  }
+
+  template <class... Args>
+  void Init(Args&&... args) {
+    DCHECK(storage_.is_null_);
+    new (&storage_.value_) T(std::forward<Args>(args)...);
+    storage_.is_null_ = false;
+  }
+
+  void InitOrAssign(const T& value) {
+    if (storage_.is_null_)
+      Init(value);
+    else
+      storage_.value_ = value;
+  }
+
+  void InitOrAssign(T&& value) {
+    if (storage_.is_null_)
+      Init(std::move(value));
+    else
+      storage_.value_ = std::move(value);
+  }
+
+  void FreeIfNeeded() {
+    if (storage_.is_null_)
+      return;
+    storage_.value_.~T();
+    storage_.is_null_ = true;
+  }
+
+  internal::OptionalStorage<T> storage_;
+};
+
+template <class T>
+constexpr bool operator==(const Optional<T>& lhs, const Optional<T>& rhs) {
+  return !!lhs != !!rhs ? false : lhs == nullopt || (*lhs == *rhs);
+}
+
+template <class T>
+constexpr bool operator!=(const Optional<T>& lhs, const Optional<T>& rhs) {
+  return !(lhs == rhs);
+}
+
+template <class T>
+constexpr bool operator<(const Optional<T>& lhs, const Optional<T>& rhs) {
+  return rhs == nullopt ? false : (lhs == nullopt ? true : *lhs < *rhs);
+}
+
+template <class T>
+constexpr bool operator<=(const Optional<T>& lhs, const Optional<T>& rhs) {
+  return !(rhs < lhs);
+}
+
+template <class T>
+constexpr bool operator>(const Optional<T>& lhs, const Optional<T>& rhs) {
+  return rhs < lhs;
+}
+
+template <class T>
+constexpr bool operator>=(const Optional<T>& lhs, const Optional<T>& rhs) {
+  return !(lhs < rhs);
+}
+
+template <class T>
+constexpr bool operator==(const Optional<T>& opt, base::nullopt_t) {
+  return !opt;
+}
+
+template <class T>
+constexpr bool operator==(base::nullopt_t, const Optional<T>& opt) {
+  return !opt;
+}
+
+template <class T>
+constexpr bool operator!=(const Optional<T>& opt, base::nullopt_t) {
+  return !!opt;
+}
+
+template <class T>
+constexpr bool operator!=(base::nullopt_t, const Optional<T>& opt) {
+  return !!opt;
+}
+
+template <class T>
+constexpr bool operator<(const Optional<T>& opt, base::nullopt_t) {
+  return false;
+}
+
+template <class T>
+constexpr bool operator<(base::nullopt_t, const Optional<T>& opt) {
+  return !!opt;
+}
+
+template <class T>
+constexpr bool operator<=(const Optional<T>& opt, base::nullopt_t) {
+  return !opt;
+}
+
+template <class T>
+constexpr bool operator<=(base::nullopt_t, const Optional<T>& opt) {
+  return true;
+}
+
+template <class T>
+constexpr bool operator>(const Optional<T>& opt, base::nullopt_t) {
+  return !!opt;
+}
+
+template <class T>
+constexpr bool operator>(base::nullopt_t, const Optional<T>& opt) {
+  return false;
+}
+
+template <class T>
+constexpr bool operator>=(const Optional<T>& opt, base::nullopt_t) {
+  return true;
+}
+
+template <class T>
+constexpr bool operator>=(base::nullopt_t, const Optional<T>& opt) {
+  return !opt;
+}
+
+template <class T>
+constexpr bool operator==(const Optional<T>& opt, const T& value) {
+  return opt != nullopt ? *opt == value : false;
+}
+
+template <class T>
+constexpr bool operator==(const T& value, const Optional<T>& opt) {
+  return opt == value;
+}
+
+template <class T>
+constexpr bool operator!=(const Optional<T>& opt, const T& value) {
+  return !(opt == value);
+}
+
+template <class T>
+constexpr bool operator!=(const T& value, const Optional<T>& opt) {
+  return !(opt == value);
+}
+
+template <class T>
+constexpr bool operator<(const Optional<T>& opt, const T& value) {
+  return opt != nullopt ? *opt < value : true;
+}
+
+template <class T>
+constexpr bool operator<(const T& value, const Optional<T>& opt) {
+  return opt != nullopt ? value < *opt : false;
+}
+
+template <class T>
+constexpr bool operator<=(const Optional<T>& opt, const T& value) {
+  return !(opt > value);
+}
+
+template <class T>
+constexpr bool operator<=(const T& value, const Optional<T>& opt) {
+  return !(value > opt);
+}
+
+template <class T>
+constexpr bool operator>(const Optional<T>& opt, const T& value) {
+  return value < opt;
+}
+
+template <class T>
+constexpr bool operator>(const T& value, const Optional<T>& opt) {
+  return opt < value;
+}
+
+template <class T>
+constexpr bool operator>=(const Optional<T>& opt, const T& value) {
+  return !(opt < value);
+}
+
+template <class T>
+constexpr bool operator>=(const T& value, const Optional<T>& opt) {
+  return !(value < opt);
+}
+
+template <class T>
+constexpr Optional<typename std::decay<T>::type> make_optional(T&& value) {
+  return Optional<typename std::decay<T>::type>(std::forward<T>(value));
+}
+
+template <class T>
+void swap(Optional<T>& lhs, Optional<T>& rhs) {
+  lhs.swap(rhs);
+}
+
+}  // namespace base
+
+namespace std {
+
+template <class T>
+struct hash<base::Optional<T>> {
+  size_t operator()(const base::Optional<T>& opt) const {
+    return opt == base::nullopt ? 0 : std::hash<T>()(*opt);
+  }
+};
+
+}  // namespace std
+
+#endif  // BASE_OPTIONAL_H_
diff --git a/src/net/base/lookup_string_in_fixed_set.cc b/src/net/base/lookup_string_in_fixed_set.cc
new file mode 100644
index 0000000..5c145f8
--- /dev/null
+++ b/src/net/base/lookup_string_in_fixed_set.cc
@@ -0,0 +1,198 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "net/base/lookup_string_in_fixed_set.h"
+
+#include "base/logging.h"
+
+namespace net {
+
+namespace {
+
+// Read next offset from |pos|, increment |offset| by that amount, and increment
+// |pos| either to point to the start of the next encoded offset in its node, or
+// nullptr, if there are no remaining offsets.
+//
+// Returns true if an offset could be read; false otherwise.
+inline bool GetNextOffset(const unsigned char** pos,
+                          const unsigned char** offset) {
+  if (*pos == nullptr)
+    return false;
+
+  size_t bytes_consumed;
+  switch (**pos & 0x60) {
+    case 0x60:  // Read three byte offset
+      *offset += (((*pos)[0] & 0x1F) << 16) | ((*pos)[1] << 8) | (*pos)[2];
+      bytes_consumed = 3;
+      break;
+    case 0x40:  // Read two byte offset
+      *offset += (((*pos)[0] & 0x1F) << 8) | (*pos)[1];
+      bytes_consumed = 2;
+      break;
+    default:
+      *offset += (*pos)[0] & 0x3F;
+      bytes_consumed = 1;
+  }
+  if ((**pos & 0x80) != 0) {
+    *pos = nullptr;
+  } else {
+    *pos += bytes_consumed;
+  }
+  return true;
+}
+
+// Check if byte at |offset| is last in label.
+bool IsEOL(const unsigned char* offset) {
+  return (*offset & 0x80) != 0;
+}
+
+// Check if byte at |offset| matches key. This version matches both end-of-label
+// chars and not-end-of-label chars.
+bool IsMatch(const unsigned char* offset, char key) {
+  return (*offset & 0x7F) == key;
+}
+
+// Read return value at |offset|, if it is a return value. Returns true if a
+// return value could be read, false otherwise.
+bool GetReturnValue(const unsigned char* offset, int* return_value) {
+  // Return values are always encoded as end-of-label chars (so the high bit is
+  // set). So byte values in the inclusive range [0x80, 0x9F] encode the return
+  // values 0 through 31 (though make_dafsa.py doesn't currently encode values
+  // higher than 7). The following code does that translation.
+  if ((*offset & 0xE0) == 0x80) {
+    *return_value = *offset & 0x1F;
+    return true;
+  }
+  return false;
+}
+
+}  // namespace
+
+FixedSetIncrementalLookup::FixedSetIncrementalLookup(const unsigned char* graph,
+                                                     size_t length)
+    : pos_(graph), end_(graph + length), pos_is_label_character_(false) {}
+
+FixedSetIncrementalLookup::FixedSetIncrementalLookup(
+    const FixedSetIncrementalLookup& other) = default;
+
+FixedSetIncrementalLookup& FixedSetIncrementalLookup::operator=(
+    const FixedSetIncrementalLookup& other) = default;
+
+FixedSetIncrementalLookup::~FixedSetIncrementalLookup() {}
+
+bool FixedSetIncrementalLookup::Advance(char input) {
+  if (!pos_) {
+    // A previous input exhausted the graph, so there are no possible matches.
+    return false;
+  }
+
+  // Only ASCII printable chars are supported by the current DAFSA format -- the
+  // high bit (values 0x80-0xFF) is reserved as a label-end signifier, and the
+  // low values (values 0x00-0x1F) are reserved to encode the return values. So
+  // values outside this range will never be in the dictionary.
+  if (input >= 0x20) {
+    if (pos_is_label_character_) {
+      // Currently processing a label, so it is only necessary to check the byte
+      // at |pos_| to see if it encodes a character matching |input|.
+      bool is_last_char_in_label = IsEOL(pos_);
+      bool is_match = IsMatch(pos_, input);
+      if (is_match) {
+        // If this is not the last character in the label, the next byte should
+        // be interpreted as a character or return value. Otherwise, the next
+        // byte should be interpreted as a list of child node offsets.
+        ++pos_;
+        DCHECK(pos_ < end_);
+        pos_is_label_character_ = !is_last_char_in_label;
+        return true;
+      }
+    } else {
+      const unsigned char* offset = pos_;
+      // Read offsets from |pos_| until the label of the child node at |offset|
+      // matches |input|, or until there are no more offsets.
+      while (GetNextOffset(&pos_, &offset)) {
+        DCHECK(offset < end_);
+        DCHECK((pos_ == nullptr) || (pos_ < end_));
+
+        // |offset| points to a DAFSA node that is a child of the original node.
+        //
+        // The low 7 bits of a node encodes a character value; the high bit
+        // indicates whether it's the last character in the label.
+        //
+        // Note that |*offset| could also be a result code value, but these are
+        // really just out-of-range ASCII values, encoded the same way as
+        // characters. Since |input| was already validated as a printable ASCII
+        // value ASCII value, IsMatch will never return true if |offset| is a
+        // result code.
+        bool is_last_char_in_label = IsEOL(offset);
+        bool is_match = IsMatch(offset, input);
+
+        if (is_match) {
+          // If this is not the last character in the label, the next byte
+          // should be interpreted as a character or return value. Otherwise,
+          // the next byte should be interpreted as a list of child node
+          // offsets.
+          pos_ = offset + 1;
+          DCHECK(pos_ < end_);
+          pos_is_label_character_ = !is_last_char_in_label;
+          return true;
+        }
+      }
+    }
+  }
+
+  // If no match was found, then end of the DAFSA has been reached.
+  pos_ = nullptr;
+  pos_is_label_character_ = false;
+  return false;
+}
+
+int FixedSetIncrementalLookup::GetResultForCurrentSequence() const {
+  int value = kDafsaNotFound;
+  // Look to see if there is a next character that's a return value.
+  if (pos_is_label_character_) {
+    // Currently processing a label, so it is only necessary to check the byte
+    // at |pos_| to see if encodes a return value.
+    GetReturnValue(pos_, &value);
+  } else {
+    // Otherwise, |pos_| is an offset list (or nullptr). Explore the list of
+    // child nodes (given by their offsets) to find one whose label is a result
+    // code.
+    //
+    // This search uses a temporary copy of |pos_|, since mutating |pos_| could
+    // skip over a node that would be important to a subsequent Advance() call.
+    const unsigned char* temp_pos = pos_;
+
+    // Read offsets from |temp_pos| until either |temp_pos| is nullptr or until
+    // the byte at |offset| contains a result code (encoded as an ASCII
+    // character below 0x20).
+    const unsigned char* offset = pos_;
+    while (GetNextOffset(&temp_pos, &offset)) {
+      DCHECK(offset < end_);
+      DCHECK((temp_pos == nullptr) || temp_pos < end_);
+      if (GetReturnValue(offset, &value))
+        break;
+    }
+  }
+  return value;
+}
+
+int LookupStringInFixedSet(const unsigned char* graph,
+                           size_t length,
+                           const char* key,
+                           size_t key_length) {
+  // Do an incremental lookup until either the end of the graph is reached, or
+  // until every character in |key| is consumed.
+  FixedSetIncrementalLookup lookup(graph, length);
+  const char* key_end = key + key_length;
+  while (key != key_end) {
+    if (!lookup.Advance(*key))
+      return kDafsaNotFound;
+    key++;
+  }
+  // The entire input was consumed without reaching the end of the graph. Return
+  // the result code (if present) for the current position, or kDafsaNotFound.
+  return lookup.GetResultForCurrentSequence();
+}
+
+}  // namespace net
diff --git a/src/net/base/lookup_string_in_fixed_set.h b/src/net/base/lookup_string_in_fixed_set.h
new file mode 100644
index 0000000..3da3856
--- /dev/null
+++ b/src/net/base/lookup_string_in_fixed_set.h
@@ -0,0 +1,147 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef NET_BASE_LOOKUP_STRING_IN_FIXED_SET_H_
+#define NET_BASE_LOOKUP_STRING_IN_FIXED_SET_H_
+
+#include <stddef.h>
+
+#include "net/base/net_export.h"
+
+namespace net {
+
+enum {
+  kDafsaNotFound = -1,  // key is not in set
+  kDafsaFound = 0,      // key is in set
+  // The following return values are used by the implementation of
+  // GetDomainAndRegistry() and are probably not generally useful.
+  kDafsaExceptionRule = 1,  // key excluded from set via exception
+  kDafsaWildcardRule = 2,   // key matched a wildcard rule
+  kDafsaPrivateRule = 4,    // key matched a private rule
+};
+
+// Looks up the string |key| with length |key_length| in a fixed set of
+// strings. The set of strings must be known at compile time. It is converted to
+// a graph structure named a DAFSA (Deterministic Acyclic Finite State
+// Automaton) by the script make_dafsa.py during compilation. This permits
+// efficient (in time and space) lookup. The graph generated by make_dafsa.py
+// takes the form of a constant byte array which should be supplied via the
+// |graph| and |length| parameters.  The return value is kDafsaNotFound,
+// kDafsaFound, or a bitmap consisting of one or more of kDafsaExceptionRule,
+// kDafsaWildcardRule and kDafsaPrivateRule ORed together.
+//
+// TODO(nick): Replace this with FixedSetIncrementalLookup everywhere.
+NET_EXPORT int LookupStringInFixedSet(const unsigned char* graph,
+                                      size_t length,
+                                      const char* key,
+                                      size_t key_length);
+
+// FixedSetIncrementalLookup provides efficient membership and prefix queries
+// against a fixed set of strings. The set of strings must be known at compile
+// time. The set is converted to a graph structure named a DAFSA (Deterministic
+// Acyclic Finite State Automaton) by the script //net/tools/dafsa/make_dafsa.py
+// during compilation. The conversion generates a C++ header file defining the
+// encoded graph as a constant byte array. This class provides a fast, constant-
+// space lookup operation against such byte arrays.
+//
+// The lookup proceeds incrementally, with input characters provided one at a
+// time. This approach allow queries of the form: "given an input string, which
+// prefixes of that string that appear in the fixed set?" As the matching
+// prefixes (and their result codes) are enumerated, the most suitable match
+// among them can be selected in a single pass.
+//
+// This class can also be used to perform suffix queries (instead of prefix
+// queries) against a fixed set, so long as the DAFSA is constructed on reversed
+// values, and the input is provided in reverse order.
+//
+// Example usage for simple membership query; |input| is a std::string:
+//
+//    FixedSetIncrementalLookup lookup(kDafsa, sizeof(kDafsa));
+//    for (char c : input) {
+//      if (!lookup.Advance(c))
+//         return false;
+//    }
+//    return lookup.GetResultForCurrentSequence() != kDafsaNotFound;
+//
+// Example usage for 'find longest prefix in set with result code == 3' query:
+//
+//    FixedSetIncrementalLookup prefix_lookup(kDafsa, sizeof(kDafsa));
+//    size_t longest_match_end = 0;
+//    for (size_t i = 0; i < input.length(); ++i) {
+//      if (!prefix_lookup.Advance(input[i]))
+//         break;
+//      if (prefix_lookup.GetResultForCurrentSequence() == 3)
+//        longest_match_end = (i + 1);
+//    }
+//    return input.substr(0, longest_match_end);
+//
+class NET_EXPORT FixedSetIncrementalLookup {
+ public:
+  // Begin a lookup against the provided fixed set. |graph| and |length|
+  // describe a byte buffer generated by the make_dafsa.py script, as described
+  // in the class comment.
+  //
+  // FixedSetIncrementalLookup is initialized to a state corresponding to the
+  // empty input sequence. Calling GetResultForCurrentSequence() in the initial
+  // state would indicate whether the empty string appears in the fixed set.
+  // Characters can be added to the sequence by calling Advance(), and the
+  // lookup result can be checked after each addition by calling
+  // GetResultForCurrentSequence().
+  FixedSetIncrementalLookup(const unsigned char* graph, size_t length);
+
+  // FixedSetIncrementalLookup is copyable so that callers can save/restore
+  // their position in the search. This is for cases where branching or
+  // backtracking might be required (e.g. to probe for the presence of a
+  // designated wildcard character).
+  FixedSetIncrementalLookup(const FixedSetIncrementalLookup&);
+  FixedSetIncrementalLookup& operator=(const FixedSetIncrementalLookup&);
+
+  ~FixedSetIncrementalLookup();
+
+  // Advance the query by adding a character to the input sequence. |input| can
+  // be any char value, but only ASCII characters will ever result in matches,
+  // since the fixed set itself is limited to ASCII strings.
+  //
+  // Returns true if the resulting input sequence either appears in the fixed
+  // set itself, or is a prefix of some longer string in the fixed set. Returns
+  // false otherwise, implying that the graph is exhausted and
+  // GetResultForCurrentSequence() will return kDafsaNotFound.
+  //
+  // Once Advance() has returned false, the caller can safely stop feeding more
+  // characters, as subsequent calls to Advance() will return false and have no
+  // effect.
+  bool Advance(char input);
+
+  // Returns the result code corresponding to the input sequence provided thus
+  // far to Advance().
+  //
+  // If the sequence does not appear in the fixed set, the return value is
+  // kDafsaNotFound. Otherwise, the value is a non-negative integer (currently
+  // limited to 0-7) corresponding to the result code for that string, as listed
+  // in the .gperf file from which the DAFSA was generated. For
+  // GetDomainAndRegistry DAFSAs, these values should be interpreted as a
+  // bitmask of kDafsaExceptionRule, kDafsaWildcardRule, and kDafsaPrivateRule.
+  //
+  // It is okay to call this function, and then extend the sequence further by
+  // calling Advance().
+  int GetResultForCurrentSequence() const;
+
+ private:
+  // Pointer to the current position in the graph indicating the current state
+  // of the automaton, or nullptr if the graph is exhausted.
+  const unsigned char* pos_;
+
+  // Pointer just past the end of the graph. |pos_| should never get here. This
+  // is used only in DCHECKs.
+  const unsigned char* end_;
+
+  // Contains the current decoder state. If true, |pos_| points to a label
+  // character or a return code. If false, |pos_| points to a sequence of
+  // offsets that indicate the child nodes of the current state.
+  bool pos_is_label_character_;
+};
+
+}  // namespace net
+
+#endif  // NET_BASE_LOOKUP_STRING_IN_FIXED_SET_H_
diff --git a/src/net/base/lookup_string_in_fixed_set_unittest.cc b/src/net/base/lookup_string_in_fixed_set_unittest.cc
new file mode 100644
index 0000000..612f640
--- /dev/null
+++ b/src/net/base/lookup_string_in_fixed_set_unittest.cc
@@ -0,0 +1,251 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "net/base/lookup_string_in_fixed_set.h"
+
+#include <string.h>
+
+#include <algorithm>
+#include <limits>
+#include <ostream>
+#include <utility>
+#include <vector>
+
+#include "base/base_paths.h"
+#include "base/files/file_path.h"
+#include "base/files/file_util.h"
+#include "base/path_service.h"
+#include "base/strings/string_util.h"
+#include "base/strings/stringprintf.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace net {
+namespace {
+namespace test1 {
+#include "net/base/registry_controlled_domains/effective_tld_names_unittest1-inc.cc"
+}
+namespace test3 {
+#include "net/base/registry_controlled_domains/effective_tld_names_unittest3-inc.cc"
+}
+namespace test4 {
+#include "net/base/registry_controlled_domains/effective_tld_names_unittest4-inc.cc"
+}
+namespace test5 {
+#include "net/base/registry_controlled_domains/effective_tld_names_unittest5-inc.cc"
+}
+namespace test6 {
+#include "net/base/registry_controlled_domains/effective_tld_names_unittest6-inc.cc"
+}
+
+struct Expectation {
+  const char* const key;
+  int value;
+};
+
+void PrintTo(const Expectation& expectation, std::ostream* os) {
+  *os << "{\"" << expectation.key << "\", " << expectation.value << "}";
+}
+
+class LookupStringInFixedSetTest : public testing::TestWithParam<Expectation> {
+ protected:
+  template <size_t N>
+  int LookupInGraph(const unsigned char(&graph)[N], const char* key) {
+    return LookupStringInFixedSet(graph, N, key, strlen(key));
+  }
+};
+
+class Dafsa1Test : public LookupStringInFixedSetTest {};
+
+TEST_P(Dafsa1Test, BasicTest) {
+  const Expectation& param = GetParam();
+  EXPECT_EQ(param.value, LookupInGraph(test1::kDafsa, param.key));
+}
+
+const Expectation kBasicTestCases[] = {
+    {"", -1},      {"j", -1},          {"jp", 0}, {"jjp", -1}, {"jpp", -1},
+    {"bar.jp", 2}, {"pref.bar.jp", 1}, {"c", 2},  {"b.c", 1},  {"priv.no", 4},
+};
+
+// Helper function for EnumerateDafsaLanaguage.
+void RecursivelyEnumerateDafsaLanguage(const FixedSetIncrementalLookup& lookup,
+                                       std::vector<char>* sequence,
+                                       std::vector<std::string>* language) {
+  int result = lookup.GetResultForCurrentSequence();
+  if (result != kDafsaNotFound) {
+    std::string line(sequence->begin(), sequence->end());
+    line += base::StringPrintf(", %d", result);
+    language->emplace_back(std::move(line));
+  }
+  // Try appending each char value.
+  for (char c = std::numeric_limits<char>::min();; ++c) {
+    FixedSetIncrementalLookup continued_lookup = lookup;
+    if (continued_lookup.Advance(c)) {
+      sequence->push_back(c);
+      size_t saved_language_size = language->size();
+      RecursivelyEnumerateDafsaLanguage(continued_lookup, sequence, language);
+      CHECK_LT(saved_language_size, language->size())
+          << "DAFSA includes a branch to nowhere at node: "
+          << std::string(sequence->begin(), sequence->end());
+      sequence->pop_back();
+    }
+    if (c == std::numeric_limits<char>::max())
+      break;
+  }
+}
+
+// Uses FixedSetIncrementalLookup to build a vector of every string in the
+// language of the DAFSA.
+template <typename Graph>
+std::vector<std::string> EnumerateDafsaLanguage(const Graph& graph) {
+  FixedSetIncrementalLookup query(graph, sizeof(Graph));
+  std::vector<char> sequence;
+  std::vector<std::string> language;
+  RecursivelyEnumerateDafsaLanguage(query, &sequence, &language);
+  return language;
+}
+
+INSTANTIATE_TEST_CASE_P(LookupStringInFixedSetTest,
+                        Dafsa1Test,
+                        ::testing::ValuesIn(kBasicTestCases));
+
+class Dafsa3Test : public LookupStringInFixedSetTest {};
+
+// This DAFSA is constructed so that labels begin and end with unique
+// characters, which makes it impossible to merge labels. Each inner node
+// is about 100 bytes and a one byte offset can at most add 64 bytes to
+// previous offset. Thus the paths must go over two byte offsets.
+TEST_P(Dafsa3Test, TestDafsaTwoByteOffsets) {
+  const Expectation& param = GetParam();
+  EXPECT_EQ(param.value, LookupInGraph(test3::kDafsa, param.key));
+}
+
+const Expectation kTwoByteOffsetTestCases[] = {
+    {"0________________________________________________________________________"
+     "____________________________0",
+     0},
+    {"7________________________________________________________________________"
+     "____________________________7",
+     4},
+    {"a________________________________________________________________________"
+     "____________________________8",
+     -1},
+};
+
+INSTANTIATE_TEST_CASE_P(LookupStringInFixedSetTest,
+                        Dafsa3Test,
+                        ::testing::ValuesIn(kTwoByteOffsetTestCases));
+
+class Dafsa4Test : public LookupStringInFixedSetTest {};
+
+// This DAFSA is constructed so that labels begin and end with unique
+// characters, which makes it impossible to merge labels. The byte array
+// has a size of ~54k. A two byte offset can add at most add 8k to the
+// previous offset. Since we can skip only forward in memory, the nodes
+// representing the return values must be located near the end of the byte
+// array. The probability that we can reach from an arbitrary inner node to
+// a return value without using a three byte offset is small (but not zero).
+// The test is repeated with some different keys and with a reasonable
+// probability at least one of the tested paths has go over a three byte
+// offset.
+TEST_P(Dafsa4Test, TestDafsaThreeByteOffsets) {
+  const Expectation& param = GetParam();
+  EXPECT_EQ(param.value, LookupInGraph(test4::kDafsa, param.key));
+}
+
+const Expectation kThreeByteOffsetTestCases[] = {
+    {"Z6_______________________________________________________________________"
+     "_____________________________Z6",
+     0},
+    {"Z7_______________________________________________________________________"
+     "_____________________________Z7",
+     4},
+    {"Za_______________________________________________________________________"
+     "_____________________________Z8",
+     -1},
+};
+
+INSTANTIATE_TEST_CASE_P(LookupStringInFixedSetTest,
+                        Dafsa4Test,
+                        ::testing::ValuesIn(kThreeByteOffsetTestCases));
+
+class Dafsa5Test : public LookupStringInFixedSetTest {};
+
+// This DAFSA is constructed from words with similar prefixes but distinct
+// suffixes. The DAFSA will then form a trie with the implicit source node
+// as root.
+TEST_P(Dafsa5Test, TestDafsaJoinedPrefixes) {
+  const Expectation& param = GetParam();
+  EXPECT_EQ(param.value, LookupInGraph(test5::kDafsa, param.key));
+}
+
+const Expectation kJoinedPrefixesTestCases[] = {
+    {"ai", 0},   {"bj", 4},   {"aak", 0},   {"bbl", 4},
+    {"aaa", -1}, {"bbb", -1}, {"aaaam", 0}, {"bbbbn", 0},
+};
+
+INSTANTIATE_TEST_CASE_P(LookupStringInFixedSetTest,
+                        Dafsa5Test,
+                        ::testing::ValuesIn(kJoinedPrefixesTestCases));
+
+class Dafsa6Test : public LookupStringInFixedSetTest {};
+
+// This DAFSA is constructed from words with similar suffixes but distinct
+// prefixes. The DAFSA will then form a trie with the implicit sink node as
+// root.
+TEST_P(Dafsa6Test, TestDafsaJoinedSuffixes) {
+  const Expectation& param = GetParam();
+  EXPECT_EQ(param.value, LookupInGraph(test6::kDafsa, param.key));
+}
+
+const Expectation kJoinedSuffixesTestCases[] = {
+    {"ia", 0},   {"jb", 4},   {"kaa", 0},   {"lbb", 4},
+    {"aaa", -1}, {"bbb", -1}, {"maaaa", 0}, {"nbbbb", 0},
+};
+
+INSTANTIATE_TEST_CASE_P(LookupStringInFixedSetTest,
+                        Dafsa6Test,
+                        ::testing::ValuesIn(kJoinedSuffixesTestCases));
+
+// Validates that the generated DAFSA contains exactly the same information as
+// effective_tld_names_unittest1.gperf.
+TEST(LookupStringInFixedSetTest, Dafsa1EnumerateLanguage) {
+  auto language = EnumerateDafsaLanguage(test1::kDafsa);
+
+  // These are the lines of effective_tld_names_unittest1.gperf, in sorted
+  // order.
+  std::vector<std::string> expected_language = {
+      "ac.jp, 0",       "b.c, 1",     "bar.baz.com, 0", "bar.jp, 2",
+      "baz.bar.jp, 2",  "c, 2",       "jp, 0",          "no, 0",
+      "pref.bar.jp, 1", "priv.no, 4", "private, 4",     "xn--fiqs8s, 0",
+  };
+
+  EXPECT_EQ(expected_language, language);
+}
+
+// Validates that the generated DAFSA contains exactly the same information as
+// effective_tld_names_unittest5.gperf.
+TEST(LookupStringInFixedSetTest, Dafsa5EnumerateLanguage) {
+  auto language = EnumerateDafsaLanguage(test5::kDafsa);
+
+  std::vector<std::string> expected_language = {
+      "aaaam, 0", "aak, 0", "ai, 0", "bbbbn, 0", "bbl, 4", "bj, 4",
+  };
+
+  EXPECT_EQ(expected_language, language);
+}
+
+// Validates that the generated DAFSA contains exactly the same information as
+// effective_tld_names_unittest6.gperf.
+TEST(LookupStringInFixedSetTest, Dafsa6EnumerateLanguage) {
+  auto language = EnumerateDafsaLanguage(test6::kDafsa);
+
+  std::vector<std::string> expected_language = {
+      "ia, 0", "jb, 4", "kaa, 0", "lbb, 4", "maaaa, 0", "nbbbb, 0",
+  };
+
+  EXPECT_EQ(expected_language, language);
+}
+
+}  // namespace
+}  // namespace net
diff --git a/src/net/base/registry_controlled_domains/effective_tld_names.dat b/src/net/base/registry_controlled_domains/effective_tld_names.dat
new file mode 100644
index 0000000..7598355
--- /dev/null
+++ b/src/net/base/registry_controlled_domains/effective_tld_names.dat
@@ -0,0 +1,11941 @@
+// This Source Code Form is subject to the terms of the Mozilla Public
+// License, v. 2.0. If a copy of the MPL was not distributed with this
+// file, You can obtain one at https://mozilla.org/MPL/2.0/.
+
+// Please pull this list from, and only from https://publicsuffix.org/list/public_suffix_list.dat,
+// rather than any other VCS sites. Pulling from any other URL is not guaranteed to be supported.
+
+// Instructions on pulling and using this list can be found at https://publicsuffix.org/list/.
+
+// ===BEGIN ICANN DOMAINS===
+
+// ac : https://en.wikipedia.org/wiki/.ac
+ac
+com.ac
+edu.ac
+gov.ac
+net.ac
+mil.ac
+org.ac
+
+// ad : https://en.wikipedia.org/wiki/.ad
+ad
+nom.ad
+
+// ae : https://en.wikipedia.org/wiki/.ae
+// see also: "Domain Name Eligibility Policy" at http://www.aeda.ae/eng/aepolicy.php
+ae
+co.ae
+net.ae
+org.ae
+sch.ae
+ac.ae
+gov.ae
+mil.ae
+
+// aero : see https://www.information.aero/index.php?id=66
+aero
+accident-investigation.aero
+accident-prevention.aero
+aerobatic.aero
+aeroclub.aero
+aerodrome.aero
+agents.aero
+aircraft.aero
+airline.aero
+airport.aero
+air-surveillance.aero
+airtraffic.aero
+air-traffic-control.aero
+ambulance.aero
+amusement.aero
+association.aero
+author.aero
+ballooning.aero
+broker.aero
+caa.aero
+cargo.aero
+catering.aero
+certification.aero
+championship.aero
+charter.aero
+civilaviation.aero
+club.aero
+conference.aero
+consultant.aero
+consulting.aero
+control.aero
+council.aero
+crew.aero
+design.aero
+dgca.aero
+educator.aero
+emergency.aero
+engine.aero
+engineer.aero
+entertainment.aero
+equipment.aero
+exchange.aero
+express.aero
+federation.aero
+flight.aero
+freight.aero
+fuel.aero
+gliding.aero
+government.aero
+groundhandling.aero
+group.aero
+hanggliding.aero
+homebuilt.aero
+insurance.aero
+journal.aero
+journalist.aero
+leasing.aero
+logistics.aero
+magazine.aero
+maintenance.aero
+media.aero
+microlight.aero
+modelling.aero
+navigation.aero
+parachuting.aero
+paragliding.aero
+passenger-association.aero
+pilot.aero
+press.aero
+production.aero
+recreation.aero
+repbody.aero
+res.aero
+research.aero
+rotorcraft.aero
+safety.aero
+scientist.aero
+services.aero
+show.aero
+skydiving.aero
+software.aero
+student.aero
+trader.aero
+trading.aero
+trainer.aero
+union.aero
+workinggroup.aero
+works.aero
+
+// af : http://www.nic.af/help.jsp
+af
+gov.af
+com.af
+org.af
+net.af
+edu.af
+
+// ag : http://www.nic.ag/prices.htm
+ag
+com.ag
+org.ag
+net.ag
+co.ag
+nom.ag
+
+// ai : http://nic.com.ai/
+ai
+off.ai
+com.ai
+net.ai
+org.ai
+
+// al : http://www.ert.gov.al/ert_alb/faq_det.html?Id=31
+al
+com.al
+edu.al
+gov.al
+mil.al
+net.al
+org.al
+
+// am : https://en.wikipedia.org/wiki/.am
+am
+
+// ao : https://en.wikipedia.org/wiki/.ao
+// http://www.dns.ao/REGISTR.DOC
+ao
+ed.ao
+gv.ao
+og.ao
+co.ao
+pb.ao
+it.ao
+
+// aq : https://en.wikipedia.org/wiki/.aq
+aq
+
+// ar : https://nic.ar/normativa-vigente.xhtml
+ar
+com.ar
+edu.ar
+gob.ar
+gov.ar
+int.ar
+mil.ar
+net.ar
+org.ar
+tur.ar
+
+// arpa : https://en.wikipedia.org/wiki/.arpa
+// Confirmed by registry <iana-questions@icann.org> 2008-06-18
+arpa
+e164.arpa
+in-addr.arpa
+ip6.arpa
+iris.arpa
+uri.arpa
+urn.arpa
+
+// as : https://en.wikipedia.org/wiki/.as
+as
+gov.as
+
+// asia : https://en.wikipedia.org/wiki/.asia
+asia
+
+// at : https://en.wikipedia.org/wiki/.at
+// Confirmed by registry <it@nic.at> 2008-06-17
+at
+ac.at
+co.at
+gv.at
+or.at
+
+// au : https://en.wikipedia.org/wiki/.au
+// http://www.auda.org.au/
+au
+// 2LDs
+com.au
+net.au
+org.au
+edu.au
+gov.au
+asn.au
+id.au
+// Historic 2LDs (closed to new registration, but sites still exist)
+info.au
+conf.au
+oz.au
+// CGDNs - http://www.cgdn.org.au/
+act.au
+nsw.au
+nt.au
+qld.au
+sa.au
+tas.au
+vic.au
+wa.au
+// 3LDs
+act.edu.au
+nsw.edu.au
+nt.edu.au
+qld.edu.au
+sa.edu.au
+tas.edu.au
+vic.edu.au
+wa.edu.au
+// act.gov.au  Bug 984824 - Removed at request of Greg Tankard
+// nsw.gov.au  Bug 547985 - Removed at request of <Shae.Donelan@services.nsw.gov.au>
+// nt.gov.au  Bug 940478 - Removed at request of Greg Connors <Greg.Connors@nt.gov.au>
+qld.gov.au
+sa.gov.au
+tas.gov.au
+vic.gov.au
+wa.gov.au
+
+// aw : https://en.wikipedia.org/wiki/.aw
+aw
+com.aw
+
+// ax : https://en.wikipedia.org/wiki/.ax
+ax
+
+// az : https://en.wikipedia.org/wiki/.az
+az
+com.az
+net.az
+int.az
+gov.az
+org.az
+edu.az
+info.az
+pp.az
+mil.az
+name.az
+pro.az
+biz.az
+
+// ba : http://nic.ba/users_data/files/pravilnik_o_registraciji.pdf
+ba
+com.ba
+edu.ba
+gov.ba
+mil.ba
+net.ba
+org.ba
+
+// bb : https://en.wikipedia.org/wiki/.bb
+bb
+biz.bb
+co.bb
+com.bb
+edu.bb
+gov.bb
+info.bb
+net.bb
+org.bb
+store.bb
+tv.bb
+
+// bd : https://en.wikipedia.org/wiki/.bd
+*.bd
+
+// be : https://en.wikipedia.org/wiki/.be
+// Confirmed by registry <tech@dns.be> 2008-06-08
+be
+ac.be
+
+// bf : https://en.wikipedia.org/wiki/.bf
+bf
+gov.bf
+
+// bg : https://en.wikipedia.org/wiki/.bg
+// https://www.register.bg/user/static/rules/en/index.html
+bg
+a.bg
+b.bg
+c.bg
+d.bg
+e.bg
+f.bg
+g.bg
+h.bg
+i.bg
+j.bg
+k.bg
+l.bg
+m.bg
+n.bg
+o.bg
+p.bg
+q.bg
+r.bg
+s.bg
+t.bg
+u.bg
+v.bg
+w.bg
+x.bg
+y.bg
+z.bg
+0.bg
+1.bg
+2.bg
+3.bg
+4.bg
+5.bg
+6.bg
+7.bg
+8.bg
+9.bg
+
+// bh : https://en.wikipedia.org/wiki/.bh
+bh
+com.bh
+edu.bh
+net.bh
+org.bh
+gov.bh
+
+// bi : https://en.wikipedia.org/wiki/.bi
+// http://whois.nic.bi/
+bi
+co.bi
+com.bi
+edu.bi
+or.bi
+org.bi
+
+// biz : https://en.wikipedia.org/wiki/.biz
+biz
+
+// bj : https://en.wikipedia.org/wiki/.bj
+bj
+asso.bj
+barreau.bj
+gouv.bj
+
+// bm : http://www.bermudanic.bm/dnr-text.txt
+bm
+com.bm
+edu.bm
+gov.bm
+net.bm
+org.bm
+
+// bn : https://en.wikipedia.org/wiki/.bn
+*.bn
+
+// bo : http://www.nic.bo/
+bo
+com.bo
+edu.bo
+gov.bo
+gob.bo
+int.bo
+org.bo
+net.bo
+mil.bo
+tv.bo
+
+// br : http://registro.br/dominio/categoria.html
+// Submitted by registry <fneves@registro.br>
+br
+adm.br
+adv.br
+agr.br
+am.br
+arq.br
+art.br
+ato.br
+b.br
+bio.br
+blog.br
+bmd.br
+cim.br
+cng.br
+cnt.br
+com.br
+coop.br
+ecn.br
+eco.br
+edu.br
+emp.br
+eng.br
+esp.br
+etc.br
+eti.br
+far.br
+flog.br
+fm.br
+fnd.br
+fot.br
+fst.br
+g12.br
+ggf.br
+gov.br
+imb.br
+ind.br
+inf.br
+jor.br
+jus.br
+leg.br
+lel.br
+mat.br
+med.br
+mil.br
+mp.br
+mus.br
+net.br
+*.nom.br
+not.br
+ntr.br
+odo.br
+org.br
+ppg.br
+pro.br
+psc.br
+psi.br
+qsl.br
+radio.br
+rec.br
+slg.br
+srv.br
+taxi.br
+teo.br
+tmp.br
+trd.br
+tur.br
+tv.br
+vet.br
+vlog.br
+wiki.br
+zlg.br
+
+// bs : http://www.nic.bs/rules.html
+bs
+com.bs
+net.bs
+org.bs
+edu.bs
+gov.bs
+
+// bt : https://en.wikipedia.org/wiki/.bt
+bt
+com.bt
+edu.bt
+gov.bt
+net.bt
+org.bt
+
+// bv : No registrations at this time.
+// Submitted by registry <jarle@uninett.no>
+bv
+
+// bw : https://en.wikipedia.org/wiki/.bw
+// http://www.gobin.info/domainname/bw.doc
+// list of other 2nd level tlds ?
+bw
+co.bw
+org.bw
+
+// by : https://en.wikipedia.org/wiki/.by
+// http://tld.by/rules_2006_en.html
+// list of other 2nd level tlds ?
+by
+gov.by
+mil.by
+// Official information does not indicate that com.by is a reserved
+// second-level domain, but it's being used as one (see www.google.com.by and
+// www.yahoo.com.by, for example), so we list it here for safety's sake.
+com.by
+
+// http://hoster.by/
+of.by
+
+// bz : https://en.wikipedia.org/wiki/.bz
+// http://www.belizenic.bz/
+bz
+com.bz
+net.bz
+org.bz
+edu.bz
+gov.bz
+
+// ca : https://en.wikipedia.org/wiki/.ca
+ca
+// ca geographical names
+ab.ca
+bc.ca
+mb.ca
+nb.ca
+nf.ca
+nl.ca
+ns.ca
+nt.ca
+nu.ca
+on.ca
+pe.ca
+qc.ca
+sk.ca
+yk.ca
+// gc.ca: https://en.wikipedia.org/wiki/.gc.ca
+// see also: http://registry.gc.ca/en/SubdomainFAQ
+gc.ca
+
+// cat : https://en.wikipedia.org/wiki/.cat
+cat
+
+// cc : https://en.wikipedia.org/wiki/.cc
+cc
+
+// cd : https://en.wikipedia.org/wiki/.cd
+// see also: https://www.nic.cd/domain/insertDomain_2.jsp?act=1
+cd
+gov.cd
+
+// cf : https://en.wikipedia.org/wiki/.cf
+cf
+
+// cg : https://en.wikipedia.org/wiki/.cg
+cg
+
+// ch : https://en.wikipedia.org/wiki/.ch
+ch
+
+// ci : https://en.wikipedia.org/wiki/.ci
+// http://www.nic.ci/index.php?page=charte
+ci
+org.ci
+or.ci
+com.ci
+co.ci
+edu.ci
+ed.ci
+ac.ci
+net.ci
+go.ci
+asso.ci
+aéroport.ci
+int.ci
+presse.ci
+md.ci
+gouv.ci
+
+// ck : https://en.wikipedia.org/wiki/.ck
+*.ck
+!www.ck
+
+// cl : https://en.wikipedia.org/wiki/.cl
+cl
+gov.cl
+gob.cl
+co.cl
+mil.cl
+
+// cm : https://en.wikipedia.org/wiki/.cm plus bug 981927
+cm
+co.cm
+com.cm
+gov.cm
+net.cm
+
+// cn : https://en.wikipedia.org/wiki/.cn
+// Submitted by registry <tanyaling@cnnic.cn>
+cn
+ac.cn
+com.cn
+edu.cn
+gov.cn
+net.cn
+org.cn
+mil.cn
+公司.cn
+网络.cn
+網絡.cn
+// cn geographic names
+ah.cn
+bj.cn
+cq.cn
+fj.cn
+gd.cn
+gs.cn
+gz.cn
+gx.cn
+ha.cn
+hb.cn
+he.cn
+hi.cn
+hl.cn
+hn.cn
+jl.cn
+js.cn
+jx.cn
+ln.cn
+nm.cn
+nx.cn
+qh.cn
+sc.cn
+sd.cn
+sh.cn
+sn.cn
+sx.cn
+tj.cn
+xj.cn
+xz.cn
+yn.cn
+zj.cn
+hk.cn
+mo.cn
+tw.cn
+
+// co : https://en.wikipedia.org/wiki/.co
+// Submitted by registry <tecnico@uniandes.edu.co>
+co
+arts.co
+com.co
+edu.co
+firm.co
+gov.co
+info.co
+int.co
+mil.co
+net.co
+nom.co
+org.co
+rec.co
+web.co
+
+// com : https://en.wikipedia.org/wiki/.com
+com
+
+// coop : https://en.wikipedia.org/wiki/.coop
+coop
+
+// cr : http://www.nic.cr/niccr_publico/showRegistroDominiosScreen.do
+cr
+ac.cr
+co.cr
+ed.cr
+fi.cr
+go.cr
+or.cr
+sa.cr
+
+// cu : https://en.wikipedia.org/wiki/.cu
+cu
+com.cu
+edu.cu
+org.cu
+net.cu
+gov.cu
+inf.cu
+
+// cv : https://en.wikipedia.org/wiki/.cv
+cv
+
+// cw : http://www.una.cw/cw_registry/
+// Confirmed by registry <registry@una.net> 2013-03-26
+cw
+com.cw
+edu.cw
+net.cw
+org.cw
+
+// cx : https://en.wikipedia.org/wiki/.cx
+// list of other 2nd level tlds ?
+cx
+gov.cx
+
+// cy : http://www.nic.cy/
+// Submitted by registry Panayiotou Fotia <cydns@ucy.ac.cy>
+cy
+ac.cy
+biz.cy
+com.cy
+ekloges.cy
+gov.cy
+ltd.cy
+name.cy
+net.cy
+org.cy
+parliament.cy
+press.cy
+pro.cy
+tm.cy
+
+// cz : https://en.wikipedia.org/wiki/.cz
+cz
+
+// de : https://en.wikipedia.org/wiki/.de
+// Confirmed by registry <ops@denic.de> (with technical
+// reservations) 2008-07-01
+de
+
+// dj : https://en.wikipedia.org/wiki/.dj
+dj
+
+// dk : https://en.wikipedia.org/wiki/.dk
+// Confirmed by registry <robert@dk-hostmaster.dk> 2008-06-17
+dk
+
+// dm : https://en.wikipedia.org/wiki/.dm
+dm
+com.dm
+net.dm
+org.dm
+edu.dm
+gov.dm
+
+// do : https://en.wikipedia.org/wiki/.do
+do
+art.do
+com.do
+edu.do
+gob.do
+gov.do
+mil.do
+net.do
+org.do
+sld.do
+web.do
+
+// dz : https://en.wikipedia.org/wiki/.dz
+dz
+com.dz
+org.dz
+net.dz
+gov.dz
+edu.dz
+asso.dz
+pol.dz
+art.dz
+
+// ec : http://www.nic.ec/reg/paso1.asp
+// Submitted by registry <vabboud@nic.ec>
+ec
+com.ec
+info.ec
+net.ec
+fin.ec
+k12.ec
+med.ec
+pro.ec
+org.ec
+edu.ec
+gov.ec
+gob.ec
+mil.ec
+
+// edu : https://en.wikipedia.org/wiki/.edu
+edu
+
+// ee : http://www.eenet.ee/EENet/dom_reeglid.html#lisa_B
+ee
+edu.ee
+gov.ee
+riik.ee
+lib.ee
+med.ee
+com.ee
+pri.ee
+aip.ee
+org.ee
+fie.ee
+
+// eg : https://en.wikipedia.org/wiki/.eg
+eg
+com.eg
+edu.eg
+eun.eg
+gov.eg
+mil.eg
+name.eg
+net.eg
+org.eg
+sci.eg
+
+// er : https://en.wikipedia.org/wiki/.er
+*.er
+
+// es : https://www.nic.es/site_ingles/ingles/dominios/index.html
+es
+com.es
+nom.es
+org.es
+gob.es
+edu.es
+
+// et : https://en.wikipedia.org/wiki/.et
+et
+com.et
+gov.et
+org.et
+edu.et
+biz.et
+name.et
+info.et
+net.et
+
+// eu : https://en.wikipedia.org/wiki/.eu
+eu
+
+// fi : https://en.wikipedia.org/wiki/.fi
+fi
+// aland.fi : https://en.wikipedia.org/wiki/.ax
+// This domain is being phased out in favor of .ax. As there are still many
+// domains under aland.fi, we still keep it on the list until aland.fi is
+// completely removed.
+// TODO: Check for updates (expected to be phased out around Q1/2009)
+aland.fi
+
+// fj : https://en.wikipedia.org/wiki/.fj
+*.fj
+
+// fk : https://en.wikipedia.org/wiki/.fk
+*.fk
+
+// fm : https://en.wikipedia.org/wiki/.fm
+fm
+
+// fo : https://en.wikipedia.org/wiki/.fo
+fo
+
+// fr : http://www.afnic.fr/
+// domaines descriptifs : http://www.afnic.fr/obtenir/chartes/nommage-fr/annexe-descriptifs
+fr
+com.fr
+asso.fr
+nom.fr
+prd.fr
+presse.fr
+tm.fr
+// domaines sectoriels : http://www.afnic.fr/obtenir/chartes/nommage-fr/annexe-sectoriels
+aeroport.fr
+assedic.fr
+avocat.fr
+avoues.fr
+cci.fr
+chambagri.fr
+chirurgiens-dentistes.fr
+experts-comptables.fr
+geometre-expert.fr
+gouv.fr
+greta.fr
+huissier-justice.fr
+medecin.fr
+notaires.fr
+pharmacien.fr
+port.fr
+veterinaire.fr
+
+// ga : https://en.wikipedia.org/wiki/.ga
+ga
+
+// gb : This registry is effectively dormant
+// Submitted by registry <Damien.Shaw@ja.net>
+gb
+
+// gd : https://en.wikipedia.org/wiki/.gd
+gd
+
+// ge : http://www.nic.net.ge/policy_en.pdf
+ge
+com.ge
+edu.ge
+gov.ge
+org.ge
+mil.ge
+net.ge
+pvt.ge
+
+// gf : https://en.wikipedia.org/wiki/.gf
+gf
+
+// gg : http://www.channelisles.net/register-domains/
+// Confirmed by registry <nigel@channelisles.net> 2013-11-28
+gg
+co.gg
+net.gg
+org.gg
+
+// gh : https://en.wikipedia.org/wiki/.gh
+// see also: http://www.nic.gh/reg_now.php
+// Although domains directly at second level are not possible at the moment,
+// they have been possible for some time and may come back.
+gh
+com.gh
+edu.gh
+gov.gh
+org.gh
+mil.gh
+
+// gi : http://www.nic.gi/rules.html
+gi
+com.gi
+ltd.gi
+gov.gi
+mod.gi
+edu.gi
+org.gi
+
+// gl : https://en.wikipedia.org/wiki/.gl
+// http://nic.gl
+gl
+co.gl
+com.gl
+edu.gl
+net.gl
+org.gl
+
+// gm : http://www.nic.gm/htmlpages%5Cgm-policy.htm
+gm
+
+// gn : http://psg.com/dns/gn/gn.txt
+// Submitted by registry <randy@psg.com>
+gn
+ac.gn
+com.gn
+edu.gn
+gov.gn
+org.gn
+net.gn
+
+// gov : https://en.wikipedia.org/wiki/.gov
+gov
+
+// gp : http://www.nic.gp/index.php?lang=en
+gp
+com.gp
+net.gp
+mobi.gp
+edu.gp
+org.gp
+asso.gp
+
+// gq : https://en.wikipedia.org/wiki/.gq
+gq
+
+// gr : https://grweb.ics.forth.gr/english/1617-B-2005.html
+// Submitted by registry <segred@ics.forth.gr>
+gr
+com.gr
+edu.gr
+net.gr
+org.gr
+gov.gr
+
+// gs : https://en.wikipedia.org/wiki/.gs
+gs
+
+// gt : http://www.gt/politicas_de_registro.html
+gt
+com.gt
+edu.gt
+gob.gt
+ind.gt
+mil.gt
+net.gt
+org.gt
+
+// gu : http://gadao.gov.gu/registration.txt
+*.gu
+
+// gw : https://en.wikipedia.org/wiki/.gw
+gw
+
+// gy : https://en.wikipedia.org/wiki/.gy
+// http://registry.gy/
+gy
+co.gy
+com.gy
+edu.gy
+gov.gy
+net.gy
+org.gy
+
+// hk : https://www.hkdnr.hk
+// Submitted by registry <hk.tech@hkirc.hk>
+hk
+com.hk
+edu.hk
+gov.hk
+idv.hk
+net.hk
+org.hk
+公司.hk
+教育.hk
+敎育.hk
+政府.hk
+個人.hk
+个人.hk
+箇人.hk
+網络.hk
+网络.hk
+组織.hk
+網絡.hk
+网絡.hk
+组织.hk
+組織.hk
+組织.hk
+
+// hm : https://en.wikipedia.org/wiki/.hm
+hm
+
+// hn : http://www.nic.hn/politicas/ps02,,05.html
+hn
+com.hn
+edu.hn
+org.hn
+net.hn
+mil.hn
+gob.hn
+
+// hr : http://www.dns.hr/documents/pdf/HRTLD-regulations.pdf
+hr
+iz.hr
+from.hr
+name.hr
+com.hr
+
+// ht : http://www.nic.ht/info/charte.cfm
+ht
+com.ht
+shop.ht
+firm.ht
+info.ht
+adult.ht
+net.ht
+pro.ht
+org.ht
+med.ht
+art.ht
+coop.ht
+pol.ht
+asso.ht
+edu.ht
+rel.ht
+gouv.ht
+perso.ht
+
+// hu : http://www.domain.hu/domain/English/sld.html
+// Confirmed by registry <pasztor@iszt.hu> 2008-06-12
+hu
+co.hu
+info.hu
+org.hu
+priv.hu
+sport.hu
+tm.hu
+2000.hu
+agrar.hu
+bolt.hu
+casino.hu
+city.hu
+erotica.hu
+erotika.hu
+film.hu
+forum.hu
+games.hu
+hotel.hu
+ingatlan.hu
+jogasz.hu
+konyvelo.hu
+lakas.hu
+media.hu
+news.hu
+reklam.hu
+sex.hu
+shop.hu
+suli.hu
+szex.hu
+tozsde.hu
+utazas.hu
+video.hu
+
+// id : https://register.pandi.or.id/
+id
+ac.id
+biz.id
+co.id
+desa.id
+go.id
+mil.id
+my.id
+net.id
+or.id
+sch.id
+web.id
+
+// ie : https://en.wikipedia.org/wiki/.ie
+ie
+gov.ie
+
+// il : http://www.isoc.org.il/domains/
+il
+ac.il
+co.il
+gov.il
+idf.il
+k12.il
+muni.il
+net.il
+org.il
+
+// im : https://www.nic.im/
+// Submitted by registry <info@nic.im>
+im
+ac.im
+co.im
+com.im
+ltd.co.im
+net.im
+org.im
+plc.co.im
+tt.im
+tv.im
+
+// in : https://en.wikipedia.org/wiki/.in
+// see also: https://registry.in/Policies
+// Please note, that nic.in is not an official eTLD, but used by most
+// government institutions.
+in
+co.in
+firm.in
+net.in
+org.in
+gen.in
+ind.in
+nic.in
+ac.in
+edu.in
+res.in
+gov.in
+mil.in
+
+// info : https://en.wikipedia.org/wiki/.info
+info
+
+// int : https://en.wikipedia.org/wiki/.int
+// Confirmed by registry <iana-questions@icann.org> 2008-06-18
+int
+eu.int
+
+// io : http://www.nic.io/rules.html
+// list of other 2nd level tlds ?
+io
+com.io
+
+// iq : http://www.cmc.iq/english/iq/iqregister1.htm
+iq
+gov.iq
+edu.iq
+mil.iq
+com.iq
+org.iq
+net.iq
+
+// ir : http://www.nic.ir/Terms_and_Conditions_ir,_Appendix_1_Domain_Rules
+// Also see http://www.nic.ir/Internationalized_Domain_Names
+// Two <iran>.ir entries added at request of <tech-team@nic.ir>, 2010-04-16
+ir
+ac.ir
+co.ir
+gov.ir
+id.ir
+net.ir
+org.ir
+sch.ir
+// xn--mgba3a4f16a.ir (<iran>.ir, Persian YEH)
+ایران.ir
+// xn--mgba3a4fra.ir (<iran>.ir, Arabic YEH)
+ايران.ir
+
+// is : http://www.isnic.is/domain/rules.php
+// Confirmed by registry <marius@isgate.is> 2008-12-06
+is
+net.is
+com.is
+edu.is
+gov.is
+org.is
+int.is
+
+// it : https://en.wikipedia.org/wiki/.it
+it
+gov.it
+edu.it
+// Reserved geo-names:
+// http://www.nic.it/documenti/regolamenti-e-linee-guida/regolamento-assegnazione-versione-6.0.pdf
+// There is also a list of reserved geo-names corresponding to Italian municipalities
+// http://www.nic.it/documenti/appendice-c.pdf, but it is not included here.
+// Regions
+abr.it
+abruzzo.it
+aosta-valley.it
+aostavalley.it
+bas.it
+basilicata.it
+cal.it
+calabria.it
+cam.it
+campania.it
+emilia-romagna.it
+emiliaromagna.it
+emr.it
+friuli-v-giulia.it
+friuli-ve-giulia.it
+friuli-vegiulia.it
+friuli-venezia-giulia.it
+friuli-veneziagiulia.it
+friuli-vgiulia.it
+friuliv-giulia.it
+friulive-giulia.it
+friulivegiulia.it
+friulivenezia-giulia.it
+friuliveneziagiulia.it
+friulivgiulia.it
+fvg.it
+laz.it
+lazio.it
+lig.it
+liguria.it
+lom.it
+lombardia.it
+lombardy.it
+lucania.it
+mar.it
+marche.it
+mol.it
+molise.it
+piedmont.it
+piemonte.it
+pmn.it
+pug.it
+puglia.it
+sar.it
+sardegna.it
+sardinia.it
+sic.it
+sicilia.it
+sicily.it
+taa.it
+tos.it
+toscana.it
+trentino-a-adige.it
+trentino-aadige.it
+trentino-alto-adige.it
+trentino-altoadige.it
+trentino-s-tirol.it
+trentino-stirol.it
+trentino-sud-tirol.it
+trentino-sudtirol.it
+trentino-sued-tirol.it
+trentino-suedtirol.it
+trentinoa-adige.it
+trentinoaadige.it
+trentinoalto-adige.it
+trentinoaltoadige.it
+trentinos-tirol.it
+trentinostirol.it
+trentinosud-tirol.it
+trentinosudtirol.it
+trentinosued-tirol.it
+trentinosuedtirol.it
+tuscany.it
+umb.it
+umbria.it
+val-d-aosta.it
+val-daosta.it
+vald-aosta.it
+valdaosta.it
+valle-aosta.it
+valle-d-aosta.it
+valle-daosta.it
+valleaosta.it
+valled-aosta.it
+valledaosta.it
+vallee-aoste.it
+valleeaoste.it
+vao.it
+vda.it
+ven.it
+veneto.it
+// Provinces
+ag.it
+agrigento.it
+al.it
+alessandria.it
+alto-adige.it
+altoadige.it
+an.it
+ancona.it
+andria-barletta-trani.it
+andria-trani-barletta.it
+andriabarlettatrani.it
+andriatranibarletta.it
+ao.it
+aosta.it
+aoste.it
+ap.it
+aq.it
+aquila.it
+ar.it
+arezzo.it
+ascoli-piceno.it
+ascolipiceno.it
+asti.it
+at.it
+av.it
+avellino.it
+ba.it
+balsan.it
+bari.it
+barletta-trani-andria.it
+barlettatraniandria.it
+belluno.it
+benevento.it
+bergamo.it
+bg.it
+bi.it
+biella.it
+bl.it
+bn.it
+bo.it
+bologna.it
+bolzano.it
+bozen.it
+br.it
+brescia.it
+brindisi.it
+bs.it
+bt.it
+bz.it
+ca.it
+cagliari.it
+caltanissetta.it
+campidano-medio.it
+campidanomedio.it
+campobasso.it
+carbonia-iglesias.it
+carboniaiglesias.it
+carrara-massa.it
+carraramassa.it
+caserta.it
+catania.it
+catanzaro.it
+cb.it
+ce.it
+cesena-forli.it
+cesenaforli.it
+ch.it
+chieti.it
+ci.it
+cl.it
+cn.it
+co.it
+como.it
+cosenza.it
+cr.it
+cremona.it
+crotone.it
+cs.it
+ct.it
+cuneo.it
+cz.it
+dell-ogliastra.it
+dellogliastra.it
+en.it
+enna.it
+fc.it
+fe.it
+fermo.it
+ferrara.it
+fg.it
+fi.it
+firenze.it
+florence.it
+fm.it
+foggia.it
+forli-cesena.it
+forlicesena.it
+fr.it
+frosinone.it
+ge.it
+genoa.it
+genova.it
+go.it
+gorizia.it
+gr.it
+grosseto.it
+iglesias-carbonia.it
+iglesiascarbonia.it
+im.it
+imperia.it
+is.it
+isernia.it
+kr.it
+la-spezia.it
+laquila.it
+laspezia.it
+latina.it
+lc.it
+le.it
+lecce.it
+lecco.it
+li.it
+livorno.it
+lo.it
+lodi.it
+lt.it
+lu.it
+lucca.it
+macerata.it
+mantova.it
+massa-carrara.it
+massacarrara.it
+matera.it
+mb.it
+mc.it
+me.it
+medio-campidano.it
+mediocampidano.it
+messina.it
+mi.it
+milan.it
+milano.it
+mn.it
+mo.it
+modena.it
+monza-brianza.it
+monza-e-della-brianza.it
+monza.it
+monzabrianza.it
+monzaebrianza.it
+monzaedellabrianza.it
+ms.it
+mt.it
+na.it
+naples.it
+napoli.it
+no.it
+novara.it
+nu.it
+nuoro.it
+og.it
+ogliastra.it
+olbia-tempio.it
+olbiatempio.it
+or.it
+oristano.it
+ot.it
+pa.it
+padova.it
+padua.it
+palermo.it
+parma.it
+pavia.it
+pc.it
+pd.it
+pe.it
+perugia.it
+pesaro-urbino.it
+pesarourbino.it
+pescara.it
+pg.it
+pi.it
+piacenza.it
+pisa.it
+pistoia.it
+pn.it
+po.it
+pordenone.it
+potenza.it
+pr.it
+prato.it
+pt.it
+pu.it
+pv.it
+pz.it
+ra.it
+ragusa.it
+ravenna.it
+rc.it
+re.it
+reggio-calabria.it
+reggio-emilia.it
+reggiocalabria.it
+reggioemilia.it
+rg.it
+ri.it
+rieti.it
+rimini.it
+rm.it
+rn.it
+ro.it
+roma.it
+rome.it
+rovigo.it
+sa.it
+salerno.it
+sassari.it
+savona.it
+si.it
+siena.it
+siracusa.it
+so.it
+sondrio.it
+sp.it
+sr.it
+ss.it
+suedtirol.it
+sv.it
+ta.it
+taranto.it
+te.it
+tempio-olbia.it
+tempioolbia.it
+teramo.it
+terni.it
+tn.it
+to.it
+torino.it
+tp.it
+tr.it
+trani-andria-barletta.it
+trani-barletta-andria.it
+traniandriabarletta.it
+tranibarlettaandria.it
+trapani.it
+trentino.it
+trento.it
+treviso.it
+trieste.it
+ts.it
+turin.it
+tv.it
+ud.it
+udine.it
+urbino-pesaro.it
+urbinopesaro.it
+va.it
+varese.it
+vb.it
+vc.it
+ve.it
+venezia.it
+venice.it
+verbania.it
+vercelli.it
+verona.it
+vi.it
+vibo-valentia.it
+vibovalentia.it
+vicenza.it
+viterbo.it
+vr.it
+vs.it
+vt.it
+vv.it
+
+// je : http://www.channelisles.net/register-domains/
+// Confirmed by registry <nigel@channelisles.net> 2013-11-28
+je
+co.je
+net.je
+org.je
+
+// jm : http://www.com.jm/register.html
+*.jm
+
+// jo : http://www.dns.jo/Registration_policy.aspx
+jo
+com.jo
+org.jo
+net.jo
+edu.jo
+sch.jo
+gov.jo
+mil.jo
+name.jo
+
+// jobs : https://en.wikipedia.org/wiki/.jobs
+jobs
+
+// jp : https://en.wikipedia.org/wiki/.jp
+// http://jprs.co.jp/en/jpdomain.html
+// Submitted by registry <info@jprs.jp>
+jp
+// jp organizational type names
+ac.jp
+ad.jp
+co.jp
+ed.jp
+go.jp
+gr.jp
+lg.jp
+ne.jp
+or.jp
+// jp prefecture type names
+aichi.jp
+akita.jp
+aomori.jp
+chiba.jp
+ehime.jp
+fukui.jp
+fukuoka.jp
+fukushima.jp
+gifu.jp
+gunma.jp
+hiroshima.jp
+hokkaido.jp
+hyogo.jp
+ibaraki.jp
+ishikawa.jp
+iwate.jp
+kagawa.jp
+kagoshima.jp
+kanagawa.jp
+kochi.jp
+kumamoto.jp
+kyoto.jp
+mie.jp
+miyagi.jp
+miyazaki.jp
+nagano.jp
+nagasaki.jp
+nara.jp
+niigata.jp
+oita.jp
+okayama.jp
+okinawa.jp
+osaka.jp
+saga.jp
+saitama.jp
+shiga.jp
+shimane.jp
+shizuoka.jp
+tochigi.jp
+tokushima.jp
+tokyo.jp
+tottori.jp
+toyama.jp
+wakayama.jp
+yamagata.jp
+yamaguchi.jp
+yamanashi.jp
+栃木.jp
+愛知.jp
+愛媛.jp
+兵庫.jp
+熊本.jp
+茨城.jp
+北海道.jp
+千葉.jp
+和歌山.jp
+長崎.jp
+長野.jp
+新潟.jp
+青森.jp
+静岡.jp
+東京.jp
+石川.jp
+埼玉.jp
+三重.jp
+京都.jp
+佐賀.jp
+大分.jp
+大阪.jp
+奈良.jp
+宮城.jp
+宮崎.jp
+富山.jp
+山口.jp
+山形.jp
+山梨.jp
+岩手.jp
+岐阜.jp
+岡山.jp
+島根.jp
+広島.jp
+徳島.jp
+沖縄.jp
+滋賀.jp
+神奈川.jp
+福井.jp
+福岡.jp
+福島.jp
+秋田.jp
+群馬.jp
+香川.jp
+高知.jp
+鳥取.jp
+鹿児島.jp
+// jp geographic type names
+// http://jprs.jp/doc/rule/saisoku-1.html
+*.kawasaki.jp
+*.kitakyushu.jp
+*.kobe.jp
+*.nagoya.jp
+*.sapporo.jp
+*.sendai.jp
+*.yokohama.jp
+!city.kawasaki.jp
+!city.kitakyushu.jp
+!city.kobe.jp
+!city.nagoya.jp
+!city.sapporo.jp
+!city.sendai.jp
+!city.yokohama.jp
+// 4th level registration
+aisai.aichi.jp
+ama.aichi.jp
+anjo.aichi.jp
+asuke.aichi.jp
+chiryu.aichi.jp
+chita.aichi.jp
+fuso.aichi.jp
+gamagori.aichi.jp
+handa.aichi.jp
+hazu.aichi.jp
+hekinan.aichi.jp
+higashiura.aichi.jp
+ichinomiya.aichi.jp
+inazawa.aichi.jp
+inuyama.aichi.jp
+isshiki.aichi.jp
+iwakura.aichi.jp
+kanie.aichi.jp
+kariya.aichi.jp
+kasugai.aichi.jp
+kira.aichi.jp
+kiyosu.aichi.jp
+komaki.aichi.jp
+konan.aichi.jp
+kota.aichi.jp
+mihama.aichi.jp
+miyoshi.aichi.jp
+nishio.aichi.jp
+nisshin.aichi.jp
+obu.aichi.jp
+oguchi.aichi.jp
+oharu.aichi.jp
+okazaki.aichi.jp
+owariasahi.aichi.jp
+seto.aichi.jp
+shikatsu.aichi.jp
+shinshiro.aichi.jp
+shitara.aichi.jp
+tahara.aichi.jp
+takahama.aichi.jp
+tobishima.aichi.jp
+toei.aichi.jp
+togo.aichi.jp
+tokai.aichi.jp
+tokoname.aichi.jp
+toyoake.aichi.jp
+toyohashi.aichi.jp
+toyokawa.aichi.jp
+toyone.aichi.jp
+toyota.aichi.jp
+tsushima.aichi.jp
+yatomi.aichi.jp
+akita.akita.jp
+daisen.akita.jp
+fujisato.akita.jp
+gojome.akita.jp
+hachirogata.akita.jp
+happou.akita.jp
+higashinaruse.akita.jp
+honjo.akita.jp
+honjyo.akita.jp
+ikawa.akita.jp
+kamikoani.akita.jp
+kamioka.akita.jp
+katagami.akita.jp
+kazuno.akita.jp
+kitaakita.akita.jp
+kosaka.akita.jp
+kyowa.akita.jp
+misato.akita.jp
+mitane.akita.jp
+moriyoshi.akita.jp
+nikaho.akita.jp
+noshiro.akita.jp
+odate.akita.jp
+oga.akita.jp
+ogata.akita.jp
+semboku.akita.jp
+yokote.akita.jp
+yurihonjo.akita.jp
+aomori.aomori.jp
+gonohe.aomori.jp
+hachinohe.aomori.jp
+hashikami.aomori.jp
+hiranai.aomori.jp
+hirosaki.aomori.jp
+itayanagi.aomori.jp
+kuroishi.aomori.jp
+misawa.aomori.jp
+mutsu.aomori.jp
+nakadomari.aomori.jp
+noheji.aomori.jp
+oirase.aomori.jp
+owani.aomori.jp
+rokunohe.aomori.jp
+sannohe.aomori.jp
+shichinohe.aomori.jp
+shingo.aomori.jp
+takko.aomori.jp
+towada.aomori.jp
+tsugaru.aomori.jp
+tsuruta.aomori.jp
+abiko.chiba.jp
+asahi.chiba.jp
+chonan.chiba.jp
+chosei.chiba.jp
+choshi.chiba.jp
+chuo.chiba.jp
+funabashi.chiba.jp
+futtsu.chiba.jp
+hanamigawa.chiba.jp
+ichihara.chiba.jp
+ichikawa.chiba.jp
+ichinomiya.chiba.jp
+inzai.chiba.jp
+isumi.chiba.jp
+kamagaya.chiba.jp
+kamogawa.chiba.jp
+kashiwa.chiba.jp
+katori.chiba.jp
+katsuura.chiba.jp
+kimitsu.chiba.jp
+kisarazu.chiba.jp
+kozaki.chiba.jp
+kujukuri.chiba.jp
+kyonan.chiba.jp
+matsudo.chiba.jp
+midori.chiba.jp
+mihama.chiba.jp
+minamiboso.chiba.jp
+mobara.chiba.jp
+mutsuzawa.chiba.jp
+nagara.chiba.jp
+nagareyama.chiba.jp
+narashino.chiba.jp
+narita.chiba.jp
+noda.chiba.jp
+oamishirasato.chiba.jp
+omigawa.chiba.jp
+onjuku.chiba.jp
+otaki.chiba.jp
+sakae.chiba.jp
+sakura.chiba.jp
+shimofusa.chiba.jp
+shirako.chiba.jp
+shiroi.chiba.jp
+shisui.chiba.jp
+sodegaura.chiba.jp
+sosa.chiba.jp
+tako.chiba.jp
+tateyama.chiba.jp
+togane.chiba.jp
+tohnosho.chiba.jp
+tomisato.chiba.jp
+urayasu.chiba.jp
+yachimata.chiba.jp
+yachiyo.chiba.jp
+yokaichiba.chiba.jp
+yokoshibahikari.chiba.jp
+yotsukaido.chiba.jp
+ainan.ehime.jp
+honai.ehime.jp
+ikata.ehime.jp
+imabari.ehime.jp
+iyo.ehime.jp
+kamijima.ehime.jp
+kihoku.ehime.jp
+kumakogen.ehime.jp
+masaki.ehime.jp
+matsuno.ehime.jp
+matsuyama.ehime.jp
+namikata.ehime.jp
+niihama.ehime.jp
+ozu.ehime.jp
+saijo.ehime.jp
+seiyo.ehime.jp
+shikokuchuo.ehime.jp
+tobe.ehime.jp
+toon.ehime.jp
+uchiko.ehime.jp
+uwajima.ehime.jp
+yawatahama.ehime.jp
+echizen.fukui.jp
+eiheiji.fukui.jp
+fukui.fukui.jp
+ikeda.fukui.jp
+katsuyama.fukui.jp
+mihama.fukui.jp
+minamiechizen.fukui.jp
+obama.fukui.jp
+ohi.fukui.jp
+ono.fukui.jp
+sabae.fukui.jp
+sakai.fukui.jp
+takahama.fukui.jp
+tsuruga.fukui.jp
+wakasa.fukui.jp
+ashiya.fukuoka.jp
+buzen.fukuoka.jp
+chikugo.fukuoka.jp
+chikuho.fukuoka.jp
+chikujo.fukuoka.jp
+chikushino.fukuoka.jp
+chikuzen.fukuoka.jp
+chuo.fukuoka.jp
+dazaifu.fukuoka.jp
+fukuchi.fukuoka.jp
+hakata.fukuoka.jp
+higashi.fukuoka.jp
+hirokawa.fukuoka.jp
+hisayama.fukuoka.jp
+iizuka.fukuoka.jp
+inatsuki.fukuoka.jp
+kaho.fukuoka.jp
+kasuga.fukuoka.jp
+kasuya.fukuoka.jp
+kawara.fukuoka.jp
+keisen.fukuoka.jp
+koga.fukuoka.jp
+kurate.fukuoka.jp
+kurogi.fukuoka.jp
+kurume.fukuoka.jp
+minami.fukuoka.jp
+miyako.fukuoka.jp
+miyama.fukuoka.jp
+miyawaka.fukuoka.jp
+mizumaki.fukuoka.jp
+munakata.fukuoka.jp
+nakagawa.fukuoka.jp
+nakama.fukuoka.jp
+nishi.fukuoka.jp
+nogata.fukuoka.jp
+ogori.fukuoka.jp
+okagaki.fukuoka.jp
+okawa.fukuoka.jp
+oki.fukuoka.jp
+omuta.fukuoka.jp
+onga.fukuoka.jp
+onojo.fukuoka.jp
+oto.fukuoka.jp
+saigawa.fukuoka.jp
+sasaguri.fukuoka.jp
+shingu.fukuoka.jp
+shinyoshitomi.fukuoka.jp
+shonai.fukuoka.jp
+soeda.fukuoka.jp
+sue.fukuoka.jp
+tachiarai.fukuoka.jp
+tagawa.fukuoka.jp
+takata.fukuoka.jp
+toho.fukuoka.jp
+toyotsu.fukuoka.jp
+tsuiki.fukuoka.jp
+ukiha.fukuoka.jp
+umi.fukuoka.jp
+usui.fukuoka.jp
+yamada.fukuoka.jp
+yame.fukuoka.jp
+yanagawa.fukuoka.jp
+yukuhashi.fukuoka.jp
+aizubange.fukushima.jp
+aizumisato.fukushima.jp
+aizuwakamatsu.fukushima.jp
+asakawa.fukushima.jp
+bandai.fukushima.jp
+date.fukushima.jp
+fukushima.fukushima.jp
+furudono.fukushima.jp
+futaba.fukushima.jp
+hanawa.fukushima.jp
+higashi.fukushima.jp
+hirata.fukushima.jp
+hirono.fukushima.jp
+iitate.fukushima.jp
+inawashiro.fukushima.jp
+ishikawa.fukushima.jp
+iwaki.fukushima.jp
+izumizaki.fukushima.jp
+kagamiishi.fukushima.jp
+kaneyama.fukushima.jp
+kawamata.fukushima.jp
+kitakata.fukushima.jp
+kitashiobara.fukushima.jp
+koori.fukushima.jp
+koriyama.fukushima.jp
+kunimi.fukushima.jp
+miharu.fukushima.jp
+mishima.fukushima.jp
+namie.fukushima.jp
+nango.fukushima.jp
+nishiaizu.fukushima.jp
+nishigo.fukushima.jp
+okuma.fukushima.jp
+omotego.fukushima.jp
+ono.fukushima.jp
+otama.fukushima.jp
+samegawa.fukushima.jp
+shimogo.fukushima.jp
+shirakawa.fukushima.jp
+showa.fukushima.jp
+soma.fukushima.jp
+sukagawa.fukushima.jp
+taishin.fukushima.jp
+tamakawa.fukushima.jp
+tanagura.fukushima.jp
+tenei.fukushima.jp
+yabuki.fukushima.jp
+yamato.fukushima.jp
+yamatsuri.fukushima.jp
+yanaizu.fukushima.jp
+yugawa.fukushima.jp
+anpachi.gifu.jp
+ena.gifu.jp
+gifu.gifu.jp
+ginan.gifu.jp
+godo.gifu.jp
+gujo.gifu.jp
+hashima.gifu.jp
+hichiso.gifu.jp
+hida.gifu.jp
+higashishirakawa.gifu.jp
+ibigawa.gifu.jp
+ikeda.gifu.jp
+kakamigahara.gifu.jp
+kani.gifu.jp
+kasahara.gifu.jp
+kasamatsu.gifu.jp
+kawaue.gifu.jp
+kitagata.gifu.jp
+mino.gifu.jp
+minokamo.gifu.jp
+mitake.gifu.jp
+mizunami.gifu.jp
+motosu.gifu.jp
+nakatsugawa.gifu.jp
+ogaki.gifu.jp
+sakahogi.gifu.jp
+seki.gifu.jp
+sekigahara.gifu.jp
+shirakawa.gifu.jp
+tajimi.gifu.jp
+takayama.gifu.jp
+tarui.gifu.jp
+toki.gifu.jp
+tomika.gifu.jp
+wanouchi.gifu.jp
+yamagata.gifu.jp
+yaotsu.gifu.jp
+yoro.gifu.jp
+annaka.gunma.jp
+chiyoda.gunma.jp
+fujioka.gunma.jp
+higashiagatsuma.gunma.jp
+isesaki.gunma.jp
+itakura.gunma.jp
+kanna.gunma.jp
+kanra.gunma.jp
+katashina.gunma.jp
+kawaba.gunma.jp
+kiryu.gunma.jp
+kusatsu.gunma.jp
+maebashi.gunma.jp
+meiwa.gunma.jp
+midori.gunma.jp
+minakami.gunma.jp
+naganohara.gunma.jp
+nakanojo.gunma.jp
+nanmoku.gunma.jp
+numata.gunma.jp
+oizumi.gunma.jp
+ora.gunma.jp
+ota.gunma.jp
+shibukawa.gunma.jp
+shimonita.gunma.jp
+shinto.gunma.jp
+showa.gunma.jp
+takasaki.gunma.jp
+takayama.gunma.jp
+tamamura.gunma.jp
+tatebayashi.gunma.jp
+tomioka.gunma.jp
+tsukiyono.gunma.jp
+tsumagoi.gunma.jp
+ueno.gunma.jp
+yoshioka.gunma.jp
+asaminami.hiroshima.jp
+daiwa.hiroshima.jp
+etajima.hiroshima.jp
+fuchu.hiroshima.jp
+fukuyama.hiroshima.jp
+hatsukaichi.hiroshima.jp
+higashihiroshima.hiroshima.jp
+hongo.hiroshima.jp
+jinsekikogen.hiroshima.jp
+kaita.hiroshima.jp
+kui.hiroshima.jp
+kumano.hiroshima.jp
+kure.hiroshima.jp
+mihara.hiroshima.jp
+miyoshi.hiroshima.jp
+naka.hiroshima.jp
+onomichi.hiroshima.jp
+osakikamijima.hiroshima.jp
+otake.hiroshima.jp
+saka.hiroshima.jp
+sera.hiroshima.jp
+seranishi.hiroshima.jp
+shinichi.hiroshima.jp
+shobara.hiroshima.jp
+takehara.hiroshima.jp
+abashiri.hokkaido.jp
+abira.hokkaido.jp
+aibetsu.hokkaido.jp
+akabira.hokkaido.jp
+akkeshi.hokkaido.jp
+asahikawa.hokkaido.jp
+ashibetsu.hokkaido.jp
+ashoro.hokkaido.jp
+assabu.hokkaido.jp
+atsuma.hokkaido.jp
+bibai.hokkaido.jp
+biei.hokkaido.jp
+bifuka.hokkaido.jp
+bihoro.hokkaido.jp
+biratori.hokkaido.jp
+chippubetsu.hokkaido.jp
+chitose.hokkaido.jp
+date.hokkaido.jp
+ebetsu.hokkaido.jp
+embetsu.hokkaido.jp
+eniwa.hokkaido.jp
+erimo.hokkaido.jp
+esan.hokkaido.jp
+esashi.hokkaido.jp
+fukagawa.hokkaido.jp
+fukushima.hokkaido.jp
+furano.hokkaido.jp
+furubira.hokkaido.jp
+haboro.hokkaido.jp
+hakodate.hokkaido.jp
+hamatonbetsu.hokkaido.jp
+hidaka.hokkaido.jp
+higashikagura.hokkaido.jp
+higashikawa.hokkaido.jp
+hiroo.hokkaido.jp
+hokuryu.hokkaido.jp
+hokuto.hokkaido.jp
+honbetsu.hokkaido.jp
+horokanai.hokkaido.jp
+horonobe.hokkaido.jp
+ikeda.hokkaido.jp
+imakane.hokkaido.jp
+ishikari.hokkaido.jp
+iwamizawa.hokkaido.jp
+iwanai.hokkaido.jp
+kamifurano.hokkaido.jp
+kamikawa.hokkaido.jp
+kamishihoro.hokkaido.jp
+kamisunagawa.hokkaido.jp
+kamoenai.hokkaido.jp
+kayabe.hokkaido.jp
+kembuchi.hokkaido.jp
+kikonai.hokkaido.jp
+kimobetsu.hokkaido.jp
+kitahiroshima.hokkaido.jp
+kitami.hokkaido.jp
+kiyosato.hokkaido.jp
+koshimizu.hokkaido.jp
+kunneppu.hokkaido.jp
+kuriyama.hokkaido.jp
+kuromatsunai.hokkaido.jp
+kushiro.hokkaido.jp
+kutchan.hokkaido.jp
+kyowa.hokkaido.jp
+mashike.hokkaido.jp
+matsumae.hokkaido.jp
+mikasa.hokkaido.jp
+minamifurano.hokkaido.jp
+mombetsu.hokkaido.jp
+moseushi.hokkaido.jp
+mukawa.hokkaido.jp
+muroran.hokkaido.jp
+naie.hokkaido.jp
+nakagawa.hokkaido.jp
+nakasatsunai.hokkaido.jp
+nakatombetsu.hokkaido.jp
+nanae.hokkaido.jp
+nanporo.hokkaido.jp
+nayoro.hokkaido.jp
+nemuro.hokkaido.jp
+niikappu.hokkaido.jp
+niki.hokkaido.jp
+nishiokoppe.hokkaido.jp
+noboribetsu.hokkaido.jp
+numata.hokkaido.jp
+obihiro.hokkaido.jp
+obira.hokkaido.jp
+oketo.hokkaido.jp
+okoppe.hokkaido.jp
+otaru.hokkaido.jp
+otobe.hokkaido.jp
+otofuke.hokkaido.jp
+otoineppu.hokkaido.jp
+oumu.hokkaido.jp
+ozora.hokkaido.jp
+pippu.hokkaido.jp
+rankoshi.hokkaido.jp
+rebun.hokkaido.jp
+rikubetsu.hokkaido.jp
+rishiri.hokkaido.jp
+rishirifuji.hokkaido.jp
+saroma.hokkaido.jp
+sarufutsu.hokkaido.jp
+shakotan.hokkaido.jp
+shari.hokkaido.jp
+shibecha.hokkaido.jp
+shibetsu.hokkaido.jp
+shikabe.hokkaido.jp
+shikaoi.hokkaido.jp
+shimamaki.hokkaido.jp
+shimizu.hokkaido.jp
+shimokawa.hokkaido.jp
+shinshinotsu.hokkaido.jp
+shintoku.hokkaido.jp
+shiranuka.hokkaido.jp
+shiraoi.hokkaido.jp
+shiriuchi.hokkaido.jp
+sobetsu.hokkaido.jp
+sunagawa.hokkaido.jp
+taiki.hokkaido.jp
+takasu.hokkaido.jp
+takikawa.hokkaido.jp
+takinoue.hokkaido.jp
+teshikaga.hokkaido.jp
+tobetsu.hokkaido.jp
+tohma.hokkaido.jp
+tomakomai.hokkaido.jp
+tomari.hokkaido.jp
+toya.hokkaido.jp
+toyako.hokkaido.jp
+toyotomi.hokkaido.jp
+toyoura.hokkaido.jp
+tsubetsu.hokkaido.jp
+tsukigata.hokkaido.jp
+urakawa.hokkaido.jp
+urausu.hokkaido.jp
+uryu.hokkaido.jp
+utashinai.hokkaido.jp
+wakkanai.hokkaido.jp
+wassamu.hokkaido.jp
+yakumo.hokkaido.jp
+yoichi.hokkaido.jp
+aioi.hyogo.jp
+akashi.hyogo.jp
+ako.hyogo.jp
+amagasaki.hyogo.jp
+aogaki.hyogo.jp
+asago.hyogo.jp
+ashiya.hyogo.jp
+awaji.hyogo.jp
+fukusaki.hyogo.jp
+goshiki.hyogo.jp
+harima.hyogo.jp
+himeji.hyogo.jp
+ichikawa.hyogo.jp
+inagawa.hyogo.jp
+itami.hyogo.jp
+kakogawa.hyogo.jp
+kamigori.hyogo.jp
+kamikawa.hyogo.jp
+kasai.hyogo.jp
+kasuga.hyogo.jp
+kawanishi.hyogo.jp
+miki.hyogo.jp
+minamiawaji.hyogo.jp
+nishinomiya.hyogo.jp
+nishiwaki.hyogo.jp
+ono.hyogo.jp
+sanda.hyogo.jp
+sannan.hyogo.jp
+sasayama.hyogo.jp
+sayo.hyogo.jp
+shingu.hyogo.jp
+shinonsen.hyogo.jp
+shiso.hyogo.jp
+sumoto.hyogo.jp
+taishi.hyogo.jp
+taka.hyogo.jp
+takarazuka.hyogo.jp
+takasago.hyogo.jp
+takino.hyogo.jp
+tamba.hyogo.jp
+tatsuno.hyogo.jp
+toyooka.hyogo.jp
+yabu.hyogo.jp
+yashiro.hyogo.jp
+yoka.hyogo.jp
+yokawa.hyogo.jp
+ami.ibaraki.jp
+asahi.ibaraki.jp
+bando.ibaraki.jp
+chikusei.ibaraki.jp
+daigo.ibaraki.jp
+fujishiro.ibaraki.jp
+hitachi.ibaraki.jp
+hitachinaka.ibaraki.jp
+hitachiomiya.ibaraki.jp
+hitachiota.ibaraki.jp
+ibaraki.ibaraki.jp
+ina.ibaraki.jp
+inashiki.ibaraki.jp
+itako.ibaraki.jp
+iwama.ibaraki.jp
+joso.ibaraki.jp
+kamisu.ibaraki.jp
+kasama.ibaraki.jp
+kashima.ibaraki.jp
+kasumigaura.ibaraki.jp
+koga.ibaraki.jp
+miho.ibaraki.jp
+mito.ibaraki.jp
+moriya.ibaraki.jp
+naka.ibaraki.jp
+namegata.ibaraki.jp
+oarai.ibaraki.jp
+ogawa.ibaraki.jp
+omitama.ibaraki.jp
+ryugasaki.ibaraki.jp
+sakai.ibaraki.jp
+sakuragawa.ibaraki.jp
+shimodate.ibaraki.jp
+shimotsuma.ibaraki.jp
+shirosato.ibaraki.jp
+sowa.ibaraki.jp
+suifu.ibaraki.jp
+takahagi.ibaraki.jp
+tamatsukuri.ibaraki.jp
+tokai.ibaraki.jp
+tomobe.ibaraki.jp
+tone.ibaraki.jp
+toride.ibaraki.jp
+tsuchiura.ibaraki.jp
+tsukuba.ibaraki.jp
+uchihara.ibaraki.jp
+ushiku.ibaraki.jp
+yachiyo.ibaraki.jp
+yamagata.ibaraki.jp
+yawara.ibaraki.jp
+yuki.ibaraki.jp
+anamizu.ishikawa.jp
+hakui.ishikawa.jp
+hakusan.ishikawa.jp
+kaga.ishikawa.jp
+kahoku.ishikawa.jp
+kanazawa.ishikawa.jp
+kawakita.ishikawa.jp
+komatsu.ishikawa.jp
+nakanoto.ishikawa.jp
+nanao.ishikawa.jp
+nomi.ishikawa.jp
+nonoichi.ishikawa.jp
+noto.ishikawa.jp
+shika.ishikawa.jp
+suzu.ishikawa.jp
+tsubata.ishikawa.jp
+tsurugi.ishikawa.jp
+uchinada.ishikawa.jp
+wajima.ishikawa.jp
+fudai.iwate.jp
+fujisawa.iwate.jp
+hanamaki.iwate.jp
+hiraizumi.iwate.jp
+hirono.iwate.jp
+ichinohe.iwate.jp
+ichinoseki.iwate.jp
+iwaizumi.iwate.jp
+iwate.iwate.jp
+joboji.iwate.jp
+kamaishi.iwate.jp
+kanegasaki.iwate.jp
+karumai.iwate.jp
+kawai.iwate.jp
+kitakami.iwate.jp
+kuji.iwate.jp
+kunohe.iwate.jp
+kuzumaki.iwate.jp
+miyako.iwate.jp
+mizusawa.iwate.jp
+morioka.iwate.jp
+ninohe.iwate.jp
+noda.iwate.jp
+ofunato.iwate.jp
+oshu.iwate.jp
+otsuchi.iwate.jp
+rikuzentakata.iwate.jp
+shiwa.iwate.jp
+shizukuishi.iwate.jp
+sumita.iwate.jp
+tanohata.iwate.jp
+tono.iwate.jp
+yahaba.iwate.jp
+yamada.iwate.jp
+ayagawa.kagawa.jp
+higashikagawa.kagawa.jp
+kanonji.kagawa.jp
+kotohira.kagawa.jp
+manno.kagawa.jp
+marugame.kagawa.jp
+mitoyo.kagawa.jp
+naoshima.kagawa.jp
+sanuki.kagawa.jp
+tadotsu.kagawa.jp
+takamatsu.kagawa.jp
+tonosho.kagawa.jp
+uchinomi.kagawa.jp
+utazu.kagawa.jp
+zentsuji.kagawa.jp
+akune.kagoshima.jp
+amami.kagoshima.jp
+hioki.kagoshima.jp
+isa.kagoshima.jp
+isen.kagoshima.jp
+izumi.kagoshima.jp
+kagoshima.kagoshima.jp
+kanoya.kagoshima.jp
+kawanabe.kagoshima.jp
+kinko.kagoshima.jp
+kouyama.kagoshima.jp
+makurazaki.kagoshima.jp
+matsumoto.kagoshima.jp
+minamitane.kagoshima.jp
+nakatane.kagoshima.jp
+nishinoomote.kagoshima.jp
+satsumasendai.kagoshima.jp
+soo.kagoshima.jp
+tarumizu.kagoshima.jp
+yusui.kagoshima.jp
+aikawa.kanagawa.jp
+atsugi.kanagawa.jp
+ayase.kanagawa.jp
+chigasaki.kanagawa.jp
+ebina.kanagawa.jp
+fujisawa.kanagawa.jp
+hadano.kanagawa.jp
+hakone.kanagawa.jp
+hiratsuka.kanagawa.jp
+isehara.kanagawa.jp
+kaisei.kanagawa.jp
+kamakura.kanagawa.jp
+kiyokawa.kanagawa.jp
+matsuda.kanagawa.jp
+minamiashigara.kanagawa.jp
+miura.kanagawa.jp
+nakai.kanagawa.jp
+ninomiya.kanagawa.jp
+odawara.kanagawa.jp
+oi.kanagawa.jp
+oiso.kanagawa.jp
+sagamihara.kanagawa.jp
+samukawa.kanagawa.jp
+tsukui.kanagawa.jp
+yamakita.kanagawa.jp
+yamato.kanagawa.jp
+yokosuka.kanagawa.jp
+yugawara.kanagawa.jp
+zama.kanagawa.jp
+zushi.kanagawa.jp
+aki.kochi.jp
+geisei.kochi.jp
+hidaka.kochi.jp
+higashitsuno.kochi.jp
+ino.kochi.jp
+kagami.kochi.jp
+kami.kochi.jp
+kitagawa.kochi.jp
+kochi.kochi.jp
+mihara.kochi.jp
+motoyama.kochi.jp
+muroto.kochi.jp
+nahari.kochi.jp
+nakamura.kochi.jp
+nankoku.kochi.jp
+nishitosa.kochi.jp
+niyodogawa.kochi.jp
+ochi.kochi.jp
+okawa.kochi.jp
+otoyo.kochi.jp
+otsuki.kochi.jp
+sakawa.kochi.jp
+sukumo.kochi.jp
+susaki.kochi.jp
+tosa.kochi.jp
+tosashimizu.kochi.jp
+toyo.kochi.jp
+tsuno.kochi.jp
+umaji.kochi.jp
+yasuda.kochi.jp
+yusuhara.kochi.jp
+amakusa.kumamoto.jp
+arao.kumamoto.jp
+aso.kumamoto.jp
+choyo.kumamoto.jp
+gyokuto.kumamoto.jp
+kamiamakusa.kumamoto.jp
+kikuchi.kumamoto.jp
+kumamoto.kumamoto.jp
+mashiki.kumamoto.jp
+mifune.kumamoto.jp
+minamata.kumamoto.jp
+minamioguni.kumamoto.jp
+nagasu.kumamoto.jp
+nishihara.kumamoto.jp
+oguni.kumamoto.jp
+ozu.kumamoto.jp
+sumoto.kumamoto.jp
+takamori.kumamoto.jp
+uki.kumamoto.jp
+uto.kumamoto.jp
+yamaga.kumamoto.jp
+yamato.kumamoto.jp
+yatsushiro.kumamoto.jp
+ayabe.kyoto.jp
+fukuchiyama.kyoto.jp
+higashiyama.kyoto.jp
+ide.kyoto.jp
+ine.kyoto.jp
+joyo.kyoto.jp
+kameoka.kyoto.jp
+kamo.kyoto.jp
+kita.kyoto.jp
+kizu.kyoto.jp
+kumiyama.kyoto.jp
+kyotamba.kyoto.jp
+kyotanabe.kyoto.jp
+kyotango.kyoto.jp
+maizuru.kyoto.jp
+minami.kyoto.jp
+minamiyamashiro.kyoto.jp
+miyazu.kyoto.jp
+muko.kyoto.jp
+nagaokakyo.kyoto.jp
+nakagyo.kyoto.jp
+nantan.kyoto.jp
+oyamazaki.kyoto.jp
+sakyo.kyoto.jp
+seika.kyoto.jp
+tanabe.kyoto.jp
+uji.kyoto.jp
+ujitawara.kyoto.jp
+wazuka.kyoto.jp
+yamashina.kyoto.jp
+yawata.kyoto.jp
+asahi.mie.jp
+inabe.mie.jp
+ise.mie.jp
+kameyama.mie.jp
+kawagoe.mie.jp
+kiho.mie.jp
+kisosaki.mie.jp
+kiwa.mie.jp
+komono.mie.jp
+kumano.mie.jp
+kuwana.mie.jp
+matsusaka.mie.jp
+meiwa.mie.jp
+mihama.mie.jp
+minamiise.mie.jp
+misugi.mie.jp
+miyama.mie.jp
+nabari.mie.jp
+shima.mie.jp
+suzuka.mie.jp
+tado.mie.jp
+taiki.mie.jp
+taki.mie.jp
+tamaki.mie.jp
+toba.mie.jp
+tsu.mie.jp
+udono.mie.jp
+ureshino.mie.jp
+watarai.mie.jp
+yokkaichi.mie.jp
+furukawa.miyagi.jp
+higashimatsushima.miyagi.jp
+ishinomaki.miyagi.jp
+iwanuma.miyagi.jp
+kakuda.miyagi.jp
+kami.miyagi.jp
+kawasaki.miyagi.jp
+marumori.miyagi.jp
+matsushima.miyagi.jp
+minamisanriku.miyagi.jp
+misato.miyagi.jp
+murata.miyagi.jp
+natori.miyagi.jp
+ogawara.miyagi.jp
+ohira.miyagi.jp
+onagawa.miyagi.jp
+osaki.miyagi.jp
+rifu.miyagi.jp
+semine.miyagi.jp
+shibata.miyagi.jp
+shichikashuku.miyagi.jp
+shikama.miyagi.jp
+shiogama.miyagi.jp
+shiroishi.miyagi.jp
+tagajo.miyagi.jp
+taiwa.miyagi.jp
+tome.miyagi.jp
+tomiya.miyagi.jp
+wakuya.miyagi.jp
+watari.miyagi.jp
+yamamoto.miyagi.jp
+zao.miyagi.jp
+aya.miyazaki.jp
+ebino.miyazaki.jp
+gokase.miyazaki.jp
+hyuga.miyazaki.jp
+kadogawa.miyazaki.jp
+kawaminami.miyazaki.jp
+kijo.miyazaki.jp
+kitagawa.miyazaki.jp
+kitakata.miyazaki.jp
+kitaura.miyazaki.jp
+kobayashi.miyazaki.jp
+kunitomi.miyazaki.jp
+kushima.miyazaki.jp
+mimata.miyazaki.jp
+miyakonojo.miyazaki.jp
+miyazaki.miyazaki.jp
+morotsuka.miyazaki.jp
+nichinan.miyazaki.jp
+nishimera.miyazaki.jp
+nobeoka.miyazaki.jp
+saito.miyazaki.jp
+shiiba.miyazaki.jp
+shintomi.miyazaki.jp
+takaharu.miyazaki.jp
+takanabe.miyazaki.jp
+takazaki.miyazaki.jp
+tsuno.miyazaki.jp
+achi.nagano.jp
+agematsu.nagano.jp
+anan.nagano.jp
+aoki.nagano.jp
+asahi.nagano.jp
+azumino.nagano.jp
+chikuhoku.nagano.jp
+chikuma.nagano.jp
+chino.nagano.jp
+fujimi.nagano.jp
+hakuba.nagano.jp
+hara.nagano.jp
+hiraya.nagano.jp
+iida.nagano.jp
+iijima.nagano.jp
+iiyama.nagano.jp
+iizuna.nagano.jp
+ikeda.nagano.jp
+ikusaka.nagano.jp
+ina.nagano.jp
+karuizawa.nagano.jp
+kawakami.nagano.jp
+kiso.nagano.jp
+kisofukushima.nagano.jp
+kitaaiki.nagano.jp
+komagane.nagano.jp
+komoro.nagano.jp
+matsukawa.nagano.jp
+matsumoto.nagano.jp
+miasa.nagano.jp
+minamiaiki.nagano.jp
+minamimaki.nagano.jp
+minamiminowa.nagano.jp
+minowa.nagano.jp
+miyada.nagano.jp
+miyota.nagano.jp
+mochizuki.nagano.jp
+nagano.nagano.jp
+nagawa.nagano.jp
+nagiso.nagano.jp
+nakagawa.nagano.jp
+nakano.nagano.jp
+nozawaonsen.nagano.jp
+obuse.nagano.jp
+ogawa.nagano.jp
+okaya.nagano.jp
+omachi.nagano.jp
+omi.nagano.jp
+ookuwa.nagano.jp
+ooshika.nagano.jp
+otaki.nagano.jp
+otari.nagano.jp
+sakae.nagano.jp
+sakaki.nagano.jp
+saku.nagano.jp
+sakuho.nagano.jp
+shimosuwa.nagano.jp
+shinanomachi.nagano.jp
+shiojiri.nagano.jp
+suwa.nagano.jp
+suzaka.nagano.jp
+takagi.nagano.jp
+takamori.nagano.jp
+takayama.nagano.jp
+tateshina.nagano.jp
+tatsuno.nagano.jp
+togakushi.nagano.jp
+togura.nagano.jp
+tomi.nagano.jp
+ueda.nagano.jp
+wada.nagano.jp
+yamagata.nagano.jp
+yamanouchi.nagano.jp
+yasaka.nagano.jp
+yasuoka.nagano.jp
+chijiwa.nagasaki.jp
+futsu.nagasaki.jp
+goto.nagasaki.jp
+hasami.nagasaki.jp
+hirado.nagasaki.jp
+iki.nagasaki.jp
+isahaya.nagasaki.jp
+kawatana.nagasaki.jp
+kuchinotsu.nagasaki.jp
+matsuura.nagasaki.jp
+nagasaki.nagasaki.jp
+obama.nagasaki.jp
+omura.nagasaki.jp
+oseto.nagasaki.jp
+saikai.nagasaki.jp
+sasebo.nagasaki.jp
+seihi.nagasaki.jp
+shimabara.nagasaki.jp
+shinkamigoto.nagasaki.jp
+togitsu.nagasaki.jp
+tsushima.nagasaki.jp
+unzen.nagasaki.jp
+ando.nara.jp
+gose.nara.jp
+heguri.nara.jp
+higashiyoshino.nara.jp
+ikaruga.nara.jp
+ikoma.nara.jp
+kamikitayama.nara.jp
+kanmaki.nara.jp
+kashiba.nara.jp
+kashihara.nara.jp
+katsuragi.nara.jp
+kawai.nara.jp
+kawakami.nara.jp
+kawanishi.nara.jp
+koryo.nara.jp
+kurotaki.nara.jp
+mitsue.nara.jp
+miyake.nara.jp
+nara.nara.jp
+nosegawa.nara.jp
+oji.nara.jp
+ouda.nara.jp
+oyodo.nara.jp
+sakurai.nara.jp
+sango.nara.jp
+shimoichi.nara.jp
+shimokitayama.nara.jp
+shinjo.nara.jp
+soni.nara.jp
+takatori.nara.jp
+tawaramoto.nara.jp
+tenkawa.nara.jp
+tenri.nara.jp
+uda.nara.jp
+yamatokoriyama.nara.jp
+yamatotakada.nara.jp
+yamazoe.nara.jp
+yoshino.nara.jp
+aga.niigata.jp
+agano.niigata.jp
+gosen.niigata.jp
+itoigawa.niigata.jp
+izumozaki.niigata.jp
+joetsu.niigata.jp
+kamo.niigata.jp
+kariwa.niigata.jp
+kashiwazaki.niigata.jp
+minamiuonuma.niigata.jp
+mitsuke.niigata.jp
+muika.niigata.jp
+murakami.niigata.jp
+myoko.niigata.jp
+nagaoka.niigata.jp
+niigata.niigata.jp
+ojiya.niigata.jp
+omi.niigata.jp
+sado.niigata.jp
+sanjo.niigata.jp
+seiro.niigata.jp
+seirou.niigata.jp
+sekikawa.niigata.jp
+shibata.niigata.jp
+tagami.niigata.jp
+tainai.niigata.jp
+tochio.niigata.jp
+tokamachi.niigata.jp
+tsubame.niigata.jp
+tsunan.niigata.jp
+uonuma.niigata.jp
+yahiko.niigata.jp
+yoita.niigata.jp
+yuzawa.niigata.jp
+beppu.oita.jp
+bungoono.oita.jp
+bungotakada.oita.jp
+hasama.oita.jp
+hiji.oita.jp
+himeshima.oita.jp
+hita.oita.jp
+kamitsue.oita.jp
+kokonoe.oita.jp
+kuju.oita.jp
+kunisaki.oita.jp
+kusu.oita.jp
+oita.oita.jp
+saiki.oita.jp
+taketa.oita.jp
+tsukumi.oita.jp
+usa.oita.jp
+usuki.oita.jp
+yufu.oita.jp
+akaiwa.okayama.jp
+asakuchi.okayama.jp
+bizen.okayama.jp
+hayashima.okayama.jp
+ibara.okayama.jp
+kagamino.okayama.jp
+kasaoka.okayama.jp
+kibichuo.okayama.jp
+kumenan.okayama.jp
+kurashiki.okayama.jp
+maniwa.okayama.jp
+misaki.okayama.jp
+nagi.okayama.jp
+niimi.okayama.jp
+nishiawakura.okayama.jp
+okayama.okayama.jp
+satosho.okayama.jp
+setouchi.okayama.jp
+shinjo.okayama.jp
+shoo.okayama.jp
+soja.okayama.jp
+takahashi.okayama.jp
+tamano.okayama.jp
+tsuyama.okayama.jp
+wake.okayama.jp
+yakage.okayama.jp
+aguni.okinawa.jp
+ginowan.okinawa.jp
+ginoza.okinawa.jp
+gushikami.okinawa.jp
+haebaru.okinawa.jp
+higashi.okinawa.jp
+hirara.okinawa.jp
+iheya.okinawa.jp
+ishigaki.okinawa.jp
+ishikawa.okinawa.jp
+itoman.okinawa.jp
+izena.okinawa.jp
+kadena.okinawa.jp
+kin.okinawa.jp
+kitadaito.okinawa.jp
+kitanakagusuku.okinawa.jp
+kumejima.okinawa.jp
+kunigami.okinawa.jp
+minamidaito.okinawa.jp
+motobu.okinawa.jp
+nago.okinawa.jp
+naha.okinawa.jp
+nakagusuku.okinawa.jp
+nakijin.okinawa.jp
+nanjo.okinawa.jp
+nishihara.okinawa.jp
+ogimi.okinawa.jp
+okinawa.okinawa.jp
+onna.okinawa.jp
+shimoji.okinawa.jp
+taketomi.okinawa.jp
+tarama.okinawa.jp
+tokashiki.okinawa.jp
+tomigusuku.okinawa.jp
+tonaki.okinawa.jp
+urasoe.okinawa.jp
+uruma.okinawa.jp
+yaese.okinawa.jp
+yomitan.okinawa.jp
+yonabaru.okinawa.jp
+yonaguni.okinawa.jp
+zamami.okinawa.jp
+abeno.osaka.jp
+chihayaakasaka.osaka.jp
+chuo.osaka.jp
+daito.osaka.jp
+fujiidera.osaka.jp
+habikino.osaka.jp
+hannan.osaka.jp
+higashiosaka.osaka.jp
+higashisumiyoshi.osaka.jp
+higashiyodogawa.osaka.jp
+hirakata.osaka.jp
+ibaraki.osaka.jp
+ikeda.osaka.jp
+izumi.osaka.jp
+izumiotsu.osaka.jp
+izumisano.osaka.jp
+kadoma.osaka.jp
+kaizuka.osaka.jp
+kanan.osaka.jp
+kashiwara.osaka.jp
+katano.osaka.jp
+kawachinagano.osaka.jp
+kishiwada.osaka.jp
+kita.osaka.jp
+kumatori.osaka.jp
+matsubara.osaka.jp
+minato.osaka.jp
+minoh.osaka.jp
+misaki.osaka.jp
+moriguchi.osaka.jp
+neyagawa.osaka.jp
+nishi.osaka.jp
+nose.osaka.jp
+osakasayama.osaka.jp
+sakai.osaka.jp
+sayama.osaka.jp
+sennan.osaka.jp
+settsu.osaka.jp
+shijonawate.osaka.jp
+shimamoto.osaka.jp
+suita.osaka.jp
+tadaoka.osaka.jp
+taishi.osaka.jp
+tajiri.osaka.jp
+takaishi.osaka.jp
+takatsuki.osaka.jp
+tondabayashi.osaka.jp
+toyonaka.osaka.jp
+toyono.osaka.jp
+yao.osaka.jp
+ariake.saga.jp
+arita.saga.jp
+fukudomi.saga.jp
+genkai.saga.jp
+hamatama.saga.jp
+hizen.saga.jp
+imari.saga.jp
+kamimine.saga.jp
+kanzaki.saga.jp
+karatsu.saga.jp
+kashima.saga.jp
+kitagata.saga.jp
+kitahata.saga.jp
+kiyama.saga.jp
+kouhoku.saga.jp
+kyuragi.saga.jp
+nishiarita.saga.jp
+ogi.saga.jp
+omachi.saga.jp
+ouchi.saga.jp
+saga.saga.jp
+shiroishi.saga.jp
+taku.saga.jp
+tara.saga.jp
+tosu.saga.jp
+yoshinogari.saga.jp
+arakawa.saitama.jp
+asaka.saitama.jp
+chichibu.saitama.jp
+fujimi.saitama.jp
+fujimino.saitama.jp
+fukaya.saitama.jp
+hanno.saitama.jp
+hanyu.saitama.jp
+hasuda.saitama.jp
+hatogaya.saitama.jp
+hatoyama.saitama.jp
+hidaka.saitama.jp
+higashichichibu.saitama.jp
+higashimatsuyama.saitama.jp
+honjo.saitama.jp
+ina.saitama.jp
+iruma.saitama.jp
+iwatsuki.saitama.jp
+kamiizumi.saitama.jp
+kamikawa.saitama.jp
+kamisato.saitama.jp
+kasukabe.saitama.jp
+kawagoe.saitama.jp
+kawaguchi.saitama.jp
+kawajima.saitama.jp
+kazo.saitama.jp
+kitamoto.saitama.jp
+koshigaya.saitama.jp
+kounosu.saitama.jp
+kuki.saitama.jp
+kumagaya.saitama.jp
+matsubushi.saitama.jp
+minano.saitama.jp
+misato.saitama.jp
+miyashiro.saitama.jp
+miyoshi.saitama.jp
+moroyama.saitama.jp
+nagatoro.saitama.jp
+namegawa.saitama.jp
+niiza.saitama.jp
+ogano.saitama.jp
+ogawa.saitama.jp
+ogose.saitama.jp
+okegawa.saitama.jp
+omiya.saitama.jp
+otaki.saitama.jp
+ranzan.saitama.jp
+ryokami.saitama.jp
+saitama.saitama.jp
+sakado.saitama.jp
+satte.saitama.jp
+sayama.saitama.jp
+shiki.saitama.jp
+shiraoka.saitama.jp
+soka.saitama.jp
+sugito.saitama.jp
+toda.saitama.jp
+tokigawa.saitama.jp
+tokorozawa.saitama.jp
+tsurugashima.saitama.jp
+urawa.saitama.jp
+warabi.saitama.jp
+yashio.saitama.jp
+yokoze.saitama.jp
+yono.saitama.jp
+yorii.saitama.jp
+yoshida.saitama.jp
+yoshikawa.saitama.jp
+yoshimi.saitama.jp
+aisho.shiga.jp
+gamo.shiga.jp
+higashiomi.shiga.jp
+hikone.shiga.jp
+koka.shiga.jp
+konan.shiga.jp
+kosei.shiga.jp
+koto.shiga.jp
+kusatsu.shiga.jp
+maibara.shiga.jp
+moriyama.shiga.jp
+nagahama.shiga.jp
+nishiazai.shiga.jp
+notogawa.shiga.jp
+omihachiman.shiga.jp
+otsu.shiga.jp
+ritto.shiga.jp
+ryuoh.shiga.jp
+takashima.shiga.jp
+takatsuki.shiga.jp
+torahime.shiga.jp
+toyosato.shiga.jp
+yasu.shiga.jp
+akagi.shimane.jp
+ama.shimane.jp
+gotsu.shimane.jp
+hamada.shimane.jp
+higashiizumo.shimane.jp
+hikawa.shimane.jp
+hikimi.shimane.jp
+izumo.shimane.jp
+kakinoki.shimane.jp
+masuda.shimane.jp
+matsue.shimane.jp
+misato.shimane.jp
+nishinoshima.shimane.jp
+ohda.shimane.jp
+okinoshima.shimane.jp
+okuizumo.shimane.jp
+shimane.shimane.jp
+tamayu.shimane.jp
+tsuwano.shimane.jp
+unnan.shimane.jp
+yakumo.shimane.jp
+yasugi.shimane.jp
+yatsuka.shimane.jp
+arai.shizuoka.jp
+atami.shizuoka.jp
+fuji.shizuoka.jp
+fujieda.shizuoka.jp
+fujikawa.shizuoka.jp
+fujinomiya.shizuoka.jp
+fukuroi.shizuoka.jp
+gotemba.shizuoka.jp
+haibara.shizuoka.jp
+hamamatsu.shizuoka.jp
+higashiizu.shizuoka.jp
+ito.shizuoka.jp
+iwata.shizuoka.jp
+izu.shizuoka.jp
+izunokuni.shizuoka.jp
+kakegawa.shizuoka.jp
+kannami.shizuoka.jp
+kawanehon.shizuoka.jp
+kawazu.shizuoka.jp
+kikugawa.shizuoka.jp
+kosai.shizuoka.jp
+makinohara.shizuoka.jp
+matsuzaki.shizuoka.jp
+minamiizu.shizuoka.jp
+mishima.shizuoka.jp
+morimachi.shizuoka.jp
+nishiizu.shizuoka.jp
+numazu.shizuoka.jp
+omaezaki.shizuoka.jp
+shimada.shizuoka.jp
+shimizu.shizuoka.jp
+shimoda.shizuoka.jp
+shizuoka.shizuoka.jp
+susono.shizuoka.jp
+yaizu.shizuoka.jp
+yoshida.shizuoka.jp
+ashikaga.tochigi.jp
+bato.tochigi.jp
+haga.tochigi.jp
+ichikai.tochigi.jp
+iwafune.tochigi.jp
+kaminokawa.tochigi.jp
+kanuma.tochigi.jp
+karasuyama.tochigi.jp
+kuroiso.tochigi.jp
+mashiko.tochigi.jp
+mibu.tochigi.jp
+moka.tochigi.jp
+motegi.tochigi.jp
+nasu.tochigi.jp
+nasushiobara.tochigi.jp
+nikko.tochigi.jp
+nishikata.tochigi.jp
+nogi.tochigi.jp
+ohira.tochigi.jp
+ohtawara.tochigi.jp
+oyama.tochigi.jp
+sakura.tochigi.jp
+sano.tochigi.jp
+shimotsuke.tochigi.jp
+shioya.tochigi.jp
+takanezawa.tochigi.jp
+tochigi.tochigi.jp
+tsuga.tochigi.jp
+ujiie.tochigi.jp
+utsunomiya.tochigi.jp
+yaita.tochigi.jp
+aizumi.tokushima.jp
+anan.tokushima.jp
+ichiba.tokushima.jp
+itano.tokushima.jp
+kainan.tokushima.jp
+komatsushima.tokushima.jp
+matsushige.tokushima.jp
+mima.tokushima.jp
+minami.tokushima.jp
+miyoshi.tokushima.jp
+mugi.tokushima.jp
+nakagawa.tokushima.jp
+naruto.tokushima.jp
+sanagochi.tokushima.jp
+shishikui.tokushima.jp
+tokushima.tokushima.jp
+wajiki.tokushima.jp
+adachi.tokyo.jp
+akiruno.tokyo.jp
+akishima.tokyo.jp
+aogashima.tokyo.jp
+arakawa.tokyo.jp
+bunkyo.tokyo.jp
+chiyoda.tokyo.jp
+chofu.tokyo.jp
+chuo.tokyo.jp
+edogawa.tokyo.jp
+fuchu.tokyo.jp
+fussa.tokyo.jp
+hachijo.tokyo.jp
+hachioji.tokyo.jp
+hamura.tokyo.jp
+higashikurume.tokyo.jp
+higashimurayama.tokyo.jp
+higashiyamato.tokyo.jp
+hino.tokyo.jp
+hinode.tokyo.jp
+hinohara.tokyo.jp
+inagi.tokyo.jp
+itabashi.tokyo.jp
+katsushika.tokyo.jp
+kita.tokyo.jp
+kiyose.tokyo.jp
+kodaira.tokyo.jp
+koganei.tokyo.jp
+kokubunji.tokyo.jp
+komae.tokyo.jp
+koto.tokyo.jp
+kouzushima.tokyo.jp
+kunitachi.tokyo.jp
+machida.tokyo.jp
+meguro.tokyo.jp
+minato.tokyo.jp
+mitaka.tokyo.jp
+mizuho.tokyo.jp
+musashimurayama.tokyo.jp
+musashino.tokyo.jp
+nakano.tokyo.jp
+nerima.tokyo.jp
+ogasawara.tokyo.jp
+okutama.tokyo.jp
+ome.tokyo.jp
+oshima.tokyo.jp
+ota.tokyo.jp
+setagaya.tokyo.jp
+shibuya.tokyo.jp
+shinagawa.tokyo.jp
+shinjuku.tokyo.jp
+suginami.tokyo.jp
+sumida.tokyo.jp
+tachikawa.tokyo.jp
+taito.tokyo.jp
+tama.tokyo.jp
+toshima.tokyo.jp
+chizu.tottori.jp
+hino.tottori.jp
+kawahara.tottori.jp
+koge.tottori.jp
+kotoura.tottori.jp
+misasa.tottori.jp
+nanbu.tottori.jp
+nichinan.tottori.jp
+sakaiminato.tottori.jp
+tottori.tottori.jp
+wakasa.tottori.jp
+yazu.tottori.jp
+yonago.tottori.jp
+asahi.toyama.jp
+fuchu.toyama.jp
+fukumitsu.toyama.jp
+funahashi.toyama.jp
+himi.toyama.jp
+imizu.toyama.jp
+inami.toyama.jp
+johana.toyama.jp
+kamiichi.toyama.jp
+kurobe.toyama.jp
+nakaniikawa.toyama.jp
+namerikawa.toyama.jp
+nanto.toyama.jp
+nyuzen.toyama.jp
+oyabe.toyama.jp
+taira.toyama.jp
+takaoka.toyama.jp
+tateyama.toyama.jp
+toga.toyama.jp
+tonami.toyama.jp
+toyama.toyama.jp
+unazuki.toyama.jp
+uozu.toyama.jp
+yamada.toyama.jp
+arida.wakayama.jp
+aridagawa.wakayama.jp
+gobo.wakayama.jp
+hashimoto.wakayama.jp
+hidaka.wakayama.jp
+hirogawa.wakayama.jp
+inami.wakayama.jp
+iwade.wakayama.jp
+kainan.wakayama.jp
+kamitonda.wakayama.jp
+katsuragi.wakayama.jp
+kimino.wakayama.jp
+kinokawa.wakayama.jp
+kitayama.wakayama.jp
+koya.wakayama.jp
+koza.wakayama.jp
+kozagawa.wakayama.jp
+kudoyama.wakayama.jp
+kushimoto.wakayama.jp
+mihama.wakayama.jp
+misato.wakayama.jp
+nachikatsuura.wakayama.jp
+shingu.wakayama.jp
+shirahama.wakayama.jp
+taiji.wakayama.jp
+tanabe.wakayama.jp
+wakayama.wakayama.jp
+yuasa.wakayama.jp
+yura.wakayama.jp
+asahi.yamagata.jp
+funagata.yamagata.jp
+higashine.yamagata.jp
+iide.yamagata.jp
+kahoku.yamagata.jp
+kaminoyama.yamagata.jp
+kaneyama.yamagata.jp
+kawanishi.yamagata.jp
+mamurogawa.yamagata.jp
+mikawa.yamagata.jp
+murayama.yamagata.jp
+nagai.yamagata.jp
+nakayama.yamagata.jp
+nanyo.yamagata.jp
+nishikawa.yamagata.jp
+obanazawa.yamagata.jp
+oe.yamagata.jp
+oguni.yamagata.jp
+ohkura.yamagata.jp
+oishida.yamagata.jp
+sagae.yamagata.jp
+sakata.yamagata.jp
+sakegawa.yamagata.jp
+shinjo.yamagata.jp
+shirataka.yamagata.jp
+shonai.yamagata.jp
+takahata.yamagata.jp
+tendo.yamagata.jp
+tozawa.yamagata.jp
+tsuruoka.yamagata.jp
+yamagata.yamagata.jp
+yamanobe.yamagata.jp
+yonezawa.yamagata.jp
+yuza.yamagata.jp
+abu.yamaguchi.jp
+hagi.yamaguchi.jp
+hikari.yamaguchi.jp
+hofu.yamaguchi.jp
+iwakuni.yamaguchi.jp
+kudamatsu.yamaguchi.jp
+mitou.yamaguchi.jp
+nagato.yamaguchi.jp
+oshima.yamaguchi.jp
+shimonoseki.yamaguchi.jp
+shunan.yamaguchi.jp
+tabuse.yamaguchi.jp
+tokuyama.yamaguchi.jp
+toyota.yamaguchi.jp
+ube.yamaguchi.jp
+yuu.yamaguchi.jp
+chuo.yamanashi.jp
+doshi.yamanashi.jp
+fuefuki.yamanashi.jp
+fujikawa.yamanashi.jp
+fujikawaguchiko.yamanashi.jp
+fujiyoshida.yamanashi.jp
+hayakawa.yamanashi.jp
+hokuto.yamanashi.jp
+ichikawamisato.yamanashi.jp
+kai.yamanashi.jp
+kofu.yamanashi.jp
+koshu.yamanashi.jp
+kosuge.yamanashi.jp
+minami-alps.yamanashi.jp
+minobu.yamanashi.jp
+nakamichi.yamanashi.jp
+nanbu.yamanashi.jp
+narusawa.yamanashi.jp
+nirasaki.yamanashi.jp
+nishikatsura.yamanashi.jp
+oshino.yamanashi.jp
+otsuki.yamanashi.jp
+showa.yamanashi.jp
+tabayama.yamanashi.jp
+tsuru.yamanashi.jp
+uenohara.yamanashi.jp
+yamanakako.yamanashi.jp
+yamanashi.yamanashi.jp
+
+// ke : http://www.kenic.or.ke/index.php?option=com_content&task=view&id=117&Itemid=145
+*.ke
+
+// kg : http://www.domain.kg/dmn_n.html
+kg
+org.kg
+net.kg
+com.kg
+edu.kg
+gov.kg
+mil.kg
+
+// kh : http://www.mptc.gov.kh/dns_registration.htm
+*.kh
+
+// ki : http://www.ki/dns/index.html
+ki
+edu.ki
+biz.ki
+net.ki
+org.ki
+gov.ki
+info.ki
+com.ki
+
+// km : https://en.wikipedia.org/wiki/.km
+// http://www.domaine.km/documents/charte.doc
+km
+org.km
+nom.km
+gov.km
+prd.km
+tm.km
+edu.km
+mil.km
+ass.km
+com.km
+// These are only mentioned as proposed suggestions at domaine.km, but
+// https://en.wikipedia.org/wiki/.km says they're available for registration:
+coop.km
+asso.km
+presse.km
+medecin.km
+notaires.km
+pharmaciens.km
+veterinaire.km
+gouv.km
+
+// kn : https://en.wikipedia.org/wiki/.kn
+// http://www.dot.kn/domainRules.html
+kn
+net.kn
+org.kn
+edu.kn
+gov.kn
+
+// kp : http://www.kcce.kp/en_index.php
+kp
+com.kp
+edu.kp
+gov.kp
+org.kp
+rep.kp
+tra.kp
+
+// kr : https://en.wikipedia.org/wiki/.kr
+// see also: http://domain.nida.or.kr/eng/registration.jsp
+kr
+ac.kr
+co.kr
+es.kr
+go.kr
+hs.kr
+kg.kr
+mil.kr
+ms.kr
+ne.kr
+or.kr
+pe.kr
+re.kr
+sc.kr
+// kr geographical names
+busan.kr
+chungbuk.kr
+chungnam.kr
+daegu.kr
+daejeon.kr
+gangwon.kr
+gwangju.kr
+gyeongbuk.kr
+gyeonggi.kr
+gyeongnam.kr
+incheon.kr
+jeju.kr
+jeonbuk.kr
+jeonnam.kr
+seoul.kr
+ulsan.kr
+
+// kw : https://en.wikipedia.org/wiki/.kw
+*.kw
+
+// ky : http://www.icta.ky/da_ky_reg_dom.php
+// Confirmed by registry <kysupport@perimeterusa.com> 2008-06-17
+ky
+edu.ky
+gov.ky
+com.ky
+org.ky
+net.ky
+
+// kz : https://en.wikipedia.org/wiki/.kz
+// see also: http://www.nic.kz/rules/index.jsp
+kz
+org.kz
+edu.kz
+net.kz
+gov.kz
+mil.kz
+com.kz
+
+// la : https://en.wikipedia.org/wiki/.la
+// Submitted by registry <gavin.brown@nic.la>
+la
+int.la
+net.la
+info.la
+edu.la
+gov.la
+per.la
+com.la
+org.la
+
+// lb : https://en.wikipedia.org/wiki/.lb
+// Submitted by registry <randy@psg.com>
+lb
+com.lb
+edu.lb
+gov.lb
+net.lb
+org.lb
+
+// lc : https://en.wikipedia.org/wiki/.lc
+// see also: http://www.nic.lc/rules.htm
+lc
+com.lc
+net.lc
+co.lc
+org.lc
+edu.lc
+gov.lc
+
+// li : https://en.wikipedia.org/wiki/.li
+li
+
+// lk : http://www.nic.lk/seclevpr.html
+lk
+gov.lk
+sch.lk
+net.lk
+int.lk
+com.lk
+org.lk
+edu.lk
+ngo.lk
+soc.lk
+web.lk
+ltd.lk
+assn.lk
+grp.lk
+hotel.lk
+ac.lk
+
+// lr : http://psg.com/dns/lr/lr.txt
+// Submitted by registry <randy@psg.com>
+lr
+com.lr
+edu.lr
+gov.lr
+org.lr
+net.lr
+
+// ls : https://en.wikipedia.org/wiki/.ls
+ls
+co.ls
+org.ls
+
+// lt : https://en.wikipedia.org/wiki/.lt
+lt
+// gov.lt : http://www.gov.lt/index_en.php
+gov.lt
+
+// lu : http://www.dns.lu/en/
+lu
+
+// lv : http://www.nic.lv/DNS/En/generic.php
+lv
+com.lv
+edu.lv
+gov.lv
+org.lv
+mil.lv
+id.lv
+net.lv
+asn.lv
+conf.lv
+
+// ly : http://www.nic.ly/regulations.php
+ly
+com.ly
+net.ly
+gov.ly
+plc.ly
+edu.ly
+sch.ly
+med.ly
+org.ly
+id.ly
+
+// ma : https://en.wikipedia.org/wiki/.ma
+// http://www.anrt.ma/fr/admin/download/upload/file_fr782.pdf
+ma
+co.ma
+net.ma
+gov.ma
+org.ma
+ac.ma
+press.ma
+
+// mc : http://www.nic.mc/
+mc
+tm.mc
+asso.mc
+
+// md : https://en.wikipedia.org/wiki/.md
+md
+
+// me : https://en.wikipedia.org/wiki/.me
+me
+co.me
+net.me
+org.me
+edu.me
+ac.me
+gov.me
+its.me
+priv.me
+
+// mg : http://nic.mg/nicmg/?page_id=39
+mg
+org.mg
+nom.mg
+gov.mg
+prd.mg
+tm.mg
+edu.mg
+mil.mg
+com.mg
+co.mg
+
+// mh : https://en.wikipedia.org/wiki/.mh
+mh
+
+// mil : https://en.wikipedia.org/wiki/.mil
+mil
+
+// mk : https://en.wikipedia.org/wiki/.mk
+// see also: http://dns.marnet.net.mk/postapka.php
+mk
+com.mk
+org.mk
+net.mk
+edu.mk
+gov.mk
+inf.mk
+name.mk
+
+// ml : http://www.gobin.info/domainname/ml-template.doc
+// see also: https://en.wikipedia.org/wiki/.ml
+ml
+com.ml
+edu.ml
+gouv.ml
+gov.ml
+net.ml
+org.ml
+presse.ml
+
+// mm : https://en.wikipedia.org/wiki/.mm
+*.mm
+
+// mn : https://en.wikipedia.org/wiki/.mn
+mn
+gov.mn
+edu.mn
+org.mn
+
+// mo : http://www.monic.net.mo/
+mo
+com.mo
+net.mo
+org.mo
+edu.mo
+gov.mo
+
+// mobi : https://en.wikipedia.org/wiki/.mobi
+mobi
+
+// mp : http://www.dot.mp/
+// Confirmed by registry <dcamacho@saipan.com> 2008-06-17
+mp
+
+// mq : https://en.wikipedia.org/wiki/.mq
+mq
+
+// mr : https://en.wikipedia.org/wiki/.mr
+mr
+gov.mr
+
+// ms : http://www.nic.ms/pdf/MS_Domain_Name_Rules.pdf
+ms
+com.ms
+edu.ms
+gov.ms
+net.ms
+org.ms
+
+// mt : https://www.nic.org.mt/go/policy
+// Submitted by registry <help@nic.org.mt>
+mt
+com.mt
+edu.mt
+net.mt
+org.mt
+
+// mu : https://en.wikipedia.org/wiki/.mu
+mu
+com.mu
+net.mu
+org.mu
+gov.mu
+ac.mu
+co.mu
+or.mu
+
+// museum : http://about.museum/naming/
+// http://index.museum/
+museum
+academy.museum
+agriculture.museum
+air.museum
+airguard.museum
+alabama.museum
+alaska.museum
+amber.museum
+ambulance.museum
+american.museum
+americana.museum
+americanantiques.museum
+americanart.museum
+amsterdam.museum
+and.museum
+annefrank.museum
+anthro.museum
+anthropology.museum
+antiques.museum
+aquarium.museum
+arboretum.museum
+archaeological.museum
+archaeology.museum
+architecture.museum
+art.museum
+artanddesign.museum
+artcenter.museum
+artdeco.museum
+arteducation.museum
+artgallery.museum
+arts.museum
+artsandcrafts.museum
+asmatart.museum
+assassination.museum
+assisi.museum
+association.museum
+astronomy.museum
+atlanta.museum
+austin.museum
+australia.museum
+automotive.museum
+aviation.museum
+axis.museum
+badajoz.museum
+baghdad.museum
+bahn.museum
+bale.museum
+baltimore.museum
+barcelona.museum
+baseball.museum
+basel.museum
+baths.museum
+bauern.museum
+beauxarts.museum
+beeldengeluid.museum
+bellevue.museum
+bergbau.museum
+berkeley.museum
+berlin.museum
+bern.museum
+bible.museum
+bilbao.museum
+bill.museum
+birdart.museum
+birthplace.museum
+bonn.museum
+boston.museum
+botanical.museum
+botanicalgarden.museum
+botanicgarden.museum
+botany.museum
+brandywinevalley.museum
+brasil.museum
+bristol.museum
+british.museum
+britishcolumbia.museum
+broadcast.museum
+brunel.museum
+brussel.museum
+brussels.museum
+bruxelles.museum
+building.museum
+burghof.museum
+bus.museum
+bushey.museum
+cadaques.museum
+california.museum
+cambridge.museum
+can.museum
+canada.museum
+capebreton.museum
+carrier.museum
+cartoonart.museum
+casadelamoneda.museum
+castle.museum
+castres.museum
+celtic.museum
+center.museum
+chattanooga.museum
+cheltenham.museum
+chesapeakebay.museum
+chicago.museum
+children.museum
+childrens.museum
+childrensgarden.museum
+chiropractic.museum
+chocolate.museum
+christiansburg.museum
+cincinnati.museum
+cinema.museum
+circus.museum
+civilisation.museum
+civilization.museum
+civilwar.museum
+clinton.museum
+clock.museum
+coal.museum
+coastaldefence.museum
+cody.museum
+coldwar.museum
+collection.museum
+colonialwilliamsburg.museum
+coloradoplateau.museum
+columbia.museum
+columbus.museum
+communication.museum
+communications.museum
+community.museum
+computer.museum
+computerhistory.museum
+comunicações.museum
+contemporary.museum
+contemporaryart.museum
+convent.museum
+copenhagen.museum
+corporation.museum
+correios-e-telecomunicações.museum
+corvette.museum
+costume.museum
+countryestate.museum
+county.museum
+crafts.museum
+cranbrook.museum
+creation.museum
+cultural.museum
+culturalcenter.museum
+culture.museum
+cyber.museum
+cymru.museum
+dali.museum
+dallas.museum
+database.museum
+ddr.museum
+decorativearts.museum
+delaware.museum
+delmenhorst.museum
+denmark.museum
+depot.museum
+design.museum
+detroit.museum
+dinosaur.museum
+discovery.museum
+dolls.museum
+donostia.museum
+durham.museum
+eastafrica.museum
+eastcoast.museum
+education.museum
+educational.museum
+egyptian.museum
+eisenbahn.museum
+elburg.museum
+elvendrell.museum
+embroidery.museum
+encyclopedic.museum
+england.museum
+entomology.museum
+environment.museum
+environmentalconservation.museum
+epilepsy.museum
+essex.museum
+estate.museum
+ethnology.museum
+exeter.museum
+exhibition.museum
+family.museum
+farm.museum
+farmequipment.museum
+farmers.museum
+farmstead.museum
+field.museum
+figueres.museum
+filatelia.museum
+film.museum
+fineart.museum
+finearts.museum
+finland.museum
+flanders.museum
+florida.museum
+force.museum
+fortmissoula.museum
+fortworth.museum
+foundation.museum
+francaise.museum
+frankfurt.museum
+franziskaner.museum
+freemasonry.museum
+freiburg.museum
+fribourg.museum
+frog.museum
+fundacio.museum
+furniture.museum
+gallery.museum
+garden.museum
+gateway.museum
+geelvinck.museum
+gemological.museum
+geology.museum
+georgia.museum
+giessen.museum
+glas.museum
+glass.museum
+gorge.museum
+grandrapids.museum
+graz.museum
+guernsey.museum
+halloffame.museum
+hamburg.museum
+handson.museum
+harvestcelebration.museum
+hawaii.museum
+health.museum
+heimatunduhren.museum
+hellas.museum
+helsinki.museum
+hembygdsforbund.museum
+heritage.museum
+histoire.museum
+historical.museum
+historicalsociety.museum
+historichouses.museum
+historisch.museum
+historisches.museum
+history.museum
+historyofscience.museum
+horology.museum
+house.museum
+humanities.museum
+illustration.museum
+imageandsound.museum
+indian.museum
+indiana.museum
+indianapolis.museum
+indianmarket.museum
+intelligence.museum
+interactive.museum
+iraq.museum
+iron.museum
+isleofman.museum
+jamison.museum
+jefferson.museum
+jerusalem.museum
+jewelry.museum
+jewish.museum
+jewishart.museum
+jfk.museum
+journalism.museum
+judaica.museum
+judygarland.museum
+juedisches.museum
+juif.museum
+karate.museum
+karikatur.museum
+kids.museum
+koebenhavn.museum
+koeln.museum
+kunst.museum
+kunstsammlung.museum
+kunstunddesign.museum
+labor.museum
+labour.museum
+lajolla.museum
+lancashire.museum
+landes.museum
+lans.museum
+läns.museum
+larsson.museum
+lewismiller.museum
+lincoln.museum
+linz.museum
+living.museum
+livinghistory.museum
+localhistory.museum
+london.museum
+losangeles.museum
+louvre.museum
+loyalist.museum
+lucerne.museum
+luxembourg.museum
+luzern.museum
+mad.museum
+madrid.museum
+mallorca.museum
+manchester.museum
+mansion.museum
+mansions.museum
+manx.museum
+marburg.museum
+maritime.museum
+maritimo.museum
+maryland.museum
+marylhurst.museum
+media.museum
+medical.museum
+medizinhistorisches.museum
+meeres.museum
+memorial.museum
+mesaverde.museum
+michigan.museum
+midatlantic.museum
+military.museum
+mill.museum
+miners.museum
+mining.museum
+minnesota.museum
+missile.museum
+missoula.museum
+modern.museum
+moma.museum
+money.museum
+monmouth.museum
+monticello.museum
+montreal.museum
+moscow.museum
+motorcycle.museum
+muenchen.museum
+muenster.museum
+mulhouse.museum
+muncie.museum
+museet.museum
+museumcenter.museum
+museumvereniging.museum
+music.museum
+national.museum
+nationalfirearms.museum
+nationalheritage.museum
+nativeamerican.museum
+naturalhistory.museum
+naturalhistorymuseum.museum
+naturalsciences.museum
+nature.museum
+naturhistorisches.museum
+natuurwetenschappen.museum
+naumburg.museum
+naval.museum
+nebraska.museum
+neues.museum
+newhampshire.museum
+newjersey.museum
+newmexico.museum
+newport.museum
+newspaper.museum
+newyork.museum
+niepce.museum
+norfolk.museum
+north.museum
+nrw.museum
+nuernberg.museum
+nuremberg.museum
+nyc.museum
+nyny.museum
+oceanographic.museum
+oceanographique.museum
+omaha.museum
+online.museum
+ontario.museum
+openair.museum
+oregon.museum
+oregontrail.museum
+otago.museum
+oxford.museum
+pacific.museum
+paderborn.museum
+palace.museum
+paleo.museum
+palmsprings.museum
+panama.museum
+paris.museum
+pasadena.museum
+pharmacy.museum
+philadelphia.museum
+philadelphiaarea.museum
+philately.museum
+phoenix.museum
+photography.museum
+pilots.museum
+pittsburgh.museum
+planetarium.museum
+plantation.museum
+plants.museum
+plaza.museum
+portal.museum
+portland.museum
+portlligat.museum
+posts-and-telecommunications.museum
+preservation.museum
+presidio.museum
+press.museum
+project.museum
+public.museum
+pubol.museum
+quebec.museum
+railroad.museum
+railway.museum
+research.museum
+resistance.museum
+riodejaneiro.museum
+rochester.museum
+rockart.museum
+roma.museum
+russia.museum
+saintlouis.museum
+salem.museum
+salvadordali.museum
+salzburg.museum
+sandiego.museum
+sanfrancisco.museum
+santabarbara.museum
+santacruz.museum
+santafe.museum
+saskatchewan.museum
+satx.museum
+savannahga.museum
+schlesisches.museum
+schoenbrunn.museum
+schokoladen.museum
+school.museum
+schweiz.museum
+science.museum
+scienceandhistory.museum
+scienceandindustry.museum
+sciencecenter.museum
+sciencecenters.museum
+science-fiction.museum
+sciencehistory.museum
+sciences.museum
+sciencesnaturelles.museum
+scotland.museum
+seaport.museum
+settlement.museum
+settlers.museum
+shell.museum
+sherbrooke.museum
+sibenik.museum
+silk.museum
+ski.museum
+skole.museum
+society.museum
+sologne.museum
+soundandvision.museum
+southcarolina.museum
+southwest.museum
+space.museum
+spy.museum
+square.museum
+stadt.museum
+stalbans.museum
+starnberg.museum
+state.museum
+stateofdelaware.museum
+station.museum
+steam.museum
+steiermark.museum
+stjohn.museum
+stockholm.museum
+stpetersburg.museum
+stuttgart.museum
+suisse.museum
+surgeonshall.museum
+surrey.museum
+svizzera.museum
+sweden.museum
+sydney.museum
+tank.museum
+tcm.museum
+technology.museum
+telekommunikation.museum
+television.museum
+texas.museum
+textile.museum
+theater.museum
+time.museum
+timekeeping.museum
+topology.museum
+torino.museum
+touch.museum
+town.museum
+transport.museum
+tree.museum
+trolley.museum
+trust.museum
+trustee.museum
+uhren.museum
+ulm.museum
+undersea.museum
+university.museum
+usa.museum
+usantiques.museum
+usarts.museum
+uscountryestate.museum
+usculture.museum
+usdecorativearts.museum
+usgarden.museum
+ushistory.museum
+ushuaia.museum
+uslivinghistory.museum
+utah.museum
+uvic.museum
+valley.museum
+vantaa.museum
+versailles.museum
+viking.museum
+village.museum
+virginia.museum
+virtual.museum
+virtuel.museum
+vlaanderen.museum
+volkenkunde.museum
+wales.museum
+wallonie.museum
+war.museum
+washingtondc.museum
+watchandclock.museum
+watch-and-clock.museum
+western.museum
+westfalen.museum
+whaling.museum
+wildlife.museum
+williamsburg.museum
+windmill.museum
+workshop.museum
+york.museum
+yorkshire.museum
+yosemite.museum
+youth.museum
+zoological.museum
+zoology.museum
+ירושלים.museum
+иком.museum
+
+// mv : https://en.wikipedia.org/wiki/.mv
+// "mv" included because, contra Wikipedia, google.mv exists.
+mv
+aero.mv
+biz.mv
+com.mv
+coop.mv
+edu.mv
+gov.mv
+info.mv
+int.mv
+mil.mv
+museum.mv
+name.mv
+net.mv
+org.mv
+pro.mv
+
+// mw : http://www.registrar.mw/
+mw
+ac.mw
+biz.mw
+co.mw
+com.mw
+coop.mw
+edu.mw
+gov.mw
+int.mw
+museum.mw
+net.mw
+org.mw
+
+// mx : http://www.nic.mx/
+// Submitted by registry <farias@nic.mx>
+mx
+com.mx
+org.mx
+gob.mx
+edu.mx
+net.mx
+
+// my : http://www.mynic.net.my/
+my
+com.my
+net.my
+org.my
+gov.my
+edu.my
+mil.my
+name.my
+
+// mz : http://www.uem.mz/
+// Submitted by registry <antonio@uem.mz>
+mz
+ac.mz
+adv.mz
+co.mz
+edu.mz
+gov.mz
+mil.mz
+net.mz
+org.mz
+
+// na : http://www.na-nic.com.na/
+// http://www.info.na/domain/
+na
+info.na
+pro.na
+name.na
+school.na
+or.na
+dr.na
+us.na
+mx.na
+ca.na
+in.na
+cc.na
+tv.na
+ws.na
+mobi.na
+co.na
+com.na
+org.na
+
+// name : has 2nd-level tlds, but there's no list of them
+name
+
+// nc : http://www.cctld.nc/
+nc
+asso.nc
+
+// ne : https://en.wikipedia.org/wiki/.ne
+ne
+
+// net : https://en.wikipedia.org/wiki/.net
+net
+
+// nf : https://en.wikipedia.org/wiki/.nf
+nf
+com.nf
+net.nf
+per.nf
+rec.nf
+web.nf
+arts.nf
+firm.nf
+info.nf
+other.nf
+store.nf
+
+// ng : http://www.nira.org.ng/index.php/join-us/register-ng-domain/189-nira-slds
+ng
+com.ng
+edu.ng
+gov.ng
+i.ng
+mil.ng
+mobi.ng
+name.ng
+net.ng
+org.ng
+sch.ng
+
+// ni : http://www.nic.ni/
+ni
+ac.ni
+biz.ni
+co.ni
+com.ni
+edu.ni
+gob.ni
+in.ni
+info.ni
+int.ni
+mil.ni
+net.ni
+nom.ni
+org.ni
+web.ni
+
+// nl : https://en.wikipedia.org/wiki/.nl
+//      https://www.sidn.nl/
+//      ccTLD for the Netherlands
+nl
+
+// BV.nl will be a registry for dutch BV's (besloten vennootschap)
+bv.nl
+
+// no : http://www.norid.no/regelverk/index.en.html
+// The Norwegian registry has declined to notify us of updates. The web pages
+// referenced below are the official source of the data. There is also an
+// announce mailing list:
+// https://postlister.uninett.no/sympa/info/norid-diskusjon
+no
+// Norid generic domains : http://www.norid.no/regelverk/vedlegg-c.en.html
+fhs.no
+vgs.no
+fylkesbibl.no
+folkebibl.no
+museum.no
+idrett.no
+priv.no
+// Non-Norid generic domains : http://www.norid.no/regelverk/vedlegg-d.en.html
+mil.no
+stat.no
+dep.no
+kommune.no
+herad.no
+// no geographical names : http://www.norid.no/regelverk/vedlegg-b.en.html
+// counties
+aa.no
+ah.no
+bu.no
+fm.no
+hl.no
+hm.no
+jan-mayen.no
+mr.no
+nl.no
+nt.no
+of.no
+ol.no
+oslo.no
+rl.no
+sf.no
+st.no
+svalbard.no
+tm.no
+tr.no
+va.no
+vf.no
+// primary and lower secondary schools per county
+gs.aa.no
+gs.ah.no
+gs.bu.no
+gs.fm.no
+gs.hl.no
+gs.hm.no
+gs.jan-mayen.no
+gs.mr.no
+gs.nl.no
+gs.nt.no
+gs.of.no
+gs.ol.no
+gs.oslo.no
+gs.rl.no
+gs.sf.no
+gs.st.no
+gs.svalbard.no
+gs.tm.no
+gs.tr.no
+gs.va.no
+gs.vf.no
+// cities
+akrehamn.no
+åkrehamn.no
+algard.no
+ålgård.no
+arna.no
+brumunddal.no
+bryne.no
+bronnoysund.no
+brønnøysund.no
+drobak.no
+drøbak.no
+egersund.no
+fetsund.no
+floro.no
+florø.no
+fredrikstad.no
+hokksund.no
+honefoss.no
+hønefoss.no
+jessheim.no
+jorpeland.no
+jørpeland.no
+kirkenes.no
+kopervik.no
+krokstadelva.no
+langevag.no
+langevåg.no
+leirvik.no
+mjondalen.no
+mjøndalen.no
+mo-i-rana.no
+mosjoen.no
+mosjøen.no
+nesoddtangen.no
+orkanger.no
+osoyro.no
+osøyro.no
+raholt.no
+råholt.no
+sandnessjoen.no
+sandnessjøen.no
+skedsmokorset.no
+slattum.no
+spjelkavik.no
+stathelle.no
+stavern.no
+stjordalshalsen.no
+stjørdalshalsen.no
+tananger.no
+tranby.no
+vossevangen.no
+// communities
+afjord.no
+åfjord.no
+agdenes.no
+al.no
+ål.no
+alesund.no
+ålesund.no
+alstahaug.no
+alta.no
+áltá.no
+alaheadju.no
+álaheadju.no
+alvdal.no
+amli.no
+åmli.no
+amot.no
+åmot.no
+andebu.no
+andoy.no
+andøy.no
+andasuolo.no
+ardal.no
+årdal.no
+aremark.no
+arendal.no
+ås.no
+aseral.no
+åseral.no
+asker.no
+askim.no
+askvoll.no
+askoy.no
+askøy.no
+asnes.no
+åsnes.no
+audnedaln.no
+aukra.no
+aure.no
+aurland.no
+aurskog-holand.no
+aurskog-høland.no
+austevoll.no
+austrheim.no
+averoy.no
+averøy.no
+balestrand.no
+ballangen.no
+balat.no
+bálát.no
+balsfjord.no
+bahccavuotna.no
+báhccavuotna.no
+bamble.no
+bardu.no
+beardu.no
+beiarn.no
+bajddar.no
+bájddar.no
+baidar.no
+báidár.no
+berg.no
+bergen.no
+berlevag.no
+berlevåg.no
+bearalvahki.no
+bearalváhki.no
+bindal.no
+birkenes.no
+bjarkoy.no
+bjarkøy.no
+bjerkreim.no
+bjugn.no
+bodo.no
+bodø.no
+badaddja.no
+bådåddjå.no
+budejju.no
+bokn.no
+bremanger.no
+bronnoy.no
+brønnøy.no
+bygland.no
+bykle.no
+barum.no
+bærum.no
+bo.telemark.no
+bø.telemark.no
+bo.nordland.no
+bø.nordland.no
+bievat.no
+bievát.no
+bomlo.no
+bømlo.no
+batsfjord.no
+båtsfjord.no
+bahcavuotna.no
+báhcavuotna.no
+dovre.no
+drammen.no
+drangedal.no
+dyroy.no
+dyrøy.no
+donna.no
+dønna.no
+eid.no
+eidfjord.no
+eidsberg.no
+eidskog.no
+eidsvoll.no
+eigersund.no
+elverum.no
+enebakk.no
+engerdal.no
+etne.no
+etnedal.no
+evenes.no
+evenassi.no
+evenášši.no
+evje-og-hornnes.no
+farsund.no
+fauske.no
+fuossko.no
+fuoisku.no
+fedje.no
+fet.no
+finnoy.no
+finnøy.no
+fitjar.no
+fjaler.no
+fjell.no
+flakstad.no
+flatanger.no
+flekkefjord.no
+flesberg.no
+flora.no
+fla.no
+flå.no
+folldal.no
+forsand.no
+fosnes.no
+frei.no
+frogn.no
+froland.no
+frosta.no
+frana.no
+fræna.no
+froya.no
+frøya.no
+fusa.no
+fyresdal.no
+forde.no
+førde.no
+gamvik.no
+gangaviika.no
+gáŋgaviika.no
+gaular.no
+gausdal.no
+gildeskal.no
+gildeskål.no
+giske.no
+gjemnes.no
+gjerdrum.no
+gjerstad.no
+gjesdal.no
+gjovik.no
+gjøvik.no
+gloppen.no
+gol.no
+gran.no
+grane.no
+granvin.no
+gratangen.no
+grimstad.no
+grong.no
+kraanghke.no
+kråanghke.no
+grue.no
+gulen.no
+hadsel.no
+halden.no
+halsa.no
+hamar.no
+hamaroy.no
+habmer.no
+hábmer.no
+hapmir.no
+hápmir.no
+hammerfest.no
+hammarfeasta.no
+hámmárfeasta.no
+haram.no
+hareid.no
+harstad.no
+hasvik.no
+aknoluokta.no
+ákŋoluokta.no
+hattfjelldal.no
+aarborte.no
+haugesund.no
+hemne.no
+hemnes.no
+hemsedal.no
+heroy.more-og-romsdal.no
+herøy.møre-og-romsdal.no
+heroy.nordland.no
+herøy.nordland.no
+hitra.no
+hjartdal.no
+hjelmeland.no
+hobol.no
+hobøl.no
+hof.no
+hol.no
+hole.no
+holmestrand.no
+holtalen.no
+holtålen.no
+hornindal.no
+horten.no
+hurdal.no
+hurum.no
+hvaler.no
+hyllestad.no
+hagebostad.no
+hægebostad.no
+hoyanger.no
+høyanger.no
+hoylandet.no
+høylandet.no
+ha.no
+hå.no
+ibestad.no
+inderoy.no
+inderøy.no
+iveland.no
+jevnaker.no
+jondal.no
+jolster.no
+jølster.no
+karasjok.no
+karasjohka.no
+kárášjohka.no
+karlsoy.no
+galsa.no
+gálsá.no
+karmoy.no
+karmøy.no
+kautokeino.no
+guovdageaidnu.no
+klepp.no
+klabu.no
+klæbu.no
+kongsberg.no
+kongsvinger.no
+kragero.no
+kragerø.no
+kristiansand.no
+kristiansund.no
+krodsherad.no
+krødsherad.no
+kvalsund.no
+rahkkeravju.no
+ráhkkerávju.no
+kvam.no
+kvinesdal.no
+kvinnherad.no
+kviteseid.no
+kvitsoy.no
+kvitsøy.no
+kvafjord.no
+kvæfjord.no
+giehtavuoatna.no
+kvanangen.no
+kvænangen.no
+navuotna.no
+návuotna.no
+kafjord.no
+kåfjord.no
+gaivuotna.no
+gáivuotna.no
+larvik.no
+lavangen.no
+lavagis.no
+loabat.no
+loabát.no
+lebesby.no
+davvesiida.no
+leikanger.no
+leirfjord.no
+leka.no
+leksvik.no
+lenvik.no
+leangaviika.no
+leaŋgaviika.no
+lesja.no
+levanger.no
+lier.no
+lierne.no
+lillehammer.no
+lillesand.no
+lindesnes.no
+lindas.no
+lindås.no
+lom.no
+loppa.no
+lahppi.no
+láhppi.no
+lund.no
+lunner.no
+luroy.no
+lurøy.no
+luster.no
+lyngdal.no
+lyngen.no
+ivgu.no
+lardal.no
+lerdal.no
+lærdal.no
+lodingen.no
+lødingen.no
+lorenskog.no
+lørenskog.no
+loten.no
+løten.no
+malvik.no
+masoy.no
+måsøy.no
+muosat.no
+muosát.no
+mandal.no
+marker.no
+marnardal.no
+masfjorden.no
+meland.no
+meldal.no
+melhus.no
+meloy.no
+meløy.no
+meraker.no
+meråker.no
+moareke.no
+moåreke.no
+midsund.no
+midtre-gauldal.no
+modalen.no
+modum.no
+molde.no
+moskenes.no
+moss.no
+mosvik.no
+malselv.no
+målselv.no
+malatvuopmi.no
+málatvuopmi.no
+namdalseid.no
+aejrie.no
+namsos.no
+namsskogan.no
+naamesjevuemie.no
+nååmesjevuemie.no
+laakesvuemie.no
+nannestad.no
+narvik.no
+narviika.no
+naustdal.no
+nedre-eiker.no
+nes.akershus.no
+nes.buskerud.no
+nesna.no
+nesodden.no
+nesseby.no
+unjarga.no
+unjárga.no
+nesset.no
+nissedal.no
+nittedal.no
+nord-aurdal.no
+nord-fron.no
+nord-odal.no
+norddal.no
+nordkapp.no
+davvenjarga.no
+davvenjárga.no
+nordre-land.no
+nordreisa.no
+raisa.no
+ráisa.no
+nore-og-uvdal.no
+notodden.no
+naroy.no
+nærøy.no
+notteroy.no
+nøtterøy.no
+odda.no
+oksnes.no
+øksnes.no
+oppdal.no
+oppegard.no
+oppegård.no
+orkdal.no
+orland.no
+ørland.no
+orskog.no
+ørskog.no
+orsta.no
+ørsta.no
+os.hedmark.no
+os.hordaland.no
+osen.no
+osteroy.no
+osterøy.no
+ostre-toten.no
+østre-toten.no
+overhalla.no
+ovre-eiker.no
+øvre-eiker.no
+oyer.no
+øyer.no
+oygarden.no
+øygarden.no
+oystre-slidre.no
+øystre-slidre.no
+porsanger.no
+porsangu.no
+porsáŋgu.no
+porsgrunn.no
+radoy.no
+radøy.no
+rakkestad.no
+rana.no
+ruovat.no
+randaberg.no
+rauma.no
+rendalen.no
+rennebu.no
+rennesoy.no
+rennesøy.no
+rindal.no
+ringebu.no
+ringerike.no
+ringsaker.no
+rissa.no
+risor.no
+risør.no
+roan.no
+rollag.no
+rygge.no
+ralingen.no
+rælingen.no
+rodoy.no
+rødøy.no
+romskog.no
+rømskog.no
+roros.no
+røros.no
+rost.no
+røst.no
+royken.no
+røyken.no
+royrvik.no
+røyrvik.no
+rade.no
+råde.no
+salangen.no
+siellak.no
+saltdal.no
+salat.no
+sálát.no
+sálat.no
+samnanger.no
+sande.more-og-romsdal.no
+sande.møre-og-romsdal.no
+sande.vestfold.no
+sandefjord.no
+sandnes.no
+sandoy.no
+sandøy.no
+sarpsborg.no
+sauda.no
+sauherad.no
+sel.no
+selbu.no
+selje.no
+seljord.no
+sigdal.no
+siljan.no
+sirdal.no
+skaun.no
+skedsmo.no
+ski.no
+skien.no
+skiptvet.no
+skjervoy.no
+skjervøy.no
+skierva.no
+skiervá.no
+skjak.no
+skjåk.no
+skodje.no
+skanland.no
+skånland.no
+skanit.no
+skánit.no
+smola.no
+smøla.no
+snillfjord.no
+snasa.no
+snåsa.no
+snoasa.no
+snaase.no
+snåase.no
+sogndal.no
+sokndal.no
+sola.no
+solund.no
+songdalen.no
+sortland.no
+spydeberg.no
+stange.no
+stavanger.no
+steigen.no
+steinkjer.no
+stjordal.no
+stjørdal.no
+stokke.no
+stor-elvdal.no
+stord.no
+stordal.no
+storfjord.no
+omasvuotna.no
+strand.no
+stranda.no
+stryn.no
+sula.no
+suldal.no
+sund.no
+sunndal.no
+surnadal.no
+sveio.no
+svelvik.no
+sykkylven.no
+sogne.no
+søgne.no
+somna.no
+sømna.no
+sondre-land.no
+søndre-land.no
+sor-aurdal.no
+sør-aurdal.no
+sor-fron.no
+sør-fron.no
+sor-odal.no
+sør-odal.no
+sor-varanger.no
+sør-varanger.no
+matta-varjjat.no
+mátta-várjjat.no
+sorfold.no
+sørfold.no
+sorreisa.no
+sørreisa.no
+sorum.no
+sørum.no
+tana.no
+deatnu.no
+time.no
+tingvoll.no
+tinn.no
+tjeldsund.no
+dielddanuorri.no
+tjome.no
+tjøme.no
+tokke.no
+tolga.no
+torsken.no
+tranoy.no
+tranøy.no
+tromso.no
+tromsø.no
+tromsa.no
+romsa.no
+trondheim.no
+troandin.no
+trysil.no
+trana.no
+træna.no
+trogstad.no
+trøgstad.no
+tvedestrand.no
+tydal.no
+tynset.no
+tysfjord.no
+divtasvuodna.no
+divttasvuotna.no
+tysnes.no
+tysvar.no
+tysvær.no
+tonsberg.no
+tønsberg.no
+ullensaker.no
+ullensvang.no
+ulvik.no
+utsira.no
+vadso.no
+vadsø.no
+cahcesuolo.no
+čáhcesuolo.no
+vaksdal.no
+valle.no
+vang.no
+vanylven.no
+vardo.no
+vardø.no
+varggat.no
+várggát.no
+vefsn.no
+vaapste.no
+vega.no
+vegarshei.no
+vegårshei.no
+vennesla.no
+verdal.no
+verran.no
+vestby.no
+vestnes.no
+vestre-slidre.no
+vestre-toten.no
+vestvagoy.no
+vestvågøy.no
+vevelstad.no
+vik.no
+vikna.no
+vindafjord.no
+volda.no
+voss.no
+varoy.no
+værøy.no
+vagan.no
+vågan.no
+voagat.no
+vagsoy.no
+vågsøy.no
+vaga.no
+vågå.no
+valer.ostfold.no
+våler.østfold.no
+valer.hedmark.no
+våler.hedmark.no
+
+// np : http://www.mos.com.np/register.html
+*.np
+
+// nr : http://cenpac.net.nr/dns/index.html
+// Submitted by registry <technician@cenpac.net.nr>
+nr
+biz.nr
+info.nr
+gov.nr
+edu.nr
+org.nr
+net.nr
+com.nr
+
+// nu : https://en.wikipedia.org/wiki/.nu
+nu
+
+// nz : https://en.wikipedia.org/wiki/.nz
+// Submitted by registry <jay@nzrs.net.nz>
+nz
+ac.nz
+co.nz
+cri.nz
+geek.nz
+gen.nz
+govt.nz
+health.nz
+iwi.nz
+kiwi.nz
+maori.nz
+mil.nz
+māori.nz
+net.nz
+org.nz
+parliament.nz
+school.nz
+
+// om : https://en.wikipedia.org/wiki/.om
+om
+co.om
+com.om
+edu.om
+gov.om
+med.om
+museum.om
+net.om
+org.om
+pro.om
+
+// onion : https://tools.ietf.org/html/rfc7686
+onion
+
+// org : https://en.wikipedia.org/wiki/.org
+org
+
+// pa : http://www.nic.pa/
+// Some additional second level "domains" resolve directly as hostnames, such as
+// pannet.pa, so we add a rule for "pa".
+pa
+ac.pa
+gob.pa
+com.pa
+org.pa
+sld.pa
+edu.pa
+net.pa
+ing.pa
+abo.pa
+med.pa
+nom.pa
+
+// pe : https://www.nic.pe/InformeFinalComision.pdf
+pe
+edu.pe
+gob.pe
+nom.pe
+mil.pe
+org.pe
+com.pe
+net.pe
+
+// pf : http://www.gobin.info/domainname/formulaire-pf.pdf
+pf
+com.pf
+org.pf
+edu.pf
+
+// pg : https://en.wikipedia.org/wiki/.pg
+*.pg
+
+// ph : http://www.domains.ph/FAQ2.asp
+// Submitted by registry <jed@email.com.ph>
+ph
+com.ph
+net.ph
+org.ph
+gov.ph
+edu.ph
+ngo.ph
+mil.ph
+i.ph
+
+// pk : http://pk5.pknic.net.pk/pk5/msgNamepk.PK
+pk
+com.pk
+net.pk
+edu.pk
+org.pk
+fam.pk
+biz.pk
+web.pk
+gov.pk
+gob.pk
+gok.pk
+gon.pk
+gop.pk
+gos.pk
+info.pk
+
+// pl http://www.dns.pl/english/index.html
+// Submitted by registry
+pl
+com.pl
+net.pl
+org.pl
+// pl functional domains (http://www.dns.pl/english/index.html)
+aid.pl
+agro.pl
+atm.pl
+auto.pl
+biz.pl
+edu.pl
+gmina.pl
+gsm.pl
+info.pl
+mail.pl
+miasta.pl
+media.pl
+mil.pl
+nieruchomosci.pl
+nom.pl
+pc.pl
+powiat.pl
+priv.pl
+realestate.pl
+rel.pl
+sex.pl
+shop.pl
+sklep.pl
+sos.pl
+szkola.pl
+targi.pl
+tm.pl
+tourism.pl
+travel.pl
+turystyka.pl
+// Government domains
+gov.pl
+ap.gov.pl
+ic.gov.pl
+is.gov.pl
+us.gov.pl
+kmpsp.gov.pl
+kppsp.gov.pl
+kwpsp.gov.pl
+psp.gov.pl
+wskr.gov.pl
+kwp.gov.pl
+mw.gov.pl
+ug.gov.pl
+um.gov.pl
+umig.gov.pl
+ugim.gov.pl
+upow.gov.pl
+uw.gov.pl
+starostwo.gov.pl
+pa.gov.pl
+po.gov.pl
+psse.gov.pl
+pup.gov.pl
+rzgw.gov.pl
+sa.gov.pl
+so.gov.pl
+sr.gov.pl
+wsa.gov.pl
+sko.gov.pl
+uzs.gov.pl
+wiih.gov.pl
+winb.gov.pl
+pinb.gov.pl
+wios.gov.pl
+witd.gov.pl
+wzmiuw.gov.pl
+piw.gov.pl
+wiw.gov.pl
+griw.gov.pl
+wif.gov.pl
+oum.gov.pl
+sdn.gov.pl
+zp.gov.pl
+uppo.gov.pl
+mup.gov.pl
+wuoz.gov.pl
+konsulat.gov.pl
+oirm.gov.pl
+// pl regional domains (http://www.dns.pl/english/index.html)
+augustow.pl
+babia-gora.pl
+bedzin.pl
+beskidy.pl
+bialowieza.pl
+bialystok.pl
+bielawa.pl
+bieszczady.pl
+boleslawiec.pl
+bydgoszcz.pl
+bytom.pl
+cieszyn.pl
+czeladz.pl
+czest.pl
+dlugoleka.pl
+elblag.pl
+elk.pl
+glogow.pl
+gniezno.pl
+gorlice.pl
+grajewo.pl
+ilawa.pl
+jaworzno.pl
+jelenia-gora.pl
+jgora.pl
+kalisz.pl
+kazimierz-dolny.pl
+karpacz.pl
+kartuzy.pl
+kaszuby.pl
+katowice.pl
+kepno.pl
+ketrzyn.pl
+klodzko.pl
+kobierzyce.pl
+kolobrzeg.pl
+konin.pl
+konskowola.pl
+kutno.pl
+lapy.pl
+lebork.pl
+legnica.pl
+lezajsk.pl
+limanowa.pl
+lomza.pl
+lowicz.pl
+lubin.pl
+lukow.pl
+malbork.pl
+malopolska.pl
+mazowsze.pl
+mazury.pl
+mielec.pl
+mielno.pl
+mragowo.pl
+naklo.pl
+nowaruda.pl
+nysa.pl
+olawa.pl
+olecko.pl
+olkusz.pl
+olsztyn.pl
+opoczno.pl
+opole.pl
+ostroda.pl
+ostroleka.pl
+ostrowiec.pl
+ostrowwlkp.pl
+pila.pl
+pisz.pl
+podhale.pl
+podlasie.pl
+polkowice.pl
+pomorze.pl
+pomorskie.pl
+prochowice.pl
+pruszkow.pl
+przeworsk.pl
+pulawy.pl
+radom.pl
+rawa-maz.pl
+rybnik.pl
+rzeszow.pl
+sanok.pl
+sejny.pl
+slask.pl
+slupsk.pl
+sosnowiec.pl
+stalowa-wola.pl
+skoczow.pl
+starachowice.pl
+stargard.pl
+suwalki.pl
+swidnica.pl
+swiebodzin.pl
+swinoujscie.pl
+szczecin.pl
+szczytno.pl
+tarnobrzeg.pl
+tgory.pl
+turek.pl
+tychy.pl
+ustka.pl
+walbrzych.pl
+warmia.pl
+warszawa.pl
+waw.pl
+wegrow.pl
+wielun.pl
+wlocl.pl
+wloclawek.pl
+wodzislaw.pl
+wolomin.pl
+wroclaw.pl
+zachpomor.pl
+zagan.pl
+zarow.pl
+zgora.pl
+zgorzelec.pl
+
+// pm : http://www.afnic.fr/medias/documents/AFNIC-naming-policy2012.pdf
+pm
+
+// pn : http://www.government.pn/PnRegistry/policies.htm
+pn
+gov.pn
+co.pn
+org.pn
+edu.pn
+net.pn
+
+// post : https://en.wikipedia.org/wiki/.post
+post
+
+// pr : http://www.nic.pr/index.asp?f=1
+pr
+com.pr
+net.pr
+org.pr
+gov.pr
+edu.pr
+isla.pr
+pro.pr
+biz.pr
+info.pr
+name.pr
+// these aren't mentioned on nic.pr, but on https://en.wikipedia.org/wiki/.pr
+est.pr
+prof.pr
+ac.pr
+
+// pro : http://registry.pro/get-pro
+pro
+aaa.pro
+aca.pro
+acct.pro
+avocat.pro
+bar.pro
+cpa.pro
+eng.pro
+jur.pro
+law.pro
+med.pro
+recht.pro
+
+// ps : https://en.wikipedia.org/wiki/.ps
+// http://www.nic.ps/registration/policy.html#reg
+ps
+edu.ps
+gov.ps
+sec.ps
+plo.ps
+com.ps
+org.ps
+net.ps
+
+// pt : http://online.dns.pt/dns/start_dns
+pt
+net.pt
+gov.pt
+org.pt
+edu.pt
+int.pt
+publ.pt
+com.pt
+nome.pt
+
+// pw : https://en.wikipedia.org/wiki/.pw
+pw
+co.pw
+ne.pw
+or.pw
+ed.pw
+go.pw
+belau.pw
+
+// py : http://www.nic.py/pautas.html#seccion_9
+// Submitted by registry
+py
+com.py
+coop.py
+edu.py
+gov.py
+mil.py
+net.py
+org.py
+
+// qa : http://domains.qa/en/
+qa
+com.qa
+edu.qa
+gov.qa
+mil.qa
+name.qa
+net.qa
+org.qa
+sch.qa
+
+// re : http://www.afnic.re/obtenir/chartes/nommage-re/annexe-descriptifs
+re
+asso.re
+com.re
+nom.re
+
+// ro : http://www.rotld.ro/
+ro
+arts.ro
+com.ro
+firm.ro
+info.ro
+nom.ro
+nt.ro
+org.ro
+rec.ro
+store.ro
+tm.ro
+www.ro
+
+// rs : https://www.rnids.rs/en/domains/national-domains
+rs
+ac.rs
+co.rs
+edu.rs
+gov.rs
+in.rs
+org.rs
+
+// ru : https://cctld.ru/en/domains/domens_ru/reserved/
+ru
+ac.ru
+edu.ru
+gov.ru
+int.ru
+mil.ru
+test.ru
+
+// rw : http://www.nic.rw/cgi-bin/policy.pl
+rw
+gov.rw
+net.rw
+edu.rw
+ac.rw
+com.rw
+co.rw
+int.rw
+mil.rw
+gouv.rw
+
+// sa : http://www.nic.net.sa/
+sa
+com.sa
+net.sa
+org.sa
+gov.sa
+med.sa
+pub.sa
+edu.sa
+sch.sa
+
+// sb : http://www.sbnic.net.sb/
+// Submitted by registry <lee.humphries@telekom.com.sb>
+sb
+com.sb
+edu.sb
+gov.sb
+net.sb
+org.sb
+
+// sc : http://www.nic.sc/
+sc
+com.sc
+gov.sc
+net.sc
+org.sc
+edu.sc
+
+// sd : http://www.isoc.sd/sudanic.isoc.sd/billing_pricing.htm
+// Submitted by registry <admin@isoc.sd>
+sd
+com.sd
+net.sd
+org.sd
+edu.sd
+med.sd
+tv.sd
+gov.sd
+info.sd
+
+// se : https://en.wikipedia.org/wiki/.se
+// Submitted by registry <patrik.wallstrom@iis.se>
+se
+a.se
+ac.se
+b.se
+bd.se
+brand.se
+c.se
+d.se
+e.se
+f.se
+fh.se
+fhsk.se
+fhv.se
+g.se
+h.se
+i.se
+k.se
+komforb.se
+kommunalforbund.se
+komvux.se
+l.se
+lanbib.se
+m.se
+n.se
+naturbruksgymn.se
+o.se
+org.se
+p.se
+parti.se
+pp.se
+press.se
+r.se
+s.se
+t.se
+tm.se
+u.se
+w.se
+x.se
+y.se
+z.se
+
+// sg : http://www.nic.net.sg/page/registration-policies-procedures-and-guidelines
+sg
+com.sg
+net.sg
+org.sg
+gov.sg
+edu.sg
+per.sg
+
+// sh : http://www.nic.sh/registrar.html
+sh
+com.sh
+net.sh
+gov.sh
+org.sh
+mil.sh
+
+// si : https://en.wikipedia.org/wiki/.si
+si
+
+// sj : No registrations at this time.
+// Submitted by registry <jarle@uninett.no>
+sj
+
+// sk : https://en.wikipedia.org/wiki/.sk
+// list of 2nd level domains ?
+sk
+
+// sl : http://www.nic.sl
+// Submitted by registry <adam@neoip.com>
+sl
+com.sl
+net.sl
+edu.sl
+gov.sl
+org.sl
+
+// sm : https://en.wikipedia.org/wiki/.sm
+sm
+
+// sn : https://en.wikipedia.org/wiki/.sn
+sn
+art.sn
+com.sn
+edu.sn
+gouv.sn
+org.sn
+perso.sn
+univ.sn
+
+// so : http://www.soregistry.com/
+so
+com.so
+net.so
+org.so
+
+// sr : https://en.wikipedia.org/wiki/.sr
+sr
+
+// st : http://www.nic.st/html/policyrules/
+st
+co.st
+com.st
+consulado.st
+edu.st
+embaixada.st
+gov.st
+mil.st
+net.st
+org.st
+principe.st
+saotome.st
+store.st
+
+// su : https://en.wikipedia.org/wiki/.su
+su
+
+// sv : http://www.svnet.org.sv/niveldos.pdf
+sv
+com.sv
+edu.sv
+gob.sv
+org.sv
+red.sv
+
+// sx : https://en.wikipedia.org/wiki/.sx
+// Submitted by registry <jcvignes@openregistry.com>
+sx
+gov.sx
+
+// sy : https://en.wikipedia.org/wiki/.sy
+// see also: http://www.gobin.info/domainname/sy.doc
+sy
+edu.sy
+gov.sy
+net.sy
+mil.sy
+com.sy
+org.sy
+
+// sz : https://en.wikipedia.org/wiki/.sz
+// http://www.sispa.org.sz/
+sz
+co.sz
+ac.sz
+org.sz
+
+// tc : https://en.wikipedia.org/wiki/.tc
+tc
+
+// td : https://en.wikipedia.org/wiki/.td
+td
+
+// tel: https://en.wikipedia.org/wiki/.tel
+// http://www.telnic.org/
+tel
+
+// tf : https://en.wikipedia.org/wiki/.tf
+tf
+
+// tg : https://en.wikipedia.org/wiki/.tg
+// http://www.nic.tg/
+tg
+
+// th : https://en.wikipedia.org/wiki/.th
+// Submitted by registry <krit@thains.co.th>
+th
+ac.th
+co.th
+go.th
+in.th
+mi.th
+net.th
+or.th
+
+// tj : http://www.nic.tj/policy.html
+tj
+ac.tj
+biz.tj
+co.tj
+com.tj
+edu.tj
+go.tj
+gov.tj
+int.tj
+mil.tj
+name.tj
+net.tj
+nic.tj
+org.tj
+test.tj
+web.tj
+
+// tk : https://en.wikipedia.org/wiki/.tk
+tk
+
+// tl : https://en.wikipedia.org/wiki/.tl
+tl
+gov.tl
+
+// tm : http://www.nic.tm/local.html
+tm
+com.tm
+co.tm
+org.tm
+net.tm
+nom.tm
+gov.tm
+mil.tm
+edu.tm
+
+// tn : https://en.wikipedia.org/wiki/.tn
+// http://whois.ati.tn/
+tn
+com.tn
+ens.tn
+fin.tn
+gov.tn
+ind.tn
+intl.tn
+nat.tn
+net.tn
+org.tn
+info.tn
+perso.tn
+tourism.tn
+edunet.tn
+rnrt.tn
+rns.tn
+rnu.tn
+mincom.tn
+agrinet.tn
+defense.tn
+turen.tn
+
+// to : https://en.wikipedia.org/wiki/.to
+// Submitted by registry <egullich@colo.to>
+to
+com.to
+gov.to
+net.to
+org.to
+edu.to
+mil.to
+
+// subTLDs: https://www.nic.tr/forms/eng/policies.pdf
+//     and: https://www.nic.tr/forms/politikalar.pdf
+// Submitted by <mehmetgurevin@gmail.com>
+tr
+com.tr
+info.tr
+biz.tr
+net.tr
+org.tr
+web.tr
+gen.tr
+tv.tr
+av.tr
+dr.tr
+bbs.tr
+name.tr
+tel.tr
+gov.tr
+bel.tr
+pol.tr
+mil.tr
+k12.tr
+edu.tr
+kep.tr
+
+// Used by Northern Cyprus
+nc.tr
+
+// Used by government agencies of Northern Cyprus
+gov.nc.tr
+
+// travel : https://en.wikipedia.org/wiki/.travel
+travel
+
+// tt : http://www.nic.tt/
+tt
+co.tt
+com.tt
+org.tt
+net.tt
+biz.tt
+info.tt
+pro.tt
+int.tt
+coop.tt
+jobs.tt
+mobi.tt
+travel.tt
+museum.tt
+aero.tt
+name.tt
+gov.tt
+edu.tt
+
+// tv : https://en.wikipedia.org/wiki/.tv
+// Not listing any 2LDs as reserved since none seem to exist in practice,
+// Wikipedia notwithstanding.
+tv
+
+// tw : https://en.wikipedia.org/wiki/.tw
+tw
+edu.tw
+gov.tw
+mil.tw
+com.tw
+net.tw
+org.tw
+idv.tw
+game.tw
+ebiz.tw
+club.tw
+網路.tw
+組織.tw
+商業.tw
+
+// tz : http://www.tznic.or.tz/index.php/domains
+// Submitted by registry <manager@tznic.or.tz>
+tz
+ac.tz
+co.tz
+go.tz
+hotel.tz
+info.tz
+me.tz
+mil.tz
+mobi.tz
+ne.tz
+or.tz
+sc.tz
+tv.tz
+
+// ua : https://hostmaster.ua/policy/?ua
+// Submitted by registry <dk@cctld.ua>
+ua
+// ua 2LD
+com.ua
+edu.ua
+gov.ua
+in.ua
+net.ua
+org.ua
+// ua geographic names
+// https://hostmaster.ua/2ld/
+cherkassy.ua
+cherkasy.ua
+chernigov.ua
+chernihiv.ua
+chernivtsi.ua
+chernovtsy.ua
+ck.ua
+cn.ua
+cr.ua
+crimea.ua
+cv.ua
+dn.ua
+dnepropetrovsk.ua
+dnipropetrovsk.ua
+dominic.ua
+donetsk.ua
+dp.ua
+if.ua
+ivano-frankivsk.ua
+kh.ua
+kharkiv.ua
+kharkov.ua
+kherson.ua
+khmelnitskiy.ua
+khmelnytskyi.ua
+kiev.ua
+kirovograd.ua
+km.ua
+kr.ua
+krym.ua
+ks.ua
+kv.ua
+kyiv.ua
+lg.ua
+lt.ua
+lugansk.ua
+lutsk.ua
+lv.ua
+lviv.ua
+mk.ua
+mykolaiv.ua
+nikolaev.ua
+od.ua
+odesa.ua
+odessa.ua
+pl.ua
+poltava.ua
+rivne.ua
+rovno.ua
+rv.ua
+sb.ua
+sebastopol.ua
+sevastopol.ua
+sm.ua
+sumy.ua
+te.ua
+ternopil.ua
+uz.ua
+uzhgorod.ua
+vinnica.ua
+vinnytsia.ua
+vn.ua
+volyn.ua
+yalta.ua
+zaporizhzhe.ua
+zaporizhzhia.ua
+zhitomir.ua
+zhytomyr.ua
+zp.ua
+zt.ua
+
+// ug : https://www.registry.co.ug/
+ug
+co.ug
+or.ug
+ac.ug
+sc.ug
+go.ug
+ne.ug
+com.ug
+org.ug
+
+// uk : https://en.wikipedia.org/wiki/.uk
+// Submitted by registry <Michael.Daly@nominet.org.uk>
+uk
+ac.uk
+co.uk
+gov.uk
+ltd.uk
+me.uk
+net.uk
+nhs.uk
+org.uk
+plc.uk
+police.uk
+*.sch.uk
+
+// us : https://en.wikipedia.org/wiki/.us
+us
+dni.us
+fed.us
+isa.us
+kids.us
+nsn.us
+// us geographic names
+ak.us
+al.us
+ar.us
+as.us
+az.us
+ca.us
+co.us
+ct.us
+dc.us
+de.us
+fl.us
+ga.us
+gu.us
+hi.us
+ia.us
+id.us
+il.us
+in.us
+ks.us
+ky.us
+la.us
+ma.us
+md.us
+me.us
+mi.us
+mn.us
+mo.us
+ms.us
+mt.us
+nc.us
+nd.us
+ne.us
+nh.us
+nj.us
+nm.us
+nv.us
+ny.us
+oh.us
+ok.us
+or.us
+pa.us
+pr.us
+ri.us
+sc.us
+sd.us
+tn.us
+tx.us
+ut.us
+vi.us
+vt.us
+va.us
+wa.us
+wi.us
+wv.us
+wy.us
+// The registrar notes several more specific domains available in each state,
+// such as state.*.us, dst.*.us, etc., but resolution of these is somewhat
+// haphazard; in some states these domains resolve as addresses, while in others
+// only subdomains are available, or even nothing at all. We include the
+// most common ones where it's clear that different sites are different
+// entities.
+k12.ak.us
+k12.al.us
+k12.ar.us
+k12.as.us
+k12.az.us
+k12.ca.us
+k12.co.us
+k12.ct.us
+k12.dc.us
+k12.de.us
+k12.fl.us
+k12.ga.us
+k12.gu.us
+// k12.hi.us  Bug 614565 - Hawaii has a state-wide DOE login
+k12.ia.us
+k12.id.us
+k12.il.us
+k12.in.us
+k12.ks.us
+k12.ky.us
+k12.la.us
+k12.ma.us
+k12.md.us
+k12.me.us
+k12.mi.us
+k12.mn.us
+k12.mo.us
+k12.ms.us
+k12.mt.us
+k12.nc.us
+// k12.nd.us  Bug 1028347 - Removed at request of Travis Rosso <trossow@nd.gov>
+k12.ne.us
+k12.nh.us
+k12.nj.us
+k12.nm.us
+k12.nv.us
+k12.ny.us
+k12.oh.us
+k12.ok.us
+k12.or.us
+k12.pa.us
+k12.pr.us
+k12.ri.us
+k12.sc.us
+// k12.sd.us  Bug 934131 - Removed at request of James Booze <James.Booze@k12.sd.us>
+k12.tn.us
+k12.tx.us
+k12.ut.us
+k12.vi.us
+k12.vt.us
+k12.va.us
+k12.wa.us
+k12.wi.us
+// k12.wv.us  Bug 947705 - Removed at request of Verne Britton <verne@wvnet.edu>
+k12.wy.us
+cc.ak.us
+cc.al.us
+cc.ar.us
+cc.as.us
+cc.az.us
+cc.ca.us
+cc.co.us
+cc.ct.us
+cc.dc.us
+cc.de.us
+cc.fl.us
+cc.ga.us
+cc.gu.us
+cc.hi.us
+cc.ia.us
+cc.id.us
+cc.il.us
+cc.in.us
+cc.ks.us
+cc.ky.us
+cc.la.us
+cc.ma.us
+cc.md.us
+cc.me.us
+cc.mi.us
+cc.mn.us
+cc.mo.us
+cc.ms.us
+cc.mt.us
+cc.nc.us
+cc.nd.us
+cc.ne.us
+cc.nh.us
+cc.nj.us
+cc.nm.us
+cc.nv.us
+cc.ny.us
+cc.oh.us
+cc.ok.us
+cc.or.us
+cc.pa.us
+cc.pr.us
+cc.ri.us
+cc.sc.us
+cc.sd.us
+cc.tn.us
+cc.tx.us
+cc.ut.us
+cc.vi.us
+cc.vt.us
+cc.va.us
+cc.wa.us
+cc.wi.us
+cc.wv.us
+cc.wy.us
+lib.ak.us
+lib.al.us
+lib.ar.us
+lib.as.us
+lib.az.us
+lib.ca.us
+lib.co.us
+lib.ct.us
+lib.dc.us
+// lib.de.us  Issue #243 - Moved to Private section at request of Ed Moore <Ed.Moore@lib.de.us>
+lib.fl.us
+lib.ga.us
+lib.gu.us
+lib.hi.us
+lib.ia.us
+lib.id.us
+lib.il.us
+lib.in.us
+lib.ks.us
+lib.ky.us
+lib.la.us
+lib.ma.us
+lib.md.us
+lib.me.us
+lib.mi.us
+lib.mn.us
+lib.mo.us
+lib.ms.us
+lib.mt.us
+lib.nc.us
+lib.nd.us
+lib.ne.us
+lib.nh.us
+lib.nj.us
+lib.nm.us
+lib.nv.us
+lib.ny.us
+lib.oh.us
+lib.ok.us
+lib.or.us
+lib.pa.us
+lib.pr.us
+lib.ri.us
+lib.sc.us
+lib.sd.us
+lib.tn.us
+lib.tx.us
+lib.ut.us
+lib.vi.us
+lib.vt.us
+lib.va.us
+lib.wa.us
+lib.wi.us
+// lib.wv.us  Bug 941670 - Removed at request of Larry W Arnold <arnold@wvlc.lib.wv.us>
+lib.wy.us
+// k12.ma.us contains school districts in Massachusetts. The 4LDs are
+//  managed independently except for private (PVT), charter (CHTR) and
+//  parochial (PAROCH) schools.  Those are delegated directly to the
+//  5LD operators.   <k12-ma-hostmaster _ at _ rsuc.gweep.net>
+pvt.k12.ma.us
+chtr.k12.ma.us
+paroch.k12.ma.us
+
+// uy : http://www.nic.org.uy/
+uy
+com.uy
+edu.uy
+gub.uy
+mil.uy
+net.uy
+org.uy
+
+// uz : http://www.reg.uz/
+uz
+co.uz
+com.uz
+net.uz
+org.uz
+
+// va : https://en.wikipedia.org/wiki/.va
+va
+
+// vc : https://en.wikipedia.org/wiki/.vc
+// Submitted by registry <kshah@ca.afilias.info>
+vc
+com.vc
+net.vc
+org.vc
+gov.vc
+mil.vc
+edu.vc
+
+// ve : https://registro.nic.ve/
+// Submitted by registry
+ve
+arts.ve
+co.ve
+com.ve
+e12.ve
+edu.ve
+firm.ve
+gob.ve
+gov.ve
+info.ve
+int.ve
+mil.ve
+net.ve
+org.ve
+rec.ve
+store.ve
+tec.ve
+web.ve
+
+// vg : https://en.wikipedia.org/wiki/.vg
+vg
+
+// vi : http://www.nic.vi/newdomainform.htm
+// http://www.nic.vi/Domain_Rules/body_domain_rules.html indicates some other
+// TLDs are "reserved", such as edu.vi and gov.vi, but doesn't actually say they
+// are available for registration (which they do not seem to be).
+vi
+co.vi
+com.vi
+k12.vi
+net.vi
+org.vi
+
+// vn : https://www.dot.vn/vnnic/vnnic/domainregistration.jsp
+vn
+com.vn
+net.vn
+org.vn
+edu.vn
+gov.vn
+int.vn
+ac.vn
+biz.vn
+info.vn
+name.vn
+pro.vn
+health.vn
+
+// vu : https://en.wikipedia.org/wiki/.vu
+// http://www.vunic.vu/
+vu
+com.vu
+edu.vu
+net.vu
+org.vu
+
+// wf : http://www.afnic.fr/medias/documents/AFNIC-naming-policy2012.pdf
+wf
+
+// ws : https://en.wikipedia.org/wiki/.ws
+// http://samoanic.ws/index.dhtml
+ws
+com.ws
+net.ws
+org.ws
+gov.ws
+edu.ws
+
+// yt : http://www.afnic.fr/medias/documents/AFNIC-naming-policy2012.pdf
+yt
+
+// IDN ccTLDs
+// When submitting patches, please maintain a sort by ISO 3166 ccTLD, then
+// U-label, and follow this format:
+// // A-Label ("<Latin renderings>", <language name>[, variant info]) : <ISO 3166 ccTLD>
+// // [sponsoring org]
+// U-Label
+
+// xn--mgbaam7a8h ("Emerat", Arabic) : AE
+// http://nic.ae/english/arabicdomain/rules.jsp
+امارات
+
+// xn--y9a3aq ("hye", Armenian) : AM
+// ISOC AM (operated by .am Registry)
+հայ
+
+// xn--54b7fta0cc ("Bangla", Bangla) : BD
+বাংলা
+
+// xn--90ais ("bel", Belarusian/Russian Cyrillic) : BY
+// Operated by .by registry
+бел
+
+// xn--fiqs8s ("Zhongguo/China", Chinese, Simplified) : CN
+// CNNIC
+// http://cnnic.cn/html/Dir/2005/10/11/3218.htm
+中国
+
+// xn--fiqz9s ("Zhongguo/China", Chinese, Traditional) : CN
+// CNNIC
+// http://cnnic.cn/html/Dir/2005/10/11/3218.htm
+中國
+
+// xn--lgbbat1ad8j ("Algeria/Al Jazair", Arabic) : DZ
+الجزائر
+
+// xn--wgbh1c ("Egypt/Masr", Arabic) : EG
+// http://www.dotmasr.eg/
+مصر
+
+// xn--e1a4c ("eu", Cyrillic) : EU
+ею
+
+// xn--node ("ge", Georgian Mkhedruli) : GE
+გე
+
+// xn--qxam ("el", Greek) : GR
+// Hellenic Ministry of Infrastructure, Transport, and Networks
+ελ
+
+// xn--j6w193g ("Hong Kong", Chinese) : HK
+// https://www2.hkirc.hk/register/rules.jsp
+香港
+
+// xn--h2brj9c ("Bharat", Devanagari) : IN
+// India
+भारत
+
+// xn--mgbbh1a71e ("Bharat", Arabic) : IN
+// India
+بھارت
+
+// xn--fpcrj9c3d ("Bharat", Telugu) : IN
+// India
+భారత్
+
+// xn--gecrj9c ("Bharat", Gujarati) : IN
+// India
+ભારત
+
+// xn--s9brj9c ("Bharat", Gurmukhi) : IN
+// India
+ਭਾਰਤ
+
+// xn--45brj9c ("Bharat", Bengali) : IN
+// India
+ভারত
+
+// xn--xkc2dl3a5ee0h ("India", Tamil) : IN
+// India
+இந்தியா
+
+// xn--mgba3a4f16a ("Iran", Persian) : IR
+ایران
+
+// xn--mgba3a4fra ("Iran", Arabic) : IR
+ايران
+
+// xn--mgbtx2b ("Iraq", Arabic) : IQ
+// Communications and Media Commission
+عراق
+
+// xn--mgbayh7gpa ("al-Ordon", Arabic) : JO
+// National Information Technology Center (NITC)
+// Royal Scientific Society, Al-Jubeiha
+الاردن
+
+// xn--3e0b707e ("Republic of Korea", Hangul) : KR
+한국
+
+// xn--80ao21a ("Kaz", Kazakh) : KZ
+қаз
+
+// xn--fzc2c9e2c ("Lanka", Sinhalese-Sinhala) : LK
+// http://nic.lk
+ලංකා
+
+// xn--xkc2al3hye2a ("Ilangai", Tamil) : LK
+// http://nic.lk
+இலங்கை
+
+// xn--mgbc0a9azcg ("Morocco/al-Maghrib", Arabic) : MA
+المغرب
+
+// xn--d1alf ("mkd", Macedonian) : MK
+// MARnet
+мкд
+
+// xn--l1acc ("mon", Mongolian) : MN
+мон
+
+// xn--mix891f ("Macao", Chinese, Traditional) : MO
+// MONIC / HNET Asia (Registry Operator for .mo)
+澳門
+
+// xn--mix082f ("Macao", Chinese, Simplified) : MO
+澳门
+
+// xn--mgbx4cd0ab ("Malaysia", Malay) : MY
+مليسيا
+
+// xn--mgb9awbf ("Oman", Arabic) : OM
+عمان
+
+// xn--mgbai9azgqp6j ("Pakistan", Urdu/Arabic) : PK
+پاکستان
+
+// xn--mgbai9a5eva00b ("Pakistan", Urdu/Arabic, variant) : PK
+پاكستان
+
+// xn--ygbi2ammx ("Falasteen", Arabic) : PS
+// The Palestinian National Internet Naming Authority (PNINA)
+// http://www.pnina.ps
+فلسطين
+
+// xn--90a3ac ("srb", Cyrillic) : RS
+// https://www.rnids.rs/en/domains/national-domains
+срб
+пр.срб
+орг.срб
+обр.срб
+од.срб
+упр.срб
+ак.срб
+
+// xn--p1ai ("rf", Russian-Cyrillic) : RU
+// http://www.cctld.ru/en/docs/rulesrf.php
+рф
+
+// xn--wgbl6a ("Qatar", Arabic) : QA
+// http://www.ict.gov.qa/
+قطر
+
+// xn--mgberp4a5d4ar ("AlSaudiah", Arabic) : SA
+// http://www.nic.net.sa/
+السعودية
+
+// xn--mgberp4a5d4a87g ("AlSaudiah", Arabic, variant)  : SA
+السعودیة
+
+// xn--mgbqly7c0a67fbc ("AlSaudiah", Arabic, variant) : SA
+السعودیۃ
+
+// xn--mgbqly7cvafr ("AlSaudiah", Arabic, variant) : SA
+السعوديه
+
+// xn--mgbpl2fh ("sudan", Arabic) : SD
+// Operated by .sd registry
+سودان
+
+// xn--yfro4i67o Singapore ("Singapore", Chinese) : SG
+新加坡
+
+// xn--clchc0ea0b2g2a9gcd ("Singapore", Tamil) : SG
+சிங்கப்பூர்
+
+// xn--ogbpf8fl ("Syria", Arabic) : SY
+سورية
+
+// xn--mgbtf8fl ("Syria", Arabic, variant) : SY
+سوريا
+
+// xn--o3cw4h ("Thai", Thai) : TH
+// http://www.thnic.co.th
+ไทย
+
+// xn--pgbs0dh ("Tunisia", Arabic) : TN
+// http://nic.tn
+تونس
+
+// xn--kpry57d ("Taiwan", Chinese, Traditional) : TW
+// http://www.twnic.net/english/dn/dn_07a.htm
+台灣
+
+// xn--kprw13d ("Taiwan", Chinese, Simplified) : TW
+// http://www.twnic.net/english/dn/dn_07a.htm
+台湾
+
+// xn--nnx388a ("Taiwan", Chinese, variant) : TW
+臺灣
+
+// xn--j1amh ("ukr", Cyrillic) : UA
+укр
+
+// xn--mgb2ddes ("AlYemen", Arabic) : YE
+اليمن
+
+// xxx : http://icmregistry.com
+xxx
+
+// ye : http://www.y.net.ye/services/domain_name.htm
+*.ye
+
+// za : http://www.zadna.org.za/content/page/domain-information
+ac.za
+agric.za
+alt.za
+co.za
+edu.za
+gov.za
+grondar.za
+law.za
+mil.za
+net.za
+ngo.za
+nis.za
+nom.za
+org.za
+school.za
+tm.za
+web.za
+
+// zm : https://zicta.zm/
+// Submitted by registry <info@zicta.zm>
+zm
+ac.zm
+biz.zm
+co.zm
+com.zm
+edu.zm
+gov.zm
+info.zm
+mil.zm
+net.zm
+org.zm
+sch.zm
+
+// zw : https://www.potraz.gov.zw/
+// Confirmed by registry <bmtengwa@potraz.gov.zw> 2017-01-25
+zw
+ac.zw
+co.zw
+gov.zw
+mil.zw
+org.zw
+
+// List of new gTLDs imported from https://newgtlds.icann.org/newgtlds.csv on 2017-02-23T00:46:09Z
+
+// aaa : 2015-02-26 American Automobile Association, Inc.
+aaa
+
+// aarp : 2015-05-21 AARP
+aarp
+
+// abarth : 2015-07-30 Fiat Chrysler Automobiles N.V.
+abarth
+
+// abb : 2014-10-24 ABB Ltd
+abb
+
+// abbott : 2014-07-24 Abbott Laboratories, Inc.
+abbott
+
+// abbvie : 2015-07-30 AbbVie Inc.
+abbvie
+
+// abc : 2015-07-30 Disney Enterprises, Inc.
+abc
+
+// able : 2015-06-25 Able Inc.
+able
+
+// abogado : 2014-04-24 Top Level Domain Holdings Limited
+abogado
+
+// abudhabi : 2015-07-30 Abu Dhabi Systems and Information Centre
+abudhabi
+
+// academy : 2013-11-07 Half Oaks, LLC
+academy
+
+// accenture : 2014-08-15 Accenture plc
+accenture
+
+// accountant : 2014-11-20 dot Accountant Limited
+accountant
+
+// accountants : 2014-03-20 Knob Town, LLC
+accountants
+
+// aco : 2015-01-08 ACO Severin Ahlmann GmbH & Co. KG
+aco
+
+// active : 2014-05-01 The Active Network, Inc
+active
+
+// actor : 2013-12-12 United TLD Holdco Ltd.
+actor
+
+// adac : 2015-07-16 Allgemeiner Deutscher Automobil-Club e.V. (ADAC)
+adac
+
+// ads : 2014-12-04 Charleston Road Registry Inc.
+ads
+
+// adult : 2014-10-16 ICM Registry AD LLC
+adult
+
+// aeg : 2015-03-19 Aktiebolaget Electrolux
+aeg
+
+// aetna : 2015-05-21 Aetna Life Insurance Company
+aetna
+
+// afamilycompany : 2015-07-23 Johnson Shareholdings, Inc.
+afamilycompany
+
+// afl : 2014-10-02 Australian Football League
+afl
+
+// africa : 2014-03-24 ZA Central Registry NPC trading as Registry.Africa
+africa
+
+// agakhan : 2015-04-23 Fondation Aga Khan (Aga Khan Foundation)
+agakhan
+
+// agency : 2013-11-14 Steel Falls, LLC
+agency
+
+// aig : 2014-12-18 American International Group, Inc.
+aig
+
+// aigo : 2015-08-06 aigo Digital Technology Co,Ltd.
+aigo
+
+// airbus : 2015-07-30 Airbus S.A.S.
+airbus
+
+// airforce : 2014-03-06 United TLD Holdco Ltd.
+airforce
+
+// airtel : 2014-10-24 Bharti Airtel Limited
+airtel
+
+// akdn : 2015-04-23 Fondation Aga Khan (Aga Khan Foundation)
+akdn
+
+// alfaromeo : 2015-07-31 Fiat Chrysler Automobiles N.V.
+alfaromeo
+
+// alibaba : 2015-01-15 Alibaba Group Holding Limited
+alibaba
+
+// alipay : 2015-01-15 Alibaba Group Holding Limited
+alipay
+
+// allfinanz : 2014-07-03 Allfinanz Deutsche Vermögensberatung Aktiengesellschaft
+allfinanz
+
+// allstate : 2015-07-31 Allstate Fire and Casualty Insurance Company
+allstate
+
+// ally : 2015-06-18 Ally Financial Inc.
+ally
+
+// alsace : 2014-07-02 REGION D ALSACE
+alsace
+
+// alstom : 2015-07-30 ALSTOM
+alstom
+
+// americanexpress : 2015-07-31 American Express Travel Related Services Company, Inc.
+americanexpress
+
+// americanfamily : 2015-07-23 AmFam, Inc.
+americanfamily
+
+// amex : 2015-07-31 American Express Travel Related Services Company, Inc.
+amex
+
+// amfam : 2015-07-23 AmFam, Inc.
+amfam
+
+// amica : 2015-05-28 Amica Mutual Insurance Company
+amica
+
+// amsterdam : 2014-07-24 Gemeente Amsterdam
+amsterdam
+
+// analytics : 2014-12-18 Campus IP LLC
+analytics
+
+// android : 2014-08-07 Charleston Road Registry Inc.
+android
+
+// anquan : 2015-01-08 QIHOO 360 TECHNOLOGY CO. LTD.
+anquan
+
+// anz : 2015-07-31 Australia and New Zealand Banking Group Limited
+anz
+
+// aol : 2015-09-17 AOL Inc.
+aol
+
+// apartments : 2014-12-11 June Maple, LLC
+apartments
+
+// app : 2015-05-14 Charleston Road Registry Inc.
+app
+
+// apple : 2015-05-14 Apple Inc.
+apple
+
+// aquarelle : 2014-07-24 Aquarelle.com
+aquarelle
+
+// arab : 2015-11-12 League of Arab States
+arab
+
+// aramco : 2014-11-20 Aramco Services Company
+aramco
+
+// archi : 2014-02-06 STARTING DOT LIMITED
+archi
+
+// army : 2014-03-06 United TLD Holdco Ltd.
+army
+
+// art : 2016-03-24 UK Creative Ideas Limited
+art
+
+// arte : 2014-12-11 Association Relative à la Télévision Européenne G.E.I.E.
+arte
+
+// asda : 2015-07-31 Wal-Mart Stores, Inc.
+asda
+
+// associates : 2014-03-06 Baxter Hill, LLC
+associates
+
+// athleta : 2015-07-30 The Gap, Inc.
+athleta
+
+// attorney : 2014-03-20
+attorney
+
+// auction : 2014-03-20
+auction
+
+// audi : 2015-05-21 AUDI Aktiengesellschaft
+audi
+
+// audible : 2015-06-25 Amazon EU S.à r.l.
+audible
+
+// audio : 2014-03-20 Uniregistry, Corp.
+audio
+
+// auspost : 2015-08-13 Australian Postal Corporation
+auspost
+
+// author : 2014-12-18 Amazon EU S.à r.l.
+author
+
+// auto : 2014-11-13
+auto
+
+// autos : 2014-01-09 DERAutos, LLC
+autos
+
+// avianca : 2015-01-08 Aerovias del Continente Americano S.A. Avianca
+avianca
+
+// aws : 2015-06-25 Amazon EU S.à r.l.
+aws
+
+// axa : 2013-12-19 AXA SA
+axa
+
+// azure : 2014-12-18 Microsoft Corporation
+azure
+
+// baby : 2015-04-09 Johnson & Johnson Services, Inc.
+baby
+
+// baidu : 2015-01-08 Baidu, Inc.
+baidu
+
+// banamex : 2015-07-30 Citigroup Inc.
+banamex
+
+// bananarepublic : 2015-07-31 The Gap, Inc.
+bananarepublic
+
+// band : 2014-06-12
+band
+
+// bank : 2014-09-25 fTLD Registry Services LLC
+bank
+
+// bar : 2013-12-12 Punto 2012 Sociedad Anonima Promotora de Inversion de Capital Variable
+bar
+
+// barcelona : 2014-07-24 Municipi de Barcelona
+barcelona
+
+// barclaycard : 2014-11-20 Barclays Bank PLC
+barclaycard
+
+// barclays : 2014-11-20 Barclays Bank PLC
+barclays
+
+// barefoot : 2015-06-11 Gallo Vineyards, Inc.
+barefoot
+
+// bargains : 2013-11-14 Half Hallow, LLC
+bargains
+
+// baseball : 2015-10-29 MLB Advanced Media DH, LLC
+baseball
+
+// basketball : 2015-08-20 Fédération Internationale de Basketball (FIBA)
+basketball
+
+// bauhaus : 2014-04-17 Werkhaus GmbH
+bauhaus
+
+// bayern : 2014-01-23 Bayern Connect GmbH
+bayern
+
+// bbc : 2014-12-18 British Broadcasting Corporation
+bbc
+
+// bbt : 2015-07-23 BB&T Corporation
+bbt
+
+// bbva : 2014-10-02 BANCO BILBAO VIZCAYA ARGENTARIA, S.A.
+bbva
+
+// bcg : 2015-04-02 The Boston Consulting Group, Inc.
+bcg
+
+// bcn : 2014-07-24 Municipi de Barcelona
+bcn
+
+// beats : 2015-05-14 Beats Electronics, LLC
+beats
+
+// beauty : 2015-12-03 L'Oréal
+beauty
+
+// beer : 2014-01-09 Top Level Domain Holdings Limited
+beer
+
+// bentley : 2014-12-18 Bentley Motors Limited
+bentley
+
+// berlin : 2013-10-31 dotBERLIN GmbH & Co. KG
+berlin
+
+// best : 2013-12-19 BestTLD Pty Ltd
+best
+
+// bestbuy : 2015-07-31 BBY Solutions, Inc.
+bestbuy
+
+// bet : 2015-05-07 Afilias plc
+bet
+
+// bharti : 2014-01-09 Bharti Enterprises (Holding) Private Limited
+bharti
+
+// bible : 2014-06-19 American Bible Society
+bible
+
+// bid : 2013-12-19 dot Bid Limited
+bid
+
+// bike : 2013-08-27 Grand Hollow, LLC
+bike
+
+// bing : 2014-12-18 Microsoft Corporation
+bing
+
+// bingo : 2014-12-04 Sand Cedar, LLC
+bingo
+
+// bio : 2014-03-06 STARTING DOT LIMITED
+bio
+
+// black : 2014-01-16 Afilias Limited
+black
+
+// blackfriday : 2014-01-16 Uniregistry, Corp.
+blackfriday
+
+// blanco : 2015-07-16 BLANCO GmbH + Co KG
+blanco
+
+// blockbuster : 2015-07-30 Dish DBS Corporation
+blockbuster
+
+// blog : 2015-05-14
+blog
+
+// bloomberg : 2014-07-17 Bloomberg IP Holdings LLC
+bloomberg
+
+// blue : 2013-11-07 Afilias Limited
+blue
+
+// bms : 2014-10-30 Bristol-Myers Squibb Company
+bms
+
+// bmw : 2014-01-09 Bayerische Motoren Werke Aktiengesellschaft
+bmw
+
+// bnl : 2014-07-24 Banca Nazionale del Lavoro
+bnl
+
+// bnpparibas : 2014-05-29 BNP Paribas
+bnpparibas
+
+// boats : 2014-12-04 DERBoats, LLC
+boats
+
+// boehringer : 2015-07-09 Boehringer Ingelheim International GmbH
+boehringer
+
+// bofa : 2015-07-31 NMS Services, Inc.
+bofa
+
+// bom : 2014-10-16 Núcleo de Informação e Coordenação do Ponto BR - NIC.br
+bom
+
+// bond : 2014-06-05 Bond University Limited
+bond
+
+// boo : 2014-01-30 Charleston Road Registry Inc.
+boo
+
+// book : 2015-08-27 Amazon EU S.à r.l.
+book
+
+// booking : 2015-07-16 Booking.com B.V.
+booking
+
+// boots : 2015-01-08 THE BOOTS COMPANY PLC
+boots
+
+// bosch : 2015-06-18 Robert Bosch GMBH
+bosch
+
+// bostik : 2015-05-28 Bostik SA
+bostik
+
+// boston : 2015-12-10
+boston
+
+// bot : 2014-12-18 Amazon EU S.à r.l.
+bot
+
+// boutique : 2013-11-14 Over Galley, LLC
+boutique
+
+// box : 2015-11-12 NS1 Limited
+box
+
+// bradesco : 2014-12-18 Banco Bradesco S.A.
+bradesco
+
+// bridgestone : 2014-12-18 Bridgestone Corporation
+bridgestone
+
+// broadway : 2014-12-22 Celebrate Broadway, Inc.
+broadway
+
+// broker : 2014-12-11 IG Group Holdings PLC
+broker
+
+// brother : 2015-01-29 Brother Industries, Ltd.
+brother
+
+// brussels : 2014-02-06 DNS.be vzw
+brussels
+
+// budapest : 2013-11-21 Top Level Domain Holdings Limited
+budapest
+
+// bugatti : 2015-07-23 Bugatti International SA
+bugatti
+
+// build : 2013-11-07 Plan Bee LLC
+build
+
+// builders : 2013-11-07 Atomic Madison, LLC
+builders
+
+// business : 2013-11-07 Spring Cross, LLC
+business
+
+// buy : 2014-12-18 Amazon EU S.à r.l.
+buy
+
+// buzz : 2013-10-02 DOTSTRATEGY CO.
+buzz
+
+// bzh : 2014-02-27 Association www.bzh
+bzh
+
+// cab : 2013-10-24 Half Sunset, LLC
+cab
+
+// cafe : 2015-02-11 Pioneer Canyon, LLC
+cafe
+
+// cal : 2014-07-24 Charleston Road Registry Inc.
+cal
+
+// call : 2014-12-18 Amazon EU S.à r.l.
+call
+
+// calvinklein : 2015-07-30 PVH gTLD Holdings LLC
+calvinklein
+
+// cam : 2016-04-21 AC Webconnecting Holding B.V.
+cam
+
+// camera : 2013-08-27 Atomic Maple, LLC
+camera
+
+// camp : 2013-11-07 Delta Dynamite, LLC
+camp
+
+// cancerresearch : 2014-05-15 Australian Cancer Research Foundation
+cancerresearch
+
+// canon : 2014-09-12 Canon Inc.
+canon
+
+// capetown : 2014-03-24 ZA Central Registry NPC trading as ZA Central Registry
+capetown
+
+// capital : 2014-03-06 Delta Mill, LLC
+capital
+
+// capitalone : 2015-08-06 Capital One Financial Corporation
+capitalone
+
+// car : 2015-01-22
+car
+
+// caravan : 2013-12-12 Caravan International, Inc.
+caravan
+
+// cards : 2013-12-05 Foggy Hollow, LLC
+cards
+
+// care : 2014-03-06 Goose Cross
+care
+
+// career : 2013-10-09 dotCareer LLC
+career
+
+// careers : 2013-10-02 Wild Corner, LLC
+careers
+
+// cars : 2014-11-13
+cars
+
+// cartier : 2014-06-23 Richemont DNS Inc.
+cartier
+
+// casa : 2013-11-21 Top Level Domain Holdings Limited
+casa
+
+// case : 2015-09-03 CNH Industrial N.V.
+case
+
+// caseih : 2015-09-03 CNH Industrial N.V.
+caseih
+
+// cash : 2014-03-06 Delta Lake, LLC
+cash
+
+// casino : 2014-12-18 Binky Sky, LLC
+casino
+
+// catering : 2013-12-05 New Falls. LLC
+catering
+
+// catholic : 2015-10-21 Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication)
+catholic
+
+// cba : 2014-06-26 COMMONWEALTH BANK OF AUSTRALIA
+cba
+
+// cbn : 2014-08-22 The Christian Broadcasting Network, Inc.
+cbn
+
+// cbre : 2015-07-02 CBRE, Inc.
+cbre
+
+// cbs : 2015-08-06 CBS Domains Inc.
+cbs
+
+// ceb : 2015-04-09 The Corporate Executive Board Company
+ceb
+
+// center : 2013-11-07 Tin Mill, LLC
+center
+
+// ceo : 2013-11-07 CEOTLD Pty Ltd
+ceo
+
+// cern : 2014-06-05 European Organization for Nuclear Research ("CERN")
+cern
+
+// cfa : 2014-08-28 CFA Institute
+cfa
+
+// cfd : 2014-12-11 IG Group Holdings PLC
+cfd
+
+// chanel : 2015-04-09 Chanel International B.V.
+chanel
+
+// channel : 2014-05-08 Charleston Road Registry Inc.
+channel
+
+// chase : 2015-04-30 JPMorgan Chase & Co.
+chase
+
+// chat : 2014-12-04 Sand Fields, LLC
+chat
+
+// cheap : 2013-11-14 Sand Cover, LLC
+cheap
+
+// chintai : 2015-06-11 CHINTAI Corporation
+chintai
+
+// chloe : 2014-10-16 Richemont DNS Inc.
+chloe
+
+// christmas : 2013-11-21 Uniregistry, Corp.
+christmas
+
+// chrome : 2014-07-24 Charleston Road Registry Inc.
+chrome
+
+// chrysler : 2015-07-30 FCA US LLC.
+chrysler
+
+// church : 2014-02-06 Holly Fields, LLC
+church
+
+// cipriani : 2015-02-19 Hotel Cipriani Srl
+cipriani
+
+// circle : 2014-12-18 Amazon EU S.à r.l.
+circle
+
+// cisco : 2014-12-22 Cisco Technology, Inc.
+cisco
+
+// citadel : 2015-07-23 Citadel Domain LLC
+citadel
+
+// citi : 2015-07-30 Citigroup Inc.
+citi
+
+// citic : 2014-01-09 CITIC Group Corporation
+citic
+
+// city : 2014-05-29 Snow Sky, LLC
+city
+
+// cityeats : 2014-12-11 Lifestyle Domain Holdings, Inc.
+cityeats
+
+// claims : 2014-03-20 Black Corner, LLC
+claims
+
+// cleaning : 2013-12-05 Fox Shadow, LLC
+cleaning
+
+// click : 2014-06-05 Uniregistry, Corp.
+click
+
+// clinic : 2014-03-20 Goose Park, LLC
+clinic
+
+// clinique : 2015-10-01 The Estée Lauder Companies Inc.
+clinique
+
+// clothing : 2013-08-27 Steel Lake, LLC
+clothing
+
+// cloud : 2015-04-16 ARUBA S.p.A.
+cloud
+
+// club : 2013-11-08 .CLUB DOMAINS, LLC
+club
+
+// clubmed : 2015-06-25 Club Méditerranée S.A.
+clubmed
+
+// coach : 2014-10-09 Koko Island, LLC
+coach
+
+// codes : 2013-10-31 Puff Willow, LLC
+codes
+
+// coffee : 2013-10-17 Trixy Cover, LLC
+coffee
+
+// college : 2014-01-16 XYZ.COM LLC
+college
+
+// cologne : 2014-02-05 NetCologne Gesellschaft für Telekommunikation mbH
+cologne
+
+// comcast : 2015-07-23 Comcast IP Holdings I, LLC
+comcast
+
+// commbank : 2014-06-26 COMMONWEALTH BANK OF AUSTRALIA
+commbank
+
+// community : 2013-12-05 Fox Orchard, LLC
+community
+
+// company : 2013-11-07 Silver Avenue, LLC
+company
+
+// compare : 2015-10-08 iSelect Ltd
+compare
+
+// computer : 2013-10-24 Pine Mill, LLC
+computer
+
+// comsec : 2015-01-08 VeriSign, Inc.
+comsec
+
+// condos : 2013-12-05 Pine House, LLC
+condos
+
+// construction : 2013-09-16 Fox Dynamite, LLC
+construction
+
+// consulting : 2013-12-05
+consulting
+
+// contact : 2015-01-08 Top Level Spectrum, Inc.
+contact
+
+// contractors : 2013-09-10 Magic Woods, LLC
+contractors
+
+// cooking : 2013-11-21 Top Level Domain Holdings Limited
+cooking
+
+// cookingchannel : 2015-07-02 Lifestyle Domain Holdings, Inc.
+cookingchannel
+
+// cool : 2013-11-14 Koko Lake, LLC
+cool
+
+// corsica : 2014-09-25 Collectivité Territoriale de Corse
+corsica
+
+// country : 2013-12-19 Top Level Domain Holdings Limited
+country
+
+// coupon : 2015-02-26 Amazon EU S.à r.l.
+coupon
+
+// coupons : 2015-03-26 Black Island, LLC
+coupons
+
+// courses : 2014-12-04 OPEN UNIVERSITIES AUSTRALIA PTY LTD
+courses
+
+// credit : 2014-03-20 Snow Shadow, LLC
+credit
+
+// creditcard : 2014-03-20 Binky Frostbite, LLC
+creditcard
+
+// creditunion : 2015-01-22 CUNA Performance Resources, LLC
+creditunion
+
+// cricket : 2014-10-09 dot Cricket Limited
+cricket
+
+// crown : 2014-10-24 Crown Equipment Corporation
+crown
+
+// crs : 2014-04-03 Federated Co-operatives Limited
+crs
+
+// cruise : 2015-12-10 Viking River Cruises (Bermuda) Ltd.
+cruise
+
+// cruises : 2013-12-05 Spring Way, LLC
+cruises
+
+// csc : 2014-09-25 Alliance-One Services, Inc.
+csc
+
+// cuisinella : 2014-04-03 SALM S.A.S.
+cuisinella
+
+// cymru : 2014-05-08 Nominet UK
+cymru
+
+// cyou : 2015-01-22 Beijing Gamease Age Digital Technology Co., Ltd.
+cyou
+
+// dabur : 2014-02-06 Dabur India Limited
+dabur
+
+// dad : 2014-01-23 Charleston Road Registry Inc.
+dad
+
+// dance : 2013-10-24 United TLD Holdco Ltd.
+dance
+
+// data : 2016-06-02 Dish DBS Corporation
+data
+
+// date : 2014-11-20 dot Date Limited
+date
+
+// dating : 2013-12-05 Pine Fest, LLC
+dating
+
+// datsun : 2014-03-27 NISSAN MOTOR CO., LTD.
+datsun
+
+// day : 2014-01-30 Charleston Road Registry Inc.
+day
+
+// dclk : 2014-11-20 Charleston Road Registry Inc.
+dclk
+
+// dds : 2015-05-07 Top Level Domain Holdings Limited
+dds
+
+// deal : 2015-06-25 Amazon EU S.à r.l.
+deal
+
+// dealer : 2014-12-22 Dealer Dot Com, Inc.
+dealer
+
+// deals : 2014-05-22 Sand Sunset, LLC
+deals
+
+// degree : 2014-03-06
+degree
+
+// delivery : 2014-09-11 Steel Station, LLC
+delivery
+
+// dell : 2014-10-24 Dell Inc.
+dell
+
+// deloitte : 2015-07-31 Deloitte Touche Tohmatsu
+deloitte
+
+// delta : 2015-02-19 Delta Air Lines, Inc.
+delta
+
+// democrat : 2013-10-24 United TLD Holdco Ltd.
+democrat
+
+// dental : 2014-03-20 Tin Birch, LLC
+dental
+
+// dentist : 2014-03-20
+dentist
+
+// desi : 2013-11-14 Desi Networks LLC
+desi
+
+// design : 2014-11-07 Top Level Design, LLC
+design
+
+// dev : 2014-10-16 Charleston Road Registry Inc.
+dev
+
+// dhl : 2015-07-23 Deutsche Post AG
+dhl
+
+// diamonds : 2013-09-22 John Edge, LLC
+diamonds
+
+// diet : 2014-06-26 Uniregistry, Corp.
+diet
+
+// digital : 2014-03-06 Dash Park, LLC
+digital
+
+// direct : 2014-04-10 Half Trail, LLC
+direct
+
+// directory : 2013-09-20 Extra Madison, LLC
+directory
+
+// discount : 2014-03-06 Holly Hill, LLC
+discount
+
+// discover : 2015-07-23 Discover Financial Services
+discover
+
+// dish : 2015-07-30 Dish DBS Corporation
+dish
+
+// diy : 2015-11-05 Lifestyle Domain Holdings, Inc.
+diy
+
+// dnp : 2013-12-13 Dai Nippon Printing Co., Ltd.
+dnp
+
+// docs : 2014-10-16 Charleston Road Registry Inc.
+docs
+
+// doctor : 2016-06-02 Brice Trail, LLC
+doctor
+
+// dodge : 2015-07-30 FCA US LLC.
+dodge
+
+// dog : 2014-12-04 Koko Mill, LLC
+dog
+
+// doha : 2014-09-18 Communications Regulatory Authority (CRA)
+doha
+
+// domains : 2013-10-17 Sugar Cross, LLC
+domains
+
+// dot : 2015-05-21 Dish DBS Corporation
+dot
+
+// download : 2014-11-20 dot Support Limited
+download
+
+// drive : 2015-03-05 Charleston Road Registry Inc.
+drive
+
+// dtv : 2015-06-04 Dish DBS Corporation
+dtv
+
+// dubai : 2015-01-01 Dubai Smart Government Department
+dubai
+
+// duck : 2015-07-23 Johnson Shareholdings, Inc.
+duck
+
+// dunlop : 2015-07-02 The Goodyear Tire & Rubber Company
+dunlop
+
+// duns : 2015-08-06 The Dun & Bradstreet Corporation
+duns
+
+// dupont : 2015-06-25 E. I. du Pont de Nemours and Company
+dupont
+
+// durban : 2014-03-24 ZA Central Registry NPC trading as ZA Central Registry
+durban
+
+// dvag : 2014-06-23 Deutsche Vermögensberatung Aktiengesellschaft DVAG
+dvag
+
+// dvr : 2016-05-26 Hughes Satellite Systems Corporation
+dvr
+
+// earth : 2014-12-04 Interlink Co., Ltd.
+earth
+
+// eat : 2014-01-23 Charleston Road Registry Inc.
+eat
+
+// eco : 2016-07-08 Big Room Inc.
+eco
+
+// edeka : 2014-12-18 EDEKA Verband kaufmännischer Genossenschaften e.V.
+edeka
+
+// education : 2013-11-07 Brice Way, LLC
+education
+
+// email : 2013-10-31 Spring Madison, LLC
+email
+
+// emerck : 2014-04-03 Merck KGaA
+emerck
+
+// energy : 2014-09-11 Binky Birch, LLC
+energy
+
+// engineer : 2014-03-06 United TLD Holdco Ltd.
+engineer
+
+// engineering : 2014-03-06 Romeo Canyon
+engineering
+
+// enterprises : 2013-09-20 Snow Oaks, LLC
+enterprises
+
+// epost : 2015-07-23 Deutsche Post AG
+epost
+
+// epson : 2014-12-04 Seiko Epson Corporation
+epson
+
+// equipment : 2013-08-27 Corn Station, LLC
+equipment
+
+// ericsson : 2015-07-09 Telefonaktiebolaget L M Ericsson
+ericsson
+
+// erni : 2014-04-03 ERNI Group Holding AG
+erni
+
+// esq : 2014-05-08 Charleston Road Registry Inc.
+esq
+
+// estate : 2013-08-27 Trixy Park, LLC
+estate
+
+// esurance : 2015-07-23 Esurance Insurance Company
+esurance
+
+// etisalat : 2015-09-03 Emirates Telecommunications Corporation (trading as Etisalat)
+etisalat
+
+// eurovision : 2014-04-24 European Broadcasting Union (EBU)
+eurovision
+
+// eus : 2013-12-12 Puntueus Fundazioa
+eus
+
+// events : 2013-12-05 Pioneer Maple, LLC
+events
+
+// everbank : 2014-05-15 EverBank
+everbank
+
+// exchange : 2014-03-06 Spring Falls, LLC
+exchange
+
+// expert : 2013-11-21 Magic Pass, LLC
+expert
+
+// exposed : 2013-12-05 Victor Beach, LLC
+exposed
+
+// express : 2015-02-11 Sea Sunset, LLC
+express
+
+// extraspace : 2015-05-14 Extra Space Storage LLC
+extraspace
+
+// fage : 2014-12-18 Fage International S.A.
+fage
+
+// fail : 2014-03-06 Atomic Pipe, LLC
+fail
+
+// fairwinds : 2014-11-13 FairWinds Partners, LLC
+fairwinds
+
+// faith : 2014-11-20 dot Faith Limited
+faith
+
+// family : 2015-04-02
+family
+
+// fan : 2014-03-06
+fan
+
+// fans : 2014-11-07 Asiamix Digital Limited
+fans
+
+// farm : 2013-11-07 Just Maple, LLC
+farm
+
+// farmers : 2015-07-09 Farmers Insurance Exchange
+farmers
+
+// fashion : 2014-07-03 Top Level Domain Holdings Limited
+fashion
+
+// fast : 2014-12-18 Amazon EU S.à r.l.
+fast
+
+// fedex : 2015-08-06 Federal Express Corporation
+fedex
+
+// feedback : 2013-12-19 Top Level Spectrum, Inc.
+feedback
+
+// ferrari : 2015-07-31 Fiat Chrysler Automobiles N.V.
+ferrari
+
+// ferrero : 2014-12-18 Ferrero Trading Lux S.A.
+ferrero
+
+// fiat : 2015-07-31 Fiat Chrysler Automobiles N.V.
+fiat
+
+// fidelity : 2015-07-30 Fidelity Brokerage Services LLC
+fidelity
+
+// fido : 2015-08-06 Rogers Communications Partnership
+fido
+
+// film : 2015-01-08 Motion Picture Domain Registry Pty Ltd
+film
+
+// final : 2014-10-16 Núcleo de Informação e Coordenação do Ponto BR - NIC.br
+final
+
+// finance : 2014-03-20 Cotton Cypress, LLC
+finance
+
+// financial : 2014-03-06 Just Cover, LLC
+financial
+
+// fire : 2015-06-25 Amazon EU S.à r.l.
+fire
+
+// firestone : 2014-12-18 Bridgestone Corporation
+firestone
+
+// firmdale : 2014-03-27 Firmdale Holdings Limited
+firmdale
+
+// fish : 2013-12-12 Fox Woods, LLC
+fish
+
+// fishing : 2013-11-21 Top Level Domain Holdings Limited
+fishing
+
+// fit : 2014-11-07 Top Level Domain Holdings Limited
+fit
+
+// fitness : 2014-03-06 Brice Orchard, LLC
+fitness
+
+// flickr : 2015-04-02 Yahoo! Domain Services Inc.
+flickr
+
+// flights : 2013-12-05 Fox Station, LLC
+flights
+
+// flir : 2015-07-23 FLIR Systems, Inc.
+flir
+
+// florist : 2013-11-07 Half Cypress, LLC
+florist
+
+// flowers : 2014-10-09 Uniregistry, Corp.
+flowers
+
+// fly : 2014-05-08 Charleston Road Registry Inc.
+fly
+
+// foo : 2014-01-23 Charleston Road Registry Inc.
+foo
+
+// food : 2016-04-21 Lifestyle Domain Holdings, Inc.
+food
+
+// foodnetwork : 2015-07-02 Lifestyle Domain Holdings, Inc.
+foodnetwork
+
+// football : 2014-12-18 Foggy Farms, LLC
+football
+
+// ford : 2014-11-13 Ford Motor Company
+ford
+
+// forex : 2014-12-11 IG Group Holdings PLC
+forex
+
+// forsale : 2014-05-22
+forsale
+
+// forum : 2015-04-02 Fegistry, LLC
+forum
+
+// foundation : 2013-12-05 John Dale, LLC
+foundation
+
+// fox : 2015-09-11 FOX Registry, LLC
+fox
+
+// free : 2015-12-10 Amazon EU S.à r.l.
+free
+
+// fresenius : 2015-07-30 Fresenius Immobilien-Verwaltungs-GmbH
+fresenius
+
+// frl : 2014-05-15 FRLregistry B.V.
+frl
+
+// frogans : 2013-12-19 OP3FT
+frogans
+
+// frontdoor : 2015-07-02 Lifestyle Domain Holdings, Inc.
+frontdoor
+
+// frontier : 2015-02-05 Frontier Communications Corporation
+frontier
+
+// ftr : 2015-07-16 Frontier Communications Corporation
+ftr
+
+// fujitsu : 2015-07-30 Fujitsu Limited
+fujitsu
+
+// fujixerox : 2015-07-23 Xerox DNHC LLC
+fujixerox
+
+// fun : 2016-01-14
+fun
+
+// fund : 2014-03-20 John Castle, LLC
+fund
+
+// furniture : 2014-03-20 Lone Fields, LLC
+furniture
+
+// futbol : 2013-09-20
+futbol
+
+// fyi : 2015-04-02 Silver Tigers, LLC
+fyi
+
+// gal : 2013-11-07 Asociación puntoGAL
+gal
+
+// gallery : 2013-09-13 Sugar House, LLC
+gallery
+
+// gallo : 2015-06-11 Gallo Vineyards, Inc.
+gallo
+
+// gallup : 2015-02-19 Gallup, Inc.
+gallup
+
+// game : 2015-05-28 Uniregistry, Corp.
+game
+
+// games : 2015-05-28
+games
+
+// gap : 2015-07-31 The Gap, Inc.
+gap
+
+// garden : 2014-06-26 Top Level Domain Holdings Limited
+garden
+
+// gbiz : 2014-07-17 Charleston Road Registry Inc.
+gbiz
+
+// gdn : 2014-07-31 Joint Stock Company "Navigation-information systems"
+gdn
+
+// gea : 2014-12-04 GEA Group Aktiengesellschaft
+gea
+
+// gent : 2014-01-23 COMBELL GROUP NV/SA
+gent
+
+// genting : 2015-03-12 Resorts World Inc Pte. Ltd.
+genting
+
+// george : 2015-07-31 Wal-Mart Stores, Inc.
+george
+
+// ggee : 2014-01-09 GMO Internet, Inc.
+ggee
+
+// gift : 2013-10-17 Uniregistry, Corp.
+gift
+
+// gifts : 2014-07-03 Goose Sky, LLC
+gifts
+
+// gives : 2014-03-06 United TLD Holdco Ltd.
+gives
+
+// giving : 2014-11-13 Giving Limited
+giving
+
+// glade : 2015-07-23 Johnson Shareholdings, Inc.
+glade
+
+// glass : 2013-11-07 Black Cover, LLC
+glass
+
+// gle : 2014-07-24 Charleston Road Registry Inc.
+gle
+
+// global : 2014-04-17 Dot GLOBAL AS
+global
+
+// globo : 2013-12-19 Globo Comunicação e Participações S.A
+globo
+
+// gmail : 2014-05-01 Charleston Road Registry Inc.
+gmail
+
+// gmbh : 2016-01-29 Extra Dynamite, LLC
+gmbh
+
+// gmo : 2014-01-09 GMO Internet, Inc.
+gmo
+
+// gmx : 2014-04-24 1&1 Mail & Media GmbH
+gmx
+
+// godaddy : 2015-07-23 Go Daddy East, LLC
+godaddy
+
+// gold : 2015-01-22 June Edge, LLC
+gold
+
+// goldpoint : 2014-11-20 YODOBASHI CAMERA CO.,LTD.
+goldpoint
+
+// golf : 2014-12-18 Lone falls, LLC
+golf
+
+// goo : 2014-12-18 NTT Resonant Inc.
+goo
+
+// goodhands : 2015-07-31 Allstate Fire and Casualty Insurance Company
+goodhands
+
+// goodyear : 2015-07-02 The Goodyear Tire & Rubber Company
+goodyear
+
+// goog : 2014-11-20 Charleston Road Registry Inc.
+goog
+
+// google : 2014-07-24 Charleston Road Registry Inc.
+google
+
+// gop : 2014-01-16 Republican State Leadership Committee, Inc.
+gop
+
+// got : 2014-12-18 Amazon EU S.à r.l.
+got
+
+// grainger : 2015-05-07 Grainger Registry Services, LLC
+grainger
+
+// graphics : 2013-09-13 Over Madison, LLC
+graphics
+
+// gratis : 2014-03-20 Pioneer Tigers, LLC
+gratis
+
+// green : 2014-05-08 Afilias Limited
+green
+
+// gripe : 2014-03-06 Corn Sunset, LLC
+gripe
+
+// grocery : 2016-06-16 Wal-Mart Stores, Inc.
+grocery
+
+// group : 2014-08-15 Romeo Town, LLC
+group
+
+// guardian : 2015-07-30 The Guardian Life Insurance Company of America
+guardian
+
+// gucci : 2014-11-13 Guccio Gucci S.p.a.
+gucci
+
+// guge : 2014-08-28 Charleston Road Registry Inc.
+guge
+
+// guide : 2013-09-13 Snow Moon, LLC
+guide
+
+// guitars : 2013-11-14 Uniregistry, Corp.
+guitars
+
+// guru : 2013-08-27 Pioneer Cypress, LLC
+guru
+
+// hair : 2015-12-03 L'Oréal
+hair
+
+// hamburg : 2014-02-20 Hamburg Top-Level-Domain GmbH
+hamburg
+
+// hangout : 2014-11-13 Charleston Road Registry Inc.
+hangout
+
+// haus : 2013-12-05
+haus
+
+// hbo : 2015-07-30 HBO Registry Services, Inc.
+hbo
+
+// hdfc : 2015-07-30 HOUSING DEVELOPMENT FINANCE CORPORATION LIMITED
+hdfc
+
+// hdfcbank : 2015-02-12 HDFC Bank Limited
+hdfcbank
+
+// health : 2015-02-11 DotHealth, LLC
+health
+
+// healthcare : 2014-06-12 Silver Glen, LLC
+healthcare
+
+// help : 2014-06-26 Uniregistry, Corp.
+help
+
+// helsinki : 2015-02-05 City of Helsinki
+helsinki
+
+// here : 2014-02-06 Charleston Road Registry Inc.
+here
+
+// hermes : 2014-07-10 HERMES INTERNATIONAL
+hermes
+
+// hgtv : 2015-07-02 Lifestyle Domain Holdings, Inc.
+hgtv
+
+// hiphop : 2014-03-06 Uniregistry, Corp.
+hiphop
+
+// hisamitsu : 2015-07-16 Hisamitsu Pharmaceutical Co.,Inc.
+hisamitsu
+
+// hitachi : 2014-10-31 Hitachi, Ltd.
+hitachi
+
+// hiv : 2014-03-13
+hiv
+
+// hkt : 2015-05-14 PCCW-HKT DataCom Services Limited
+hkt
+
+// hockey : 2015-03-19 Half Willow, LLC
+hockey
+
+// holdings : 2013-08-27 John Madison, LLC
+holdings
+
+// holiday : 2013-11-07 Goose Woods, LLC
+holiday
+
+// homedepot : 2015-04-02 Homer TLC, Inc.
+homedepot
+
+// homegoods : 2015-07-16 The TJX Companies, Inc.
+homegoods
+
+// homes : 2014-01-09 DERHomes, LLC
+homes
+
+// homesense : 2015-07-16 The TJX Companies, Inc.
+homesense
+
+// honda : 2014-12-18 Honda Motor Co., Ltd.
+honda
+
+// honeywell : 2015-07-23 Honeywell GTLD LLC
+honeywell
+
+// horse : 2013-11-21 Top Level Domain Holdings Limited
+horse
+
+// hospital : 2016-10-20 Ruby Pike, LLC
+hospital
+
+// host : 2014-04-17 DotHost Inc.
+host
+
+// hosting : 2014-05-29 Uniregistry, Corp.
+hosting
+
+// hot : 2015-08-27 Amazon EU S.à r.l.
+hot
+
+// hoteles : 2015-03-05 Travel Reservations SRL
+hoteles
+
+// hotels : 2016-04-07 Booking.com B.V.
+hotels
+
+// hotmail : 2014-12-18 Microsoft Corporation
+hotmail
+
+// house : 2013-11-07 Sugar Park, LLC
+house
+
+// how : 2014-01-23 Charleston Road Registry Inc.
+how
+
+// hsbc : 2014-10-24 HSBC Holdings PLC
+hsbc
+
+// htc : 2015-04-02 HTC corporation
+htc
+
+// hughes : 2015-07-30 Hughes Satellite Systems Corporation
+hughes
+
+// hyatt : 2015-07-30 Hyatt GTLD, L.L.C.
+hyatt
+
+// hyundai : 2015-07-09 Hyundai Motor Company
+hyundai
+
+// ibm : 2014-07-31 International Business Machines Corporation
+ibm
+
+// icbc : 2015-02-19 Industrial and Commercial Bank of China Limited
+icbc
+
+// ice : 2014-10-30 IntercontinentalExchange, Inc.
+ice
+
+// icu : 2015-01-08 One.com A/S
+icu
+
+// ieee : 2015-07-23 IEEE Global LLC
+ieee
+
+// ifm : 2014-01-30 ifm electronic gmbh
+ifm
+
+// ikano : 2015-07-09 Ikano S.A.
+ikano
+
+// imamat : 2015-08-06 Fondation Aga Khan (Aga Khan Foundation)
+imamat
+
+// imdb : 2015-06-25 Amazon EU S.à r.l.
+imdb
+
+// immo : 2014-07-10 Auburn Bloom, LLC
+immo
+
+// immobilien : 2013-11-07 United TLD Holdco Ltd.
+immobilien
+
+// industries : 2013-12-05 Outer House, LLC
+industries
+
+// infiniti : 2014-03-27 NISSAN MOTOR CO., LTD.
+infiniti
+
+// ing : 2014-01-23 Charleston Road Registry Inc.
+ing
+
+// ink : 2013-12-05 Top Level Design, LLC
+ink
+
+// institute : 2013-11-07 Outer Maple, LLC
+institute
+
+// insurance : 2015-02-19 fTLD Registry Services LLC
+insurance
+
+// insure : 2014-03-20 Pioneer Willow, LLC
+insure
+
+// intel : 2015-08-06 Intel Corporation
+intel
+
+// international : 2013-11-07 Wild Way, LLC
+international
+
+// intuit : 2015-07-30 Intuit Administrative Services, Inc.
+intuit
+
+// investments : 2014-03-20 Holly Glen, LLC
+investments
+
+// ipiranga : 2014-08-28 Ipiranga Produtos de Petroleo S.A.
+ipiranga
+
+// irish : 2014-08-07 Dot-Irish LLC
+irish
+
+// iselect : 2015-02-11 iSelect Ltd
+iselect
+
+// ismaili : 2015-08-06 Fondation Aga Khan (Aga Khan Foundation)
+ismaili
+
+// ist : 2014-08-28 Istanbul Metropolitan Municipality
+ist
+
+// istanbul : 2014-08-28 Istanbul Metropolitan Municipality
+istanbul
+
+// itau : 2014-10-02 Itau Unibanco Holding S.A.
+itau
+
+// itv : 2015-07-09 ITV Services Limited
+itv
+
+// iveco : 2015-09-03 CNH Industrial N.V.
+iveco
+
+// iwc : 2014-06-23 Richemont DNS Inc.
+iwc
+
+// jaguar : 2014-11-13 Jaguar Land Rover Ltd
+jaguar
+
+// java : 2014-06-19 Oracle Corporation
+java
+
+// jcb : 2014-11-20 JCB Co., Ltd.
+jcb
+
+// jcp : 2015-04-23 JCP Media, Inc.
+jcp
+
+// jeep : 2015-07-30 FCA US LLC.
+jeep
+
+// jetzt : 2014-01-09
+jetzt
+
+// jewelry : 2015-03-05 Wild Bloom, LLC
+jewelry
+
+// jio : 2015-04-02 Affinity Names, Inc.
+jio
+
+// jlc : 2014-12-04 Richemont DNS Inc.
+jlc
+
+// jll : 2015-04-02 Jones Lang LaSalle Incorporated
+jll
+
+// jmp : 2015-03-26 Matrix IP LLC
+jmp
+
+// jnj : 2015-06-18 Johnson & Johnson Services, Inc.
+jnj
+
+// joburg : 2014-03-24 ZA Central Registry NPC trading as ZA Central Registry
+joburg
+
+// jot : 2014-12-18 Amazon EU S.à r.l.
+jot
+
+// joy : 2014-12-18 Amazon EU S.à r.l.
+joy
+
+// jpmorgan : 2015-04-30 JPMorgan Chase & Co.
+jpmorgan
+
+// jprs : 2014-09-18 Japan Registry Services Co., Ltd.
+jprs
+
+// juegos : 2014-03-20 Uniregistry, Corp.
+juegos
+
+// juniper : 2015-07-30 JUNIPER NETWORKS, INC.
+juniper
+
+// kaufen : 2013-11-07 United TLD Holdco Ltd.
+kaufen
+
+// kddi : 2014-09-12 KDDI CORPORATION
+kddi
+
+// kerryhotels : 2015-04-30 Kerry Trading Co. Limited
+kerryhotels
+
+// kerrylogistics : 2015-04-09 Kerry Trading Co. Limited
+kerrylogistics
+
+// kerryproperties : 2015-04-09 Kerry Trading Co. Limited
+kerryproperties
+
+// kfh : 2014-12-04 Kuwait Finance House
+kfh
+
+// kia : 2015-07-09 KIA MOTORS CORPORATION
+kia
+
+// kim : 2013-09-23 Afilias Limited
+kim
+
+// kinder : 2014-11-07 Ferrero Trading Lux S.A.
+kinder
+
+// kindle : 2015-06-25 Amazon EU S.à r.l.
+kindle
+
+// kitchen : 2013-09-20 Just Goodbye, LLC
+kitchen
+
+// kiwi : 2013-09-20 DOT KIWI LIMITED
+kiwi
+
+// koeln : 2014-01-09 NetCologne Gesellschaft für Telekommunikation mbH
+koeln
+
+// komatsu : 2015-01-08 Komatsu Ltd.
+komatsu
+
+// kosher : 2015-08-20 Kosher Marketing Assets LLC
+kosher
+
+// kpmg : 2015-04-23 KPMG International Cooperative (KPMG International Genossenschaft)
+kpmg
+
+// kpn : 2015-01-08 Koninklijke KPN N.V.
+kpn
+
+// krd : 2013-12-05 KRG Department of Information Technology
+krd
+
+// kred : 2013-12-19 KredTLD Pty Ltd
+kred
+
+// kuokgroup : 2015-04-09 Kerry Trading Co. Limited
+kuokgroup
+
+// kyoto : 2014-11-07 Academic Institution: Kyoto Jyoho Gakuen
+kyoto
+
+// lacaixa : 2014-01-09 CAIXA D'ESTALVIS I PENSIONS DE BARCELONA
+lacaixa
+
+// ladbrokes : 2015-08-06 LADBROKES INTERNATIONAL PLC
+ladbrokes
+
+// lamborghini : 2015-06-04 Automobili Lamborghini S.p.A.
+lamborghini
+
+// lamer : 2015-10-01 The Estée Lauder Companies Inc.
+lamer
+
+// lancaster : 2015-02-12 LANCASTER
+lancaster
+
+// lancia : 2015-07-31 Fiat Chrysler Automobiles N.V.
+lancia
+
+// lancome : 2015-07-23 L'Oréal
+lancome
+
+// land : 2013-09-10 Pine Moon, LLC
+land
+
+// landrover : 2014-11-13 Jaguar Land Rover Ltd
+landrover
+
+// lanxess : 2015-07-30 LANXESS Corporation
+lanxess
+
+// lasalle : 2015-04-02 Jones Lang LaSalle Incorporated
+lasalle
+
+// lat : 2014-10-16 ECOM-LAC Federaciòn de Latinoamèrica y el Caribe para Internet y el Comercio Electrònico
+lat
+
+// latino : 2015-07-30 Dish DBS Corporation
+latino
+
+// latrobe : 2014-06-16 La Trobe University
+latrobe
+
+// law : 2015-01-22 Minds + Machines Group Limited
+law
+
+// lawyer : 2014-03-20
+lawyer
+
+// lds : 2014-03-20 IRI Domain Management, LLC ("Applicant")
+lds
+
+// lease : 2014-03-06 Victor Trail, LLC
+lease
+
+// leclerc : 2014-08-07 A.C.D. LEC Association des Centres Distributeurs Edouard Leclerc
+leclerc
+
+// lefrak : 2015-07-16 LeFrak Organization, Inc.
+lefrak
+
+// legal : 2014-10-16 Blue Falls, LLC
+legal
+
+// lego : 2015-07-16 LEGO Juris A/S
+lego
+
+// lexus : 2015-04-23 TOYOTA MOTOR CORPORATION
+lexus
+
+// lgbt : 2014-05-08 Afilias Limited
+lgbt
+
+// liaison : 2014-10-02 Liaison Technologies, Incorporated
+liaison
+
+// lidl : 2014-09-18 Schwarz Domains und Services GmbH & Co. KG
+lidl
+
+// life : 2014-02-06 Trixy Oaks, LLC
+life
+
+// lifeinsurance : 2015-01-15 American Council of Life Insurers
+lifeinsurance
+
+// lifestyle : 2014-12-11 Lifestyle Domain Holdings, Inc.
+lifestyle
+
+// lighting : 2013-08-27 John McCook, LLC
+lighting
+
+// like : 2014-12-18 Amazon EU S.à r.l.
+like
+
+// lilly : 2015-07-31 Eli Lilly and Company
+lilly
+
+// limited : 2014-03-06 Big Fest, LLC
+limited
+
+// limo : 2013-10-17 Hidden Frostbite, LLC
+limo
+
+// lincoln : 2014-11-13 Ford Motor Company
+lincoln
+
+// linde : 2014-12-04 Linde Aktiengesellschaft
+linde
+
+// link : 2013-11-14 Uniregistry, Corp.
+link
+
+// lipsy : 2015-06-25 Lipsy Ltd
+lipsy
+
+// live : 2014-12-04
+live
+
+// living : 2015-07-30 Lifestyle Domain Holdings, Inc.
+living
+
+// lixil : 2015-03-19 LIXIL Group Corporation
+lixil
+
+// loan : 2014-11-20 dot Loan Limited
+loan
+
+// loans : 2014-03-20 June Woods, LLC
+loans
+
+// locker : 2015-06-04 Dish DBS Corporation
+locker
+
+// locus : 2015-06-25 Locus Analytics LLC
+locus
+
+// loft : 2015-07-30 Annco, Inc.
+loft
+
+// lol : 2015-01-30 Uniregistry, Corp.
+lol
+
+// london : 2013-11-14 Dot London Domains Limited
+london
+
+// lotte : 2014-11-07 Lotte Holdings Co., Ltd.
+lotte
+
+// lotto : 2014-04-10 Afilias Limited
+lotto
+
+// love : 2014-12-22 Merchant Law Group LLP
+love
+
+// lpl : 2015-07-30 LPL Holdings, Inc.
+lpl
+
+// lplfinancial : 2015-07-30 LPL Holdings, Inc.
+lplfinancial
+
+// ltd : 2014-09-25 Over Corner, LLC
+ltd
+
+// ltda : 2014-04-17 DOMAIN ROBOT SERVICOS DE HOSPEDAGEM NA INTERNET LTDA
+ltda
+
+// lundbeck : 2015-08-06 H. Lundbeck A/S
+lundbeck
+
+// lupin : 2014-11-07 LUPIN LIMITED
+lupin
+
+// luxe : 2014-01-09 Top Level Domain Holdings Limited
+luxe
+
+// luxury : 2013-10-17 Luxury Partners, LLC
+luxury
+
+// macys : 2015-07-31 Macys, Inc.
+macys
+
+// madrid : 2014-05-01 Comunidad de Madrid
+madrid
+
+// maif : 2014-10-02 Mutuelle Assurance Instituteur France (MAIF)
+maif
+
+// maison : 2013-12-05 Victor Frostbite, LLC
+maison
+
+// makeup : 2015-01-15 L'Oréal
+makeup
+
+// man : 2014-12-04 MAN SE
+man
+
+// management : 2013-11-07 John Goodbye, LLC
+management
+
+// mango : 2013-10-24 PUNTO FA S.L.
+mango
+
+// map : 2016-06-09 Charleston Road Registry Inc.
+map
+
+// market : 2014-03-06
+market
+
+// marketing : 2013-11-07 Fern Pass, LLC
+marketing
+
+// markets : 2014-12-11 IG Group Holdings PLC
+markets
+
+// marriott : 2014-10-09 Marriott Worldwide Corporation
+marriott
+
+// marshalls : 2015-07-16 The TJX Companies, Inc.
+marshalls
+
+// maserati : 2015-07-31 Fiat Chrysler Automobiles N.V.
+maserati
+
+// mattel : 2015-08-06 Mattel Sites, Inc.
+mattel
+
+// mba : 2015-04-02 Lone Hollow, LLC
+mba
+
+// mcd : 2015-07-30 McDonald’s Corporation
+mcd
+
+// mcdonalds : 2015-07-30 McDonald’s Corporation
+mcdonalds
+
+// mckinsey : 2015-07-31 McKinsey Holdings, Inc.
+mckinsey
+
+// med : 2015-08-06 Medistry LLC
+med
+
+// media : 2014-03-06 Grand Glen, LLC
+media
+
+// meet : 2014-01-16
+meet
+
+// melbourne : 2014-05-29 The Crown in right of the State of Victoria, represented by its Department of State Development, Business and Innovation
+melbourne
+
+// meme : 2014-01-30 Charleston Road Registry Inc.
+meme
+
+// memorial : 2014-10-16 Dog Beach, LLC
+memorial
+
+// men : 2015-02-26 Exclusive Registry Limited
+men
+
+// menu : 2013-09-11 Wedding TLD2, LLC
+menu
+
+// meo : 2014-11-07 PT Comunicacoes S.A.
+meo
+
+// merckmsd : 2016-07-14 MSD Registry Holdings, Inc.
+merckmsd
+
+// metlife : 2015-05-07 MetLife Services and Solutions, LLC
+metlife
+
+// miami : 2013-12-19 Top Level Domain Holdings Limited
+miami
+
+// microsoft : 2014-12-18 Microsoft Corporation
+microsoft
+
+// mini : 2014-01-09 Bayerische Motoren Werke Aktiengesellschaft
+mini
+
+// mint : 2015-07-30 Intuit Administrative Services, Inc.
+mint
+
+// mit : 2015-07-02 Massachusetts Institute of Technology
+mit
+
+// mitsubishi : 2015-07-23 Mitsubishi Corporation
+mitsubishi
+
+// mlb : 2015-05-21 MLB Advanced Media DH, LLC
+mlb
+
+// mls : 2015-04-23 The Canadian Real Estate Association
+mls
+
+// mma : 2014-11-07 MMA IARD
+mma
+
+// mobile : 2016-06-02 Dish DBS Corporation
+mobile
+
+// mobily : 2014-12-18 GreenTech Consultancy Company W.L.L.
+mobily
+
+// moda : 2013-11-07 United TLD Holdco Ltd.
+moda
+
+// moe : 2013-11-13 Interlink Co., Ltd.
+moe
+
+// moi : 2014-12-18 Amazon EU S.à r.l.
+moi
+
+// mom : 2015-04-16 Uniregistry, Corp.
+mom
+
+// monash : 2013-09-30 Monash University
+monash
+
+// money : 2014-10-16 Outer McCook, LLC
+money
+
+// monster : 2015-09-11 Monster Worldwide, Inc.
+monster
+
+// montblanc : 2014-06-23 Richemont DNS Inc.
+montblanc
+
+// mopar : 2015-07-30 FCA US LLC.
+mopar
+
+// mormon : 2013-12-05 IRI Domain Management, LLC ("Applicant")
+mormon
+
+// mortgage : 2014-03-20
+mortgage
+
+// moscow : 2013-12-19 Foundation for Assistance for Internet Technologies and Infrastructure Development (FAITID)
+moscow
+
+// moto : 2015-06-04
+moto
+
+// motorcycles : 2014-01-09 DERMotorcycles, LLC
+motorcycles
+
+// mov : 2014-01-30 Charleston Road Registry Inc.
+mov
+
+// movie : 2015-02-05 New Frostbite, LLC
+movie
+
+// movistar : 2014-10-16 Telefónica S.A.
+movistar
+
+// msd : 2015-07-23 MSD Registry Holdings, Inc.
+msd
+
+// mtn : 2014-12-04 MTN Dubai Limited
+mtn
+
+// mtpc : 2014-11-20 Mitsubishi Tanabe Pharma Corporation
+mtpc
+
+// mtr : 2015-03-12 MTR Corporation Limited
+mtr
+
+// mutual : 2015-04-02 Northwestern Mutual MU TLD Registry, LLC
+mutual
+
+// nab : 2015-08-20 National Australia Bank Limited
+nab
+
+// nadex : 2014-12-11 IG Group Holdings PLC
+nadex
+
+// nagoya : 2013-10-24 GMO Registry, Inc.
+nagoya
+
+// nationwide : 2015-07-23 Nationwide Mutual Insurance Company
+nationwide
+
+// natura : 2015-03-12 NATURA COSMÉTICOS S.A.
+natura
+
+// navy : 2014-03-06 United TLD Holdco Ltd.
+navy
+
+// nba : 2015-07-31 NBA REGISTRY, LLC
+nba
+
+// nec : 2015-01-08 NEC Corporation
+nec
+
+// netbank : 2014-06-26 COMMONWEALTH BANK OF AUSTRALIA
+netbank
+
+// netflix : 2015-06-18 Netflix, Inc.
+netflix
+
+// network : 2013-11-14 Trixy Manor, LLC
+network
+
+// neustar : 2013-12-05 NeuStar, Inc.
+neustar
+
+// new : 2014-01-30 Charleston Road Registry Inc.
+new
+
+// newholland : 2015-09-03 CNH Industrial N.V.
+newholland
+
+// news : 2014-12-18
+news
+
+// next : 2015-06-18 Next plc
+next
+
+// nextdirect : 2015-06-18 Next plc
+nextdirect
+
+// nexus : 2014-07-24 Charleston Road Registry Inc.
+nexus
+
+// nfl : 2015-07-23 NFL Reg Ops LLC
+nfl
+
+// ngo : 2014-03-06 Public Interest Registry
+ngo
+
+// nhk : 2014-02-13 Japan Broadcasting Corporation (NHK)
+nhk
+
+// nico : 2014-12-04 DWANGO Co., Ltd.
+nico
+
+// nike : 2015-07-23 NIKE, Inc.
+nike
+
+// nikon : 2015-05-21 NIKON CORPORATION
+nikon
+
+// ninja : 2013-11-07 United TLD Holdco Ltd.
+ninja
+
+// nissan : 2014-03-27 NISSAN MOTOR CO., LTD.
+nissan
+
+// nissay : 2015-10-29 Nippon Life Insurance Company
+nissay
+
+// nokia : 2015-01-08 Nokia Corporation
+nokia
+
+// northwesternmutual : 2015-06-18 Northwestern Mutual Registry, LLC
+northwesternmutual
+
+// norton : 2014-12-04 Symantec Corporation
+norton
+
+// now : 2015-06-25 Amazon EU S.à r.l.
+now
+
+// nowruz : 2014-09-04 Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti.
+nowruz
+
+// nowtv : 2015-05-14 Starbucks (HK) Limited
+nowtv
+
+// nra : 2014-05-22 NRA Holdings Company, INC.
+nra
+
+// nrw : 2013-11-21 Minds + Machines GmbH
+nrw
+
+// ntt : 2014-10-31 NIPPON TELEGRAPH AND TELEPHONE CORPORATION
+ntt
+
+// nyc : 2014-01-23 The City of New York by and through the New York City Department of Information Technology & Telecommunications
+nyc
+
+// obi : 2014-09-25 OBI Group Holding SE & Co. KGaA
+obi
+
+// observer : 2015-04-30
+observer
+
+// off : 2015-07-23 Johnson Shareholdings, Inc.
+off
+
+// office : 2015-03-12 Microsoft Corporation
+office
+
+// okinawa : 2013-12-05 BusinessRalliart Inc.
+okinawa
+
+// olayan : 2015-05-14 Crescent Holding GmbH
+olayan
+
+// olayangroup : 2015-05-14 Crescent Holding GmbH
+olayangroup
+
+// oldnavy : 2015-07-31 The Gap, Inc.
+oldnavy
+
+// ollo : 2015-06-04 Dish DBS Corporation
+ollo
+
+// omega : 2015-01-08 The Swatch Group Ltd
+omega
+
+// one : 2014-11-07 One.com A/S
+one
+
+// ong : 2014-03-06 Public Interest Registry
+ong
+
+// onl : 2013-09-16 I-Registry Ltd.
+onl
+
+// online : 2015-01-15 DotOnline Inc.
+online
+
+// onyourside : 2015-07-23 Nationwide Mutual Insurance Company
+onyourside
+
+// ooo : 2014-01-09 INFIBEAM INCORPORATION LIMITED
+ooo
+
+// open : 2015-07-31 American Express Travel Related Services Company, Inc.
+open
+
+// oracle : 2014-06-19 Oracle Corporation
+oracle
+
+// orange : 2015-03-12 Orange Brand Services Limited
+orange
+
+// organic : 2014-03-27 Afilias Limited
+organic
+
+// orientexpress : 2015-02-05
+orientexpress
+
+// origins : 2015-10-01 The Estée Lauder Companies Inc.
+origins
+
+// osaka : 2014-09-04 Interlink Co., Ltd.
+osaka
+
+// otsuka : 2013-10-11 Otsuka Holdings Co., Ltd.
+otsuka
+
+// ott : 2015-06-04 Dish DBS Corporation
+ott
+
+// ovh : 2014-01-16 OVH SAS
+ovh
+
+// page : 2014-12-04 Charleston Road Registry Inc.
+page
+
+// pamperedchef : 2015-02-05 The Pampered Chef, Ltd.
+pamperedchef
+
+// panasonic : 2015-07-30 Panasonic Corporation
+panasonic
+
+// panerai : 2014-11-07 Richemont DNS Inc.
+panerai
+
+// paris : 2014-01-30 City of Paris
+paris
+
+// pars : 2014-09-04 Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti.
+pars
+
+// partners : 2013-12-05 Magic Glen, LLC
+partners
+
+// parts : 2013-12-05 Sea Goodbye, LLC
+parts
+
+// party : 2014-09-11 Blue Sky Registry Limited
+party
+
+// passagens : 2015-03-05 Travel Reservations SRL
+passagens
+
+// pay : 2015-08-27 Amazon EU S.à r.l.
+pay
+
+// pccw : 2015-05-14 PCCW Enterprises Limited
+pccw
+
+// pet : 2015-05-07 Afilias plc
+pet
+
+// pfizer : 2015-09-11 Pfizer Inc.
+pfizer
+
+// pharmacy : 2014-06-19 National Association of Boards of Pharmacy
+pharmacy
+
+// phd : 2016-07-28 Charleston Road Registry Inc.
+phd
+
+// philips : 2014-11-07 Koninklijke Philips N.V.
+philips
+
+// phone : 2016-06-02 Dish DBS Corporation
+phone
+
+// photo : 2013-11-14 Uniregistry, Corp.
+photo
+
+// photography : 2013-09-20 Sugar Glen, LLC
+photography
+
+// photos : 2013-10-17 Sea Corner, LLC
+photos
+
+// physio : 2014-05-01 PhysBiz Pty Ltd
+physio
+
+// piaget : 2014-10-16 Richemont DNS Inc.
+piaget
+
+// pics : 2013-11-14 Uniregistry, Corp.
+pics
+
+// pictet : 2014-06-26 Pictet Europe S.A.
+pictet
+
+// pictures : 2014-03-06 Foggy Sky, LLC
+pictures
+
+// pid : 2015-01-08 Top Level Spectrum, Inc.
+pid
+
+// pin : 2014-12-18 Amazon EU S.à r.l.
+pin
+
+// ping : 2015-06-11 Ping Registry Provider, Inc.
+ping
+
+// pink : 2013-10-01 Afilias Limited
+pink
+
+// pioneer : 2015-07-16 Pioneer Corporation
+pioneer
+
+// pizza : 2014-06-26 Foggy Moon, LLC
+pizza
+
+// place : 2014-04-24 Snow Galley, LLC
+place
+
+// play : 2015-03-05 Charleston Road Registry Inc.
+play
+
+// playstation : 2015-07-02 Sony Computer Entertainment Inc.
+playstation
+
+// plumbing : 2013-09-10 Spring Tigers, LLC
+plumbing
+
+// plus : 2015-02-05 Sugar Mill, LLC
+plus
+
+// pnc : 2015-07-02 PNC Domain Co., LLC
+pnc
+
+// pohl : 2014-06-23 Deutsche Vermögensberatung Aktiengesellschaft DVAG
+pohl
+
+// poker : 2014-07-03 Afilias Domains No. 5 Limited
+poker
+
+// politie : 2015-08-20 Politie Nederland
+politie
+
+// porn : 2014-10-16 ICM Registry PN LLC
+porn
+
+// pramerica : 2015-07-30 Prudential Financial, Inc.
+pramerica
+
+// praxi : 2013-12-05 Praxi S.p.A.
+praxi
+
+// press : 2014-04-03 DotPress Inc.
+press
+
+// prime : 2015-06-25 Amazon EU S.à r.l.
+prime
+
+// prod : 2014-01-23 Charleston Road Registry Inc.
+prod
+
+// productions : 2013-12-05 Magic Birch, LLC
+productions
+
+// prof : 2014-07-24 Charleston Road Registry Inc.
+prof
+
+// progressive : 2015-07-23 Progressive Casualty Insurance Company
+progressive
+
+// promo : 2014-12-18
+promo
+
+// properties : 2013-12-05 Big Pass, LLC
+properties
+
+// property : 2014-05-22 Uniregistry, Corp.
+property
+
+// protection : 2015-04-23
+protection
+
+// pru : 2015-07-30 Prudential Financial, Inc.
+pru
+
+// prudential : 2015-07-30 Prudential Financial, Inc.
+prudential
+
+// pub : 2013-12-12 United TLD Holdco Ltd.
+pub
+
+// pwc : 2015-10-29 PricewaterhouseCoopers LLP
+pwc
+
+// qpon : 2013-11-14 dotCOOL, Inc.
+qpon
+
+// quebec : 2013-12-19 PointQuébec Inc
+quebec
+
+// quest : 2015-03-26 Quest ION Limited
+quest
+
+// qvc : 2015-07-30 QVC, Inc.
+qvc
+
+// racing : 2014-12-04 Premier Registry Limited
+racing
+
+// radio : 2016-07-21 European Broadcasting Union (EBU)
+radio
+
+// raid : 2015-07-23 Johnson Shareholdings, Inc.
+raid
+
+// read : 2014-12-18 Amazon EU S.à r.l.
+read
+
+// realestate : 2015-09-11 dotRealEstate LLC
+realestate
+
+// realtor : 2014-05-29 Real Estate Domains LLC
+realtor
+
+// realty : 2015-03-19 Fegistry, LLC
+realty
+
+// recipes : 2013-10-17 Grand Island, LLC
+recipes
+
+// red : 2013-11-07 Afilias Limited
+red
+
+// redstone : 2014-10-31 Redstone Haute Couture Co., Ltd.
+redstone
+
+// redumbrella : 2015-03-26 Travelers TLD, LLC
+redumbrella
+
+// rehab : 2014-03-06 United TLD Holdco Ltd.
+rehab
+
+// reise : 2014-03-13
+reise
+
+// reisen : 2014-03-06 New Cypress, LLC
+reisen
+
+// reit : 2014-09-04 National Association of Real Estate Investment Trusts, Inc.
+reit
+
+// reliance : 2015-04-02 Reliance Industries Limited
+reliance
+
+// ren : 2013-12-12 Beijing Qianxiang Wangjing Technology Development Co., Ltd.
+ren
+
+// rent : 2014-12-04 DERRent, LLC
+rent
+
+// rentals : 2013-12-05 Big Hollow,LLC
+rentals
+
+// repair : 2013-11-07 Lone Sunset, LLC
+repair
+
+// report : 2013-12-05 Binky Glen, LLC
+report
+
+// republican : 2014-03-20 United TLD Holdco Ltd.
+republican
+
+// rest : 2013-12-19 Punto 2012 Sociedad Anonima Promotora de Inversion de Capital Variable
+rest
+
+// restaurant : 2014-07-03 Snow Avenue, LLC
+restaurant
+
+// review : 2014-11-20 dot Review Limited
+review
+
+// reviews : 2013-09-13
+reviews
+
+// rexroth : 2015-06-18 Robert Bosch GMBH
+rexroth
+
+// rich : 2013-11-21 I-Registry Ltd.
+rich
+
+// richardli : 2015-05-14 Pacific Century Asset Management (HK) Limited
+richardli
+
+// ricoh : 2014-11-20 Ricoh Company, Ltd.
+ricoh
+
+// rightathome : 2015-07-23 Johnson Shareholdings, Inc.
+rightathome
+
+// ril : 2015-04-02 Reliance Industries Limited
+ril
+
+// rio : 2014-02-27 Empresa Municipal de Informática SA - IPLANRIO
+rio
+
+// rip : 2014-07-10 United TLD Holdco Ltd.
+rip
+
+// rmit : 2015-11-19 Royal Melbourne Institute of Technology
+rmit
+
+// rocher : 2014-12-18 Ferrero Trading Lux S.A.
+rocher
+
+// rocks : 2013-11-14
+rocks
+
+// rodeo : 2013-12-19 Top Level Domain Holdings Limited
+rodeo
+
+// rogers : 2015-08-06 Rogers Communications Partnership
+rogers
+
+// room : 2014-12-18 Amazon EU S.à r.l.
+room
+
+// rsvp : 2014-05-08 Charleston Road Registry Inc.
+rsvp
+
+// rugby : 2016-12-15 World Rugby Strategic Developments Limited
+rugby
+
+// ruhr : 2013-10-02 regiodot GmbH & Co. KG
+ruhr
+
+// run : 2015-03-19 Snow Park, LLC
+run
+
+// rwe : 2015-04-02 RWE AG
+rwe
+
+// ryukyu : 2014-01-09 BusinessRalliart Inc.
+ryukyu
+
+// saarland : 2013-12-12 dotSaarland GmbH
+saarland
+
+// safe : 2014-12-18 Amazon EU S.à r.l.
+safe
+
+// safety : 2015-01-08 Safety Registry Services, LLC.
+safety
+
+// sakura : 2014-12-18 SAKURA Internet Inc.
+sakura
+
+// sale : 2014-10-16
+sale
+
+// salon : 2014-12-11 Outer Orchard, LLC
+salon
+
+// samsclub : 2015-07-31 Wal-Mart Stores, Inc.
+samsclub
+
+// samsung : 2014-04-03 SAMSUNG SDS CO., LTD
+samsung
+
+// sandvik : 2014-11-13 Sandvik AB
+sandvik
+
+// sandvikcoromant : 2014-11-07 Sandvik AB
+sandvikcoromant
+
+// sanofi : 2014-10-09 Sanofi
+sanofi
+
+// sap : 2014-03-27 SAP AG
+sap
+
+// sapo : 2014-11-07 PT Comunicacoes S.A.
+sapo
+
+// sarl : 2014-07-03 Delta Orchard, LLC
+sarl
+
+// sas : 2015-04-02 Research IP LLC
+sas
+
+// save : 2015-06-25 Amazon EU S.à r.l.
+save
+
+// saxo : 2014-10-31 Saxo Bank A/S
+saxo
+
+// sbi : 2015-03-12 STATE BANK OF INDIA
+sbi
+
+// sbs : 2014-11-07 SPECIAL BROADCASTING SERVICE CORPORATION
+sbs
+
+// sca : 2014-03-13 SVENSKA CELLULOSA AKTIEBOLAGET SCA (publ)
+sca
+
+// scb : 2014-02-20 The Siam Commercial Bank Public Company Limited ("SCB")
+scb
+
+// schaeffler : 2015-08-06 Schaeffler Technologies AG & Co. KG
+schaeffler
+
+// schmidt : 2014-04-03 SALM S.A.S.
+schmidt
+
+// scholarships : 2014-04-24 Scholarships.com, LLC
+scholarships
+
+// school : 2014-12-18 Little Galley, LLC
+school
+
+// schule : 2014-03-06 Outer Moon, LLC
+schule
+
+// schwarz : 2014-09-18 Schwarz Domains und Services GmbH & Co. KG
+schwarz
+
+// science : 2014-09-11 dot Science Limited
+science
+
+// scjohnson : 2015-07-23 Johnson Shareholdings, Inc.
+scjohnson
+
+// scor : 2014-10-31 SCOR SE
+scor
+
+// scot : 2014-01-23 Dot Scot Registry Limited
+scot
+
+// search : 2016-06-09 Charleston Road Registry Inc.
+search
+
+// seat : 2014-05-22 SEAT, S.A. (Sociedad Unipersonal)
+seat
+
+// secure : 2015-08-27 Amazon EU S.à r.l.
+secure
+
+// security : 2015-05-14
+security
+
+// seek : 2014-12-04 Seek Limited
+seek
+
+// select : 2015-10-08 iSelect Ltd
+select
+
+// sener : 2014-10-24 Sener Ingeniería y Sistemas, S.A.
+sener
+
+// services : 2014-02-27 Fox Castle, LLC
+services
+
+// ses : 2015-07-23 SES
+ses
+
+// seven : 2015-08-06 Seven West Media Ltd
+seven
+
+// sew : 2014-07-17 SEW-EURODRIVE GmbH & Co KG
+sew
+
+// sex : 2014-11-13 ICM Registry SX LLC
+sex
+
+// sexy : 2013-09-11 Uniregistry, Corp.
+sexy
+
+// sfr : 2015-08-13 Societe Francaise du Radiotelephone - SFR
+sfr
+
+// shangrila : 2015-09-03 Shangri‐La International Hotel Management Limited
+shangrila
+
+// sharp : 2014-05-01 Sharp Corporation
+sharp
+
+// shaw : 2015-04-23 Shaw Cablesystems G.P.
+shaw
+
+// shell : 2015-07-30 Shell Information Technology International Inc
+shell
+
+// shia : 2014-09-04 Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti.
+shia
+
+// shiksha : 2013-11-14 Afilias Limited
+shiksha
+
+// shoes : 2013-10-02 Binky Galley, LLC
+shoes
+
+// shop : 2016-04-08 GMO Registry, Inc.
+shop
+
+// shopping : 2016-03-31
+shopping
+
+// shouji : 2015-01-08 QIHOO 360 TECHNOLOGY CO. LTD.
+shouji
+
+// show : 2015-03-05 Snow Beach, LLC
+show
+
+// showtime : 2015-08-06 CBS Domains Inc.
+showtime
+
+// shriram : 2014-01-23 Shriram Capital Ltd.
+shriram
+
+// silk : 2015-06-25 Amazon EU S.à r.l.
+silk
+
+// sina : 2015-03-12 Sina Corporation
+sina
+
+// singles : 2013-08-27 Fern Madison, LLC
+singles
+
+// site : 2015-01-15 DotSite Inc.
+site
+
+// ski : 2015-04-09 STARTING DOT LIMITED
+ski
+
+// skin : 2015-01-15 L'Oréal
+skin
+
+// sky : 2014-06-19 Sky IP International Ltd, a company incorporated in England and Wales, operating via its registered Swiss branch
+sky
+
+// skype : 2014-12-18 Microsoft Corporation
+skype
+
+// sling : 2015-07-30 Hughes Satellite Systems Corporation
+sling
+
+// smart : 2015-07-09 Smart Communications, Inc. (SMART)
+smart
+
+// smile : 2014-12-18 Amazon EU S.à r.l.
+smile
+
+// sncf : 2015-02-19 Société Nationale des Chemins de fer Francais S N C F
+sncf
+
+// soccer : 2015-03-26 Foggy Shadow, LLC
+soccer
+
+// social : 2013-11-07 United TLD Holdco Ltd.
+social
+
+// softbank : 2015-07-02 SoftBank Corp.
+softbank
+
+// software : 2014-03-20
+software
+
+// sohu : 2013-12-19 Sohu.com Limited
+sohu
+
+// solar : 2013-11-07 Ruby Town, LLC
+solar
+
+// solutions : 2013-11-07 Silver Cover, LLC
+solutions
+
+// song : 2015-02-26 Amazon EU S.à r.l.
+song
+
+// sony : 2015-01-08 Sony Corporation
+sony
+
+// soy : 2014-01-23 Charleston Road Registry Inc.
+soy
+
+// space : 2014-04-03 DotSpace Inc.
+space
+
+// spiegel : 2014-02-05 SPIEGEL-Verlag Rudolf Augstein GmbH & Co. KG
+spiegel
+
+// spot : 2015-02-26 Amazon EU S.à r.l.
+spot
+
+// spreadbetting : 2014-12-11 IG Group Holdings PLC
+spreadbetting
+
+// srl : 2015-05-07 mySRL GmbH
+srl
+
+// srt : 2015-07-30 FCA US LLC.
+srt
+
+// stada : 2014-11-13 STADA Arzneimittel AG
+stada
+
+// staples : 2015-07-30 Staples, Inc.
+staples
+
+// star : 2015-01-08 Star India Private Limited
+star
+
+// starhub : 2015-02-05 StarHub Ltd
+starhub
+
+// statebank : 2015-03-12 STATE BANK OF INDIA
+statebank
+
+// statefarm : 2015-07-30 State Farm Mutual Automobile Insurance Company
+statefarm
+
+// statoil : 2014-12-04 Statoil ASA
+statoil
+
+// stc : 2014-10-09 Saudi Telecom Company
+stc
+
+// stcgroup : 2014-10-09 Saudi Telecom Company
+stcgroup
+
+// stockholm : 2014-12-18 Stockholms kommun
+stockholm
+
+// storage : 2014-12-22 Self Storage Company LLC
+storage
+
+// store : 2015-04-09 DotStore Inc.
+store
+
+// stream : 2016-01-08 dot Stream Limited
+stream
+
+// studio : 2015-02-11
+studio
+
+// study : 2014-12-11 OPEN UNIVERSITIES AUSTRALIA PTY LTD
+study
+
+// style : 2014-12-04 Binky Moon, LLC
+style
+
+// sucks : 2014-12-22 Vox Populi Registry Inc.
+sucks
+
+// supplies : 2013-12-19 Atomic Fields, LLC
+supplies
+
+// supply : 2013-12-19 Half Falls, LLC
+supply
+
+// support : 2013-10-24 Grand Orchard, LLC
+support
+
+// surf : 2014-01-09 Top Level Domain Holdings Limited
+surf
+
+// surgery : 2014-03-20 Tin Avenue, LLC
+surgery
+
+// suzuki : 2014-02-20 SUZUKI MOTOR CORPORATION
+suzuki
+
+// swatch : 2015-01-08 The Swatch Group Ltd
+swatch
+
+// swiftcover : 2015-07-23 Swiftcover Insurance Services Limited
+swiftcover
+
+// swiss : 2014-10-16 Swiss Confederation
+swiss
+
+// sydney : 2014-09-18 State of New South Wales, Department of Premier and Cabinet
+sydney
+
+// symantec : 2014-12-04 Symantec Corporation
+symantec
+
+// systems : 2013-11-07 Dash Cypress, LLC
+systems
+
+// tab : 2014-12-04 Tabcorp Holdings Limited
+tab
+
+// taipei : 2014-07-10 Taipei City Government
+taipei
+
+// talk : 2015-04-09 Amazon EU S.à r.l.
+talk
+
+// taobao : 2015-01-15 Alibaba Group Holding Limited
+taobao
+
+// target : 2015-07-31 Target Domain Holdings, LLC
+target
+
+// tatamotors : 2015-03-12 Tata Motors Ltd
+tatamotors
+
+// tatar : 2014-04-24 Limited Liability Company "Coordination Center of Regional Domain of Tatarstan Republic"
+tatar
+
+// tattoo : 2013-08-30 Uniregistry, Corp.
+tattoo
+
+// tax : 2014-03-20 Storm Orchard, LLC
+tax
+
+// taxi : 2015-03-19 Pine Falls, LLC
+taxi
+
+// tci : 2014-09-12 Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti.
+tci
+
+// tdk : 2015-06-11 TDK Corporation
+tdk
+
+// team : 2015-03-05 Atomic Lake, LLC
+team
+
+// tech : 2015-01-30 Dot Tech LLC
+tech
+
+// technology : 2013-09-13 Auburn Falls
+technology
+
+// telecity : 2015-02-19 TelecityGroup International Limited
+telecity
+
+// telefonica : 2014-10-16 Telefónica S.A.
+telefonica
+
+// temasek : 2014-08-07 Temasek Holdings (Private) Limited
+temasek
+
+// tennis : 2014-12-04 Cotton Bloom, LLC
+tennis
+
+// teva : 2015-07-02 Teva Pharmaceutical Industries Limited
+teva
+
+// thd : 2015-04-02 Homer TLC, Inc.
+thd
+
+// theater : 2015-03-19 Blue Tigers, LLC
+theater
+
+// theatre : 2015-05-07
+theatre
+
+// tiaa : 2015-07-23 Teachers Insurance and Annuity Association of America
+tiaa
+
+// tickets : 2015-02-05 Accent Media Limited
+tickets
+
+// tienda : 2013-11-14 Victor Manor, LLC
+tienda
+
+// tiffany : 2015-01-30 Tiffany and Company
+tiffany
+
+// tips : 2013-09-20 Corn Willow, LLC
+tips
+
+// tires : 2014-11-07 Dog Edge, LLC
+tires
+
+// tirol : 2014-04-24 punkt Tirol GmbH
+tirol
+
+// tjmaxx : 2015-07-16 The TJX Companies, Inc.
+tjmaxx
+
+// tjx : 2015-07-16 The TJX Companies, Inc.
+tjx
+
+// tkmaxx : 2015-07-16 The TJX Companies, Inc.
+tkmaxx
+
+// tmall : 2015-01-15 Alibaba Group Holding Limited
+tmall
+
+// today : 2013-09-20 Pearl Woods, LLC
+today
+
+// tokyo : 2013-11-13 GMO Registry, Inc.
+tokyo
+
+// tools : 2013-11-21 Pioneer North, LLC
+tools
+
+// top : 2014-03-20 Jiangsu Bangning Science & Technology Co.,Ltd.
+top
+
+// toray : 2014-12-18 Toray Industries, Inc.
+toray
+
+// toshiba : 2014-04-10 TOSHIBA Corporation
+toshiba
+
+// total : 2015-08-06 Total SA
+total
+
+// tours : 2015-01-22 Sugar Station, LLC
+tours
+
+// town : 2014-03-06 Koko Moon, LLC
+town
+
+// toyota : 2015-04-23 TOYOTA MOTOR CORPORATION
+toyota
+
+// toys : 2014-03-06 Pioneer Orchard, LLC
+toys
+
+// trade : 2014-01-23 Elite Registry Limited
+trade
+
+// trading : 2014-12-11 IG Group Holdings PLC
+trading
+
+// training : 2013-11-07 Wild Willow, LLC
+training
+
+// travelchannel : 2015-07-02 Lifestyle Domain Holdings, Inc.
+travelchannel
+
+// travelers : 2015-03-26 Travelers TLD, LLC
+travelers
+
+// travelersinsurance : 2015-03-26 Travelers TLD, LLC
+travelersinsurance
+
+// trust : 2014-10-16
+trust
+
+// trv : 2015-03-26 Travelers TLD, LLC
+trv
+
+// tube : 2015-06-11 Latin American Telecom LLC
+tube
+
+// tui : 2014-07-03 TUI AG
+tui
+
+// tunes : 2015-02-26 Amazon EU S.à r.l.
+tunes
+
+// tushu : 2014-12-18 Amazon EU S.à r.l.
+tushu
+
+// tvs : 2015-02-19 T V SUNDRAM IYENGAR  & SONS LIMITED
+tvs
+
+// ubank : 2015-08-20 National Australia Bank Limited
+ubank
+
+// ubs : 2014-12-11 UBS AG
+ubs
+
+// uconnect : 2015-07-30 FCA US LLC.
+uconnect
+
+// unicom : 2015-10-15 China United Network Communications Corporation Limited
+unicom
+
+// university : 2014-03-06 Little Station, LLC
+university
+
+// uno : 2013-09-11 Dot Latin LLC
+uno
+
+// uol : 2014-05-01 UBN INTERNET LTDA.
+uol
+
+// ups : 2015-06-25 UPS Market Driver, Inc.
+ups
+
+// vacations : 2013-12-05 Atomic Tigers, LLC
+vacations
+
+// vana : 2014-12-11 Lifestyle Domain Holdings, Inc.
+vana
+
+// vanguard : 2015-09-03 The Vanguard Group, Inc.
+vanguard
+
+// vegas : 2014-01-16 Dot Vegas, Inc.
+vegas
+
+// ventures : 2013-08-27 Binky Lake, LLC
+ventures
+
+// verisign : 2015-08-13 VeriSign, Inc.
+verisign
+
+// versicherung : 2014-03-20
+versicherung
+
+// vet : 2014-03-06
+vet
+
+// viajes : 2013-10-17 Black Madison, LLC
+viajes
+
+// video : 2014-10-16
+video
+
+// vig : 2015-05-14 VIENNA INSURANCE GROUP AG Wiener Versicherung Gruppe
+vig
+
+// viking : 2015-04-02 Viking River Cruises (Bermuda) Ltd.
+viking
+
+// villas : 2013-12-05 New Sky, LLC
+villas
+
+// vin : 2015-06-18 Holly Shadow, LLC
+vin
+
+// vip : 2015-01-22 Minds + Machines Group Limited
+vip
+
+// virgin : 2014-09-25 Virgin Enterprises Limited
+virgin
+
+// visa : 2015-07-30 Visa Worldwide Pte. Limited
+visa
+
+// vision : 2013-12-05 Koko Station, LLC
+vision
+
+// vista : 2014-09-18 Vistaprint Limited
+vista
+
+// vistaprint : 2014-09-18 Vistaprint Limited
+vistaprint
+
+// viva : 2014-11-07 Saudi Telecom Company
+viva
+
+// vivo : 2015-07-31 Telefonica Brasil S.A.
+vivo
+
+// vlaanderen : 2014-02-06 DNS.be vzw
+vlaanderen
+
+// vodka : 2013-12-19 Top Level Domain Holdings Limited
+vodka
+
+// volkswagen : 2015-05-14 Volkswagen Group of America Inc.
+volkswagen
+
+// volvo : 2015-11-12 Volvo Holding Sverige Aktiebolag
+volvo
+
+// vote : 2013-11-21 Monolith Registry LLC
+vote
+
+// voting : 2013-11-13 Valuetainment Corp.
+voting
+
+// voto : 2013-11-21 Monolith Registry LLC
+voto
+
+// voyage : 2013-08-27 Ruby House, LLC
+voyage
+
+// vuelos : 2015-03-05 Travel Reservations SRL
+vuelos
+
+// wales : 2014-05-08 Nominet UK
+wales
+
+// walmart : 2015-07-31 Wal-Mart Stores, Inc.
+walmart
+
+// walter : 2014-11-13 Sandvik AB
+walter
+
+// wang : 2013-10-24 Zodiac Leo Limited
+wang
+
+// wanggou : 2014-12-18 Amazon EU S.à r.l.
+wanggou
+
+// warman : 2015-06-18 Weir Group IP Limited
+warman
+
+// watch : 2013-11-14 Sand Shadow, LLC
+watch
+
+// watches : 2014-12-22 Richemont DNS Inc.
+watches
+
+// weather : 2015-01-08 The Weather Channel, LLC
+weather
+
+// weatherchannel : 2015-03-12 The Weather Channel, LLC
+weatherchannel
+
+// webcam : 2014-01-23 dot Webcam Limited
+webcam
+
+// weber : 2015-06-04 Saint-Gobain Weber SA
+weber
+
+// website : 2014-04-03 DotWebsite Inc.
+website
+
+// wed : 2013-10-01 Atgron, Inc.
+wed
+
+// wedding : 2014-04-24 Top Level Domain Holdings Limited
+wedding
+
+// weibo : 2015-03-05 Sina Corporation
+weibo
+
+// weir : 2015-01-29 Weir Group IP Limited
+weir
+
+// whoswho : 2014-02-20 Who's Who Registry
+whoswho
+
+// wien : 2013-10-28 punkt.wien GmbH
+wien
+
+// wiki : 2013-11-07 Top Level Design, LLC
+wiki
+
+// williamhill : 2014-03-13 William Hill Organization Limited
+williamhill
+
+// win : 2014-11-20 First Registry Limited
+win
+
+// windows : 2014-12-18 Microsoft Corporation
+windows
+
+// wine : 2015-06-18 June Station, LLC
+wine
+
+// winners : 2015-07-16 The TJX Companies, Inc.
+winners
+
+// wme : 2014-02-13 William Morris Endeavor Entertainment, LLC
+wme
+
+// wolterskluwer : 2015-08-06 Wolters Kluwer N.V.
+wolterskluwer
+
+// woodside : 2015-07-09 Woodside Petroleum Limited
+woodside
+
+// work : 2013-12-19 Top Level Domain Holdings Limited
+work
+
+// works : 2013-11-14 Little Dynamite, LLC
+works
+
+// world : 2014-06-12 Bitter Fields, LLC
+world
+
+// wow : 2015-10-08 Amazon EU S.à r.l.
+wow
+
+// wtc : 2013-12-19 World Trade Centers Association, Inc.
+wtc
+
+// wtf : 2014-03-06 Hidden Way, LLC
+wtf
+
+// xbox : 2014-12-18 Microsoft Corporation
+xbox
+
+// xerox : 2014-10-24 Xerox DNHC LLC
+xerox
+
+// xfinity : 2015-07-09 Comcast IP Holdings I, LLC
+xfinity
+
+// xihuan : 2015-01-08 QIHOO 360 TECHNOLOGY CO. LTD.
+xihuan
+
+// xin : 2014-12-11 Elegant Leader Limited
+xin
+
+// xn--11b4c3d : 2015-01-15 VeriSign Sarl
+कॉम
+
+// xn--1ck2e1b : 2015-02-26 Amazon EU S.à r.l.
+セール
+
+// xn--1qqw23a : 2014-01-09 Guangzhou YU Wei Information Technology Co., Ltd.
+佛山
+
+// xn--30rr7y : 2014-06-12 Excellent First Limited
+慈善
+
+// xn--3bst00m : 2013-09-13 Eagle Horizon Limited
+集团
+
+// xn--3ds443g : 2013-09-08 TLD REGISTRY LIMITED
+在线
+
+// xn--3oq18vl8pn36a : 2015-07-02 Volkswagen (China) Investment Co., Ltd.
+大众汽车
+
+// xn--3pxu8k : 2015-01-15 VeriSign Sarl
+点看
+
+// xn--42c2d9a : 2015-01-15 VeriSign Sarl
+คอม
+
+// xn--45q11c : 2013-11-21 Zodiac Scorpio Limited
+八卦
+
+// xn--4gbrim : 2013-10-04 Suhub Electronic Establishment
+موقع
+
+// xn--55qw42g : 2013-11-08 China Organizational Name Administration Center
+公益
+
+// xn--55qx5d : 2013-11-14 Computer Network Information Center of Chinese Academy of Sciences (China Internet Network Information Center)
+公司
+
+// xn--5su34j936bgsg : 2015-09-03 Shangri‐La International Hotel Management Limited
+香格里拉
+
+// xn--5tzm5g : 2014-12-22 Global Website TLD Asia Limited
+网站
+
+// xn--6frz82g : 2013-09-23 Afilias Limited
+移动
+
+// xn--6qq986b3xl : 2013-09-13 Tycoon Treasure Limited
+我爱你
+
+// xn--80adxhks : 2013-12-19 Foundation for Assistance for Internet Technologies and Infrastructure Development (FAITID)
+москва
+
+// xn--80aqecdr1a : 2015-10-21 Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication)
+католик
+
+// xn--80asehdb : 2013-07-14 CORE Association
+онлайн
+
+// xn--80aswg : 2013-07-14 CORE Association
+сайт
+
+// xn--8y0a063a : 2015-03-26 China United Network Communications Corporation Limited
+联通
+
+// xn--9dbq2a : 2015-01-15 VeriSign Sarl
+קום
+
+// xn--9et52u : 2014-06-12 RISE VICTORY LIMITED
+时尚
+
+// xn--9krt00a : 2015-03-12 Sina Corporation
+微博
+
+// xn--b4w605ferd : 2014-08-07 Temasek Holdings (Private) Limited
+淡马锡
+
+// xn--bck1b9a5dre4c : 2015-02-26 Amazon EU S.à r.l.
+ファッション
+
+// xn--c1avg : 2013-11-14 Public Interest Registry
+орг
+
+// xn--c2br7g : 2015-01-15 VeriSign Sarl
+नेट
+
+// xn--cck2b3b : 2015-02-26 Amazon EU S.à r.l.
+ストア
+
+// xn--cg4bki : 2013-09-27 SAMSUNG SDS CO., LTD
+삼성
+
+// xn--czr694b : 2014-01-16 Dot Trademark TLD Holding Company Limited
+商标
+
+// xn--czrs0t : 2013-12-19 Wild Island, LLC
+商店
+
+// xn--czru2d : 2013-11-21 Zodiac Capricorn Limited
+商城
+
+// xn--d1acj3b : 2013-11-20 The Foundation for Network Initiatives “The Smart Internet”
+дети
+
+// xn--eckvdtc9d : 2014-12-18 Amazon EU S.à r.l.
+ポイント
+
+// xn--efvy88h : 2014-08-22 Xinhua News Agency Guangdong Branch 新华通讯社广东分社
+新闻
+
+// xn--estv75g : 2015-02-19 Industrial and Commercial Bank of China Limited
+工行
+
+// xn--fct429k : 2015-04-09 Amazon EU S.à r.l.
+家電
+
+// xn--fhbei : 2015-01-15 VeriSign Sarl
+كوم
+
+// xn--fiq228c5hs : 2013-09-08 TLD REGISTRY LIMITED
+中文网
+
+// xn--fiq64b : 2013-10-14 CITIC Group Corporation
+中信
+
+// xn--fjq720a : 2014-05-22 Will Bloom, LLC
+娱乐
+
+// xn--flw351e : 2014-07-31 Charleston Road Registry Inc.
+谷歌
+
+// xn--fzys8d69uvgm : 2015-05-14 PCCW Enterprises Limited
+電訊盈科
+
+// xn--g2xx48c : 2015-01-30 Minds + Machines Group Limited
+购物
+
+// xn--gckr3f0f : 2015-02-26 Amazon EU S.à r.l.
+クラウド
+
+// xn--gk3at1e : 2015-10-08 Amazon EU S.à r.l.
+通販
+
+// xn--hxt814e : 2014-05-15 Zodiac Libra Limited
+网店
+
+// xn--i1b6b1a6a2e : 2013-11-14 Public Interest Registry
+संगठन
+
+// xn--imr513n : 2014-12-11 Dot Trademark TLD Holding Company Limited
+餐厅
+
+// xn--io0a7i : 2013-11-14 Computer Network Information Center of Chinese Academy of Sciences (China Internet Network Information Center)
+网络
+
+// xn--j1aef : 2015-01-15 VeriSign Sarl
+ком
+
+// xn--jlq61u9w7b : 2015-01-08 Nokia Corporation
+诺基亚
+
+// xn--jvr189m : 2015-02-26 Amazon EU S.à r.l.
+食品
+
+// xn--kcrx77d1x4a : 2014-11-07 Koninklijke Philips N.V.
+飞利浦
+
+// xn--kpu716f : 2014-12-22 Richemont DNS Inc.
+手表
+
+// xn--kput3i : 2014-02-13 Beijing RITT-Net Technology Development Co., Ltd
+手机
+
+// xn--mgba3a3ejt : 2014-11-20 Aramco Services Company
+ارامكو
+
+// xn--mgba7c0bbn0a : 2015-05-14 Crescent Holding GmbH
+العليان
+
+// xn--mgbaakc7dvf : 2015-09-03 Emirates Telecommunications Corporation (trading as Etisalat)
+اتصالات
+
+// xn--mgbab2bd : 2013-10-31 CORE Association
+بازار
+
+// xn--mgbb9fbpob : 2014-12-18 GreenTech Consultancy Company W.L.L.
+موبايلي
+
+// xn--mgbca7dzdo : 2015-07-30 Abu Dhabi Systems and Information Centre
+ابوظبي
+
+// xn--mgbi4ecexp : 2015-10-21 Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication)
+كاثوليك
+
+// xn--mgbt3dhd : 2014-09-04 Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti.
+همراه
+
+// xn--mk1bu44c : 2015-01-15 VeriSign Sarl
+닷컴
+
+// xn--mxtq1m : 2014-03-06 Net-Chinese Co., Ltd.
+政府
+
+// xn--ngbc5azd : 2013-07-13 International Domain Registry Pty. Ltd.
+شبكة
+
+// xn--ngbe9e0a : 2014-12-04 Kuwait Finance House
+بيتك
+
+// xn--ngbrx : 2015-11-12 League of Arab States
+عرب
+
+// xn--nqv7f : 2013-11-14 Public Interest Registry
+机构
+
+// xn--nqv7fs00ema : 2013-11-14 Public Interest Registry
+组织机构
+
+// xn--nyqy26a : 2014-11-07 Stable Tone Limited
+健康
+
+// xn--p1acf : 2013-12-12 Rusnames Limited
+рус
+
+// xn--pbt977c : 2014-12-22 Richemont DNS Inc.
+珠宝
+
+// xn--pssy2u : 2015-01-15 VeriSign Sarl
+大拿
+
+// xn--q9jyb4c : 2013-09-17 Charleston Road Registry Inc.
+みんな
+
+// xn--qcka1pmc : 2014-07-31 Charleston Road Registry Inc.
+グーグル
+
+// xn--rhqv96g : 2013-09-11 Stable Tone Limited
+世界
+
+// xn--rovu88b : 2015-02-26 Amazon EU S.à r.l.
+書籍
+
+// xn--ses554g : 2014-01-16
+网址
+
+// xn--t60b56a : 2015-01-15 VeriSign Sarl
+닷넷
+
+// xn--tckwe : 2015-01-15 VeriSign Sarl
+コム
+
+// xn--tiq49xqyj : 2015-10-21 Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication)
+天主教
+
+// xn--unup4y : 2013-07-14 Spring Fields, LLC
+游戏
+
+// xn--vermgensberater-ctb : 2014-06-23 Deutsche Vermögensberatung Aktiengesellschaft DVAG
+vermögensberater
+
+// xn--vermgensberatung-pwb : 2014-06-23 Deutsche Vermögensberatung Aktiengesellschaft DVAG
+vermögensberatung
+
+// xn--vhquv : 2013-08-27 Dash McCook, LLC
+企业
+
+// xn--vuq861b : 2014-10-16 Beijing Tele-info Network Technology Co., Ltd.
+信息
+
+// xn--w4r85el8fhu5dnra : 2015-04-30 Kerry Trading Co. Limited
+嘉里大酒店
+
+// xn--w4rs40l : 2015-07-30 Kerry Trading Co. Limited
+嘉里
+
+// xn--xhq521b : 2013-11-14 Guangzhou YU Wei Information Technology Co., Ltd.
+广东
+
+// xn--zfr164b : 2013-11-08 China Organizational Name Administration Center
+政务
+
+// xperia : 2015-05-14 Sony Mobile Communications AB
+xperia
+
+// xyz : 2013-12-05 XYZ.COM LLC
+xyz
+
+// yachts : 2014-01-09 DERYachts, LLC
+yachts
+
+// yahoo : 2015-04-02 Yahoo! Domain Services Inc.
+yahoo
+
+// yamaxun : 2014-12-18 Amazon EU S.à r.l.
+yamaxun
+
+// yandex : 2014-04-10 YANDEX, LLC
+yandex
+
+// yodobashi : 2014-11-20 YODOBASHI CAMERA CO.,LTD.
+yodobashi
+
+// yoga : 2014-05-29 Top Level Domain Holdings Limited
+yoga
+
+// yokohama : 2013-12-12 GMO Registry, Inc.
+yokohama
+
+// you : 2015-04-09 Amazon EU S.à r.l.
+you
+
+// youtube : 2014-05-01 Charleston Road Registry Inc.
+youtube
+
+// yun : 2015-01-08 QIHOO 360 TECHNOLOGY CO. LTD.
+yun
+
+// zappos : 2015-06-25 Amazon EU S.à r.l.
+zappos
+
+// zara : 2014-11-07 Industria de Diseño Textil, S.A. (INDITEX, S.A.)
+zara
+
+// zero : 2014-12-18 Amazon EU S.à r.l.
+zero
+
+// zip : 2014-05-08 Charleston Road Registry Inc.
+zip
+
+// zippo : 2015-07-02 Zadco Company
+zippo
+
+// zone : 2013-11-14 Outer Falls, LLC
+zone
+
+// zuerich : 2014-11-07 Kanton Zürich (Canton of Zurich)
+zuerich
+
+
+// ===END ICANN DOMAINS===
+// ===BEGIN PRIVATE DOMAINS===
+// (Note: these are in alphabetical order by company name)
+
+// Agnat sp. z o.o. : https://domena.pl
+// Submitted by Przemyslaw Plewa <it-admin@domena.pl>
+beep.pl
+
+// Alces Software Ltd : http://alces-software.com
+// Submitted by Mark J. Titorenko <mark.titorenko@alces-software.com>
+*.compute.estate
+*.alces.network
+
+// alwaysdata : https://www.alwaysdata.com
+// Submitted by Cyril <admin@alwaysdata.com>
+*.alwaysdata.net
+
+// Amazon CloudFront : https://aws.amazon.com/cloudfront/
+// Submitted by Donavan Miller <donavanm@amazon.com>
+cloudfront.net
+
+// Amazon Elastic Compute Cloud: https://aws.amazon.com/ec2/
+// Submitted by Luke Wells <psl-maintainers@amazon.com>
+*.compute.amazonaws.com
+*.compute-1.amazonaws.com
+*.compute.amazonaws.com.cn
+us-east-1.amazonaws.com
+
+// Amazon Elastic Beanstalk : https://aws.amazon.com/elasticbeanstalk/
+// Submitted by Luke Wells <psl-maintainers@amazon.com>
+elasticbeanstalk.cn-north-1.amazonaws.com.cn
+*.elasticbeanstalk.com
+
+// Amazon Elastic Load Balancing : https://aws.amazon.com/elasticloadbalancing/
+// Submitted by Luke Wells <psl-maintainers@amazon.com>
+*.elb.amazonaws.com
+*.elb.amazonaws.com.cn
+
+// Amazon S3 : https://aws.amazon.com/s3/
+// Submitted by Luke Wells <psl-maintainers@amazon.com>
+s3.amazonaws.com
+s3-ap-northeast-1.amazonaws.com
+s3-ap-northeast-2.amazonaws.com
+s3-ap-south-1.amazonaws.com
+s3-ap-southeast-1.amazonaws.com
+s3-ap-southeast-2.amazonaws.com
+s3-ca-central-1.amazonaws.com
+s3-eu-central-1.amazonaws.com
+s3-eu-west-1.amazonaws.com
+s3-eu-west-2.amazonaws.com
+s3-external-1.amazonaws.com
+s3-fips-us-gov-west-1.amazonaws.com
+s3-sa-east-1.amazonaws.com
+s3-us-gov-west-1.amazonaws.com
+s3-us-east-2.amazonaws.com
+s3-us-west-1.amazonaws.com
+s3-us-west-2.amazonaws.com
+s3.ap-northeast-2.amazonaws.com
+s3.ap-south-1.amazonaws.com
+s3.cn-north-1.amazonaws.com.cn
+s3.ca-central-1.amazonaws.com
+s3.eu-central-1.amazonaws.com
+s3.eu-west-2.amazonaws.com
+s3.us-east-2.amazonaws.com
+s3.dualstack.ap-northeast-1.amazonaws.com
+s3.dualstack.ap-northeast-2.amazonaws.com
+s3.dualstack.ap-south-1.amazonaws.com
+s3.dualstack.ap-southeast-1.amazonaws.com
+s3.dualstack.ap-southeast-2.amazonaws.com
+s3.dualstack.ca-central-1.amazonaws.com
+s3.dualstack.eu-central-1.amazonaws.com
+s3.dualstack.eu-west-1.amazonaws.com
+s3.dualstack.eu-west-2.amazonaws.com
+s3.dualstack.sa-east-1.amazonaws.com
+s3.dualstack.us-east-1.amazonaws.com
+s3.dualstack.us-east-2.amazonaws.com
+s3-website-us-east-1.amazonaws.com
+s3-website-us-west-1.amazonaws.com
+s3-website-us-west-2.amazonaws.com
+s3-website-ap-northeast-1.amazonaws.com
+s3-website-ap-southeast-1.amazonaws.com
+s3-website-ap-southeast-2.amazonaws.com
+s3-website-eu-west-1.amazonaws.com
+s3-website-sa-east-1.amazonaws.com
+s3-website.ap-northeast-2.amazonaws.com
+s3-website.ap-south-1.amazonaws.com
+s3-website.ca-central-1.amazonaws.com
+s3-website.eu-central-1.amazonaws.com
+s3-website.eu-west-2.amazonaws.com
+s3-website.us-east-2.amazonaws.com
+
+// Amune : https://amune.org/
+// Submitted by Team Amune <cert@amune.org>
+t3l3p0rt.net
+tele.amune.org
+
+// Aptible : https://www.aptible.com/
+// Submitted by Thomas Orozco <thomas@aptible.com>
+on-aptible.com
+
+// Asociación Amigos de la Informática "Euskalamiga" : http://encounter.eus/
+// Submitted by Hector Martin <marcan@euskalencounter.org>
+user.party.eus
+
+// Association potager.org : https://potager.org/
+// Submitted by Lunar <jardiniers@potager.org>
+pimienta.org
+poivron.org
+potager.org
+sweetpepper.org
+
+// ASUSTOR Inc. : http://www.asustor.com
+// Submitted by Vincent Tseng <vincenttseng@asustor.com>
+myasustor.com
+
+// AVM : https://avm.de
+// Submitted by Andreas Weise <a.weise@avm.de>
+myfritz.net
+
+// AW AdvisorWebsites.com Software Inc : https://advisorwebsites.com
+// Submitted by James Kennedy <domains@advisorwebsites.com>
+*.awdev.ca
+*.advisor.ws
+
+// backplane : https://www.backplane.io
+// Submitted by Anthony Voutas <anthony@backplane.io>
+backplaneapp.io
+
+// BetaInABox
+// Submitted by Adrian <adrian@betainabox.com>
+betainabox.com
+
+// BinaryLane : http://www.binarylane.com
+// Submitted by Nathan O'Sullivan <nathan@mammoth.com.au>
+bnr.la
+
+// Boxfuse : https://boxfuse.com
+// Submitted by Axel Fontaine <axel@boxfuse.com>
+boxfuse.io
+
+// BrowserSafetyMark
+// Submitted by Dave Tharp <browsersafetymark.io@quicinc.com>
+browsersafetymark.io
+
+// callidomus: https://www.callidomus.com/
+// Submitted by Marcus Popp <admin@callidomus.com>
+mycd.eu
+
+// CentralNic : http://www.centralnic.com/names/domains
+// Submitted by registry <gavin.brown@centralnic.com>
+ae.org
+ar.com
+br.com
+cn.com
+com.de
+com.se
+de.com
+eu.com
+gb.com
+gb.net
+hu.com
+hu.net
+jp.net
+jpn.com
+kr.com
+mex.com
+no.com
+qc.com
+ru.com
+sa.com
+se.com
+se.net
+uk.com
+uk.net
+us.com
+uy.com
+za.bz
+za.com
+
+// Africa.com Web Solutions Ltd : https://registry.africa.com
+// Submitted by Gavin Brown <gavin.brown@centralnic.com>
+africa.com
+
+// iDOT Services Limited : http://www.domain.gr.com
+// Submitted by Gavin Brown <gavin.brown@centralnic.com>
+gr.com
+
+// Radix FZC : http://domains.in.net
+// Submitted by Gavin Brown <gavin.brown@centralnic.com>
+in.net
+
+// US REGISTRY LLC : http://us.org
+// Submitted by Gavin Brown <gavin.brown@centralnic.com>
+us.org
+
+// co.com Registry, LLC : https://registry.co.com
+// Submitted by Gavin Brown <gavin.brown@centralnic.com>
+co.com
+
+// c.la : http://www.c.la/
+c.la
+
+// certmgr.org : https://certmgr.org
+// Submitted by B. Blechschmidt <hostmaster@certmgr.org>
+certmgr.org
+
+// Citrix : https://citrix.com
+// Submitted by Alex Stoddard <alex.stoddard@citrix.com>
+xenapponazure.com
+
+// ClearVox : http://www.clearvox.nl/
+// Submitted by Leon Rowland <leon@clearvox.nl>
+virtueeldomein.nl
+
+// Cloud66 : https://www.cloud66.com/
+// Submitted by Khash Sajadi <khash@cloud66.com>
+c66.me
+
+// cloudControl : https://www.cloudcontrol.com/
+// Submitted by Tobias Wilken <tw@cloudcontrol.com>
+cloudcontrolled.com
+cloudcontrolapp.com
+
+// co.ca : http://registry.co.ca/
+co.ca
+
+// i-registry s.r.o. : http://www.i-registry.cz/
+// Submitted by Martin Semrad <semrad@i-registry.cz>
+co.cz
+
+// CDN77.com : http://www.cdn77.com
+// Submitted by Jan Krpes <jan.krpes@cdn77.com>
+c.cdn77.org
+cdn77-ssl.net
+r.cdn77.net
+rsc.cdn77.org
+ssl.origin.cdn77-secure.org
+
+// Cloud DNS Ltd : http://www.cloudns.net
+// Submitted by Aleksander Hristov <noc@cloudns.net>
+cloudns.asia
+cloudns.biz
+cloudns.club
+cloudns.cc
+cloudns.eu
+cloudns.in
+cloudns.info
+cloudns.org
+cloudns.pro
+cloudns.pw
+cloudns.us
+
+// CoDNS B.V.
+co.nl
+co.no
+
+// Commerce Guys, SAS
+// Submitted by Damien Tournoud <damien@commerceguys.com>
+// CHROMIUM - Disabled as per https://code.google.com/p/chromium/issues/detail?id=459802
+// *.platform.sh
+
+// COSIMO GmbH http://www.cosimo.de
+// Submitted by Rene Marticke <rmarticke@cosimo.de>
+dyn.cosidns.de
+dynamisches-dns.de
+dnsupdater.de
+internet-dns.de
+l-o-g-i-n.de
+dynamic-dns.info
+feste-ip.net
+knx-server.net
+static-access.net
+
+// Craynic, s.r.o. : http://www.craynic.com/
+// Submitted by Ales Krajnik <ales.krajnik@craynic.com>
+realm.cz
+
+// Cryptonomic : https://cryptonomic.net/
+// Submitted by Andrew Cady <public-suffix-list@cryptonomic.net>
+*.cryptonomic.net
+
+// Cupcake : https://cupcake.io/
+// Submitted by Jonathan Rudenberg <jonathan@cupcake.io>
+cupcake.is
+
+// cyon GmbH : https://www.cyon.ch/
+// Submitted by Dominic Luechinger <dol@cyon.ch>
+cyon.link
+cyon.site
+
+// Daplie, Inc : https://daplie.com
+// Submitted by AJ ONeal <aj@daplie.com>
+daplie.me
+localhost.daplie.me
+
+// Dansk.net : http://www.dansk.net/
+// Submitted by Anani Voule <digital@digital.co.dk>
+biz.dk
+co.dk
+firm.dk
+reg.dk
+store.dk
+
+// deSEC : https://desec.io/
+// Submitted by Peter Thomassen <peter@desec.io>
+dedyn.io
+
+// DNShome : https://www.dnshome.de/
+// Submitted by Norbert Auler <mail@dnshome.de>
+dnshome.de
+
+// DreamHost : http://www.dreamhost.com/
+// Submitted by Andrew Farmer <andrew.farmer@dreamhost.com>
+dreamhosters.com
+
+// Drobo : http://www.drobo.com/
+// Submitted by Ricardo Padilha <rpadilha@drobo.com>
+mydrobo.com
+
+// Drud Holdings, LLC. : https://www.drud.com/
+// Submitted by Kevin Bridges <kevin@drud.com>
+drud.io
+drud.us
+
+// DuckDNS : http://www.duckdns.org/
+// Submitted by Richard Harper <richard@duckdns.org>
+duckdns.org
+
+// dy.fi : http://dy.fi/
+// Submitted by Heikki Hannikainen <hessu@hes.iki.fi>
+dy.fi
+tunk.org
+
+// DynDNS.com : http://www.dyndns.com/services/dns/dyndns/
+dyndns-at-home.com
+dyndns-at-work.com
+dyndns-blog.com
+dyndns-free.com
+dyndns-home.com
+dyndns-ip.com
+dyndns-mail.com
+dyndns-office.com
+dyndns-pics.com
+dyndns-remote.com
+dyndns-server.com
+dyndns-web.com
+dyndns-wiki.com
+dyndns-work.com
+dyndns.biz
+dyndns.info
+dyndns.org
+dyndns.tv
+at-band-camp.net
+ath.cx
+barrel-of-knowledge.info
+barrell-of-knowledge.info
+better-than.tv
+blogdns.com
+blogdns.net
+blogdns.org
+blogsite.org
+boldlygoingnowhere.org
+broke-it.net
+buyshouses.net
+cechire.com
+dnsalias.com
+dnsalias.net
+dnsalias.org
+dnsdojo.com
+dnsdojo.net
+dnsdojo.org
+does-it.net
+doesntexist.com
+doesntexist.org
+dontexist.com
+dontexist.net
+dontexist.org
+doomdns.com
+doomdns.org
+dvrdns.org
+dyn-o-saur.com
+dynalias.com
+dynalias.net
+dynalias.org
+dynathome.net
+dyndns.ws
+endofinternet.net
+endofinternet.org
+endoftheinternet.org
+est-a-la-maison.com
+est-a-la-masion.com
+est-le-patron.com
+est-mon-blogueur.com
+for-better.biz
+for-more.biz
+for-our.info
+for-some.biz
+for-the.biz
+forgot.her.name
+forgot.his.name
+from-ak.com
+from-al.com
+from-ar.com
+from-az.net
+from-ca.com
+from-co.net
+from-ct.com
+from-dc.com
+from-de.com
+from-fl.com
+from-ga.com
+from-hi.com
+from-ia.com
+from-id.com
+from-il.com
+from-in.com
+from-ks.com
+from-ky.com
+from-la.net
+from-ma.com
+from-md.com
+from-me.org
+from-mi.com
+from-mn.com
+from-mo.com
+from-ms.com
+from-mt.com
+from-nc.com
+from-nd.com
+from-ne.com
+from-nh.com
+from-nj.com
+from-nm.com
+from-nv.com
+from-ny.net
+from-oh.com
+from-ok.com
+from-or.com
+from-pa.com
+from-pr.com
+from-ri.com
+from-sc.com
+from-sd.com
+from-tn.com
+from-tx.com
+from-ut.com
+from-va.com
+from-vt.com
+from-wa.com
+from-wi.com
+from-wv.com
+from-wy.com
+ftpaccess.cc
+fuettertdasnetz.de
+game-host.org
+game-server.cc
+getmyip.com
+gets-it.net
+go.dyndns.org
+gotdns.com
+gotdns.org
+groks-the.info
+groks-this.info
+ham-radio-op.net
+here-for-more.info
+hobby-site.com
+hobby-site.org
+home.dyndns.org
+homedns.org
+homeftp.net
+homeftp.org
+homeip.net
+homelinux.com
+homelinux.net
+homelinux.org
+homeunix.com
+homeunix.net
+homeunix.org
+iamallama.com
+in-the-band.net
+is-a-anarchist.com
+is-a-blogger.com
+is-a-bookkeeper.com
+is-a-bruinsfan.org
+is-a-bulls-fan.com
+is-a-candidate.org
+is-a-caterer.com
+is-a-celticsfan.org
+is-a-chef.com
+is-a-chef.net
+is-a-chef.org
+is-a-conservative.com
+is-a-cpa.com
+is-a-cubicle-slave.com
+is-a-democrat.com
+is-a-designer.com
+is-a-doctor.com
+is-a-financialadvisor.com
+is-a-geek.com
+is-a-geek.net
+is-a-geek.org
+is-a-green.com
+is-a-guru.com
+is-a-hard-worker.com
+is-a-hunter.com
+is-a-knight.org
+is-a-landscaper.com
+is-a-lawyer.com
+is-a-liberal.com
+is-a-libertarian.com
+is-a-linux-user.org
+is-a-llama.com
+is-a-musician.com
+is-a-nascarfan.com
+is-a-nurse.com
+is-a-painter.com
+is-a-patsfan.org
+is-a-personaltrainer.com
+is-a-photographer.com
+is-a-player.com
+is-a-republican.com
+is-a-rockstar.com
+is-a-socialist.com
+is-a-soxfan.org
+is-a-student.com
+is-a-teacher.com
+is-a-techie.com
+is-a-therapist.com
+is-an-accountant.com
+is-an-actor.com
+is-an-actress.com
+is-an-anarchist.com
+is-an-artist.com
+is-an-engineer.com
+is-an-entertainer.com
+is-by.us
+is-certified.com
+is-found.org
+is-gone.com
+is-into-anime.com
+is-into-cars.com
+is-into-cartoons.com
+is-into-games.com
+is-leet.com
+is-lost.org
+is-not-certified.com
+is-saved.org
+is-slick.com
+is-uberleet.com
+is-very-bad.org
+is-very-evil.org
+is-very-good.org
+is-very-nice.org
+is-very-sweet.org
+is-with-theband.com
+isa-geek.com
+isa-geek.net
+isa-geek.org
+isa-hockeynut.com
+issmarterthanyou.com
+isteingeek.de
+istmein.de
+kicks-ass.net
+kicks-ass.org
+knowsitall.info
+land-4-sale.us
+lebtimnetz.de
+leitungsen.de
+likes-pie.com
+likescandy.com
+merseine.nu
+mine.nu
+misconfused.org
+mypets.ws
+myphotos.cc
+neat-url.com
+office-on-the.net
+on-the-web.tv
+podzone.net
+podzone.org
+readmyblog.org
+saves-the-whales.com
+scrapper-site.net
+scrapping.cc
+selfip.biz
+selfip.com
+selfip.info
+selfip.net
+selfip.org
+sells-for-less.com
+sells-for-u.com
+sells-it.net
+sellsyourhome.org
+servebbs.com
+servebbs.net
+servebbs.org
+serveftp.net
+serveftp.org
+servegame.org
+shacknet.nu
+simple-url.com
+space-to-rent.com
+stuff-4-sale.org
+stuff-4-sale.us
+teaches-yoga.com
+thruhere.net
+traeumtgerade.de
+webhop.biz
+webhop.info
+webhop.net
+webhop.org
+worse-than.tv
+writesthisblog.com
+
+// ddnss.de : https://www.ddnss.de/
+// Submitted by Robert Niedziela <webmaster@ddnss.de>
+ddnss.de
+dyn.ddnss.de
+dyndns.ddnss.de
+dyndns1.de
+dyn-ip24.de
+home-webserver.de
+dyn.home-webserver.de
+myhome-server.de
+ddnss.org
+
+// dynv6 : https://dynv6.com
+// Submitted by Dominik Menke <dom@digineo.de> 2016-01-18
+dynv6.net
+
+// E4YOU spol. s.r.o. : https://e4you.cz/
+// Submitted by Vladimir Dudr <info@e4you.cz>
+e4.cz
+
+// Enonic : http://enonic.com/
+// Submitted by Erik Kaareng-Sunde <esu@enonic.com>
+enonic.io
+customer.enonic.io
+
+// EU.org https://eu.org/
+// Submitted by Pierre Beyssac <hostmaster@eu.org>
+eu.org
+al.eu.org
+asso.eu.org
+at.eu.org
+au.eu.org
+be.eu.org
+bg.eu.org
+ca.eu.org
+cd.eu.org
+ch.eu.org
+cn.eu.org
+cy.eu.org
+cz.eu.org
+de.eu.org
+dk.eu.org
+edu.eu.org
+ee.eu.org
+es.eu.org
+fi.eu.org
+fr.eu.org
+gr.eu.org
+hr.eu.org
+hu.eu.org
+ie.eu.org
+il.eu.org
+in.eu.org
+int.eu.org
+is.eu.org
+it.eu.org
+jp.eu.org
+kr.eu.org
+lt.eu.org
+lu.eu.org
+lv.eu.org
+mc.eu.org
+me.eu.org
+mk.eu.org
+mt.eu.org
+my.eu.org
+net.eu.org
+ng.eu.org
+nl.eu.org
+no.eu.org
+nz.eu.org
+paris.eu.org
+pl.eu.org
+pt.eu.org
+q-a.eu.org
+ro.eu.org
+ru.eu.org
+se.eu.org
+si.eu.org
+sk.eu.org
+tr.eu.org
+uk.eu.org
+us.eu.org
+
+// Evennode : http://www.evennode.com/
+// Submitted by Michal Kralik <support@evennode.com>
+eu-1.evennode.com
+eu-2.evennode.com
+eu-3.evennode.com
+us-1.evennode.com
+us-2.evennode.com
+us-3.evennode.com
+
+// Facebook, Inc.
+// Submitted by Peter Ruibal <public-suffix@fb.com>
+apps.fbsbx.com
+
+// FAITID : https://faitid.org/
+// Submitted by Maxim Alzoba <tech.contact@faitid.org>
+// https://www.flexireg.net/stat_info
+ru.net
+adygeya.ru
+bashkiria.ru
+bir.ru
+cbg.ru
+com.ru
+dagestan.ru
+grozny.ru
+kalmykia.ru
+kustanai.ru
+marine.ru
+mordovia.ru
+msk.ru
+mytis.ru
+nalchik.ru
+nov.ru
+pyatigorsk.ru
+spb.ru
+vladikavkaz.ru
+vladimir.ru
+abkhazia.su
+adygeya.su
+aktyubinsk.su
+arkhangelsk.su
+armenia.su
+ashgabad.su
+azerbaijan.su
+balashov.su
+bashkiria.su
+bryansk.su
+bukhara.su
+chimkent.su
+dagestan.su
+east-kazakhstan.su
+exnet.su
+georgia.su
+grozny.su
+ivanovo.su
+jambyl.su
+kalmykia.su
+kaluga.su
+karacol.su
+karaganda.su
+karelia.su
+khakassia.su
+krasnodar.su
+kurgan.su
+kustanai.su
+lenug.su
+mangyshlak.su
+mordovia.su
+msk.su
+murmansk.su
+nalchik.su
+navoi.su
+north-kazakhstan.su
+nov.su
+obninsk.su
+penza.su
+pokrovsk.su
+sochi.su
+spb.su
+tashkent.su
+termez.su
+togliatti.su
+troitsk.su
+tselinograd.su
+tula.su
+tuva.su
+vladikavkaz.su
+vladimir.su
+vologda.su
+
+// Fastly Inc. : http://www.fastly.com/
+// Submitted by Fastly Security <security@fastly.com>
+fastlylb.net
+map.fastlylb.net
+freetls.fastly.net
+map.fastly.net
+a.prod.fastly.net
+global.prod.fastly.net
+a.ssl.fastly.net
+b.ssl.fastly.net
+global.ssl.fastly.net
+
+// Featherhead : https://featherhead.xyz/
+// Submitted by Simon Menke <simon@featherhead.xyz>
+fhapp.xyz
+
+// Fedora : https://fedoraproject.org/
+// submitted by Patrick Uiterwijk <puiterwijk@fedoraproject.org>
+fedorainfracloud.org
+fedorapeople.org
+cloud.fedoraproject.org
+
+// Firebase, Inc.
+// Submitted by Chris Raynor <chris@firebase.com>
+firebaseapp.com
+
+// Flynn : https://flynn.io
+// Submitted by Jonathan Rudenberg <jonathan@flynn.io>
+flynnhub.com
+
+// Freebox : http://www.freebox.fr
+// Submitted by Romain Fliedel <rfliedel@freebox.fr>
+freebox-os.com
+freeboxos.com
+fbx-os.fr
+fbxos.fr
+freebox-os.fr
+freeboxos.fr
+
+// Fusion Intranet : https://www.fusion-intranet.com
+// Submitted by Matthias Burtscher <matthias.burtscher@fusonic.net>
+myfusion.cloud
+
+// Futureweb OG : http://www.futureweb.at
+// Submitted by Andreas Schnederle-Wagner <schnederle@futureweb.at>
+futurehosting.at
+futuremailing.at
+*.ex.ortsinfo.at
+*.kunden.ortsinfo.at
+*.statics.cloud
+
+// GDS : https://www.gov.uk/service-manual/operations/operating-servicegovuk-subdomains
+// Submitted by David Illsley <david.illsley@digital.cabinet-office.gov.uk>
+service.gov.uk
+
+// GitHub, Inc.
+// Submitted by Patrick Toomey <security@github.com>
+github.io
+githubusercontent.com
+githubcloud.com
+*.api.githubcloud.com
+*.ext.githubcloud.com
+gist.githubcloud.com
+*.githubcloudusercontent.com
+
+// GitLab, Inc.
+// Submitted by Alex Hanselka <alex@gitlab.com>
+gitlab.io
+
+// UKHomeOffice : https://www.gov.uk/government/organisations/home-office
+// Submitted by Jon Shanks <jon.shanks@digital.homeoffice.gov.uk>
+homeoffice.gov.uk
+
+// GlobeHosting, Inc.
+// Submitted by Zoltan Egresi <egresi@globehosting.com>
+ro.im
+shop.ro
+
+// GoIP DNS Services : http://www.goip.de
+// Submitted by Christian Poulter <milchstrasse@goip.de>
+goip.de
+
+// Google, Inc.
+// Submitted by Eduardo Vela <evn@google.com>
+*.0emm.com
+appspot.com
+blogspot.ae
+blogspot.al
+blogspot.am
+blogspot.ba
+blogspot.be
+blogspot.bg
+blogspot.bj
+blogspot.ca
+blogspot.cf
+blogspot.ch
+blogspot.cl
+blogspot.co.at
+blogspot.co.id
+blogspot.co.il
+blogspot.co.ke
+blogspot.co.nz
+blogspot.co.uk
+blogspot.co.za
+blogspot.com
+blogspot.com.ar
+blogspot.com.au
+blogspot.com.br
+blogspot.com.by
+blogspot.com.co
+blogspot.com.cy
+blogspot.com.ee
+blogspot.com.eg
+blogspot.com.es
+blogspot.com.mt
+blogspot.com.ng
+blogspot.com.tr
+blogspot.com.uy
+blogspot.cv
+blogspot.cz
+blogspot.de
+blogspot.dk
+blogspot.fi
+blogspot.fr
+blogspot.gr
+blogspot.hk
+blogspot.hr
+blogspot.hu
+blogspot.ie
+blogspot.in
+blogspot.is
+blogspot.it
+blogspot.jp
+blogspot.kr
+blogspot.li
+blogspot.lt
+blogspot.lu
+blogspot.md
+blogspot.mk
+blogspot.mr
+blogspot.mx
+blogspot.my
+blogspot.nl
+blogspot.no
+blogspot.pe
+blogspot.pt
+blogspot.qa
+blogspot.re
+blogspot.ro
+blogspot.rs
+blogspot.ru
+blogspot.se
+blogspot.sg
+blogspot.si
+blogspot.sk
+blogspot.sn
+blogspot.td
+blogspot.tw
+blogspot.ug
+blogspot.vn
+cloudfunctions.net
+codespot.com
+googleapis.com
+googlecode.com
+pagespeedmobilizer.com
+publishproxy.com
+withgoogle.com
+withyoutube.com
+
+// Hashbang : https://hashbang.sh
+hashbang.sh
+
+// Hasura : https://hasura.io
+// Submitted by Shahidh K Muhammed <shahidh@hasura.io>
+hasura-app.io
+
+// Hepforge : https://www.hepforge.org
+// Submitted by David Grellscheid <admin@hepforge.org>
+hepforge.org
+
+// Heroku : https://www.heroku.com/
+// Submitted by Tom Maher <tmaher@heroku.com>
+herokuapp.com
+herokussl.com
+
+// Ici la Lune : http://www.icilalune.com/
+// Submitted by Simon Morvan <simon@icilalune.com>
+moonscale.net
+
+// iki.fi
+// Submitted by Hannu Aronsson <haa@iki.fi>
+iki.fi
+
+// info.at : http://www.info.at/
+biz.at
+info.at
+
+// Interlegis : http://www.interlegis.leg.br
+// Submitted by Gabriel Ferreira <registrobr@interlegis.leg.br>
+ac.leg.br
+al.leg.br
+am.leg.br
+ap.leg.br
+ba.leg.br
+ce.leg.br
+df.leg.br
+es.leg.br
+go.leg.br
+ma.leg.br
+mg.leg.br
+ms.leg.br
+mt.leg.br
+pa.leg.br
+pb.leg.br
+pe.leg.br
+pi.leg.br
+pr.leg.br
+rj.leg.br
+rn.leg.br
+ro.leg.br
+rr.leg.br
+rs.leg.br
+sc.leg.br
+se.leg.br
+sp.leg.br
+to.leg.br
+
+// IPiFony Systems, Inc. : https://www.ipifony.com/
+// Submitted by Matthew Hardeman <mhardeman@ipifony.com>
+ipifony.net
+
+// Joyent : https://www.joyent.com/
+// Submitted by Brian Bennett <brian.bennett@joyent.com>
+*.triton.zone
+*.cns.joyent.com
+
+// JS.ORG : http://dns.js.org
+// Submitted by Stefan Keim <admin@js.org>
+js.org
+
+// Keyweb AG : https://www.keyweb.de
+// Submitted by Martin Dannehl <postmaster@keymachine.de>
+keymachine.de
+
+// KnightPoint Systems, LLC : http://www.knightpoint.com/
+// Submitted by Roy Keene <rkeene@knightpoint.com>
+knightpoint.systems
+
+// .KRD : http://nic.krd/data/krd/Registration%20Policy.pdf
+co.krd
+edu.krd
+
+// Magento Commerce
+// Submitted by Damien Tournoud <dtournoud@magento.cloud>
+*.magentosite.cloud
+
+// Meteor Development Group : https://www.meteor.com/hosting
+// Submitted by Pierre Carrier <pierre@meteor.com>
+meteorapp.com
+eu.meteorapp.com
+
+// Michau Enterprises Limited : http://www.co.pl/
+co.pl
+
+// Microsoft : http://microsoft.com
+// Submitted by Barry Dorrans <bdorrans@microsoft.com>
+azurewebsites.net
+azure-mobile.net
+cloudapp.net
+
+// Mozilla Foundation : https://mozilla.org/
+// Submitted by glob <glob@mozilla.com>
+bmoattachments.org
+
+// Neustar Inc.
+// Submitted by Trung Tran <Trung.Tran@neustar.biz>
+4u.com
+
+// ngrok : https://ngrok.com/
+// Submitted by Alan Shreve <alan@ngrok.com>
+ngrok.io
+
+// NFSN, Inc. : https://www.NearlyFreeSpeech.NET/
+// Submitted by Jeff Wheelhouse <support@nearlyfreespeech.net>
+nfshost.com
+
+// nsupdate.info : https://www.nsupdate.info/
+// Submitted by Thomas Waldmann <info@nsupdate.info>
+nsupdate.info
+nerdpol.ovh
+
+// No-IP.com : https://noip.com/
+// Submitted by Deven Reza <publicsuffixlist@noip.com>
+blogsyte.com
+brasilia.me
+cable-modem.org
+ciscofreak.com
+collegefan.org
+couchpotatofries.org
+damnserver.com
+ddns.me
+ditchyourip.com
+dnsfor.me
+dnsiskinky.com
+dvrcam.info
+dynns.com
+eating-organic.net
+fantasyleague.cc
+geekgalaxy.com
+golffan.us
+health-carereform.com
+homesecuritymac.com
+homesecuritypc.com
+hopto.me
+ilovecollege.info
+loginto.me
+mlbfan.org
+mmafan.biz
+myactivedirectory.com
+mydissent.net
+myeffect.net
+mymediapc.net
+mypsx.net
+mysecuritycamera.com
+mysecuritycamera.net
+mysecuritycamera.org
+net-freaks.com
+nflfan.org
+nhlfan.net
+no-ip.ca
+no-ip.co.uk
+no-ip.net
+noip.us
+onthewifi.com
+pgafan.net
+point2this.com
+pointto.us
+privatizehealthinsurance.net
+quicksytes.com
+read-books.org
+securitytactics.com
+serveexchange.com
+servehumour.com
+servep2p.com
+servesarcasm.com
+stufftoread.com
+ufcfan.org
+unusualperson.com
+workisboring.com
+3utilities.com
+bounceme.net
+ddns.net
+ddnsking.com
+gotdns.ch
+hopto.org
+myftp.biz
+myftp.org
+myvnc.com
+no-ip.biz
+no-ip.info
+no-ip.org
+noip.me
+redirectme.net
+servebeer.com
+serveblog.net
+servecounterstrike.com
+serveftp.com
+servegame.com
+servehalflife.com
+servehttp.com
+serveirc.com
+serveminecraft.net
+servemp3.com
+servepics.com
+servequake.com
+sytes.net
+webhop.me
+zapto.org
+
+// NYC.mn : http://www.information.nyc.mn
+// Submitted by Matthew Brown <mattbrown@nyc.mn>
+nyc.mn
+
+// Octopodal Solutions, LLC. : https://ulterius.io/
+// Submitted by Andrew Sampson <andrew@ulterius.io>
+cya.gg
+
+// One Fold Media : http://www.onefoldmedia.com/
+// Submitted by Eddie Jones <eddie@onefoldmedia.com>
+nid.io
+
+// OpenCraft GmbH : http://opencraft.com/
+// Submitted by Sven Marnach <sven@opencraft.com>
+opencraft.hosting
+
+// Opera Software, A.S.A.
+// Submitted by Yngve Pettersen <yngve@opera.com>
+operaunite.com
+
+// OutSystems
+// Submitted by Duarte Santos <domain-admin@outsystemscloud.com>
+outsystemscloud.com
+
+// OwnProvider : http://www.ownprovider.com
+// Submitted by Jan Moennich <jan.moennich@ownprovider.com>
+ownprovider.com
+
+// oy.lc
+// Submitted by Charly Coste <changaco@changaco.oy.lc>
+oy.lc
+
+// Pagefog : https://pagefog.com/
+// Submitted by Derek Myers <derek@pagefog.com>
+pgfog.com
+
+// Pagefront : https://www.pagefronthq.com/
+// Submitted by Jason Kriss <jason@pagefronthq.com>
+pagefrontapp.com
+
+// .pl domains (grandfathered)
+art.pl
+gliwice.pl
+krakow.pl
+poznan.pl
+wroc.pl
+zakopane.pl
+
+// Pantheon Systems, Inc. : https://pantheon.io/
+// Submitted by Gary Dylina <gary@pantheon.io>
+pantheonsite.io
+gotpantheon.com
+
+// Peplink | Pepwave : http://peplink.com/
+// Submitted by Steve Leung <steveleung@peplink.com>
+mypep.link
+
+// Planet-Work : https://www.planet-work.com/
+// Submitted by Frédéric VANNIÈRE <f.vanniere@planet-work.com>
+on-web.fr
+
+// prgmr.com : https://prgmr.com/
+// Submitted by Sarah Newman <owner@prgmr.com>
+xen.prgmr.com
+
+// priv.at : http://www.nic.priv.at/
+// Submitted by registry <lendl@nic.at>
+priv.at
+
+// Protonet GmbH : http://protonet.io
+// Submitted by Martin Meier <admin@protonet.io>
+protonet.io
+
+// Publication Presse Communication SARL : https://ppcom.fr
+// Submitted by Yaacov Akiba Slama <admin@chirurgiens-dentistes-en-france.fr>
+chirurgiens-dentistes-en-france.fr
+
+// QA2
+// Submitted by Daniel Dent (https://www.danieldent.com/)
+qa2.com
+
+// QNAP System Inc : https://www.qnap.com
+// Submitted by Nick Chang <nickchang@qnap.com>
+dev-myqnapcloud.com
+alpha-myqnapcloud.com
+myqnapcloud.com
+
+// Rackmaze LLC : https://www.rackmaze.com
+// Submitted by Kirill Pertsev <kika@rackmaze.com>
+rackmaze.com
+rackmaze.net
+
+// Red Hat, Inc. OpenShift : https://openshift.redhat.com/
+// Submitted by Tim Kramer <tkramer@rhcloud.com>
+rhcloud.com
+
+// RethinkDB : https://www.rethinkdb.com/
+// Submitted by Chris Kastorff <info@rethinkdb.com>
+hzc.io
+
+// Revitalised Limited : http://www.revitalised.co.uk
+// Submitted by Jack Price <jack@revitalised.co.uk>
+wellbeingzone.eu
+ptplus.fit
+wellbeingzone.co.uk
+
+// Sandstorm Development Group, Inc. : https://sandcats.io/
+// Submitted by Asheesh Laroia <asheesh@sandstorm.io>
+sandcats.io
+
+// SBE network solutions GmbH : https://www.sbe.de/
+// Submitted by Norman Meilick <nm@sbe.de>
+logoip.de
+logoip.com
+
+// Securepoint GmbH : https://www.securepoint.de
+// Submitted by Erik Anders <erik.anders@securepoint.de>
+firewall-gateway.com
+firewall-gateway.de
+my-gateway.de
+my-router.de
+spdns.de
+spdns.eu
+firewall-gateway.net
+my-firewall.org
+myfirewall.org
+spdns.org
+
+// Service Online LLC : http://drs.ua/
+// Submitted by Serhii Bulakh <support@drs.ua>
+biz.ua
+co.ua
+pp.ua
+
+// ShiftEdit : https://shiftedit.net/
+// Submitted by Adam Jimenez <adam@shiftcreate.com>
+shiftedit.io
+
+// Shopblocks : http://www.shopblocks.com/
+// Submitted by Alex Bowers <alex@shopblocks.com>
+myshopblocks.com
+
+// SinaAppEngine : http://sae.sina.com.cn/
+// Submitted by SinaAppEngine <saesupport@sinacloud.com>
+1kapp.com
+appchizi.com
+applinzi.com
+sinaapp.com
+vipsinaapp.com
+
+// Skyhat : http://www.skyhat.io
+// Submitted by Shante Adam <shante@skyhat.io>
+bounty-full.com
+alpha.bounty-full.com
+beta.bounty-full.com
+
+// staticland : https://static.land
+// Submitted by Seth Vincent <sethvincent@gmail.com>
+static.land
+dev.static.land
+sites.static.land
+
+// SourceLair PC : https://www.sourcelair.com
+// Submitted by Antonis Kalipetis <akalipetis@sourcelair.com>
+apps.lair.io
+*.stolos.io
+
+// SpaceKit : https://www.spacekit.io/
+// Submitted by Reza Akhavan <spacekit.io@gmail.com>
+spacekit.io
+
+// Stackspace : https://www.stackspace.io/
+// Submitted by Lina He <info@stackspace.io>
+stackspace.space
+
+// Storj Labs Inc. : https://storj.io/
+// Submitted by Philip Hutchins <hostmaster@storj.io>
+storj.farm
+
+// Synology, Inc. : https://www.synology.com/
+// Submitted by Rony Weng <ronyweng@synology.com>
+diskstation.me
+dscloud.biz
+dscloud.me
+dscloud.mobi
+dsmynas.com
+dsmynas.net
+dsmynas.org
+familyds.com
+familyds.net
+familyds.org
+i234.me
+myds.me
+synology.me
+vpnplus.to
+
+// TAIFUN Software AG : http://taifun-software.de
+// Submitted by Bjoern Henke <dev-server@taifun-software.de>
+taifun-dns.de
+
+// TASK geographical domains (www.task.gda.pl/uslugi/dns)
+gda.pl
+gdansk.pl
+gdynia.pl
+med.pl
+sopot.pl
+
+// TownNews.com : http://www.townnews.com
+// Submitted by Dustin Ward <dward@townnews.com>
+bloxcms.com
+townnews-staging.com
+
+// TransIP : htts://www.transip.nl
+// Submitted by Rory Breuk <rbreuk@transip.nl>
+*.transurl.be
+*.transurl.eu
+*.transurl.nl
+
+// TuxFamily : http://tuxfamily.org
+// Submitted by TuxFamily administrators <adm@staff.tuxfamily.org>
+tuxfamily.org
+
+// TwoDNS : https://www.twodns.de/
+// Submitted by TwoDNS-Support <support@two-dns.de>
+dd-dns.de
+diskstation.eu
+diskstation.org
+dray-dns.de
+draydns.de
+dyn-vpn.de
+dynvpn.de
+mein-vigor.de
+my-vigor.de
+my-wan.de
+syno-ds.de
+synology-diskstation.de
+synology-ds.de
+
+// Uberspace : https://uberspace.de
+// Submitted by Moritz Werner <mwerner@jonaspasche.com>
+uber.space
+
+// UDR Limited : http://www.udr.hk.com
+// Submitted by registry <hostmaster@udr.hk.com>
+hk.com
+hk.org
+ltd.hk
+inc.hk
+
+// .US
+// Submitted by Ed Moore <Ed.Moore@lib.de.us>
+lib.de.us
+
+// Viprinet Europe GmbH : http://www.viprinet.com
+// Submitted by Simon Kissel <hostmaster@viprinet.com>
+router.management
+
+// Western Digital Technologies, Inc : https://www.wdc.com
+// Submitted by Jung Jin <jungseok.jin@wdc.com>
+remotewd.com
+
+// Wikimedia Labs : https://wikitech.wikimedia.org
+// Submitted by Yuvi Panda <yuvipanda@wikimedia.org>
+wmflabs.org
+
+// XS4ALL Internet bv: https://www.xs4all.nl/
+// Submitted by Daniel Mostertman <unixbeheer+publicsuffix@xs4all.net>
+xs4all.space
+
+// Yola : https://www.yola.com/
+// Submitted by Stefano Rivera <stefano@yola.com>
+yolasite.com
+
+// Yombo : https://yombo.net
+// Submitted by Mitch Schwenk <mitch@yombo.net>
+ybo.faith
+yombo.me
+homelink.one
+ybo.party
+ybo.review
+ybo.science
+ybo.trade
+
+// ZaNiC : http://www.za.net/
+// Submitted by registry <hostmaster@nic.za.net>
+za.net
+za.org
+
+// Zeit, Inc. : https://zeit.domains/
+// Submitted by Olli Vanhoja <olli@zeit.co>
+now.sh
+
+// 1GB LLC : https://www.1gb.ua/
+// Submitted by 1GB LLC <noc@1gb.com.ua>
+cc.ua
+inf.ua
+ltd.ua
+
+// ===END PRIVATE DOMAINS===
diff --git a/src/net/base/registry_controlled_domains/effective_tld_names.gperf b/src/net/base/registry_controlled_domains/effective_tld_names.gperf
new file mode 100644
index 0000000..ba49a41
--- /dev/null
+++ b/src/net/base/registry_controlled_domains/effective_tld_names.gperf
@@ -0,0 +1,8142 @@
+%{
+// Copyright 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// This file is generated by net/tools/tld_cleanup/.
+// DO NOT MANUALLY EDIT!
+%}
+struct DomainRule {
+  int name_offset;
+  int type;  // flags: 1: exception, 2: wildcard, 4: private
+};
+%%
+0.bg, 0
+0emm.com, 6
+1.bg, 0
+1kapp.com, 4
+2.bg, 0
+2000.hu, 0
+3.bg, 0
+3utilities.com, 4
+4.bg, 0
+4u.com, 4
+5.bg, 0
+6.bg, 0
+7.bg, 0
+8.bg, 0
+9.bg, 0
+a.bg, 0
+a.prod.fastly.net, 4
+a.se, 0
+a.ssl.fastly.net, 4
+aa.no, 0
+aaa, 0
+aaa.pro, 0
+aarborte.no, 0
+aarp, 0
+ab.ca, 0
+abarth, 0
+abashiri.hokkaido.jp, 0
+abb, 0
+abbott, 0
+abbvie, 0
+abc, 0
+abeno.osaka.jp, 0
+abiko.chiba.jp, 0
+abira.hokkaido.jp, 0
+abkhazia.su, 4
+able, 0
+abo.pa, 0
+abogado, 0
+abr.it, 0
+abruzzo.it, 0
+abu.yamaguchi.jp, 0
+abudhabi, 0
+ac, 0
+ac.ae, 0
+ac.at, 0
+ac.be, 0
+ac.ci, 0
+ac.cn, 0
+ac.cr, 0
+ac.cy, 0
+ac.gn, 0
+ac.id, 0
+ac.il, 0
+ac.im, 0
+ac.in, 0
+ac.ir, 0
+ac.jp, 0
+ac.kr, 0
+ac.leg.br, 4
+ac.lk, 0
+ac.ma, 0
+ac.me, 0
+ac.mu, 0
+ac.mw, 0
+ac.mz, 0
+ac.ni, 0
+ac.nz, 0
+ac.pa, 0
+ac.pr, 0
+ac.rs, 0
+ac.ru, 0
+ac.rw, 0
+ac.se, 0
+ac.sz, 0
+ac.th, 0
+ac.tj, 0
+ac.tz, 0
+ac.ug, 0
+ac.uk, 0
+ac.vn, 0
+ac.za, 0
+ac.zm, 0
+ac.zw, 0
+aca.pro, 0
+academy, 0
+academy.museum, 0
+accenture, 0
+accident-investigation.aero, 0
+accident-prevention.aero, 0
+accountant, 0
+accountants, 0
+acct.pro, 0
+achi.nagano.jp, 0
+aco, 0
+act.au, 0
+act.edu.au, 0
+active, 0
+actor, 0
+ad, 0
+ad.jp, 0
+adac, 0
+adachi.tokyo.jp, 0
+adm.br, 0
+ads, 0
+adult, 0
+adult.ht, 0
+adv.br, 0
+adv.mz, 0
+advisor.ws, 6
+adygeya.ru, 4
+adygeya.su, 4
+ae, 0
+ae.org, 4
+aeg, 0
+aejrie.no, 0
+aero, 0
+aero.mv, 0
+aero.tt, 0
+aerobatic.aero, 0
+aeroclub.aero, 0
+aerodrome.aero, 0
+aeroport.fr, 0
+aetna, 0
+af, 0
+afamilycompany, 0
+afjord.no, 0
+afl, 0
+africa, 0
+africa.com, 4
+ag, 0
+ag.it, 0
+aga.niigata.jp, 0
+agakhan, 0
+agano.niigata.jp, 0
+agdenes.no, 0
+agematsu.nagano.jp, 0
+agency, 0
+agents.aero, 0
+agr.br, 0
+agrar.hu, 0
+agric.za, 0
+agriculture.museum, 0
+agrigento.it, 0
+agrinet.tn, 0
+agro.pl, 0
+aguni.okinawa.jp, 0
+ah.cn, 0
+ah.no, 0
+ai, 0
+aibetsu.hokkaido.jp, 0
+aichi.jp, 0
+aid.pl, 0
+aig, 0
+aigo, 0
+aikawa.kanagawa.jp, 0
+ainan.ehime.jp, 0
+aioi.hyogo.jp, 0
+aip.ee, 0
+air-surveillance.aero, 0
+air-traffic-control.aero, 0
+air.museum, 0
+airbus, 0
+aircraft.aero, 0
+airforce, 0
+airguard.museum, 0
+airline.aero, 0
+airport.aero, 0
+airtel, 0
+airtraffic.aero, 0
+aisai.aichi.jp, 0
+aisho.shiga.jp, 0
+aizubange.fukushima.jp, 0
+aizumi.tokushima.jp, 0
+aizumisato.fukushima.jp, 0
+aizuwakamatsu.fukushima.jp, 0
+ak.us, 0
+akabira.hokkaido.jp, 0
+akagi.shimane.jp, 0
+akaiwa.okayama.jp, 0
+akashi.hyogo.jp, 0
+akdn, 0
+aki.kochi.jp, 0
+akiruno.tokyo.jp, 0
+akishima.tokyo.jp, 0
+akita.akita.jp, 0
+akita.jp, 0
+akkeshi.hokkaido.jp, 0
+aknoluokta.no, 0
+ako.hyogo.jp, 0
+akrehamn.no, 0
+aktyubinsk.su, 4
+akune.kagoshima.jp, 0
+al, 0
+al.eu.org, 4
+al.it, 0
+al.leg.br, 4
+al.no, 0
+al.us, 0
+alabama.museum, 0
+alaheadju.no, 0
+aland.fi, 0
+alaska.museum, 0
+alces.network, 6
+alessandria.it, 0
+alesund.no, 0
+alfaromeo, 0
+algard.no, 0
+alibaba, 0
+alipay, 0
+allfinanz, 0
+allstate, 0
+ally, 0
+alpha-myqnapcloud.com, 4
+alpha.bounty-full.com, 4
+alsace, 0
+alstahaug.no, 0
+alstom, 0
+alt.za, 0
+alta.no, 0
+alto-adige.it, 0
+altoadige.it, 0
+alvdal.no, 0
+alwaysdata.net, 6
+am, 0
+am.br, 0
+am.leg.br, 4
+ama.aichi.jp, 0
+ama.shimane.jp, 0
+amagasaki.hyogo.jp, 0
+amakusa.kumamoto.jp, 0
+amami.kagoshima.jp, 0
+amber.museum, 0
+ambulance.aero, 0
+ambulance.museum, 0
+american.museum, 0
+americana.museum, 0
+americanantiques.museum, 0
+americanart.museum, 0
+americanexpress, 0
+americanfamily, 0
+amex, 0
+amfam, 0
+ami.ibaraki.jp, 0
+amica, 0
+amli.no, 0
+amot.no, 0
+amsterdam, 0
+amsterdam.museum, 0
+amusement.aero, 0
+an.it, 0
+analytics, 0
+anamizu.ishikawa.jp, 0
+anan.nagano.jp, 0
+anan.tokushima.jp, 0
+ancona.it, 0
+and.museum, 0
+andasuolo.no, 0
+andebu.no, 0
+ando.nara.jp, 0
+andoy.no, 0
+andria-barletta-trani.it, 0
+andria-trani-barletta.it, 0
+andriabarlettatrani.it, 0
+andriatranibarletta.it, 0
+android, 0
+anjo.aichi.jp, 0
+annaka.gunma.jp, 0
+annefrank.museum, 0
+anpachi.gifu.jp, 0
+anquan, 0
+anthro.museum, 0
+anthropology.museum, 0
+antiques.museum, 0
+anz, 0
+ao, 0
+ao.it, 0
+aogaki.hyogo.jp, 0
+aogashima.tokyo.jp, 0
+aoki.nagano.jp, 0
+aol, 0
+aomori.aomori.jp, 0
+aomori.jp, 0
+aosta-valley.it, 0
+aosta.it, 0
+aostavalley.it, 0
+aoste.it, 0
+ap.gov.pl, 0
+ap.it, 0
+ap.leg.br, 4
+apartments, 0
+api.githubcloud.com, 6
+app, 0
+appchizi.com, 4
+apple, 0
+applinzi.com, 4
+apps.fbsbx.com, 4
+apps.lair.io, 4
+appspot.com, 4
+aq, 0
+aq.it, 0
+aquarelle, 0
+aquarium.museum, 0
+aquila.it, 0
+ar, 0
+ar.com, 4
+ar.it, 0
+ar.us, 0
+arab, 0
+arai.shizuoka.jp, 0
+arakawa.saitama.jp, 0
+arakawa.tokyo.jp, 0
+aramco, 0
+arao.kumamoto.jp, 0
+arboretum.museum, 0
+archaeological.museum, 0
+archaeology.museum, 0
+archi, 0
+architecture.museum, 0
+ardal.no, 0
+aremark.no, 0
+arendal.no, 0
+arezzo.it, 0
+ariake.saga.jp, 0
+arida.wakayama.jp, 0
+aridagawa.wakayama.jp, 0
+arita.saga.jp, 0
+arkhangelsk.su, 4
+armenia.su, 4
+army, 0
+arna.no, 0
+arpa, 0
+arq.br, 0
+art, 0
+art.br, 0
+art.do, 0
+art.dz, 0
+art.ht, 0
+art.museum, 0
+art.pl, 4
+art.sn, 0
+artanddesign.museum, 0
+artcenter.museum, 0
+artdeco.museum, 0
+arte, 0
+arteducation.museum, 0
+artgallery.museum, 0
+arts.co, 0
+arts.museum, 0
+arts.nf, 0
+arts.ro, 0
+arts.ve, 0
+artsandcrafts.museum, 0
+as, 0
+as.us, 0
+asago.hyogo.jp, 0
+asahi.chiba.jp, 0
+asahi.ibaraki.jp, 0
+asahi.mie.jp, 0
+asahi.nagano.jp, 0
+asahi.toyama.jp, 0
+asahi.yamagata.jp, 0
+asahikawa.hokkaido.jp, 0
+asaka.saitama.jp, 0
+asakawa.fukushima.jp, 0
+asakuchi.okayama.jp, 0
+asaminami.hiroshima.jp, 0
+ascoli-piceno.it, 0
+ascolipiceno.it, 0
+asda, 0
+aseral.no, 0
+ashgabad.su, 4
+ashibetsu.hokkaido.jp, 0
+ashikaga.tochigi.jp, 0
+ashiya.fukuoka.jp, 0
+ashiya.hyogo.jp, 0
+ashoro.hokkaido.jp, 0
+asia, 0
+asker.no, 0
+askim.no, 0
+askoy.no, 0
+askvoll.no, 0
+asmatart.museum, 0
+asn.au, 0
+asn.lv, 0
+asnes.no, 0
+aso.kumamoto.jp, 0
+ass.km, 0
+assabu.hokkaido.jp, 0
+assassination.museum, 0
+assedic.fr, 0
+assisi.museum, 0
+assn.lk, 0
+asso.bj, 0
+asso.ci, 0
+asso.dz, 0
+asso.eu.org, 4
+asso.fr, 0
+asso.gp, 0
+asso.ht, 0
+asso.km, 0
+asso.mc, 0
+asso.nc, 0
+asso.re, 0
+associates, 0
+association.aero, 0
+association.museum, 0
+asti.it, 0
+astronomy.museum, 0
+asuke.aichi.jp, 0
+at, 0
+at-band-camp.net, 4
+at.eu.org, 4
+at.it, 0
+atami.shizuoka.jp, 0
+ath.cx, 4
+athleta, 0
+atlanta.museum, 0
+atm.pl, 0
+ato.br, 0
+atsugi.kanagawa.jp, 0
+atsuma.hokkaido.jp, 0
+attorney, 0
+au, 0
+au.eu.org, 4
+auction, 0
+audi, 0
+audible, 0
+audio, 0
+audnedaln.no, 0
+augustow.pl, 0
+aukra.no, 0
+aure.no, 0
+aurland.no, 0
+aurskog-holand.no, 0
+auspost, 0
+austevoll.no, 0
+austin.museum, 0
+australia.museum, 0
+austrheim.no, 0
+author, 0
+author.aero, 0
+auto, 0
+auto.pl, 0
+automotive.museum, 0
+autos, 0
+av.it, 0
+av.tr, 0
+avellino.it, 0
+averoy.no, 0
+avianca, 0
+aviation.museum, 0
+avocat.fr, 0
+avocat.pro, 0
+avoues.fr, 0
+aw, 0
+awaji.hyogo.jp, 0
+awdev.ca, 6
+aws, 0
+ax, 0
+axa, 0
+axis.museum, 0
+aya.miyazaki.jp, 0
+ayabe.kyoto.jp, 0
+ayagawa.kagawa.jp, 0
+ayase.kanagawa.jp, 0
+az, 0
+az.us, 0
+azerbaijan.su, 4
+azumino.nagano.jp, 0
+azure, 0
+azure-mobile.net, 4
+azurewebsites.net, 4
+b.bg, 0
+b.br, 0
+b.se, 0
+b.ssl.fastly.net, 4
+ba, 0
+ba.it, 0
+ba.leg.br, 4
+babia-gora.pl, 0
+baby, 0
+backplaneapp.io, 4
+badaddja.no, 0
+badajoz.museum, 0
+baghdad.museum, 0
+bahcavuotna.no, 0
+bahccavuotna.no, 0
+bahn.museum, 0
+baidar.no, 0
+baidu, 0
+bajddar.no, 0
+balashov.su, 4
+balat.no, 0
+bale.museum, 0
+balestrand.no, 0
+ballangen.no, 0
+ballooning.aero, 0
+balsan.it, 0
+balsfjord.no, 0
+baltimore.museum, 0
+bamble.no, 0
+banamex, 0
+bananarepublic, 0
+band, 0
+bandai.fukushima.jp, 0
+bando.ibaraki.jp, 0
+bank, 0
+bar, 0
+bar.pro, 0
+barcelona, 0
+barcelona.museum, 0
+barclaycard, 0
+barclays, 0
+bardu.no, 0
+barefoot, 0
+bargains, 0
+bari.it, 0
+barletta-trani-andria.it, 0
+barlettatraniandria.it, 0
+barreau.bj, 0
+barrel-of-knowledge.info, 4
+barrell-of-knowledge.info, 4
+barum.no, 0
+bas.it, 0
+baseball, 0
+baseball.museum, 0
+basel.museum, 0
+bashkiria.ru, 4
+bashkiria.su, 4
+basilicata.it, 0
+basketball, 0
+baths.museum, 0
+bato.tochigi.jp, 0
+batsfjord.no, 0
+bauern.museum, 0
+bauhaus, 0
+bayern, 0
+bb, 0
+bbc, 0
+bbs.tr, 0
+bbt, 0
+bbva, 0
+bc.ca, 0
+bcg, 0
+bcn, 0
+bd, 2
+bd.se, 0
+be, 0
+be.eu.org, 4
+bearalvahki.no, 0
+beardu.no, 0
+beats, 0
+beauty, 0
+beauxarts.museum, 0
+bedzin.pl, 0
+beeldengeluid.museum, 0
+beep.pl, 4
+beer, 0
+beiarn.no, 0
+bel.tr, 0
+belau.pw, 0
+bellevue.museum, 0
+belluno.it, 0
+benevento.it, 0
+bentley, 0
+beppu.oita.jp, 0
+berg.no, 0
+bergamo.it, 0
+bergbau.museum, 0
+bergen.no, 0
+berkeley.museum, 0
+berlevag.no, 0
+berlin, 0
+berlin.museum, 0
+bern.museum, 0
+beskidy.pl, 0
+best, 0
+bestbuy, 0
+bet, 0
+beta.bounty-full.com, 4
+betainabox.com, 4
+better-than.tv, 4
+bf, 0
+bg, 0
+bg.eu.org, 4
+bg.it, 0
+bh, 0
+bharti, 0
+bi, 0
+bi.it, 0
+bialowieza.pl, 0
+bialystok.pl, 0
+bibai.hokkaido.jp, 0
+bible, 0
+bible.museum, 0
+bid, 0
+biei.hokkaido.jp, 0
+bielawa.pl, 0
+biella.it, 0
+bieszczady.pl, 0
+bievat.no, 0
+bifuka.hokkaido.jp, 0
+bihoro.hokkaido.jp, 0
+bike, 0
+bilbao.museum, 0
+bill.museum, 0
+bindal.no, 0
+bing, 0
+bingo, 0
+bio, 0
+bio.br, 0
+bir.ru, 4
+biratori.hokkaido.jp, 0
+birdart.museum, 0
+birkenes.no, 0
+birthplace.museum, 0
+biz, 0
+biz.at, 4
+biz.az, 0
+biz.bb, 0
+biz.cy, 0
+biz.dk, 4
+biz.et, 0
+biz.id, 0
+biz.ki, 0
+biz.mv, 0
+biz.mw, 0
+biz.ni, 0
+biz.nr, 0
+biz.pk, 0
+biz.pl, 0
+biz.pr, 0
+biz.tj, 0
+biz.tr, 0
+biz.tt, 0
+biz.ua, 4
+biz.vn, 0
+biz.zm, 0
+bizen.okayama.jp, 0
+bj, 0
+bj.cn, 0
+bjarkoy.no, 0
+bjerkreim.no, 0
+bjugn.no, 0
+bl.it, 0
+black, 0
+blackfriday, 0
+blanco, 0
+blockbuster, 0
+blog, 0
+blog.br, 0
+blogdns.com, 4
+blogdns.net, 4
+blogdns.org, 4
+blogsite.org, 4
+blogspot.ae, 4
+blogspot.al, 4
+blogspot.am, 4
+blogspot.ba, 4
+blogspot.be, 4
+blogspot.bg, 4
+blogspot.bj, 4
+blogspot.ca, 4
+blogspot.cf, 4
+blogspot.ch, 4
+blogspot.cl, 4
+blogspot.co.at, 4
+blogspot.co.id, 4
+blogspot.co.il, 4
+blogspot.co.ke, 4
+blogspot.co.nz, 4
+blogspot.co.uk, 4
+blogspot.co.za, 4
+blogspot.com, 4
+blogspot.com.ar, 4
+blogspot.com.au, 4
+blogspot.com.br, 4
+blogspot.com.by, 4
+blogspot.com.co, 4
+blogspot.com.cy, 4
+blogspot.com.ee, 4
+blogspot.com.eg, 4
+blogspot.com.es, 4
+blogspot.com.mt, 4
+blogspot.com.ng, 4
+blogspot.com.tr, 4
+blogspot.com.uy, 4
+blogspot.cv, 4
+blogspot.cz, 4
+blogspot.de, 4
+blogspot.dk, 4
+blogspot.fi, 4
+blogspot.fr, 4
+blogspot.gr, 4
+blogspot.hk, 4
+blogspot.hr, 4
+blogspot.hu, 4
+blogspot.ie, 4
+blogspot.in, 4
+blogspot.is, 4
+blogspot.it, 4
+blogspot.jp, 4
+blogspot.kr, 4
+blogspot.li, 4
+blogspot.lt, 4
+blogspot.lu, 4
+blogspot.md, 4
+blogspot.mk, 4
+blogspot.mr, 4
+blogspot.mx, 4
+blogspot.my, 4
+blogspot.nl, 4
+blogspot.no, 4
+blogspot.pe, 4
+blogspot.pt, 4
+blogspot.qa, 4
+blogspot.re, 4
+blogspot.ro, 4
+blogspot.rs, 4
+blogspot.ru, 4
+blogspot.se, 4
+blogspot.sg, 4
+blogspot.si, 4
+blogspot.sk, 4
+blogspot.sn, 4
+blogspot.td, 4
+blogspot.tw, 4
+blogspot.ug, 4
+blogspot.vn, 4
+blogsyte.com, 4
+bloomberg, 0
+bloxcms.com, 4
+blue, 0
+bm, 0
+bmd.br, 0
+bmoattachments.org, 4
+bms, 0
+bmw, 0
+bn, 2
+bn.it, 0
+bnl, 0
+bnpparibas, 0
+bnr.la, 4
+bo, 0
+bo.it, 0
+bo.nordland.no, 0
+bo.telemark.no, 0
+boats, 0
+bodo.no, 0
+boehringer, 0
+bofa, 0
+bokn.no, 0
+boldlygoingnowhere.org, 4
+boleslawiec.pl, 0
+bologna.it, 0
+bolt.hu, 0
+bolzano.it, 0
+bom, 0
+bomlo.no, 0
+bond, 0
+bonn.museum, 0
+boo, 0
+book, 0
+booking, 0
+boots, 0
+bosch, 0
+bostik, 0
+boston, 0
+boston.museum, 0
+bot, 0
+botanical.museum, 0
+botanicalgarden.museum, 0
+botanicgarden.museum, 0
+botany.museum, 0
+bounceme.net, 4
+bounty-full.com, 4
+boutique, 0
+box, 0
+boxfuse.io, 4
+bozen.it, 0
+br, 0
+br.com, 4
+br.it, 0
+bradesco, 0
+brand.se, 0
+brandywinevalley.museum, 0
+brasil.museum, 0
+brasilia.me, 4
+bremanger.no, 0
+brescia.it, 0
+bridgestone, 0
+brindisi.it, 0
+bristol.museum, 0
+british.museum, 0
+britishcolumbia.museum, 0
+broadcast.museum, 0
+broadway, 0
+broke-it.net, 4
+broker, 0
+broker.aero, 0
+bronnoy.no, 0
+bronnoysund.no, 0
+brother, 0
+browsersafetymark.io, 4
+brumunddal.no, 0
+brunel.museum, 0
+brussel.museum, 0
+brussels, 0
+brussels.museum, 0
+bruxelles.museum, 0
+bryansk.su, 4
+bryne.no, 0
+bs, 0
+bs.it, 0
+bt, 0
+bt.it, 0
+bu.no, 0
+budapest, 0
+budejju.no, 0
+bugatti, 0
+build, 0
+builders, 0
+building.museum, 0
+bukhara.su, 4
+bungoono.oita.jp, 0
+bungotakada.oita.jp, 0
+bunkyo.tokyo.jp, 0
+burghof.museum, 0
+bus.museum, 0
+busan.kr, 0
+bushey.museum, 0
+business, 0
+buy, 0
+buyshouses.net, 4
+buzen.fukuoka.jp, 0
+buzz, 0
+bv, 0
+bv.nl, 0
+bw, 0
+by, 0
+bydgoszcz.pl, 0
+bygland.no, 0
+bykle.no, 0
+bytom.pl, 0
+bz, 0
+bz.it, 0
+bzh, 0
+c.bg, 0
+c.cdn77.org, 4
+c.la, 4
+c.se, 0
+c66.me, 4
+ca, 0
+ca.eu.org, 4
+ca.it, 0
+ca.na, 0
+ca.us, 0
+caa.aero, 0
+cab, 0
+cable-modem.org, 4
+cadaques.museum, 0
+cafe, 0
+cagliari.it, 0
+cahcesuolo.no, 0
+cal, 0
+cal.it, 0
+calabria.it, 0
+california.museum, 0
+call, 0
+caltanissetta.it, 0
+calvinklein, 0
+cam, 0
+cam.it, 0
+cambridge.museum, 0
+camera, 0
+camp, 0
+campania.it, 0
+campidano-medio.it, 0
+campidanomedio.it, 0
+campobasso.it, 0
+can.museum, 0
+canada.museum, 0
+cancerresearch, 0
+canon, 0
+capebreton.museum, 0
+capetown, 0
+capital, 0
+capitalone, 0
+car, 0
+caravan, 0
+carbonia-iglesias.it, 0
+carboniaiglesias.it, 0
+cards, 0
+care, 0
+career, 0
+careers, 0
+cargo.aero, 0
+carrara-massa.it, 0
+carraramassa.it, 0
+carrier.museum, 0
+cars, 0
+cartier, 0
+cartoonart.museum, 0
+casa, 0
+casadelamoneda.museum, 0
+case, 0
+caseih, 0
+caserta.it, 0
+cash, 0
+casino, 0
+casino.hu, 0
+castle.museum, 0
+castres.museum, 0
+cat, 0
+catania.it, 0
+catanzaro.it, 0
+catering, 0
+catering.aero, 0
+catholic, 0
+cb.it, 0
+cba, 0
+cbg.ru, 4
+cbn, 0
+cbre, 0
+cbs, 0
+cc, 0
+cc.ak.us, 0
+cc.al.us, 0
+cc.ar.us, 0
+cc.as.us, 0
+cc.az.us, 0
+cc.ca.us, 0
+cc.co.us, 0
+cc.ct.us, 0
+cc.dc.us, 0
+cc.de.us, 0
+cc.fl.us, 0
+cc.ga.us, 0
+cc.gu.us, 0
+cc.hi.us, 0
+cc.ia.us, 0
+cc.id.us, 0
+cc.il.us, 0
+cc.in.us, 0
+cc.ks.us, 0
+cc.ky.us, 0
+cc.la.us, 0
+cc.ma.us, 0
+cc.md.us, 0
+cc.me.us, 0
+cc.mi.us, 0
+cc.mn.us, 0
+cc.mo.us, 0
+cc.ms.us, 0
+cc.mt.us, 0
+cc.na, 0
+cc.nc.us, 0
+cc.nd.us, 0
+cc.ne.us, 0
+cc.nh.us, 0
+cc.nj.us, 0
+cc.nm.us, 0
+cc.nv.us, 0
+cc.ny.us, 0
+cc.oh.us, 0
+cc.ok.us, 0
+cc.or.us, 0
+cc.pa.us, 0
+cc.pr.us, 0
+cc.ri.us, 0
+cc.sc.us, 0
+cc.sd.us, 0
+cc.tn.us, 0
+cc.tx.us, 0
+cc.ua, 4
+cc.ut.us, 0
+cc.va.us, 0
+cc.vi.us, 0
+cc.vt.us, 0
+cc.wa.us, 0
+cc.wi.us, 0
+cc.wv.us, 0
+cc.wy.us, 0
+cci.fr, 0
+cd, 0
+cd.eu.org, 4
+cdn77-ssl.net, 4
+ce.it, 0
+ce.leg.br, 4
+ceb, 0
+cechire.com, 4
+celtic.museum, 0
+center, 0
+center.museum, 0
+ceo, 0
+cern, 0
+certification.aero, 0
+certmgr.org, 4
+cesena-forli.it, 0
+cesenaforli.it, 0
+cf, 0
+cfa, 0
+cfd, 0
+cg, 0
+ch, 0
+ch.eu.org, 4
+ch.it, 0
+chambagri.fr, 0
+championship.aero, 0
+chanel, 0
+channel, 0
+charter.aero, 0
+chase, 0
+chat, 0
+chattanooga.museum, 0
+cheap, 0
+cheltenham.museum, 0
+cherkassy.ua, 0
+cherkasy.ua, 0
+chernigov.ua, 0
+chernihiv.ua, 0
+chernivtsi.ua, 0
+chernovtsy.ua, 0
+chesapeakebay.museum, 0
+chiba.jp, 0
+chicago.museum, 0
+chichibu.saitama.jp, 0
+chieti.it, 0
+chigasaki.kanagawa.jp, 0
+chihayaakasaka.osaka.jp, 0
+chijiwa.nagasaki.jp, 0
+chikugo.fukuoka.jp, 0
+chikuho.fukuoka.jp, 0
+chikuhoku.nagano.jp, 0
+chikujo.fukuoka.jp, 0
+chikuma.nagano.jp, 0
+chikusei.ibaraki.jp, 0
+chikushino.fukuoka.jp, 0
+chikuzen.fukuoka.jp, 0
+children.museum, 0
+childrens.museum, 0
+childrensgarden.museum, 0
+chimkent.su, 4
+chino.nagano.jp, 0
+chintai, 0
+chippubetsu.hokkaido.jp, 0
+chiropractic.museum, 0
+chirurgiens-dentistes-en-france.fr, 4
+chirurgiens-dentistes.fr, 0
+chiryu.aichi.jp, 0
+chita.aichi.jp, 0
+chitose.hokkaido.jp, 0
+chiyoda.gunma.jp, 0
+chiyoda.tokyo.jp, 0
+chizu.tottori.jp, 0
+chloe, 0
+chocolate.museum, 0
+chofu.tokyo.jp, 0
+chonan.chiba.jp, 0
+chosei.chiba.jp, 0
+choshi.chiba.jp, 0
+choyo.kumamoto.jp, 0
+christiansburg.museum, 0
+christmas, 0
+chrome, 0
+chrysler, 0
+chtr.k12.ma.us, 0
+chungbuk.kr, 0
+chungnam.kr, 0
+chuo.chiba.jp, 0
+chuo.fukuoka.jp, 0
+chuo.osaka.jp, 0
+chuo.tokyo.jp, 0
+chuo.yamanashi.jp, 0
+church, 0
+ci, 0
+ci.it, 0
+cieszyn.pl, 0
+cim.br, 0
+cincinnati.museum, 0
+cinema.museum, 0
+cipriani, 0
+circle, 0
+circus.museum, 0
+cisco, 0
+ciscofreak.com, 4
+citadel, 0
+citi, 0
+citic, 0
+city, 0
+city.hu, 0
+city.kawasaki.jp, 1
+city.kitakyushu.jp, 1
+city.kobe.jp, 1
+city.nagoya.jp, 1
+city.sapporo.jp, 1
+city.sendai.jp, 1
+city.yokohama.jp, 1
+cityeats, 0
+civilaviation.aero, 0
+civilisation.museum, 0
+civilization.museum, 0
+civilwar.museum, 0
+ck, 2
+ck.ua, 0
+cl, 0
+cl.it, 0
+claims, 0
+cleaning, 0
+click, 0
+clinic, 0
+clinique, 0
+clinton.museum, 0
+clock.museum, 0
+clothing, 0
+cloud, 0
+cloud.fedoraproject.org, 4
+cloudapp.net, 4
+cloudcontrolapp.com, 4
+cloudcontrolled.com, 4
+cloudfront.net, 4
+cloudfunctions.net, 4
+cloudns.asia, 4
+cloudns.biz, 4
+cloudns.cc, 4
+cloudns.club, 4
+cloudns.eu, 4
+cloudns.in, 4
+cloudns.info, 4
+cloudns.org, 4
+cloudns.pro, 4
+cloudns.pw, 4
+cloudns.us, 4
+club, 0
+club.aero, 0
+club.tw, 0
+clubmed, 0
+cm, 0
+cn, 0
+cn.com, 4
+cn.eu.org, 4
+cn.it, 0
+cn.ua, 0
+cng.br, 0
+cns.joyent.com, 6
+cnt.br, 0
+co, 0
+co.ae, 0
+co.ag, 0
+co.ao, 0
+co.at, 0
+co.bb, 0
+co.bi, 0
+co.bw, 0
+co.ca, 4
+co.ci, 0
+co.cl, 0
+co.cm, 0
+co.com, 4
+co.cr, 0
+co.cz, 4
+co.dk, 4
+co.gg, 0
+co.gl, 0
+co.gy, 0
+co.hu, 0
+co.id, 0
+co.il, 0
+co.im, 0
+co.in, 0
+co.ir, 0
+co.it, 0
+co.je, 0
+co.jp, 0
+co.kr, 0
+co.krd, 4
+co.lc, 0
+co.ls, 0
+co.ma, 0
+co.me, 0
+co.mg, 0
+co.mu, 0
+co.mw, 0
+co.mz, 0
+co.na, 0
+co.ni, 0
+co.nl, 4
+co.no, 4
+co.nz, 0
+co.om, 0
+co.pl, 4
+co.pn, 0
+co.pw, 0
+co.rs, 0
+co.rw, 0
+co.st, 0
+co.sz, 0
+co.th, 0
+co.tj, 0
+co.tm, 0
+co.tt, 0
+co.tz, 0
+co.ua, 4
+co.ug, 0
+co.uk, 0
+co.us, 0
+co.uz, 0
+co.ve, 0
+co.vi, 0
+co.za, 0
+co.zm, 0
+co.zw, 0
+coach, 0
+coal.museum, 0
+coastaldefence.museum, 0
+codes, 0
+codespot.com, 4
+cody.museum, 0
+coffee, 0
+coldwar.museum, 0
+collection.museum, 0
+college, 0
+collegefan.org, 4
+cologne, 0
+colonialwilliamsburg.museum, 0
+coloradoplateau.museum, 0
+columbia.museum, 0
+columbus.museum, 0
+com, 0
+com.ac, 0
+com.af, 0
+com.ag, 0
+com.ai, 0
+com.al, 0
+com.ar, 0
+com.au, 0
+com.aw, 0
+com.az, 0
+com.ba, 0
+com.bb, 0
+com.bh, 0
+com.bi, 0
+com.bm, 0
+com.bo, 0
+com.br, 0
+com.bs, 0
+com.bt, 0
+com.by, 0
+com.bz, 0
+com.ci, 0
+com.cm, 0
+com.cn, 0
+com.co, 0
+com.cu, 0
+com.cw, 0
+com.cy, 0
+com.de, 4
+com.dm, 0
+com.do, 0
+com.dz, 0
+com.ec, 0
+com.ee, 0
+com.eg, 0
+com.es, 0
+com.et, 0
+com.fr, 0
+com.ge, 0
+com.gh, 0
+com.gi, 0
+com.gl, 0
+com.gn, 0
+com.gp, 0
+com.gr, 0
+com.gt, 0
+com.gy, 0
+com.hk, 0
+com.hn, 0
+com.hr, 0
+com.ht, 0
+com.im, 0
+com.io, 0
+com.iq, 0
+com.is, 0
+com.jo, 0
+com.kg, 0
+com.ki, 0
+com.km, 0
+com.kp, 0
+com.ky, 0
+com.kz, 0
+com.la, 0
+com.lb, 0
+com.lc, 0
+com.lk, 0
+com.lr, 0
+com.lv, 0
+com.ly, 0
+com.mg, 0
+com.mk, 0
+com.ml, 0
+com.mo, 0
+com.ms, 0
+com.mt, 0
+com.mu, 0
+com.mv, 0
+com.mw, 0
+com.mx, 0
+com.my, 0
+com.na, 0
+com.nf, 0
+com.ng, 0
+com.ni, 0
+com.nr, 0
+com.om, 0
+com.pa, 0
+com.pe, 0
+com.pf, 0
+com.ph, 0
+com.pk, 0
+com.pl, 0
+com.pr, 0
+com.ps, 0
+com.pt, 0
+com.py, 0
+com.qa, 0
+com.re, 0
+com.ro, 0
+com.ru, 4
+com.rw, 0
+com.sa, 0
+com.sb, 0
+com.sc, 0
+com.sd, 0
+com.se, 4
+com.sg, 0
+com.sh, 0
+com.sl, 0
+com.sn, 0
+com.so, 0
+com.st, 0
+com.sv, 0
+com.sy, 0
+com.tj, 0
+com.tm, 0
+com.tn, 0
+com.to, 0
+com.tr, 0
+com.tt, 0
+com.tw, 0
+com.ua, 0
+com.ug, 0
+com.uy, 0
+com.uz, 0
+com.vc, 0
+com.ve, 0
+com.vi, 0
+com.vn, 0
+com.vu, 0
+com.ws, 0
+com.zm, 0
+comcast, 0
+commbank, 0
+communication.museum, 0
+communications.museum, 0
+community, 0
+community.museum, 0
+como.it, 0
+company, 0
+compare, 0
+compute-1.amazonaws.com, 6
+compute.amazonaws.com, 6
+compute.amazonaws.com.cn, 6
+compute.estate, 6
+computer, 0
+computer.museum, 0
+computerhistory.museum, 0
+comsec, 0
+condos, 0
+conf.au, 0
+conf.lv, 0
+conference.aero, 0
+construction, 0
+consulado.st, 0
+consultant.aero, 0
+consulting, 0
+consulting.aero, 0
+contact, 0
+contemporary.museum, 0
+contemporaryart.museum, 0
+contractors, 0
+control.aero, 0
+convent.museum, 0
+cooking, 0
+cookingchannel, 0
+cool, 0
+coop, 0
+coop.br, 0
+coop.ht, 0
+coop.km, 0
+coop.mv, 0
+coop.mw, 0
+coop.py, 0
+coop.tt, 0
+copenhagen.museum, 0
+corporation.museum, 0
+corsica, 0
+corvette.museum, 0
+cosenza.it, 0
+costume.museum, 0
+couchpotatofries.org, 4
+council.aero, 0
+country, 0
+countryestate.museum, 0
+county.museum, 0
+coupon, 0
+coupons, 0
+courses, 0
+cpa.pro, 0
+cq.cn, 0
+cr, 0
+cr.it, 0
+cr.ua, 0
+crafts.museum, 0
+cranbrook.museum, 0
+creation.museum, 0
+credit, 0
+creditcard, 0
+creditunion, 0
+cremona.it, 0
+crew.aero, 0
+cri.nz, 0
+cricket, 0
+crimea.ua, 0
+crotone.it, 0
+crown, 0
+crs, 0
+cruise, 0
+cruises, 0
+cryptonomic.net, 6
+cs.it, 0
+csc, 0
+ct.it, 0
+ct.us, 0
+cu, 0
+cuisinella, 0
+cultural.museum, 0
+culturalcenter.museum, 0
+culture.museum, 0
+cuneo.it, 0
+cupcake.is, 4
+customer.enonic.io, 4
+cv, 0
+cv.ua, 0
+cw, 0
+cx, 0
+cy, 0
+cy.eu.org, 4
+cya.gg, 4
+cyber.museum, 0
+cymru, 0
+cymru.museum, 0
+cyon.link, 4
+cyon.site, 4
+cyou, 0
+cz, 0
+cz.eu.org, 4
+cz.it, 0
+czeladz.pl, 0
+czest.pl, 0
+d.bg, 0
+d.se, 0
+dabur, 0
+dad, 0
+daegu.kr, 0
+daejeon.kr, 0
+dagestan.ru, 4
+dagestan.su, 4
+daigo.ibaraki.jp, 0
+daisen.akita.jp, 0
+daito.osaka.jp, 0
+daiwa.hiroshima.jp, 0
+dali.museum, 0
+dallas.museum, 0
+damnserver.com, 4
+dance, 0
+daplie.me, 4
+data, 0
+database.museum, 0
+date, 0
+date.fukushima.jp, 0
+date.hokkaido.jp, 0
+dating, 0
+datsun, 0
+davvenjarga.no, 0
+davvesiida.no, 0
+day, 0
+dazaifu.fukuoka.jp, 0
+dc.us, 0
+dclk, 0
+dd-dns.de, 4
+ddns.me, 4
+ddns.net, 4
+ddnsking.com, 4
+ddnss.de, 4
+ddnss.org, 4
+ddr.museum, 0
+dds, 0
+de, 0
+de.com, 4
+de.eu.org, 4
+de.us, 0
+deal, 0
+dealer, 0
+deals, 0
+deatnu.no, 0
+decorativearts.museum, 0
+dedyn.io, 4
+defense.tn, 0
+degree, 0
+delaware.museum, 0
+delivery, 0
+dell, 0
+dell-ogliastra.it, 0
+dellogliastra.it, 0
+delmenhorst.museum, 0
+deloitte, 0
+delta, 0
+democrat, 0
+denmark.museum, 0
+dental, 0
+dentist, 0
+dep.no, 0
+depot.museum, 0
+desa.id, 0
+desi, 0
+design, 0
+design.aero, 0
+design.museum, 0
+detroit.museum, 0
+dev, 0
+dev-myqnapcloud.com, 4
+dev.static.land, 4
+df.leg.br, 4
+dgca.aero, 0
+dhl, 0
+diamonds, 0
+dielddanuorri.no, 0
+diet, 0
+digital, 0
+dinosaur.museum, 0
+direct, 0
+directory, 0
+discount, 0
+discover, 0
+discovery.museum, 0
+dish, 0
+diskstation.eu, 4
+diskstation.me, 4
+diskstation.org, 4
+ditchyourip.com, 4
+divtasvuodna.no, 0
+divttasvuotna.no, 0
+diy, 0
+dj, 0
+dk, 0
+dk.eu.org, 4
+dlugoleka.pl, 0
+dm, 0
+dn.ua, 0
+dnepropetrovsk.ua, 0
+dni.us, 0
+dnipropetrovsk.ua, 0
+dnp, 0
+dnsalias.com, 4
+dnsalias.net, 4
+dnsalias.org, 4
+dnsdojo.com, 4
+dnsdojo.net, 4
+dnsdojo.org, 4
+dnsfor.me, 4
+dnshome.de, 4
+dnsiskinky.com, 4
+dnsupdater.de, 4
+do, 0
+docs, 0
+doctor, 0
+dodge, 0
+does-it.net, 4
+doesntexist.com, 4
+doesntexist.org, 4
+dog, 0
+doha, 0
+dolls.museum, 0
+domains, 0
+dominic.ua, 0
+donetsk.ua, 0
+donna.no, 0
+donostia.museum, 0
+dontexist.com, 4
+dontexist.net, 4
+dontexist.org, 4
+doomdns.com, 4
+doomdns.org, 4
+doshi.yamanashi.jp, 0
+dot, 0
+dovre.no, 0
+download, 0
+dp.ua, 0
+dr.na, 0
+dr.tr, 0
+drammen.no, 0
+drangedal.no, 0
+dray-dns.de, 4
+draydns.de, 4
+dreamhosters.com, 4
+drive, 0
+drobak.no, 0
+drud.io, 4
+drud.us, 4
+dscloud.biz, 4
+dscloud.me, 4
+dscloud.mobi, 4
+dsmynas.com, 4
+dsmynas.net, 4
+dsmynas.org, 4
+dtv, 0
+dubai, 0
+duck, 0
+duckdns.org, 4
+dunlop, 0
+duns, 0
+dupont, 0
+durban, 0
+durham.museum, 0
+dvag, 0
+dvr, 0
+dvrcam.info, 4
+dvrdns.org, 4
+dy.fi, 4
+dyn-ip24.de, 4
+dyn-o-saur.com, 4
+dyn-vpn.de, 4
+dyn.cosidns.de, 4
+dyn.ddnss.de, 4
+dyn.home-webserver.de, 4
+dynalias.com, 4
+dynalias.net, 4
+dynalias.org, 4
+dynamic-dns.info, 4
+dynamisches-dns.de, 4
+dynathome.net, 4
+dyndns-at-home.com, 4
+dyndns-at-work.com, 4
+dyndns-blog.com, 4
+dyndns-free.com, 4
+dyndns-home.com, 4
+dyndns-ip.com, 4
+dyndns-mail.com, 4
+dyndns-office.com, 4
+dyndns-pics.com, 4
+dyndns-remote.com, 4
+dyndns-server.com, 4
+dyndns-web.com, 4
+dyndns-wiki.com, 4
+dyndns-work.com, 4
+dyndns.biz, 4
+dyndns.ddnss.de, 4
+dyndns.info, 4
+dyndns.org, 4
+dyndns.tv, 4
+dyndns.ws, 4
+dyndns1.de, 4
+dynns.com, 4
+dynv6.net, 4
+dynvpn.de, 4
+dyroy.no, 0
+dz, 0
+e.bg, 0
+e.se, 0
+e12.ve, 0
+e164.arpa, 0
+e4.cz, 4
+earth, 0
+east-kazakhstan.su, 4
+eastafrica.museum, 0
+eastcoast.museum, 0
+eat, 0
+eating-organic.net, 4
+ebetsu.hokkaido.jp, 0
+ebina.kanagawa.jp, 0
+ebino.miyazaki.jp, 0
+ebiz.tw, 0
+ec, 0
+echizen.fukui.jp, 0
+ecn.br, 0
+eco, 0
+eco.br, 0
+ed.ao, 0
+ed.ci, 0
+ed.cr, 0
+ed.jp, 0
+ed.pw, 0
+edeka, 0
+edogawa.tokyo.jp, 0
+edu, 0
+edu.ac, 0
+edu.af, 0
+edu.al, 0
+edu.ar, 0
+edu.au, 0
+edu.az, 0
+edu.ba, 0
+edu.bb, 0
+edu.bh, 0
+edu.bi, 0
+edu.bm, 0
+edu.bo, 0
+edu.br, 0
+edu.bs, 0
+edu.bt, 0
+edu.bz, 0
+edu.ci, 0
+edu.cn, 0
+edu.co, 0
+edu.cu, 0
+edu.cw, 0
+edu.dm, 0
+edu.do, 0
+edu.dz, 0
+edu.ec, 0
+edu.ee, 0
+edu.eg, 0
+edu.es, 0
+edu.et, 0
+edu.eu.org, 4
+edu.ge, 0
+edu.gh, 0
+edu.gi, 0
+edu.gl, 0
+edu.gn, 0
+edu.gp, 0
+edu.gr, 0
+edu.gt, 0
+edu.gy, 0
+edu.hk, 0
+edu.hn, 0
+edu.ht, 0
+edu.in, 0
+edu.iq, 0
+edu.is, 0
+edu.it, 0
+edu.jo, 0
+edu.kg, 0
+edu.ki, 0
+edu.km, 0
+edu.kn, 0
+edu.kp, 0
+edu.krd, 4
+edu.ky, 0
+edu.kz, 0
+edu.la, 0
+edu.lb, 0
+edu.lc, 0
+edu.lk, 0
+edu.lr, 0
+edu.lv, 0
+edu.ly, 0
+edu.me, 0
+edu.mg, 0
+edu.mk, 0
+edu.ml, 0
+edu.mn, 0
+edu.mo, 0
+edu.ms, 0
+edu.mt, 0
+edu.mv, 0
+edu.mw, 0
+edu.mx, 0
+edu.my, 0
+edu.mz, 0
+edu.ng, 0
+edu.ni, 0
+edu.nr, 0
+edu.om, 0
+edu.pa, 0
+edu.pe, 0
+edu.pf, 0
+edu.ph, 0
+edu.pk, 0
+edu.pl, 0
+edu.pn, 0
+edu.pr, 0
+edu.ps, 0
+edu.pt, 0
+edu.py, 0
+edu.qa, 0
+edu.rs, 0
+edu.ru, 0
+edu.rw, 0
+edu.sa, 0
+edu.sb, 0
+edu.sc, 0
+edu.sd, 0
+edu.sg, 0
+edu.sl, 0
+edu.sn, 0
+edu.st, 0
+edu.sv, 0
+edu.sy, 0
+edu.tj, 0
+edu.tm, 0
+edu.to, 0
+edu.tr, 0
+edu.tt, 0
+edu.tw, 0
+edu.ua, 0
+edu.uy, 0
+edu.vc, 0
+edu.ve, 0
+edu.vn, 0
+edu.vu, 0
+edu.ws, 0
+edu.za, 0
+edu.zm, 0
+education, 0
+education.museum, 0
+educational.museum, 0
+educator.aero, 0
+edunet.tn, 0
+ee, 0
+ee.eu.org, 4
+eg, 0
+egersund.no, 0
+egyptian.museum, 0
+ehime.jp, 0
+eid.no, 0
+eidfjord.no, 0
+eidsberg.no, 0
+eidskog.no, 0
+eidsvoll.no, 0
+eigersund.no, 0
+eiheiji.fukui.jp, 0
+eisenbahn.museum, 0
+ekloges.cy, 0
+elasticbeanstalk.cn-north-1.amazonaws.com.cn, 4
+elasticbeanstalk.com, 6
+elb.amazonaws.com, 6
+elb.amazonaws.com.cn, 6
+elblag.pl, 0
+elburg.museum, 0
+elk.pl, 0
+elvendrell.museum, 0
+elverum.no, 0
+email, 0
+embaixada.st, 0
+embetsu.hokkaido.jp, 0
+embroidery.museum, 0
+emerck, 0
+emergency.aero, 0
+emilia-romagna.it, 0
+emiliaromagna.it, 0
+emp.br, 0
+emr.it, 0
+en.it, 0
+ena.gifu.jp, 0
+encyclopedic.museum, 0
+endofinternet.net, 4
+endofinternet.org, 4
+endoftheinternet.org, 4
+enebakk.no, 0
+energy, 0
+eng.br, 0
+eng.pro, 0
+engerdal.no, 0
+engine.aero, 0
+engineer, 0
+engineer.aero, 0
+engineering, 0
+england.museum, 0
+eniwa.hokkaido.jp, 0
+enna.it, 0
+enonic.io, 4
+ens.tn, 0
+enterprises, 0
+entertainment.aero, 0
+entomology.museum, 0
+environment.museum, 0
+environmentalconservation.museum, 0
+epilepsy.museum, 0
+epost, 0
+epson, 0
+equipment, 0
+equipment.aero, 0
+er, 2
+ericsson, 0
+erimo.hokkaido.jp, 0
+erni, 0
+erotica.hu, 0
+erotika.hu, 0
+es, 0
+es.eu.org, 4
+es.kr, 0
+es.leg.br, 4
+esan.hokkaido.jp, 0
+esashi.hokkaido.jp, 0
+esp.br, 0
+esq, 0
+essex.museum, 0
+est-a-la-maison.com, 4
+est-a-la-masion.com, 4
+est-le-patron.com, 4
+est-mon-blogueur.com, 4
+est.pr, 0
+estate, 0
+estate.museum, 0
+esurance, 0
+et, 0
+etajima.hiroshima.jp, 0
+etc.br, 0
+ethnology.museum, 0
+eti.br, 0
+etisalat, 0
+etne.no, 0
+etnedal.no, 0
+eu, 0
+eu-1.evennode.com, 4
+eu-2.evennode.com, 4
+eu-3.evennode.com, 4
+eu.com, 4
+eu.int, 0
+eu.meteorapp.com, 4
+eu.org, 4
+eun.eg, 0
+eurovision, 0
+eus, 0
+evenassi.no, 0
+evenes.no, 0
+events, 0
+everbank, 0
+evje-og-hornnes.no, 0
+ex.ortsinfo.at, 6
+exchange, 0
+exchange.aero, 0
+exeter.museum, 0
+exhibition.museum, 0
+exnet.su, 4
+expert, 0
+experts-comptables.fr, 0
+exposed, 0
+express, 0
+express.aero, 0
+ext.githubcloud.com, 6
+extraspace, 0
+f.bg, 0
+f.se, 0
+fage, 0
+fail, 0
+fairwinds, 0
+faith, 0
+fam.pk, 0
+family, 0
+family.museum, 0
+familyds.com, 4
+familyds.net, 4
+familyds.org, 4
+fan, 0
+fans, 0
+fantasyleague.cc, 4
+far.br, 0
+farm, 0
+farm.museum, 0
+farmequipment.museum, 0
+farmers, 0
+farmers.museum, 0
+farmstead.museum, 0
+farsund.no, 0
+fashion, 0
+fast, 0
+fastlylb.net, 4
+fauske.no, 0
+fbx-os.fr, 4
+fbxos.fr, 4
+fc.it, 0
+fe.it, 0
+fed.us, 0
+federation.aero, 0
+fedex, 0
+fedje.no, 0
+fedorainfracloud.org, 4
+fedorapeople.org, 4
+feedback, 0
+fermo.it, 0
+ferrara.it, 0
+ferrari, 0
+ferrero, 0
+feste-ip.net, 4
+fet.no, 0
+fetsund.no, 0
+fg.it, 0
+fh.se, 0
+fhapp.xyz, 4
+fhs.no, 0
+fhsk.se, 0
+fhv.se, 0
+fi, 0
+fi.cr, 0
+fi.eu.org, 4
+fi.it, 0
+fiat, 0
+fidelity, 0
+fido, 0
+fie.ee, 0
+field.museum, 0
+figueres.museum, 0
+filatelia.museum, 0
+film, 0
+film.hu, 0
+film.museum, 0
+fin.ec, 0
+fin.tn, 0
+final, 0
+finance, 0
+financial, 0
+fineart.museum, 0
+finearts.museum, 0
+finland.museum, 0
+finnoy.no, 0
+fire, 0
+firebaseapp.com, 4
+firenze.it, 0
+firestone, 0
+firewall-gateway.com, 4
+firewall-gateway.de, 4
+firewall-gateway.net, 4
+firm.co, 0
+firm.dk, 4
+firm.ht, 0
+firm.in, 0
+firm.nf, 0
+firm.ro, 0
+firm.ve, 0
+firmdale, 0
+fish, 0
+fishing, 0
+fit, 0
+fitjar.no, 0
+fitness, 0
+fj, 2
+fj.cn, 0
+fjaler.no, 0
+fjell.no, 0
+fk, 2
+fl.us, 0
+fla.no, 0
+flakstad.no, 0
+flanders.museum, 0
+flatanger.no, 0
+flekkefjord.no, 0
+flesberg.no, 0
+flickr, 0
+flight.aero, 0
+flights, 0
+flir, 0
+flog.br, 0
+flora.no, 0
+florence.it, 0
+florida.museum, 0
+florist, 0
+floro.no, 0
+flowers, 0
+fly, 0
+flynnhub.com, 4
+fm, 0
+fm.br, 0
+fm.it, 0
+fm.no, 0
+fnd.br, 0
+fo, 0
+foggia.it, 0
+folkebibl.no, 0
+folldal.no, 0
+foo, 0
+food, 0
+foodnetwork, 0
+football, 0
+for-better.biz, 4
+for-more.biz, 4
+for-our.info, 4
+for-some.biz, 4
+for-the.biz, 4
+force.museum, 0
+ford, 0
+forde.no, 0
+forex, 0
+forgot.her.name, 4
+forgot.his.name, 4
+forli-cesena.it, 0
+forlicesena.it, 0
+forsale, 0
+forsand.no, 0
+fortmissoula.museum, 0
+fortworth.museum, 0
+forum, 0
+forum.hu, 0
+fosnes.no, 0
+fot.br, 0
+foundation, 0
+foundation.museum, 0
+fox, 0
+fr, 0
+fr.eu.org, 4
+fr.it, 0
+frana.no, 0
+francaise.museum, 0
+frankfurt.museum, 0
+franziskaner.museum, 0
+fredrikstad.no, 0
+free, 0
+freebox-os.com, 4
+freebox-os.fr, 4
+freeboxos.com, 4
+freeboxos.fr, 4
+freemasonry.museum, 0
+freetls.fastly.net, 4
+frei.no, 0
+freiburg.museum, 0
+freight.aero, 0
+fresenius, 0
+fribourg.museum, 0
+friuli-v-giulia.it, 0
+friuli-ve-giulia.it, 0
+friuli-vegiulia.it, 0
+friuli-venezia-giulia.it, 0
+friuli-veneziagiulia.it, 0
+friuli-vgiulia.it, 0
+friuliv-giulia.it, 0
+friulive-giulia.it, 0
+friulivegiulia.it, 0
+friulivenezia-giulia.it, 0
+friuliveneziagiulia.it, 0
+friulivgiulia.it, 0
+frl, 0
+frog.museum, 0
+frogans, 0
+frogn.no, 0
+froland.no, 0
+from-ak.com, 4
+from-al.com, 4
+from-ar.com, 4
+from-az.net, 4
+from-ca.com, 4
+from-co.net, 4
+from-ct.com, 4
+from-dc.com, 4
+from-de.com, 4
+from-fl.com, 4
+from-ga.com, 4
+from-hi.com, 4
+from-ia.com, 4
+from-id.com, 4
+from-il.com, 4
+from-in.com, 4
+from-ks.com, 4
+from-ky.com, 4
+from-la.net, 4
+from-ma.com, 4
+from-md.com, 4
+from-me.org, 4
+from-mi.com, 4
+from-mn.com, 4
+from-mo.com, 4
+from-ms.com, 4
+from-mt.com, 4
+from-nc.com, 4
+from-nd.com, 4
+from-ne.com, 4
+from-nh.com, 4
+from-nj.com, 4
+from-nm.com, 4
+from-nv.com, 4
+from-ny.net, 4
+from-oh.com, 4
+from-ok.com, 4
+from-or.com, 4
+from-pa.com, 4
+from-pr.com, 4
+from-ri.com, 4
+from-sc.com, 4
+from-sd.com, 4
+from-tn.com, 4
+from-tx.com, 4
+from-ut.com, 4
+from-va.com, 4
+from-vt.com, 4
+from-wa.com, 4
+from-wi.com, 4
+from-wv.com, 4
+from-wy.com, 4
+from.hr, 0
+frontdoor, 0
+frontier, 0
+frosinone.it, 0
+frosta.no, 0
+froya.no, 0
+fst.br, 0
+ftpaccess.cc, 4
+ftr, 0
+fuchu.hiroshima.jp, 0
+fuchu.tokyo.jp, 0
+fuchu.toyama.jp, 0
+fudai.iwate.jp, 0
+fuefuki.yamanashi.jp, 0
+fuel.aero, 0
+fuettertdasnetz.de, 4
+fuji.shizuoka.jp, 0
+fujieda.shizuoka.jp, 0
+fujiidera.osaka.jp, 0
+fujikawa.shizuoka.jp, 0
+fujikawa.yamanashi.jp, 0
+fujikawaguchiko.yamanashi.jp, 0
+fujimi.nagano.jp, 0
+fujimi.saitama.jp, 0
+fujimino.saitama.jp, 0
+fujinomiya.shizuoka.jp, 0
+fujioka.gunma.jp, 0
+fujisato.akita.jp, 0
+fujisawa.iwate.jp, 0
+fujisawa.kanagawa.jp, 0
+fujishiro.ibaraki.jp, 0
+fujitsu, 0
+fujixerox, 0
+fujiyoshida.yamanashi.jp, 0
+fukagawa.hokkaido.jp, 0
+fukaya.saitama.jp, 0
+fukuchi.fukuoka.jp, 0
+fukuchiyama.kyoto.jp, 0
+fukudomi.saga.jp, 0
+fukui.fukui.jp, 0
+fukui.jp, 0
+fukumitsu.toyama.jp, 0
+fukuoka.jp, 0
+fukuroi.shizuoka.jp, 0
+fukusaki.hyogo.jp, 0
+fukushima.fukushima.jp, 0
+fukushima.hokkaido.jp, 0
+fukushima.jp, 0
+fukuyama.hiroshima.jp, 0
+fun, 0
+funabashi.chiba.jp, 0
+funagata.yamagata.jp, 0
+funahashi.toyama.jp, 0
+fund, 0
+fundacio.museum, 0
+fuoisku.no, 0
+fuossko.no, 0
+furano.hokkaido.jp, 0
+furniture, 0
+furniture.museum, 0
+furubira.hokkaido.jp, 0
+furudono.fukushima.jp, 0
+furukawa.miyagi.jp, 0
+fusa.no, 0
+fuso.aichi.jp, 0
+fussa.tokyo.jp, 0
+futaba.fukushima.jp, 0
+futbol, 0
+futsu.nagasaki.jp, 0
+futtsu.chiba.jp, 0
+futurehosting.at, 4
+futuremailing.at, 4
+fvg.it, 0
+fyi, 0
+fylkesbibl.no, 0
+fyresdal.no, 0
+g.bg, 0
+g.se, 0
+g12.br, 0
+ga, 0
+ga.us, 0
+gaivuotna.no, 0
+gal, 0
+gallery, 0
+gallery.museum, 0
+gallo, 0
+gallup, 0
+galsa.no, 0
+gamagori.aichi.jp, 0
+game, 0
+game-host.org, 4
+game-server.cc, 4
+game.tw, 0
+games, 0
+games.hu, 0
+gamo.shiga.jp, 0
+gamvik.no, 0
+gangaviika.no, 0
+gangwon.kr, 0
+gap, 0
+garden, 0
+garden.museum, 0
+gateway.museum, 0
+gaular.no, 0
+gausdal.no, 0
+gb, 0
+gb.com, 4
+gb.net, 4
+gbiz, 0
+gc.ca, 0
+gd, 0
+gd.cn, 0
+gda.pl, 4
+gdansk.pl, 4
+gdn, 0
+gdynia.pl, 4
+ge, 0
+ge.it, 0
+gea, 0
+geek.nz, 0
+geekgalaxy.com, 4
+geelvinck.museum, 0
+geisei.kochi.jp, 0
+gemological.museum, 0
+gen.in, 0
+gen.nz, 0
+gen.tr, 0
+genkai.saga.jp, 0
+genoa.it, 0
+genova.it, 0
+gent, 0
+genting, 0
+geology.museum, 0
+geometre-expert.fr, 0
+george, 0
+georgia.museum, 0
+georgia.su, 4
+getmyip.com, 4
+gets-it.net, 4
+gf, 0
+gg, 0
+ggee, 0
+ggf.br, 0
+gh, 0
+gi, 0
+giehtavuoatna.no, 0
+giessen.museum, 0
+gift, 0
+gifts, 0
+gifu.gifu.jp, 0
+gifu.jp, 0
+gildeskal.no, 0
+ginan.gifu.jp, 0
+ginowan.okinawa.jp, 0
+ginoza.okinawa.jp, 0
+giske.no, 0
+gist.githubcloud.com, 4
+github.io, 4
+githubcloud.com, 4
+githubcloudusercontent.com, 6
+githubusercontent.com, 4
+gitlab.io, 4
+gives, 0
+giving, 0
+gjemnes.no, 0
+gjerdrum.no, 0
+gjerstad.no, 0
+gjesdal.no, 0
+gjovik.no, 0
+gl, 0
+glade, 0
+glas.museum, 0
+glass, 0
+glass.museum, 0
+gle, 0
+gliding.aero, 0
+gliwice.pl, 4
+global, 0
+global.prod.fastly.net, 4
+global.ssl.fastly.net, 4
+globo, 0
+glogow.pl, 0
+gloppen.no, 0
+gm, 0
+gmail, 0
+gmbh, 0
+gmina.pl, 0
+gmo, 0
+gmx, 0
+gn, 0
+gniezno.pl, 0
+go.ci, 0
+go.cr, 0
+go.dyndns.org, 4
+go.id, 0
+go.it, 0
+go.jp, 0
+go.kr, 0
+go.leg.br, 4
+go.pw, 0
+go.th, 0
+go.tj, 0
+go.tz, 0
+go.ug, 0
+gob.ar, 0
+gob.bo, 0
+gob.cl, 0
+gob.do, 0
+gob.ec, 0
+gob.es, 0
+gob.gt, 0
+gob.hn, 0
+gob.mx, 0
+gob.ni, 0
+gob.pa, 0
+gob.pe, 0
+gob.pk, 0
+gob.sv, 0
+gob.ve, 0
+gobo.wakayama.jp, 0
+godaddy, 0
+godo.gifu.jp, 0
+goip.de, 4
+gojome.akita.jp, 0
+gok.pk, 0
+gokase.miyazaki.jp, 0
+gol.no, 0
+gold, 0
+goldpoint, 0
+golf, 0
+golffan.us, 4
+gon.pk, 0
+gonohe.aomori.jp, 0
+goo, 0
+goodhands, 0
+goodyear, 0
+goog, 0
+google, 0
+googleapis.com, 4
+googlecode.com, 4
+gop, 0
+gop.pk, 0
+gorge.museum, 0
+gorizia.it, 0
+gorlice.pl, 0
+gos.pk, 0
+gose.nara.jp, 0
+gosen.niigata.jp, 0
+goshiki.hyogo.jp, 0
+got, 0
+gotdns.ch, 4
+gotdns.com, 4
+gotdns.org, 4
+gotemba.shizuoka.jp, 0
+goto.nagasaki.jp, 0
+gotpantheon.com, 4
+gotsu.shimane.jp, 0
+gouv.bj, 0
+gouv.ci, 0
+gouv.fr, 0
+gouv.ht, 0
+gouv.km, 0
+gouv.ml, 0
+gouv.rw, 0
+gouv.sn, 0
+gov, 0
+gov.ac, 0
+gov.ae, 0
+gov.af, 0
+gov.al, 0
+gov.ar, 0
+gov.as, 0
+gov.au, 0
+gov.az, 0
+gov.ba, 0
+gov.bb, 0
+gov.bf, 0
+gov.bh, 0
+gov.bm, 0
+gov.bo, 0
+gov.br, 0
+gov.bs, 0
+gov.bt, 0
+gov.by, 0
+gov.bz, 0
+gov.cd, 0
+gov.cl, 0
+gov.cm, 0
+gov.cn, 0
+gov.co, 0
+gov.cu, 0
+gov.cx, 0
+gov.cy, 0
+gov.dm, 0
+gov.do, 0
+gov.dz, 0
+gov.ec, 0
+gov.ee, 0
+gov.eg, 0
+gov.et, 0
+gov.ge, 0
+gov.gh, 0
+gov.gi, 0
+gov.gn, 0
+gov.gr, 0
+gov.gy, 0
+gov.hk, 0
+gov.ie, 0
+gov.il, 0
+gov.in, 0
+gov.iq, 0
+gov.ir, 0
+gov.is, 0
+gov.it, 0
+gov.jo, 0
+gov.kg, 0
+gov.ki, 0
+gov.km, 0
+gov.kn, 0
+gov.kp, 0
+gov.ky, 0
+gov.kz, 0
+gov.la, 0
+gov.lb, 0
+gov.lc, 0
+gov.lk, 0
+gov.lr, 0
+gov.lt, 0
+gov.lv, 0
+gov.ly, 0
+gov.ma, 0
+gov.me, 0
+gov.mg, 0
+gov.mk, 0
+gov.ml, 0
+gov.mn, 0
+gov.mo, 0
+gov.mr, 0
+gov.ms, 0
+gov.mu, 0
+gov.mv, 0
+gov.mw, 0
+gov.my, 0
+gov.mz, 0
+gov.nc.tr, 0
+gov.ng, 0
+gov.nr, 0
+gov.om, 0
+gov.ph, 0
+gov.pk, 0
+gov.pl, 0
+gov.pn, 0
+gov.pr, 0
+gov.ps, 0
+gov.pt, 0
+gov.py, 0
+gov.qa, 0
+gov.rs, 0
+gov.ru, 0
+gov.rw, 0
+gov.sa, 0
+gov.sb, 0
+gov.sc, 0
+gov.sd, 0
+gov.sg, 0
+gov.sh, 0
+gov.sl, 0
+gov.st, 0
+gov.sx, 0
+gov.sy, 0
+gov.tj, 0
+gov.tl, 0
+gov.tm, 0
+gov.tn, 0
+gov.to, 0
+gov.tr, 0
+gov.tt, 0
+gov.tw, 0
+gov.ua, 0
+gov.uk, 0
+gov.vc, 0
+gov.ve, 0
+gov.vn, 0
+gov.ws, 0
+gov.za, 0
+gov.zm, 0
+gov.zw, 0
+government.aero, 0
+govt.nz, 0
+gp, 0
+gq, 0
+gr, 0
+gr.com, 4
+gr.eu.org, 4
+gr.it, 0
+gr.jp, 0
+grainger, 0
+grajewo.pl, 0
+gran.no, 0
+grandrapids.museum, 0
+grane.no, 0
+granvin.no, 0
+graphics, 0
+gratangen.no, 0
+gratis, 0
+graz.museum, 0
+green, 0
+greta.fr, 0
+grimstad.no, 0
+gripe, 0
+griw.gov.pl, 0
+grocery, 0
+groks-the.info, 4
+groks-this.info, 4
+grondar.za, 0
+grong.no, 0
+grosseto.it, 0
+groundhandling.aero, 0
+group, 0
+group.aero, 0
+grozny.ru, 4
+grozny.su, 4
+grp.lk, 0
+grue.no, 0
+gs, 0
+gs.aa.no, 0
+gs.ah.no, 0
+gs.bu.no, 0
+gs.cn, 0
+gs.fm.no, 0
+gs.hl.no, 0
+gs.hm.no, 0
+gs.jan-mayen.no, 0
+gs.mr.no, 0
+gs.nl.no, 0
+gs.nt.no, 0
+gs.of.no, 0
+gs.ol.no, 0
+gs.oslo.no, 0
+gs.rl.no, 0
+gs.sf.no, 0
+gs.st.no, 0
+gs.svalbard.no, 0
+gs.tm.no, 0
+gs.tr.no, 0
+gs.va.no, 0
+gs.vf.no, 0
+gsm.pl, 0
+gt, 0
+gu, 2
+gu.us, 0
+guardian, 0
+gub.uy, 0
+gucci, 0
+guernsey.museum, 0
+guge, 0
+guide, 0
+guitars, 0
+gujo.gifu.jp, 0
+gulen.no, 0
+gunma.jp, 0
+guovdageaidnu.no, 0
+guru, 0
+gushikami.okinawa.jp, 0
+gv.ao, 0
+gv.at, 0
+gw, 0
+gwangju.kr, 0
+gx.cn, 0
+gy, 0
+gyeongbuk.kr, 0
+gyeonggi.kr, 0
+gyeongnam.kr, 0
+gyokuto.kumamoto.jp, 0
+gz.cn, 0
+h.bg, 0
+h.se, 0
+ha.cn, 0
+ha.no, 0
+habikino.osaka.jp, 0
+habmer.no, 0
+haboro.hokkaido.jp, 0
+hachijo.tokyo.jp, 0
+hachinohe.aomori.jp, 0
+hachioji.tokyo.jp, 0
+hachirogata.akita.jp, 0
+hadano.kanagawa.jp, 0
+hadsel.no, 0
+haebaru.okinawa.jp, 0
+haga.tochigi.jp, 0
+hagebostad.no, 0
+hagi.yamaguchi.jp, 0
+haibara.shizuoka.jp, 0
+hair, 0
+hakata.fukuoka.jp, 0
+hakodate.hokkaido.jp, 0
+hakone.kanagawa.jp, 0
+hakuba.nagano.jp, 0
+hakui.ishikawa.jp, 0
+hakusan.ishikawa.jp, 0
+halden.no, 0
+halloffame.museum, 0
+halsa.no, 0
+ham-radio-op.net, 4
+hamada.shimane.jp, 0
+hamamatsu.shizuoka.jp, 0
+hamar.no, 0
+hamaroy.no, 0
+hamatama.saga.jp, 0
+hamatonbetsu.hokkaido.jp, 0
+hamburg, 0
+hamburg.museum, 0
+hammarfeasta.no, 0
+hammerfest.no, 0
+hamura.tokyo.jp, 0
+hanamaki.iwate.jp, 0
+hanamigawa.chiba.jp, 0
+hanawa.fukushima.jp, 0
+handa.aichi.jp, 0
+handson.museum, 0
+hanggliding.aero, 0
+hangout, 0
+hannan.osaka.jp, 0
+hanno.saitama.jp, 0
+hanyu.saitama.jp, 0
+hapmir.no, 0
+happou.akita.jp, 0
+hara.nagano.jp, 0
+haram.no, 0
+hareid.no, 0
+harima.hyogo.jp, 0
+harstad.no, 0
+harvestcelebration.museum, 0
+hasama.oita.jp, 0
+hasami.nagasaki.jp, 0
+hashbang.sh, 4
+hashikami.aomori.jp, 0
+hashima.gifu.jp, 0
+hashimoto.wakayama.jp, 0
+hasuda.saitama.jp, 0
+hasura-app.io, 4
+hasvik.no, 0
+hatogaya.saitama.jp, 0
+hatoyama.saitama.jp, 0
+hatsukaichi.hiroshima.jp, 0
+hattfjelldal.no, 0
+haugesund.no, 0
+haus, 0
+hawaii.museum, 0
+hayakawa.yamanashi.jp, 0
+hayashima.okayama.jp, 0
+hazu.aichi.jp, 0
+hb.cn, 0
+hbo, 0
+hdfc, 0
+hdfcbank, 0
+he.cn, 0
+health, 0
+health-carereform.com, 4
+health.museum, 0
+health.nz, 0
+health.vn, 0
+healthcare, 0
+heguri.nara.jp, 0
+heimatunduhren.museum, 0
+hekinan.aichi.jp, 0
+hellas.museum, 0
+help, 0
+helsinki, 0
+helsinki.museum, 0
+hembygdsforbund.museum, 0
+hemne.no, 0
+hemnes.no, 0
+hemsedal.no, 0
+hepforge.org, 4
+herad.no, 0
+here, 0
+here-for-more.info, 4
+heritage.museum, 0
+hermes, 0
+herokuapp.com, 4
+herokussl.com, 4
+heroy.more-og-romsdal.no, 0
+heroy.nordland.no, 0
+hgtv, 0
+hi.cn, 0
+hi.us, 0
+hichiso.gifu.jp, 0
+hida.gifu.jp, 0
+hidaka.hokkaido.jp, 0
+hidaka.kochi.jp, 0
+hidaka.saitama.jp, 0
+hidaka.wakayama.jp, 0
+higashi.fukuoka.jp, 0
+higashi.fukushima.jp, 0
+higashi.okinawa.jp, 0
+higashiagatsuma.gunma.jp, 0
+higashichichibu.saitama.jp, 0
+higashihiroshima.hiroshima.jp, 0
+higashiizu.shizuoka.jp, 0
+higashiizumo.shimane.jp, 0
+higashikagawa.kagawa.jp, 0
+higashikagura.hokkaido.jp, 0
+higashikawa.hokkaido.jp, 0
+higashikurume.tokyo.jp, 0
+higashimatsushima.miyagi.jp, 0
+higashimatsuyama.saitama.jp, 0
+higashimurayama.tokyo.jp, 0
+higashinaruse.akita.jp, 0
+higashine.yamagata.jp, 0
+higashiomi.shiga.jp, 0
+higashiosaka.osaka.jp, 0
+higashishirakawa.gifu.jp, 0
+higashisumiyoshi.osaka.jp, 0
+higashitsuno.kochi.jp, 0
+higashiura.aichi.jp, 0
+higashiyama.kyoto.jp, 0
+higashiyamato.tokyo.jp, 0
+higashiyodogawa.osaka.jp, 0
+higashiyoshino.nara.jp, 0
+hiji.oita.jp, 0
+hikari.yamaguchi.jp, 0
+hikawa.shimane.jp, 0
+hikimi.shimane.jp, 0
+hikone.shiga.jp, 0
+himeji.hyogo.jp, 0
+himeshima.oita.jp, 0
+himi.toyama.jp, 0
+hino.tokyo.jp, 0
+hino.tottori.jp, 0
+hinode.tokyo.jp, 0
+hinohara.tokyo.jp, 0
+hioki.kagoshima.jp, 0
+hiphop, 0
+hirado.nagasaki.jp, 0
+hiraizumi.iwate.jp, 0
+hirakata.osaka.jp, 0
+hiranai.aomori.jp, 0
+hirara.okinawa.jp, 0
+hirata.fukushima.jp, 0
+hiratsuka.kanagawa.jp, 0
+hiraya.nagano.jp, 0
+hirogawa.wakayama.jp, 0
+hirokawa.fukuoka.jp, 0
+hirono.fukushima.jp, 0
+hirono.iwate.jp, 0
+hiroo.hokkaido.jp, 0
+hirosaki.aomori.jp, 0
+hiroshima.jp, 0
+hisamitsu, 0
+hisayama.fukuoka.jp, 0
+histoire.museum, 0
+historical.museum, 0
+historicalsociety.museum, 0
+historichouses.museum, 0
+historisch.museum, 0
+historisches.museum, 0
+history.museum, 0
+historyofscience.museum, 0
+hita.oita.jp, 0
+hitachi, 0
+hitachi.ibaraki.jp, 0
+hitachinaka.ibaraki.jp, 0
+hitachiomiya.ibaraki.jp, 0
+hitachiota.ibaraki.jp, 0
+hitra.no, 0
+hiv, 0
+hizen.saga.jp, 0
+hjartdal.no, 0
+hjelmeland.no, 0
+hk, 0
+hk.cn, 0
+hk.com, 4
+hk.org, 4
+hkt, 0
+hl.cn, 0
+hl.no, 0
+hm, 0
+hm.no, 0
+hn, 0
+hn.cn, 0
+hobby-site.com, 4
+hobby-site.org, 4
+hobol.no, 0
+hockey, 0
+hof.no, 0
+hofu.yamaguchi.jp, 0
+hokkaido.jp, 0
+hokksund.no, 0
+hokuryu.hokkaido.jp, 0
+hokuto.hokkaido.jp, 0
+hokuto.yamanashi.jp, 0
+hol.no, 0
+holdings, 0
+hole.no, 0
+holiday, 0
+holmestrand.no, 0
+holtalen.no, 0
+home-webserver.de, 4
+home.dyndns.org, 4
+homebuilt.aero, 0
+homedepot, 0
+homedns.org, 4
+homeftp.net, 4
+homeftp.org, 4
+homegoods, 0
+homeip.net, 4
+homelink.one, 4
+homelinux.com, 4
+homelinux.net, 4
+homelinux.org, 4
+homeoffice.gov.uk, 4
+homes, 0
+homesecuritymac.com, 4
+homesecuritypc.com, 4
+homesense, 0
+homeunix.com, 4
+homeunix.net, 4
+homeunix.org, 4
+honai.ehime.jp, 0
+honbetsu.hokkaido.jp, 0
+honda, 0
+honefoss.no, 0
+honeywell, 0
+hongo.hiroshima.jp, 0
+honjo.akita.jp, 0
+honjo.saitama.jp, 0
+honjyo.akita.jp, 0
+hopto.me, 4
+hopto.org, 4
+hornindal.no, 0
+horokanai.hokkaido.jp, 0
+horology.museum, 0
+horonobe.hokkaido.jp, 0
+horse, 0
+horten.no, 0
+hospital, 0
+host, 0
+hosting, 0
+hot, 0
+hotel.hu, 0
+hotel.lk, 0
+hotel.tz, 0
+hoteles, 0
+hotels, 0
+hotmail, 0
+house, 0
+house.museum, 0
+how, 0
+hoyanger.no, 0
+hoylandet.no, 0
+hr, 0
+hr.eu.org, 4
+hs.kr, 0
+hsbc, 0
+ht, 0
+htc, 0
+hu, 0
+hu.com, 4
+hu.eu.org, 4
+hu.net, 4
+hughes, 0
+huissier-justice.fr, 0
+humanities.museum, 0
+hurdal.no, 0
+hurum.no, 0
+hvaler.no, 0
+hyatt, 0
+hyllestad.no, 0
+hyogo.jp, 0
+hyuga.miyazaki.jp, 0
+hyundai, 0
+hzc.io, 4
+i.bg, 0
+i.ng, 0
+i.ph, 0
+i.se, 0
+i234.me, 4
+ia.us, 0
+iamallama.com, 4
+ibara.okayama.jp, 0
+ibaraki.ibaraki.jp, 0
+ibaraki.jp, 0
+ibaraki.osaka.jp, 0
+ibestad.no, 0
+ibigawa.gifu.jp, 0
+ibm, 0
+ic.gov.pl, 0
+icbc, 0
+ice, 0
+ichiba.tokushima.jp, 0
+ichihara.chiba.jp, 0
+ichikai.tochigi.jp, 0
+ichikawa.chiba.jp, 0
+ichikawa.hyogo.jp, 0
+ichikawamisato.yamanashi.jp, 0
+ichinohe.iwate.jp, 0
+ichinomiya.aichi.jp, 0
+ichinomiya.chiba.jp, 0
+ichinoseki.iwate.jp, 0
+icu, 0
+id, 0
+id.au, 0
+id.ir, 0
+id.lv, 0
+id.ly, 0
+id.us, 0
+ide.kyoto.jp, 0
+idf.il, 0
+idrett.no, 0
+idv.hk, 0
+idv.tw, 0
+ie, 0
+ie.eu.org, 4
+ieee, 0
+if.ua, 0
+ifm, 0
+iglesias-carbonia.it, 0
+iglesiascarbonia.it, 0
+iheya.okinawa.jp, 0
+iida.nagano.jp, 0
+iide.yamagata.jp, 0
+iijima.nagano.jp, 0
+iitate.fukushima.jp, 0
+iiyama.nagano.jp, 0
+iizuka.fukuoka.jp, 0
+iizuna.nagano.jp, 0
+ikano, 0
+ikaruga.nara.jp, 0
+ikata.ehime.jp, 0
+ikawa.akita.jp, 0
+ikeda.fukui.jp, 0
+ikeda.gifu.jp, 0
+ikeda.hokkaido.jp, 0
+ikeda.nagano.jp, 0
+ikeda.osaka.jp, 0
+iki.fi, 4
+iki.nagasaki.jp, 0
+ikoma.nara.jp, 0
+ikusaka.nagano.jp, 0
+il, 0
+il.eu.org, 4
+il.us, 0
+ilawa.pl, 0
+illustration.museum, 0
+ilovecollege.info, 4
+im, 0
+im.it, 0
+imabari.ehime.jp, 0
+imageandsound.museum, 0
+imakane.hokkaido.jp, 0
+imamat, 0
+imari.saga.jp, 0
+imb.br, 0
+imdb, 0
+imizu.toyama.jp, 0
+immo, 0
+immobilien, 0
+imperia.it, 0
+in, 0
+in-addr.arpa, 0
+in-the-band.net, 4
+in.eu.org, 4
+in.na, 0
+in.net, 4
+in.ni, 0
+in.rs, 0
+in.th, 0
+in.ua, 0
+in.us, 0
+ina.ibaraki.jp, 0
+ina.nagano.jp, 0
+ina.saitama.jp, 0
+inabe.mie.jp, 0
+inagawa.hyogo.jp, 0
+inagi.tokyo.jp, 0
+inami.toyama.jp, 0
+inami.wakayama.jp, 0
+inashiki.ibaraki.jp, 0
+inatsuki.fukuoka.jp, 0
+inawashiro.fukushima.jp, 0
+inazawa.aichi.jp, 0
+inc.hk, 4
+incheon.kr, 0
+ind.br, 0
+ind.gt, 0
+ind.in, 0
+ind.tn, 0
+inderoy.no, 0
+indian.museum, 0
+indiana.museum, 0
+indianapolis.museum, 0
+indianmarket.museum, 0
+industries, 0
+ine.kyoto.jp, 0
+inf.br, 0
+inf.cu, 0
+inf.mk, 0
+inf.ua, 4
+infiniti, 0
+info, 0
+info.at, 4
+info.au, 0
+info.az, 0
+info.bb, 0
+info.co, 0
+info.ec, 0
+info.et, 0
+info.ht, 0
+info.hu, 0
+info.ki, 0
+info.la, 0
+info.mv, 0
+info.na, 0
+info.nf, 0
+info.ni, 0
+info.nr, 0
+info.pk, 0
+info.pl, 0
+info.pr, 0
+info.ro, 0
+info.sd, 0
+info.tn, 0
+info.tr, 0
+info.tt, 0
+info.tz, 0
+info.ve, 0
+info.vn, 0
+info.zm, 0
+ing, 0
+ing.pa, 0
+ingatlan.hu, 0
+ink, 0
+ino.kochi.jp, 0
+institute, 0
+insurance, 0
+insurance.aero, 0
+insure, 0
+int, 0
+int.ar, 0
+int.az, 0
+int.bo, 0
+int.ci, 0
+int.co, 0
+int.eu.org, 4
+int.is, 0
+int.la, 0
+int.lk, 0
+int.mv, 0
+int.mw, 0
+int.ni, 0
+int.pt, 0
+int.ru, 0
+int.rw, 0
+int.tj, 0
+int.tt, 0
+int.ve, 0
+int.vn, 0
+intel, 0
+intelligence.museum, 0
+interactive.museum, 0
+international, 0
+internet-dns.de, 4
+intl.tn, 0
+intuit, 0
+inuyama.aichi.jp, 0
+investments, 0
+inzai.chiba.jp, 0
+io, 0
+ip6.arpa, 0
+ipifony.net, 4
+ipiranga, 0
+iq, 0
+ir, 0
+iraq.museum, 0
+iris.arpa, 0
+irish, 0
+iron.museum, 0
+iruma.saitama.jp, 0
+is, 0
+is-a-anarchist.com, 4
+is-a-blogger.com, 4
+is-a-bookkeeper.com, 4
+is-a-bruinsfan.org, 4
+is-a-bulls-fan.com, 4
+is-a-candidate.org, 4
+is-a-caterer.com, 4
+is-a-celticsfan.org, 4
+is-a-chef.com, 4
+is-a-chef.net, 4
+is-a-chef.org, 4
+is-a-conservative.com, 4
+is-a-cpa.com, 4
+is-a-cubicle-slave.com, 4
+is-a-democrat.com, 4
+is-a-designer.com, 4
+is-a-doctor.com, 4
+is-a-financialadvisor.com, 4
+is-a-geek.com, 4
+is-a-geek.net, 4
+is-a-geek.org, 4
+is-a-green.com, 4
+is-a-guru.com, 4
+is-a-hard-worker.com, 4
+is-a-hunter.com, 4
+is-a-knight.org, 4
+is-a-landscaper.com, 4
+is-a-lawyer.com, 4
+is-a-liberal.com, 4
+is-a-libertarian.com, 4
+is-a-linux-user.org, 4
+is-a-llama.com, 4
+is-a-musician.com, 4
+is-a-nascarfan.com, 4
+is-a-nurse.com, 4
+is-a-painter.com, 4
+is-a-patsfan.org, 4
+is-a-personaltrainer.com, 4
+is-a-photographer.com, 4
+is-a-player.com, 4
+is-a-republican.com, 4
+is-a-rockstar.com, 4
+is-a-socialist.com, 4
+is-a-soxfan.org, 4
+is-a-student.com, 4
+is-a-teacher.com, 4
+is-a-techie.com, 4
+is-a-therapist.com, 4
+is-an-accountant.com, 4
+is-an-actor.com, 4
+is-an-actress.com, 4
+is-an-anarchist.com, 4
+is-an-artist.com, 4
+is-an-engineer.com, 4
+is-an-entertainer.com, 4
+is-by.us, 4
+is-certified.com, 4
+is-found.org, 4
+is-gone.com, 4
+is-into-anime.com, 4
+is-into-cars.com, 4
+is-into-cartoons.com, 4
+is-into-games.com, 4
+is-leet.com, 4
+is-lost.org, 4
+is-not-certified.com, 4
+is-saved.org, 4
+is-slick.com, 4
+is-uberleet.com, 4
+is-very-bad.org, 4
+is-very-evil.org, 4
+is-very-good.org, 4
+is-very-nice.org, 4
+is-very-sweet.org, 4
+is-with-theband.com, 4
+is.eu.org, 4
+is.gov.pl, 0
+is.it, 0
+isa-geek.com, 4
+isa-geek.net, 4
+isa-geek.org, 4
+isa-hockeynut.com, 4
+isa.kagoshima.jp, 0
+isa.us, 0
+isahaya.nagasaki.jp, 0
+ise.mie.jp, 0
+isehara.kanagawa.jp, 0
+iselect, 0
+isen.kagoshima.jp, 0
+isernia.it, 0
+isesaki.gunma.jp, 0
+ishigaki.okinawa.jp, 0
+ishikari.hokkaido.jp, 0
+ishikawa.fukushima.jp, 0
+ishikawa.jp, 0
+ishikawa.okinawa.jp, 0
+ishinomaki.miyagi.jp, 0
+isla.pr, 0
+isleofman.museum, 0
+ismaili, 0
+isshiki.aichi.jp, 0
+issmarterthanyou.com, 4
+ist, 0
+istanbul, 0
+isteingeek.de, 4
+istmein.de, 4
+isumi.chiba.jp, 0
+it, 0
+it.ao, 0
+it.eu.org, 4
+itabashi.tokyo.jp, 0
+itako.ibaraki.jp, 0
+itakura.gunma.jp, 0
+itami.hyogo.jp, 0
+itano.tokushima.jp, 0
+itau, 0
+itayanagi.aomori.jp, 0
+ito.shizuoka.jp, 0
+itoigawa.niigata.jp, 0
+itoman.okinawa.jp, 0
+its.me, 0
+itv, 0
+ivano-frankivsk.ua, 0
+ivanovo.su, 4
+iveco, 0
+iveland.no, 0
+ivgu.no, 0
+iwade.wakayama.jp, 0
+iwafune.tochigi.jp, 0
+iwaizumi.iwate.jp, 0
+iwaki.fukushima.jp, 0
+iwakuni.yamaguchi.jp, 0
+iwakura.aichi.jp, 0
+iwama.ibaraki.jp, 0
+iwamizawa.hokkaido.jp, 0
+iwanai.hokkaido.jp, 0
+iwanuma.miyagi.jp, 0
+iwata.shizuoka.jp, 0
+iwate.iwate.jp, 0
+iwate.jp, 0
+iwatsuki.saitama.jp, 0
+iwc, 0
+iwi.nz, 0
+iyo.ehime.jp, 0
+iz.hr, 0
+izena.okinawa.jp, 0
+izu.shizuoka.jp, 0
+izumi.kagoshima.jp, 0
+izumi.osaka.jp, 0
+izumiotsu.osaka.jp, 0
+izumisano.osaka.jp, 0
+izumizaki.fukushima.jp, 0
+izumo.shimane.jp, 0
+izumozaki.niigata.jp, 0
+izunokuni.shizuoka.jp, 0
+j.bg, 0
+jaguar, 0
+jambyl.su, 4
+jamison.museum, 0
+jan-mayen.no, 0
+java, 0
+jaworzno.pl, 0
+jcb, 0
+jcp, 0
+je, 0
+jeep, 0
+jefferson.museum, 0
+jeju.kr, 0
+jelenia-gora.pl, 0
+jeonbuk.kr, 0
+jeonnam.kr, 0
+jerusalem.museum, 0
+jessheim.no, 0
+jetzt, 0
+jevnaker.no, 0
+jewelry, 0
+jewelry.museum, 0
+jewish.museum, 0
+jewishart.museum, 0
+jfk.museum, 0
+jgora.pl, 0
+jinsekikogen.hiroshima.jp, 0
+jio, 0
+jl.cn, 0
+jlc, 0
+jll, 0
+jm, 2
+jmp, 0
+jnj, 0
+jo, 0
+joboji.iwate.jp, 0
+jobs, 0
+jobs.tt, 0
+joburg, 0
+joetsu.niigata.jp, 0
+jogasz.hu, 0
+johana.toyama.jp, 0
+jolster.no, 0
+jondal.no, 0
+jor.br, 0
+jorpeland.no, 0
+joso.ibaraki.jp, 0
+jot, 0
+journal.aero, 0
+journalism.museum, 0
+journalist.aero, 0
+joy, 0
+joyo.kyoto.jp, 0
+jp, 0
+jp.eu.org, 4
+jp.net, 4
+jpmorgan, 0
+jpn.com, 4
+jprs, 0
+js.cn, 0
+js.org, 4
+judaica.museum, 0
+judygarland.museum, 0
+juedisches.museum, 0
+juegos, 0
+juif.museum, 0
+juniper, 0
+jur.pro, 0
+jus.br, 0
+jx.cn, 0
+k.bg, 0
+k.se, 0
+k12.ak.us, 0
+k12.al.us, 0
+k12.ar.us, 0
+k12.as.us, 0
+k12.az.us, 0
+k12.ca.us, 0
+k12.co.us, 0
+k12.ct.us, 0
+k12.dc.us, 0
+k12.de.us, 0
+k12.ec, 0
+k12.fl.us, 0
+k12.ga.us, 0
+k12.gu.us, 0
+k12.ia.us, 0
+k12.id.us, 0
+k12.il, 0
+k12.il.us, 0
+k12.in.us, 0
+k12.ks.us, 0
+k12.ky.us, 0
+k12.la.us, 0
+k12.ma.us, 0
+k12.md.us, 0
+k12.me.us, 0
+k12.mi.us, 0
+k12.mn.us, 0
+k12.mo.us, 0
+k12.ms.us, 0
+k12.mt.us, 0
+k12.nc.us, 0
+k12.ne.us, 0
+k12.nh.us, 0
+k12.nj.us, 0
+k12.nm.us, 0
+k12.nv.us, 0
+k12.ny.us, 0
+k12.oh.us, 0
+k12.ok.us, 0
+k12.or.us, 0
+k12.pa.us, 0
+k12.pr.us, 0
+k12.ri.us, 0
+k12.sc.us, 0
+k12.tn.us, 0
+k12.tr, 0
+k12.tx.us, 0
+k12.ut.us, 0
+k12.va.us, 0
+k12.vi, 0
+k12.vi.us, 0
+k12.vt.us, 0
+k12.wa.us, 0
+k12.wi.us, 0
+k12.wy.us, 0
+kadena.okinawa.jp, 0
+kadogawa.miyazaki.jp, 0
+kadoma.osaka.jp, 0
+kafjord.no, 0
+kaga.ishikawa.jp, 0
+kagami.kochi.jp, 0
+kagamiishi.fukushima.jp, 0
+kagamino.okayama.jp, 0
+kagawa.jp, 0
+kagoshima.jp, 0
+kagoshima.kagoshima.jp, 0
+kaho.fukuoka.jp, 0
+kahoku.ishikawa.jp, 0
+kahoku.yamagata.jp, 0
+kai.yamanashi.jp, 0
+kainan.tokushima.jp, 0
+kainan.wakayama.jp, 0
+kaisei.kanagawa.jp, 0
+kaita.hiroshima.jp, 0
+kaizuka.osaka.jp, 0
+kakamigahara.gifu.jp, 0
+kakegawa.shizuoka.jp, 0
+kakinoki.shimane.jp, 0
+kakogawa.hyogo.jp, 0
+kakuda.miyagi.jp, 0
+kalisz.pl, 0
+kalmykia.ru, 4
+kalmykia.su, 4
+kaluga.su, 4
+kamagaya.chiba.jp, 0
+kamaishi.iwate.jp, 0
+kamakura.kanagawa.jp, 0
+kameoka.kyoto.jp, 0
+kameyama.mie.jp, 0
+kami.kochi.jp, 0
+kami.miyagi.jp, 0
+kamiamakusa.kumamoto.jp, 0
+kamifurano.hokkaido.jp, 0
+kamigori.hyogo.jp, 0
+kamiichi.toyama.jp, 0
+kamiizumi.saitama.jp, 0
+kamijima.ehime.jp, 0
+kamikawa.hokkaido.jp, 0
+kamikawa.hyogo.jp, 0
+kamikawa.saitama.jp, 0
+kamikitayama.nara.jp, 0
+kamikoani.akita.jp, 0
+kamimine.saga.jp, 0
+kaminokawa.tochigi.jp, 0
+kaminoyama.yamagata.jp, 0
+kamioka.akita.jp, 0
+kamisato.saitama.jp, 0
+kamishihoro.hokkaido.jp, 0
+kamisu.ibaraki.jp, 0
+kamisunagawa.hokkaido.jp, 0
+kamitonda.wakayama.jp, 0
+kamitsue.oita.jp, 0
+kamo.kyoto.jp, 0
+kamo.niigata.jp, 0
+kamoenai.hokkaido.jp, 0
+kamogawa.chiba.jp, 0
+kanagawa.jp, 0
+kanan.osaka.jp, 0
+kanazawa.ishikawa.jp, 0
+kanegasaki.iwate.jp, 0
+kaneyama.fukushima.jp, 0
+kaneyama.yamagata.jp, 0
+kani.gifu.jp, 0
+kanie.aichi.jp, 0
+kanmaki.nara.jp, 0
+kanna.gunma.jp, 0
+kannami.shizuoka.jp, 0
+kanonji.kagawa.jp, 0
+kanoya.kagoshima.jp, 0
+kanra.gunma.jp, 0
+kanuma.tochigi.jp, 0
+kanzaki.saga.jp, 0
+karacol.su, 4
+karaganda.su, 4
+karasjohka.no, 0
+karasjok.no, 0
+karasuyama.tochigi.jp, 0
+karate.museum, 0
+karatsu.saga.jp, 0
+karelia.su, 4
+karikatur.museum, 0
+kariwa.niigata.jp, 0
+kariya.aichi.jp, 0
+karlsoy.no, 0
+karmoy.no, 0
+karpacz.pl, 0
+kartuzy.pl, 0
+karuizawa.nagano.jp, 0
+karumai.iwate.jp, 0
+kasahara.gifu.jp, 0
+kasai.hyogo.jp, 0
+kasama.ibaraki.jp, 0
+kasamatsu.gifu.jp, 0
+kasaoka.okayama.jp, 0
+kashiba.nara.jp, 0
+kashihara.nara.jp, 0
+kashima.ibaraki.jp, 0
+kashima.saga.jp, 0
+kashiwa.chiba.jp, 0
+kashiwara.osaka.jp, 0
+kashiwazaki.niigata.jp, 0
+kasuga.fukuoka.jp, 0
+kasuga.hyogo.jp, 0
+kasugai.aichi.jp, 0
+kasukabe.saitama.jp, 0
+kasumigaura.ibaraki.jp, 0
+kasuya.fukuoka.jp, 0
+kaszuby.pl, 0
+katagami.akita.jp, 0
+katano.osaka.jp, 0
+katashina.gunma.jp, 0
+katori.chiba.jp, 0
+katowice.pl, 0
+katsuragi.nara.jp, 0
+katsuragi.wakayama.jp, 0
+katsushika.tokyo.jp, 0
+katsuura.chiba.jp, 0
+katsuyama.fukui.jp, 0
+kaufen, 0
+kautokeino.no, 0
+kawaba.gunma.jp, 0
+kawachinagano.osaka.jp, 0
+kawagoe.mie.jp, 0
+kawagoe.saitama.jp, 0
+kawaguchi.saitama.jp, 0
+kawahara.tottori.jp, 0
+kawai.iwate.jp, 0
+kawai.nara.jp, 0
+kawajima.saitama.jp, 0
+kawakami.nagano.jp, 0
+kawakami.nara.jp, 0
+kawakita.ishikawa.jp, 0
+kawamata.fukushima.jp, 0
+kawaminami.miyazaki.jp, 0
+kawanabe.kagoshima.jp, 0
+kawanehon.shizuoka.jp, 0
+kawanishi.hyogo.jp, 0
+kawanishi.nara.jp, 0
+kawanishi.yamagata.jp, 0
+kawara.fukuoka.jp, 0
+kawasaki.jp, 2
+kawasaki.miyagi.jp, 0
+kawatana.nagasaki.jp, 0
+kawaue.gifu.jp, 0
+kawazu.shizuoka.jp, 0
+kayabe.hokkaido.jp, 0
+kazimierz-dolny.pl, 0
+kazo.saitama.jp, 0
+kazuno.akita.jp, 0
+kddi, 0
+ke, 2
+keisen.fukuoka.jp, 0
+kembuchi.hokkaido.jp, 0
+kep.tr, 0
+kepno.pl, 0
+kerryhotels, 0
+kerrylogistics, 0
+kerryproperties, 0
+ketrzyn.pl, 0
+keymachine.de, 4
+kfh, 0
+kg, 0
+kg.kr, 0
+kh, 2
+kh.ua, 0
+khakassia.su, 4
+kharkiv.ua, 0
+kharkov.ua, 0
+kherson.ua, 0
+khmelnitskiy.ua, 0
+khmelnytskyi.ua, 0
+ki, 0
+kia, 0
+kibichuo.okayama.jp, 0
+kicks-ass.net, 4
+kicks-ass.org, 4
+kids.museum, 0
+kids.us, 0
+kiev.ua, 0
+kiho.mie.jp, 0
+kihoku.ehime.jp, 0
+kijo.miyazaki.jp, 0
+kikonai.hokkaido.jp, 0
+kikuchi.kumamoto.jp, 0
+kikugawa.shizuoka.jp, 0
+kim, 0
+kimino.wakayama.jp, 0
+kimitsu.chiba.jp, 0
+kimobetsu.hokkaido.jp, 0
+kin.okinawa.jp, 0
+kinder, 0
+kindle, 0
+kinko.kagoshima.jp, 0
+kinokawa.wakayama.jp, 0
+kira.aichi.jp, 0
+kirkenes.no, 0
+kirovograd.ua, 0
+kiryu.gunma.jp, 0
+kisarazu.chiba.jp, 0
+kishiwada.osaka.jp, 0
+kiso.nagano.jp, 0
+kisofukushima.nagano.jp, 0
+kisosaki.mie.jp, 0
+kita.kyoto.jp, 0
+kita.osaka.jp, 0
+kita.tokyo.jp, 0
+kitaaiki.nagano.jp, 0
+kitaakita.akita.jp, 0
+kitadaito.okinawa.jp, 0
+kitagata.gifu.jp, 0
+kitagata.saga.jp, 0
+kitagawa.kochi.jp, 0
+kitagawa.miyazaki.jp, 0
+kitahata.saga.jp, 0
+kitahiroshima.hokkaido.jp, 0
+kitakami.iwate.jp, 0
+kitakata.fukushima.jp, 0
+kitakata.miyazaki.jp, 0
+kitakyushu.jp, 2
+kitami.hokkaido.jp, 0
+kitamoto.saitama.jp, 0
+kitanakagusuku.okinawa.jp, 0
+kitashiobara.fukushima.jp, 0
+kitaura.miyazaki.jp, 0
+kitayama.wakayama.jp, 0
+kitchen, 0
+kiwa.mie.jp, 0
+kiwi, 0
+kiwi.nz, 0
+kiyama.saga.jp, 0
+kiyokawa.kanagawa.jp, 0
+kiyosato.hokkaido.jp, 0
+kiyose.tokyo.jp, 0
+kiyosu.aichi.jp, 0
+kizu.kyoto.jp, 0
+klabu.no, 0
+klepp.no, 0
+klodzko.pl, 0
+km, 0
+km.ua, 0
+kmpsp.gov.pl, 0
+kn, 0
+knightpoint.systems, 4
+knowsitall.info, 4
+knx-server.net, 4
+kobayashi.miyazaki.jp, 0
+kobe.jp, 2
+kobierzyce.pl, 0
+kochi.jp, 0
+kochi.kochi.jp, 0
+kodaira.tokyo.jp, 0
+koebenhavn.museum, 0
+koeln, 0
+koeln.museum, 0
+kofu.yamanashi.jp, 0
+koga.fukuoka.jp, 0
+koga.ibaraki.jp, 0
+koganei.tokyo.jp, 0
+koge.tottori.jp, 0
+koka.shiga.jp, 0
+kokonoe.oita.jp, 0
+kokubunji.tokyo.jp, 0
+kolobrzeg.pl, 0
+komae.tokyo.jp, 0
+komagane.nagano.jp, 0
+komaki.aichi.jp, 0
+komatsu, 0
+komatsu.ishikawa.jp, 0
+komatsushima.tokushima.jp, 0
+komforb.se, 0
+kommunalforbund.se, 0
+kommune.no, 0
+komono.mie.jp, 0
+komoro.nagano.jp, 0
+komvux.se, 0
+konan.aichi.jp, 0
+konan.shiga.jp, 0
+kongsberg.no, 0
+kongsvinger.no, 0
+konin.pl, 0
+konskowola.pl, 0
+konsulat.gov.pl, 0
+konyvelo.hu, 0
+koori.fukushima.jp, 0
+kopervik.no, 0
+koriyama.fukushima.jp, 0
+koryo.nara.jp, 0
+kosai.shizuoka.jp, 0
+kosaka.akita.jp, 0
+kosei.shiga.jp, 0
+kosher, 0
+koshigaya.saitama.jp, 0
+koshimizu.hokkaido.jp, 0
+koshu.yamanashi.jp, 0
+kosuge.yamanashi.jp, 0
+kota.aichi.jp, 0
+koto.shiga.jp, 0
+koto.tokyo.jp, 0
+kotohira.kagawa.jp, 0
+kotoura.tottori.jp, 0
+kouhoku.saga.jp, 0
+kounosu.saitama.jp, 0
+kouyama.kagoshima.jp, 0
+kouzushima.tokyo.jp, 0
+koya.wakayama.jp, 0
+koza.wakayama.jp, 0
+kozagawa.wakayama.jp, 0
+kozaki.chiba.jp, 0
+kp, 0
+kpmg, 0
+kpn, 0
+kppsp.gov.pl, 0
+kr, 0
+kr.com, 4
+kr.eu.org, 4
+kr.it, 0
+kr.ua, 0
+kraanghke.no, 0
+kragero.no, 0
+krakow.pl, 4
+krasnodar.su, 4
+krd, 0
+kred, 0
+kristiansand.no, 0
+kristiansund.no, 0
+krodsherad.no, 0
+krokstadelva.no, 0
+krym.ua, 0
+ks.ua, 0
+ks.us, 0
+kuchinotsu.nagasaki.jp, 0
+kudamatsu.yamaguchi.jp, 0
+kudoyama.wakayama.jp, 0
+kui.hiroshima.jp, 0
+kuji.iwate.jp, 0
+kuju.oita.jp, 0
+kujukuri.chiba.jp, 0
+kuki.saitama.jp, 0
+kumagaya.saitama.jp, 0
+kumakogen.ehime.jp, 0
+kumamoto.jp, 0
+kumamoto.kumamoto.jp, 0
+kumano.hiroshima.jp, 0
+kumano.mie.jp, 0
+kumatori.osaka.jp, 0
+kumejima.okinawa.jp, 0
+kumenan.okayama.jp, 0
+kumiyama.kyoto.jp, 0
+kunden.ortsinfo.at, 6
+kunigami.okinawa.jp, 0
+kunimi.fukushima.jp, 0
+kunisaki.oita.jp, 0
+kunitachi.tokyo.jp, 0
+kunitomi.miyazaki.jp, 0
+kunneppu.hokkaido.jp, 0
+kunohe.iwate.jp, 0
+kunst.museum, 0
+kunstsammlung.museum, 0
+kunstunddesign.museum, 0
+kuokgroup, 0
+kurashiki.okayama.jp, 0
+kurate.fukuoka.jp, 0
+kure.hiroshima.jp, 0
+kurgan.su, 4
+kuriyama.hokkaido.jp, 0
+kurobe.toyama.jp, 0
+kurogi.fukuoka.jp, 0
+kuroishi.aomori.jp, 0
+kuroiso.tochigi.jp, 0
+kuromatsunai.hokkaido.jp, 0
+kurotaki.nara.jp, 0
+kurume.fukuoka.jp, 0
+kusatsu.gunma.jp, 0
+kusatsu.shiga.jp, 0
+kushima.miyazaki.jp, 0
+kushimoto.wakayama.jp, 0
+kushiro.hokkaido.jp, 0
+kustanai.ru, 4
+kustanai.su, 4
+kusu.oita.jp, 0
+kutchan.hokkaido.jp, 0
+kutno.pl, 0
+kuwana.mie.jp, 0
+kuzumaki.iwate.jp, 0
+kv.ua, 0
+kvafjord.no, 0
+kvalsund.no, 0
+kvam.no, 0
+kvanangen.no, 0
+kvinesdal.no, 0
+kvinnherad.no, 0
+kviteseid.no, 0
+kvitsoy.no, 0
+kw, 2
+kwp.gov.pl, 0
+kwpsp.gov.pl, 0
+ky, 0
+ky.us, 0
+kyiv.ua, 0
+kyonan.chiba.jp, 0
+kyotamba.kyoto.jp, 0
+kyotanabe.kyoto.jp, 0
+kyotango.kyoto.jp, 0
+kyoto, 0
+kyoto.jp, 0
+kyowa.akita.jp, 0
+kyowa.hokkaido.jp, 0
+kyuragi.saga.jp, 0
+kz, 0
+l-o-g-i-n.de, 4
+l.bg, 0
+l.se, 0
+la, 0
+la-spezia.it, 0
+la.us, 0
+laakesvuemie.no, 0
+labor.museum, 0
+labour.museum, 0
+lacaixa, 0
+ladbrokes, 0
+lahppi.no, 0
+lajolla.museum, 0
+lakas.hu, 0
+lamborghini, 0
+lamer, 0
+lanbib.se, 0
+lancashire.museum, 0
+lancaster, 0
+lancia, 0
+lancome, 0
+land, 0
+land-4-sale.us, 4
+landes.museum, 0
+landrover, 0
+langevag.no, 0
+lans.museum, 0
+lanxess, 0
+lapy.pl, 0
+laquila.it, 0
+lardal.no, 0
+larsson.museum, 0
+larvik.no, 0
+lasalle, 0
+laspezia.it, 0
+lat, 0
+latina.it, 0
+latino, 0
+latrobe, 0
+lavagis.no, 0
+lavangen.no, 0
+law, 0
+law.pro, 0
+law.za, 0
+lawyer, 0
+laz.it, 0
+lazio.it, 0
+lb, 0
+lc, 0
+lc.it, 0
+lds, 0
+le.it, 0
+leangaviika.no, 0
+lease, 0
+leasing.aero, 0
+lebesby.no, 0
+lebork.pl, 0
+lebtimnetz.de, 4
+lecce.it, 0
+lecco.it, 0
+leclerc, 0
+lefrak, 0
+leg.br, 0
+legal, 0
+legnica.pl, 0
+lego, 0
+leikanger.no, 0
+leirfjord.no, 0
+leirvik.no, 0
+leitungsen.de, 4
+leka.no, 0
+leksvik.no, 0
+lel.br, 0
+lenug.su, 4
+lenvik.no, 0
+lerdal.no, 0
+lesja.no, 0
+levanger.no, 0
+lewismiller.museum, 0
+lexus, 0
+lezajsk.pl, 0
+lg.jp, 0
+lg.ua, 0
+lgbt, 0
+li, 0
+li.it, 0
+liaison, 0
+lib.ak.us, 0
+lib.al.us, 0
+lib.ar.us, 0
+lib.as.us, 0
+lib.az.us, 0
+lib.ca.us, 0
+lib.co.us, 0
+lib.ct.us, 0
+lib.dc.us, 0
+lib.de.us, 4
+lib.ee, 0
+lib.fl.us, 0
+lib.ga.us, 0
+lib.gu.us, 0
+lib.hi.us, 0
+lib.ia.us, 0
+lib.id.us, 0
+lib.il.us, 0
+lib.in.us, 0
+lib.ks.us, 0
+lib.ky.us, 0
+lib.la.us, 0
+lib.ma.us, 0
+lib.md.us, 0
+lib.me.us, 0
+lib.mi.us, 0
+lib.mn.us, 0
+lib.mo.us, 0
+lib.ms.us, 0
+lib.mt.us, 0
+lib.nc.us, 0
+lib.nd.us, 0
+lib.ne.us, 0
+lib.nh.us, 0
+lib.nj.us, 0
+lib.nm.us, 0
+lib.nv.us, 0
+lib.ny.us, 0
+lib.oh.us, 0
+lib.ok.us, 0
+lib.or.us, 0
+lib.pa.us, 0
+lib.pr.us, 0
+lib.ri.us, 0
+lib.sc.us, 0
+lib.sd.us, 0
+lib.tn.us, 0
+lib.tx.us, 0
+lib.ut.us, 0
+lib.va.us, 0
+lib.vi.us, 0
+lib.vt.us, 0
+lib.wa.us, 0
+lib.wi.us, 0
+lib.wy.us, 0
+lidl, 0
+lier.no, 0
+lierne.no, 0
+life, 0
+lifeinsurance, 0
+lifestyle, 0
+lig.it, 0
+lighting, 0
+liguria.it, 0
+like, 0
+likes-pie.com, 4
+likescandy.com, 4
+lillehammer.no, 0
+lillesand.no, 0
+lilly, 0
+limanowa.pl, 0
+limited, 0
+limo, 0
+lincoln, 0
+lincoln.museum, 0
+lindas.no, 0
+linde, 0
+lindesnes.no, 0
+link, 0
+linz.museum, 0
+lipsy, 0
+live, 0
+living, 0
+living.museum, 0
+livinghistory.museum, 0
+livorno.it, 0
+lixil, 0
+lk, 0
+ln.cn, 0
+lo.it, 0
+loabat.no, 0
+loan, 0
+loans, 0
+localhistory.museum, 0
+localhost.daplie.me, 4
+locker, 0
+locus, 0
+lodi.it, 0
+lodingen.no, 0
+loft, 0
+loginto.me, 4
+logistics.aero, 0
+logoip.com, 4
+logoip.de, 4
+lol, 0
+lom.it, 0
+lom.no, 0
+lombardia.it, 0
+lombardy.it, 0
+lomza.pl, 0
+london, 0
+london.museum, 0
+loppa.no, 0
+lorenskog.no, 0
+losangeles.museum, 0
+loten.no, 0
+lotte, 0
+lotto, 0
+louvre.museum, 0
+love, 0
+lowicz.pl, 0
+loyalist.museum, 0
+lpl, 0
+lplfinancial, 0
+lr, 0
+ls, 0
+lt, 0
+lt.eu.org, 4
+lt.it, 0
+lt.ua, 0
+ltd, 0
+ltd.co.im, 0
+ltd.cy, 0
+ltd.gi, 0
+ltd.hk, 4
+ltd.lk, 0
+ltd.ua, 4
+ltd.uk, 0
+ltda, 0
+lu, 0
+lu.eu.org, 4
+lu.it, 0
+lubin.pl, 0
+lucania.it, 0
+lucca.it, 0
+lucerne.museum, 0
+lugansk.ua, 0
+lukow.pl, 0
+lund.no, 0
+lundbeck, 0
+lunner.no, 0
+lupin, 0
+luroy.no, 0
+luster.no, 0
+lutsk.ua, 0
+luxe, 0
+luxembourg.museum, 0
+luxury, 0
+luzern.museum, 0
+lv, 0
+lv.eu.org, 4
+lv.ua, 0
+lviv.ua, 0
+ly, 0
+lyngdal.no, 0
+lyngen.no, 0
+m.bg, 0
+m.se, 0
+ma, 0
+ma.leg.br, 4
+ma.us, 0
+macerata.it, 0
+machida.tokyo.jp, 0
+macys, 0
+mad.museum, 0
+madrid, 0
+madrid.museum, 0
+maebashi.gunma.jp, 0
+magazine.aero, 0
+magentosite.cloud, 6
+maibara.shiga.jp, 0
+maif, 0
+mail.pl, 0
+maintenance.aero, 0
+maison, 0
+maizuru.kyoto.jp, 0
+makeup, 0
+makinohara.shizuoka.jp, 0
+makurazaki.kagoshima.jp, 0
+malatvuopmi.no, 0
+malbork.pl, 0
+mallorca.museum, 0
+malopolska.pl, 0
+malselv.no, 0
+malvik.no, 0
+mamurogawa.yamagata.jp, 0
+man, 0
+management, 0
+manchester.museum, 0
+mandal.no, 0
+mango, 0
+mangyshlak.su, 4
+maniwa.okayama.jp, 0
+manno.kagawa.jp, 0
+mansion.museum, 0
+mansions.museum, 0
+mantova.it, 0
+manx.museum, 0
+maori.nz, 0
+map, 0
+map.fastly.net, 4
+map.fastlylb.net, 4
+mar.it, 0
+marburg.museum, 0
+marche.it, 0
+marine.ru, 4
+maritime.museum, 0
+maritimo.museum, 0
+marker.no, 0
+market, 0
+marketing, 0
+markets, 0
+marnardal.no, 0
+marriott, 0
+marshalls, 0
+marugame.kagawa.jp, 0
+marumori.miyagi.jp, 0
+maryland.museum, 0
+marylhurst.museum, 0
+masaki.ehime.jp, 0
+maserati, 0
+masfjorden.no, 0
+mashike.hokkaido.jp, 0
+mashiki.kumamoto.jp, 0
+mashiko.tochigi.jp, 0
+masoy.no, 0
+massa-carrara.it, 0
+massacarrara.it, 0
+masuda.shimane.jp, 0
+mat.br, 0
+matera.it, 0
+matsubara.osaka.jp, 0
+matsubushi.saitama.jp, 0
+matsuda.kanagawa.jp, 0
+matsudo.chiba.jp, 0
+matsue.shimane.jp, 0
+matsukawa.nagano.jp, 0
+matsumae.hokkaido.jp, 0
+matsumoto.kagoshima.jp, 0
+matsumoto.nagano.jp, 0
+matsuno.ehime.jp, 0
+matsusaka.mie.jp, 0
+matsushige.tokushima.jp, 0
+matsushima.miyagi.jp, 0
+matsuura.nagasaki.jp, 0
+matsuyama.ehime.jp, 0
+matsuzaki.shizuoka.jp, 0
+matta-varjjat.no, 0
+mattel, 0
+mazowsze.pl, 0
+mazury.pl, 0
+mb.ca, 0
+mb.it, 0
+mba, 0
+mc, 0
+mc.eu.org, 4
+mc.it, 0
+mcd, 0
+mcdonalds, 0
+mckinsey, 0
+md, 0
+md.ci, 0
+md.us, 0
+me, 0
+me.eu.org, 4
+me.it, 0
+me.tz, 0
+me.uk, 0
+me.us, 0
+med, 0
+med.br, 0
+med.ec, 0
+med.ee, 0
+med.ht, 0
+med.ly, 0
+med.om, 0
+med.pa, 0
+med.pl, 4
+med.pro, 0
+med.sa, 0
+med.sd, 0
+medecin.fr, 0
+medecin.km, 0
+media, 0
+media.aero, 0
+media.hu, 0
+media.museum, 0
+media.pl, 0
+medical.museum, 0
+medio-campidano.it, 0
+mediocampidano.it, 0
+medizinhistorisches.museum, 0
+meeres.museum, 0
+meet, 0
+meguro.tokyo.jp, 0
+mein-vigor.de, 4
+meiwa.gunma.jp, 0
+meiwa.mie.jp, 0
+meland.no, 0
+melbourne, 0
+meldal.no, 0
+melhus.no, 0
+meloy.no, 0
+meme, 0
+memorial, 0
+memorial.museum, 0
+men, 0
+menu, 0
+meo, 0
+meraker.no, 0
+merckmsd, 0
+merseine.nu, 4
+mesaverde.museum, 0
+messina.it, 0
+meteorapp.com, 4
+metlife, 0
+mex.com, 4
+mg, 0
+mg.leg.br, 4
+mh, 0
+mi.it, 0
+mi.th, 0
+mi.us, 0
+miami, 0
+miasa.nagano.jp, 0
+miasta.pl, 0
+mibu.tochigi.jp, 0
+michigan.museum, 0
+microlight.aero, 0
+microsoft, 0
+midatlantic.museum, 0
+midori.chiba.jp, 0
+midori.gunma.jp, 0
+midsund.no, 0
+midtre-gauldal.no, 0
+mie.jp, 0
+mielec.pl, 0
+mielno.pl, 0
+mifune.kumamoto.jp, 0
+mihama.aichi.jp, 0
+mihama.chiba.jp, 0
+mihama.fukui.jp, 0
+mihama.mie.jp, 0
+mihama.wakayama.jp, 0
+mihara.hiroshima.jp, 0
+mihara.kochi.jp, 0
+miharu.fukushima.jp, 0
+miho.ibaraki.jp, 0
+mikasa.hokkaido.jp, 0
+mikawa.yamagata.jp, 0
+miki.hyogo.jp, 0
+mil, 0
+mil.ac, 0
+mil.ae, 0
+mil.al, 0
+mil.ar, 0
+mil.az, 0
+mil.ba, 0
+mil.bo, 0
+mil.br, 0
+mil.by, 0
+mil.cl, 0
+mil.cn, 0
+mil.co, 0
+mil.do, 0
+mil.ec, 0
+mil.eg, 0
+mil.ge, 0
+mil.gh, 0
+mil.gt, 0
+mil.hn, 0
+mil.id, 0
+mil.in, 0
+mil.iq, 0
+mil.jo, 0
+mil.kg, 0
+mil.km, 0
+mil.kr, 0
+mil.kz, 0
+mil.lv, 0
+mil.mg, 0
+mil.mv, 0
+mil.my, 0
+mil.mz, 0
+mil.ng, 0
+mil.ni, 0
+mil.no, 0
+mil.nz, 0
+mil.pe, 0
+mil.ph, 0
+mil.pl, 0
+mil.py, 0
+mil.qa, 0
+mil.ru, 0
+mil.rw, 0
+mil.sh, 0
+mil.st, 0
+mil.sy, 0
+mil.tj, 0
+mil.tm, 0
+mil.to, 0
+mil.tr, 0
+mil.tw, 0
+mil.tz, 0
+mil.uy, 0
+mil.vc, 0
+mil.ve, 0
+mil.za, 0
+mil.zm, 0
+mil.zw, 0
+milan.it, 0
+milano.it, 0
+military.museum, 0
+mill.museum, 0
+mima.tokushima.jp, 0
+mimata.miyazaki.jp, 0
+minakami.gunma.jp, 0
+minamata.kumamoto.jp, 0
+minami-alps.yamanashi.jp, 0
+minami.fukuoka.jp, 0
+minami.kyoto.jp, 0
+minami.tokushima.jp, 0
+minamiaiki.nagano.jp, 0
+minamiashigara.kanagawa.jp, 0
+minamiawaji.hyogo.jp, 0
+minamiboso.chiba.jp, 0
+minamidaito.okinawa.jp, 0
+minamiechizen.fukui.jp, 0
+minamifurano.hokkaido.jp, 0
+minamiise.mie.jp, 0
+minamiizu.shizuoka.jp, 0
+minamimaki.nagano.jp, 0
+minamiminowa.nagano.jp, 0
+minamioguni.kumamoto.jp, 0
+minamisanriku.miyagi.jp, 0
+minamitane.kagoshima.jp, 0
+minamiuonuma.niigata.jp, 0
+minamiyamashiro.kyoto.jp, 0
+minano.saitama.jp, 0
+minato.osaka.jp, 0
+minato.tokyo.jp, 0
+mincom.tn, 0
+mine.nu, 4
+miners.museum, 0
+mini, 0
+mining.museum, 0
+minnesota.museum, 0
+mino.gifu.jp, 0
+minobu.yamanashi.jp, 0
+minoh.osaka.jp, 0
+minokamo.gifu.jp, 0
+minowa.nagano.jp, 0
+mint, 0
+misaki.okayama.jp, 0
+misaki.osaka.jp, 0
+misasa.tottori.jp, 0
+misato.akita.jp, 0
+misato.miyagi.jp, 0
+misato.saitama.jp, 0
+misato.shimane.jp, 0
+misato.wakayama.jp, 0
+misawa.aomori.jp, 0
+misconfused.org, 4
+mishima.fukushima.jp, 0
+mishima.shizuoka.jp, 0
+missile.museum, 0
+missoula.museum, 0
+misugi.mie.jp, 0
+mit, 0
+mitaka.tokyo.jp, 0
+mitake.gifu.jp, 0
+mitane.akita.jp, 0
+mito.ibaraki.jp, 0
+mitou.yamaguchi.jp, 0
+mitoyo.kagawa.jp, 0
+mitsubishi, 0
+mitsue.nara.jp, 0
+mitsuke.niigata.jp, 0
+miura.kanagawa.jp, 0
+miyada.nagano.jp, 0
+miyagi.jp, 0
+miyake.nara.jp, 0
+miyako.fukuoka.jp, 0
+miyako.iwate.jp, 0
+miyakonojo.miyazaki.jp, 0
+miyama.fukuoka.jp, 0
+miyama.mie.jp, 0
+miyashiro.saitama.jp, 0
+miyawaka.fukuoka.jp, 0
+miyazaki.jp, 0
+miyazaki.miyazaki.jp, 0
+miyazu.kyoto.jp, 0
+miyoshi.aichi.jp, 0
+miyoshi.hiroshima.jp, 0
+miyoshi.saitama.jp, 0
+miyoshi.tokushima.jp, 0
+miyota.nagano.jp, 0
+mizuho.tokyo.jp, 0
+mizumaki.fukuoka.jp, 0
+mizunami.gifu.jp, 0
+mizusawa.iwate.jp, 0
+mjondalen.no, 0
+mk, 0
+mk.eu.org, 4
+mk.ua, 0
+ml, 0
+mlb, 0
+mlbfan.org, 4
+mls, 0
+mm, 2
+mma, 0
+mmafan.biz, 4
+mn, 0
+mn.it, 0
+mn.us, 0
+mo, 0
+mo-i-rana.no, 0
+mo.cn, 0
+mo.it, 0
+mo.us, 0
+moareke.no, 0
+mobara.chiba.jp, 0
+mobi, 0
+mobi.gp, 0
+mobi.na, 0
+mobi.ng, 0
+mobi.tt, 0
+mobi.tz, 0
+mobile, 0
+mobily, 0
+mochizuki.nagano.jp, 0
+mod.gi, 0
+moda, 0
+modalen.no, 0
+modelling.aero, 0
+modena.it, 0
+modern.museum, 0
+modum.no, 0
+moe, 0
+moi, 0
+moka.tochigi.jp, 0
+mol.it, 0
+molde.no, 0
+molise.it, 0
+mom, 0
+moma.museum, 0
+mombetsu.hokkaido.jp, 0
+monash, 0
+money, 0
+money.museum, 0
+monmouth.museum, 0
+monster, 0
+montblanc, 0
+monticello.museum, 0
+montreal.museum, 0
+monza-brianza.it, 0
+monza-e-della-brianza.it, 0
+monza.it, 0
+monzabrianza.it, 0
+monzaebrianza.it, 0
+monzaedellabrianza.it, 0
+moonscale.net, 4
+mopar, 0
+mordovia.ru, 4
+mordovia.su, 4
+moriguchi.osaka.jp, 0
+morimachi.shizuoka.jp, 0
+morioka.iwate.jp, 0
+moriya.ibaraki.jp, 0
+moriyama.shiga.jp, 0
+moriyoshi.akita.jp, 0
+mormon, 0
+morotsuka.miyazaki.jp, 0
+moroyama.saitama.jp, 0
+mortgage, 0
+moscow, 0
+moscow.museum, 0
+moseushi.hokkaido.jp, 0
+mosjoen.no, 0
+moskenes.no, 0
+moss.no, 0
+mosvik.no, 0
+motegi.tochigi.jp, 0
+moto, 0
+motobu.okinawa.jp, 0
+motorcycle.museum, 0
+motorcycles, 0
+motosu.gifu.jp, 0
+motoyama.kochi.jp, 0
+mov, 0
+movie, 0
+movistar, 0
+mp, 0
+mp.br, 0
+mq, 0
+mr, 0
+mr.no, 0
+mragowo.pl, 0
+ms, 0
+ms.it, 0
+ms.kr, 0
+ms.leg.br, 4
+ms.us, 0
+msd, 0
+msk.ru, 4
+msk.su, 4
+mt, 0
+mt.eu.org, 4
+mt.it, 0
+mt.leg.br, 4
+mt.us, 0
+mtn, 0
+mtpc, 0
+mtr, 0
+mu, 0
+muenchen.museum, 0
+muenster.museum, 0
+mugi.tokushima.jp, 0
+muika.niigata.jp, 0
+mukawa.hokkaido.jp, 0
+muko.kyoto.jp, 0
+mulhouse.museum, 0
+munakata.fukuoka.jp, 0
+muncie.museum, 0
+muni.il, 0
+muosat.no, 0
+mup.gov.pl, 0
+murakami.niigata.jp, 0
+murata.miyagi.jp, 0
+murayama.yamagata.jp, 0
+murmansk.su, 4
+muroran.hokkaido.jp, 0
+muroto.kochi.jp, 0
+mus.br, 0
+musashimurayama.tokyo.jp, 0
+musashino.tokyo.jp, 0
+museet.museum, 0
+museum, 0
+museum.mv, 0
+museum.mw, 0
+museum.no, 0
+museum.om, 0
+museum.tt, 0
+museumcenter.museum, 0
+museumvereniging.museum, 0
+music.museum, 0
+mutsu.aomori.jp, 0
+mutsuzawa.chiba.jp, 0
+mutual, 0
+mv, 0
+mw, 0
+mw.gov.pl, 0
+mx, 0
+mx.na, 0
+my, 0
+my-firewall.org, 4
+my-gateway.de, 4
+my-router.de, 4
+my-vigor.de, 4
+my-wan.de, 4
+my.eu.org, 4
+my.id, 0
+myactivedirectory.com, 4
+myasustor.com, 4
+mycd.eu, 4
+mydissent.net, 4
+mydrobo.com, 4
+myds.me, 4
+myeffect.net, 4
+myfirewall.org, 4
+myfritz.net, 4
+myftp.biz, 4
+myftp.org, 4
+myfusion.cloud, 4
+myhome-server.de, 4
+mykolaiv.ua, 0
+mymediapc.net, 4
+myoko.niigata.jp, 0
+mypep.link, 4
+mypets.ws, 4
+myphotos.cc, 4
+mypsx.net, 4
+myqnapcloud.com, 4
+mysecuritycamera.com, 4
+mysecuritycamera.net, 4
+mysecuritycamera.org, 4
+myshopblocks.com, 4
+mytis.ru, 4
+myvnc.com, 4
+mz, 0
+n.bg, 0
+n.se, 0
+na, 0
+na.it, 0
+naamesjevuemie.no, 0
+nab, 0
+nabari.mie.jp, 0
+nachikatsuura.wakayama.jp, 0
+nadex, 0
+nagahama.shiga.jp, 0
+nagai.yamagata.jp, 0
+nagano.jp, 0
+nagano.nagano.jp, 0
+naganohara.gunma.jp, 0
+nagaoka.niigata.jp, 0
+nagaokakyo.kyoto.jp, 0
+nagara.chiba.jp, 0
+nagareyama.chiba.jp, 0
+nagasaki.jp, 0
+nagasaki.nagasaki.jp, 0
+nagasu.kumamoto.jp, 0
+nagato.yamaguchi.jp, 0
+nagatoro.saitama.jp, 0
+nagawa.nagano.jp, 0
+nagi.okayama.jp, 0
+nagiso.nagano.jp, 0
+nago.okinawa.jp, 0
+nagoya, 0
+nagoya.jp, 2
+naha.okinawa.jp, 0
+nahari.kochi.jp, 0
+naie.hokkaido.jp, 0
+naka.hiroshima.jp, 0
+naka.ibaraki.jp, 0
+nakadomari.aomori.jp, 0
+nakagawa.fukuoka.jp, 0
+nakagawa.hokkaido.jp, 0
+nakagawa.nagano.jp, 0
+nakagawa.tokushima.jp, 0
+nakagusuku.okinawa.jp, 0
+nakagyo.kyoto.jp, 0
+nakai.kanagawa.jp, 0
+nakama.fukuoka.jp, 0
+nakamichi.yamanashi.jp, 0
+nakamura.kochi.jp, 0
+nakaniikawa.toyama.jp, 0
+nakano.nagano.jp, 0
+nakano.tokyo.jp, 0
+nakanojo.gunma.jp, 0
+nakanoto.ishikawa.jp, 0
+nakasatsunai.hokkaido.jp, 0
+nakatane.kagoshima.jp, 0
+nakatombetsu.hokkaido.jp, 0
+nakatsugawa.gifu.jp, 0
+nakayama.yamagata.jp, 0
+nakijin.okinawa.jp, 0
+naklo.pl, 0
+nalchik.ru, 4
+nalchik.su, 4
+namdalseid.no, 0
+name, 0
+name.az, 0
+name.cy, 0
+name.eg, 0
+name.et, 0
+name.hr, 0
+name.jo, 0
+name.mk, 0
+name.mv, 0
+name.my, 0
+name.na, 0
+name.ng, 0
+name.pr, 0
+name.qa, 0
+name.tj, 0
+name.tr, 0
+name.tt, 0
+name.vn, 0
+namegata.ibaraki.jp, 0
+namegawa.saitama.jp, 0
+namerikawa.toyama.jp, 0
+namie.fukushima.jp, 0
+namikata.ehime.jp, 0
+namsos.no, 0
+namsskogan.no, 0
+nanae.hokkaido.jp, 0
+nanao.ishikawa.jp, 0
+nanbu.tottori.jp, 0
+nanbu.yamanashi.jp, 0
+nango.fukushima.jp, 0
+nanjo.okinawa.jp, 0
+nankoku.kochi.jp, 0
+nanmoku.gunma.jp, 0
+nannestad.no, 0
+nanporo.hokkaido.jp, 0
+nantan.kyoto.jp, 0
+nanto.toyama.jp, 0
+nanyo.yamagata.jp, 0
+naoshima.kagawa.jp, 0
+naples.it, 0
+napoli.it, 0
+nara.jp, 0
+nara.nara.jp, 0
+narashino.chiba.jp, 0
+narita.chiba.jp, 0
+naroy.no, 0
+narusawa.yamanashi.jp, 0
+naruto.tokushima.jp, 0
+narviika.no, 0
+narvik.no, 0
+nasu.tochigi.jp, 0
+nasushiobara.tochigi.jp, 0
+nat.tn, 0
+national.museum, 0
+nationalfirearms.museum, 0
+nationalheritage.museum, 0
+nationwide, 0
+nativeamerican.museum, 0
+natori.miyagi.jp, 0
+natura, 0
+naturalhistory.museum, 0
+naturalhistorymuseum.museum, 0
+naturalsciences.museum, 0
+naturbruksgymn.se, 0
+nature.museum, 0
+naturhistorisches.museum, 0
+natuurwetenschappen.museum, 0
+naumburg.museum, 0
+naustdal.no, 0
+naval.museum, 0
+navigation.aero, 0
+navoi.su, 4
+navuotna.no, 0
+navy, 0
+nayoro.hokkaido.jp, 0
+nb.ca, 0
+nba, 0
+nc, 0
+nc.tr, 0
+nc.us, 0
+nd.us, 0
+ne, 0
+ne.jp, 0
+ne.kr, 0
+ne.pw, 0
+ne.tz, 0
+ne.ug, 0
+ne.us, 0
+neat-url.com, 4
+nebraska.museum, 0
+nec, 0
+nedre-eiker.no, 0
+nemuro.hokkaido.jp, 0
+nerdpol.ovh, 4
+nerima.tokyo.jp, 0
+nes.akershus.no, 0
+nes.buskerud.no, 0
+nesna.no, 0
+nesodden.no, 0
+nesoddtangen.no, 0
+nesseby.no, 0
+nesset.no, 0
+net, 0
+net-freaks.com, 4
+net.ac, 0
+net.ae, 0
+net.af, 0
+net.ag, 0
+net.ai, 0
+net.al, 0
+net.ar, 0
+net.au, 0
+net.az, 0
+net.ba, 0
+net.bb, 0
+net.bh, 0
+net.bm, 0
+net.bo, 0
+net.br, 0
+net.bs, 0
+net.bt, 0
+net.bz, 0
+net.ci, 0
+net.cm, 0
+net.cn, 0
+net.co, 0
+net.cu, 0
+net.cw, 0
+net.cy, 0
+net.dm, 0
+net.do, 0
+net.dz, 0
+net.ec, 0
+net.eg, 0
+net.et, 0
+net.eu.org, 4
+net.ge, 0
+net.gg, 0
+net.gl, 0
+net.gn, 0
+net.gp, 0
+net.gr, 0
+net.gt, 0
+net.gy, 0
+net.hk, 0
+net.hn, 0
+net.ht, 0
+net.id, 0
+net.il, 0
+net.im, 0
+net.in, 0
+net.iq, 0
+net.ir, 0
+net.is, 0
+net.je, 0
+net.jo, 0
+net.kg, 0
+net.ki, 0
+net.kn, 0
+net.ky, 0
+net.kz, 0
+net.la, 0
+net.lb, 0
+net.lc, 0
+net.lk, 0
+net.lr, 0
+net.lv, 0
+net.ly, 0
+net.ma, 0
+net.me, 0
+net.mk, 0
+net.ml, 0
+net.mo, 0
+net.ms, 0
+net.mt, 0
+net.mu, 0
+net.mv, 0
+net.mw, 0
+net.mx, 0
+net.my, 0
+net.mz, 0
+net.nf, 0
+net.ng, 0
+net.ni, 0
+net.nr, 0
+net.nz, 0
+net.om, 0
+net.pa, 0
+net.pe, 0
+net.ph, 0
+net.pk, 0
+net.pl, 0
+net.pn, 0
+net.pr, 0
+net.ps, 0
+net.pt, 0
+net.py, 0
+net.qa, 0
+net.rw, 0
+net.sa, 0
+net.sb, 0
+net.sc, 0
+net.sd, 0
+net.sg, 0
+net.sh, 0
+net.sl, 0
+net.so, 0
+net.st, 0
+net.sy, 0
+net.th, 0
+net.tj, 0
+net.tm, 0
+net.tn, 0
+net.to, 0
+net.tr, 0
+net.tt, 0
+net.tw, 0
+net.ua, 0
+net.uk, 0
+net.uy, 0
+net.uz, 0
+net.vc, 0
+net.ve, 0
+net.vi, 0
+net.vn, 0
+net.vu, 0
+net.ws, 0
+net.za, 0
+net.zm, 0
+netbank, 0
+netflix, 0
+network, 0
+neues.museum, 0
+neustar, 0
+new, 0
+newhampshire.museum, 0
+newholland, 0
+newjersey.museum, 0
+newmexico.museum, 0
+newport.museum, 0
+news, 0
+news.hu, 0
+newspaper.museum, 0
+newyork.museum, 0
+next, 0
+nextdirect, 0
+nexus, 0
+neyagawa.osaka.jp, 0
+nf, 0
+nf.ca, 0
+nfl, 0
+nflfan.org, 4
+nfshost.com, 4
+ng, 0
+ng.eu.org, 4
+ngo, 0
+ngo.lk, 0
+ngo.ph, 0
+ngo.za, 0
+ngrok.io, 4
+nh.us, 0
+nhk, 0
+nhlfan.net, 4
+nhs.uk, 0
+ni, 0
+nic.in, 0
+nic.tj, 0
+nichinan.miyazaki.jp, 0
+nichinan.tottori.jp, 0
+nico, 0
+nid.io, 4
+niepce.museum, 0
+nieruchomosci.pl, 0
+niigata.jp, 0
+niigata.niigata.jp, 0
+niihama.ehime.jp, 0
+niikappu.hokkaido.jp, 0
+niimi.okayama.jp, 0
+niiza.saitama.jp, 0
+nikaho.akita.jp, 0
+nike, 0
+niki.hokkaido.jp, 0
+nikko.tochigi.jp, 0
+nikolaev.ua, 0
+nikon, 0
+ninja, 0
+ninohe.iwate.jp, 0
+ninomiya.kanagawa.jp, 0
+nirasaki.yamanashi.jp, 0
+nis.za, 0
+nishi.fukuoka.jp, 0
+nishi.osaka.jp, 0
+nishiaizu.fukushima.jp, 0
+nishiarita.saga.jp, 0
+nishiawakura.okayama.jp, 0
+nishiazai.shiga.jp, 0
+nishigo.fukushima.jp, 0
+nishihara.kumamoto.jp, 0
+nishihara.okinawa.jp, 0
+nishiizu.shizuoka.jp, 0
+nishikata.tochigi.jp, 0
+nishikatsura.yamanashi.jp, 0
+nishikawa.yamagata.jp, 0
+nishimera.miyazaki.jp, 0
+nishinomiya.hyogo.jp, 0
+nishinoomote.kagoshima.jp, 0
+nishinoshima.shimane.jp, 0
+nishio.aichi.jp, 0
+nishiokoppe.hokkaido.jp, 0
+nishitosa.kochi.jp, 0
+nishiwaki.hyogo.jp, 0
+nissan, 0
+nissay, 0
+nissedal.no, 0
+nisshin.aichi.jp, 0
+nittedal.no, 0
+niyodogawa.kochi.jp, 0
+nj.us, 0
+nl, 0
+nl.ca, 0
+nl.eu.org, 4
+nl.no, 0
+nm.cn, 0
+nm.us, 0
+no, 0
+no-ip.biz, 4
+no-ip.ca, 4
+no-ip.co.uk, 4
+no-ip.info, 4
+no-ip.net, 4
+no-ip.org, 4
+no.com, 4
+no.eu.org, 4
+no.it, 0
+nobeoka.miyazaki.jp, 0
+noboribetsu.hokkaido.jp, 0
+noda.chiba.jp, 0
+noda.iwate.jp, 0
+nogata.fukuoka.jp, 0
+nogi.tochigi.jp, 0
+noheji.aomori.jp, 0
+noip.me, 4
+noip.us, 4
+nokia, 0
+nom.ad, 0
+nom.ag, 0
+nom.br, 2
+nom.co, 0
+nom.es, 0
+nom.fr, 0
+nom.km, 0
+nom.mg, 0
+nom.ni, 0
+nom.pa, 0
+nom.pe, 0
+nom.pl, 0
+nom.re, 0
+nom.ro, 0
+nom.tm, 0
+nom.za, 0
+nome.pt, 0
+nomi.ishikawa.jp, 0
+nonoichi.ishikawa.jp, 0
+nord-aurdal.no, 0
+nord-fron.no, 0
+nord-odal.no, 0
+norddal.no, 0
+nordkapp.no, 0
+nordre-land.no, 0
+nordreisa.no, 0
+nore-og-uvdal.no, 0
+norfolk.museum, 0
+north-kazakhstan.su, 4
+north.museum, 0
+northwesternmutual, 0
+norton, 0
+nose.osaka.jp, 0
+nosegawa.nara.jp, 0
+noshiro.akita.jp, 0
+not.br, 0
+notaires.fr, 0
+notaires.km, 0
+noto.ishikawa.jp, 0
+notodden.no, 0
+notogawa.shiga.jp, 0
+notteroy.no, 0
+nov.ru, 4
+nov.su, 4
+novara.it, 0
+now, 0
+now.sh, 4
+nowaruda.pl, 0
+nowruz, 0
+nowtv, 0
+nozawaonsen.nagano.jp, 0
+np, 2
+nr, 0
+nra, 0
+nrw, 0
+nrw.museum, 0
+ns.ca, 0
+nsn.us, 0
+nsupdate.info, 4
+nsw.au, 0
+nsw.edu.au, 0
+nt.au, 0
+nt.ca, 0
+nt.edu.au, 0
+nt.no, 0
+nt.ro, 0
+ntr.br, 0
+ntt, 0
+nu, 0
+nu.ca, 0
+nu.it, 0
+nuernberg.museum, 0
+numata.gunma.jp, 0
+numata.hokkaido.jp, 0
+numazu.shizuoka.jp, 0
+nuoro.it, 0
+nuremberg.museum, 0
+nv.us, 0
+nx.cn, 0
+ny.us, 0
+nyc, 0
+nyc.mn, 4
+nyc.museum, 0
+nyny.museum, 0
+nysa.pl, 0
+nyuzen.toyama.jp, 0
+nz, 0
+nz.eu.org, 4
+o.bg, 0
+o.se, 0
+oamishirasato.chiba.jp, 0
+oarai.ibaraki.jp, 0
+obama.fukui.jp, 0
+obama.nagasaki.jp, 0
+obanazawa.yamagata.jp, 0
+obi, 0
+obihiro.hokkaido.jp, 0
+obira.hokkaido.jp, 0
+obninsk.su, 4
+observer, 0
+obu.aichi.jp, 0
+obuse.nagano.jp, 0
+oceanographic.museum, 0
+oceanographique.museum, 0
+ochi.kochi.jp, 0
+od.ua, 0
+odate.akita.jp, 0
+odawara.kanagawa.jp, 0
+odda.no, 0
+odesa.ua, 0
+odessa.ua, 0
+odo.br, 0
+oe.yamagata.jp, 0
+of.by, 0
+of.no, 0
+off, 0
+off.ai, 0
+office, 0
+office-on-the.net, 4
+ofunato.iwate.jp, 0
+og.ao, 0
+og.it, 0
+oga.akita.jp, 0
+ogaki.gifu.jp, 0
+ogano.saitama.jp, 0
+ogasawara.tokyo.jp, 0
+ogata.akita.jp, 0
+ogawa.ibaraki.jp, 0
+ogawa.nagano.jp, 0
+ogawa.saitama.jp, 0
+ogawara.miyagi.jp, 0
+ogi.saga.jp, 0
+ogimi.okinawa.jp, 0
+ogliastra.it, 0
+ogori.fukuoka.jp, 0
+ogose.saitama.jp, 0
+oguchi.aichi.jp, 0
+oguni.kumamoto.jp, 0
+oguni.yamagata.jp, 0
+oh.us, 0
+oharu.aichi.jp, 0
+ohda.shimane.jp, 0
+ohi.fukui.jp, 0
+ohira.miyagi.jp, 0
+ohira.tochigi.jp, 0
+ohkura.yamagata.jp, 0
+ohtawara.tochigi.jp, 0
+oi.kanagawa.jp, 0
+oirase.aomori.jp, 0
+oirm.gov.pl, 0
+oishida.yamagata.jp, 0
+oiso.kanagawa.jp, 0
+oita.jp, 0
+oita.oita.jp, 0
+oizumi.gunma.jp, 0
+oji.nara.jp, 0
+ojiya.niigata.jp, 0
+ok.us, 0
+okagaki.fukuoka.jp, 0
+okawa.fukuoka.jp, 0
+okawa.kochi.jp, 0
+okaya.nagano.jp, 0
+okayama.jp, 0
+okayama.okayama.jp, 0
+okazaki.aichi.jp, 0
+okegawa.saitama.jp, 0
+oketo.hokkaido.jp, 0
+oki.fukuoka.jp, 0
+okinawa, 0
+okinawa.jp, 0
+okinawa.okinawa.jp, 0
+okinoshima.shimane.jp, 0
+okoppe.hokkaido.jp, 0
+oksnes.no, 0
+okuizumo.shimane.jp, 0
+okuma.fukushima.jp, 0
+okutama.tokyo.jp, 0
+ol.no, 0
+olawa.pl, 0
+olayan, 0
+olayangroup, 0
+olbia-tempio.it, 0
+olbiatempio.it, 0
+oldnavy, 0
+olecko.pl, 0
+olkusz.pl, 0
+ollo, 0
+olsztyn.pl, 0
+om, 0
+omachi.nagano.jp, 0
+omachi.saga.jp, 0
+omaezaki.shizuoka.jp, 0
+omaha.museum, 0
+omasvuotna.no, 0
+ome.tokyo.jp, 0
+omega, 0
+omi.nagano.jp, 0
+omi.niigata.jp, 0
+omigawa.chiba.jp, 0
+omihachiman.shiga.jp, 0
+omitama.ibaraki.jp, 0
+omiya.saitama.jp, 0
+omotego.fukushima.jp, 0
+omura.nagasaki.jp, 0
+omuta.fukuoka.jp, 0
+on-aptible.com, 4
+on-the-web.tv, 4
+on-web.fr, 4
+on.ca, 0
+onagawa.miyagi.jp, 0
+one, 0
+ong, 0
+onga.fukuoka.jp, 0
+onion, 0
+onjuku.chiba.jp, 0
+onl, 0
+online, 0
+online.museum, 0
+onna.okinawa.jp, 0
+ono.fukui.jp, 0
+ono.fukushima.jp, 0
+ono.hyogo.jp, 0
+onojo.fukuoka.jp, 0
+onomichi.hiroshima.jp, 0
+ontario.museum, 0
+onthewifi.com, 4
+onyourside, 0
+ookuwa.nagano.jp, 0
+ooo, 0
+ooshika.nagano.jp, 0
+open, 0
+openair.museum, 0
+opencraft.hosting, 4
+operaunite.com, 4
+opoczno.pl, 0
+opole.pl, 0
+oppdal.no, 0
+oppegard.no, 0
+or.at, 0
+or.bi, 0
+or.ci, 0
+or.cr, 0
+or.id, 0
+or.it, 0
+or.jp, 0
+or.kr, 0
+or.mu, 0
+or.na, 0
+or.pw, 0
+or.th, 0
+or.tz, 0
+or.ug, 0
+or.us, 0
+ora.gunma.jp, 0
+oracle, 0
+orange, 0
+oregon.museum, 0
+oregontrail.museum, 0
+org, 0
+org.ac, 0
+org.ae, 0
+org.af, 0
+org.ag, 0
+org.ai, 0
+org.al, 0
+org.ar, 0
+org.au, 0
+org.az, 0
+org.ba, 0
+org.bb, 0
+org.bh, 0
+org.bi, 0
+org.bm, 0
+org.bo, 0
+org.br, 0
+org.bs, 0
+org.bt, 0
+org.bw, 0
+org.bz, 0
+org.ci, 0
+org.cn, 0
+org.co, 0
+org.cu, 0
+org.cw, 0
+org.cy, 0
+org.dm, 0
+org.do, 0
+org.dz, 0
+org.ec, 0
+org.ee, 0
+org.eg, 0
+org.es, 0
+org.et, 0
+org.ge, 0
+org.gg, 0
+org.gh, 0
+org.gi, 0
+org.gl, 0
+org.gn, 0
+org.gp, 0
+org.gr, 0
+org.gt, 0
+org.gy, 0
+org.hk, 0
+org.hn, 0
+org.ht, 0
+org.hu, 0
+org.il, 0
+org.im, 0
+org.in, 0
+org.iq, 0
+org.ir, 0
+org.is, 0
+org.je, 0
+org.jo, 0
+org.kg, 0
+org.ki, 0
+org.km, 0
+org.kn, 0
+org.kp, 0
+org.ky, 0
+org.kz, 0
+org.la, 0
+org.lb, 0
+org.lc, 0
+org.lk, 0
+org.lr, 0
+org.ls, 0
+org.lv, 0
+org.ly, 0
+org.ma, 0
+org.me, 0
+org.mg, 0
+org.mk, 0
+org.ml, 0
+org.mn, 0
+org.mo, 0
+org.ms, 0
+org.mt, 0
+org.mu, 0
+org.mv, 0
+org.mw, 0
+org.mx, 0
+org.my, 0
+org.mz, 0
+org.na, 0
+org.ng, 0
+org.ni, 0
+org.nr, 0
+org.nz, 0
+org.om, 0
+org.pa, 0
+org.pe, 0
+org.pf, 0
+org.ph, 0
+org.pk, 0
+org.pl, 0
+org.pn, 0
+org.pr, 0
+org.ps, 0
+org.pt, 0
+org.py, 0
+org.qa, 0
+org.ro, 0
+org.rs, 0
+org.sa, 0
+org.sb, 0
+org.sc, 0
+org.sd, 0
+org.se, 0
+org.sg, 0
+org.sh, 0
+org.sl, 0
+org.sn, 0
+org.so, 0
+org.st, 0
+org.sv, 0
+org.sy, 0
+org.sz, 0
+org.tj, 0
+org.tm, 0
+org.tn, 0
+org.to, 0
+org.tr, 0
+org.tt, 0
+org.tw, 0
+org.ua, 0
+org.ug, 0
+org.uk, 0
+org.uy, 0
+org.uz, 0
+org.vc, 0
+org.ve, 0
+org.vi, 0
+org.vn, 0
+org.vu, 0
+org.ws, 0
+org.za, 0
+org.zm, 0
+org.zw, 0
+organic, 0
+orientexpress, 0
+origins, 0
+oristano.it, 0
+orkanger.no, 0
+orkdal.no, 0
+orland.no, 0
+orskog.no, 0
+orsta.no, 0
+os.hedmark.no, 0
+os.hordaland.no, 0
+osaka, 0
+osaka.jp, 0
+osakasayama.osaka.jp, 0
+osaki.miyagi.jp, 0
+osakikamijima.hiroshima.jp, 0
+osen.no, 0
+oseto.nagasaki.jp, 0
+oshima.tokyo.jp, 0
+oshima.yamaguchi.jp, 0
+oshino.yamanashi.jp, 0
+oshu.iwate.jp, 0
+oslo.no, 0
+osoyro.no, 0
+osteroy.no, 0
+ostre-toten.no, 0
+ostroda.pl, 0
+ostroleka.pl, 0
+ostrowiec.pl, 0
+ostrowwlkp.pl, 0
+ot.it, 0
+ota.gunma.jp, 0
+ota.tokyo.jp, 0
+otago.museum, 0
+otake.hiroshima.jp, 0
+otaki.chiba.jp, 0
+otaki.nagano.jp, 0
+otaki.saitama.jp, 0
+otama.fukushima.jp, 0
+otari.nagano.jp, 0
+otaru.hokkaido.jp, 0
+other.nf, 0
+oto.fukuoka.jp, 0
+otobe.hokkaido.jp, 0
+otofuke.hokkaido.jp, 0
+otoineppu.hokkaido.jp, 0
+otoyo.kochi.jp, 0
+otsu.shiga.jp, 0
+otsuchi.iwate.jp, 0
+otsuka, 0
+otsuki.kochi.jp, 0
+otsuki.yamanashi.jp, 0
+ott, 0
+ouchi.saga.jp, 0
+ouda.nara.jp, 0
+oum.gov.pl, 0
+oumu.hokkaido.jp, 0
+outsystemscloud.com, 4
+overhalla.no, 0
+ovh, 0
+ovre-eiker.no, 0
+owani.aomori.jp, 0
+owariasahi.aichi.jp, 0
+ownprovider.com, 4
+oxford.museum, 0
+oy.lc, 4
+oyabe.toyama.jp, 0
+oyama.tochigi.jp, 0
+oyamazaki.kyoto.jp, 0
+oyer.no, 0
+oygarden.no, 0
+oyodo.nara.jp, 0
+oystre-slidre.no, 0
+oz.au, 0
+ozora.hokkaido.jp, 0
+ozu.ehime.jp, 0
+ozu.kumamoto.jp, 0
+p.bg, 0
+p.se, 0
+pa, 0
+pa.gov.pl, 0
+pa.it, 0
+pa.leg.br, 4
+pa.us, 0
+pacific.museum, 0
+paderborn.museum, 0
+padova.it, 0
+padua.it, 0
+page, 0
+pagefrontapp.com, 4
+pagespeedmobilizer.com, 4
+palace.museum, 0
+paleo.museum, 0
+palermo.it, 0
+palmsprings.museum, 0
+pamperedchef, 0
+panama.museum, 0
+panasonic, 0
+panerai, 0
+pantheonsite.io, 4
+parachuting.aero, 0
+paragliding.aero, 0
+paris, 0
+paris.eu.org, 4
+paris.museum, 0
+parliament.cy, 0
+parliament.nz, 0
+parma.it, 0
+paroch.k12.ma.us, 0
+pars, 0
+parti.se, 0
+partners, 0
+parts, 0
+party, 0
+pasadena.museum, 0
+passagens, 0
+passenger-association.aero, 0
+pavia.it, 0
+pay, 0
+pb.ao, 0
+pb.leg.br, 4
+pc.it, 0
+pc.pl, 0
+pccw, 0
+pd.it, 0
+pe, 0
+pe.ca, 0
+pe.it, 0
+pe.kr, 0
+pe.leg.br, 4
+penza.su, 4
+per.la, 0
+per.nf, 0
+per.sg, 0
+perso.ht, 0
+perso.sn, 0
+perso.tn, 0
+perugia.it, 0
+pesaro-urbino.it, 0
+pesarourbino.it, 0
+pescara.it, 0
+pet, 0
+pf, 0
+pfizer, 0
+pg, 2
+pg.it, 0
+pgafan.net, 4
+pgfog.com, 4
+ph, 0
+pharmacien.fr, 0
+pharmaciens.km, 0
+pharmacy, 0
+pharmacy.museum, 0
+phd, 0
+philadelphia.museum, 0
+philadelphiaarea.museum, 0
+philately.museum, 0
+philips, 0
+phoenix.museum, 0
+phone, 0
+photo, 0
+photography, 0
+photography.museum, 0
+photos, 0
+physio, 0
+pi.it, 0
+pi.leg.br, 4
+piacenza.it, 0
+piaget, 0
+pics, 0
+pictet, 0
+pictures, 0
+pid, 0
+piedmont.it, 0
+piemonte.it, 0
+pila.pl, 0
+pilot.aero, 0
+pilots.museum, 0
+pimienta.org, 4
+pin, 0
+pinb.gov.pl, 0
+ping, 0
+pink, 0
+pioneer, 0
+pippu.hokkaido.jp, 0
+pisa.it, 0
+pistoia.it, 0
+pisz.pl, 0
+pittsburgh.museum, 0
+piw.gov.pl, 0
+pizza, 0
+pk, 0
+pl, 0
+pl.eu.org, 4
+pl.ua, 0
+place, 0
+planetarium.museum, 0
+plantation.museum, 0
+plants.museum, 0
+play, 0
+playstation, 0
+plaza.museum, 0
+plc.co.im, 0
+plc.ly, 0
+plc.uk, 0
+plo.ps, 0
+plumbing, 0
+plus, 0
+pm, 0
+pmn.it, 0
+pn, 0
+pn.it, 0
+pnc, 0
+po.gov.pl, 0
+po.it, 0
+podhale.pl, 0
+podlasie.pl, 0
+podzone.net, 4
+podzone.org, 4
+pohl, 0
+point2this.com, 4
+pointto.us, 4
+poivron.org, 4
+poker, 0
+pokrovsk.su, 4
+pol.dz, 0
+pol.ht, 0
+pol.tr, 0
+police.uk, 0
+politie, 0
+polkowice.pl, 0
+poltava.ua, 0
+pomorskie.pl, 0
+pomorze.pl, 0
+pordenone.it, 0
+porn, 0
+porsanger.no, 0
+porsangu.no, 0
+porsgrunn.no, 0
+port.fr, 0
+portal.museum, 0
+portland.museum, 0
+portlligat.museum, 0
+post, 0
+posts-and-telecommunications.museum, 0
+potager.org, 4
+potenza.it, 0
+powiat.pl, 0
+poznan.pl, 4
+pp.az, 0
+pp.se, 0
+pp.ua, 4
+ppg.br, 0
+pr, 0
+pr.it, 0
+pr.leg.br, 4
+pr.us, 0
+pramerica, 0
+prato.it, 0
+praxi, 0
+prd.fr, 0
+prd.km, 0
+prd.mg, 0
+preservation.museum, 0
+presidio.museum, 0
+press, 0
+press.aero, 0
+press.cy, 0
+press.ma, 0
+press.museum, 0
+press.se, 0
+presse.ci, 0
+presse.fr, 0
+presse.km, 0
+presse.ml, 0
+pri.ee, 0
+prime, 0
+principe.st, 0
+priv.at, 4
+priv.hu, 0
+priv.me, 0
+priv.no, 0
+priv.pl, 0
+privatizehealthinsurance.net, 4
+pro, 0
+pro.az, 0
+pro.br, 0
+pro.cy, 0
+pro.ec, 0
+pro.ht, 0
+pro.mv, 0
+pro.na, 0
+pro.om, 0
+pro.pr, 0
+pro.tt, 0
+pro.vn, 0
+prochowice.pl, 0
+prod, 0
+production.aero, 0
+productions, 0
+prof, 0
+prof.pr, 0
+progressive, 0
+project.museum, 0
+promo, 0
+properties, 0
+property, 0
+protection, 0
+protonet.io, 4
+pru, 0
+prudential, 0
+pruszkow.pl, 0
+przeworsk.pl, 0
+ps, 0
+psc.br, 0
+psi.br, 0
+psp.gov.pl, 0
+psse.gov.pl, 0
+pt, 0
+pt.eu.org, 4
+pt.it, 0
+ptplus.fit, 4
+pu.it, 0
+pub, 0
+pub.sa, 0
+publ.pt, 0
+public.museum, 0
+publishproxy.com, 4
+pubol.museum, 0
+pug.it, 0
+puglia.it, 0
+pulawy.pl, 0
+pup.gov.pl, 0
+pv.it, 0
+pvt.ge, 0
+pvt.k12.ma.us, 0
+pw, 0
+pwc, 0
+py, 0
+pyatigorsk.ru, 4
+pz.it, 0
+q-a.eu.org, 4
+q.bg, 0
+qa, 0
+qa2.com, 4
+qc.ca, 0
+qc.com, 4
+qh.cn, 0
+qld.au, 0
+qld.edu.au, 0
+qld.gov.au, 0
+qpon, 0
+qsl.br, 0
+quebec, 0
+quebec.museum, 0
+quest, 0
+quicksytes.com, 4
+qvc, 0
+r.bg, 0
+r.cdn77.net, 4
+r.se, 0
+ra.it, 0
+racing, 0
+rackmaze.com, 4
+rackmaze.net, 4
+rade.no, 0
+radio, 0
+radio.br, 0
+radom.pl, 0
+radoy.no, 0
+ragusa.it, 0
+rahkkeravju.no, 0
+raholt.no, 0
+raid, 0
+railroad.museum, 0
+railway.museum, 0
+raisa.no, 0
+rakkestad.no, 0
+ralingen.no, 0
+rana.no, 0
+randaberg.no, 0
+rankoshi.hokkaido.jp, 0
+ranzan.saitama.jp, 0
+rauma.no, 0
+ravenna.it, 0
+rawa-maz.pl, 0
+rc.it, 0
+re, 0
+re.it, 0
+re.kr, 0
+read, 0
+read-books.org, 4
+readmyblog.org, 4
+realestate, 0
+realestate.pl, 0
+realm.cz, 4
+realtor, 0
+realty, 0
+rebun.hokkaido.jp, 0
+rec.br, 0
+rec.co, 0
+rec.nf, 0
+rec.ro, 0
+rec.ve, 0
+recht.pro, 0
+recipes, 0
+recreation.aero, 0
+red, 0
+red.sv, 0
+redirectme.net, 4
+redstone, 0
+redumbrella, 0
+reg.dk, 4
+reggio-calabria.it, 0
+reggio-emilia.it, 0
+reggiocalabria.it, 0
+reggioemilia.it, 0
+rehab, 0
+reise, 0
+reisen, 0
+reit, 0
+reklam.hu, 0
+rel.ht, 0
+rel.pl, 0
+reliance, 0
+remotewd.com, 4
+ren, 0
+rendalen.no, 0
+rennebu.no, 0
+rennesoy.no, 0
+rent, 0
+rentals, 0
+rep.kp, 0
+repair, 0
+repbody.aero, 0
+report, 0
+republican, 0
+res.aero, 0
+res.in, 0
+research.aero, 0
+research.museum, 0
+resistance.museum, 0
+rest, 0
+restaurant, 0
+review, 0
+reviews, 0
+rexroth, 0
+rg.it, 0
+rhcloud.com, 4
+ri.it, 0
+ri.us, 0
+rich, 0
+richardli, 0
+ricoh, 0
+rieti.it, 0
+rifu.miyagi.jp, 0
+rightathome, 0
+riik.ee, 0
+rikubetsu.hokkaido.jp, 0
+rikuzentakata.iwate.jp, 0
+ril, 0
+rimini.it, 0
+rindal.no, 0
+ringebu.no, 0
+ringerike.no, 0
+ringsaker.no, 0
+rio, 0
+riodejaneiro.museum, 0
+rip, 0
+rishiri.hokkaido.jp, 0
+rishirifuji.hokkaido.jp, 0
+risor.no, 0
+rissa.no, 0
+ritto.shiga.jp, 0
+rivne.ua, 0
+rj.leg.br, 4
+rl.no, 0
+rm.it, 0
+rmit, 0
+rn.it, 0
+rn.leg.br, 4
+rnrt.tn, 0
+rns.tn, 0
+rnu.tn, 0
+ro, 0
+ro.eu.org, 4
+ro.im, 4
+ro.it, 0
+ro.leg.br, 4
+roan.no, 0
+rocher, 0
+rochester.museum, 0
+rockart.museum, 0
+rocks, 0
+rodeo, 0
+rodoy.no, 0
+rogers, 0
+rokunohe.aomori.jp, 0
+rollag.no, 0
+roma.it, 0
+roma.museum, 0
+rome.it, 0
+romsa.no, 0
+romskog.no, 0
+room, 0
+roros.no, 0
+rost.no, 0
+rotorcraft.aero, 0
+router.management, 4
+rovigo.it, 0
+rovno.ua, 0
+royken.no, 0
+royrvik.no, 0
+rr.leg.br, 4
+rs, 0
+rs.leg.br, 4
+rsc.cdn77.org, 4
+rsvp, 0
+ru, 0
+ru.com, 4
+ru.eu.org, 4
+ru.net, 4
+rugby, 0
+ruhr, 0
+run, 0
+ruovat.no, 0
+russia.museum, 0
+rv.ua, 0
+rw, 0
+rwe, 0
+rybnik.pl, 0
+rygge.no, 0
+ryokami.saitama.jp, 0
+ryugasaki.ibaraki.jp, 0
+ryukyu, 0
+ryuoh.shiga.jp, 0
+rzeszow.pl, 0
+rzgw.gov.pl, 0
+s.bg, 0
+s.se, 0
+s3-ap-northeast-1.amazonaws.com, 4
+s3-ap-northeast-2.amazonaws.com, 4
+s3-ap-south-1.amazonaws.com, 4
+s3-ap-southeast-1.amazonaws.com, 4
+s3-ap-southeast-2.amazonaws.com, 4
+s3-ca-central-1.amazonaws.com, 4
+s3-eu-central-1.amazonaws.com, 4
+s3-eu-west-1.amazonaws.com, 4
+s3-eu-west-2.amazonaws.com, 4
+s3-external-1.amazonaws.com, 4
+s3-fips-us-gov-west-1.amazonaws.com, 4
+s3-sa-east-1.amazonaws.com, 4
+s3-us-east-2.amazonaws.com, 4
+s3-us-gov-west-1.amazonaws.com, 4
+s3-us-west-1.amazonaws.com, 4
+s3-us-west-2.amazonaws.com, 4
+s3-website-ap-northeast-1.amazonaws.com, 4
+s3-website-ap-southeast-1.amazonaws.com, 4
+s3-website-ap-southeast-2.amazonaws.com, 4
+s3-website-eu-west-1.amazonaws.com, 4
+s3-website-sa-east-1.amazonaws.com, 4
+s3-website-us-east-1.amazonaws.com, 4
+s3-website-us-west-1.amazonaws.com, 4
+s3-website-us-west-2.amazonaws.com, 4
+s3-website.ap-northeast-2.amazonaws.com, 4
+s3-website.ap-south-1.amazonaws.com, 4
+s3-website.ca-central-1.amazonaws.com, 4
+s3-website.eu-central-1.amazonaws.com, 4
+s3-website.eu-west-2.amazonaws.com, 4
+s3-website.us-east-2.amazonaws.com, 4
+s3.amazonaws.com, 4
+s3.ap-northeast-2.amazonaws.com, 4
+s3.ap-south-1.amazonaws.com, 4
+s3.ca-central-1.amazonaws.com, 4
+s3.cn-north-1.amazonaws.com.cn, 4
+s3.dualstack.ap-northeast-1.amazonaws.com, 4
+s3.dualstack.ap-northeast-2.amazonaws.com, 4
+s3.dualstack.ap-south-1.amazonaws.com, 4
+s3.dualstack.ap-southeast-1.amazonaws.com, 4
+s3.dualstack.ap-southeast-2.amazonaws.com, 4
+s3.dualstack.ca-central-1.amazonaws.com, 4
+s3.dualstack.eu-central-1.amazonaws.com, 4
+s3.dualstack.eu-west-1.amazonaws.com, 4
+s3.dualstack.eu-west-2.amazonaws.com, 4
+s3.dualstack.sa-east-1.amazonaws.com, 4
+s3.dualstack.us-east-1.amazonaws.com, 4
+s3.dualstack.us-east-2.amazonaws.com, 4
+s3.eu-central-1.amazonaws.com, 4
+s3.eu-west-2.amazonaws.com, 4
+s3.us-east-2.amazonaws.com, 4
+sa, 0
+sa.au, 0
+sa.com, 4
+sa.cr, 0
+sa.edu.au, 0
+sa.gov.au, 0
+sa.gov.pl, 0
+sa.it, 0
+saarland, 0
+sabae.fukui.jp, 0
+sado.niigata.jp, 0
+safe, 0
+safety, 0
+safety.aero, 0
+saga.jp, 0
+saga.saga.jp, 0
+sagae.yamagata.jp, 0
+sagamihara.kanagawa.jp, 0
+saigawa.fukuoka.jp, 0
+saijo.ehime.jp, 0
+saikai.nagasaki.jp, 0
+saiki.oita.jp, 0
+saintlouis.museum, 0
+saitama.jp, 0
+saitama.saitama.jp, 0
+saito.miyazaki.jp, 0
+saka.hiroshima.jp, 0
+sakado.saitama.jp, 0
+sakae.chiba.jp, 0
+sakae.nagano.jp, 0
+sakahogi.gifu.jp, 0
+sakai.fukui.jp, 0
+sakai.ibaraki.jp, 0
+sakai.osaka.jp, 0
+sakaiminato.tottori.jp, 0
+sakaki.nagano.jp, 0
+sakata.yamagata.jp, 0
+sakawa.kochi.jp, 0
+sakegawa.yamagata.jp, 0
+saku.nagano.jp, 0
+sakuho.nagano.jp, 0
+sakura, 0
+sakura.chiba.jp, 0
+sakura.tochigi.jp, 0
+sakuragawa.ibaraki.jp, 0
+sakurai.nara.jp, 0
+sakyo.kyoto.jp, 0
+salangen.no, 0
+salat.no, 0
+sale, 0
+salem.museum, 0
+salerno.it, 0
+salon, 0
+saltdal.no, 0
+salvadordali.museum, 0
+salzburg.museum, 0
+samegawa.fukushima.jp, 0
+samnanger.no, 0
+samsclub, 0
+samsung, 0
+samukawa.kanagawa.jp, 0
+sanagochi.tokushima.jp, 0
+sanda.hyogo.jp, 0
+sandcats.io, 4
+sande.more-og-romsdal.no, 0
+sande.vestfold.no, 0
+sande.xn--mre-og-romsdal-qqb.no, 0
+sandefjord.no, 0
+sandiego.museum, 0
+sandnes.no, 0
+sandnessjoen.no, 0
+sandoy.no, 0
+sandvik, 0
+sandvikcoromant, 0
+sanfrancisco.museum, 0
+sango.nara.jp, 0
+sanjo.niigata.jp, 0
+sannan.hyogo.jp, 0
+sannohe.aomori.jp, 0
+sano.tochigi.jp, 0
+sanofi, 0
+sanok.pl, 0
+santabarbara.museum, 0
+santacruz.museum, 0
+santafe.museum, 0
+sanuki.kagawa.jp, 0
+saotome.st, 0
+sap, 0
+sapo, 0
+sapporo.jp, 2
+sar.it, 0
+sardegna.it, 0
+sardinia.it, 0
+sarl, 0
+saroma.hokkaido.jp, 0
+sarpsborg.no, 0
+sarufutsu.hokkaido.jp, 0
+sas, 0
+sasaguri.fukuoka.jp, 0
+sasayama.hyogo.jp, 0
+sasebo.nagasaki.jp, 0
+saskatchewan.museum, 0
+sassari.it, 0
+satosho.okayama.jp, 0
+satsumasendai.kagoshima.jp, 0
+satte.saitama.jp, 0
+satx.museum, 0
+sauda.no, 0
+sauherad.no, 0
+savannahga.museum, 0
+save, 0
+saves-the-whales.com, 4
+savona.it, 0
+saxo, 0
+sayama.osaka.jp, 0
+sayama.saitama.jp, 0
+sayo.hyogo.jp, 0
+sb, 0
+sb.ua, 0
+sbi, 0
+sbs, 0
+sc, 0
+sc.cn, 0
+sc.kr, 0
+sc.leg.br, 4
+sc.tz, 0
+sc.ug, 0
+sc.us, 0
+sca, 0
+scb, 0
+sch.ae, 0
+sch.id, 0
+sch.ir, 0
+sch.jo, 0
+sch.lk, 0
+sch.ly, 0
+sch.ng, 0
+sch.qa, 0
+sch.sa, 0
+sch.uk, 2
+sch.zm, 0
+schaeffler, 0
+schlesisches.museum, 0
+schmidt, 0
+schoenbrunn.museum, 0
+schokoladen.museum, 0
+scholarships, 0
+school, 0
+school.museum, 0
+school.na, 0
+school.nz, 0
+school.za, 0
+schule, 0
+schwarz, 0
+schweiz.museum, 0
+sci.eg, 0
+science, 0
+science-fiction.museum, 0
+science.museum, 0
+scienceandhistory.museum, 0
+scienceandindustry.museum, 0
+sciencecenter.museum, 0
+sciencecenters.museum, 0
+sciencehistory.museum, 0
+sciences.museum, 0
+sciencesnaturelles.museum, 0
+scientist.aero, 0
+scjohnson, 0
+scor, 0
+scot, 0
+scotland.museum, 0
+scrapper-site.net, 4
+scrapping.cc, 4
+sd, 0
+sd.cn, 0
+sd.us, 0
+sdn.gov.pl, 0
+se, 0
+se.com, 4
+se.eu.org, 4
+se.leg.br, 4
+se.net, 4
+seaport.museum, 0
+search, 0
+seat, 0
+sebastopol.ua, 0
+sec.ps, 0
+secure, 0
+security, 0
+securitytactics.com, 4
+seek, 0
+seihi.nagasaki.jp, 0
+seika.kyoto.jp, 0
+seiro.niigata.jp, 0
+seirou.niigata.jp, 0
+seiyo.ehime.jp, 0
+sejny.pl, 0
+seki.gifu.jp, 0
+sekigahara.gifu.jp, 0
+sekikawa.niigata.jp, 0
+sel.no, 0
+selbu.no, 0
+select, 0
+selfip.biz, 4
+selfip.com, 4
+selfip.info, 4
+selfip.net, 4
+selfip.org, 4
+selje.no, 0
+seljord.no, 0
+sells-for-less.com, 4
+sells-for-u.com, 4
+sells-it.net, 4
+sellsyourhome.org, 4
+semboku.akita.jp, 0
+semine.miyagi.jp, 0
+sendai.jp, 2
+sener, 0
+sennan.osaka.jp, 0
+seoul.kr, 0
+sera.hiroshima.jp, 0
+seranishi.hiroshima.jp, 0
+servebbs.com, 4
+servebbs.net, 4
+servebbs.org, 4
+servebeer.com, 4
+serveblog.net, 4
+servecounterstrike.com, 4
+serveexchange.com, 4
+serveftp.com, 4
+serveftp.net, 4
+serveftp.org, 4
+servegame.com, 4
+servegame.org, 4
+servehalflife.com, 4
+servehttp.com, 4
+servehumour.com, 4
+serveirc.com, 4
+serveminecraft.net, 4
+servemp3.com, 4
+servep2p.com, 4
+servepics.com, 4
+servequake.com, 4
+servesarcasm.com, 4
+service.gov.uk, 4
+services, 0
+services.aero, 0
+ses, 0
+setagaya.tokyo.jp, 0
+seto.aichi.jp, 0
+setouchi.okayama.jp, 0
+settlement.museum, 0
+settlers.museum, 0
+settsu.osaka.jp, 0
+sevastopol.ua, 0
+seven, 0
+sew, 0
+sex, 0
+sex.hu, 0
+sex.pl, 0
+sexy, 0
+sf.no, 0
+sfr, 0
+sg, 0
+sh, 0
+sh.cn, 0
+shacknet.nu, 4
+shakotan.hokkaido.jp, 0
+shangrila, 0
+shari.hokkaido.jp, 0
+sharp, 0
+shaw, 0
+shell, 0
+shell.museum, 0
+sherbrooke.museum, 0
+shia, 0
+shibata.miyagi.jp, 0
+shibata.niigata.jp, 0
+shibecha.hokkaido.jp, 0
+shibetsu.hokkaido.jp, 0
+shibukawa.gunma.jp, 0
+shibuya.tokyo.jp, 0
+shichikashuku.miyagi.jp, 0
+shichinohe.aomori.jp, 0
+shiftedit.io, 4
+shiga.jp, 0
+shiiba.miyazaki.jp, 0
+shijonawate.osaka.jp, 0
+shika.ishikawa.jp, 0
+shikabe.hokkaido.jp, 0
+shikama.miyagi.jp, 0
+shikaoi.hokkaido.jp, 0
+shikatsu.aichi.jp, 0
+shiki.saitama.jp, 0
+shikokuchuo.ehime.jp, 0
+shiksha, 0
+shima.mie.jp, 0
+shimabara.nagasaki.jp, 0
+shimada.shizuoka.jp, 0
+shimamaki.hokkaido.jp, 0
+shimamoto.osaka.jp, 0
+shimane.jp, 0
+shimane.shimane.jp, 0
+shimizu.hokkaido.jp, 0
+shimizu.shizuoka.jp, 0
+shimoda.shizuoka.jp, 0
+shimodate.ibaraki.jp, 0
+shimofusa.chiba.jp, 0
+shimogo.fukushima.jp, 0
+shimoichi.nara.jp, 0
+shimoji.okinawa.jp, 0
+shimokawa.hokkaido.jp, 0
+shimokitayama.nara.jp, 0
+shimonita.gunma.jp, 0
+shimonoseki.yamaguchi.jp, 0
+shimosuwa.nagano.jp, 0
+shimotsuke.tochigi.jp, 0
+shimotsuma.ibaraki.jp, 0
+shinagawa.tokyo.jp, 0
+shinanomachi.nagano.jp, 0
+shingo.aomori.jp, 0
+shingu.fukuoka.jp, 0
+shingu.hyogo.jp, 0
+shingu.wakayama.jp, 0
+shinichi.hiroshima.jp, 0
+shinjo.nara.jp, 0
+shinjo.okayama.jp, 0
+shinjo.yamagata.jp, 0
+shinjuku.tokyo.jp, 0
+shinkamigoto.nagasaki.jp, 0
+shinonsen.hyogo.jp, 0
+shinshinotsu.hokkaido.jp, 0
+shinshiro.aichi.jp, 0
+shinto.gunma.jp, 0
+shintoku.hokkaido.jp, 0
+shintomi.miyazaki.jp, 0
+shinyoshitomi.fukuoka.jp, 0
+shiogama.miyagi.jp, 0
+shiojiri.nagano.jp, 0
+shioya.tochigi.jp, 0
+shirahama.wakayama.jp, 0
+shirakawa.fukushima.jp, 0
+shirakawa.gifu.jp, 0
+shirako.chiba.jp, 0
+shiranuka.hokkaido.jp, 0
+shiraoi.hokkaido.jp, 0
+shiraoka.saitama.jp, 0
+shirataka.yamagata.jp, 0
+shiriuchi.hokkaido.jp, 0
+shiroi.chiba.jp, 0
+shiroishi.miyagi.jp, 0
+shiroishi.saga.jp, 0
+shirosato.ibaraki.jp, 0
+shishikui.tokushima.jp, 0
+shiso.hyogo.jp, 0
+shisui.chiba.jp, 0
+shitara.aichi.jp, 0
+shiwa.iwate.jp, 0
+shizukuishi.iwate.jp, 0
+shizuoka.jp, 0
+shizuoka.shizuoka.jp, 0
+shobara.hiroshima.jp, 0
+shoes, 0
+shonai.fukuoka.jp, 0
+shonai.yamagata.jp, 0
+shoo.okayama.jp, 0
+shop, 0
+shop.ht, 0
+shop.hu, 0
+shop.pl, 0
+shop.ro, 4
+shopping, 0
+shouji, 0
+show, 0
+show.aero, 0
+showa.fukushima.jp, 0
+showa.gunma.jp, 0
+showa.yamanashi.jp, 0
+showtime, 0
+shriram, 0
+shunan.yamaguchi.jp, 0
+si, 0
+si.eu.org, 4
+si.it, 0
+sibenik.museum, 0
+sic.it, 0
+sicilia.it, 0
+sicily.it, 0
+siellak.no, 0
+siena.it, 0
+sigdal.no, 0
+siljan.no, 0
+silk, 0
+silk.museum, 0
+simple-url.com, 4
+sina, 0
+sinaapp.com, 4
+singles, 0
+siracusa.it, 0
+sirdal.no, 0
+site, 0
+sites.static.land, 4
+sj, 0
+sk, 0
+sk.ca, 0
+sk.eu.org, 4
+skanit.no, 0
+skanland.no, 0
+skaun.no, 0
+skedsmo.no, 0
+skedsmokorset.no, 0
+ski, 0
+ski.museum, 0
+ski.no, 0
+skien.no, 0
+skierva.no, 0
+skin, 0
+skiptvet.no, 0
+skjak.no, 0
+skjervoy.no, 0
+sklep.pl, 0
+sko.gov.pl, 0
+skoczow.pl, 0
+skodje.no, 0
+skole.museum, 0
+sky, 0
+skydiving.aero, 0
+skype, 0
+sl, 0
+slask.pl, 0
+slattum.no, 0
+sld.do, 0
+sld.pa, 0
+slg.br, 0
+sling, 0
+slupsk.pl, 0
+sm, 0
+sm.ua, 0
+smart, 0
+smile, 0
+smola.no, 0
+sn, 0
+sn.cn, 0
+snaase.no, 0
+snasa.no, 0
+sncf, 0
+snillfjord.no, 0
+snoasa.no, 0
+so, 0
+so.gov.pl, 0
+so.it, 0
+sobetsu.hokkaido.jp, 0
+soc.lk, 0
+soccer, 0
+sochi.su, 4
+social, 0
+society.museum, 0
+sodegaura.chiba.jp, 0
+soeda.fukuoka.jp, 0
+softbank, 0
+software, 0
+software.aero, 0
+sogndal.no, 0
+sogne.no, 0
+sohu, 0
+soja.okayama.jp, 0
+soka.saitama.jp, 0
+sokndal.no, 0
+sola.no, 0
+solar, 0
+sologne.museum, 0
+solund.no, 0
+solutions, 0
+soma.fukushima.jp, 0
+somna.no, 0
+sondre-land.no, 0
+sondrio.it, 0
+song, 0
+songdalen.no, 0
+soni.nara.jp, 0
+sony, 0
+soo.kagoshima.jp, 0
+sopot.pl, 4
+sor-aurdal.no, 0
+sor-fron.no, 0
+sor-odal.no, 0
+sor-varanger.no, 0
+sorfold.no, 0
+sorreisa.no, 0
+sortland.no, 0
+sorum.no, 0
+sos.pl, 0
+sosa.chiba.jp, 0
+sosnowiec.pl, 0
+soundandvision.museum, 0
+southcarolina.museum, 0
+southwest.museum, 0
+sowa.ibaraki.jp, 0
+soy, 0
+sp.it, 0
+sp.leg.br, 4
+space, 0
+space-to-rent.com, 4
+space.museum, 0
+spacekit.io, 4
+spb.ru, 4
+spb.su, 4
+spdns.de, 4
+spdns.eu, 4
+spdns.org, 4
+spiegel, 0
+spjelkavik.no, 0
+sport.hu, 0
+spot, 0
+spreadbetting, 0
+spy.museum, 0
+spydeberg.no, 0
+square.museum, 0
+sr, 0
+sr.gov.pl, 0
+sr.it, 0
+srl, 0
+srt, 0
+srv.br, 0
+ss.it, 0
+ssl.origin.cdn77-secure.org, 4
+st, 0
+st.no, 0
+stackspace.space, 4
+stada, 0
+stadt.museum, 0
+stalbans.museum, 0
+stalowa-wola.pl, 0
+stange.no, 0
+staples, 0
+star, 0
+starachowice.pl, 0
+stargard.pl, 0
+starhub, 0
+starnberg.museum, 0
+starostwo.gov.pl, 0
+stat.no, 0
+state.museum, 0
+statebank, 0
+statefarm, 0
+stateofdelaware.museum, 0
+stathelle.no, 0
+static-access.net, 4
+static.land, 4
+statics.cloud, 6
+station.museum, 0
+statoil, 0
+stavanger.no, 0
+stavern.no, 0
+stc, 0
+stcgroup, 0
+steam.museum, 0
+steiermark.museum, 0
+steigen.no, 0
+steinkjer.no, 0
+stjohn.museum, 0
+stjordal.no, 0
+stjordalshalsen.no, 0
+stockholm, 0
+stockholm.museum, 0
+stokke.no, 0
+stolos.io, 6
+stor-elvdal.no, 0
+storage, 0
+stord.no, 0
+stordal.no, 0
+store, 0
+store.bb, 0
+store.dk, 4
+store.nf, 0
+store.ro, 0
+store.st, 0
+store.ve, 0
+storfjord.no, 0
+storj.farm, 4
+stpetersburg.museum, 0
+strand.no, 0
+stranda.no, 0
+stream, 0
+stryn.no, 0
+student.aero, 0
+studio, 0
+study, 0
+stuff-4-sale.org, 4
+stuff-4-sale.us, 4
+stufftoread.com, 4
+stuttgart.museum, 0
+style, 0
+su, 0
+sucks, 0
+sue.fukuoka.jp, 0
+suedtirol.it, 0
+suginami.tokyo.jp, 0
+sugito.saitama.jp, 0
+suifu.ibaraki.jp, 0
+suisse.museum, 0
+suita.osaka.jp, 0
+sukagawa.fukushima.jp, 0
+sukumo.kochi.jp, 0
+sula.no, 0
+suldal.no, 0
+suli.hu, 0
+sumida.tokyo.jp, 0
+sumita.iwate.jp, 0
+sumoto.hyogo.jp, 0
+sumoto.kumamoto.jp, 0
+sumy.ua, 0
+sunagawa.hokkaido.jp, 0
+sund.no, 0
+sunndal.no, 0
+supplies, 0
+supply, 0
+support, 0
+surf, 0
+surgeonshall.museum, 0
+surgery, 0
+surnadal.no, 0
+surrey.museum, 0
+susaki.kochi.jp, 0
+susono.shizuoka.jp, 0
+suwa.nagano.jp, 0
+suwalki.pl, 0
+suzaka.nagano.jp, 0
+suzu.ishikawa.jp, 0
+suzuka.mie.jp, 0
+suzuki, 0
+sv, 0
+sv.it, 0
+svalbard.no, 0
+sveio.no, 0
+svelvik.no, 0
+svizzera.museum, 0
+swatch, 0
+sweden.museum, 0
+sweetpepper.org, 4
+swidnica.pl, 0
+swiebodzin.pl, 0
+swiftcover, 0
+swinoujscie.pl, 0
+swiss, 0
+sx, 0
+sx.cn, 0
+sy, 0
+sydney, 0
+sydney.museum, 0
+sykkylven.no, 0
+symantec, 0
+syno-ds.de, 4
+synology-diskstation.de, 4
+synology-ds.de, 4
+synology.me, 4
+systems, 0
+sytes.net, 4
+sz, 0
+szczecin.pl, 0
+szczytno.pl, 0
+szex.hu, 0
+szkola.pl, 0
+t.bg, 0
+t.se, 0
+t3l3p0rt.net, 4
+ta.it, 0
+taa.it, 0
+tab, 0
+tabayama.yamanashi.jp, 0
+tabuse.yamaguchi.jp, 0
+tachiarai.fukuoka.jp, 0
+tachikawa.tokyo.jp, 0
+tadaoka.osaka.jp, 0
+tado.mie.jp, 0
+tadotsu.kagawa.jp, 0
+tagajo.miyagi.jp, 0
+tagami.niigata.jp, 0
+tagawa.fukuoka.jp, 0
+tahara.aichi.jp, 0
+taifun-dns.de, 4
+taiji.wakayama.jp, 0
+taiki.hokkaido.jp, 0
+taiki.mie.jp, 0
+tainai.niigata.jp, 0
+taipei, 0
+taira.toyama.jp, 0
+taishi.hyogo.jp, 0
+taishi.osaka.jp, 0
+taishin.fukushima.jp, 0
+taito.tokyo.jp, 0
+taiwa.miyagi.jp, 0
+tajimi.gifu.jp, 0
+tajiri.osaka.jp, 0
+taka.hyogo.jp, 0
+takagi.nagano.jp, 0
+takahagi.ibaraki.jp, 0
+takahama.aichi.jp, 0
+takahama.fukui.jp, 0
+takaharu.miyazaki.jp, 0
+takahashi.okayama.jp, 0
+takahata.yamagata.jp, 0
+takaishi.osaka.jp, 0
+takamatsu.kagawa.jp, 0
+takamori.kumamoto.jp, 0
+takamori.nagano.jp, 0
+takanabe.miyazaki.jp, 0
+takanezawa.tochigi.jp, 0
+takaoka.toyama.jp, 0
+takarazuka.hyogo.jp, 0
+takasago.hyogo.jp, 0
+takasaki.gunma.jp, 0
+takashima.shiga.jp, 0
+takasu.hokkaido.jp, 0
+takata.fukuoka.jp, 0
+takatori.nara.jp, 0
+takatsuki.osaka.jp, 0
+takatsuki.shiga.jp, 0
+takayama.gifu.jp, 0
+takayama.gunma.jp, 0
+takayama.nagano.jp, 0
+takazaki.miyazaki.jp, 0
+takehara.hiroshima.jp, 0
+taketa.oita.jp, 0
+taketomi.okinawa.jp, 0
+taki.mie.jp, 0
+takikawa.hokkaido.jp, 0
+takino.hyogo.jp, 0
+takinoue.hokkaido.jp, 0
+takko.aomori.jp, 0
+tako.chiba.jp, 0
+taku.saga.jp, 0
+talk, 0
+tama.tokyo.jp, 0
+tamakawa.fukushima.jp, 0
+tamaki.mie.jp, 0
+tamamura.gunma.jp, 0
+tamano.okayama.jp, 0
+tamatsukuri.ibaraki.jp, 0
+tamayu.shimane.jp, 0
+tamba.hyogo.jp, 0
+tana.no, 0
+tanabe.kyoto.jp, 0
+tanabe.wakayama.jp, 0
+tanagura.fukushima.jp, 0
+tananger.no, 0
+tank.museum, 0
+tanohata.iwate.jp, 0
+taobao, 0
+tara.saga.jp, 0
+tarama.okinawa.jp, 0
+taranto.it, 0
+target, 0
+targi.pl, 0
+tarnobrzeg.pl, 0
+tarui.gifu.jp, 0
+tarumizu.kagoshima.jp, 0
+tas.au, 0
+tas.edu.au, 0
+tas.gov.au, 0
+tashkent.su, 4
+tatamotors, 0
+tatar, 0
+tatebayashi.gunma.jp, 0
+tateshina.nagano.jp, 0
+tateyama.chiba.jp, 0
+tateyama.toyama.jp, 0
+tatsuno.hyogo.jp, 0
+tatsuno.nagano.jp, 0
+tattoo, 0
+tawaramoto.nara.jp, 0
+tax, 0
+taxi, 0
+taxi.br, 0
+tc, 0
+tci, 0
+tcm.museum, 0
+td, 0
+tdk, 0
+te.it, 0
+te.ua, 0
+teaches-yoga.com, 4
+team, 0
+tec.ve, 0
+tech, 0
+technology, 0
+technology.museum, 0
+tel, 0
+tel.tr, 0
+tele.amune.org, 4
+telecity, 0
+telefonica, 0
+telekommunikation.museum, 0
+television.museum, 0
+temasek, 0
+tempio-olbia.it, 0
+tempioolbia.it, 0
+tendo.yamagata.jp, 0
+tenei.fukushima.jp, 0
+tenkawa.nara.jp, 0
+tennis, 0
+tenri.nara.jp, 0
+teo.br, 0
+teramo.it, 0
+termez.su, 4
+terni.it, 0
+ternopil.ua, 0
+teshikaga.hokkaido.jp, 0
+test.ru, 0
+test.tj, 0
+teva, 0
+texas.museum, 0
+textile.museum, 0
+tf, 0
+tg, 0
+tgory.pl, 0
+th, 0
+thd, 0
+theater, 0
+theater.museum, 0
+theatre, 0
+thruhere.net, 4
+tiaa, 0
+tickets, 0
+tienda, 0
+tiffany, 0
+time.museum, 0
+time.no, 0
+timekeeping.museum, 0
+tingvoll.no, 0
+tinn.no, 0
+tips, 0
+tires, 0
+tirol, 0
+tj, 0
+tj.cn, 0
+tjeldsund.no, 0
+tjmaxx, 0
+tjome.no, 0
+tjx, 0
+tk, 0
+tkmaxx, 0
+tl, 0
+tm, 0
+tm.cy, 0
+tm.fr, 0
+tm.hu, 0
+tm.km, 0
+tm.mc, 0
+tm.mg, 0
+tm.no, 0
+tm.pl, 0
+tm.ro, 0
+tm.se, 0
+tm.za, 0
+tmall, 0
+tmp.br, 0
+tn, 0
+tn.it, 0
+tn.us, 0
+to, 0
+to.it, 0
+to.leg.br, 4
+toba.mie.jp, 0
+tobe.ehime.jp, 0
+tobetsu.hokkaido.jp, 0
+tobishima.aichi.jp, 0
+tochigi.jp, 0
+tochigi.tochigi.jp, 0
+tochio.niigata.jp, 0
+toda.saitama.jp, 0
+today, 0
+toei.aichi.jp, 0
+toga.toyama.jp, 0
+togakushi.nagano.jp, 0
+togane.chiba.jp, 0
+togitsu.nagasaki.jp, 0
+togliatti.su, 4
+togo.aichi.jp, 0
+togura.nagano.jp, 0
+tohma.hokkaido.jp, 0
+tohnosho.chiba.jp, 0
+toho.fukuoka.jp, 0
+tokai.aichi.jp, 0
+tokai.ibaraki.jp, 0
+tokamachi.niigata.jp, 0
+tokashiki.okinawa.jp, 0
+toki.gifu.jp, 0
+tokigawa.saitama.jp, 0
+tokke.no, 0
+tokoname.aichi.jp, 0
+tokorozawa.saitama.jp, 0
+tokushima.jp, 0
+tokushima.tokushima.jp, 0
+tokuyama.yamaguchi.jp, 0
+tokyo, 0
+tokyo.jp, 0
+tolga.no, 0
+tomakomai.hokkaido.jp, 0
+tomari.hokkaido.jp, 0
+tome.miyagi.jp, 0
+tomi.nagano.jp, 0
+tomigusuku.okinawa.jp, 0
+tomika.gifu.jp, 0
+tomioka.gunma.jp, 0
+tomisato.chiba.jp, 0
+tomiya.miyagi.jp, 0
+tomobe.ibaraki.jp, 0
+tonaki.okinawa.jp, 0
+tonami.toyama.jp, 0
+tondabayashi.osaka.jp, 0
+tone.ibaraki.jp, 0
+tono.iwate.jp, 0
+tonosho.kagawa.jp, 0
+tonsberg.no, 0
+tools, 0
+toon.ehime.jp, 0
+top, 0
+topology.museum, 0
+torahime.shiga.jp, 0
+toray, 0
+toride.ibaraki.jp, 0
+torino.it, 0
+torino.museum, 0
+torsken.no, 0
+tos.it, 0
+tosa.kochi.jp, 0
+tosashimizu.kochi.jp, 0
+toscana.it, 0
+toshiba, 0
+toshima.tokyo.jp, 0
+tosu.saga.jp, 0
+total, 0
+tottori.jp, 0
+tottori.tottori.jp, 0
+touch.museum, 0
+tourism.pl, 0
+tourism.tn, 0
+tours, 0
+towada.aomori.jp, 0
+town, 0
+town.museum, 0
+townnews-staging.com, 4
+toya.hokkaido.jp, 0
+toyako.hokkaido.jp, 0
+toyama.jp, 0
+toyama.toyama.jp, 0
+toyo.kochi.jp, 0
+toyoake.aichi.jp, 0
+toyohashi.aichi.jp, 0
+toyokawa.aichi.jp, 0
+toyonaka.osaka.jp, 0
+toyone.aichi.jp, 0
+toyono.osaka.jp, 0
+toyooka.hyogo.jp, 0
+toyosato.shiga.jp, 0
+toyota, 0
+toyota.aichi.jp, 0
+toyota.yamaguchi.jp, 0
+toyotomi.hokkaido.jp, 0
+toyotsu.fukuoka.jp, 0
+toyoura.hokkaido.jp, 0
+toys, 0
+tozawa.yamagata.jp, 0
+tozsde.hu, 0
+tp.it, 0
+tr, 0
+tr.eu.org, 4
+tr.it, 0
+tr.no, 0
+tra.kp, 0
+trade, 0
+trader.aero, 0
+trading, 0
+trading.aero, 0
+traeumtgerade.de, 4
+trainer.aero, 0
+training, 0
+trana.no, 0
+tranby.no, 0
+trani-andria-barletta.it, 0
+trani-barletta-andria.it, 0
+traniandriabarletta.it, 0
+tranibarlettaandria.it, 0
+tranoy.no, 0
+transport.museum, 0
+transurl.be, 6
+transurl.eu, 6
+transurl.nl, 6
+trapani.it, 0
+travel, 0
+travel.pl, 0
+travel.tt, 0
+travelchannel, 0
+travelers, 0
+travelersinsurance, 0
+trd.br, 0
+tree.museum, 0
+trentino-a-adige.it, 0
+trentino-aadige.it, 0
+trentino-alto-adige.it, 0
+trentino-altoadige.it, 0
+trentino-s-tirol.it, 0
+trentino-stirol.it, 0
+trentino-sud-tirol.it, 0
+trentino-sudtirol.it, 0
+trentino-sued-tirol.it, 0
+trentino-suedtirol.it, 0
+trentino.it, 0
+trentinoa-adige.it, 0
+trentinoaadige.it, 0
+trentinoalto-adige.it, 0
+trentinoaltoadige.it, 0
+trentinos-tirol.it, 0
+trentinostirol.it, 0
+trentinosud-tirol.it, 0
+trentinosudtirol.it, 0
+trentinosued-tirol.it, 0
+trentinosuedtirol.it, 0
+trento.it, 0
+treviso.it, 0
+trieste.it, 0
+triton.zone, 6
+troandin.no, 0
+trogstad.no, 0
+troitsk.su, 4
+trolley.museum, 0
+tromsa.no, 0
+tromso.no, 0
+trondheim.no, 0
+trust, 0
+trust.museum, 0
+trustee.museum, 0
+trv, 0
+trysil.no, 0
+ts.it, 0
+tselinograd.su, 4
+tsu.mie.jp, 0
+tsubame.niigata.jp, 0
+tsubata.ishikawa.jp, 0
+tsubetsu.hokkaido.jp, 0
+tsuchiura.ibaraki.jp, 0
+tsuga.tochigi.jp, 0
+tsugaru.aomori.jp, 0
+tsuiki.fukuoka.jp, 0
+tsukigata.hokkaido.jp, 0
+tsukiyono.gunma.jp, 0
+tsukuba.ibaraki.jp, 0
+tsukui.kanagawa.jp, 0
+tsukumi.oita.jp, 0
+tsumagoi.gunma.jp, 0
+tsunan.niigata.jp, 0
+tsuno.kochi.jp, 0
+tsuno.miyazaki.jp, 0
+tsuru.yamanashi.jp, 0
+tsuruga.fukui.jp, 0
+tsurugashima.saitama.jp, 0
+tsurugi.ishikawa.jp, 0
+tsuruoka.yamagata.jp, 0
+tsuruta.aomori.jp, 0
+tsushima.aichi.jp, 0
+tsushima.nagasaki.jp, 0
+tsuwano.shimane.jp, 0
+tsuyama.okayama.jp, 0
+tt, 0
+tt.im, 0
+tube, 0
+tui, 0
+tula.su, 4
+tunes, 0
+tunk.org, 4
+tur.ar, 0
+tur.br, 0
+turek.pl, 0
+turen.tn, 0
+turin.it, 0
+turystyka.pl, 0
+tuscany.it, 0
+tushu, 0
+tuva.su, 4
+tuxfamily.org, 4
+tv, 0
+tv.bb, 0
+tv.bo, 0
+tv.br, 0
+tv.im, 0
+tv.it, 0
+tv.na, 0
+tv.sd, 0
+tv.tr, 0
+tv.tz, 0
+tvedestrand.no, 0
+tvs, 0
+tw, 0
+tw.cn, 0
+tx.us, 0
+tychy.pl, 0
+tydal.no, 0
+tynset.no, 0
+tysfjord.no, 0
+tysnes.no, 0
+tysvar.no, 0
+tz, 0
+u.bg, 0
+u.se, 0
+ua, 0
+ubank, 0
+ube.yamaguchi.jp, 0
+uber.space, 4
+ubs, 0
+uchihara.ibaraki.jp, 0
+uchiko.ehime.jp, 0
+uchinada.ishikawa.jp, 0
+uchinomi.kagawa.jp, 0
+uconnect, 0
+ud.it, 0
+uda.nara.jp, 0
+udine.it, 0
+udono.mie.jp, 0
+ueda.nagano.jp, 0
+ueno.gunma.jp, 0
+uenohara.yamanashi.jp, 0
+ufcfan.org, 4
+ug, 0
+ug.gov.pl, 0
+ugim.gov.pl, 0
+uhren.museum, 0
+uji.kyoto.jp, 0
+ujiie.tochigi.jp, 0
+ujitawara.kyoto.jp, 0
+uk, 0
+uk.com, 4
+uk.eu.org, 4
+uk.net, 4
+uki.kumamoto.jp, 0
+ukiha.fukuoka.jp, 0
+ullensaker.no, 0
+ullensvang.no, 0
+ulm.museum, 0
+ulsan.kr, 0
+ulvik.no, 0
+um.gov.pl, 0
+umaji.kochi.jp, 0
+umb.it, 0
+umbria.it, 0
+umi.fukuoka.jp, 0
+umig.gov.pl, 0
+unazuki.toyama.jp, 0
+undersea.museum, 0
+unicom, 0
+union.aero, 0
+univ.sn, 0
+university, 0
+university.museum, 0
+unjarga.no, 0
+unnan.shimane.jp, 0
+uno, 0
+unusualperson.com, 4
+unzen.nagasaki.jp, 0
+uol, 0
+uonuma.niigata.jp, 0
+uozu.toyama.jp, 0
+upow.gov.pl, 0
+uppo.gov.pl, 0
+ups, 0
+urakawa.hokkaido.jp, 0
+urasoe.okinawa.jp, 0
+urausu.hokkaido.jp, 0
+urawa.saitama.jp, 0
+urayasu.chiba.jp, 0
+urbino-pesaro.it, 0
+urbinopesaro.it, 0
+ureshino.mie.jp, 0
+uri.arpa, 0
+urn.arpa, 0
+uruma.okinawa.jp, 0
+uryu.hokkaido.jp, 0
+us, 0
+us-1.evennode.com, 4
+us-2.evennode.com, 4
+us-3.evennode.com, 4
+us-east-1.amazonaws.com, 4
+us.com, 4
+us.eu.org, 4
+us.gov.pl, 0
+us.na, 0
+us.org, 4
+usa.museum, 0
+usa.oita.jp, 0
+usantiques.museum, 0
+usarts.museum, 0
+uscountryestate.museum, 0
+usculture.museum, 0
+usdecorativearts.museum, 0
+user.party.eus, 4
+usgarden.museum, 0
+ushiku.ibaraki.jp, 0
+ushistory.museum, 0
+ushuaia.museum, 0
+uslivinghistory.museum, 0
+ustka.pl, 0
+usui.fukuoka.jp, 0
+usuki.oita.jp, 0
+ut.us, 0
+utah.museum, 0
+utashinai.hokkaido.jp, 0
+utazas.hu, 0
+utazu.kagawa.jp, 0
+uto.kumamoto.jp, 0
+utsira.no, 0
+utsunomiya.tochigi.jp, 0
+uvic.museum, 0
+uw.gov.pl, 0
+uwajima.ehime.jp, 0
+uy, 0
+uy.com, 4
+uz, 0
+uz.ua, 0
+uzhgorod.ua, 0
+uzs.gov.pl, 0
+v.bg, 0
+va, 0
+va.it, 0
+va.no, 0
+va.us, 0
+vaapste.no, 0
+vacations, 0
+vadso.no, 0
+vaga.no, 0
+vagan.no, 0
+vagsoy.no, 0
+vaksdal.no, 0
+val-d-aosta.it, 0
+val-daosta.it, 0
+vald-aosta.it, 0
+valdaosta.it, 0
+valer.hedmark.no, 0
+valer.ostfold.no, 0
+valle-aosta.it, 0
+valle-d-aosta.it, 0
+valle-daosta.it, 0
+valle.no, 0
+valleaosta.it, 0
+valled-aosta.it, 0
+valledaosta.it, 0
+vallee-aoste.it, 0
+valleeaoste.it, 0
+valley.museum, 0
+vana, 0
+vang.no, 0
+vanguard, 0
+vantaa.museum, 0
+vanylven.no, 0
+vao.it, 0
+vardo.no, 0
+varese.it, 0
+varggat.no, 0
+varoy.no, 0
+vb.it, 0
+vc, 0
+vc.it, 0
+vda.it, 0
+ve, 0
+ve.it, 0
+vefsn.no, 0
+vega.no, 0
+vegarshei.no, 0
+vegas, 0
+ven.it, 0
+veneto.it, 0
+venezia.it, 0
+venice.it, 0
+vennesla.no, 0
+ventures, 0
+verbania.it, 0
+vercelli.it, 0
+verdal.no, 0
+verisign, 0
+verona.it, 0
+verran.no, 0
+versailles.museum, 0
+versicherung, 0
+vestby.no, 0
+vestnes.no, 0
+vestre-slidre.no, 0
+vestre-toten.no, 0
+vestvagoy.no, 0
+vet, 0
+vet.br, 0
+veterinaire.fr, 0
+veterinaire.km, 0
+vevelstad.no, 0
+vf.no, 0
+vg, 0
+vgs.no, 0
+vi, 0
+vi.it, 0
+vi.us, 0
+viajes, 0
+vibo-valentia.it, 0
+vibovalentia.it, 0
+vic.au, 0
+vic.edu.au, 0
+vic.gov.au, 0
+vicenza.it, 0
+video, 0
+video.hu, 0
+vig, 0
+vik.no, 0
+viking, 0
+viking.museum, 0
+vikna.no, 0
+village.museum, 0
+villas, 0
+vin, 0
+vindafjord.no, 0
+vinnica.ua, 0
+vinnytsia.ua, 0
+vip, 0
+vipsinaapp.com, 4
+virgin, 0
+virginia.museum, 0
+virtual.museum, 0
+virtueeldomein.nl, 4
+virtuel.museum, 0
+visa, 0
+vision, 0
+vista, 0
+vistaprint, 0
+viterbo.it, 0
+viva, 0
+vivo, 0
+vlaanderen, 0
+vlaanderen.museum, 0
+vladikavkaz.ru, 4
+vladikavkaz.su, 4
+vladimir.ru, 4
+vladimir.su, 4
+vlog.br, 0
+vn, 0
+vn.ua, 0
+voagat.no, 0
+vodka, 0
+volda.no, 0
+volkenkunde.museum, 0
+volkswagen, 0
+vologda.su, 4
+volvo, 0
+volyn.ua, 0
+voss.no, 0
+vossevangen.no, 0
+vote, 0
+voting, 0
+voto, 0
+voyage, 0
+vpnplus.to, 4
+vr.it, 0
+vs.it, 0
+vt.it, 0
+vt.us, 0
+vu, 0
+vuelos, 0
+vv.it, 0
+w.bg, 0
+w.se, 0
+wa.au, 0
+wa.edu.au, 0
+wa.gov.au, 0
+wa.us, 0
+wada.nagano.jp, 0
+wajiki.tokushima.jp, 0
+wajima.ishikawa.jp, 0
+wakasa.fukui.jp, 0
+wakasa.tottori.jp, 0
+wakayama.jp, 0
+wakayama.wakayama.jp, 0
+wake.okayama.jp, 0
+wakkanai.hokkaido.jp, 0
+wakuya.miyagi.jp, 0
+walbrzych.pl, 0
+wales, 0
+wales.museum, 0
+wallonie.museum, 0
+walmart, 0
+walter, 0
+wang, 0
+wanggou, 0
+wanouchi.gifu.jp, 0
+war.museum, 0
+warabi.saitama.jp, 0
+warman, 0
+warmia.pl, 0
+warszawa.pl, 0
+washingtondc.museum, 0
+wassamu.hokkaido.jp, 0
+watarai.mie.jp, 0
+watari.miyagi.jp, 0
+watch, 0
+watch-and-clock.museum, 0
+watchandclock.museum, 0
+watches, 0
+waw.pl, 0
+wazuka.kyoto.jp, 0
+weather, 0
+weatherchannel, 0
+web.co, 0
+web.do, 0
+web.id, 0
+web.lk, 0
+web.nf, 0
+web.ni, 0
+web.pk, 0
+web.tj, 0
+web.tr, 0
+web.ve, 0
+web.za, 0
+webcam, 0
+weber, 0
+webhop.biz, 4
+webhop.info, 4
+webhop.me, 4
+webhop.net, 4
+webhop.org, 4
+website, 0
+wed, 0
+wedding, 0
+wegrow.pl, 0
+weibo, 0
+weir, 0
+wellbeingzone.co.uk, 4
+wellbeingzone.eu, 4
+western.museum, 0
+westfalen.museum, 0
+wf, 0
+whaling.museum, 0
+whoswho, 0
+wi.us, 0
+wielun.pl, 0
+wien, 0
+wif.gov.pl, 0
+wiih.gov.pl, 0
+wiki, 0
+wiki.br, 0
+wildlife.museum, 0
+williamhill, 0
+williamsburg.museum, 0
+win, 0
+winb.gov.pl, 0
+windmill.museum, 0
+windows, 0
+wine, 0
+winners, 0
+wios.gov.pl, 0
+witd.gov.pl, 0
+withgoogle.com, 4
+withyoutube.com, 4
+wiw.gov.pl, 0
+wlocl.pl, 0
+wloclawek.pl, 0
+wme, 0
+wmflabs.org, 4
+wodzislaw.pl, 0
+wolomin.pl, 0
+wolterskluwer, 0
+woodside, 0
+work, 0
+workinggroup.aero, 0
+workisboring.com, 4
+works, 0
+works.aero, 0
+workshop.museum, 0
+world, 0
+worse-than.tv, 4
+wow, 0
+writesthisblog.com, 4
+wroc.pl, 4
+wroclaw.pl, 0
+ws, 0
+ws.na, 0
+wsa.gov.pl, 0
+wskr.gov.pl, 0
+wtc, 0
+wtf, 0
+wuoz.gov.pl, 0
+wv.us, 0
+www.ck, 1
+www.ro, 0
+wy.us, 0
+wzmiuw.gov.pl, 0
+x.bg, 0
+x.se, 0
+xbox, 0
+xen.prgmr.com, 4
+xenapponazure.com, 4
+xerox, 0
+xfinity, 0
+xihuan, 0
+xin, 0
+xj.cn, 0
+xn--0trq7p7nn.jp, 0
+xn--11b4c3d, 0
+xn--1ck2e1b, 0
+xn--1ctwo.jp, 0
+xn--1lqs03n.jp, 0
+xn--1lqs71d.jp, 0
+xn--1qqw23a, 0
+xn--2m4a15e.jp, 0
+xn--30rr7y, 0
+xn--32vp30h.jp, 0
+xn--3bst00m, 0
+xn--3ds443g, 0
+xn--3e0b707e, 0
+xn--3oq18vl8pn36a, 0
+xn--3pxu8k, 0
+xn--42c2d9a, 0
+xn--45brj9c, 0
+xn--45q11c, 0
+xn--4gbrim, 0
+xn--4it168d.jp, 0
+xn--4it797k.jp, 0
+xn--4pvxs.jp, 0
+xn--54b7fta0cc, 0
+xn--55qw42g, 0
+xn--55qx5d, 0
+xn--55qx5d.cn, 0
+xn--55qx5d.hk, 0
+xn--5js045d.jp, 0
+xn--5rtp49c.jp, 0
+xn--5rtq34k.jp, 0
+xn--5su34j936bgsg, 0
+xn--5tzm5g, 0
+xn--6btw5a.jp, 0
+xn--6frz82g, 0
+xn--6orx2r.jp, 0
+xn--6qq986b3xl, 0
+xn--7t0a264c.jp, 0
+xn--80adxhks, 0
+xn--80ao21a, 0
+xn--80aqecdr1a, 0
+xn--80asehdb, 0
+xn--80aswg, 0
+xn--80au.xn--90a3ac, 0
+xn--8ltr62k.jp, 0
+xn--8pvr4u.jp, 0
+xn--8y0a063a, 0
+xn--90a3ac, 0
+xn--90ais, 0
+xn--90azh.xn--90a3ac, 0
+xn--9dbhblg6di.museum, 0
+xn--9dbq2a, 0
+xn--9et52u, 0
+xn--9krt00a, 0
+xn--andy-ira.no, 0
+xn--aroport-bya.ci, 0
+xn--asky-ira.no, 0
+xn--aurskog-hland-jnb.no, 0
+xn--avery-yua.no, 0
+xn--b-5ga.nordland.no, 0
+xn--b-5ga.telemark.no, 0
+xn--b4w605ferd, 0
+xn--bck1b9a5dre4c, 0
+xn--bdddj-mrabd.no, 0
+xn--bearalvhki-y4a.no, 0
+xn--berlevg-jxa.no, 0
+xn--bhcavuotna-s4a.no, 0
+xn--bhccavuotna-k7a.no, 0
+xn--bidr-5nac.no, 0
+xn--bievt-0qa.no, 0
+xn--bjarky-fya.no, 0
+xn--bjddar-pta.no, 0
+xn--blt-elab.no, 0
+xn--bmlo-gra.no, 0
+xn--bod-2na.no, 0
+xn--brnny-wuac.no, 0
+xn--brnnysund-m8ac.no, 0
+xn--brum-voa.no, 0
+xn--btsfjord-9za.no, 0
+xn--c1avg, 0
+xn--c1avg.xn--90a3ac, 0
+xn--c2br7g, 0
+xn--c3s14m.jp, 0
+xn--cck2b3b, 0
+xn--cg4bki, 0
+xn--ciqpn.hk, 0
+xn--clchc0ea0b2g2a9gcd, 0
+xn--comunicaes-v6a2o.museum, 0
+xn--correios-e-telecomunicaes-ghc29a.museum, 0
+xn--czr694b, 0
+xn--czrs0t, 0
+xn--czru2d, 0
+xn--czrw28b.tw, 0
+xn--d1acj3b, 0
+xn--d1alf, 0
+xn--d1at.xn--90a3ac, 0
+xn--d5qv7z876c.jp, 0
+xn--davvenjrga-y4a.no, 0
+xn--djrs72d6uy.jp, 0
+xn--djty4k.jp, 0
+xn--dnna-gra.no, 0
+xn--drbak-wua.no, 0
+xn--dyry-ira.no, 0
+xn--e1a4c, 0
+xn--eckvdtc9d, 0
+xn--efvn9s.jp, 0
+xn--efvy88h, 0
+xn--ehqz56n.jp, 0
+xn--elqq16h.jp, 0
+xn--estv75g, 0
+xn--eveni-0qa01ga.no, 0
+xn--f6qx53a.jp, 0
+xn--fct429k, 0
+xn--fhbei, 0
+xn--finny-yua.no, 0
+xn--fiq228c5hs, 0
+xn--fiq64b, 0
+xn--fiqs8s, 0
+xn--fiqz9s, 0
+xn--fjord-lra.no, 0
+xn--fjq720a, 0
+xn--fl-zia.no, 0
+xn--flor-jra.no, 0
+xn--flw351e, 0
+xn--fpcrj9c3d, 0
+xn--frde-gra.no, 0
+xn--frna-woa.no, 0
+xn--frya-hra.no, 0
+xn--fzc2c9e2c, 0
+xn--fzys8d69uvgm, 0
+xn--g2xx48c, 0
+xn--gckr3f0f, 0
+xn--gecrj9c, 0
+xn--ggaviika-8ya47h.no, 0
+xn--gildeskl-g0a.no, 0
+xn--givuotna-8ya.no, 0
+xn--gjvik-wua.no, 0
+xn--gk3at1e, 0
+xn--gls-elac.no, 0
+xn--gmq050i.hk, 0
+xn--gmqw5a.hk, 0
+xn--h-2fa.no, 0
+xn--h1aegh.museum, 0
+xn--h2brj9c, 0
+xn--hbmer-xqa.no, 0
+xn--hcesuolo-7ya35b.no, 0
+xn--hery-ira.nordland.no, 0
+xn--hery-ira.xn--mre-og-romsdal-qqb.no, 0
+xn--hgebostad-g3a.no, 0
+xn--hmmrfeasta-s4ac.no, 0
+xn--hnefoss-q1a.no, 0
+xn--hobl-ira.no, 0
+xn--holtlen-hxa.no, 0
+xn--hpmir-xqa.no, 0
+xn--hxt814e, 0
+xn--hyanger-q1a.no, 0
+xn--hylandet-54a.no, 0
+xn--i1b6b1a6a2e, 0
+xn--imr513n, 0
+xn--indery-fya.no, 0
+xn--io0a7i, 0
+xn--io0a7i.cn, 0
+xn--io0a7i.hk, 0
+xn--j1aef, 0
+xn--j1amh, 0
+xn--j6w193g, 0
+xn--jlq61u9w7b, 0
+xn--jlster-bya.no, 0
+xn--jrpeland-54a.no, 0
+xn--jvr189m, 0
+xn--k7yn95e.jp, 0
+xn--karmy-yua.no, 0
+xn--kbrq7o.jp, 0
+xn--kcrx77d1x4a, 0
+xn--kfjord-iua.no, 0
+xn--klbu-woa.no, 0
+xn--klt787d.jp, 0
+xn--kltp7d.jp, 0
+xn--kltx9a.jp, 0
+xn--klty5x.jp, 0
+xn--koluokta-7ya57h.no, 0
+xn--kprw13d, 0
+xn--kpry57d, 0
+xn--kpu716f, 0
+xn--kput3i, 0
+xn--krager-gya.no, 0
+xn--kranghke-b0a.no, 0
+xn--krdsherad-m8a.no, 0
+xn--krehamn-dxa.no, 0
+xn--krjohka-hwab49j.no, 0
+xn--ksnes-uua.no, 0
+xn--kvfjord-nxa.no, 0
+xn--kvitsy-fya.no, 0
+xn--kvnangen-k0a.no, 0
+xn--l-1fa.no, 0
+xn--l1acc, 0
+xn--laheadju-7ya.no, 0
+xn--langevg-jxa.no, 0
+xn--lcvr32d.hk, 0
+xn--ldingen-q1a.no, 0
+xn--leagaviika-52b.no, 0
+xn--lesund-hua.no, 0
+xn--lgbbat1ad8j, 0
+xn--lgrd-poac.no, 0
+xn--lhppi-xqa.no, 0
+xn--linds-pra.no, 0
+xn--lns-qla.museum, 0
+xn--loabt-0qa.no, 0
+xn--lrdal-sra.no, 0
+xn--lrenskog-54a.no, 0
+xn--lt-liac.no, 0
+xn--lten-gra.no, 0
+xn--lury-ira.no, 0
+xn--mely-ira.no, 0
+xn--merker-kua.no, 0
+xn--mgb2ddes, 0
+xn--mgb9awbf, 0
+xn--mgba3a3ejt, 0
+xn--mgba3a4f16a, 0
+xn--mgba3a4f16a.ir, 0
+xn--mgba3a4fra, 0
+xn--mgba3a4fra.ir, 0
+xn--mgba7c0bbn0a, 0
+xn--mgbaakc7dvf, 0
+xn--mgbaam7a8h, 0
+xn--mgbab2bd, 0
+xn--mgbai9a5eva00b, 0
+xn--mgbai9azgqp6j, 0
+xn--mgbayh7gpa, 0
+xn--mgbb9fbpob, 0
+xn--mgbbh1a71e, 0
+xn--mgbc0a9azcg, 0
+xn--mgbca7dzdo, 0
+xn--mgberp4a5d4a87g, 0
+xn--mgberp4a5d4ar, 0
+xn--mgbi4ecexp, 0
+xn--mgbpl2fh, 0
+xn--mgbqly7c0a67fbc, 0
+xn--mgbqly7cvafr, 0
+xn--mgbt3dhd, 0
+xn--mgbtf8fl, 0
+xn--mgbtx2b, 0
+xn--mgbx4cd0ab, 0
+xn--mix082f, 0
+xn--mix891f, 0
+xn--mjndalen-64a.no, 0
+xn--mk0axi.hk, 0
+xn--mk1bu44c, 0
+xn--mkru45i.jp, 0
+xn--mlatvuopmi-s4a.no, 0
+xn--mli-tla.no, 0
+xn--mlselv-iua.no, 0
+xn--moreke-jua.no, 0
+xn--mori-qsa.nz, 0
+xn--mosjen-eya.no, 0
+xn--mot-tla.no, 0
+xn--msy-ula0h.no, 0
+xn--mtta-vrjjat-k7af.no, 0
+xn--muost-0qa.no, 0
+xn--mxtq1m, 0
+xn--mxtq1m.hk, 0
+xn--ngbc5azd, 0
+xn--ngbe9e0a, 0
+xn--ngbrx, 0
+xn--nit225k.jp, 0
+xn--nmesjevuemie-tcba.no, 0
+xn--nnx388a, 0
+xn--node, 0
+xn--nqv7f, 0
+xn--nqv7fs00ema, 0
+xn--nry-yla5g.no, 0
+xn--ntso0iqx3a.jp, 0
+xn--ntsq17g.jp, 0
+xn--nttery-byae.no, 0
+xn--nvuotna-hwa.no, 0
+xn--nyqy26a, 0
+xn--o1ac.xn--90a3ac, 0
+xn--o1ach.xn--90a3ac, 0
+xn--o3cw4h, 0
+xn--od0alg.cn, 0
+xn--od0alg.hk, 0
+xn--od0aq3b.hk, 0
+xn--ogbpf8fl, 0
+xn--oppegrd-ixa.no, 0
+xn--ostery-fya.no, 0
+xn--osyro-wua.no, 0
+xn--p1acf, 0
+xn--p1ai, 0
+xn--pbt977c, 0
+xn--pgbs0dh, 0
+xn--porsgu-sta26f.no, 0
+xn--pssu33l.jp, 0
+xn--pssy2u, 0
+xn--q9jyb4c, 0
+xn--qcka1pmc, 0
+xn--qqqt11m.jp, 0
+xn--qxam, 0
+xn--rady-ira.no, 0
+xn--rdal-poa.no, 0
+xn--rde-ula.no, 0
+xn--rdy-0nab.no, 0
+xn--rennesy-v1a.no, 0
+xn--rhkkervju-01af.no, 0
+xn--rholt-mra.no, 0
+xn--rhqv96g, 0
+xn--rht27z.jp, 0
+xn--rht3d.jp, 0
+xn--rht61e.jp, 0
+xn--risa-5na.no, 0
+xn--risr-ira.no, 0
+xn--rland-uua.no, 0
+xn--rlingen-mxa.no, 0
+xn--rmskog-bya.no, 0
+xn--rny31h.jp, 0
+xn--rovu88b, 0
+xn--rros-gra.no, 0
+xn--rskog-uua.no, 0
+xn--rst-0na.no, 0
+xn--rsta-fra.no, 0
+xn--ryken-vua.no, 0
+xn--ryrvik-bya.no, 0
+xn--s-1fa.no, 0
+xn--s9brj9c, 0
+xn--sandnessjen-ogb.no, 0
+xn--sandy-yua.no, 0
+xn--seral-lra.no, 0
+xn--ses554g, 0
+xn--sgne-gra.no, 0
+xn--skierv-uta.no, 0
+xn--skjervy-v1a.no, 0
+xn--skjk-soa.no, 0
+xn--sknit-yqa.no, 0
+xn--sknland-fxa.no, 0
+xn--slat-5na.no, 0
+xn--slt-elab.no, 0
+xn--smla-hra.no, 0
+xn--smna-gra.no, 0
+xn--snase-nra.no, 0
+xn--sndre-land-0cb.no, 0
+xn--snes-poa.no, 0
+xn--snsa-roa.no, 0
+xn--sr-aurdal-l8a.no, 0
+xn--sr-fron-q1a.no, 0
+xn--sr-odal-q1a.no, 0
+xn--sr-varanger-ggb.no, 0
+xn--srfold-bya.no, 0
+xn--srreisa-q1a.no, 0
+xn--srum-gra.no, 0
+xn--stjrdal-s1a.no, 0
+xn--stjrdalshalsen-sqb.no, 0
+xn--stre-toten-zcb.no, 0
+xn--t60b56a, 0
+xn--tckwe, 0
+xn--tiq49xqyj, 0
+xn--tjme-hra.no, 0
+xn--tn0ag.hk, 0
+xn--tnsberg-q1a.no, 0
+xn--tor131o.jp, 0
+xn--trany-yua.no, 0
+xn--trgstad-r1a.no, 0
+xn--trna-woa.no, 0
+xn--troms-zua.no, 0
+xn--tysvr-vra.no, 0
+xn--uc0atv.hk, 0
+xn--uc0atv.tw, 0
+xn--uc0ay4a.hk, 0
+xn--uist22h.jp, 0
+xn--uisz3g.jp, 0
+xn--unjrga-rta.no, 0
+xn--unup4y, 0
+xn--uuwu58a.jp, 0
+xn--vads-jra.no, 0
+xn--vard-jra.no, 0
+xn--vegrshei-c0a.no, 0
+xn--vermgensberater-ctb, 0
+xn--vermgensberatung-pwb, 0
+xn--vestvgy-ixa6o.no, 0
+xn--vg-yiab.no, 0
+xn--vgan-qoa.no, 0
+xn--vgsy-qoa0j.no, 0
+xn--vgu402c.jp, 0
+xn--vhquv, 0
+xn--vler-qoa.hedmark.no, 0
+xn--vler-qoa.xn--stfold-9xa.no, 0
+xn--vre-eiker-k8a.no, 0
+xn--vrggt-xqad.no, 0
+xn--vry-yla5g.no, 0
+xn--vuq861b, 0
+xn--w4r85el8fhu5dnra, 0
+xn--w4rs40l, 0
+xn--wcvs22d.hk, 0
+xn--wgbh1c, 0
+xn--wgbl6a, 0
+xn--xhq521b, 0
+xn--xkc2al3hye2a, 0
+xn--xkc2dl3a5ee0h, 0
+xn--y9a3aq, 0
+xn--yer-zna.no, 0
+xn--yfro4i67o, 0
+xn--ygarden-p1a.no, 0
+xn--ygbi2ammx, 0
+xn--ystre-slidre-ujb.no, 0
+xn--zbx025d.jp, 0
+xn--zf0ao64a.tw, 0
+xn--zf0avx.hk, 0
+xn--zfr164b, 0
+xperia, 0
+xs4all.space, 4
+xxx, 0
+xyz, 0
+xz.cn, 0
+y.bg, 0
+y.se, 0
+yabu.hyogo.jp, 0
+yabuki.fukushima.jp, 0
+yachimata.chiba.jp, 0
+yachiyo.chiba.jp, 0
+yachiyo.ibaraki.jp, 0
+yachts, 0
+yaese.okinawa.jp, 0
+yahaba.iwate.jp, 0
+yahiko.niigata.jp, 0
+yahoo, 0
+yaita.tochigi.jp, 0
+yaizu.shizuoka.jp, 0
+yakage.okayama.jp, 0
+yakumo.hokkaido.jp, 0
+yakumo.shimane.jp, 0
+yalta.ua, 0
+yamada.fukuoka.jp, 0
+yamada.iwate.jp, 0
+yamada.toyama.jp, 0
+yamaga.kumamoto.jp, 0
+yamagata.gifu.jp, 0
+yamagata.ibaraki.jp, 0
+yamagata.jp, 0
+yamagata.nagano.jp, 0
+yamagata.yamagata.jp, 0
+yamaguchi.jp, 0
+yamakita.kanagawa.jp, 0
+yamamoto.miyagi.jp, 0
+yamanakako.yamanashi.jp, 0
+yamanashi.jp, 0
+yamanashi.yamanashi.jp, 0
+yamanobe.yamagata.jp, 0
+yamanouchi.nagano.jp, 0
+yamashina.kyoto.jp, 0
+yamato.fukushima.jp, 0
+yamato.kanagawa.jp, 0
+yamato.kumamoto.jp, 0
+yamatokoriyama.nara.jp, 0
+yamatotakada.nara.jp, 0
+yamatsuri.fukushima.jp, 0
+yamaxun, 0
+yamazoe.nara.jp, 0
+yame.fukuoka.jp, 0
+yanagawa.fukuoka.jp, 0
+yanaizu.fukushima.jp, 0
+yandex, 0
+yao.osaka.jp, 0
+yaotsu.gifu.jp, 0
+yasaka.nagano.jp, 0
+yashio.saitama.jp, 0
+yashiro.hyogo.jp, 0
+yasu.shiga.jp, 0
+yasuda.kochi.jp, 0
+yasugi.shimane.jp, 0
+yasuoka.nagano.jp, 0
+yatomi.aichi.jp, 0
+yatsuka.shimane.jp, 0
+yatsushiro.kumamoto.jp, 0
+yawara.ibaraki.jp, 0
+yawata.kyoto.jp, 0
+yawatahama.ehime.jp, 0
+yazu.tottori.jp, 0
+ybo.faith, 4
+ybo.party, 4
+ybo.review, 4
+ybo.science, 4
+ybo.trade, 4
+ye, 2
+yk.ca, 0
+yn.cn, 0
+yodobashi, 0
+yoga, 0
+yoichi.hokkaido.jp, 0
+yoita.niigata.jp, 0
+yoka.hyogo.jp, 0
+yokaichiba.chiba.jp, 0
+yokawa.hyogo.jp, 0
+yokkaichi.mie.jp, 0
+yokohama, 0
+yokohama.jp, 2
+yokoshibahikari.chiba.jp, 0
+yokosuka.kanagawa.jp, 0
+yokote.akita.jp, 0
+yokoze.saitama.jp, 0
+yolasite.com, 4
+yombo.me, 4
+yomitan.okinawa.jp, 0
+yonabaru.okinawa.jp, 0
+yonago.tottori.jp, 0
+yonaguni.okinawa.jp, 0
+yonezawa.yamagata.jp, 0
+yono.saitama.jp, 0
+yorii.saitama.jp, 0
+york.museum, 0
+yorkshire.museum, 0
+yoro.gifu.jp, 0
+yosemite.museum, 0
+yoshida.saitama.jp, 0
+yoshida.shizuoka.jp, 0
+yoshikawa.saitama.jp, 0
+yoshimi.saitama.jp, 0
+yoshino.nara.jp, 0
+yoshinogari.saga.jp, 0
+yoshioka.gunma.jp, 0
+yotsukaido.chiba.jp, 0
+you, 0
+youth.museum, 0
+youtube, 0
+yt, 0
+yuasa.wakayama.jp, 0
+yufu.oita.jp, 0
+yugawa.fukushima.jp, 0
+yugawara.kanagawa.jp, 0
+yuki.ibaraki.jp, 0
+yukuhashi.fukuoka.jp, 0
+yun, 0
+yura.wakayama.jp, 0
+yurihonjo.akita.jp, 0
+yusuhara.kochi.jp, 0
+yusui.kagoshima.jp, 0
+yuu.yamaguchi.jp, 0
+yuza.yamagata.jp, 0
+yuzawa.niigata.jp, 0
+z.bg, 0
+z.se, 0
+za, 0
+za.bz, 4
+za.com, 4
+za.net, 4
+za.org, 4
+zachpomor.pl, 0
+zagan.pl, 0
+zakopane.pl, 4
+zama.kanagawa.jp, 0
+zamami.okinawa.jp, 0
+zao.miyagi.jp, 0
+zaporizhzhe.ua, 0
+zaporizhzhia.ua, 0
+zappos, 0
+zapto.org, 4
+zara, 0
+zarow.pl, 0
+zentsuji.kagawa.jp, 0
+zero, 0
+zgora.pl, 0
+zgorzelec.pl, 0
+zhitomir.ua, 0
+zhytomyr.ua, 0
+zip, 0
+zippo, 0
+zj.cn, 0
+zlg.br, 0
+zm, 0
+zone, 0
+zoological.museum, 0
+zoology.museum, 0
+zp.gov.pl, 0
+zp.ua, 0
+zt.ua, 0
+zuerich, 0
+zushi.kanagawa.jp, 0
+zw, 0
+%%
diff --git a/src/net/base/registry_controlled_domains/effective_tld_names_unittest1.gperf b/src/net/base/registry_controlled_domains/effective_tld_names_unittest1.gperf
new file mode 100644
index 0000000..0246f17
--- /dev/null
+++ b/src/net/base/registry_controlled_domains/effective_tld_names_unittest1.gperf
@@ -0,0 +1,27 @@
+%{
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+// Test file used by registry_controlled_domain_unittest.
+// We edit this file manually, then run
+// gperf -a -L "C++" -C -c -o -t -k '*' -NFindDomain -ZPerfect_Hash_Test1 -P -K name_offset -Q stringpool1 -D effective_tld_names_unittest1.gperf >  effective_tld_names_unittest1.cc
+// to generate the perfect hashmap.
+%}
+struct DomainRule {
+  int name_offset;
+  int type;  // 1: exception, 2: wildcard, 4: private
+};
+%%
+jp, 0
+ac.jp, 0
+bar.jp, 2
+baz.bar.jp, 2
+pref.bar.jp, 1
+bar.baz.com, 0
+c, 2
+b.c, 1
+no, 0
+priv.no, 4
+private, 4
+xn--fiqs8s, 0
+%%
diff --git a/src/net/base/registry_controlled_domains/effective_tld_names_unittest2.gperf b/src/net/base/registry_controlled_domains/effective_tld_names_unittest2.gperf
new file mode 100644
index 0000000..03c2e2a
--- /dev/null
+++ b/src/net/base/registry_controlled_domains/effective_tld_names_unittest2.gperf
@@ -0,0 +1,17 @@
+%{
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+// Test file used by registry_controlled_domain_unittest.
+// We edit this file manually, then run
+// gperf -a -L "C++" -C -c -o -t -k '*' -NFindDomain -ZPerfect_Hash_Test2 -P -K name_offset -Q stringpool2 -D -T effective_tld_names_unittest2.gperf >  effective_tld_names_unittest2.cc
+// to generate the perfect hashmap.
+%}
+struct DomainRule {
+  int name_offset;
+  int type;  // 1: exception, 2: wildcard, 4: private
+};
+%%
+jp, 0
+bar.jp, 0
+%%
diff --git a/src/net/base/registry_controlled_domains/effective_tld_names_unittest3.gperf b/src/net/base/registry_controlled_domains/effective_tld_names_unittest3.gperf
new file mode 100644
index 0000000..aed5838
--- /dev/null
+++ b/src/net/base/registry_controlled_domains/effective_tld_names_unittest3.gperf
@@ -0,0 +1,13 @@
+This file is for testing 2 byte offsets
+%%
+0____________________________________________________________________________________________________0, 0
+1____________________________________________________________________________________________________1, 4
+2____________________________________________________________________________________________________2, 0
+3____________________________________________________________________________________________________3, 4
+4____________________________________________________________________________________________________4, 0
+5____________________________________________________________________________________________________5, 4
+6____________________________________________________________________________________________________6, 0
+7____________________________________________________________________________________________________7, 4
+8____________________________________________________________________________________________________8, 0
+9____________________________________________________________________________________________________9, 4
+%%
diff --git a/src/net/base/registry_controlled_domains/effective_tld_names_unittest4.gperf b/src/net/base/registry_controlled_domains/effective_tld_names_unittest4.gperf
new file mode 100644
index 0000000..b89e6c0
--- /dev/null
+++ b/src/net/base/registry_controlled_domains/effective_tld_names_unittest4.gperf
@@ -0,0 +1,523 @@
+This file is for testing 3 byte offsets
+%%
+a0____________________________________________________________________________________________________a0, 0
+a1____________________________________________________________________________________________________a1, 4
+a2____________________________________________________________________________________________________a2, 0
+a3____________________________________________________________________________________________________a3, 4
+a4____________________________________________________________________________________________________a4, 0
+a5____________________________________________________________________________________________________a5, 4
+a6____________________________________________________________________________________________________a6, 0
+a7____________________________________________________________________________________________________a7, 4
+a8____________________________________________________________________________________________________a8, 0
+a9____________________________________________________________________________________________________a9, 4
+b0____________________________________________________________________________________________________b0, 0
+b1____________________________________________________________________________________________________b1, 4
+b2____________________________________________________________________________________________________b2, 0
+b3____________________________________________________________________________________________________b3, 4
+b4____________________________________________________________________________________________________b4, 0
+b5____________________________________________________________________________________________________b5, 4
+b6____________________________________________________________________________________________________b6, 0
+b7____________________________________________________________________________________________________b7, 4
+b8____________________________________________________________________________________________________b8, 0
+b9____________________________________________________________________________________________________b9, 4
+c0____________________________________________________________________________________________________c0, 0
+c1____________________________________________________________________________________________________c1, 4
+c2____________________________________________________________________________________________________c2, 0
+c3____________________________________________________________________________________________________c3, 4
+c4____________________________________________________________________________________________________c4, 0
+c5____________________________________________________________________________________________________c5, 4
+c6____________________________________________________________________________________________________c6, 0
+c7____________________________________________________________________________________________________c7, 4
+c8____________________________________________________________________________________________________c8, 0
+c9____________________________________________________________________________________________________c9, 4
+d0____________________________________________________________________________________________________d0, 0
+d1____________________________________________________________________________________________________d1, 4
+d2____________________________________________________________________________________________________d2, 0
+d3____________________________________________________________________________________________________d3, 4
+d4____________________________________________________________________________________________________d4, 0
+d5____________________________________________________________________________________________________d5, 4
+d6____________________________________________________________________________________________________d6, 0
+d7____________________________________________________________________________________________________d7, 4
+d8____________________________________________________________________________________________________d8, 0
+d9____________________________________________________________________________________________________d9, 4
+e0____________________________________________________________________________________________________e0, 0
+e1____________________________________________________________________________________________________e1, 4
+e2____________________________________________________________________________________________________e2, 0
+e3____________________________________________________________________________________________________e3, 4
+e4____________________________________________________________________________________________________e4, 0
+e5____________________________________________________________________________________________________e5, 4
+e6____________________________________________________________________________________________________e6, 0
+e7____________________________________________________________________________________________________e7, 4
+e8____________________________________________________________________________________________________e8, 0
+e9____________________________________________________________________________________________________e9, 4
+f0____________________________________________________________________________________________________f0, 0
+f1____________________________________________________________________________________________________f1, 4
+f2____________________________________________________________________________________________________f2, 0
+f3____________________________________________________________________________________________________f3, 4
+f4____________________________________________________________________________________________________f4, 0
+f5____________________________________________________________________________________________________f5, 4
+f6____________________________________________________________________________________________________f6, 0
+f7____________________________________________________________________________________________________f7, 4
+f8____________________________________________________________________________________________________f8, 0
+f9____________________________________________________________________________________________________f9, 4
+g0____________________________________________________________________________________________________g0, 0
+g1____________________________________________________________________________________________________g1, 4
+g2____________________________________________________________________________________________________g2, 0
+g3____________________________________________________________________________________________________g3, 4
+g4____________________________________________________________________________________________________g4, 0
+g5____________________________________________________________________________________________________g5, 4
+g6____________________________________________________________________________________________________g6, 0
+g7____________________________________________________________________________________________________g7, 4
+g8____________________________________________________________________________________________________g8, 0
+g9____________________________________________________________________________________________________g9, 4
+h0____________________________________________________________________________________________________h0, 0
+h1____________________________________________________________________________________________________h1, 4
+h2____________________________________________________________________________________________________h2, 0
+h3____________________________________________________________________________________________________h3, 4
+h4____________________________________________________________________________________________________h4, 0
+h5____________________________________________________________________________________________________h5, 4
+h6____________________________________________________________________________________________________h6, 0
+h7____________________________________________________________________________________________________h7, 4
+h8____________________________________________________________________________________________________h8, 0
+h9____________________________________________________________________________________________________h9, 4
+i0____________________________________________________________________________________________________i0, 0
+i1____________________________________________________________________________________________________i1, 4
+i2____________________________________________________________________________________________________i2, 0
+i3____________________________________________________________________________________________________i3, 4
+i4____________________________________________________________________________________________________i4, 0
+i5____________________________________________________________________________________________________i5, 4
+i6____________________________________________________________________________________________________i6, 0
+i7____________________________________________________________________________________________________i7, 4
+i8____________________________________________________________________________________________________i8, 0
+i9____________________________________________________________________________________________________i9, 4
+j0____________________________________________________________________________________________________j0, 0
+j1____________________________________________________________________________________________________j1, 4
+j2____________________________________________________________________________________________________j2, 0
+j3____________________________________________________________________________________________________j3, 4
+j4____________________________________________________________________________________________________j4, 0
+j5____________________________________________________________________________________________________j5, 4
+j6____________________________________________________________________________________________________j6, 0
+j7____________________________________________________________________________________________________j7, 4
+j8____________________________________________________________________________________________________j8, 0
+j9____________________________________________________________________________________________________j9, 4
+k0____________________________________________________________________________________________________k0, 0
+k1____________________________________________________________________________________________________k1, 4
+k2____________________________________________________________________________________________________k2, 0
+k3____________________________________________________________________________________________________k3, 4
+k4____________________________________________________________________________________________________k4, 0
+k5____________________________________________________________________________________________________k5, 4
+k6____________________________________________________________________________________________________k6, 0
+k7____________________________________________________________________________________________________k7, 4
+k8____________________________________________________________________________________________________k8, 0
+k9____________________________________________________________________________________________________k9, 4
+l0____________________________________________________________________________________________________l0, 0
+l1____________________________________________________________________________________________________l1, 4
+l2____________________________________________________________________________________________________l2, 0
+l3____________________________________________________________________________________________________l3, 4
+l4____________________________________________________________________________________________________l4, 0
+l5____________________________________________________________________________________________________l5, 4
+l6____________________________________________________________________________________________________l6, 0
+l7____________________________________________________________________________________________________l7, 4
+l8____________________________________________________________________________________________________l8, 0
+l9____________________________________________________________________________________________________l9, 4
+m0____________________________________________________________________________________________________m0, 0
+m1____________________________________________________________________________________________________m1, 4
+m2____________________________________________________________________________________________________m2, 0
+m3____________________________________________________________________________________________________m3, 4
+m4____________________________________________________________________________________________________m4, 0
+m5____________________________________________________________________________________________________m5, 4
+m6____________________________________________________________________________________________________m6, 0
+m7____________________________________________________________________________________________________m7, 4
+m8____________________________________________________________________________________________________m8, 0
+m9____________________________________________________________________________________________________m9, 4
+n0____________________________________________________________________________________________________n0, 0
+n1____________________________________________________________________________________________________n1, 4
+n2____________________________________________________________________________________________________n2, 0
+n3____________________________________________________________________________________________________n3, 4
+n4____________________________________________________________________________________________________n4, 0
+n5____________________________________________________________________________________________________n5, 4
+n6____________________________________________________________________________________________________n6, 0
+n7____________________________________________________________________________________________________n7, 4
+n8____________________________________________________________________________________________________n8, 0
+n9____________________________________________________________________________________________________n9, 4
+o0____________________________________________________________________________________________________o0, 0
+o1____________________________________________________________________________________________________o1, 4
+o2____________________________________________________________________________________________________o2, 0
+o3____________________________________________________________________________________________________o3, 4
+o4____________________________________________________________________________________________________o4, 0
+o5____________________________________________________________________________________________________o5, 4
+o6____________________________________________________________________________________________________o6, 0
+o7____________________________________________________________________________________________________o7, 4
+o8____________________________________________________________________________________________________o8, 0
+o9____________________________________________________________________________________________________o9, 4
+p0____________________________________________________________________________________________________p0, 0
+p1____________________________________________________________________________________________________p1, 4
+p2____________________________________________________________________________________________________p2, 0
+p3____________________________________________________________________________________________________p3, 4
+p4____________________________________________________________________________________________________p4, 0
+p5____________________________________________________________________________________________________p5, 4
+p6____________________________________________________________________________________________________p6, 0
+p7____________________________________________________________________________________________________p7, 4
+p8____________________________________________________________________________________________________p8, 0
+p9____________________________________________________________________________________________________p9, 4
+q0____________________________________________________________________________________________________q0, 0
+q1____________________________________________________________________________________________________q1, 4
+q2____________________________________________________________________________________________________q2, 0
+q3____________________________________________________________________________________________________q3, 4
+q4____________________________________________________________________________________________________q4, 0
+q5____________________________________________________________________________________________________q5, 4
+q6____________________________________________________________________________________________________q6, 0
+q7____________________________________________________________________________________________________q7, 4
+q8____________________________________________________________________________________________________q8, 0
+q9____________________________________________________________________________________________________q9, 4
+r0____________________________________________________________________________________________________r0, 0
+r1____________________________________________________________________________________________________r1, 4
+r2____________________________________________________________________________________________________r2, 0
+r3____________________________________________________________________________________________________r3, 4
+r4____________________________________________________________________________________________________r4, 0
+r5____________________________________________________________________________________________________r5, 4
+r6____________________________________________________________________________________________________r6, 0
+r7____________________________________________________________________________________________________r7, 4
+r8____________________________________________________________________________________________________r8, 0
+r9____________________________________________________________________________________________________r9, 4
+s0____________________________________________________________________________________________________s0, 0
+s1____________________________________________________________________________________________________s1, 4
+s2____________________________________________________________________________________________________s2, 0
+s3____________________________________________________________________________________________________s3, 4
+s4____________________________________________________________________________________________________s4, 0
+s5____________________________________________________________________________________________________s5, 4
+s6____________________________________________________________________________________________________s6, 0
+s7____________________________________________________________________________________________________s7, 4
+s8____________________________________________________________________________________________________s8, 0
+s9____________________________________________________________________________________________________s9, 4
+t0____________________________________________________________________________________________________t0, 0
+t1____________________________________________________________________________________________________t1, 4
+t2____________________________________________________________________________________________________t2, 0
+t3____________________________________________________________________________________________________t3, 4
+t4____________________________________________________________________________________________________t4, 0
+t5____________________________________________________________________________________________________t5, 4
+t6____________________________________________________________________________________________________t6, 0
+t7____________________________________________________________________________________________________t7, 4
+t8____________________________________________________________________________________________________t8, 0
+t9____________________________________________________________________________________________________t9, 4
+u0____________________________________________________________________________________________________u0, 0
+u1____________________________________________________________________________________________________u1, 4
+u2____________________________________________________________________________________________________u2, 0
+u3____________________________________________________________________________________________________u3, 4
+u4____________________________________________________________________________________________________u4, 0
+u5____________________________________________________________________________________________________u5, 4
+u6____________________________________________________________________________________________________u6, 0
+u7____________________________________________________________________________________________________u7, 4
+u8____________________________________________________________________________________________________u8, 0
+u9____________________________________________________________________________________________________u9, 4
+v0____________________________________________________________________________________________________v0, 0
+v1____________________________________________________________________________________________________v1, 4
+v2____________________________________________________________________________________________________v2, 0
+v3____________________________________________________________________________________________________v3, 4
+v4____________________________________________________________________________________________________v4, 0
+v5____________________________________________________________________________________________________v5, 4
+v6____________________________________________________________________________________________________v6, 0
+v7____________________________________________________________________________________________________v7, 4
+v8____________________________________________________________________________________________________v8, 0
+v9____________________________________________________________________________________________________v9, 4
+w0____________________________________________________________________________________________________w0, 0
+w1____________________________________________________________________________________________________w1, 4
+w2____________________________________________________________________________________________________w2, 0
+w3____________________________________________________________________________________________________w3, 4
+w4____________________________________________________________________________________________________w4, 0
+w5____________________________________________________________________________________________________w5, 4
+w6____________________________________________________________________________________________________w6, 0
+w7____________________________________________________________________________________________________w7, 4
+w8____________________________________________________________________________________________________w8, 0
+w9____________________________________________________________________________________________________w9, 4
+x0____________________________________________________________________________________________________x0, 0
+x1____________________________________________________________________________________________________x1, 4
+x2____________________________________________________________________________________________________x2, 0
+x3____________________________________________________________________________________________________x3, 4
+x4____________________________________________________________________________________________________x4, 0
+x5____________________________________________________________________________________________________x5, 4
+x6____________________________________________________________________________________________________x6, 0
+x7____________________________________________________________________________________________________x7, 4
+x8____________________________________________________________________________________________________x8, 0
+x9____________________________________________________________________________________________________x9, 4
+y0____________________________________________________________________________________________________y0, 0
+y1____________________________________________________________________________________________________y1, 4
+y2____________________________________________________________________________________________________y2, 0
+y3____________________________________________________________________________________________________y3, 4
+y4____________________________________________________________________________________________________y4, 0
+y5____________________________________________________________________________________________________y5, 4
+y6____________________________________________________________________________________________________y6, 0
+y7____________________________________________________________________________________________________y7, 4
+y8____________________________________________________________________________________________________y8, 0
+y9____________________________________________________________________________________________________y9, 4
+z0____________________________________________________________________________________________________z0, 0
+z1____________________________________________________________________________________________________z1, 4
+z2____________________________________________________________________________________________________z2, 0
+z3____________________________________________________________________________________________________z3, 4
+z4____________________________________________________________________________________________________z4, 0
+z5____________________________________________________________________________________________________z5, 4
+z6____________________________________________________________________________________________________z6, 0
+z7____________________________________________________________________________________________________z7, 4
+z8____________________________________________________________________________________________________z8, 0
+z9____________________________________________________________________________________________________z9, 4
+A0____________________________________________________________________________________________________A0, 0
+A1____________________________________________________________________________________________________A1, 4
+A2____________________________________________________________________________________________________A2, 0
+A3____________________________________________________________________________________________________A3, 4
+A4____________________________________________________________________________________________________A4, 0
+A5____________________________________________________________________________________________________A5, 4
+A6____________________________________________________________________________________________________A6, 0
+A7____________________________________________________________________________________________________A7, 4
+A8____________________________________________________________________________________________________A8, 0
+A9____________________________________________________________________________________________________A9, 4
+B0____________________________________________________________________________________________________B0, 0
+B1____________________________________________________________________________________________________B1, 4
+B2____________________________________________________________________________________________________B2, 0
+B3____________________________________________________________________________________________________B3, 4
+B4____________________________________________________________________________________________________B4, 0
+B5____________________________________________________________________________________________________B5, 4
+B6____________________________________________________________________________________________________B6, 0
+B7____________________________________________________________________________________________________B7, 4
+B8____________________________________________________________________________________________________B8, 0
+B9____________________________________________________________________________________________________B9, 4
+C0____________________________________________________________________________________________________C0, 0
+C1____________________________________________________________________________________________________C1, 4
+C2____________________________________________________________________________________________________C2, 0
+C3____________________________________________________________________________________________________C3, 4
+C4____________________________________________________________________________________________________C4, 0
+C5____________________________________________________________________________________________________C5, 4
+C6____________________________________________________________________________________________________C6, 0
+C7____________________________________________________________________________________________________C7, 4
+C8____________________________________________________________________________________________________C8, 0
+C9____________________________________________________________________________________________________C9, 4
+D0____________________________________________________________________________________________________D0, 0
+D1____________________________________________________________________________________________________D1, 4
+D2____________________________________________________________________________________________________D2, 0
+D3____________________________________________________________________________________________________D3, 4
+D4____________________________________________________________________________________________________D4, 0
+D5____________________________________________________________________________________________________D5, 4
+D6____________________________________________________________________________________________________D6, 0
+D7____________________________________________________________________________________________________D7, 4
+D8____________________________________________________________________________________________________D8, 0
+D9____________________________________________________________________________________________________D9, 4
+E0____________________________________________________________________________________________________E0, 0
+E1____________________________________________________________________________________________________E1, 4
+E2____________________________________________________________________________________________________E2, 0
+E3____________________________________________________________________________________________________E3, 4
+E4____________________________________________________________________________________________________E4, 0
+E5____________________________________________________________________________________________________E5, 4
+E6____________________________________________________________________________________________________E6, 0
+E7____________________________________________________________________________________________________E7, 4
+E8____________________________________________________________________________________________________E8, 0
+E9____________________________________________________________________________________________________E9, 4
+F0____________________________________________________________________________________________________F0, 0
+F1____________________________________________________________________________________________________F1, 4
+F2____________________________________________________________________________________________________F2, 0
+F3____________________________________________________________________________________________________F3, 4
+F4____________________________________________________________________________________________________F4, 0
+F5____________________________________________________________________________________________________F5, 4
+F6____________________________________________________________________________________________________F6, 0
+F7____________________________________________________________________________________________________F7, 4
+F8____________________________________________________________________________________________________F8, 0
+F9____________________________________________________________________________________________________F9, 4
+G0____________________________________________________________________________________________________G0, 0
+G1____________________________________________________________________________________________________G1, 4
+G2____________________________________________________________________________________________________G2, 0
+G3____________________________________________________________________________________________________G3, 4
+G4____________________________________________________________________________________________________G4, 0
+G5____________________________________________________________________________________________________G5, 4
+G6____________________________________________________________________________________________________G6, 0
+G7____________________________________________________________________________________________________G7, 4
+G8____________________________________________________________________________________________________G8, 0
+G9____________________________________________________________________________________________________G9, 4
+H0____________________________________________________________________________________________________H0, 0
+H1____________________________________________________________________________________________________H1, 4
+H2____________________________________________________________________________________________________H2, 0
+H3____________________________________________________________________________________________________H3, 4
+H4____________________________________________________________________________________________________H4, 0
+H5____________________________________________________________________________________________________H5, 4
+H6____________________________________________________________________________________________________H6, 0
+H7____________________________________________________________________________________________________H7, 4
+H8____________________________________________________________________________________________________H8, 0
+H9____________________________________________________________________________________________________H9, 4
+I0____________________________________________________________________________________________________I0, 0
+I1____________________________________________________________________________________________________I1, 4
+I2____________________________________________________________________________________________________I2, 0
+I3____________________________________________________________________________________________________I3, 4
+I4____________________________________________________________________________________________________I4, 0
+I5____________________________________________________________________________________________________I5, 4
+I6____________________________________________________________________________________________________I6, 0
+I7____________________________________________________________________________________________________I7, 4
+I8____________________________________________________________________________________________________I8, 0
+I9____________________________________________________________________________________________________I9, 4
+J0____________________________________________________________________________________________________J0, 0
+J1____________________________________________________________________________________________________J1, 4
+J2____________________________________________________________________________________________________J2, 0
+J3____________________________________________________________________________________________________J3, 4
+J4____________________________________________________________________________________________________J4, 0
+J5____________________________________________________________________________________________________J5, 4
+J6____________________________________________________________________________________________________J6, 0
+J7____________________________________________________________________________________________________J7, 4
+J8____________________________________________________________________________________________________J8, 0
+J9____________________________________________________________________________________________________J9, 4
+K0____________________________________________________________________________________________________K0, 0
+K1____________________________________________________________________________________________________K1, 4
+K2____________________________________________________________________________________________________K2, 0
+K3____________________________________________________________________________________________________K3, 4
+K4____________________________________________________________________________________________________K4, 0
+K5____________________________________________________________________________________________________K5, 4
+K6____________________________________________________________________________________________________K6, 0
+K7____________________________________________________________________________________________________K7, 4
+K8____________________________________________________________________________________________________K8, 0
+K9____________________________________________________________________________________________________K9, 4
+L0____________________________________________________________________________________________________L0, 0
+L1____________________________________________________________________________________________________L1, 4
+L2____________________________________________________________________________________________________L2, 0
+L3____________________________________________________________________________________________________L3, 4
+L4____________________________________________________________________________________________________L4, 0
+L5____________________________________________________________________________________________________L5, 4
+L6____________________________________________________________________________________________________L6, 0
+L7____________________________________________________________________________________________________L7, 4
+L8____________________________________________________________________________________________________L8, 0
+L9____________________________________________________________________________________________________L9, 4
+M0____________________________________________________________________________________________________M0, 0
+M1____________________________________________________________________________________________________M1, 4
+M2____________________________________________________________________________________________________M2, 0
+M3____________________________________________________________________________________________________M3, 4
+M4____________________________________________________________________________________________________M4, 0
+M5____________________________________________________________________________________________________M5, 4
+M6____________________________________________________________________________________________________M6, 0
+M7____________________________________________________________________________________________________M7, 4
+M8____________________________________________________________________________________________________M8, 0
+M9____________________________________________________________________________________________________M9, 4
+N0____________________________________________________________________________________________________N0, 0
+N1____________________________________________________________________________________________________N1, 4
+N2____________________________________________________________________________________________________N2, 0
+N3____________________________________________________________________________________________________N3, 4
+N4____________________________________________________________________________________________________N4, 0
+N5____________________________________________________________________________________________________N5, 4
+N6____________________________________________________________________________________________________N6, 0
+N7____________________________________________________________________________________________________N7, 4
+N8____________________________________________________________________________________________________N8, 0
+N9____________________________________________________________________________________________________N9, 4
+O0____________________________________________________________________________________________________O0, 0
+O1____________________________________________________________________________________________________O1, 4
+O2____________________________________________________________________________________________________O2, 0
+O3____________________________________________________________________________________________________O3, 4
+O4____________________________________________________________________________________________________O4, 0
+O5____________________________________________________________________________________________________O5, 4
+O6____________________________________________________________________________________________________O6, 0
+O7____________________________________________________________________________________________________O7, 4
+O8____________________________________________________________________________________________________O8, 0
+O9____________________________________________________________________________________________________O9, 4
+P0____________________________________________________________________________________________________P0, 0
+P1____________________________________________________________________________________________________P1, 4
+P2____________________________________________________________________________________________________P2, 0
+P3____________________________________________________________________________________________________P3, 4
+P4____________________________________________________________________________________________________P4, 0
+P5____________________________________________________________________________________________________P5, 4
+P6____________________________________________________________________________________________________P6, 0
+P7____________________________________________________________________________________________________P7, 4
+P8____________________________________________________________________________________________________P8, 0
+P9____________________________________________________________________________________________________P9, 4
+Q0____________________________________________________________________________________________________Q0, 0
+Q1____________________________________________________________________________________________________Q1, 4
+Q2____________________________________________________________________________________________________Q2, 0
+Q3____________________________________________________________________________________________________Q3, 4
+Q4____________________________________________________________________________________________________Q4, 0
+Q5____________________________________________________________________________________________________Q5, 4
+Q6____________________________________________________________________________________________________Q6, 0
+Q7____________________________________________________________________________________________________Q7, 4
+Q8____________________________________________________________________________________________________Q8, 0
+Q9____________________________________________________________________________________________________Q9, 4
+R0____________________________________________________________________________________________________R0, 0
+R1____________________________________________________________________________________________________R1, 4
+R2____________________________________________________________________________________________________R2, 0
+R3____________________________________________________________________________________________________R3, 4
+R4____________________________________________________________________________________________________R4, 0
+R5____________________________________________________________________________________________________R5, 4
+R6____________________________________________________________________________________________________R6, 0
+R7____________________________________________________________________________________________________R7, 4
+R8____________________________________________________________________________________________________R8, 0
+R9____________________________________________________________________________________________________R9, 4
+S0____________________________________________________________________________________________________S0, 0
+S1____________________________________________________________________________________________________S1, 4
+S2____________________________________________________________________________________________________S2, 0
+S3____________________________________________________________________________________________________S3, 4
+S4____________________________________________________________________________________________________S4, 0
+S5____________________________________________________________________________________________________S5, 4
+S6____________________________________________________________________________________________________S6, 0
+S7____________________________________________________________________________________________________S7, 4
+S8____________________________________________________________________________________________________S8, 0
+S9____________________________________________________________________________________________________S9, 4
+T0____________________________________________________________________________________________________T0, 0
+T1____________________________________________________________________________________________________T1, 4
+T2____________________________________________________________________________________________________T2, 0
+T3____________________________________________________________________________________________________T3, 4
+T4____________________________________________________________________________________________________T4, 0
+T5____________________________________________________________________________________________________T5, 4
+T6____________________________________________________________________________________________________T6, 0
+T7____________________________________________________________________________________________________T7, 4
+T8____________________________________________________________________________________________________T8, 0
+T9____________________________________________________________________________________________________T9, 4
+U0____________________________________________________________________________________________________U0, 0
+U1____________________________________________________________________________________________________U1, 4
+U2____________________________________________________________________________________________________U2, 0
+U3____________________________________________________________________________________________________U3, 4
+U4____________________________________________________________________________________________________U4, 0
+U5____________________________________________________________________________________________________U5, 4
+U6____________________________________________________________________________________________________U6, 0
+U7____________________________________________________________________________________________________U7, 4
+U8____________________________________________________________________________________________________U8, 0
+U9____________________________________________________________________________________________________U9, 4
+V0____________________________________________________________________________________________________V0, 0
+V1____________________________________________________________________________________________________V1, 4
+V2____________________________________________________________________________________________________V2, 0
+V3____________________________________________________________________________________________________V3, 4
+V4____________________________________________________________________________________________________V4, 0
+V5____________________________________________________________________________________________________V5, 4
+V6____________________________________________________________________________________________________V6, 0
+V7____________________________________________________________________________________________________V7, 4
+V8____________________________________________________________________________________________________V8, 0
+V9____________________________________________________________________________________________________V9, 4
+W0____________________________________________________________________________________________________W0, 0
+W1____________________________________________________________________________________________________W1, 4
+W2____________________________________________________________________________________________________W2, 0
+W3____________________________________________________________________________________________________W3, 4
+W4____________________________________________________________________________________________________W4, 0
+W5____________________________________________________________________________________________________W5, 4
+W6____________________________________________________________________________________________________W6, 0
+W7____________________________________________________________________________________________________W7, 4
+W8____________________________________________________________________________________________________W8, 0
+W9____________________________________________________________________________________________________W9, 4
+X0____________________________________________________________________________________________________X0, 0
+X1____________________________________________________________________________________________________X1, 4
+X2____________________________________________________________________________________________________X2, 0
+X3____________________________________________________________________________________________________X3, 4
+X4____________________________________________________________________________________________________X4, 0
+X5____________________________________________________________________________________________________X5, 4
+X6____________________________________________________________________________________________________X6, 0
+X7____________________________________________________________________________________________________X7, 4
+X8____________________________________________________________________________________________________X8, 0
+X9____________________________________________________________________________________________________X9, 4
+Y0____________________________________________________________________________________________________Y0, 0
+Y1____________________________________________________________________________________________________Y1, 4
+Y2____________________________________________________________________________________________________Y2, 0
+Y3____________________________________________________________________________________________________Y3, 4
+Y4____________________________________________________________________________________________________Y4, 0
+Y5____________________________________________________________________________________________________Y5, 4
+Y6____________________________________________________________________________________________________Y6, 0
+Y7____________________________________________________________________________________________________Y7, 4
+Y8____________________________________________________________________________________________________Y8, 0
+Y9____________________________________________________________________________________________________Y9, 4
+Z0____________________________________________________________________________________________________Z0, 0
+Z1____________________________________________________________________________________________________Z1, 4
+Z2____________________________________________________________________________________________________Z2, 0
+Z3____________________________________________________________________________________________________Z3, 4
+Z4____________________________________________________________________________________________________Z4, 0
+Z5____________________________________________________________________________________________________Z5, 4
+Z6____________________________________________________________________________________________________Z6, 0
+Z7____________________________________________________________________________________________________Z7, 4
+Z8____________________________________________________________________________________________________Z8, 0
+Z9____________________________________________________________________________________________________Z9, 4
+%%
diff --git a/src/net/base/registry_controlled_domains/effective_tld_names_unittest5.gperf b/src/net/base/registry_controlled_domains/effective_tld_names_unittest5.gperf
new file mode 100644
index 0000000..ea7e604
--- /dev/null
+++ b/src/net/base/registry_controlled_domains/effective_tld_names_unittest5.gperf
@@ -0,0 +1,9 @@
+This file is for testing joined prefixes
+%%
+ai, 0
+bj, 4
+aak, 0
+bbl, 4
+aaaam, 0
+bbbbn, 0
+%%
diff --git a/src/net/base/registry_controlled_domains/effective_tld_names_unittest6.gperf b/src/net/base/registry_controlled_domains/effective_tld_names_unittest6.gperf
new file mode 100644
index 0000000..667d798
--- /dev/null
+++ b/src/net/base/registry_controlled_domains/effective_tld_names_unittest6.gperf
@@ -0,0 +1,9 @@
+This file is for testing joined suffixes
+%%
+ia, 0
+jb, 4
+kaa, 0
+lbb, 4
+maaaa, 0
+nbbbb, 0
+%%
diff --git a/src/net/base/registry_controlled_domains/get_domain_and_registry_fuzzer.cc b/src/net/base/registry_controlled_domains/get_domain_and_registry_fuzzer.cc
new file mode 100644
index 0000000..e71c7dc
--- /dev/null
+++ b/src/net/base/registry_controlled_domains/get_domain_and_registry_fuzzer.cc
@@ -0,0 +1,25 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include <stddef.h>
+#include <stdint.h>
+
+#include "base/strings/string_piece.h"
+#include "net/base/registry_controlled_domains/registry_controlled_domain.h"
+#include "url/gurl.h"
+
+// Entry point for LibFuzzer.
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
+  // Call GetDomainAndRegistry() twice - once with each filter type to ensure
+  // both code paths are exercised.
+  net::registry_controlled_domains::GetDomainAndRegistry(
+      base::StringPiece(reinterpret_cast<const char*>(data), size),
+      net::registry_controlled_domains::INCLUDE_PRIVATE_REGISTRIES);
+
+  net::registry_controlled_domains::GetDomainAndRegistry(
+      base::StringPiece(reinterpret_cast<const char*>(data), size),
+      net::registry_controlled_domains::EXCLUDE_PRIVATE_REGISTRIES);
+
+  return 0;
+}
diff --git a/src/net/base/registry_controlled_domains/registry_controlled_domain.cc b/src/net/base/registry_controlled_domains/registry_controlled_domain.cc
new file mode 100644
index 0000000..3777582
--- /dev/null
+++ b/src/net/base/registry_controlled_domains/registry_controlled_domain.cc
@@ -0,0 +1,450 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// NB: Modelled after Mozilla's code (originally written by Pamela Greene,
+// later modified by others), but almost entirely rewritten for Chrome.
+//   (netwerk/dns/src/nsEffectiveTLDService.cpp)
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is Mozilla Effective-TLD Service
+ *
+ * The Initial Developer of the Original Code is
+ * Google Inc.
+ * Portions created by the Initial Developer are Copyright (C) 2006
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *   Pamela Greene <pamg.bugs@gmail.com> (original author)
+ *   Daniel Witte <dwitte@stanford.edu>
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+#include "net/base/registry_controlled_domains/registry_controlled_domain.h"
+
+#include "base/logging.h"
+#include "base/strings/string_util.h"
+#include "base/strings/utf_string_conversions.h"
+#include "net/base/lookup_string_in_fixed_set.h"
+#include "net/base/net_module.h"
+#include "net/base/url_util.h"
+#include "url/gurl.h"
+#include "url/origin.h"
+#include "url/third_party/mozilla/url_parse.h"
+#include "url/url_util.h"
+
+namespace net {
+namespace registry_controlled_domains {
+
+namespace {
+#include "net/base/registry_controlled_domains/effective_tld_names-inc.cc"
+
+// See make_dafsa.py for documentation of the generated dafsa byte array.
+
+const unsigned char* g_graph = kDafsa;
+size_t g_graph_length = sizeof(kDafsa);
+
+struct MappedHostComponent {
+  size_t original_begin;
+  size_t original_end;
+
+  size_t canonical_begin;
+  size_t canonical_end;
+};
+
+size_t GetRegistryLengthImpl(base::StringPiece host,
+                             UnknownRegistryFilter unknown_filter,
+                             PrivateRegistryFilter private_filter) {
+  if (host.empty())
+    return std::string::npos;
+
+  // Skip leading dots.
+  const size_t host_check_begin = host.find_first_not_of('.');
+  if (host_check_begin == std::string::npos)
+    return 0;  // Host is only dots.
+
+  // A single trailing dot isn't relevant in this determination, but does need
+  // to be included in the final returned length.
+  size_t host_check_len = host.length();
+  if (host[host_check_len - 1] == '.') {
+    --host_check_len;
+    DCHECK(host_check_len > 0);  // If this weren't true, the host would be ".",
+                                 // and we'd have already returned above.
+    if (host[host_check_len - 1] == '.')
+      return 0;  // Multiple trailing dots.
+  }
+
+  // Walk up the domain tree, most specific to least specific,
+  // looking for matches at each level.
+  size_t prev_start = std::string::npos;
+  size_t curr_start = host_check_begin;
+  size_t next_dot = host.find('.', curr_start);
+  if (next_dot >= host_check_len)  // Catches std::string::npos as well.
+    return 0;  // This can't have a registry + domain.
+  while (1) {
+    const char* domain_str = host.data() + curr_start;
+    size_t domain_length = host_check_len - curr_start;
+    int type = LookupStringInFixedSet(g_graph, g_graph_length, domain_str,
+                                      domain_length);
+    bool do_check = type != kDafsaNotFound &&
+                    (!(type & kDafsaPrivateRule) ||
+                     private_filter == INCLUDE_PRIVATE_REGISTRIES);
+
+    // If the apparent match is a private registry and we're not including
+    // those, it can't be an actual match.
+    if (do_check) {
+      // Exception rules override wildcard rules when the domain is an exact
+      // match, but wildcards take precedence when there's a subdomain.
+      if (type & kDafsaWildcardRule && (prev_start != std::string::npos)) {
+        // If prev_start == host_check_begin, then the host is the registry
+        // itself, so return 0.
+        return (prev_start == host_check_begin) ? 0
+                                                : (host.length() - prev_start);
+      }
+
+      if (type & kDafsaExceptionRule) {
+        if (next_dot == std::string::npos) {
+          // If we get here, we had an exception rule with no dots (e.g.
+          // "!foo").  This would only be valid if we had a corresponding
+          // wildcard rule, which would have to be "*".  But we explicitly
+          // disallow that case, so this kind of rule is invalid.
+          NOTREACHED() << "Invalid exception rule";
+          return 0;
+        }
+        return host.length() - next_dot - 1;
+      }
+
+      // If curr_start == host_check_begin, then the host is the registry
+      // itself, so return 0.
+      return (curr_start == host_check_begin) ? 0
+                                              : (host.length() - curr_start);
+    }
+
+    if (next_dot >= host_check_len)  // Catches std::string::npos as well.
+      break;
+
+    prev_start = curr_start;
+    curr_start = next_dot + 1;
+    next_dot = host.find('.', curr_start);
+  }
+
+  // No rule found in the registry.  curr_start now points to the first
+  // character of the last subcomponent of the host, so if we allow unknown
+  // registries, return the length of this subcomponent.
+  return unknown_filter == INCLUDE_UNKNOWN_REGISTRIES ?
+      (host.length() - curr_start) : 0;
+}
+
+base::StringPiece GetDomainAndRegistryImpl(
+    base::StringPiece host,
+    PrivateRegistryFilter private_filter) {
+  DCHECK(!host.empty());
+
+  // Find the length of the registry for this host.
+  const size_t registry_length =
+      GetRegistryLengthImpl(host, INCLUDE_UNKNOWN_REGISTRIES, private_filter);
+  if ((registry_length == std::string::npos) || (registry_length == 0))
+    return base::StringPiece();  // No registry.
+  // The "2" in this next line is 1 for the dot, plus a 1-char minimum preceding
+  // subcomponent length.
+  DCHECK(host.length() >= 2);
+  if (registry_length > (host.length() - 2)) {
+    NOTREACHED() <<
+        "Host does not have at least one subcomponent before registry!";
+    return base::StringPiece();
+  }
+
+  // Move past the dot preceding the registry, and search for the next previous
+  // dot.  Return the host from after that dot, or the whole host when there is
+  // no dot.
+  const size_t dot = host.rfind('.', host.length() - registry_length - 2);
+  if (dot == std::string::npos)
+    return host;
+  return host.substr(dot + 1);
+}
+
+// Same as GetDomainAndRegistry, but returns the domain and registry as a
+// StringPiece that references the underlying string of the passed-in |gurl|.
+// TODO(pkalinnikov): Eliminate this helper by exposing StringPiece as the
+// interface type for all the APIs.
+base::StringPiece GetDomainAndRegistryAsStringPiece(
+    base::StringPiece host,
+    PrivateRegistryFilter filter) {
+  if (host.empty() || url::HostIsIPAddress(host))
+    return base::StringPiece();
+  return GetDomainAndRegistryImpl(host, filter);
+}
+
+// These two functions append the given string as-is to the given output,
+// converting to UTF-8 if necessary.
+void AppendInvalidString(base::StringPiece str, url::CanonOutput* output) {
+  output->Append(str.data(), static_cast<int>(str.length()));
+}
+void AppendInvalidString(base::StringPiece16 str, url::CanonOutput* output) {
+  std::string utf8 = base::UTF16ToUTF8(str);
+  output->Append(utf8.data(), static_cast<int>(utf8.length()));
+}
+
+// Backend for PermissiveGetHostRegistryLength that handles both UTF-8 and
+// UTF-16 input. The template type is the std::string type to use (it makes the
+// typedefs easier than using the character type).
+template <typename Str>
+size_t DoPermissiveGetHostRegistryLength(base::BasicStringPiece<Str> host,
+                                         UnknownRegistryFilter unknown_filter,
+                                         PrivateRegistryFilter private_filter) {
+  std::string canonical_host;  // Do not modify outside of canon_output.
+  canonical_host.reserve(host.length());
+  url::StdStringCanonOutput canon_output(&canonical_host);
+
+  std::vector<MappedHostComponent> components;
+
+  for (size_t current = 0; current < host.length(); current++) {
+    size_t begin = current;
+
+    // Advance to next "." or end.
+    current = host.find('.', begin);
+    if (current == std::string::npos)
+      current = host.length();
+
+    MappedHostComponent mapping;
+    mapping.original_begin = begin;
+    mapping.original_end = current;
+    mapping.canonical_begin = static_cast<size_t>(canon_output.length());
+
+    // Try to append the canonicalized version of this component.
+    int current_len = static_cast<int>(current - begin);
+    if (!url::CanonicalizeHostSubstring(
+            host.data(), url::Component(static_cast<int>(begin), current_len),
+            &canon_output)) {
+      // Failed to canonicalize this component; append as-is.
+      AppendInvalidString(host.substr(begin, current_len), &canon_output);
+    }
+
+    mapping.canonical_end = static_cast<size_t>(canon_output.length());
+    components.push_back(mapping);
+
+    if (current < host.length())
+      canon_output.push_back('.');
+  }
+  canon_output.Complete();
+
+  size_t canonical_rcd_len =
+      GetRegistryLengthImpl(canonical_host, unknown_filter, private_filter);
+  if (canonical_rcd_len == 0 || canonical_rcd_len == std::string::npos)
+    return canonical_rcd_len;  // Error or no registry controlled domain.
+
+  // Find which host component the result started in.
+  size_t canonical_rcd_begin = canonical_host.length() - canonical_rcd_len;
+  for (const auto& mapping : components) {
+    // In the common case, GetRegistryLengthImpl will identify the beginning
+    // of a component and we can just return where that component was in the
+    // original string.
+    if (canonical_rcd_begin == mapping.canonical_begin)
+      return host.length() - mapping.original_begin;
+
+    if (canonical_rcd_begin >= mapping.canonical_end)
+      continue;
+
+    // The registry controlled domain begin was identified as being in the
+    // middle of this dot-separated domain component in the non-canonical
+    // input. This indicates some form of escaped dot, or a non-ASCII
+    // character that was canonicalized to a dot.
+    //
+    // Brute-force search from the end by repeatedly canonicalizing longer
+    // substrings until we get a match for the canonicalized version. This
+    // can't be done with binary search because canonicalization might increase
+    // or decrease the length of the produced string depending on where it's
+    // split. This depends on the canonicalization process not changing the
+    // order of the characters. Punycode can change the order of characters,
+    // but it doesn't work across dots so this is safe.
+
+    // Expected canonical registry controlled domain.
+    base::StringPiece canonical_rcd(&canonical_host[canonical_rcd_begin],
+                                    canonical_rcd_len);
+
+    for (int current_try = static_cast<int>(mapping.original_end) - 1;
+         current_try >= static_cast<int>(mapping.original_begin);
+         current_try--) {
+      std::string try_string;
+      url::StdStringCanonOutput try_output(&try_string);
+
+      if (!url::CanonicalizeHostSubstring(
+              host.data(),
+              url::Component(
+                  current_try,
+                  static_cast<int>(mapping.original_end) - current_try),
+              &try_output))
+        continue;  // Invalid substring, skip.
+
+      try_output.Complete();
+      if (try_string == canonical_rcd)
+        return host.length() - current_try;
+    }
+  }
+
+  NOTREACHED();
+  return canonical_rcd_len;
+}
+
+bool SameDomainOrHost(base::StringPiece host1,
+                      base::StringPiece host2,
+                      PrivateRegistryFilter filter) {
+  // Quickly reject cases where either host is empty.
+  if (host1.empty() || host2.empty())
+    return false;
+
+  // Check for exact host matches, which is faster than looking up the domain
+  // and registry.
+  if (host1 == host2)
+    return true;
+
+  // Check for a domain and registry match.
+  const base::StringPiece& domain1 =
+      GetDomainAndRegistryAsStringPiece(host1, filter);
+  return !domain1.empty() &&
+         (domain1 == GetDomainAndRegistryAsStringPiece(host2, filter));
+}
+
+}  // namespace
+
+std::string GetDomainAndRegistry(const GURL& gurl,
+                                 PrivateRegistryFilter filter) {
+  return GetDomainAndRegistryAsStringPiece(gurl.host_piece(), filter)
+      .as_string();
+}
+
+std::string GetDomainAndRegistry(base::StringPiece host,
+                                 PrivateRegistryFilter filter) {
+  url::CanonHostInfo host_info;
+  const std::string canon_host(CanonicalizeHost(host, &host_info));
+  if (canon_host.empty() || host_info.IsIPAddress())
+    return std::string();
+  return GetDomainAndRegistryImpl(canon_host, filter).as_string();
+}
+
+bool SameDomainOrHost(
+    const GURL& gurl1,
+    const GURL& gurl2,
+    PrivateRegistryFilter filter) {
+  return SameDomainOrHost(gurl1.host_piece(), gurl2.host_piece(), filter);
+}
+
+bool SameDomainOrHost(const url::Origin& origin1,
+                      const url::Origin& origin2,
+                      PrivateRegistryFilter filter) {
+  return SameDomainOrHost(origin1.host(), origin2.host(), filter);
+}
+
+bool SameDomainOrHost(const url::Origin& origin1,
+                      const base::Optional<url::Origin>& origin2,
+                      PrivateRegistryFilter filter) {
+  return origin2.has_value() &&
+         SameDomainOrHost(origin1, origin2.value(), filter);
+}
+
+bool SameDomainOrHost(const GURL& gurl,
+                      const url::Origin& origin,
+                      PrivateRegistryFilter filter) {
+  return SameDomainOrHost(gurl.host_piece(), origin.host(), filter);
+}
+
+size_t GetRegistryLength(
+    const GURL& gurl,
+    UnknownRegistryFilter unknown_filter,
+    PrivateRegistryFilter private_filter) {
+  return GetRegistryLengthImpl(gurl.host_piece(), unknown_filter,
+                               private_filter);
+}
+
+bool HostHasRegistryControlledDomain(base::StringPiece host,
+                                     UnknownRegistryFilter unknown_filter,
+                                     PrivateRegistryFilter private_filter) {
+  url::CanonHostInfo host_info;
+  const std::string canon_host(CanonicalizeHost(host, &host_info));
+
+  size_t rcd_length;
+  switch (host_info.family) {
+    case url::CanonHostInfo::IPV4:
+    case url::CanonHostInfo::IPV6:
+      // IP addresses don't have R.C.D.'s.
+      return false;
+    case url::CanonHostInfo::BROKEN:
+      // Host is not canonicalizable. Fall back to the slower "permissive"
+      // version.
+      rcd_length =
+          PermissiveGetHostRegistryLength(host, unknown_filter, private_filter);
+      break;
+    case url::CanonHostInfo::NEUTRAL:
+      rcd_length =
+          GetRegistryLengthImpl(canon_host, unknown_filter, private_filter);
+      break;
+    default:
+      NOTREACHED();
+      return false;
+  }
+  return (rcd_length != 0) && (rcd_length != std::string::npos);
+}
+
+size_t GetCanonicalHostRegistryLength(base::StringPiece canon_host,
+                                      UnknownRegistryFilter unknown_filter,
+                                      PrivateRegistryFilter private_filter) {
+#ifndef NDEBUG
+  // Ensure passed-in host name is canonical.
+  url::CanonHostInfo host_info;
+  DCHECK_EQ(net::CanonicalizeHost(canon_host, &host_info), canon_host);
+#endif
+
+  return GetRegistryLengthImpl(canon_host, unknown_filter, private_filter);
+}
+
+size_t PermissiveGetHostRegistryLength(base::StringPiece host,
+                                       UnknownRegistryFilter unknown_filter,
+                                       PrivateRegistryFilter private_filter) {
+  return DoPermissiveGetHostRegistryLength<std::string>(host, unknown_filter,
+                                                        private_filter);
+}
+
+size_t PermissiveGetHostRegistryLength(base::StringPiece16 host,
+                                       UnknownRegistryFilter unknown_filter,
+                                       PrivateRegistryFilter private_filter) {
+  return DoPermissiveGetHostRegistryLength<base::string16>(host, unknown_filter,
+                                                           private_filter);
+}
+
+void SetFindDomainGraph() {
+  g_graph = kDafsa;
+  g_graph_length = sizeof(kDafsa);
+}
+
+void SetFindDomainGraph(const unsigned char* domains, size_t length) {
+  CHECK(domains);
+  CHECK_NE(length, 0u);
+  g_graph = domains;
+  g_graph_length = length;
+}
+
+}  // namespace registry_controlled_domains
+}  // namespace net
diff --git a/src/net/base/registry_controlled_domains/registry_controlled_domain.h b/src/net/base/registry_controlled_domains/registry_controlled_domain.h
new file mode 100644
index 0000000..9f3101a
--- /dev/null
+++ b/src/net/base/registry_controlled_domains/registry_controlled_domain.h
@@ -0,0 +1,303 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// NB: Modelled after Mozilla's code (originally written by Pamela Greene,
+// later modified by others), but almost entirely rewritten for Chrome.
+//   (netwerk/dns/src/nsEffectiveTLDService.h)
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is Mozilla TLD Service
+ *
+ * The Initial Developer of the Original Code is
+ * Google Inc.
+ * Portions created by the Initial Developer are Copyright (C) 2006
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *   Pamela Greene <pamg.bugs@gmail.com> (original author)
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+/*
+  (Documentation based on the Mozilla documentation currently at
+  http://wiki.mozilla.org/Gecko:Effective_TLD_Service, written by the same
+  author.)
+
+  The RegistryControlledDomainService examines the hostname of a GURL passed to
+  it and determines the longest portion that is controlled by a registrar.
+  Although technically the top-level domain (TLD) for a hostname is the last
+  dot-portion of the name (such as .com or .org), many domains (such as co.uk)
+  function as though they were TLDs, allocating any number of more specific,
+  essentially unrelated names beneath them.  For example, .uk is a TLD, but
+  nobody is allowed to register a domain directly under .uk; the "effective"
+  TLDs are ac.uk, co.uk, and so on.  We wouldn't want to allow any site in
+  *.co.uk to set a cookie for the entire co.uk domain, so it's important to be
+  able to identify which higher-level domains function as effective TLDs and
+  which can be registered.
+
+  The service obtains its information about effective TLDs from a text resource
+  that must be in the following format:
+
+  * It should use plain ASCII.
+  * It should contain one domain rule per line, terminated with \n, with nothing
+    else on the line.  (The last rule in the file may omit the ending \n.)
+  * Rules should have been normalized using the same canonicalization that GURL
+    applies.  For ASCII, that means they're not case-sensitive, among other
+    things; other normalizations are applied for other characters.
+  * Each rule should list the entire TLD-like domain name, with any subdomain
+    portions separated by dots (.) as usual.
+  * Rules should neither begin nor end with a dot.
+  * If a hostname matches more than one rule, the most specific rule (that is,
+    the one with more dot-levels) will be used.
+  * Other than in the case of wildcards (see below), rules do not implicitly
+    include their subcomponents.  For example, "bar.baz.uk" does not imply
+    "baz.uk", and if "bar.baz.uk" is the only rule in the list, "foo.bar.baz.uk"
+    will match, but "baz.uk" and "qux.baz.uk" won't.
+  * The wildcard character '*' will match any valid sequence of characters.
+  * Wildcards may only appear as the entire most specific level of a rule.  That
+    is, a wildcard must come at the beginning of a line and must be followed by
+    a dot.  (You may not use a wildcard as the entire rule.)
+  * A wildcard rule implies a rule for the entire non-wildcard portion.  For
+    example, the rule "*.foo.bar" implies the rule "foo.bar" (but not the rule
+    "bar").  This is typically important in the case of exceptions (see below).
+  * The exception character '!' before a rule marks an exception to a wildcard
+    rule.  If your rules are "*.tokyo.jp" and "!pref.tokyo.jp", then
+    "a.b.tokyo.jp" has an effective TLD of "b.tokyo.jp", but "a.pref.tokyo.jp"
+    has an effective TLD of "tokyo.jp" (the exception prevents the wildcard
+    match, and we thus fall through to matching on the implied "tokyo.jp" rule
+    from the wildcard).
+  * If you use an exception rule without a corresponding wildcard rule, the
+    behavior is undefined.
+
+  Firefox has a very similar service, and it's their data file we use to
+  construct our resource.  However, the data expected by this implementation
+  differs from the Mozilla file in several important ways:
+   (1) We require that all single-level TLDs (com, edu, etc.) be explicitly
+       listed.  As of this writing, Mozilla's file includes the single-level
+       TLDs too, but that might change.
+   (2) Our data is expected be in pure ASCII: all UTF-8 or otherwise encoded
+       items must already have been normalized.
+   (3) We do not allow comments, rule notes, blank lines, or line endings other
+       than LF.
+  Rules are also expected to be syntactically valid.
+
+  The utility application tld_cleanup.exe converts a Mozilla-style file into a
+  Chrome one, making sure that single-level TLDs are explicitly listed, using
+  GURL to normalize rules, and validating the rules.
+*/
+
+#ifndef NET_BASE_REGISTRY_CONTROLLED_DOMAINS_REGISTRY_CONTROLLED_DOMAIN_H_
+#define NET_BASE_REGISTRY_CONTROLLED_DOMAINS_REGISTRY_CONTROLLED_DOMAIN_H_
+
+#include <stddef.h>
+
+#include <string>
+
+#include "base/optional.h"
+#include "base/strings/string_piece.h"
+#include "net/base/net_export.h"
+
+class GURL;
+
+namespace url {
+class Origin;
+};
+
+struct DomainRule;
+
+namespace net {
+namespace registry_controlled_domains {
+
+// This enum is a required parameter to all public methods declared for this
+// service. The Public Suffix List (http://publicsuffix.org/) this service
+// uses as a data source splits all effective-TLDs into two groups. The main
+// group describes registries that are acknowledged by ICANN. The second group
+// contains a list of private additions for domains that enable external users
+// to create subdomains, such as appspot.com.
+// The RegistryFilter enum lets you choose whether you want to include the
+// private additions in your lookup.
+// See this for example use cases:
+// https://wiki.mozilla.org/Public_Suffix_List/Use_Cases
+enum PrivateRegistryFilter {
+  EXCLUDE_PRIVATE_REGISTRIES = 0,
+  INCLUDE_PRIVATE_REGISTRIES
+};
+
+// This enum is a required parameter to the GetRegistryLength functions
+// declared for this service. Whenever there is no matching rule in the
+// effective-TLD data (or in the default data, if the resource failed to
+// load), the result will be dependent on which enum value was passed in.
+// If EXCLUDE_UNKNOWN_REGISTRIES was passed in, the resulting registry length
+// will be 0. If INCLUDE_UNKNOWN_REGISTRIES was passed in, the resulting
+// registry length will be the length of the last subcomponent (eg. 3 for
+// foobar.baz).
+enum UnknownRegistryFilter {
+  EXCLUDE_UNKNOWN_REGISTRIES = 0,
+  INCLUDE_UNKNOWN_REGISTRIES
+};
+
+// Returns the registered, organization-identifying host and all its registry
+// information, but no subdomains, from the given GURL.  Returns an empty
+// string if the GURL is invalid, has no host (e.g. a file: URL), has multiple
+// trailing dots, is an IP address, has only one subcomponent (i.e. no dots
+// other than leading/trailing ones), or is itself a recognized registry
+// identifier.  If no matching rule is found in the effective-TLD data (or in
+// the default data, if the resource failed to load), the last subcomponent of
+// the host is assumed to be the registry.
+//
+// Examples:
+//   http://www.google.com/file.html -> "google.com"  (com)
+//   http://..google.com/file.html   -> "google.com"  (com)
+//   http://google.com./file.html    -> "google.com." (com)
+//   http://a.b.co.uk/file.html      -> "b.co.uk"     (co.uk)
+//   file:///C:/bar.html             -> ""            (no host)
+//   http://foo.com../file.html      -> ""            (multiple trailing dots)
+//   http://192.168.0.1/file.html    -> ""            (IP address)
+//   http://bar/file.html            -> ""            (no subcomponents)
+//   http://co.uk/file.html          -> ""            (host is a registry)
+//   http://foo.bar/file.html        -> "foo.bar"     (no rule; assume bar)
+NET_EXPORT std::string GetDomainAndRegistry(const GURL& gurl,
+                                            PrivateRegistryFilter filter);
+
+// Like the GURL version, but takes a host (which is canonicalized internally)
+// instead of a full GURL.
+NET_EXPORT std::string GetDomainAndRegistry(base::StringPiece host,
+                                            PrivateRegistryFilter filter);
+
+// These convenience functions return true if the two GURLs or Origins both have
+// hosts and one of the following is true:
+// * The hosts are identical.
+// * They each have a known domain and registry, and it is the same for both
+//   URLs.  Note that this means the trailing dot, if any, must match too.
+// Effectively, callers can use this function to check whether the input URLs
+// represent hosts "on the same site".
+NET_EXPORT bool SameDomainOrHost(const GURL& gurl1, const GURL& gurl2,
+                                 PrivateRegistryFilter filter);
+NET_EXPORT bool SameDomainOrHost(const url::Origin& origin1,
+                                 const url::Origin& origin2,
+                                 PrivateRegistryFilter filter);
+// Note: this returns false if |origin2| is not set.
+NET_EXPORT bool SameDomainOrHost(const url::Origin& origin1,
+                                 const base::Optional<url::Origin>& origin2,
+                                 PrivateRegistryFilter filter);
+NET_EXPORT bool SameDomainOrHost(const GURL& gurl,
+                                 const url::Origin& origin,
+                                 PrivateRegistryFilter filter);
+
+// Finds the length in bytes of the registrar portion of the host in the
+// given GURL.  Returns std::string::npos if the GURL is invalid or has no
+// host (e.g. a file: URL).  Returns 0 if the GURL has multiple trailing dots,
+// is an IP address, has no subcomponents, or is itself a recognized registry
+// identifier.  The result is also dependent on the UnknownRegistryFilter.
+// If no matching rule is found in the effective-TLD data (or in
+// the default data, if the resource failed to load), returns 0 if
+// |unknown_filter| is EXCLUDE_UNKNOWN_REGISTRIES, or the length of the last
+// subcomponent if |unknown_filter| is INCLUDE_UNKNOWN_REGISTRIES.
+//
+// Examples:
+//   http://www.google.com/file.html -> 3                 (com)
+//   http://..google.com/file.html   -> 3                 (com)
+//   http://google.com./file.html    -> 4                 (com)
+//   http://a.b.co.uk/file.html      -> 5                 (co.uk)
+//   file:///C:/bar.html             -> std::string::npos (no host)
+//   http://foo.com../file.html      -> 0                 (multiple trailing
+//                                                         dots)
+//   http://192.168.0.1/file.html    -> 0                 (IP address)
+//   http://bar/file.html            -> 0                 (no subcomponents)
+//   http://co.uk/file.html          -> 0                 (host is a registry)
+//   http://foo.bar/file.html        -> 0 or 3, depending (no rule; assume
+//                                                         bar)
+NET_EXPORT size_t GetRegistryLength(const GURL& gurl,
+                                    UnknownRegistryFilter unknown_filter,
+                                    PrivateRegistryFilter private_filter);
+
+// Returns true if the given host name has a registry-controlled domain. The
+// host name will be internally canonicalized. Also returns true for invalid
+// host names like "*.google.com" as long as it has a valid registry-controlled
+// portion (see PermissiveGetHostRegistryLength for particulars).
+NET_EXPORT bool HostHasRegistryControlledDomain(
+    base::StringPiece host,
+    UnknownRegistryFilter unknown_filter,
+    PrivateRegistryFilter private_filter);
+
+// Like GetRegistryLength, but takes a previously-canonicalized host instead of
+// a GURL. Prefer the GURL version or HasRegistryControlledDomain to eliminate
+// the possibility of bugs with non-canonical hosts.
+//
+// If you have a non-canonical host name, use the "Permissive" version instead.
+NET_EXPORT size_t
+GetCanonicalHostRegistryLength(base::StringPiece canon_host,
+                               UnknownRegistryFilter unknown_filter,
+                               PrivateRegistryFilter private_filter);
+
+// Like GetRegistryLength for a potentially non-canonicalized hostname.  This
+// splits the input into substrings at '.' characters, then attempts to
+// piecewise-canonicalize the substrings. After finding the registry length of
+// the concatenated piecewise string, it then maps back to the corresponding
+// length in the original input string.
+//
+// It will also handle hostnames that are otherwise invalid as long as they
+// contain a valid registry controlled domain at the end. Invalid dot-separated
+// portions of the domain will be left as-is when the string is looked up in
+// the registry database (which will result in no match).
+//
+// This will handle all cases except for the pattern:
+//   <invalid-host-chars> <non-literal-dot> <valid-registry-controlled-domain>
+// For example:
+//   "%00foo%2Ecom" (would canonicalize to "foo.com" if the "%00" was removed)
+// A non-literal dot (like "%2E" or a fullwidth period) will normally get
+// canonicalized to a dot if the host chars were valid. But since the %2E will
+// be in the same substring as the %00, the substring will fail to
+// canonicalize, the %2E will be left escaped, and the valid registry
+// controlled domain at the end won't match.
+//
+// The string won't be trimmed, so things like trailing spaces will be
+// considered part of the host and therefore won't match any TLD. It will
+// return std::string::npos like GetRegistryLength() for empty input, but
+// because invalid portions are skipped, it won't return npos in any other case.
+NET_EXPORT size_t
+PermissiveGetHostRegistryLength(base::StringPiece host,
+                                UnknownRegistryFilter unknown_filter,
+                                PrivateRegistryFilter private_filter);
+NET_EXPORT size_t
+PermissiveGetHostRegistryLength(base::StringPiece16 host,
+                                UnknownRegistryFilter unknown_filter,
+                                PrivateRegistryFilter private_filter);
+
+typedef const struct DomainRule* (*FindDomainPtr)(const char *, unsigned int);
+
+// Used for unit tests. Use default domains.
+NET_EXPORT_PRIVATE void SetFindDomainGraph();
+
+// Used for unit tests, so that a frozen list of domains is used.
+NET_EXPORT_PRIVATE void SetFindDomainGraph(const unsigned char* domains,
+                                           size_t length);
+
+}  // namespace registry_controlled_domains
+}  // namespace net
+
+#endif  // NET_BASE_REGISTRY_CONTROLLED_DOMAINS_REGISTRY_CONTROLLED_DOMAIN_H_
diff --git a/src/net/base/registry_controlled_domains/registry_controlled_domain_unittest.cc b/src/net/base/registry_controlled_domains/registry_controlled_domain_unittest.cc
new file mode 100644
index 0000000..fd19789
--- /dev/null
+++ b/src/net/base/registry_controlled_domains/registry_controlled_domain_unittest.cc
@@ -0,0 +1,628 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "base/strings/utf_string_conversions.h"
+#include "net/base/registry_controlled_domains/registry_controlled_domain.h"
+#include "testing/gtest/include/gtest/gtest.h"
+#include "url/gurl.h"
+#include "url/origin.h"
+#include "url/url_features.h"
+
+namespace {
+
+namespace test1 {
+#include "net/base/registry_controlled_domains/effective_tld_names_unittest1-inc.cc"
+}
+namespace test2 {
+#include "net/base/registry_controlled_domains/effective_tld_names_unittest2-inc.cc"
+}
+namespace test3 {
+#include "net/base/registry_controlled_domains/effective_tld_names_unittest3-inc.cc"
+}
+namespace test4 {
+#include "net/base/registry_controlled_domains/effective_tld_names_unittest4-inc.cc"
+}
+namespace test5 {
+#include "net/base/registry_controlled_domains/effective_tld_names_unittest5-inc.cc"
+}
+namespace test6 {
+#include "net/base/registry_controlled_domains/effective_tld_names_unittest6-inc.cc"
+}
+
+}  // namespace
+
+namespace net {
+namespace registry_controlled_domains {
+
+namespace {
+
+std::string GetDomainFromURL(const std::string& url) {
+  return GetDomainAndRegistry(GURL(url), EXCLUDE_PRIVATE_REGISTRIES);
+}
+
+std::string GetDomainFromHost(const std::string& host) {
+  return GetDomainAndRegistry(host, EXCLUDE_PRIVATE_REGISTRIES);
+}
+
+size_t GetRegistryLengthFromURL(
+    const std::string& url,
+    UnknownRegistryFilter unknown_filter) {
+  return GetRegistryLength(GURL(url),
+                           unknown_filter,
+                           EXCLUDE_PRIVATE_REGISTRIES);
+}
+
+size_t GetRegistryLengthFromURLIncludingPrivate(
+    const std::string& url,
+    UnknownRegistryFilter unknown_filter) {
+  return GetRegistryLength(GURL(url),
+                           unknown_filter,
+                           INCLUDE_PRIVATE_REGISTRIES);
+}
+
+size_t PermissiveGetHostRegistryLength(base::StringPiece host) {
+  return PermissiveGetHostRegistryLength(host, EXCLUDE_UNKNOWN_REGISTRIES,
+                                         EXCLUDE_PRIVATE_REGISTRIES);
+}
+
+// Only called when using ICU (avoids unused static function error).
+#if !BUILDFLAG(USE_PLATFORM_ICU_ALTERNATIVES)
+size_t PermissiveGetHostRegistryLength(base::StringPiece16 host) {
+  return PermissiveGetHostRegistryLength(host, EXCLUDE_UNKNOWN_REGISTRIES,
+                                         EXCLUDE_PRIVATE_REGISTRIES);
+}
+#endif
+
+size_t GetCanonicalHostRegistryLength(const std::string& host,
+                                      UnknownRegistryFilter unknown_filter) {
+  return GetCanonicalHostRegistryLength(host, unknown_filter,
+                                        EXCLUDE_PRIVATE_REGISTRIES);
+}
+
+size_t GetCanonicalHostRegistryLengthIncludingPrivate(const std::string& host) {
+  return GetCanonicalHostRegistryLength(host, EXCLUDE_UNKNOWN_REGISTRIES,
+                                        INCLUDE_PRIVATE_REGISTRIES);
+}
+
+}  // namespace
+
+class RegistryControlledDomainTest : public testing::Test {
+ protected:
+  template <typename Graph>
+  void UseDomainData(const Graph& graph) {
+    // This is undone in TearDown.
+    SetFindDomainGraph(graph, sizeof(Graph));
+  }
+
+  bool CompareDomains(const std::string& url1, const std::string& url2) {
+    SCOPED_TRACE(url1 + " " + url2);
+    GURL g1 = GURL(url1);
+    GURL g2 = GURL(url2);
+    url::Origin o1 = url::Origin(g1);
+    url::Origin o2 = url::Origin(g2);
+    EXPECT_EQ(SameDomainOrHost(o1, o2, EXCLUDE_PRIVATE_REGISTRIES),
+              SameDomainOrHost(g1, g2, EXCLUDE_PRIVATE_REGISTRIES));
+    return SameDomainOrHost(g1, g2, EXCLUDE_PRIVATE_REGISTRIES);
+  }
+
+  void TearDown() override { SetFindDomainGraph(); }
+};
+
+TEST_F(RegistryControlledDomainTest, TestGetDomainAndRegistry) {
+  UseDomainData(test1::kDafsa);
+
+  // Test GURL version of GetDomainAndRegistry().
+  EXPECT_EQ("baz.jp", GetDomainFromURL("http://a.baz.jp/file.html"));    // 1
+  EXPECT_EQ("baz.jp.", GetDomainFromURL("http://a.baz.jp./file.html"));  // 1
+  EXPECT_EQ("", GetDomainFromURL("http://ac.jp"));                       // 2
+  EXPECT_EQ("", GetDomainFromURL("http://a.bar.jp"));                    // 3
+  EXPECT_EQ("", GetDomainFromURL("http://bar.jp"));                      // 3
+  EXPECT_EQ("", GetDomainFromURL("http://baz.bar.jp"));                  // 3 4
+  EXPECT_EQ("a.b.baz.bar.jp", GetDomainFromURL("http://a.b.baz.bar.jp"));
+                                                                         // 4
+  EXPECT_EQ("pref.bar.jp", GetDomainFromURL("http://baz.pref.bar.jp"));  // 5
+  EXPECT_EQ("b.bar.baz.com.", GetDomainFromURL("http://a.b.bar.baz.com."));
+                                                                         // 6
+  EXPECT_EQ("a.d.c", GetDomainFromURL("http://a.d.c"));                  // 7
+  EXPECT_EQ("a.d.c", GetDomainFromURL("http://.a.d.c"));                 // 7
+  EXPECT_EQ("a.d.c", GetDomainFromURL("http://..a.d.c"));                // 7
+  EXPECT_EQ("b.c", GetDomainFromURL("http://a.b.c"));                    // 7 8
+  EXPECT_EQ("baz.com", GetDomainFromURL("http://baz.com"));              // none
+  EXPECT_EQ("baz.com.", GetDomainFromURL("http://baz.com."));            // none
+
+  EXPECT_EQ("", GetDomainFromURL(std::string()));
+  EXPECT_EQ("", GetDomainFromURL("http://"));
+  EXPECT_EQ("", GetDomainFromURL("file:///C:/file.html"));
+  EXPECT_EQ("", GetDomainFromURL("http://foo.com.."));
+  EXPECT_EQ("", GetDomainFromURL("http://..."));
+  EXPECT_EQ("", GetDomainFromURL("http://192.168.0.1"));
+  EXPECT_EQ("", GetDomainFromURL("http://localhost"));
+  EXPECT_EQ("", GetDomainFromURL("http://localhost."));
+  EXPECT_EQ("", GetDomainFromURL("http:////Comment"));
+
+  // Test std::string version of GetDomainAndRegistry().  Uses the same
+  // underpinnings as the GURL version, so this is really more of a check of
+  // CanonicalizeHost().
+  EXPECT_EQ("baz.jp", GetDomainFromHost("a.baz.jp"));                  // 1
+  EXPECT_EQ("baz.jp.", GetDomainFromHost("a.baz.jp."));                // 1
+  EXPECT_EQ("", GetDomainFromHost("ac.jp"));                           // 2
+  EXPECT_EQ("", GetDomainFromHost("a.bar.jp"));                        // 3
+  EXPECT_EQ("", GetDomainFromHost("bar.jp"));                          // 3
+  EXPECT_EQ("", GetDomainFromHost("baz.bar.jp"));                      // 3 4
+  EXPECT_EQ("a.b.baz.bar.jp", GetDomainFromHost("a.b.baz.bar.jp"));    // 3 4
+  EXPECT_EQ("pref.bar.jp", GetDomainFromHost("baz.pref.bar.jp"));      // 5
+  EXPECT_EQ("b.bar.baz.com.", GetDomainFromHost("a.b.bar.baz.com."));  // 6
+  EXPECT_EQ("a.d.c", GetDomainFromHost("a.d.c"));                      // 7
+  EXPECT_EQ("a.d.c", GetDomainFromHost(".a.d.c"));                     // 7
+  EXPECT_EQ("a.d.c", GetDomainFromHost("..a.d.c"));                    // 7
+  EXPECT_EQ("b.c", GetDomainFromHost("a.b.c"));                        // 7 8
+  EXPECT_EQ("baz.com", GetDomainFromHost("baz.com"));                  // none
+  EXPECT_EQ("baz.com.", GetDomainFromHost("baz.com."));                // none
+
+  EXPECT_EQ("", GetDomainFromHost(std::string()));
+  EXPECT_EQ("", GetDomainFromHost("foo.com.."));
+  EXPECT_EQ("", GetDomainFromHost("..."));
+  EXPECT_EQ("", GetDomainFromHost("192.168.0.1"));
+  EXPECT_EQ("", GetDomainFromHost("localhost."));
+  EXPECT_EQ("", GetDomainFromHost(".localhost."));
+}
+
+TEST_F(RegistryControlledDomainTest, TestGetRegistryLength) {
+  UseDomainData(test1::kDafsa);
+
+  // Test GURL version of GetRegistryLength().
+  EXPECT_EQ(2U, GetRegistryLengthFromURL("http://a.baz.jp/file.html",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));  // 1
+  EXPECT_EQ(3U, GetRegistryLengthFromURL("http://a.baz.jp./file.html",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));  // 1
+  EXPECT_EQ(0U, GetRegistryLengthFromURL("http://ac.jp",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));  // 2
+  EXPECT_EQ(0U, GetRegistryLengthFromURL("http://a.bar.jp",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));  // 3
+  EXPECT_EQ(0U, GetRegistryLengthFromURL("http://bar.jp",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));  // 3
+  EXPECT_EQ(2U, GetRegistryLengthFromURL("http://xbar.jp",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));  // 1
+  EXPECT_EQ(0U, GetRegistryLengthFromURL("http://baz.bar.jp",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));  // 3 4
+  EXPECT_EQ(0U, GetRegistryLengthFromURL("http://.baz.bar.jp",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));  // 3 4
+  EXPECT_EQ(0U, GetRegistryLengthFromURL("http://..baz.bar.jp",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));  // 3 4
+  EXPECT_EQ(11U, GetRegistryLengthFromURL("http://foo..baz.bar.jp",
+                                          EXCLUDE_UNKNOWN_REGISTRIES));  // 3 4
+  EXPECT_EQ(0U, GetRegistryLengthFromURL("http://xbaz.bar.jp",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));  // 3
+  EXPECT_EQ(11U, GetRegistryLengthFromURL("http://x.xbaz.bar.jp",
+                                          EXCLUDE_UNKNOWN_REGISTRIES));  // 3
+  EXPECT_EQ(12U, GetRegistryLengthFromURL("http://a.b.baz.bar.jp",
+                                          EXCLUDE_UNKNOWN_REGISTRIES));  // 4
+  EXPECT_EQ(6U, GetRegistryLengthFromURL("http://baz.pref.bar.jp",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));  // 5
+  EXPECT_EQ(6U, GetRegistryLengthFromURL("http://z.baz.pref.bar.jp",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));  // 5
+  EXPECT_EQ(10U, GetRegistryLengthFromURL("http://p.ref.bar.jp",
+                                          EXCLUDE_UNKNOWN_REGISTRIES));  // 5
+  EXPECT_EQ(0U, GetRegistryLengthFromURL("http://xpref.bar.jp",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));  // 5
+  EXPECT_EQ(12U, GetRegistryLengthFromURL("http://baz.xpref.bar.jp",
+                                          EXCLUDE_UNKNOWN_REGISTRIES));  // 5
+  EXPECT_EQ(6U, GetRegistryLengthFromURL("http://baz..pref.bar.jp",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));  // 5
+  EXPECT_EQ(11U, GetRegistryLengthFromURL("http://a.b.bar.baz.com",
+                                          EXCLUDE_UNKNOWN_REGISTRIES));  // 6
+  EXPECT_EQ(3U, GetRegistryLengthFromURL("http://a.d.c",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));  // 7
+  EXPECT_EQ(3U, GetRegistryLengthFromURL("http://.a.d.c",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));  // 7
+  EXPECT_EQ(3U, GetRegistryLengthFromURL("http://..a.d.c",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));  // 7
+  EXPECT_EQ(1U, GetRegistryLengthFromURL("http://a.b.c",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));  // 7 8
+  EXPECT_EQ(0U, GetRegistryLengthFromURL("http://baz.com",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));  // none
+  EXPECT_EQ(0U, GetRegistryLengthFromURL("http://baz.com.",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));  // none
+  EXPECT_EQ(3U, GetRegistryLengthFromURL("http://baz.com",
+                                         INCLUDE_UNKNOWN_REGISTRIES));  // none
+  EXPECT_EQ(4U, GetRegistryLengthFromURL("http://baz.com.",
+                                         INCLUDE_UNKNOWN_REGISTRIES));  // none
+
+  EXPECT_EQ(std::string::npos,
+      GetRegistryLengthFromURL(std::string(), EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(std::string::npos,
+      GetRegistryLengthFromURL("http://", EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(std::string::npos,
+      GetRegistryLengthFromURL("file:///C:/file.html",
+                               EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(0U, GetRegistryLengthFromURL("http://foo.com..",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(0U, GetRegistryLengthFromURL("http://...",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(0U, GetRegistryLengthFromURL("http://192.168.0.1",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost",
+                                         INCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost.",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(0U, GetRegistryLengthFromURL("http://localhost.",
+                                         INCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(0U, GetRegistryLengthFromURL("http:////Comment",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));
+
+  // Test std::string version of GetRegistryLength().  Uses the same
+  // underpinnings as the GURL version, so this is really more of a check of
+  // CanonicalizeHost().
+  EXPECT_EQ(2U, GetCanonicalHostRegistryLength(
+                    "a.baz.jp", EXCLUDE_UNKNOWN_REGISTRIES));  // 1
+  EXPECT_EQ(3U, GetCanonicalHostRegistryLength(
+                    "a.baz.jp.", EXCLUDE_UNKNOWN_REGISTRIES));  // 1
+  EXPECT_EQ(0U, GetCanonicalHostRegistryLength(
+                    "ac.jp", EXCLUDE_UNKNOWN_REGISTRIES));  // 2
+  EXPECT_EQ(0U, GetCanonicalHostRegistryLength(
+                    "a.bar.jp", EXCLUDE_UNKNOWN_REGISTRIES));  // 3
+  EXPECT_EQ(0U, GetCanonicalHostRegistryLength(
+                    "bar.jp", EXCLUDE_UNKNOWN_REGISTRIES));  // 3
+  EXPECT_EQ(0U, GetCanonicalHostRegistryLength(
+                    "baz.bar.jp", EXCLUDE_UNKNOWN_REGISTRIES));  // 3 4
+  EXPECT_EQ(12U, GetCanonicalHostRegistryLength(
+                     "a.b.baz.bar.jp", EXCLUDE_UNKNOWN_REGISTRIES));  // 4
+  EXPECT_EQ(6U, GetCanonicalHostRegistryLength(
+                    "baz.pref.bar.jp", EXCLUDE_UNKNOWN_REGISTRIES));  // 5
+  EXPECT_EQ(11U, GetCanonicalHostRegistryLength(
+                     "a.b.bar.baz.com", EXCLUDE_UNKNOWN_REGISTRIES));  // 6
+  EXPECT_EQ(3U, GetCanonicalHostRegistryLength(
+                    "a.d.c", EXCLUDE_UNKNOWN_REGISTRIES));  // 7
+  EXPECT_EQ(3U, GetCanonicalHostRegistryLength(
+                    ".a.d.c", EXCLUDE_UNKNOWN_REGISTRIES));  // 7
+  EXPECT_EQ(3U, GetCanonicalHostRegistryLength(
+                    "..a.d.c", EXCLUDE_UNKNOWN_REGISTRIES));  // 7
+  EXPECT_EQ(1U, GetCanonicalHostRegistryLength(
+                    "a.b.c", EXCLUDE_UNKNOWN_REGISTRIES));  // 7 8
+  EXPECT_EQ(0U, GetCanonicalHostRegistryLength(
+                    "baz.com", EXCLUDE_UNKNOWN_REGISTRIES));  // none
+  EXPECT_EQ(0U, GetCanonicalHostRegistryLength(
+                    "baz.com.", EXCLUDE_UNKNOWN_REGISTRIES));  // none
+  EXPECT_EQ(3U, GetCanonicalHostRegistryLength(
+                    "baz.com", INCLUDE_UNKNOWN_REGISTRIES));  // none
+  EXPECT_EQ(4U, GetCanonicalHostRegistryLength(
+                    "baz.com.", INCLUDE_UNKNOWN_REGISTRIES));  // none
+
+  EXPECT_EQ(std::string::npos, GetCanonicalHostRegistryLength(
+                                   std::string(), EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(0U, GetCanonicalHostRegistryLength("foo.com..",
+                                               EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(0U,
+            GetCanonicalHostRegistryLength("..", EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(0U, GetCanonicalHostRegistryLength("192.168.0.1",
+                                               EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(0U, GetCanonicalHostRegistryLength("localhost",
+                                               EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(0U, GetCanonicalHostRegistryLength("localhost",
+                                               INCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(0U, GetCanonicalHostRegistryLength("localhost.",
+                                               EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(0U, GetCanonicalHostRegistryLength("localhost.",
+                                               INCLUDE_UNKNOWN_REGISTRIES));
+
+  // IDN case.
+  EXPECT_EQ(10U, GetCanonicalHostRegistryLength("foo.xn--fiqs8s",
+                                                EXCLUDE_UNKNOWN_REGISTRIES));
+}
+
+TEST_F(RegistryControlledDomainTest, HostHasRegistryControlledDomain) {
+  UseDomainData(test1::kDafsa);
+
+  // Invalid hosts.
+  EXPECT_FALSE(HostHasRegistryControlledDomain(
+      std::string(), EXCLUDE_UNKNOWN_REGISTRIES, EXCLUDE_PRIVATE_REGISTRIES));
+  EXPECT_FALSE(HostHasRegistryControlledDomain(
+      "%00asdf", EXCLUDE_UNKNOWN_REGISTRIES, EXCLUDE_PRIVATE_REGISTRIES));
+
+  // Invalid host but valid R.C.D.
+  EXPECT_TRUE(HostHasRegistryControlledDomain(
+      "%00foo.jp", EXCLUDE_UNKNOWN_REGISTRIES, EXCLUDE_PRIVATE_REGISTRIES));
+
+  // Valid R.C.D. when canonicalized, even with an invalid prefix and an
+  // escaped dot.
+  EXPECT_TRUE(HostHasRegistryControlledDomain("%00foo.Google%2EjP",
+                                              EXCLUDE_UNKNOWN_REGISTRIES,
+                                              EXCLUDE_PRIVATE_REGISTRIES));
+
+  // Regular, no match.
+  EXPECT_FALSE(HostHasRegistryControlledDomain(
+      "bar.notatld", EXCLUDE_UNKNOWN_REGISTRIES, EXCLUDE_PRIVATE_REGISTRIES));
+
+  // Regular, match.
+  EXPECT_TRUE(HostHasRegistryControlledDomain(
+      "www.Google.Jp", EXCLUDE_UNKNOWN_REGISTRIES, EXCLUDE_PRIVATE_REGISTRIES));
+}
+
+TEST_F(RegistryControlledDomainTest, TestSameDomainOrHost) {
+  UseDomainData(test2::kDafsa);
+
+  EXPECT_TRUE(CompareDomains("http://a.b.bar.jp/file.html",
+                             "http://a.b.bar.jp/file.html"));  // b.bar.jp
+  EXPECT_TRUE(CompareDomains("http://a.b.bar.jp/file.html",
+                             "http://b.b.bar.jp/file.html"));  // b.bar.jp
+  EXPECT_FALSE(CompareDomains("http://a.foo.jp/file.html",     // foo.jp
+                              "http://a.not.jp/file.html"));   // not.jp
+  EXPECT_FALSE(CompareDomains("http://a.foo.jp/file.html",     // foo.jp
+                              "http://a.foo.jp./file.html"));  // foo.jp.
+  EXPECT_FALSE(CompareDomains("http://a.com/file.html",        // a.com
+                              "http://b.com/file.html"));      // b.com
+  EXPECT_TRUE(CompareDomains("http://a.x.com/file.html",
+                             "http://b.x.com/file.html"));     // x.com
+  EXPECT_TRUE(CompareDomains("http://a.x.com/file.html",
+                             "http://.x.com/file.html"));      // x.com
+  EXPECT_TRUE(CompareDomains("http://a.x.com/file.html",
+                             "http://..b.x.com/file.html"));   // x.com
+  EXPECT_TRUE(CompareDomains("http://intranet/file.html",
+                             "http://intranet/file.html"));    // intranet
+  EXPECT_TRUE(CompareDomains("http://127.0.0.1/file.html",
+                             "http://127.0.0.1/file.html"));   // 127.0.0.1
+  EXPECT_FALSE(CompareDomains("http://192.168.0.1/file.html",  // 192.168.0.1
+                              "http://127.0.0.1/file.html"));  // 127.0.0.1
+  EXPECT_FALSE(CompareDomains("file:///C:/file.html",
+                              "file:///C:/file.html"));        // no host
+}
+
+TEST_F(RegistryControlledDomainTest, TestDefaultData) {
+  // Note that no data is set: we're using the default rules.
+  EXPECT_EQ(3U, GetRegistryLengthFromURL("http://google.com",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(3U, GetRegistryLengthFromURL("http://stanford.edu",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(3U, GetRegistryLengthFromURL("http://ustreas.gov",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(3U, GetRegistryLengthFromURL("http://icann.net",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(3U, GetRegistryLengthFromURL("http://ferretcentral.org",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(0U, GetRegistryLengthFromURL("http://nowhere.notavaliddomain",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(15U, GetRegistryLengthFromURL("http://nowhere.notavaliddomain",
+                                         INCLUDE_UNKNOWN_REGISTRIES));
+}
+
+TEST_F(RegistryControlledDomainTest, TestPrivateRegistryHandling) {
+  UseDomainData(test1::kDafsa);
+
+  // Testing the same dataset for INCLUDE_PRIVATE_REGISTRIES and
+  // EXCLUDE_PRIVATE_REGISTRIES arguments.
+  // For the domain data used for this test, the private registries are
+  // 'priv.no' and 'private'.
+
+  // Non-private registries.
+  EXPECT_EQ(2U, GetRegistryLengthFromURL("http://priv.no",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(2U, GetRegistryLengthFromURL("http://foo.priv.no",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(2U, GetRegistryLengthFromURL("http://foo.jp",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(2U, GetRegistryLengthFromURL("http://www.foo.jp",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(0U, GetRegistryLengthFromURL("http://private",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(0U, GetRegistryLengthFromURL("http://foo.private",
+                                         EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(0U, GetRegistryLengthFromURL("http://private",
+                                         INCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(7U, GetRegistryLengthFromURL("http://foo.private",
+                                         INCLUDE_UNKNOWN_REGISTRIES));
+
+  // Private registries.
+  EXPECT_EQ(0U,
+      GetRegistryLengthFromURLIncludingPrivate("http://priv.no",
+                                               EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(7U,
+      GetRegistryLengthFromURLIncludingPrivate("http://foo.priv.no",
+                                               EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(2U,
+      GetRegistryLengthFromURLIncludingPrivate("http://foo.jp",
+                                               EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(2U,
+      GetRegistryLengthFromURLIncludingPrivate("http://www.foo.jp",
+                                               EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(0U,
+      GetRegistryLengthFromURLIncludingPrivate("http://private",
+                                               EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(7U,
+      GetRegistryLengthFromURLIncludingPrivate("http://foo.private",
+                                               EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(0U,
+      GetRegistryLengthFromURLIncludingPrivate("http://private",
+                                               INCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(7U,
+      GetRegistryLengthFromURLIncludingPrivate("http://foo.private",
+                                               INCLUDE_UNKNOWN_REGISTRIES));
+}
+
+TEST_F(RegistryControlledDomainTest, TestDafsaTwoByteOffsets) {
+  UseDomainData(test3::kDafsa);
+
+  // Testing to lookup keys in a DAFSA with two byte offsets.
+  // This DAFSA is constructed so that labels begin and end with unique
+  // characters, which makes it impossible to merge labels. Each inner node
+  // is about 100 bytes and a one byte offset can at most add 64 bytes to
+  // previous offset. Thus the paths must go over two byte offsets.
+
+  const char key0[] =
+      "a.b.6____________________________________________________"
+      "________________________________________________6";
+  const char key1[] =
+      "a.b.7____________________________________________________"
+      "________________________________________________7";
+  const char key2[] =
+      "a.b.a____________________________________________________"
+      "________________________________________________8";
+
+  EXPECT_EQ(102U,
+            GetCanonicalHostRegistryLength(key0, EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(0U,
+            GetCanonicalHostRegistryLength(key1, EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(102U, GetCanonicalHostRegistryLengthIncludingPrivate(key1));
+  EXPECT_EQ(0U,
+            GetCanonicalHostRegistryLength(key2, EXCLUDE_UNKNOWN_REGISTRIES));
+}
+
+TEST_F(RegistryControlledDomainTest, TestDafsaThreeByteOffsets) {
+  UseDomainData(test4::kDafsa);
+
+  // Testing to lookup keys in a DAFSA with three byte offsets.
+  // This DAFSA is constructed so that labels begin and end with unique
+  // characters, which makes it impossible to merge labels. The byte array
+  // has a size of ~54k. A two byte offset can add at most add 8k to the
+  // previous offset. Since we can skip only forward in memory, the nodes
+  // representing the return values must be located near the end of the byte
+  // array. The probability that we can reach from an arbitrary inner node to
+  // a return value without using a three byte offset is small (but not zero).
+  // The test is repeated with some different keys and with a reasonable
+  // probability at least one of the tested paths has go over a three byte
+  // offset.
+
+  const char key0[] =
+      "a.b.z6___________________________________________________"
+      "_________________________________________________z6";
+  const char key1[] =
+      "a.b.z7___________________________________________________"
+      "_________________________________________________z7";
+  const char key2[] =
+      "a.b.za___________________________________________________"
+      "_________________________________________________z8";
+
+  EXPECT_EQ(104U,
+            GetCanonicalHostRegistryLength(key0, EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(0U,
+            GetCanonicalHostRegistryLength(key1, EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(104U, GetCanonicalHostRegistryLengthIncludingPrivate(key1));
+  EXPECT_EQ(0U,
+            GetCanonicalHostRegistryLength(key2, EXCLUDE_UNKNOWN_REGISTRIES));
+}
+
+TEST_F(RegistryControlledDomainTest, TestDafsaJoinedPrefixes) {
+  UseDomainData(test5::kDafsa);
+
+  // Testing to lookup keys in a DAFSA with compressed prefixes.
+  // This DAFSA is constructed from words with similar prefixes but distinct
+  // suffixes. The DAFSA will then form a trie with the implicit source node
+  // as root.
+
+  const char key0[] = "a.b.ai";
+  const char key1[] = "a.b.bj";
+  const char key2[] = "a.b.aak";
+  const char key3[] = "a.b.bbl";
+  const char key4[] = "a.b.aaa";
+  const char key5[] = "a.b.bbb";
+  const char key6[] = "a.b.aaaam";
+  const char key7[] = "a.b.bbbbn";
+
+  EXPECT_EQ(2U,
+            GetCanonicalHostRegistryLength(key0, EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(0U,
+            GetCanonicalHostRegistryLength(key1, EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(2U, GetCanonicalHostRegistryLengthIncludingPrivate(key1));
+  EXPECT_EQ(3U,
+            GetCanonicalHostRegistryLength(key2, EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(0U,
+            GetCanonicalHostRegistryLength(key3, EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(3U, GetCanonicalHostRegistryLengthIncludingPrivate(key3));
+  EXPECT_EQ(0U, GetCanonicalHostRegistryLengthIncludingPrivate(key4));
+  EXPECT_EQ(0U, GetCanonicalHostRegistryLengthIncludingPrivate(key5));
+  EXPECT_EQ(5U,
+            GetCanonicalHostRegistryLength(key6, EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(5U,
+            GetCanonicalHostRegistryLength(key7, EXCLUDE_UNKNOWN_REGISTRIES));
+}
+
+TEST_F(RegistryControlledDomainTest, TestDafsaJoinedSuffixes) {
+  UseDomainData(test6::kDafsa);
+
+  // Testing to lookup keys in a DAFSA with compressed suffixes.
+  // This DAFSA is constructed from words with similar suffixes but distinct
+  // prefixes. The DAFSA will then form a trie with the implicit sink node as
+  // root.
+
+  const char key0[] = "a.b.ia";
+  const char key1[] = "a.b.jb";
+  const char key2[] = "a.b.kaa";
+  const char key3[] = "a.b.lbb";
+  const char key4[] = "a.b.aaa";
+  const char key5[] = "a.b.bbb";
+  const char key6[] = "a.b.maaaa";
+  const char key7[] = "a.b.nbbbb";
+
+  EXPECT_EQ(2U,
+            GetCanonicalHostRegistryLength(key0, EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(0U,
+            GetCanonicalHostRegistryLength(key1, EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(2U, GetCanonicalHostRegistryLengthIncludingPrivate(key1));
+  EXPECT_EQ(3U,
+            GetCanonicalHostRegistryLength(key2, EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(0U,
+            GetCanonicalHostRegistryLength(key3, EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(3U, GetCanonicalHostRegistryLengthIncludingPrivate(key3));
+  EXPECT_EQ(0U, GetCanonicalHostRegistryLengthIncludingPrivate(key4));
+  EXPECT_EQ(0U, GetCanonicalHostRegistryLengthIncludingPrivate(key5));
+  EXPECT_EQ(5U,
+            GetCanonicalHostRegistryLength(key6, EXCLUDE_UNKNOWN_REGISTRIES));
+  EXPECT_EQ(5U,
+            GetCanonicalHostRegistryLength(key7, EXCLUDE_UNKNOWN_REGISTRIES));
+}
+
+TEST_F(RegistryControlledDomainTest, Permissive) {
+  UseDomainData(test1::kDafsa);
+
+  EXPECT_EQ(std::string::npos, PermissiveGetHostRegistryLength(""));
+
+  // Regular non-canonical host name.
+  EXPECT_EQ(2U, PermissiveGetHostRegistryLength("Www.Google.Jp"));
+  EXPECT_EQ(3U, PermissiveGetHostRegistryLength("Www.Google.Jp."));
+
+  // Empty returns npos.
+  EXPECT_EQ(std::string::npos, PermissiveGetHostRegistryLength(""));
+
+  // Trailing spaces are counted as part of the hostname, meaning this will
+  // not match a known registry.
+  EXPECT_EQ(0U, PermissiveGetHostRegistryLength("Www.Google.Jp "));
+
+  // Invalid characters at the beginning are OK if the suffix still matches.
+  EXPECT_EQ(2U, PermissiveGetHostRegistryLength("*%00#?.Jp"));
+
+  // Escaped period, this will add new components.
+  EXPECT_EQ(4U, PermissiveGetHostRegistryLength("Www.Googl%45%2e%4Ap"));
+
+// IDN cases (not supported when not linking ICU).
+#if !BUILDFLAG(USE_PLATFORM_ICU_ALTERNATIVES)
+  EXPECT_EQ(10U, PermissiveGetHostRegistryLength("foo.xn--fiqs8s"));
+  EXPECT_EQ(11U, PermissiveGetHostRegistryLength("foo.xn--fiqs8s."));
+  EXPECT_EQ(18U, PermissiveGetHostRegistryLength("foo.%E4%B8%AD%E5%9B%BD"));
+  EXPECT_EQ(19U, PermissiveGetHostRegistryLength("foo.%E4%B8%AD%E5%9B%BD."));
+  EXPECT_EQ(6U,
+            PermissiveGetHostRegistryLength("foo.\xE4\xB8\xAD\xE5\x9B\xBD"));
+  EXPECT_EQ(7U,
+            PermissiveGetHostRegistryLength("foo.\xE4\xB8\xAD\xE5\x9B\xBD."));
+  // UTF-16 IDN.
+  EXPECT_EQ(2U, PermissiveGetHostRegistryLength(
+                    base::WideToUTF16(L"foo.\x4e2d\x56fd")));
+
+  // Fullwidth dot (u+FF0E) that will get canonicalized to a dot.
+  EXPECT_EQ(2U, PermissiveGetHostRegistryLength("Www.Google\xEF\xBC\x8Ejp"));
+  // Same but also ending in a fullwidth dot.
+  EXPECT_EQ(5U, PermissiveGetHostRegistryLength(
+                    "Www.Google\xEF\xBC\x8Ejp\xEF\xBC\x8E"));
+  // Escaped UTF-8, also with an escaped fullwidth "Jp".
+  // "Jp" = U+FF2A, U+FF50, UTF-8 = EF BC AA EF BD 90
+  EXPECT_EQ(27U, PermissiveGetHostRegistryLength(
+                     "Www.Google%EF%BC%8E%EF%BC%AA%EF%BD%90%EF%BC%8E"));
+  // UTF-16 (ending in a dot).
+  EXPECT_EQ(3U, PermissiveGetHostRegistryLength(
+                    base::WideToUTF16(L"Www.Google\xFF0E\xFF2A\xFF50\xFF0E")));
+#endif
+}
+
+}  // namespace registry_controlled_domains
+}  // namespace net
diff --git a/src/net/base/url_util.cc b/src/net/base/url_util.cc
new file mode 100644
index 0000000..062481f
--- /dev/null
+++ b/src/net/base/url_util.cc
@@ -0,0 +1,442 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "net/base/url_util.h"
+
+#include "build/build_config.h"
+
+#if defined(OS_POSIX)
+#include <netinet/in.h>
+#elif defined(OS_WIN)
+#include <ws2tcpip.h>
+#endif
+
+#include "base/logging.h"
+#include "base/strings/string_util.h"
+#include "base/strings/stringprintf.h"
+#include "net/base/escape.h"
+#include "net/base/ip_address.h"
+#include "net/base/registry_controlled_domains/registry_controlled_domain.h"
+#include "url/gurl.h"
+#include "url/url_canon.h"
+#include "url/url_canon_ip.h"
+
+namespace net {
+
+namespace {
+
+bool IsHostCharAlphanumeric(char c) {
+  // We can just check lowercase because uppercase characters have already been
+  // normalized.
+  return ((c >= 'a') && (c <= 'z')) || ((c >= '0') && (c <= '9'));
+}
+
+bool IsNormalizedLocalhostTLD(const std::string& host) {
+  return base::EndsWith(host, ".localhost", base::CompareCase::SENSITIVE);
+}
+
+}  // namespace
+
+GURL AppendQueryParameter(const GURL& url,
+                          const std::string& name,
+                          const std::string& value) {
+  std::string query(url.query());
+
+  if (!query.empty())
+    query += "&";
+
+  query += (EscapeQueryParamValue(name, true) + "=" +
+            EscapeQueryParamValue(value, true));
+  GURL::Replacements replacements;
+  replacements.SetQueryStr(query);
+  return url.ReplaceComponents(replacements);
+}
+
+GURL AppendOrReplaceQueryParameter(const GURL& url,
+                                   const std::string& name,
+                                   const std::string& value) {
+  bool replaced = false;
+  std::string param_name = EscapeQueryParamValue(name, true);
+  std::string param_value = EscapeQueryParamValue(value, true);
+
+  const std::string input = url.query();
+  url::Component cursor(0, input.size());
+  std::string output;
+  url::Component key_range, value_range;
+  while (url::ExtractQueryKeyValue(input.data(), &cursor, &key_range,
+                                   &value_range)) {
+    const base::StringPiece key(
+        input.data() + key_range.begin, key_range.len);
+    std::string key_value_pair;
+    // Check |replaced| as only the first pair should be replaced.
+    if (!replaced && key == param_name) {
+      replaced = true;
+      key_value_pair = (param_name + "=" + param_value);
+    } else {
+      key_value_pair.assign(input, key_range.begin,
+                            value_range.end() - key_range.begin);
+    }
+    if (!output.empty())
+      output += "&";
+
+    output += key_value_pair;
+  }
+  if (!replaced) {
+    if (!output.empty())
+      output += "&";
+
+    output += (param_name + "=" + param_value);
+  }
+  GURL::Replacements replacements;
+  replacements.SetQueryStr(output);
+  return url.ReplaceComponents(replacements);
+}
+
+QueryIterator::QueryIterator(const GURL& url)
+    : url_(url),
+      at_end_(!url.is_valid()) {
+  if (!at_end_) {
+    query_ = url.parsed_for_possibly_invalid_spec().query;
+    Advance();
+  }
+}
+
+QueryIterator::~QueryIterator() {
+}
+
+std::string QueryIterator::GetKey() const {
+  DCHECK(!at_end_);
+  if (key_.is_nonempty())
+    return url_.spec().substr(key_.begin, key_.len);
+  return std::string();
+}
+
+std::string QueryIterator::GetValue() const {
+  DCHECK(!at_end_);
+  if (value_.is_nonempty())
+    return url_.spec().substr(value_.begin, value_.len);
+  return std::string();
+}
+
+const std::string& QueryIterator::GetUnescapedValue() {
+  DCHECK(!at_end_);
+  if (value_.is_nonempty() && unescaped_value_.empty()) {
+    unescaped_value_ = UnescapeURLComponent(
+        GetValue(), UnescapeRule::SPACES | UnescapeRule::PATH_SEPARATORS |
+                        UnescapeRule::URL_SPECIAL_CHARS_EXCEPT_PATH_SEPARATORS |
+                        UnescapeRule::REPLACE_PLUS_WITH_SPACE);
+  }
+  return unescaped_value_;
+}
+
+bool QueryIterator::IsAtEnd() const {
+  return at_end_;
+}
+
+void QueryIterator::Advance() {
+  DCHECK (!at_end_);
+  key_.reset();
+  value_.reset();
+  unescaped_value_.clear();
+  at_end_ =
+      !url::ExtractQueryKeyValue(url_.spec().c_str(), &query_, &key_, &value_);
+}
+
+bool GetValueForKeyInQuery(const GURL& url,
+                           const std::string& search_key,
+                           std::string* out_value) {
+  for (QueryIterator it(url); !it.IsAtEnd(); it.Advance()) {
+    if (it.GetKey() == search_key) {
+      *out_value = it.GetUnescapedValue();
+      return true;
+    }
+  }
+  return false;
+}
+
+bool ParseHostAndPort(std::string::const_iterator host_and_port_begin,
+                      std::string::const_iterator host_and_port_end,
+                      std::string* host,
+                      int* port) {
+  if (host_and_port_begin >= host_and_port_end)
+    return false;
+
+  // When using url, we use char*.
+  const char* auth_begin = &(*host_and_port_begin);
+  int auth_len = host_and_port_end - host_and_port_begin;
+
+  url::Component auth_component(0, auth_len);
+  url::Component username_component;
+  url::Component password_component;
+  url::Component hostname_component;
+  url::Component port_component;
+
+  url::ParseAuthority(auth_begin, auth_component, &username_component,
+      &password_component, &hostname_component, &port_component);
+
+  // There shouldn't be a username/password.
+  if (username_component.is_valid() || password_component.is_valid())
+    return false;
+
+  if (!hostname_component.is_nonempty())
+    return false;  // Failed parsing.
+
+  int parsed_port_number = -1;
+  if (port_component.is_nonempty()) {
+    parsed_port_number = url::ParsePort(auth_begin, port_component);
+
+    // If parsing failed, port_number will be either PORT_INVALID or
+    // PORT_UNSPECIFIED, both of which are negative.
+    if (parsed_port_number < 0)
+      return false;  // Failed parsing the port number.
+  }
+
+  if (port_component.len == 0)
+    return false;  // Reject inputs like "foo:"
+
+  unsigned char tmp_ipv6_addr[16];
+
+  // If the hostname starts with a bracket, it is either an IPv6 literal or
+  // invalid. If it is an IPv6 literal then strip the brackets.
+  if (hostname_component.len > 0 &&
+      auth_begin[hostname_component.begin] == '[') {
+    if (auth_begin[hostname_component.end() - 1] == ']' &&
+        url::IPv6AddressToNumber(
+            auth_begin, hostname_component, tmp_ipv6_addr)) {
+      // Strip the brackets.
+      hostname_component.begin++;
+      hostname_component.len -= 2;
+    } else {
+      return false;
+    }
+  }
+
+  // Pass results back to caller.
+  host->assign(auth_begin + hostname_component.begin, hostname_component.len);
+  *port = parsed_port_number;
+
+  return true;  // Success.
+}
+
+bool ParseHostAndPort(const std::string& host_and_port,
+                      std::string* host,
+                      int* port) {
+  return ParseHostAndPort(
+      host_and_port.begin(), host_and_port.end(), host, port);
+}
+
+
+std::string GetHostAndPort(const GURL& url) {
+  // For IPv6 literals, GURL::host() already includes the brackets so it is
+  // safe to just append a colon.
+  return base::StringPrintf("%s:%d", url.host().c_str(),
+                            url.EffectiveIntPort());
+}
+
+std::string GetHostAndOptionalPort(const GURL& url) {
+  // For IPv6 literals, GURL::host() already includes the brackets
+  // so it is safe to just append a colon.
+  if (url.has_port())
+    return base::StringPrintf("%s:%s", url.host().c_str(), url.port().c_str());
+  return url.host();
+}
+
+std::string TrimEndingDot(base::StringPiece host) {
+  base::StringPiece host_trimmed = host;
+  size_t len = host_trimmed.length();
+  if (len > 1 && host_trimmed[len - 1] == '.') {
+    host_trimmed.remove_suffix(1);
+  }
+  return host_trimmed.as_string();
+}
+
+std::string GetHostOrSpecFromURL(const GURL& url) {
+  return url.has_host() ? TrimEndingDot(url.host_piece()) : url.spec();
+}
+
+std::string CanonicalizeHost(base::StringPiece host,
+                             url::CanonHostInfo* host_info) {
+  // Try to canonicalize the host.
+  const url::Component raw_host_component(0, static_cast<int>(host.length()));
+  std::string canon_host;
+  url::StdStringCanonOutput canon_host_output(&canon_host);
+  url::CanonicalizeHostVerbose(host.data(), raw_host_component,
+                               &canon_host_output, host_info);
+
+  if (host_info->out_host.is_nonempty() &&
+      host_info->family != url::CanonHostInfo::BROKEN) {
+    // Success!  Assert that there's no extra garbage.
+    canon_host_output.Complete();
+    DCHECK_EQ(host_info->out_host.len, static_cast<int>(canon_host.length()));
+  } else {
+    // Empty host, or canonicalization failed.  We'll return empty.
+    canon_host.clear();
+  }
+
+  return canon_host;
+}
+
+bool IsCanonicalizedHostCompliant(const std::string& host) {
+  if (host.empty())
+    return false;
+
+  bool in_component = false;
+  bool most_recent_component_started_alphanumeric = false;
+
+  for (std::string::const_iterator i(host.begin()); i != host.end(); ++i) {
+    const char c = *i;
+    if (!in_component) {
+      most_recent_component_started_alphanumeric = IsHostCharAlphanumeric(c);
+      if (!most_recent_component_started_alphanumeric && (c != '-') &&
+          (c != '_')) {
+        return false;
+      }
+      in_component = true;
+    } else if (c == '.') {
+      in_component = false;
+    } else if (!IsHostCharAlphanumeric(c) && (c != '-') && (c != '_')) {
+      return false;
+    }
+  }
+
+  return most_recent_component_started_alphanumeric;
+}
+
+bool IsHostnameNonUnique(const std::string& hostname) {
+  // CanonicalizeHost requires surrounding brackets to parse an IPv6 address.
+  const std::string host_or_ip = hostname.find(':') != std::string::npos ?
+      "[" + hostname + "]" : hostname;
+  url::CanonHostInfo host_info;
+  std::string canonical_name = CanonicalizeHost(host_or_ip, &host_info);
+
+  // If canonicalization fails, then the input is truly malformed. However,
+  // to avoid mis-reporting bad inputs as "non-unique", treat them as unique.
+  if (canonical_name.empty())
+    return false;
+
+  // If |hostname| is an IP address, check to see if it's in an IANA-reserved
+  // range.
+  if (host_info.IsIPAddress()) {
+    IPAddress host_addr;
+    if (!host_addr.AssignFromIPLiteral(hostname.substr(
+            host_info.out_host.begin, host_info.out_host.len))) {
+      return false;
+    }
+    switch (host_info.family) {
+      case url::CanonHostInfo::IPV4:
+      case url::CanonHostInfo::IPV6:
+        return host_addr.IsReserved();
+      case url::CanonHostInfo::NEUTRAL:
+      case url::CanonHostInfo::BROKEN:
+        return false;
+    }
+  }
+
+  // Check for a registry controlled portion of |hostname|, ignoring private
+  // registries, as they already chain to ICANN-administered registries,
+  // and explicitly ignoring unknown registries.
+  //
+  // Note: This means that as new gTLDs are introduced on the Internet, they
+  // will be treated as non-unique until the registry controlled domain list
+  // is updated. However, because gTLDs are expected to provide significant
+  // advance notice to deprecate older versions of this code, this an
+  // acceptable tradeoff.
+  return !registry_controlled_domains::HostHasRegistryControlledDomain(
+      canonical_name, registry_controlled_domains::EXCLUDE_UNKNOWN_REGISTRIES,
+      registry_controlled_domains::EXCLUDE_PRIVATE_REGISTRIES);
+}
+
+bool IsLocalhost(base::StringPiece host) {
+  if (IsLocalHostname(host, nullptr))
+    return true;
+
+  IPAddress ip_address;
+  if (ip_address.AssignFromIPLiteral(host)) {
+    size_t size = ip_address.size();
+    switch (size) {
+      case IPAddress::kIPv4AddressSize: {
+        const uint8_t prefix[] = {127};
+        return IPAddressStartsWith(ip_address, prefix);
+      }
+
+      case IPAddress::kIPv6AddressSize:
+        return ip_address == IPAddress::IPv6Localhost();
+
+      default:
+        NOTREACHED();
+    }
+  }
+
+  return false;
+}
+
+GURL SimplifyUrlForRequest(const GURL& url) {
+  DCHECK(url.is_valid());
+  // Fast path to avoid re-canonicalization via ReplaceComponents.
+  if (!url.has_username() && !url.has_password() && !url.has_ref())
+    return url;
+  GURL::Replacements replacements;
+  replacements.ClearUsername();
+  replacements.ClearPassword();
+  replacements.ClearRef();
+  return url.ReplaceComponents(replacements);
+}
+
+void GetIdentityFromURL(const GURL& url,
+                        base::string16* username,
+                        base::string16* password) {
+  UnescapeRule::Type flags =
+      UnescapeRule::SPACES | UnescapeRule::PATH_SEPARATORS |
+      UnescapeRule::URL_SPECIAL_CHARS_EXCEPT_PATH_SEPARATORS;
+  *username = UnescapeAndDecodeUTF8URLComponent(url.username(), flags);
+  *password = UnescapeAndDecodeUTF8URLComponent(url.password(), flags);
+}
+
+bool HasGoogleHost(const GURL& url) {
+  static const char* kGoogleHostSuffixes[] = {
+      ".google.com",
+      ".youtube.com",
+      ".gmail.com",
+      ".doubleclick.net",
+      ".gstatic.com",
+      ".googlevideo.com",
+      ".googleusercontent.com",
+      ".googlesyndication.com",
+      ".google-analytics.com",
+      ".googleadservices.com",
+      ".googleapis.com",
+      ".ytimg.com",
+  };
+  base::StringPiece host = url.host_piece();
+  for (const char* suffix : kGoogleHostSuffixes) {
+    // Here it's possible to get away with faster case-sensitive comparisons
+    // because the list above is all lowercase, and a GURL's host name will
+    // always be canonicalized to lowercase as well.
+    if (base::EndsWith(host, suffix, base::CompareCase::SENSITIVE))
+      return true;
+  }
+  return false;
+}
+
+bool IsLocalHostname(base::StringPiece host, bool* is_local6) {
+  std::string normalized_host = base::ToLowerASCII(host);
+  // Remove any trailing '.'.
+  if (!normalized_host.empty() && *normalized_host.rbegin() == '.')
+    normalized_host.resize(normalized_host.size() - 1);
+
+  if (normalized_host == "localhost6" ||
+      normalized_host == "localhost6.localdomain6") {
+    if (is_local6)
+      *is_local6 = true;
+    return true;
+  }
+
+  if (is_local6)
+    *is_local6 = false;
+  return normalized_host == "localhost" ||
+         normalized_host == "localhost.localdomain" ||
+         IsNormalizedLocalhostTLD(normalized_host);
+}
+
+}  // namespace net
diff --git a/src/net/base/url_util.h b/src/net/base/url_util.h
new file mode 100644
index 0000000..75f7b62
--- /dev/null
+++ b/src/net/base/url_util.h
@@ -0,0 +1,177 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// This file contains a set of utility functions related to parsing,
+// manipulating, and interacting with URLs and hostnames. These functions are
+// intended to be of a text-processing nature, and should not attempt to use any
+// networking or blocking services.
+
+#ifndef NET_BASE_URL_UTIL_H_
+#define NET_BASE_URL_UTIL_H_
+
+#include <string>
+
+#include "base/macros.h"
+#include "base/strings/string16.h"
+#include "base/strings/string_piece.h"
+#include "net/base/net_export.h"
+#include "url/third_party/mozilla/url_parse.h"
+
+class GURL;
+
+namespace url {
+struct CanonHostInfo;
+}
+
+namespace net {
+
+// Returns a new GURL by appending the given query parameter name and the
+// value. Unsafe characters in the name and the value are escaped like
+// %XX%XX. The original query component is preserved if it's present.
+//
+// Examples:
+//
+// AppendQueryParameter(GURL("http://example.com"), "name", "value").spec()
+// => "http://example.com?name=value"
+// AppendQueryParameter(GURL("http://example.com?x=y"), "name", "value").spec()
+// => "http://example.com?x=y&name=value"
+NET_EXPORT GURL AppendQueryParameter(const GURL& url,
+                                     const std::string& name,
+                                     const std::string& value);
+
+// Returns a new GURL by appending or replacing the given query parameter name
+// and the value. If |name| appears more than once, only the first name-value
+// pair is replaced. Unsafe characters in the name and the value are escaped
+// like %XX%XX. The original query component is preserved if it's present.
+//
+// Examples:
+//
+// AppendOrReplaceQueryParameter(
+//     GURL("http://example.com"), "name", "new").spec()
+// => "http://example.com?name=value"
+// AppendOrReplaceQueryParameter(
+//     GURL("http://example.com?x=y&name=old"), "name", "new").spec()
+// => "http://example.com?x=y&name=new"
+NET_EXPORT GURL AppendOrReplaceQueryParameter(const GURL& url,
+                                              const std::string& name,
+                                              const std::string& value);
+
+// Iterates over the key-value pairs in the query portion of |url|.
+class NET_EXPORT QueryIterator {
+ public:
+  explicit QueryIterator(const GURL& url);
+  ~QueryIterator();
+
+  std::string GetKey() const;
+  std::string GetValue() const;
+  const std::string& GetUnescapedValue();
+
+  bool IsAtEnd() const;
+  void Advance();
+
+ private:
+  const GURL& url_;
+  url::Component query_;
+  bool at_end_;
+  url::Component key_;
+  url::Component value_;
+  std::string unescaped_value_;
+
+  DISALLOW_COPY_AND_ASSIGN(QueryIterator);
+};
+
+// Looks for |search_key| in the query portion of |url|. Returns true if the
+// key is found and sets |out_value| to the unescaped value for the key.
+// Returns false if the key is not found.
+NET_EXPORT bool GetValueForKeyInQuery(const GURL& url,
+                                      const std::string& search_key,
+                                      std::string* out_value);
+
+// Splits an input of the form <host>[":"<port>] into its consitituent parts.
+// Saves the result into |*host| and |*port|. If the input did not have
+// the optional port, sets |*port| to -1.
+// Returns true if the parsing was successful, false otherwise.
+// The returned host is NOT canonicalized, and may be invalid.
+//
+// IPv6 literals must be specified in a bracketed form, for instance:
+//   [::1]:90 and [::1]
+//
+// The resultant |*host| in both cases will be "::1" (not bracketed).
+NET_EXPORT bool ParseHostAndPort(
+    std::string::const_iterator host_and_port_begin,
+    std::string::const_iterator host_and_port_end,
+    std::string* host,
+    int* port);
+NET_EXPORT bool ParseHostAndPort(const std::string& host_and_port,
+                                 std::string* host,
+                                 int* port);
+
+// Returns a host:port string for the given URL.
+NET_EXPORT std::string GetHostAndPort(const GURL& url);
+
+// Returns a host[:port] string for the given URL, where the port is omitted
+// if it is the default for the URL's scheme.
+NET_EXPORT std::string GetHostAndOptionalPort(const GURL& url);
+
+// Returns the hostname by trimming the ending dot, if one exists.
+NET_EXPORT std::string TrimEndingDot(base::StringPiece host);
+
+// Returns either the host from |url|, or, if the host is empty, the full spec.
+NET_EXPORT std::string GetHostOrSpecFromURL(const GURL& url);
+
+// Canonicalizes |host| and returns it.  Also fills |host_info| with
+// IP address information.  |host_info| must not be NULL.
+NET_EXPORT std::string CanonicalizeHost(base::StringPiece host,
+                                        url::CanonHostInfo* host_info);
+
+// Returns true if |host| is not an IP address and is compliant with a set of
+// rules based on RFC 1738 and tweaked to be compatible with the real world.
+// The rules are:
+//   * One or more components separated by '.'
+//   * Each component contains only alphanumeric characters and '-' or '_'
+//   * The last component begins with an alphanumeric character
+//   * Optional trailing dot after last component (means "treat as FQDN")
+//
+// NOTE: You should only pass in hosts that have been returned from
+// CanonicalizeHost(), or you may not get accurate results.
+NET_EXPORT bool IsCanonicalizedHostCompliant(const std::string& host);
+
+// Returns true if |hostname| contains a non-registerable or non-assignable
+// domain name (eg: a gTLD that has not been assigned by IANA) or an IP address
+// that falls in an IANA-reserved range.
+NET_EXPORT bool IsHostnameNonUnique(const std::string& hostname);
+
+// Returns true if |host| is one of the local hostnames
+// (e.g. "localhost") or IP addresses (IPv4 127.0.0.0/8 or IPv6 ::1).
+//
+// Note that this function does not check for IP addresses other than
+// the above, although other IP addresses may point to the local
+// machine.
+NET_EXPORT bool IsLocalhost(base::StringPiece host);
+
+// Strip the portions of |url| that aren't core to the network request.
+//   - user name / password
+//   - reference section
+NET_EXPORT GURL SimplifyUrlForRequest(const GURL& url);
+
+// Extracts the unescaped username/password from |url|, saving the results
+// into |*username| and |*password|.
+NET_EXPORT_PRIVATE void GetIdentityFromURL(const GURL& url,
+                                           base::string16* username,
+                                           base::string16* password);
+
+// Returns true if the url's host is a Google server. This should only be used
+// for histograms and shouldn't be used to affect behavior.
+NET_EXPORT_PRIVATE bool HasGoogleHost(const GURL& url);
+
+// This function tests |host| to see if it is of any local hostname form.
+// |host| is normalized before being tested and if |is_local6| is not NULL then
+// it it will be set to true if the localhost name implies an IPv6 interface (
+// for instance localhost6.localdomain6).
+NET_EXPORT_PRIVATE bool IsLocalHostname(base::StringPiece host,
+                                        bool* is_local6);
+
+}  // namespace net
+
+#endif  // NET_BASE_URL_UTIL_H_
diff --git a/src/net/tools/dafsa/make_dafsa.py b/src/net/tools/dafsa/make_dafsa.py
new file mode 100755
index 0000000..5c9082d
--- /dev/null
+++ b/src/net/tools/dafsa/make_dafsa.py
@@ -0,0 +1,469 @@
+#!/usr/bin/env python
+# Copyright 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+"""
+A Deterministic acyclic finite state automaton (DAFSA) is a compact
+representation of an unordered word list (dictionary).
+
+http://en.wikipedia.org/wiki/Deterministic_acyclic_finite_state_automaton
+
+This python program converts a list of strings to a byte array in C++.
+This python program fetches strings and return values from a gperf file
+and generates a C++ file with a byte array representing graph that can be
+used as a memory efficient replacement for the perfect hash table.
+
+The input strings are assumed to consist of printable 7-bit ASCII characters
+and the return values are assumed to be one digit integers.
+
+In this program a DAFSA is a diamond shaped graph starting at a common
+source node and ending at a common sink node. All internal nodes contain
+a label and each word is represented by the labels in one path from
+the source node to the sink node.
+
+The following python represention is used for nodes:
+
+  Source node: [ children ]
+  Internal node: (label, [ children ])
+  Sink node: None
+
+The graph is first compressed by prefixes like a trie. In the next step
+suffixes are compressed so that the graph gets diamond shaped. Finally
+one to one linked nodes are replaced by nodes with the labels joined.
+
+The order of the operations is crucial since lookups will be performed
+starting from the source with no backtracking. Thus a node must have at
+most one child with a label starting by the same character. The output
+is also arranged so that all jumps are to increasing addresses, thus forward
+in memory.
+
+The generated output has suffix free decoding so that the sign of leading
+bits in a link (a reference to a child node) indicate if it has a size of one,
+two or three bytes and if it is the last outgoing link from the actual node.
+A node label is terminated by a byte with the leading bit set.
+
+The generated byte array can described by the following BNF:
+
+<byte> ::= < 8-bit value in range [0x00-0xFF] >
+
+<char> ::= < printable 7-bit ASCII character, byte in range [0x20-0x7F] >
+<end_char> ::= < char + 0x80, byte in range [0xA0-0xFF] >
+<return value> ::= < value + 0x80, byte in range [0x80-0x8F] >
+
+<offset1> ::= < byte in range [0x00-0x3F] >
+<offset2> ::= < byte in range [0x40-0x5F] >
+<offset3> ::= < byte in range [0x60-0x7F] >
+
+<end_offset1> ::= < byte in range [0x80-0xBF] >
+<end_offset2> ::= < byte in range [0xC0-0xDF] >
+<end_offset3> ::= < byte in range [0xE0-0xFF] >
+
+<prefix> ::= <char>
+
+<label> ::= <end_char>
+          | <char> <label>
+
+<end_label> ::= <return_value>
+          | <char> <end_label>
+
+<offset> ::= <offset1>
+           | <offset2> <byte>
+           | <offset3> <byte> <byte>
+
+<end_offset> ::= <end_offset1>
+               | <end_offset2> <byte>
+               | <end_offset3> <byte> <byte>
+
+<offsets> ::= <end_offset>
+            | <offset> <offsets>
+
+<source> ::= <offsets>
+
+<node> ::= <label> <offsets>
+         | <prefix> <node>
+         | <end_label>
+
+<dafsa> ::= <source>
+          | <dafsa> <node>
+
+Decoding:
+
+<char> -> printable 7-bit ASCII character
+<end_char> & 0x7F -> printable 7-bit ASCII character
+<return value> & 0x0F -> integer
+<offset1 & 0x3F> -> integer
+((<offset2> & 0x1F>) << 8) + <byte> -> integer
+((<offset3> & 0x1F>) << 16) + (<byte> << 8) + <byte> -> integer
+
+end_offset1, end_offset2 and and_offset3 are decoded same as offset1,
+offset2 and offset3 respectively.
+
+The first offset in a list of offsets is the distance in bytes between the
+offset itself and the first child node. Subsequent offsets are the distance
+between previous child node and next child node. Thus each offset links a node
+to a child node. The distance is always counted between start addresses, i.e.
+first byte in decoded offset or first byte in child node.
+
+Example 1:
+
+%%
+aa, 1
+a, 2
+%%
+
+The input is first parsed to a list of words:
+["aa1", "a2"]
+
+A fully expanded graph is created from the words:
+source = [node1, node4]
+node1 = ("a", [node2])
+node2 = ("a", [node3])
+node3 = ("\x01", [sink])
+node4 = ("a", [node5])
+node5 = ("\x02", [sink])
+sink = None
+
+Compression results in the following graph:
+source = [node1]
+node1 = ("a", [node2, node3])
+node2 = ("\x02", [sink])
+node3 = ("a\x01", [sink])
+sink = None
+
+A C++ representation of the compressed graph is generated:
+
+const unsigned char dafsa[7] = {
+  0x81, 0xE1, 0x02, 0x81, 0x82, 0x61, 0x81,
+};
+
+The bytes in the generated array has the following meaning:
+
+ 0: 0x81 <end_offset1>  child at position 0 + (0x81 & 0x3F) -> jump to 1
+
+ 1: 0xE1 <end_char>     label character (0xE1 & 0x7F) -> match "a"
+ 2: 0x02 <offset1>      child at position 2 + (0x02 & 0x3F) -> jump to 4
+
+ 3: 0x81 <end_offset1>  child at position 4 + (0x81 & 0x3F) -> jump to 5
+ 4: 0x82 <return_value> 0x82 & 0x0F -> return 2
+
+ 5: 0x61 <char>         label character 0x61 -> match "a"
+ 6: 0x81 <return_value> 0x81 & 0x0F -> return 1
+
+Example 2:
+
+%%
+aa, 1
+bbb, 2
+baa, 1
+%%
+
+The input is first parsed to a list of words:
+["aa1", "bbb2", "baa1"]
+
+Compression results in the following graph:
+source = [node1, node2]
+node1 = ("b", [node2, node3])
+node2 = ("aa\x01", [sink])
+node3 = ("bb\x02", [sink])
+sink = None
+
+A C++ representation of the compressed graph is generated:
+
+const unsigned char dafsa[11] = {
+  0x02, 0x83, 0xE2, 0x02, 0x83, 0x61, 0x61, 0x81, 0x62, 0x62, 0x82,
+};
+
+The bytes in the generated array has the following meaning:
+
+ 0: 0x02 <offset1>      child at position 0 + (0x02 & 0x3F) -> jump to 2
+ 1: 0x83 <end_offset1>  child at position 2 + (0x83 & 0x3F) -> jump to 5
+
+ 2: 0xE2 <end_char>     label character (0xE2 & 0x7F) -> match "b"
+ 3: 0x02 <offset1>      child at position 3 + (0x02 & 0x3F) -> jump to 5
+ 4: 0x83 <end_offset1>  child at position 5 + (0x83 & 0x3F) -> jump to 8
+
+ 5: 0x61 <char>         label character 0x61 -> match "a"
+ 6: 0x61 <char>         label character 0x61 -> match "a"
+ 7: 0x81 <return_value> 0x81 & 0x0F -> return 1
+
+ 8: 0x62 <char>         label character 0x62 -> match "b"
+ 9: 0x62 <char>         label character 0x62 -> match "b"
+10: 0x82 <return_value> 0x82 & 0x0F -> return 2
+"""
+
+import sys
+
+class InputError(Exception):
+  """Exception raised for errors in the input file."""
+
+
+def to_dafsa(words):
+  """Generates a DAFSA from a word list and returns the source node.
+
+  Each word is split into characters so that each character is represented by
+  a unique node. It is assumed the word list is not empty.
+  """
+  if not words:
+    raise InputError('The domain list must not be empty')
+  def ToNodes(word):
+    """Split words into characters"""
+    if not 0x1F < ord(word[0]) < 0x80:
+      raise InputError('Domain names must be printable 7-bit ASCII')
+    if len(word) == 1:
+      return chr(ord(word[0]) & 0x0F), [None]
+    return word[0], [ToNodes(word[1:])]
+  return [ToNodes(word) for word in words]
+
+
+def to_words(node):
+  """Generates a word list from all paths starting from an internal node."""
+  if not node:
+    return ['']
+  return [(node[0] + word) for child in node[1] for word in to_words(child)]
+
+
+def reverse(dafsa):
+  """Generates a new DAFSA that is reversed, so that the old sink node becomes
+  the new source node.
+  """
+  sink = []
+  nodemap = {}
+
+  def dfs(node, parent):
+    """Creates reverse nodes.
+
+    A new reverse node will be created for each old node. The new node will
+    get a reversed label and the parents of the old node as children.
+    """
+    if not node:
+      sink.append(parent)
+    elif id(node) not in nodemap:
+      nodemap[id(node)] = (node[0][::-1], [parent])
+      for child in node[1]:
+        dfs(child, nodemap[id(node)])
+    else:
+      nodemap[id(node)][1].append(parent)
+
+  for node in dafsa:
+    dfs(node, None)
+  return sink
+
+
+def join_labels(dafsa):
+  """Generates a new DAFSA where internal nodes are merged if there is a one to
+  one connection.
+  """
+  parentcount = { id(None): 2 }
+  nodemap = { id(None): None }
+
+  def count_parents(node):
+    """Count incoming references"""
+    if id(node) in parentcount:
+      parentcount[id(node)] += 1
+    else:
+      parentcount[id(node)] = 1
+      for child in node[1]:
+        count_parents(child)
+
+  def join(node):
+    """Create new nodes"""
+    if id(node) not in nodemap:
+      children = [join(child) for child in node[1]]
+      if len(children) == 1 and parentcount[id(node[1][0])] == 1:
+        child = children[0]
+        nodemap[id(node)] = (node[0] + child[0], child[1])
+      else:
+        nodemap[id(node)] = (node[0], children)
+    return nodemap[id(node)]
+
+  for node in dafsa:
+    count_parents(node)
+  return [join(node) for node in dafsa]
+
+
+def join_suffixes(dafsa):
+  """Generates a new DAFSA where nodes that represent the same word lists
+  towards the sink are merged.
+  """
+  nodemap = { frozenset(('',)): None }
+
+  def join(node):
+    """Returns a macthing node. A new node is created if no matching node
+    exists. The graph is accessed in dfs order.
+    """
+    suffixes = frozenset(to_words(node))
+    if suffixes not in nodemap:
+      nodemap[suffixes] = (node[0], [join(child) for child in node[1]])
+    return nodemap[suffixes]
+
+  return [join(node) for node in dafsa]
+
+
+def top_sort(dafsa):
+  """Generates list of nodes in topological sort order."""
+  incoming = {}
+
+  def count_incoming(node):
+    """Counts incoming references."""
+    if node:
+      if id(node) not in incoming:
+        incoming[id(node)] = 1
+        for child in node[1]:
+          count_incoming(child)
+      else:
+        incoming[id(node)] += 1
+
+  for node in dafsa:
+    count_incoming(node)
+
+  for node in dafsa:
+    incoming[id(node)] -= 1
+
+  waiting = [node for node in dafsa if incoming[id(node)] == 0]
+  nodes = []
+
+  while waiting:
+    node = waiting.pop()
+    assert incoming[id(node)] == 0
+    nodes.append(node)
+    for child in node[1]:
+      if child:
+        incoming[id(child)] -= 1
+        if incoming[id(child)] == 0:
+          waiting.append(child)
+  return nodes
+
+
+def encode_links(children, offsets, current):
+  """Encodes a list of children as one, two or three byte offsets."""
+  if not children[0]:
+    # This is an <end_label> node and no links follow such nodes
+    assert len(children) == 1
+    return []
+  guess = 3 * len(children)
+  assert children
+  children = sorted(children, key = lambda x: -offsets[id(x)])
+  while True:
+    offset = current + guess
+    buf = []
+    for child in children:
+      last = len(buf)
+      distance = offset - offsets[id(child)]
+      assert distance > 0 and distance < (1 << 21)
+
+      if distance < (1 << 6):
+        # A 6-bit offset: "s0xxxxxx"
+        buf.append(distance)
+      elif distance < (1 << 13):
+        # A 13-bit offset: "s10xxxxxxxxxxxxx"
+        buf.append(0x40 | (distance >> 8))
+        buf.append(distance & 0xFF)
+      else:
+        # A 21-bit offset: "s11xxxxxxxxxxxxxxxxxxxxx"
+        buf.append(0x60 | (distance >> 16))
+        buf.append((distance >> 8) & 0xFF)
+        buf.append(distance & 0xFF)
+      # Distance in first link is relative to following record.
+      # Distance in other links are relative to previous link.
+      offset -= distance
+    if len(buf) == guess:
+      break
+    guess = len(buf)
+  # Set most significant bit to mark end of links in this node.
+  buf[last] |= (1 << 7)
+  buf.reverse()
+  return buf
+
+
+def encode_prefix(label):
+  """Encodes a node label as a list of bytes without a trailing high byte.
+
+  This method encodes a node if there is exactly one child  and the
+  child follows immidiately after so that no jump is needed. This label
+  will then be a prefix to the label in the child node.
+  """
+  assert label
+  return [ord(c) for c in reversed(label)]
+
+
+def encode_label(label):
+  """Encodes a node label as a list of bytes with a trailing high byte >0x80.
+  """
+  buf = encode_prefix(label)
+  # Set most significant bit to mark end of label in this node.
+  buf[0] |= (1 << 7)
+  return buf
+
+
+def encode(dafsa):
+  """Encodes a DAFSA to a list of bytes"""
+  output = []
+  offsets = {}
+
+  for node in reversed(top_sort(dafsa)):
+    if (len(node[1]) == 1 and node[1][0] and
+        (offsets[id(node[1][0])] == len(output))):
+      output.extend(encode_prefix(node[0]))
+    else:
+      output.extend(encode_links(node[1], offsets, len(output)))
+      output.extend(encode_label(node[0]))
+    offsets[id(node)] = len(output)
+
+  output.extend(encode_links(dafsa, offsets, len(output)))
+  output.reverse()
+  return output
+
+
+def to_cxx(data):
+  """Generates C++ code from a list of encoded bytes."""
+  text = '/* This file is generated. DO NOT EDIT!\n\n'
+  text += 'The byte array encodes effective tld names. See make_dafsa.py for'
+  text += ' documentation.'
+  text += '*/\n\n'
+  text += 'const unsigned char kDafsa[%s] = {\n' % len(data)
+  for i in range(0, len(data), 12):
+    text += '  '
+    text += ', '.join('0x%02x' % byte for byte in data[i:i + 12])
+    text += ',\n'
+  text += '};\n'
+  return text
+
+
+def words_to_cxx(words):
+  """Generates C++ code from a word list"""
+  dafsa = to_dafsa(words)
+  for fun in (reverse, join_suffixes, reverse, join_suffixes, join_labels):
+    dafsa = fun(dafsa)
+  return to_cxx(encode(dafsa))
+
+
+def parse_gperf(infile):
+  """Parses gperf file and extract strings and return code"""
+  lines = [line.strip() for line in infile]
+  # Extract strings after the first '%%' and before the second '%%'.
+  begin = lines.index('%%') + 1
+  end = lines.index('%%', begin)
+  lines = lines[begin:end]
+  for line in lines:
+    if line[-3:-1] != ', ':
+      raise InputError('Expected "domainname, <digit>", found "%s"' % line)
+    # Technically the DAFSA format can support return values in the range
+    # [0-31], but only the first three bits have any defined meaning.
+    if not line.endswith(('0', '1', '2', '3', '4', '5', '6', '7')):
+      raise InputError('Expected value to be in the range of 0-7, found "%s"' %
+                       line[-1])
+  return [line[:-3] + line[-1] for line in lines]
+
+
+def main():
+  if len(sys.argv) != 3:
+    print('usage: %s infile outfile' % sys.argv[0])
+    return 1
+  with open(sys.argv[1], 'r') as infile, open(sys.argv[2], 'w') as outfile:
+    outfile.write(words_to_cxx(parse_gperf(infile)))
+  return 0
+
+
+if __name__ == '__main__':
+  sys.exit(main())
diff --git a/src/net/tools/dafsa/make_dafsa_unittest.py b/src/net/tools/dafsa/make_dafsa_unittest.py
new file mode 100755
index 0000000..65a8244
--- /dev/null
+++ b/src/net/tools/dafsa/make_dafsa_unittest.py
@@ -0,0 +1,759 @@
+#!/usr/bin/env python
+# Copyright 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+
+import sys
+import unittest
+import make_dafsa
+
+
+class ParseGperfTest(unittest.TestCase):
+  def testMalformedKey(self):
+    """Tests exception is thrown at bad format."""
+    infile1 = [ '%%', '', '%%' ]
+    self.assertRaises(make_dafsa.InputError, make_dafsa.parse_gperf, infile1)
+
+    infile2 = [ '%%', 'apa,1', '%%' ]
+    self.assertRaises(make_dafsa.InputError, make_dafsa.parse_gperf, infile2)
+
+    infile3 = [ '%%', 'apa,  1', '%%' ]
+    self.assertRaises(make_dafsa.InputError, make_dafsa.parse_gperf, infile3)
+
+  def testBadValues(self):
+    """Tests exception is thrown when value is out of range."""
+    infile1 = [ '%%', 'a, -1', '%%' ]
+    self.assertRaises(make_dafsa.InputError, make_dafsa.parse_gperf, infile1)
+
+    infile2 = [ '%%', 'a, x', '%%' ]
+    self.assertRaises(make_dafsa.InputError, make_dafsa.parse_gperf, infile2)
+
+    infile5 = [ '%%', 'a, 12', '%%' ]
+    self.assertRaises(make_dafsa.InputError, make_dafsa.parse_gperf, infile5)
+
+  def testValues(self):
+    """Tests legal values are accepted."""
+    infile1 = [ '%%', 'a, 0', '%%' ]
+    words1 = [ 'a0' ]
+    self.assertEqual(make_dafsa.parse_gperf(infile1), words1)
+
+    infile2 = [ '%%', 'a, 1', '%%' ]
+    words2 = [ 'a1' ]
+    self.assertEqual(make_dafsa.parse_gperf(infile2), words2)
+
+    infile3 = [ '%%', 'a, 2', '%%' ]
+    words3 = [ 'a2' ]
+    self.assertEqual(make_dafsa.parse_gperf(infile3), words3)
+
+    infile4 = [ '%%', 'a, 3', '%%' ]
+    words4 = [ 'a3' ]
+    self.assertEqual(make_dafsa.parse_gperf(infile4), words4)
+
+    infile5 = [ '%%', 'a, 4', '%%' ]
+    words5 = [ 'a4' ]
+    self.assertEqual(make_dafsa.parse_gperf(infile5), words5)
+
+    infile6 = [ '%%', 'a, 6', '%%' ]
+    words6 = [ 'a6' ]
+    self.assertEqual(make_dafsa.parse_gperf(infile6), words6)
+
+  def testOneWord(self):
+    """Tests a single key can be parsed."""
+    infile = [ '%%', 'apa, 1', '%%' ]
+    words = [ 'apa1' ]
+    self.assertEqual(make_dafsa.parse_gperf(infile), words)
+
+  def testTwoWords(self):
+    """Tests a sequence of keys can be parsed."""
+    infile = [ '%%', 'apa, 1', 'bepa.com, 2', '%%' ]
+    words = [ 'apa1', 'bepa.com2' ]
+    self.assertEqual(make_dafsa.parse_gperf(infile), words)
+
+
+class ToDafsaTest(unittest.TestCase):
+  def testEmptyInput(self):
+    """Tests exception is thrown at empty input."""
+    words = ()
+    self.assertRaises(make_dafsa.InputError, make_dafsa.to_dafsa, words)
+
+  def testNonASCII(self):
+    """Tests exception is thrown if illegal characters are used."""
+    words1 = ( chr(0x1F) + 'a1', )
+    self.assertRaises(make_dafsa.InputError, make_dafsa.to_dafsa, words1)
+
+    words2 = ( 'a' + chr(0x1F) + '1', )
+    self.assertRaises(make_dafsa.InputError, make_dafsa.to_dafsa, words2)
+
+    words3 = ( chr(0x80) + 'a1', )
+    self.assertRaises(make_dafsa.InputError, make_dafsa.to_dafsa, words3)
+
+    words4 = ( 'a' + chr(0x80) + '1', )
+    self.assertRaises(make_dafsa.InputError, make_dafsa.to_dafsa, words4)
+
+  def testChar(self):
+    """Tests a DAFSA can be created from a single character domain name."""
+    words = [ 'a0' ]
+    node2 = ( chr(0), [ None ] )
+    node1 = ( 'a', [ node2 ] )
+    source = [ node1 ]
+    self.assertEqual(make_dafsa.to_dafsa(words), source)
+
+  def testChars(self):
+    """Tests a DAFSA can be created from a multi character domain name."""
+    words = [ 'ab0' ]
+    node3 = ( chr(0), [ None ] )
+    node2 = ( 'b', [ node3 ] )
+    node1 = ( 'a', [ node2 ] )
+    source = [ node1 ]
+    self.assertEqual(make_dafsa.to_dafsa(words), source)
+
+  def testWords(self):
+    """Tests a DAFSA can be created from a sequence of domain names."""
+    words = [ 'a0', 'b1' ]
+    node4 = ( chr(1), [ None ] )
+    node3 = ( 'b', [ node4 ] )
+    node2 = ( chr(0), [ None ] )
+    node1 = ( 'a', [ node2 ] )
+    source = [ node1, node3 ]
+    self.assertEqual(make_dafsa.to_dafsa(words), source)
+
+
+class ToWordsTest(unittest.TestCase):
+  def testSink(self):
+    """Tests the sink is exapnded to a list with an empty string."""
+    node1 = None
+    words = [ '' ]
+    self.assertEqual(make_dafsa.to_words(node1), words)
+
+  def testSingleNode(self):
+    """Tests a single node is expanded to a list with the label string."""
+
+    # 'ab' -> [ 'ab' ]
+
+    node1 = ( 'ab', [ None ] )
+    words = [ 'ab' ]
+    self.assertEqual(make_dafsa.to_words(node1), words)
+
+  def testChain(self):
+    """Tests a sequence of nodes are preoperly expanded."""
+
+    # 'ab' -> 'cd' => [ 'abcd' ]
+
+    node2 = ( 'cd', [ None ] )
+    node1 = ( 'ab', [ node2 ] )
+    words = [ 'abcd' ]
+    self.assertEqual(make_dafsa.to_words(node1), words)
+
+  def testInnerTerminator(self):
+    """Tests a sequence with an inner terminator is expanded to two strings."""
+
+    # 'a' -> 'b'
+    #   \       => [ 'ab', 'a' ]
+    #  {sink}
+
+    node2 = ( 'b', [ None ] )
+    node1 = ( 'a', [ node2, None ] )
+    words = [ 'ab', 'a' ]
+    self.assertEqual(make_dafsa.to_words(node1), words)
+
+  def testDiamond(self):
+    """Tests a diamond can be expanded to a word list."""
+
+    #   'cd'
+    #   /  \
+    # 'ab' 'gh'
+    #   \  /
+    #   'ef'
+
+    node4 = ( 'gh', [ None ] )
+    node3 = ( 'ef', [ node4 ] )
+    node2 = ( 'cd', [ node4 ] )
+    node1 = ( 'ab', [ node2, node3 ] )
+    words = [ 'abcdgh', 'abefgh' ]
+    self.assertEqual(make_dafsa.to_words(node1), words)
+
+
+class JoinLabelsTest(unittest.TestCase):
+  def testLabel(self):
+    """Tests a single label passes unchanged."""
+
+    # 'a'  =>  'a'
+
+    node1 = ( 'a', [ None ] )
+    source = [ node1 ]
+    self.assertEqual(make_dafsa.join_labels(source), source)
+
+  def testInnerTerminator(self):
+    """Tests a sequence with an inner terminator passes unchanged."""
+
+    # 'a' -> 'b'    'a' -> 'b'
+    #   \       =>    \
+    #  {sink}        {sink}
+
+    node2 = ( 'b', [ None ] )
+    node1 = ( 'a', [ node2, None ] )
+    source = [ node1 ]
+    self.assertEqual(make_dafsa.join_labels(source), source)
+
+  def testLabels(self):
+    """Tests a sequence of labels can be joined."""
+
+    # 'a' -> 'b'  =>  'ab'
+
+    node2 = ( 'b', [ None ] )
+    node1 = ( 'a', [ node2 ] )
+    source1 = [ node1 ]
+    node3 = ( 'ab', [ None ] )
+    source2 = [ node3 ]
+    self.assertEqual(make_dafsa.join_labels(source1), source2)
+
+  def testCompositeLabels(self):
+    """Tests a sequence of multi character labels can be joined."""
+
+    # 'ab' -> 'cd'  =>  'abcd'
+
+    node2 = ( 'cd', [ None ] )
+    node1 = ( 'ab', [ node2 ] )
+    source1 = [ node1 ]
+    node3 = ( 'abcd', [ None ] )
+    source2 = [ node3 ]
+    self.assertEqual(make_dafsa.join_labels(source1), source2)
+
+  def testAtomicTrie(self):
+    """Tests a trie formed DAFSA with atomic labels passes unchanged."""
+
+    #   'b'       'b'
+    #   /         /
+    # 'a'   =>  'a'
+    #   \         \
+    #   'c'       'c'
+
+    node3 = ( 'c', [ None ] )
+    node2 = ( 'b', [ None ] )
+    node1 = ( 'a', [ node2, node3 ] )
+    source = [ node1 ]
+    self.assertEqual(make_dafsa.join_labels(source), source)
+
+  def testReverseAtomicTrie(self):
+    """Tests a reverse trie formed DAFSA with atomic labels passes unchanged."""
+
+    # 'a'        'a'
+    #   \          \
+    #   'c'  =>    'c'
+    #   /          /
+    # 'b'        'b'
+
+    node3 = ( 'c', [ None ] )
+    node2 = ( 'b', [ node3 ] )
+    node1 = ( 'a', [ node3 ] )
+    source = [ node1, node2 ]
+    self.assertEqual(make_dafsa.join_labels(source), source)
+
+  def testChainedTrie(self):
+    """Tests a trie formed DAFSA with chained labels can be joined."""
+
+    #          'c' -> 'd'         'cd'
+    #          /                  /
+    # 'a' -> 'b'           =>  'ab'
+    #          \                  \
+    #          'e' -> 'f'         'ef'
+
+    node6 = ( 'f', [ None ] )
+    node5 = ( 'e', [ node6 ] )
+    node4 = ( 'd', [ None ] )
+    node3 = ( 'c', [ node4 ] )
+    node2 = ( 'b', [ node3, node5 ] )
+    node1 = ( 'a', [ node2 ] )
+    source1 = [ node1 ]
+    node9 = ( 'ef', [ None ] )
+    node8 = ( 'cd', [ None ] )
+    node7 = ( 'ab', [ node8, node9 ] )
+    source2 = [ node7 ]
+    self.assertEqual(make_dafsa.join_labels(source1), source2)
+
+  def testReverseChainedTrie(self):
+    """Tests a reverse trie formed DAFSA with chained labels can be joined."""
+
+    # 'a' -> 'b'               'ab'
+    #          \                  \
+    #          'e' -> 'f'  =>     'ef'
+    #          /                  /
+    # 'c' -> 'd'               'cd'
+
+    node6 = ( 'f', [ None ] )
+    node5 = ( 'e', [ node6 ] )
+    node4 = ( 'd', [ node5 ] )
+    node3 = ( 'c', [ node4 ] )
+    node2 = ( 'b', [ node5 ] )
+    node1 = ( 'a', [ node2 ] )
+    source1 = [ node1, node3 ]
+    node9 = ( 'ef', [ None ] )
+    node8 = ( 'cd', [ node9 ] )
+    node7 = ( 'ab', [ node9 ] )
+    source2 = [ node7, node8 ]
+    self.assertEqual(make_dafsa.join_labels(source1), source2)
+
+
+class JoinSuffixesTest(unittest.TestCase):
+  def testSingleLabel(self):
+    """Tests a single label passes unchanged."""
+
+    # 'a'  =>  'a'
+
+    node1 = ( 'a', [ None ] )
+    source = [ node1 ]
+    self.assertEqual(make_dafsa.join_suffixes(source), source)
+
+  def testInnerTerminator(self):
+    """Tests a sequence with an inner terminator passes unchanged."""
+
+    # 'a' -> 'b'    'a' -> 'b'
+    #   \       =>    \
+    #  {sink}        {sink}
+
+    node2 = ( 'b', [ None ] )
+    node1 = ( 'a', [ node2, None ] )
+    source = [ node1 ]
+    self.assertEqual(make_dafsa.join_suffixes(source), source)
+
+  def testDistinctTrie(self):
+    """Tests a trie formed DAFSA with distinct labels passes unchanged."""
+
+    #   'b'       'b'
+    #   /         /
+    # 'a'   =>  'a'
+    #   \         \
+    #   'c'       'c'
+
+    node3 = ( 'c', [ None ] )
+    node2 = ( 'b', [ None ] )
+    node1 = ( 'a', [ node2, node3 ] )
+    source = [ node1 ]
+    self.assertEqual(make_dafsa.join_suffixes(source), source)
+
+  def testReverseDistinctTrie(self):
+    """Tests a reverse trie formed DAFSA with distinct labels passes unchanged.
+    """
+
+    # 'a'        'a'
+    #   \          \
+    #   'c'  =>    'c'
+    #   /          /
+    # 'b'        'b'
+
+    node3 = ( 'c', [ None ] )
+    node2 = ( 'b', [ node3 ] )
+    node1 = ( 'a', [ node3 ] )
+    source = [ node1, node2 ]
+    self.assertEqual(make_dafsa.join_suffixes(source), source)
+
+  def testJoinTwoHeads(self):
+    """Tests two heads can be joined even if there is something else between."""
+
+    # 'a'       ------'a'
+    #                 /
+    # 'b'  =>  'b'   /
+    #               /
+    # 'a'       ---
+    #
+    # The picture above should shows that the new version should have just one
+    # instance of the node with label 'a'.
+
+    node3 = ( 'a', [ None ] )
+    node2 = ( 'b', [ None ] )
+    node1 = ( 'a', [ None ] )
+    source1 = [ node1, node2, node3 ]
+    source2 = make_dafsa.join_suffixes(source1)
+
+    # Both versions should expand to the same content.
+    self.assertEqual(source1, source2)
+    # But the new version should have just one instance of 'a'.
+    self.assertIs(source2[0], source2[2])
+
+  def testJoinTails(self):
+    """Tests tails can be joined."""
+
+    # 'a' -> 'c'      'a'
+    #                   \
+    #             =>    'c'
+    #                   /
+    # 'b' -> 'c'      'b'
+
+    node4 = ( 'c', [ None ] )
+    node3 = ( 'b', [ node4 ] )
+    node2 = ( 'c', [ None ] )
+    node1 = ( 'a', [ node2 ] )
+    source1 = [ node1, node3 ]
+    source2 = make_dafsa.join_suffixes(source1)
+
+    # Both versions should expand to the same content.
+    self.assertEqual(source1, source2)
+    # But the new version should have just one tail.
+    self.assertIs(source2[0][1][0], source2[1][1][0])
+
+  def testMakeRecursiveTrie(self):
+    """Tests recursive suffix join."""
+
+    # 'a' -> 'e' -> 'g'     'a'
+    #                         \
+    #                         'e'
+    #                         / \
+    # 'b' -> 'e' -> 'g'     'b'  \
+    #                             \
+    #                   =>        'g'
+    #                             /
+    # 'c' -> 'f' -> 'g'     'c'  /
+    #                         \ /
+    #                         'f'
+    #                         /
+    # 'd' -> 'f' -> 'g'     'd'
+
+    node7 = ( 'g', [ None ] )
+    node6 = ( 'f', [ node7 ] )
+    node5 = ( 'e', [ node7 ] )
+    node4 = ( 'd', [ node6 ] )
+    node3 = ( 'c', [ node6 ] )
+    node2 = ( 'b', [ node5 ] )
+    node1 = ( 'a', [ node5 ] )
+    source1 = [ node1, node2, node3, node4 ]
+    source2 = make_dafsa.join_suffixes(source1)
+
+    # Both versions should expand to the same content.
+    self.assertEqual(source1, source2)
+    # But the new version should have just one 'e'.
+    self.assertIs(source2[0][1][0], source2[1][1][0])
+    # And one 'f'.
+    self.assertIs(source2[2][1][0], source2[3][1][0])
+    # And one 'g'.
+    self.assertIs(source2[0][1][0][1][0], source2[2][1][0][1][0])
+
+  def testMakeDiamond(self):
+    """Test we can join suffixes of a trie."""
+
+    #   'b' -> 'd'        'b'
+    #   /                 / \
+    # 'a'           =>  'a' 'd'
+    #   \                 \ /
+    #   'c' -> 'd'        'c'
+
+    node5 = ( 'd', [ None ] )
+    node4 = ( 'c', [ node5 ] )
+    node3 = ( 'd', [ None ] )
+    node2 = ( 'b', [ node3 ] )
+    node1 = ( 'a', [ node2, node4 ] )
+    source1 = [ node1 ]
+    source2 = make_dafsa.join_suffixes(source1)
+
+    # Both versions should expand to the same content.
+    self.assertEqual(source1, source2)
+    # But the new version should have just one 'd'.
+    self.assertIs(source2[0][1][0][1][0], source2[0][1][1][1][0])
+
+  def testJoinOneChild(self):
+    """Tests that we can join some children but not all."""
+
+    #   'c'            ----'c'
+    #   /            /     /
+    # 'a'          'a'    /
+    #   \            \   /
+    #   'd'          'd'/
+    #          =>      /
+    #   'c'           /
+    #   /            /
+    # 'b'          'b'
+    #   \            \
+    #   'e'          'e'
+
+    node6 = ( 'e', [ None ] )
+    node5 = ( 'c', [ None ] )
+    node4 = ( 'b', [ node5, node6 ] )
+    node3 = ( 'd', [ None ] )
+    node2 = ( 'c', [ None ] )
+    node1 = ( 'a', [ node2, node3 ] )
+    source1 = [ node1, node4 ]
+    source2 = make_dafsa.join_suffixes(source1)
+
+    # Both versions should expand to the same content.
+    self.assertEqual(source1, source2)
+    # But the new version should have just one 'c'.
+    self.assertIs(source2[0][1][0], source2[1][1][0])
+
+
+class ReverseTest(unittest.TestCase):
+  def testAtomicLabel(self):
+    """Tests an atomic label passes unchanged."""
+
+    # 'a'  =>  'a'
+
+    node1 = ( 'a', [ None ] )
+    source = [ node1 ]
+    self.assertEqual(make_dafsa.reverse(source), source)
+
+  def testLabel(self):
+    """Tests that labels are reversed."""
+
+    # 'ab'  =>  'ba'
+
+    node1 = ( 'ab', [ None ] )
+    source1 = [ node1 ]
+    node2 = ( 'ba', [ None ] )
+    source2 = [ node2 ]
+    self.assertEqual(make_dafsa.reverse(source1), source2)
+
+  def testChain(self):
+    """Tests that edges are reversed."""
+
+    # 'a' -> 'b'  =>  'b' -> 'a'
+
+    node2 = ( 'b', [ None ] )
+    node1 = ( 'a', [ node2 ] )
+    source1 = [ node1 ]
+    node4 = ( 'a', [ None ] )
+    node3 = ( 'b', [ node4 ] )
+    source2 = [ node3 ]
+    self.assertEqual(make_dafsa.reverse(source1), source2)
+
+  def testInnerTerminator(self):
+    """Tests a sequence with an inner terminator can be reversed."""
+
+    # 'a' -> 'b'    'b' -> 'a'
+    #   \       =>         /
+    #  {sink}        ------
+
+    node2 = ( 'b', [ None ] )
+    node1 = ( 'a', [ node2, None ] )
+    source1 = [ node1 ]
+    node4 = ( 'a', [ None ] )
+    node3 = ( 'b', [ node4 ] )
+    source2 = [ node3, node4 ]
+    self.assertEqual(make_dafsa.reverse(source1), source2)
+
+  def testAtomicTrie(self):
+    """Tests a trie formed DAFSA can be reversed."""
+
+    #   'b'     'b'
+    #   /         \
+    # 'a'   =>    'a'
+    #   \         /
+    #   'c'     'c'
+
+    node3 = ( 'c', [ None ] )
+    node2 = ( 'b', [ None ] )
+    node1 = ( 'a', [ node2, node3 ] )
+    source1 = [ node1 ]
+    node6 = ( 'a', [ None ] )
+    node5 = ( 'c', [ node6 ] )
+    node4 = ( 'b', [ node6 ] )
+    source2 = [ node4, node5 ]
+    self.assertEqual(make_dafsa.reverse(source1), source2)
+
+  def testReverseAtomicTrie(self):
+    """Tests a reverse trie formed DAFSA can be reversed."""
+
+    # 'a'          'a'
+    #   \          /
+    #   'c'  =>  'c'
+    #   /          \
+    # 'b'          'b'
+
+    node3 = ( 'c', [ None ] )
+    node2 = ( 'b', [ node3 ] )
+    node1 = ( 'a', [ node3 ] )
+    source1 = [ node1, node2 ]
+    node6 = ( 'b', [ None ] )
+    node5 = ( 'a', [ None ] )
+    node4 = ( 'c', [ node5, node6 ] )
+    source2 = [ node4 ]
+    self.assertEqual(make_dafsa.reverse(source1), source2)
+
+  def testDiamond(self):
+    """Tests we can reverse both edges and nodes in a diamond."""
+
+    #   'cd'           'dc'
+    #   /  \           /  \
+    # 'ab' 'gh'  =>  'hg' 'ba'
+    #   \  /           \  /
+    #   'ef'           'fe'
+
+    node4 = ( 'gh', [ None ] )
+    node3 = ( 'ef', [ node4 ] )
+    node2 = ( 'cd', [ node4 ] )
+    node1 = ( 'ab', [ node2, node3 ] )
+    source1 = [ node1 ]
+    node8 = ( 'ba', [ None ] )
+    node7 = ( 'fe', [ node8 ] )
+    node6 = ( 'dc', [ node8 ] )
+    node5 = ( 'hg', [ node6, node7 ] )
+    source2 = [ node5 ]
+    self.assertEqual(make_dafsa.reverse(source1), source2)
+
+
+class TopSortTest(unittest.TestCase):
+  def testNode(self):
+    """Tests a DAFSA with one node can be sorted."""
+
+    # 'a'  =>  [ 'a' ]
+
+    node1 = ( 'a', [ None ] )
+    source = [ node1 ]
+    nodes = [ node1 ]
+    self.assertEqual(make_dafsa.top_sort(source), nodes)
+
+  def testDiamond(self):
+    """Tests nodes in a diamond can be sorted."""
+
+    #   'b'
+    #   / \
+    # 'a' 'd'
+    #   \ /
+    #   'c'
+
+    node4 = ( 'd', [ None ] )
+    node3 = ( 'c', [ node4 ] )
+    node2 = ( 'b', [ node4 ] )
+    node1 = ( 'a', [ node2, node3 ] )
+    source = [ node1 ]
+    nodes = make_dafsa.top_sort(source)
+    self.assertLess(nodes.index(node1), nodes.index(node2))
+    self.assertLess(nodes.index(node2), nodes.index(node4))
+    self.assertLess(nodes.index(node3), nodes.index(node4))
+
+
+class EncodePrefixTest(unittest.TestCase):
+  def testChar(self):
+    """Tests to encode a single character prefix."""
+    label = 'a'
+    bytes = [ ord('a') ]
+    self.assertEqual(make_dafsa.encode_prefix(label), bytes)
+
+  def testChars(self):
+    """Tests to encode a multi character prefix."""
+    label = 'ab'
+    bytes = [ ord('b'), ord('a') ]
+    self.assertEqual(make_dafsa.encode_prefix(label), bytes)
+
+
+class EncodeLabelTest(unittest.TestCase):
+  def testChar(self):
+    """Tests to encode a single character label."""
+    label = 'a'
+    bytes = [ ord('a') + 0x80 ]
+    self.assertEqual(make_dafsa.encode_label(label), bytes)
+
+  def testChars(self):
+    """Tests to encode a multi character label."""
+    label = 'ab'
+    bytes = [ ord('b') + 0x80, ord('a') ]
+    self.assertEqual(make_dafsa.encode_label(label), bytes)
+
+
+class EncodeLinksTest(unittest.TestCase):
+  def testEndLabel(self):
+    """Tests to encode link to the sink."""
+    children = [ None ]
+    offsets = {}
+    bytes = 0
+    output = []
+    self.assertEqual(make_dafsa.encode_links(children, offsets, bytes),
+                      output)
+
+  def testOneByteOffset(self):
+    """Tests to encode a single one byte offset."""
+    node = ( '', [ None ] )
+    children = [ node ]
+    offsets = { id(node) : 2 }
+    bytes = 5
+    output = [ 132 ]
+    self.assertEqual(make_dafsa.encode_links(children, offsets, bytes),
+                      output)
+
+  def testOneByteOffsets(self):
+    """Tests to encode a sequence of one byte offsets."""
+    node1 = ( '', [ None ] )
+    node2 = ( '', [ None ] )
+    children = [ node1, node2 ]
+    offsets = { id(node1) : 2, id(node2) : 1 }
+    bytes = 5
+    output = [ 129, 5 ]
+    self.assertEqual(make_dafsa.encode_links(children, offsets, bytes),
+                      output)
+
+  def testTwoBytesOffset(self):
+    """Tests to encode a single two byte offset."""
+    node = ( '', [ None ] )
+    children = [ node ]
+    offsets = { id(node) : 2 }
+    bytes = 1005
+    output = [ 237, 195]
+    self.assertEqual(make_dafsa.encode_links(children, offsets, bytes),
+                      output)
+
+  def testTwoBytesOffsets(self):
+    """Tests to encode a sequence of two byte offsets."""
+    node1 = ( '', [ None ] )
+    node2 = ( '', [ None ] )
+    node3 = ( '', [ None ] )
+    children = [ node1, node2, node3 ]
+    offsets = { id(node1) : 1002, id(node2) : 2, id(node3) : 2002 }
+    bytes = 3005
+    output = [ 232, 195, 232, 67, 241, 67 ]
+    self.assertEqual(make_dafsa.encode_links(children, offsets, bytes),
+                      output)
+
+  def testThreeBytesOffset(self):
+    """Tests to encode a single three byte offset."""
+    node = ( '', [ None ] )
+    children = [ node ]
+    offsets = { id(node) : 2 }
+    bytes = 100005
+    output = [ 166, 134, 225 ]
+    self.assertEqual(make_dafsa.encode_links(children, offsets, bytes),
+                      output)
+
+  def testThreeBytesOffsets(self):
+    """Tests to encode a sequence of three byte offsets."""
+    node1 = ( '', [ None ] )
+    node2 = ( '', [ None ] )
+    node3 = ( '', [ None ] )
+    children = [ node1, node2, node3 ]
+    offsets = { id(node1) : 100002, id(node2) : 2, id(node3) : 200002 }
+    bytes = 300005
+    output = [ 160, 134, 225, 160, 134, 97, 172, 134, 97 ]
+    self.assertEqual(make_dafsa.encode_links(children, offsets, bytes),
+                      output)
+
+  def testOneTwoThreeBytesOffsets(self):
+    """Tests to encode offsets of different sizes."""
+    node1 = ( '', [ None ] )
+    node2 = ( '', [ None ] )
+    node3 = ( '', [ None ] )
+    children = [ node1, node2, node3 ]
+    offsets = { id(node1) : 10003, id(node2) : 10002, id(node3) : 100002 }
+    bytes = 300005
+    output = [ 129, 143, 95, 97, 74, 13, 99 ]
+    self.assertEqual(make_dafsa.encode_links(children, offsets, bytes),
+                      output)
+
+
+class ExamplesTest(unittest.TestCase):
+  def testExample1(self):
+    """Tests Example 1 from make_dafsa.py."""
+    infile = [ '%%', 'aa, 1', 'a, 2', '%%' ]
+    bytes = [ 0x81, 0xE1, 0x02, 0x81, 0x82, 0x61, 0x81 ]
+    outfile = make_dafsa.to_cxx(bytes)
+    self.assertEqual(make_dafsa.words_to_cxx(make_dafsa.parse_gperf(infile)),
+                      outfile)
+
+  def testExample2(self):
+    """Tests Example 2 from make_dafsa.py."""
+    infile = [ '%%', 'aa, 1', 'bbb, 2', 'baa, 1', '%%' ]
+    bytes = [ 0x02, 0x83, 0xE2, 0x02, 0x83, 0x61, 0x61, 0x81, 0x62, 0x62,
+              0x82 ]
+    outfile = make_dafsa.to_cxx(bytes)
+    self.assertEqual(make_dafsa.words_to_cxx(make_dafsa.parse_gperf(infile)),
+                      outfile)
+
+
+if __name__ == '__main__':
+  unittest.main()