Merge m-c to autoland a=merge
authorWes Kocher <wkocher@mozilla.com>
Mon, 10 Apr 2017 16:55:21 -0700
changeset 560248 4e4bd12cc11cab7e9227bd240424311d4acf596a
parent 560247 88e9938ce64ca0281c4f6ed2dd8ca93a0bfe5100 (current diff)
parent 560035 b5b5dbed1c409d96aa6b97f2036cd66312fc45ad (diff)
child 560249 a5a6c0f79733688fc11c3a03a0d2ea9b2ae1d8aa
push id53365
push userjichen@mozilla.com
push dateTue, 11 Apr 2017 08:35:12 +0000
reviewersmerge
milestone55.0a1
Merge m-c to autoland a=merge
gfx/layers/Layers.cpp
gfx/layers/composite/ContainerLayerComposite.cpp
media/libcubeb/src/cubeb_resampler.cpp
media/libcubeb/temp-patch-debug-drift.patch
media/libcubeb/update.sh
security/sandbox/test/browser_content_sandbox_fs.js
--- a/browser/base/content/browser-thumbnails.js
+++ b/browser/base/content/browser-thumbnails.js
@@ -19,16 +19,21 @@ var gBrowserThumbnails = {
   _sslDiskCacheEnabled: null,
 
   /**
    * Map of capture() timeouts assigned to their browsers.
    */
   _timeouts: null,
 
   /**
+   * Top site URLs refresh timer.
+   */
+  _topSiteURLsRefreshTimer: null,
+
+  /**
    * List of tab events we want to listen for.
    */
   _tabEvents: ["TabClose", "TabSelect"],
 
   init: function Thumbnails_init() {
     PageThumbs.addExpirationFilter(this);
     gBrowser.addTabsProgressListener(this);
     Services.prefs.addObserver(this.PREF_DISK_CACHE_SSL, this, false);
@@ -42,16 +47,20 @@ var gBrowserThumbnails = {
 
     this._timeouts = new WeakMap();
   },
 
   uninit: function Thumbnails_uninit() {
     PageThumbs.removeExpirationFilter(this);
     gBrowser.removeTabsProgressListener(this);
     Services.prefs.removeObserver(this.PREF_DISK_CACHE_SSL, this);
+    if (this._topSiteURLsRefreshTimer) {
+      this._topSiteURLsRefreshTimer.cancel();
+      this._topSiteURLsRefreshTimer = null;
+    }
 
     this._tabEvents.forEach(function(aEvent) {
       gBrowser.tabContainer.removeEventListener(aEvent, this);
     }, this);
   },
 
   handleEvent: function Thumbnails_handleEvent(aEvent) {
     switch (aEvent.type) {
@@ -70,16 +79,32 @@ var gBrowserThumbnails = {
     }
   },
 
   observe: function Thumbnails_observe() {
     this._sslDiskCacheEnabled =
       Services.prefs.getBoolPref(this.PREF_DISK_CACHE_SSL);
   },
 
+  clearTopSiteURLCache: function Thumbnails_clearTopSiteURLCache() {
+    if (this._topSiteURLsRefreshTimer) {
+      this._topSiteURLsRefreshTimer.cancel();
+      this._topSiteURLsRefreshTimer = null;
+    }
+    // Delete the defined property
+    delete this._topSiteURLs;
+    XPCOMUtils.defineLazyGetter(this, "_topSiteURLs",
+                                Thumbnails_getTopSiteURLs);
+  },
+
+  notify: function Thumbnails_notify(timer) {
+    gBrowserThumbnails._topSiteURLsRefreshTimer = null;
+    gBrowserThumbnails.clearTopSiteURLCache();
+  },
+
   filterForThumbnailExpiration:
   function Thumbnails_filterForThumbnailExpiration(aCallback) {
     aCallback(this._topSiteURLs);
   },
 
   /**
    * State change progress listener for all tabs.
    */
@@ -120,24 +145,35 @@ var gBrowserThumbnails = {
     // Capture only if it's the currently selected tab.
     if (aBrowser != gBrowser.selectedBrowser) {
       aCallback(false);
       return;
     }
     PageThumbs.shouldStoreThumbnail(aBrowser, aCallback);
   },
 
-  get _topSiteURLs() {
-    return NewTabUtils.links.getLinks().reduce((urls, link) => {
-      if (link)
-        urls.push(link.url);
-      return urls;
-    }, []);
-  },
-
   _clearTimeout: function Thumbnails_clearTimeout(aBrowser) {
     if (this._timeouts.has(aBrowser)) {
       aBrowser.removeEventListener("scroll", this);
       clearTimeout(this._timeouts.get(aBrowser));
       this._timeouts.delete(aBrowser);
     }
   }
 };
+
+function Thumbnails_getTopSiteURLs() {
+  // The _topSiteURLs getter can be expensive to run, but its return value can
+  // change frequently on new profiles, so as a compromise we cache its return
+  // value as a lazy getter for 1 minute every time it's called.
+  gBrowserThumbnails._topSiteURLsRefreshTimer =
+    Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer);
+  gBrowserThumbnails._topSiteURLsRefreshTimer.initWithCallback(gBrowserThumbnails,
+                                                               60 * 1000,
+                                                               Ci.nsITimer.TYPE_ONE_SHOT);
+  return NewTabUtils.links.getLinks().reduce((urls, link) => {
+    if (link)
+      urls.push(link.url);
+    return urls;
+  }, []);
+}
+
+XPCOMUtils.defineLazyGetter(gBrowserThumbnails, "_topSiteURLs",
+                            Thumbnails_getTopSiteURLs);
--- a/browser/modules/PluginContent.jsm
+++ b/browser/modules/PluginContent.jsm
@@ -158,17 +158,16 @@ PluginContent.prototype = {
   },
 
   onPageHide(event) {
     // Ignore events that aren't from the main document.
     if (!this.content || event.target != this.content.document) {
       return;
     }
 
-    this._finishRecordingFlashPluginTelemetry();
     this.clearPluginCaches();
     this.haveShownNotification = false;
   },
 
   getPluginUI(plugin, anonid) {
     return plugin.ownerDocument.
            getAnonymousElementByAttribute(plugin, "anonid", anonid);
   },
@@ -543,20 +542,16 @@ PluginContent.prototype = {
         shouldShowNotification = true;
         let pluginRect = plugin.getBoundingClientRect();
         if (pluginRect.width <= 5 && pluginRect.height <= 5) {
           Services.telemetry.getHistogramById("PLUGIN_TINY_CONTENT").add(1);
         }
         break;
     }
 
-    if (this._getPluginInfo(plugin).mimetype === FLASH_MIME_TYPE) {
-      this._recordFlashPluginTelemetry(eventType, plugin);
-    }
-
     // Show the in-content UI if it's not too big. The crashed plugin handler already did this.
     let overlay = this.getPluginUI(plugin, "main");
     if (eventType != "PluginCrashed") {
       if (overlay != null) {
         this.setVisibility(plugin, overlay,
                            this.shouldShowOverlay(plugin, overlay));
         let resizeListener = () => {
           this.setVisibility(plugin, overlay,
@@ -578,59 +573,16 @@ PluginContent.prototype = {
       }, true);
     }
 
     if (shouldShowNotification) {
       this._showClickToPlayNotification(plugin, false);
     }
   },
 
-  _recordFlashPluginTelemetry(eventType, plugin) {
-    if (!Services.telemetry.canRecordExtended) {
-      return;
-    }
-
-    if (!this.flashPluginStats) {
-      this.flashPluginStats = {
-        instancesCount: 0,
-        plugins: new WeakSet()
-      };
-    }
-
-    if (!this.flashPluginStats.plugins.has(plugin)) {
-      // Reporting plugin instance and its dimensions only once.
-      this.flashPluginStats.plugins.add(plugin);
-
-      this.flashPluginStats.instancesCount++;
-
-      let pluginRect = plugin.getBoundingClientRect();
-      Services.telemetry.getHistogramById("FLASH_PLUGIN_WIDTH")
-                       .add(pluginRect.width);
-      Services.telemetry.getHistogramById("FLASH_PLUGIN_HEIGHT")
-                       .add(pluginRect.height);
-      Services.telemetry.getHistogramById("FLASH_PLUGIN_AREA")
-                       .add(pluginRect.width * pluginRect.height);
-
-      let state = this._getPluginInfo(plugin).fallbackType;
-      if (state === null) {
-        state = Ci.nsIObjectLoadingContent.PLUGIN_UNSUPPORTED;
-      }
-      Services.telemetry.getHistogramById("FLASH_PLUGIN_STATES")
-                       .add(state);
-    }
-  },
-
-  _finishRecordingFlashPluginTelemetry() {
-    if (this.flashPluginStats) {
-      Services.telemetry.getHistogramById("FLASH_PLUGIN_INSTANCES_ON_PAGE")
-                        .add(this.flashPluginStats.instancesCount);
-    delete this.flashPluginStats;
-    }
-  },
-
   isKnownPlugin(objLoadingContent) {
     return (objLoadingContent.getContentTypeForMIMEType(objLoadingContent.actualType) ==
             Ci.nsIObjectLoadingContent.TYPE_PLUGIN);
   },
 
   canActivatePlugin(objLoadingContent) {
     // if this isn't a known plugin, we can't activate it
     // (this also guards pluginHost.getPermissionStringForType against
--- a/caps/ContentPrincipal.cpp
+++ b/caps/ContentPrincipal.cpp
@@ -122,39 +122,16 @@ ContentPrincipal::Init(nsIURI *aCodebase
 }
 
 nsresult
 ContentPrincipal::GetScriptLocation(nsACString &aStr)
 {
   return mCodebase->GetSpec(aStr);
 }
 
-static nsresult
-AssignFullSpecToOriginNoSuffix(nsIURI* aURI, nsACString& aOriginNoSuffix)
-{
-  nsresult rv = aURI->GetAsciiSpec(aOriginNoSuffix);
-  NS_ENSURE_SUCCESS(rv, rv);
-
-  // The origin, when taken from the spec, should not contain the ref part of
-  // the URL.
-
-  int32_t pos = aOriginNoSuffix.FindChar('?');
-  int32_t hashPos = aOriginNoSuffix.FindChar('#');
-
-  if (hashPos != kNotFound && (pos == kNotFound || hashPos < pos)) {
-    pos = hashPos;
-  }
-
-  if (pos != kNotFound) {
-    aOriginNoSuffix.Truncate(pos);
-  }
-
-  return NS_OK;
-}
-
 /* static */ nsresult
 ContentPrincipal::GenerateOriginNoSuffixFromURI(nsIURI* aURI,
                                                 nsACString& aOriginNoSuffix)
 {
   if (!aURI) {
     return NS_ERROR_FAILURE;
   }
 
@@ -178,17 +155,17 @@ ContentPrincipal::GenerateOriginNoSuffix
 
   nsresult rv;
 // NB: This is only compiled for Thunderbird/Suite.
 #if IS_ORIGIN_IS_FULL_SPEC_DEFINED
   bool fullSpec = false;
   rv = NS_URIChainHasFlags(origin, nsIProtocolHandler::ORIGIN_IS_FULL_SPEC, &fullSpec);
   NS_ENSURE_SUCCESS(rv, rv);
   if (fullSpec) {
-    return AssignFullSpecToOriginNoSuffix(origin, aOriginNoSuffix);
+    return origin->GetAsciiSpec(aOriginNoSuffix);
   }
 #endif
 
   // We want the invariant that prinA.origin == prinB.origin i.f.f.
   // prinA.equals(prinB). However, this requires that we impose certain constraints
   // on the behavior and origin semantics of principals, and in particular, forbid
   // creating origin strings for principals whose equality constraints are not
   // expressible as strings (i.e. object equality). Moreover, we want to forbid URIs
@@ -253,18 +230,34 @@ ContentPrincipal::GenerateOriginNoSuffix
   if (!hostPort.IsEmpty()) {
     rv = origin->GetScheme(aOriginNoSuffix);
     NS_ENSURE_SUCCESS(rv, rv);
     aOriginNoSuffix.AppendLiteral("://");
     aOriginNoSuffix.Append(hostPort);
     return NS_OK;
   }
 
-  // Use the full spec.
-  return AssignFullSpecToOriginNoSuffix(origin, aOriginNoSuffix);
+  rv = aURI->GetAsciiSpec(aOriginNoSuffix);
+  NS_ENSURE_SUCCESS(rv, rv);
+
+  // The origin, when taken from the spec, should not contain the ref part of
+  // the URL.
+
+  int32_t pos = aOriginNoSuffix.FindChar('?');
+  int32_t hashPos = aOriginNoSuffix.FindChar('#');
+
+  if (hashPos != kNotFound && (pos == kNotFound || hashPos < pos)) {
+    pos = hashPos;
+  }
+
+  if (pos != kNotFound) {
+    aOriginNoSuffix.Truncate(pos);
+  }
+
+  return NS_OK;
 }
 
 bool
 ContentPrincipal::SubsumesInternal(nsIPrincipal* aOther,
                                    BasePrincipal::DocumentDomainConsideration aConsideration)
 {
   MOZ_ASSERT(aOther);
 
--- a/dom/base/WebSocket.cpp
+++ b/dom/base/WebSocket.cpp
@@ -58,16 +58,21 @@
 #include "nsIObserver.h"
 #include "nsIRequest.h"
 #include "nsIThreadRetargetableRequest.h"
 #include "nsIWebSocketChannel.h"
 #include "nsIWebSocketListener.h"
 #include "nsProxyRelease.h"
 #include "nsWeakReference.h"
 
+#define OPEN_EVENT_STRING NS_LITERAL_STRING("open")
+#define MESSAGE_EVENT_STRING NS_LITERAL_STRING("message")
+#define ERROR_EVENT_STRING NS_LITERAL_STRING("error")
+#define CLOSE_EVENT_STRING NS_LITERAL_STRING("close")
+
 using namespace mozilla::net;
 using namespace mozilla::dom::workers;
 
 namespace mozilla {
 namespace dom {
 
 class WebSocketImpl final : public nsIInterfaceRequestor
                           , public nsIWebSocketListener
@@ -776,17 +781,17 @@ WebSocketImpl::OnStart(nsISupports* aCon
                             mWebSocket->mEstablishedProtocol,
                             mWebSocket->mEstablishedExtensions);
 
   // Let's keep the object alive because the webSocket can be CCed in the
   // onopen callback.
   RefPtr<WebSocket> webSocket = mWebSocket;
 
   // Call 'onopen'
-  rv = webSocket->CreateAndDispatchSimpleEvent(NS_LITERAL_STRING("open"));
+  rv = webSocket->CreateAndDispatchSimpleEvent(OPEN_EVENT_STRING);
   if (NS_FAILED(rv)) {
     NS_WARNING("Failed to dispatch the open event");
   }
 
   webSocket->UpdateMustKeepAlive();
   return NS_OK;
 }
 
@@ -1876,17 +1881,17 @@ WebSocketImpl::DispatchConnectionCloseEv
 
   // Let's keep the object alive because the webSocket can be CCed in the
   // onerror or in the onclose callback.
   RefPtr<WebSocket> webSocket = mWebSocket;
 
   // Call 'onerror' if needed
   if (mFailed) {
     nsresult rv =
-      webSocket->CreateAndDispatchSimpleEvent(NS_LITERAL_STRING("error"));
+      webSocket->CreateAndDispatchSimpleEvent(ERROR_EVENT_STRING);
     if (NS_FAILED(rv)) {
       NS_WARNING("Failed to dispatch the error event");
     }
   }
 
   nsresult rv = webSocket->CreateAndDispatchCloseEvent(mCloseEventWasClean,
                                                        mCloseEventCode,
                                                        mCloseEventReason);
@@ -1988,17 +1993,17 @@ WebSocket::CreateAndDispatchMessageEvent
                                              mImpl->mInnerWindowID,
                                              aData, messageType);
 
   // create an event that uses the MessageEvent interface,
   // which does not bubble, is not cancelable, and has no default action
 
   RefPtr<MessageEvent> event = new MessageEvent(this, nullptr, nullptr);
 
-  event->InitMessageEvent(nullptr, NS_LITERAL_STRING("message"), false, false,
+  event->InitMessageEvent(nullptr, MESSAGE_EVENT_STRING, false, false,
                           jsData, mImpl->mUTF16Origin, EmptyString(), nullptr,
                           Sequence<OwningNonNull<MessagePort>>());
   event->SetTrusted(true);
 
   return DispatchDOMEvent(nullptr, static_cast<Event*>(event), nullptr,
                           nullptr);
 }
 
@@ -2025,17 +2030,17 @@ WebSocket::CreateAndDispatchCloseEvent(b
   CloseEventInit init;
   init.mBubbles = false;
   init.mCancelable = false;
   init.mWasClean = aWasClean;
   init.mCode = aCode;
   init.mReason = aReason;
 
   RefPtr<CloseEvent> event =
-    CloseEvent::Constructor(this, NS_LITERAL_STRING("close"), init);
+    CloseEvent::Constructor(this, CLOSE_EVENT_STRING, init);
   event->SetTrusted(true);
 
   return DispatchDOMEvent(nullptr, event, nullptr, nullptr);
 }
 
 nsresult
 WebSocketImpl::ParseURL(const nsAString& aURL)
 {
@@ -2145,31 +2150,31 @@ WebSocket::UpdateMustKeepAlive()
   bool shouldKeepAlive = false;
   uint16_t readyState = ReadyState();
 
   if (mListenerManager) {
     switch (readyState)
     {
       case CONNECTING:
       {
-        if (mListenerManager->HasListenersFor(nsGkAtoms::onopen) ||
-            mListenerManager->HasListenersFor(nsGkAtoms::onmessage) ||
-            mListenerManager->HasListenersFor(nsGkAtoms::onerror) ||
-            mListenerManager->HasListenersFor(nsGkAtoms::onclose)) {
+        if (mListenerManager->HasListenersFor(OPEN_EVENT_STRING) ||
+            mListenerManager->HasListenersFor(MESSAGE_EVENT_STRING) ||
+            mListenerManager->HasListenersFor(ERROR_EVENT_STRING) ||
+            mListenerManager->HasListenersFor(CLOSE_EVENT_STRING)) {
           shouldKeepAlive = true;
         }
       }
       break;
 
       case OPEN:
       case CLOSING:
       {
-        if (mListenerManager->HasListenersFor(nsGkAtoms::onmessage) ||
-            mListenerManager->HasListenersFor(nsGkAtoms::onerror) ||
-            mListenerManager->HasListenersFor(nsGkAtoms::onclose) ||
+        if (mListenerManager->HasListenersFor(MESSAGE_EVENT_STRING) ||
+            mListenerManager->HasListenersFor(ERROR_EVENT_STRING) ||
+            mListenerManager->HasListenersFor(CLOSE_EVENT_STRING) ||
             mOutgoingBufferedAmount != 0) {
           shouldKeepAlive = true;
         }
       }
       break;
 
       case CLOSED:
       {
--- a/dom/base/nsDocument.cpp
+++ b/dom/base/nsDocument.cpp
@@ -1956,17 +1956,17 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(ns
 
   // We own only the items in mDOMMediaQueryLists that have listeners;
   // this reference is managed by their AddListener and RemoveListener
   // methods.
   for (PRCList *l = PR_LIST_HEAD(&tmp->mDOMMediaQueryLists);
        l != &tmp->mDOMMediaQueryLists; ) {
     PRCList *next = PR_NEXT_LINK(l);
     MediaQueryList *mql = static_cast<MediaQueryList*>(l);
-    mql->RemoveAllListeners();
+    mql->Disconnect();
     l = next;
   }
 
   tmp->mInUnlinkOrDeletion = false;
 NS_IMPL_CYCLE_COLLECTION_UNLINK_END
 
 nsresult
 nsDocument::Init()
--- a/dom/events/test/test_all_synthetic_events.html
+++ b/dom/events/test/test_all_synthetic_events.html
@@ -189,16 +189,20 @@ const kEventConstructors = {
                                              },
   MediaKeyMessageEvent:                      { create: function (aName, aProps) {
                                                          return new MediaKeyMessageEvent(aName, {
                                                            messageType: "license-request",
                                                            message: new ArrayBuffer(0)
                                                          });
                                                        },
                                              },
+  MediaQueryListEvent:                       { create: function (aName, aProps) {
+                                                         return new MediaQueryListEvent(aName, aProps);
+                                                       },
+                                             },
   MediaStreamEvent:                          { create: function (aName, aProps) {
                                                          return new MediaStreamEvent(aName, aProps);
                                                        },
                                              },
   MediaStreamTrackEvent:                     {
                                                // Difficult to test required arguments.
                                              },
   MessageEvent:                              { create: function (aName, aProps) {
--- a/dom/tests/mochitest/general/test_interfaces.js
+++ b/dom/tests/mochitest/general/test_interfaces.js
@@ -633,16 +633,18 @@ var interfaceNamesInGlobalScope =
     "MediaKeyMessageEvent",
 // IMPORTANT: Do not change this list without review from a DOM peer!
     "MediaKeyStatusMap",
 // IMPORTANT: Do not change this list without review from a DOM peer!
     "MediaList",
 // IMPORTANT: Do not change this list without review from a DOM peer!
     "MediaQueryList",
 // IMPORTANT: Do not change this list without review from a DOM peer!
+    "MediaQueryListEvent",
+// IMPORTANT: Do not change this list without review from a DOM peer!
     "MediaRecorder",
 // IMPORTANT: Do not change this list without review from a DOM peer!
     "MediaSource",
 // IMPORTANT: Do not change this list without review from a DOM peer!
     "MediaStream",
 // IMPORTANT: Do not change this list without review from a DOM peer!
     "MediaStreamAudioDestinationNode",
 // IMPORTANT: Do not change this list without review from a DOM peer!
--- a/dom/webidl/MediaQueryList.webidl
+++ b/dom/webidl/MediaQueryList.webidl
@@ -1,20 +1,24 @@
 /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* 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 http://mozilla.org/MPL/2.0/.
  *
  * The origin of this IDL file is
- * http://dev.w3.org/csswg/cssom-view/#the-mediaquerylist-interface
+ * https://drafts.csswg.org/cssom-view/#mediaquerylist
  *
  * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
  * liability, trademark and document use rules apply.
  */
 
-interface MediaQueryList {
+interface MediaQueryList : EventTarget {
   readonly attribute DOMString media;
   readonly attribute boolean matches;
-  void addListener(MediaQueryListListener listener);
-  void removeListener(MediaQueryListListener listener);
+
+  [Throws]
+  void addListener(EventListener? listener);
+
+  [Throws]
+  void removeListener(EventListener? listener);
+
+           attribute EventHandler onchange;
 };
-
-callback MediaQueryListListener = void (MediaQueryList list);
new file mode 100644
--- /dev/null
+++ b/dom/webidl/MediaQueryListEvent.webidl
@@ -0,0 +1,18 @@
+/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* 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 http://mozilla.org/MPL/2.0/.
+ *
+ * https://drafts.csswg.org/cssom-view/#mediaquerylistevent
+ */
+
+[Constructor(DOMString type, optional MediaQueryListEventInit eventInitDict)]
+interface MediaQueryListEvent : Event {
+  readonly attribute DOMString media;
+  readonly attribute boolean matches;
+};
+
+dictionary MediaQueryListEventInit : EventInit {
+  DOMString media = "";
+  boolean matches = false;
+};
--- a/dom/webidl/moz.build
+++ b/dom/webidl/moz.build
@@ -1072,16 +1072,17 @@ GENERATED_EVENTS_WEBIDL_FILES = [
     'FontFaceSetLoadEvent.webidl',
     'GamepadAxisMoveEvent.webidl',
     'GamepadButtonEvent.webidl',
     'GamepadEvent.webidl',
     'GroupedHistoryEvent.webidl',
     'HashChangeEvent.webidl',
     'HiddenPluginEvent.webidl',
     'ImageCaptureErrorEvent.webidl',
+    'MediaQueryListEvent.webidl',
     'MediaStreamEvent.webidl',
     'MediaStreamTrackEvent.webidl',
     'OfflineAudioCompletionEvent.webidl',
     'PageTransitionEvent.webidl',
     'PerformanceEntryEvent.webidl',
     'PluginCrashedEvent.webidl',
     'PopStateEvent.webidl',
     'PopupBlockedEvent.webidl',
--- a/js/src/builtin/Intl.js
+++ b/js/src/builtin/Intl.js
@@ -1220,46 +1220,55 @@ function GetOption(options, property, ty
         return value;
     }
 
     // Step 3.
     return fallback;
 }
 
 /**
- * Extracts a property value from the provided options object, converts it to a
- * Number value, checks whether it is in the allowed range, and fills in a
- * fallback value if necessary.
+ * The abstract operation DefaultNumberOption converts value to a Number value,
+ * checks whether it is in the allowed range, and fills in a fallback value if
+ * necessary.
  *
- * Spec: ECMAScript Internationalization API Specification, 9.2.10.
+ * Spec: ECMAScript Internationalization API Specification, 9.2.11.
  */
-function GetNumberOption(options, property, minimum, maximum, fallback) {
-    assert(typeof minimum === "number" && (minimum | 0) === minimum, "GetNumberOption");
-    assert(typeof maximum === "number" && (maximum | 0) === maximum, "GetNumberOption");
-    assert(typeof fallback === "number" && (fallback | 0) === fallback, "GetNumberOption");
-    assert(minimum <= fallback && fallback <= maximum, "GetNumberOption");
+function DefaultNumberOption(value, minimum, maximum, fallback) {
+    assert(typeof minimum === "number" && (minimum | 0) === minimum, "DefaultNumberOption");
+    assert(typeof maximum === "number" && (maximum | 0) === maximum, "DefaultNumberOption");
+    assert(typeof fallback === "number" && (fallback | 0) === fallback, "DefaultNumberOption");
+    assert(minimum <= fallback && fallback <= maximum, "DefaultNumberOption");
 
     // Step 1.
-    var value = options[property];
-
-    // Step 2.
     if (value !== undefined) {
         value = ToNumber(value);
         if (Number_isNaN(value) || value < minimum || value > maximum)
             ThrowRangeError(JSMSG_INVALID_DIGITS_VALUE, value);
 
         // Apply bitwise-or to convert -0 to +0 per ES2017, 5.2 and to ensure
         // the result is an int32 value.
         return std_Math_floor(value) | 0;
     }
 
-    // Step 3.
+    // Step 2.
     return fallback;
 }
 
+/**
+ * Extracts a property value from the provided options object, converts it to a
+ * Number value, checks whether it is in the allowed range, and fills in a
+ * fallback value if necessary.
+ *
+ * Spec: ECMAScript Internationalization API Specification, 9.2.12.
+ */
+function GetNumberOption(options, property, minimum, maximum, fallback) {
+    // Steps 1-3.
+    return DefaultNumberOption(options[property], minimum, maximum, fallback);
+}
+
 
 /********** Property access for Intl objects **********/
 
 
 // Symbols in the self-hosting compartment can't be cloned, use a separate
 // object to hold the actual symbol value.
 // TODO: Can we add support to clone symbols?
 var intlFallbackSymbolHolder = { value: undefined };
@@ -1934,35 +1943,35 @@ function SetNumberFormatDigitOptions(laz
     // We skip Step 1 because we set the properties on a lazyData object.
 
     // Step 2-3.
     assert(IsObject(options), "SetNumberFormatDigitOptions");
     assert(typeof mnfdDefault === "number", "SetNumberFormatDigitOptions");
     assert(typeof mxfdDefault === "number", "SetNumberFormatDigitOptions");
     assert(mnfdDefault <= mxfdDefault, "SetNumberFormatDigitOptions");
 
-    // Steps 4-6.
+    // Steps 4-8.
     const mnid = GetNumberOption(options, "minimumIntegerDigits", 1, 21, 1);
     const mnfd = GetNumberOption(options, "minimumFractionDigits", 0, 20, mnfdDefault);
     const mxfdActualDefault = std_Math_max(mnfd, mxfdDefault);
     const mxfd = GetNumberOption(options, "maximumFractionDigits", mnfd, 20, mxfdActualDefault);
 
-    // Steps 7-8.
+    // Steps 9-10.
     let mnsd = options.minimumSignificantDigits;
     let mxsd = options.maximumSignificantDigits;
 
-    // Steps 9-11.
+    // Steps 11-13.
     lazyData.minimumIntegerDigits = mnid;
     lazyData.minimumFractionDigits = mnfd;
     lazyData.maximumFractionDigits = mxfd;
 
-    // Step 12.
+    // Step 14.
     if (mnsd !== undefined || mxsd !== undefined) {
-        mnsd = GetNumberOption(options, "minimumSignificantDigits", 1, 21, 1);
-        mxsd = GetNumberOption(options, "maximumSignificantDigits", mnsd, 21, 21);
+        mnsd = DefaultNumberOption(mnsd, 1, 21, 1);
+        mxsd = DefaultNumberOption(mxsd, mnsd, 21, 21);
         lazyData.minimumSignificantDigits = mnsd;
         lazyData.maximumSignificantDigits = mxsd;
     }
 }
 
 
 /**
  * Initializes an object as a NumberFormat.
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/cacheir/add-function-prototype.js
@@ -0,0 +1,55 @@
+function checkPrototype(fun, proto, resolvesPrototype) {
+    var desc = Object.getOwnPropertyDescriptor(fun, "prototype");
+    assertEq(desc.value, proto);
+    assertEq(desc.configurable, !resolvesPrototype);
+    assertEq(desc.enumerable, !resolvesPrototype);
+    assertEq(desc.writable, true);
+}
+function addPrototype(fun, proto, resolvesPrototype) {
+    fun.prototype = proto;
+    checkPrototype(fun, proto, resolvesPrototype);
+}
+function test() {
+    for (var i=0; i<50; i++) {
+        addPrototype(function() {}, i, true);
+        addPrototype(function*() {}, i, true);
+        addPrototype(function async() {}, i, true);
+        // Builtins, arrow functions, bound functions don't have a default
+        // prototype property.
+        addPrototype(Math.abs, i, false);
+        addPrototype(Array.prototype.map, i, false);
+        addPrototype(() => 1, i, false);
+        addPrototype((function() {}).bind(null), i, false);
+    }
+
+    // Now test this with a different IC for each function type.
+    for (var i=0; i<50; i++) {
+        var f = function() {};
+        f.prototype = i;
+        checkPrototype(f, i, true);
+
+        f = function*() {};
+        f.prototype = i;
+        checkPrototype(f, i, true);
+
+        f = function async() {};
+        f.prototype = i;
+        checkPrototype(f, i, true);
+
+        Math.sin.prototype = i;
+        checkPrototype(Math.sin, i, false);
+
+        Array.prototype.filter.prototype = i;
+        checkPrototype(Array.prototype.filter, i, false);
+
+        f = () => 1;
+        f.prototype = i;
+        checkPrototype(f, i, false);
+
+        f = (function() {}).bind(null);
+        f.prototype = i;
+        checkPrototype(f, i, false);
+    }
+
+}
+test();
--- a/js/src/jit/CacheIR.cpp
+++ b/js/src/jit/CacheIR.cpp
@@ -3087,18 +3087,36 @@ SetPropIRGenerator::tryAttachAddSlotStub
         !propShape->hasSlot() ||
         !propShape->hasDefaultSetter() ||
         !propShape->writable())
     {
         return false;
     }
 
     // Watch out for resolve hooks.
-    if (ClassMayResolveId(cx_->names(), obj->getClass(), id, obj))
-        return false;
+    if (ClassMayResolveId(cx_->names(), obj->getClass(), id, obj)) {
+        // The JSFunction resolve hook defines a (non-configurable and
+        // non-enumerable) |prototype| property on certain functions. Scripts
+        // often assign a custom |prototype| object and we want to optimize
+        // this |prototype| set and eliminate the default object allocation.
+        //
+        // We check group->maybeInterpretedFunction() here and guard on the
+        // group. The group is unique for a particular function so this ensures
+        // we don't add the default prototype property to functions that don't
+        // have it.
+        if (!obj->is<JSFunction>() ||
+            !JSID_IS_ATOM(id, cx_->names().prototype) ||
+            !oldGroup->maybeInterpretedFunction() ||
+            !obj->as<JSFunction>().needsPrototypeProperty())
+        {
+            return false;
+        }
+        MOZ_ASSERT(!propShape->configurable());
+        MOZ_ASSERT(!propShape->enumerable());
+    }
 
     // Also watch out for addProperty hooks. Ignore the Array addProperty hook,
     // because it doesn't do anything for non-index properties.
     DebugOnly<uint32_t> index;
     MOZ_ASSERT_IF(obj->is<ArrayObject>(), !IdIsIndex(id, &index));
     if (!obj->is<ArrayObject>() && obj->getClass()->getAddProperty())
         return false;
 
@@ -3110,19 +3128,24 @@ SetPropIRGenerator::tryAttachAddSlotStub
 
         // If prototype defines this property in a non-plain way, don't optimize.
         Shape* protoShape = proto->as<NativeObject>().lookup(cx_, id);
         if (protoShape && !protoShape->hasDefaultSetter())
             return false;
 
         // Otherwise, if there's no such property, watch out for a resolve hook
         // that would need to be invoked and thus prevent inlining of property
-        // addition.
-        if (ClassMayResolveId(cx_->names(), proto->getClass(), id, proto))
+        // addition. Allow the JSFunction resolve hook as it only defines plain
+        // data properties and we don't need to invoke it for objects on the
+        // proto chain.
+        if (ClassMayResolveId(cx_->names(), proto->getClass(), id, proto) &&
+            !proto->is<JSFunction>())
+        {
             return false;
+        }
     }
 
     // Don't attach if we are adding a property to an object which the new
     // script properties analysis hasn't been performed for yet, as there
     // may be a shape change required here afterwards.
     if (oldGroup->newScript() && !oldGroup->newScript()->analyzed()) {
         *isTemporarilyUnoptimizable_ = true;
         return false;
--- a/js/src/jsfun.cpp
+++ b/js/src/jsfun.cpp
@@ -449,16 +449,43 @@ ResolveInterpretedFunctionPrototype(JSCo
 
     // Per ES5 15.3.5.2 a user-defined function's .prototype property is
     // initially non-configurable, non-enumerable, and writable.
     RootedValue protoVal(cx, ObjectValue(*proto));
     return DefineProperty(cx, fun, id, protoVal, nullptr, nullptr,
                           JSPROP_PERMANENT | JSPROP_RESOLVING);
 }
 
+bool
+JSFunction::needsPrototypeProperty()
+{
+    /*
+     * Built-in functions do not have a .prototype property per ECMA-262,
+     * or (Object.prototype, Function.prototype, etc.) have that property
+     * created eagerly.
+     *
+     * ES5 15.3.4.5: bound functions don't have a prototype property. The
+     * isBuiltin() test covers this case because bound functions are native
+     * (and thus built-in) functions by definition/construction.
+     *
+     * ES6 9.2.8 MakeConstructor defines the .prototype property on constructors.
+     * Generators are not constructors, but they have a .prototype property anyway,
+     * according to errata to ES6. See bug 1191486.
+     *
+     * Thus all of the following don't get a .prototype property:
+     * - Methods (that are not class-constructors or generators)
+     * - Arrow functions
+     * - Function.prototype
+     */
+    if (isBuiltin())
+        return IsWrappedAsyncGenerator(this);
+
+    return isConstructor() || isStarGenerator() || isLegacyGenerator() || isAsync();
+}
+
 static bool
 fun_mayResolve(const JSAtomState& names, jsid id, JSObject*)
 {
     if (!JSID_IS_ATOM(id))
         return false;
 
     JSAtom* atom = JSID_TO_ATOM(id);
     return atom == names.prototype || atom == names.length || atom == names.name;
@@ -468,42 +495,18 @@ static bool
 fun_resolve(JSContext* cx, HandleObject obj, HandleId id, bool* resolvedp)
 {
     if (!JSID_IS_ATOM(id))
         return true;
 
     RootedFunction fun(cx, &obj->as<JSFunction>());
 
     if (JSID_IS_ATOM(id, cx->names().prototype)) {
-        /*
-         * Built-in functions do not have a .prototype property per ECMA-262,
-         * or (Object.prototype, Function.prototype, etc.) have that property
-         * created eagerly.
-         *
-         * ES5 15.3.4.5: bound functions don't have a prototype property. The
-         * isBuiltin() test covers this case because bound functions are native
-         * (and thus built-in) functions by definition/construction.
-         *
-         * ES6 9.2.8 MakeConstructor defines the .prototype property on constructors.
-         * Generators are not constructors, but they have a .prototype property anyway,
-         * according to errata to ES6. See bug 1191486.
-         *
-         * Thus all of the following don't get a .prototype property:
-         * - Methods (that are not class-constructors or generators)
-         * - Arrow functions
-         * - Function.prototype
-         */
-        if (!IsWrappedAsyncGenerator(fun)) {
-            if (fun->isBuiltin())
-                return true;
-            if (!fun->isConstructor()) {
-                if (!fun->isStarGenerator() && !fun->isLegacyGenerator() && !fun->isAsync())
-                    return true;
-            }
-        }
+        if (!fun->needsPrototypeProperty())
+            return true;
 
         if (!ResolveInterpretedFunctionPrototype(cx, fun, id))
             return false;
 
         *resolvedp = true;
         return true;
     }
 
--- a/js/src/jsfun.h
+++ b/js/src/jsfun.h
@@ -232,16 +232,17 @@ class JSFunction : public js::NativeObje
         return isLambda() && displayAtom() && !hasCompileTimeName() && !hasGuessedAtom();
     }
 
     bool hasLexicalThis() const {
         return isArrow() || nonLazyScript()->isGeneratorExp();
     }
 
     bool isBuiltinFunctionConstructor();
+    bool needsPrototypeProperty();
 
     /* Returns the strictness of this function, which must be interpreted. */
     bool strict() const {
         MOZ_ASSERT(isInterpreted());
         return isInterpretedLazy() ? lazyScript()->strict() : nonLazyScript()->strict();
     }
 
     void setFlags(uint16_t flags) {
--- a/js/src/tests/jstests.list
+++ b/js/src/tests/jstests.list
@@ -863,12 +863,15 @@ skip-if(!xulRuntime.shell) script test26
 skip script test262/language/statements/async-function/early-errors-no-async-generator-n.js
 
 # Need to be rewritten to follow the change in https://github.com/tc39/proposal-async-iteration/pull/92
 skip script test262/language/statements/async-generator/yield-star-async-next.js
 skip script test262/language/statements/async-generator/yield-star-async-return.js
 skip script test262/language/statements/async-generator/yield-star-async-throw.js
 
 # https://github.com/tc39/test262/pull/947
+skip script test262/intl402/NumberFormat/11.1.1_32.js
+
+# https://github.com/tc39/test262/pull/947
 skip script test262/intl402/DateTimeFormat/prototype/formatToParts/length.js
 
 # https://github.com/tc39/test262/pull/947
 skip script test262/intl402/PluralRules/this-not-ignored.js
--- a/layout/base/PresShell.cpp
+++ b/layout/base/PresShell.cpp
@@ -10988,18 +10988,20 @@ PresShell::AddSizeOfIncludingThis(Malloc
     *aPresShellSize += mCaret->SizeOfIncludingThis(aMallocSizeOf);
   }
   *aPresShellSize += mApproximatelyVisibleFrames.ShallowSizeOfExcludingThis(aMallocSizeOf);
   *aPresShellSize += mFramesToDirty.ShallowSizeOfExcludingThis(aMallocSizeOf);
   *aPresShellSize += aArenaObjectsSize->mOther;
 
   if (nsStyleSet* styleSet = StyleSet()->GetAsGecko()) {
     *aStyleSetsSize += styleSet->SizeOfIncludingThis(aMallocSizeOf);
+  } else if (ServoStyleSet* styleSet = StyleSet()->GetAsServo()) {
+    *aStyleSetsSize += styleSet->SizeOfIncludingThis(aMallocSizeOf);
   } else {
-    NS_WARNING("ServoStyleSets do not support memory measurements yet");
+    MOZ_CRASH();
   }
 
   *aTextRunsSize += SizeOfTextRuns(aMallocSizeOf);
 
   *aPresContextSize += mPresContext->SizeOfIncludingThis(aMallocSizeOf);
 }
 
 size_t
--- a/layout/base/nsPresContext.cpp
+++ b/layout/base/nsPresContext.cpp
@@ -2089,43 +2089,23 @@ nsPresContext::MediaFeatureValuesChanged
   // (in HTML5 terms), although we also want to notify them on certain
   // flushes.  (We're already running off an event.)
   //
   // Note that we do this after the new style from media queries in
   // style sheets has been computed.
 
   if (!PR_CLIST_IS_EMPTY(mDocument->MediaQueryLists())) {
     // We build a list of all the notifications we're going to send
-    // before we send any of them.  (The spec says the notifications
-    // should be a queued task, so any removals that happen during the
-    // notifications shouldn't affect what gets notified.)  Furthermore,
-    // we hold strong pointers to everything we're going to make
-    // notification calls to, since each notification involves calling
-    // arbitrary script that might otherwise destroy these objects, or,
-    // for that matter, |this|.
-    //
-    // Note that we intentionally send the notifications to media query
-    // list in the order they were created and, for each list, to the
-    // listeners in the order added.
-    nsTArray<MediaQueryList::HandleChangeData> notifyList;
+    // before we send any of them.
     for (PRCList *l = PR_LIST_HEAD(mDocument->MediaQueryLists());
          l != mDocument->MediaQueryLists(); l = PR_NEXT_LINK(l)) {
+      nsAutoMicroTask mt;
       MediaQueryList *mql = static_cast<MediaQueryList*>(l);
-      mql->MediumFeaturesChanged(notifyList);
+      mql->MaybeNotify();
     }
-
-    if (!notifyList.IsEmpty()) {
-      for (uint32_t i = 0, i_end = notifyList.Length(); i != i_end; ++i) {
-        nsAutoMicroTask mt;
-        MediaQueryList::HandleChangeData &d = notifyList[i];
-        d.callback->Call(*d.mql);
-      }
-    }
-
-    // NOTE:  When |notifyList| goes out of scope, our destructor could run.
   }
 }
 
 void
 nsPresContext::PostMediaFeatureValuesChangedEvent()
 {
   // FIXME: We should probably replace this event with use of
   // nsRefreshDriver::AddStyleFlushObserver (except the pres shell would
--- a/layout/generic/nsFrame.cpp
+++ b/layout/generic/nsFrame.cpp
@@ -9971,25 +9971,21 @@ nsFrame::BoxReflow(nsBoxLayoutState&    
 
     nsSize parentSize(aWidth, aHeight);
     if (parentSize.height != NS_INTRINSICSIZE)
       parentSize.height += margin.TopBottom();
     if (parentSize.width != NS_INTRINSICSIZE)
       parentSize.width += margin.LeftRight();
 
     nsIFrame *parentFrame = GetParent();
-    nsFrameState savedState = parentFrame->GetStateBits();
     WritingMode parentWM = parentFrame->GetWritingMode();
     ReflowInput
       parentReflowInput(aPresContext, parentFrame, aRenderingContext,
                         LogicalSize(parentWM, parentSize),
                         ReflowInput::DUMMY_PARENT_REFLOW_STATE);
-    const nsFrameState bitsToLeaveUntouched = NS_FRAME_HAS_PROPERTIES;
-    parentFrame->RemoveStateBits(~bitsToLeaveUntouched);
-    parentFrame->AddStateBits(savedState & ~bitsToLeaveUntouched);
 
     // This may not do very much useful, but it's probably worth trying.
     if (parentSize.width != NS_INTRINSICSIZE)
       parentReflowInput.SetComputedWidth(std::max(parentSize.width, 0));
     if (parentSize.height != NS_INTRINSICSIZE)
       parentReflowInput.SetComputedHeight(std::max(parentSize.height, 0));
     parentReflowInput.ComputedPhysicalMargin().SizeTo(0, 0, 0, 0);
     // XXX use box methods
--- a/layout/style/CSSStyleSheet.cpp
+++ b/layout/style/CSSStyleSheet.cpp
@@ -187,19 +187,21 @@ CSSStyleSheet::SizeOfIncludingThis(Mallo
     if (s->Inner()->mSheets.LastElement() == s) {
       n += s->Inner()->SizeOfIncludingThis(aMallocSizeOf);
     }
 
     // Measurement of the following members may be added later if DMD finds it
     // is worthwhile:
     // - s->mRuleCollection
     // - s->mRuleProcessors
+    // - s->mStyleSets
     //
     // The following members are not measured:
     // - s->mOwnerRule, because it's non-owning
+    // - s->mScopeElement, because it's non-owning
 
     s = s->mNext ? s->mNext->AsGecko() : nullptr;
   }
   return n;
 }
 
 CSSStyleSheetInner::CSSStyleSheetInner(CSSStyleSheetInner& aCopy,
                                        CSSStyleSheet* aPrimarySheet)
--- a/layout/style/MediaQueryList.cpp
+++ b/layout/style/MediaQueryList.cpp
@@ -2,69 +2,71 @@
 /* vim: set shiftwidth=2 tabstop=8 autoindent cindent expandtab: */
 /* 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 http://mozilla.org/MPL/2.0/. */
 
 /* implements DOM interface for querying and observing media queries */
 
 #include "mozilla/dom/MediaQueryList.h"
+#include "mozilla/dom/MediaQueryListEvent.h"
+#include "mozilla/dom/EventTarget.h"
+#include "mozilla/dom/EventTargetBinding.h"
 #include "nsPresContext.h"
 #include "nsMediaList.h"
 #include "nsCSSParser.h"
 #include "nsIDocument.h"
 
+#define ONCHANGE_STRING NS_LITERAL_STRING("change")
+
 namespace mozilla {
 namespace dom {
 
 MediaQueryList::MediaQueryList(nsIDocument *aDocument,
                                const nsAString &aMediaQueryList)
-  : mDocument(aDocument),
-    mMediaList(new nsMediaList),
-    mMatchesValid(false)
+  : mDocument(aDocument)
+  , mMediaList(new nsMediaList)
+  , mMatchesValid(false)
+  , mIsKeptAlive(false)
 {
   PR_INIT_CLIST(this);
 
   nsCSSParser parser;
   parser.ParseMediaList(aMediaQueryList, nullptr, 0, mMediaList);
 }
 
 MediaQueryList::~MediaQueryList()
 {
   if (mDocument) {
     PR_REMOVE_LINK(this);
   }
 }
 
 NS_IMPL_CYCLE_COLLECTION_CLASS(MediaQueryList)
 
-NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(MediaQueryList)
+NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(MediaQueryList,
+                                                  DOMEventTargetHelper)
   NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mDocument)
-  NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mCallbacks)
 NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
 
-NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(MediaQueryList)
+NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(MediaQueryList,
+                                                DOMEventTargetHelper)
   if (tmp->mDocument) {
     PR_REMOVE_LINK(tmp);
     NS_IMPL_CYCLE_COLLECTION_UNLINK(mDocument)
   }
-  tmp->RemoveAllListeners();
+  tmp->Disconnect();
   NS_IMPL_CYCLE_COLLECTION_UNLINK_PRESERVED_WRAPPER
 NS_IMPL_CYCLE_COLLECTION_UNLINK_END
 
-NS_IMPL_CYCLE_COLLECTION_TRACE_WRAPPERCACHE(MediaQueryList)
+NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(MediaQueryList)
+NS_INTERFACE_MAP_END_INHERITING(DOMEventTargetHelper)
 
-NS_INTERFACE_MAP_BEGIN(MediaQueryList)
-  NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
-  NS_INTERFACE_MAP_ENTRY(nsISupports)
-  NS_INTERFACE_MAP_ENTRIES_CYCLE_COLLECTION(MediaQueryList)
-NS_INTERFACE_MAP_END
-
-NS_IMPL_CYCLE_COLLECTING_ADDREF(MediaQueryList)
-NS_IMPL_CYCLE_COLLECTING_RELEASE(MediaQueryList)
+NS_IMPL_ADDREF_INHERITED(MediaQueryList, DOMEventTargetHelper)
+NS_IMPL_RELEASE_INHERITED(MediaQueryList, DOMEventTargetHelper)
 
 void
 MediaQueryList::GetMedia(nsAString &aMedia)
 {
   mMediaList->GetText(aMedia);
 }
 
 bool
@@ -75,67 +77,134 @@ MediaQueryList::Matches()
                "when listeners present, must keep mMatches current");
     RecomputeMatches();
   }
 
   return mMatches;
 }
 
 void
-MediaQueryList::AddListener(MediaQueryListListener& aListener)
+MediaQueryList::AddListener(EventListener* aListener, ErrorResult& aRv)
 {
-  if (!HasListeners()) {
-    // When we have listeners, the pres context owns a reference to
-    // this.  This is a cyclic reference that can only be broken by
-    // cycle collection.
-    NS_ADDREF_THIS();
+  if (!aListener) {
+    return;
   }
 
+  AddEventListenerOptionsOrBoolean options;
+  options.SetAsBoolean() = false;
+
+  AddEventListener(ONCHANGE_STRING, aListener, options, false, aRv);
+}
+
+void
+MediaQueryList::AddEventListener(const nsAString& aType,
+                                 EventListener* aCallback,
+                                 const AddEventListenerOptionsOrBoolean& aOptions,
+                                 const dom::Nullable<bool>& aWantsUntrusted,
+                                 ErrorResult& aRv)
+{
   if (!mMatchesValid) {
     MOZ_ASSERT(!HasListeners(),
                "when listeners present, must keep mMatches current");
     RecomputeMatches();
   }
 
-  for (uint32_t i = 0; i < mCallbacks.Length(); ++i) {
-    if (aListener == *mCallbacks[i]) {
-      // Already registered
-      return;
-    }
+  DOMEventTargetHelper::AddEventListener(aType, aCallback, aOptions,
+                                         aWantsUntrusted, aRv);
+
+  if (aRv.Failed()) {
+    return;
   }
 
-  if (!mCallbacks.AppendElement(&aListener, fallible)) {
-    if (!HasListeners()) {
-      // Append failed; undo the AddRef above.
-      NS_RELEASE_THIS();
-    }
+  UpdateMustKeepAlive();
+}
+
+void
+MediaQueryList::RemoveListener(EventListener* aListener, ErrorResult& aRv)
+{
+  if (!aListener) {
+    return;
   }
+
+  EventListenerOptionsOrBoolean options;
+  options.SetAsBoolean() = false;
+
+  RemoveEventListener(ONCHANGE_STRING, aListener, options, aRv);
 }
 
 void
-MediaQueryList::RemoveListener(MediaQueryListListener& aListener)
+MediaQueryList::RemoveEventListener(const nsAString& aType,
+                                    EventListener* aCallback,
+                                    const EventListenerOptionsOrBoolean& aOptions,
+                                    ErrorResult& aRv)
+{
+  DOMEventTargetHelper::RemoveEventListener(aType, aCallback, aOptions, aRv);
+
+  if (aRv.Failed()) {
+    return;
+  }
+
+  UpdateMustKeepAlive();
+}
+
+EventHandlerNonNull*
+MediaQueryList::GetOnchange()
+{
+  if (NS_IsMainThread()) {
+    return GetEventHandler(nsGkAtoms::onchange, EmptyString());
+  }
+  return GetEventHandler(nullptr, ONCHANGE_STRING);
+}
+
+void
+MediaQueryList::SetOnchange(EventHandlerNonNull* aCallback)
 {
-  for (uint32_t i = 0; i < mCallbacks.Length(); ++i) {
-    if (aListener == *mCallbacks[i]) {
-      mCallbacks.RemoveElementAt(i);
-      if (!HasListeners()) {
-        // See NS_ADDREF_THIS() in AddListener.
-        NS_RELEASE_THIS();
-      }
-      break;
-    }
+  if (NS_IsMainThread()) {
+    SetEventHandler(nsGkAtoms::onchange, EmptyString(), aCallback);
+  } else {
+    SetEventHandler(nullptr, ONCHANGE_STRING, aCallback);
+  }
+
+  UpdateMustKeepAlive();
+}
+
+void
+MediaQueryList::UpdateMustKeepAlive()
+{
+  bool toKeepAlive = HasListeners();
+  if (toKeepAlive == mIsKeptAlive) {
+    return;
+  }
+
+  // When we have listeners, the pres context owns a reference to
+  // this.  This is a cyclic reference that can only be broken by
+  // cycle collection.
+
+  mIsKeptAlive = toKeepAlive;
+
+  if (toKeepAlive) {
+    NS_ADDREF_THIS();
+  } else {
+    NS_RELEASE_THIS();
   }
 }
 
-void
-MediaQueryList::RemoveAllListeners()
+bool
+MediaQueryList::HasListeners()
 {
-  bool hadListeners = HasListeners();
-  mCallbacks.Clear();
-  if (hadListeners) {
+  return HasListenersFor(ONCHANGE_STRING);
+}
+
+void
+MediaQueryList::Disconnect()
+{
+  DisconnectFromOwner();
+
+  if (mIsKeptAlive) {
+    mIsKeptAlive = false;
     // See NS_ADDREF_THIS() in AddListener.
     NS_RELEASE_THIS();
   }
 }
 
 void
 MediaQueryList::RecomputeMatches()
 {
@@ -164,43 +233,53 @@ MediaQueryList::RecomputeMatches()
     // XXXbz What's the right behavior here?  Spec doesn't say.
     return;
   }
 
   mMatches = mMediaList->Matches(presContext, nullptr);
   mMatchesValid = true;
 }
 
-void
-MediaQueryList::MediumFeaturesChanged(
-    nsTArray<HandleChangeData>& aListenersToNotify)
-{
-  mMatchesValid = false;
-
-  if (HasListeners()) {
-    bool oldMatches = mMatches;
-    RecomputeMatches();
-    if (mMatches != oldMatches) {
-      for (uint32_t i = 0, i_end = mCallbacks.Length(); i != i_end; ++i) {
-        HandleChangeData *d = aListenersToNotify.AppendElement(fallible);
-        if (d) {
-          d->mql = this;
-          d->callback = mCallbacks[i];
-        }
-      }
-    }
-  }
-}
-
 nsISupports*
 MediaQueryList::GetParentObject() const
 {
   return mDocument;
 }
 
 JSObject*
 MediaQueryList::WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto)
 {
   return MediaQueryListBinding::Wrap(aCx, this, aGivenProto);
 }
 
+void
+MediaQueryList::MaybeNotify()
+{
+  mMatchesValid = false;
+
+  if (!HasListeners()) {
+    return;
+  }
+
+  bool oldMatches = mMatches;
+  RecomputeMatches();
+
+  // No need to notify the change.
+  if (mMatches == oldMatches) {
+    return;
+  }
+
+  MediaQueryListEventInit init;
+  init.mBubbles = false;
+  init.mCancelable = false;
+  init.mMatches = mMatches;
+  mMediaList->GetText(init.mMedia);
+
+  RefPtr<MediaQueryListEvent> event =
+    MediaQueryListEvent::Constructor(this, ONCHANGE_STRING, init);
+  event->SetTrusted(true);
+
+  bool dummy;
+  DispatchEvent(event, &dummy);
+}
+
 } // namespace dom
 } // namespace mozilla
--- a/layout/style/MediaQueryList.h
+++ b/layout/style/MediaQueryList.h
@@ -11,65 +11,77 @@
 
 #include "nsISupports.h"
 #include "nsCycleCollectionParticipant.h"
 #include "nsCOMPtr.h"
 #include "nsTArray.h"
 #include "prclist.h"
 #include "mozilla/Attributes.h"
 #include "nsWrapperCache.h"
+#include "mozilla/DOMEventTargetHelper.h"
 #include "mozilla/dom/MediaQueryListBinding.h"
 
 class nsIDocument;
 class nsMediaList;
 
 namespace mozilla {
 namespace dom {
 
-class MediaQueryList final : public nsISupports,
-                             public nsWrapperCache,
+class MediaQueryList final : public DOMEventTargetHelper,
                              public PRCList
 {
 public:
   // The caller who constructs is responsible for calling Evaluate
   // before calling any other methods.
   MediaQueryList(nsIDocument *aDocument,
                  const nsAString &aMediaQueryList);
 private:
   ~MediaQueryList();
 
 public:
-  NS_DECL_CYCLE_COLLECTING_ISUPPORTS
-  NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(MediaQueryList)
+  NS_DECL_ISUPPORTS_INHERITED
+  NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(MediaQueryList, DOMEventTargetHelper)
 
   nsISupports* GetParentObject() const;
 
-  struct HandleChangeData {
-    RefPtr<MediaQueryList> mql;
-    RefPtr<mozilla::dom::MediaQueryListListener> callback;
-  };
-
-  // Appends listeners that need notification to aListenersToNotify
-  void MediumFeaturesChanged(nsTArray<HandleChangeData>& aListenersToNotify);
-
-  bool HasListeners() const { return !mCallbacks.IsEmpty(); }
-
-  void RemoveAllListeners();
+  void MaybeNotify();
 
   JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override;
 
   // WebIDL methods
   void GetMedia(nsAString& aMedia);
   bool Matches();
-  void AddListener(mozilla::dom::MediaQueryListListener& aListener);
-  void RemoveListener(mozilla::dom::MediaQueryListListener& aListener);
+  void AddListener(EventListener* aListener, ErrorResult& aRv);
+  void RemoveListener(EventListener* aListener, ErrorResult& aRv);
+
+  EventHandlerNonNull* GetOnchange();
+  void SetOnchange(EventHandlerNonNull* aCallback);
+
+  using nsIDOMEventTarget::AddEventListener;
+  using nsIDOMEventTarget::RemoveEventListener;
+
+  virtual void AddEventListener(const nsAString& aType,
+                                EventListener* aCallback,
+                                const AddEventListenerOptionsOrBoolean& aOptions,
+                                const Nullable<bool>& aWantsUntrusted,
+                                ErrorResult& aRv) override;
+  virtual void RemoveEventListener(const nsAString& aType,
+                                   EventListener* aCallback,
+                                   const EventListenerOptionsOrBoolean& aOptions,
+                                   ErrorResult& aRv) override;
+
+  bool HasListeners();
+
+  void Disconnect();
 
 private:
   void RecomputeMatches();
 
+  void UpdateMustKeepAlive();
+
   // We only need a pointer to the document to support lazy
   // reevaluation following dynamic changes.  However, this lazy
   // reevaluation is perhaps somewhat important, since some usage
   // patterns may involve the creation of large numbers of
   // MediaQueryList objects which almost immediately become garbage
   // (after a single call to the .matches getter).
   //
   // This pointer does make us a little more dependent on cycle
@@ -79,15 +91,15 @@ private:
   // after cycle collection unlinking.  Having a non-null mDocument
   // is equivalent to being in that document's mDOMMediaQueryLists
   // linked list.
   nsCOMPtr<nsIDocument> mDocument;
 
   RefPtr<nsMediaList> mMediaList;
   bool mMatches;
   bool mMatchesValid;
-  nsTArray<RefPtr<mozilla::dom::MediaQueryListListener>> mCallbacks;
+  bool mIsKeptAlive;
 };
 
 } // namespace dom
 } // namespace mozilla
 
 #endif /* !defined(mozilla_dom_MediaQueryList_h) */
--- a/layout/style/ServoStyleRule.cpp
+++ b/layout/style/ServoStyleRule.cpp
@@ -166,18 +166,24 @@ ServoStyleRule::Clone() const
   // anything, so this method should never be called.
   MOZ_ASSERT_UNREACHABLE("Shouldn't be cloning ServoStyleRule");
   return nullptr;
 }
 
 size_t
 ServoStyleRule::SizeOfIncludingThis(MallocSizeOf aMallocSizeOf) const
 {
-  // TODO Implement this!
-  return aMallocSizeOf(this);
+  size_t n = aMallocSizeOf(this);
+
+  // Measurement of the following members may be added later if DMD finds it is
+  // worthwhile:
+  // - mRawRule
+  // - mDecls
+
+  return n;
 }
 
 #ifdef DEBUG
 void
 ServoStyleRule::List(FILE* out, int32_t aIndent) const
 {
   nsAutoCString str;
   for (int32_t i = 0; i < aIndent; i++) {
--- a/layout/style/ServoStyleSet.cpp
+++ b/layout/style/ServoStyleSet.cpp
@@ -99,16 +99,33 @@ void
 ServoStyleSet::Shutdown()
 {
   // Make sure we drop our cached style contexts before the presshell arena
   // starts going away.
   ClearNonInheritingStyleContexts();
   mRawSet = nullptr;
 }
 
+size_t
+ServoStyleSet::SizeOfIncludingThis(MallocSizeOf aMallocSizeOf) const
+{
+  size_t n = aMallocSizeOf(this);
+
+  // Measurement of the following members may be added later if DMD finds it is
+  // worthwhile:
+  // - mRawSet
+  // - mSheets
+  // - mNonInheritingStyleContexts
+  //
+  // The following members are not measured:
+  // - mPresContext, because it a non-owning pointer
+
+  return n;
+}
+
 bool
 ServoStyleSet::GetAuthorStyleDisabled() const
 {
   return false;
 }
 
 nsresult
 ServoStyleSet::SetAuthorStyleDisabled(bool aStyleDisabled)
--- a/layout/style/ServoStyleSet.h
+++ b/layout/style/ServoStyleSet.h
@@ -87,16 +87,18 @@ public:
 
   ServoStyleSet();
   ~ServoStyleSet();
 
   void Init(nsPresContext* aPresContext);
   void BeginShutdown();
   void Shutdown();
 
+  size_t SizeOfIncludingThis(mozilla::MallocSizeOf aMallocSizeOf) const;
+
   bool GetAuthorStyleDisabled() const;
   nsresult SetAuthorStyleDisabled(bool aStyleDisabled);
 
   void BeginUpdate();
   nsresult EndUpdate();
 
   already_AddRefed<nsStyleContext>
   ResolveStyleFor(dom::Element* aElement,
--- a/layout/style/ServoStyleSheet.cpp
+++ b/layout/style/ServoStyleSheet.cpp
@@ -25,16 +25,26 @@ namespace mozilla {
 
 ServoStyleSheetInner::ServoStyleSheetInner(CORSMode aCORSMode,
                                            ReferrerPolicy aReferrerPolicy,
                                            const SRIMetadata& aIntegrity)
   : StyleSheetInfo(aCORSMode, aReferrerPolicy, aIntegrity)
 {
 }
 
+size_t
+ServoStyleSheetInner::SizeOfIncludingThis(MallocSizeOf aMallocSizeOf) const
+{
+  size_t n = aMallocSizeOf(this);
+
+  // XXX: need to measure mSheet
+
+  return n;
+}
+
 ServoStyleSheet::ServoStyleSheet(css::SheetParsingMode aParsingMode,
                                  CORSMode aCORSMode,
                                  net::ReferrerPolicy aReferrerPolicy,
                                  const dom::SRIMetadata& aIntegrity)
   : StyleSheet(StyleBackendType::Servo, aParsingMode)
 {
   mInner = new ServoStyleSheetInner(aCORSMode, aReferrerPolicy, aIntegrity);
   mInner->AddSheet(this);
@@ -228,9 +238,30 @@ ServoStyleSheet::InsertRuleIntoGroupInte
                                              css::GroupRule* aGroup,
                                              uint32_t aIndex)
 {
   auto rules = static_cast<ServoCSSRuleList*>(aGroup->CssRules());
   MOZ_ASSERT(rules->GetParentRule() == aGroup);
   return rules->InsertRule(aRule, aIndex);
 }
 
+size_t
+ServoStyleSheet::SizeOfIncludingThis(MallocSizeOf aMallocSizeOf) const
+{
+  size_t n = StyleSheet::SizeOfIncludingThis(aMallocSizeOf);
+  const ServoStyleSheet* s = this;
+  while (s) {
+    // See the comment in CSSStyleSheet::SizeOfIncludingThis() for an
+    // explanation of this.
+    if (s->Inner()->mSheets.LastElement() == s) {
+      n += s->Inner()->SizeOfIncludingThis(aMallocSizeOf);
+    }
+
+    // Measurement of the following members may be added later if DMD finds it
+    // is worthwhile:
+    // - s->mRuleList
+
+    s = s->mNext ? s->mNext->AsServo() : nullptr;
+  }
+  return n;
+}
+
 } // namespace mozilla
--- a/layout/style/ServoStyleSheet.h
+++ b/layout/style/ServoStyleSheet.h
@@ -28,16 +28,18 @@ class Loader;
 //
 
 struct ServoStyleSheetInner : public StyleSheetInfo
 {
   ServoStyleSheetInner(CORSMode aCORSMode,
                        ReferrerPolicy aReferrerPolicy,
                        const dom::SRIMetadata& aIntegrity);
 
+  size_t SizeOfIncludingThis(MallocSizeOf aMallocSizeOf) const;
+
   RefPtr<const RawServoStyleSheet> mSheet;
   // XXX StyleSheetInfo already has mSheetURI, mBaseURI, and mPrincipal.
   // Can we somehow replace them with URLExtraData directly? The issue
   // is currently URLExtraData is immutable, but URIs in StyleSheetInfo
   // seems to be mutable, so we probably cannot set them altogether.
   // Also, this is mostly a duplicate reference of the same url data
   // inside RawServoStyleSheet. We may want to just use that instead.
   RefPtr<URLExtraData> mURLData;
@@ -118,16 +120,18 @@ protected:
                               uint32_t aIndex, ErrorResult& aRv);
   void DeleteRuleInternal(uint32_t aIndex, ErrorResult& aRv);
   nsresult InsertRuleIntoGroupInternal(const nsAString& aRule,
                                        css::GroupRule* aGroup,
                                        uint32_t aIndex);
 
   void EnabledStateChangedInternal() {}
 
+  size_t SizeOfIncludingThis(MallocSizeOf aMallocSizeOf) const override;
+
 private:
   ServoStyleSheet(const ServoStyleSheet& aCopy,
                   ServoStyleSheet* aParentToUse,
                   css::ImportRule* aOwnerRuleToUse,
                   nsIDocument* aDocumentToUse,
                   nsINode* aOwningNodeToUse);
 
   void DropRuleList();
--- a/layout/style/test/test_media_query_list.html
+++ b/layout/style/test/test_media_query_list.html
@@ -36,24 +36,28 @@ function run() {
   iframe.style.height = h + "px";
   subroot.offsetWidth; // flush layout
 
   function setup_mql(str) {
     var obj = {
       str: str,
       mql: subwin.matchMedia(str),
       notifyCount: 0,
-      listener: function(mql) {
-                  is(mql, obj.mql,
+      listener: function(event) {
+                  ok(event instanceof MediaQueryListEvent,
                      "correct argument to listener: " + obj.str);
+                  is(event.media, obj.mql.media,
+                     "correct media in the event: " + obj.str);
+                  is(event.target, obj.mql,
+                     "correct target in the event: " + obj.str);
                   ++obj.notifyCount;
                   // Test the last match result only on odd
                   // notifications.
                   if (obj.notifyCount & 1) {
-                    obj.lastOddMatchResult = mql.matches;
+                    obj.lastOddMatchResult = event.target.matches;
                   }
                 }
     }
     obj.mql.addListener(obj.listener);
     return obj;
   }
 
   function finish_mql(obj) {
@@ -146,23 +150,23 @@ function run() {
   finish_mql(w_min_10em);
   finish_mql(w_max_9em);
   finish_mql(w_max_10em);
 
   // Additional tests of listener mutation.
   (function() {
     var received = [];
     var received_mql = [];
-    function listener1(mql) {
+    function listener1(event) {
       received.push(1);
-      received_mql.push(mql);
+      received_mql.push(event.target);
     }
-    function listener2(mql) {
+    function listener2(event) {
       received.push(2);
-      received_mql.push(mql);
+      received_mql.push(event.target);
     }
 
     iframe.style.width = "200px";
     subroot.offsetWidth; // flush layout
 
     var mql = subwin.matchMedia("(min-width: 150px)");
     mql.addListener(listener1);
     mql.addListener(listener1);
@@ -219,78 +223,52 @@ function run() {
        "notification of lists in order created");
     is(received_mql[1], mql,
        "notification of lists in order created");
     is(received_mql[2], mql2,
        "notification of lists in order created");
     received = [];
     received_mql = [];
 
-    function removing_listener(mql) {
+    function removing_listener(event) {
       received.push(3);
-      received_mql.push(mql);
-      mql.removeListener(listener2);
+      received_mql.push(event.target);
+      event.target.removeListener(listener2);
       mql2.removeListener(listener1);
     }
 
     mql.addListener(removing_listener);
     mql.removeListener(listener2);
     mql.addListener(listener2); // after removing_listener (3)
 
     iframe.style.width = "100px";
     subroot.offsetWidth; // flush layout
 
-    // mql(1, 3, 2) mql2(1)
-    is(JSON.stringify(received), "[1,3,2,1]",
+    // mql(1, 3)
+    is(JSON.stringify(received), "[1,3]",
        "listeners still notified after removed if change was before");
     is(received_mql[0], mql,
        "notification order (removal tests)");
     is(received_mql[1], mql,
        "notification order (removal tests)");
-    is(received_mql[2], mql,
-       "notification order (removal tests)");
-    is(received_mql[3], mql2,
-       "notification order (removal tests)");
     received = [];
     received_mql = [];
 
     iframe.style.width = "200px";
     subroot.offsetWidth; // flush layout
 
     // mql(1, 3)
     is(JSON.stringify(received), "[1,3]",
        "listeners not notified for changes after their removal");
     is(received_mql[0], mql,
        "notification order (removal tests)");
     is(received_mql[1], mql,
        "notification order (removal tests)");
   })();
 
-  /* Bug 716751: null-dereference crash */
-  (function() {
-    iframe.style.width = "200px";
-    subroot.offsetWidth; // flush layout
-
-    var mql = subwin.matchMedia("(min-width: 150px)");
-    SimpleTest.doesThrow(function() {
-      mql.addListener(null);
-    }, "expected an exception");
-
-    iframe.style.width = "100px";
-    subroot.offsetWidth; // flush layout
-    // With the bug, we crash here.  No need for test assertions.
-
-    SimpleTest.doesThrow(function() {
-      mql.removeListener(null);
-    }, "expected an exception");
-    SimpleTest.doesThrow(function() {
-      mql.removeListener(null);
-    }, "expected an exception");
-  })();
-
   /* Bug 753777: test that things work in a freshly-created iframe */
   (function() {
     var iframe = document.createElement("iframe");
     document.body.appendChild(iframe);
 
     is(iframe.contentWindow.matchMedia("(min-width: 1px)").matches, true,
        "(min-width: 1px) should match in newly-created iframe");
     is(iframe.contentWindow.matchMedia("(max-width: 1px)").matches, false,
@@ -298,17 +276,17 @@ function run() {
 
     document.body.removeChild(iframe);
   })();
 
   /* Bug 716751: listeners lost due to GC */
   var gc_received = [];
   (function() {
     var received = [];
-    var listener1 = function(mql) {
+    var listener1 = function(event) {
       gc_received.push(1);
     }
 
     iframe.style.width = "200px";
     subroot.offsetWidth; // flush layout
 
     var mql = subwin.matchMedia("(min-width: 150px)");
     mql.addListener(listener1);
@@ -332,17 +310,17 @@ function run() {
 
     is(JSON.stringify(gc_received), "[1,1]", "GC test: after notification 2");
 
     bug1270626();
   }
 
   /* Bug 1270626: listeners that throw exceptions */
   function bug1270626() {
-    var throwingListener = function(mql) {
+    var throwingListener = function(event) {
       throw "error";
     }
 
     iframe.style.width = "200px";
     subroot.offsetWidth; // flush layout
 
     var mql = subwin.matchMedia("(min-width: 150px)");
     mql.addListener(throwingListener);
--- a/media/libcubeb/src/cubeb_audiounit.cpp
+++ b/media/libcubeb/src/cubeb_audiounit.cpp
@@ -2302,29 +2302,27 @@ static int
 audiounit_setup_stream(cubeb_stream * stm)
 {
   stm->mutex.assert_current_thread_owns();
 
   int r = 0;
 
   AudioDeviceID in_dev = stm->input_device;
   AudioDeviceID out_dev = stm->output_device;
-  if (has_input(stm) && has_output(stm) &&
-      !getenv("CUBEB_AUDIOUNIT_DISABLE_AGGREGATE_DEVICE")) {
+  if (has_input(stm) && has_output(stm)) {
     r = audiounit_create_aggregate_device(stm);
     if (r != CUBEB_OK) {
       stm->aggregate_device_id = 0;
       LOG("(%p) Create aggregate devices failed.", stm);
       // !!!NOTE: It is not necessary to return here. If it does not
       // return it will fallback to the old implementation. The intention
       // is to investigate how often it fails. I plan to remove
       // it after a couple of weeks.
       return r;
     } else {
-      LOG("(%p) Using aggregate device", stm);
       in_dev = out_dev = stm->aggregate_device_id;
     }
   }
 
   if (has_input(stm)) {
     r = audiounit_create_unit(&stm->input_unit,
                               INPUT,
                               in_dev);
--- a/media/libcubeb/src/cubeb_resampler.cpp
+++ b/media/libcubeb/src/cubeb_resampler.cpp
@@ -13,17 +13,16 @@
 #include <cassert>
 #include <cstring>
 #include <cstddef>
 #include <cstdio>
 #include "cubeb_resampler.h"
 #include "cubeb-speex-resampler.h"
 #include "cubeb_resampler_internal.h"
 #include "cubeb_utils.h"
-#include "cubeb_log.h"
 
 int
 to_speex_quality(cubeb_resampler_quality q)
 {
   switch(q) {
   case CUBEB_RESAMPLER_QUALITY_VOIP:
     return SPEEX_RESAMPLER_QUALITY_VOIP;
   case CUBEB_RESAMPLER_QUALITY_DEFAULT:
@@ -70,19 +69,16 @@ long passthrough_resampler<T>::fill(void
   long rv = data_callback(stream, user_ptr, internal_input_buffer.data(),
                           output_buffer, output_frames);
 
   if (input_buffer) {
     internal_input_buffer.pop(nullptr, frames_to_samples(output_frames));
     *input_frames_count = output_frames;
   }
 
-  ALOGV("passthrough: after callback, internal input buffer length: %zu",
-        internal_input_buffer.length());
-
   return rv;
 }
 
 template<typename T, typename InputProcessor, typename OutputProcessor>
 cubeb_resampler_speex<T, InputProcessor, OutputProcessor>
   ::cubeb_resampler_speex(InputProcessor * input_processor,
                           OutputProcessor * output_processor,
                           cubeb_stream * s,
@@ -234,26 +230,16 @@ cubeb_resampler_speex<T, InputProcessor,
   } else {
     resampled_input = nullptr;
   }
 
   got = data_callback(stream, user_ptr,
                       resampled_input, out_unprocessed,
                       output_frames_before_processing);
 
-  size_t input_processor_buffer_sizes[2];
-  size_t output_processor_buffer_sizes[2];
-  input_processor->internal_buffer_sizes(input_processor_buffer_sizes);
-  output_processor->internal_buffer_sizes(output_processor_buffer_sizes);
-  ALOGV("duplex resampler: after callback, resampling buffer state:"
-        "input_processor(input: %zu, output: %zu) "
-        "output_processor(input: %zu, output: %zu) ",
-        input_processor_buffer_sizes[0], input_processor_buffer_sizes[1],
-        output_processor_buffer_sizes[0], output_processor_buffer_sizes[1]);
-
   if (got < 0) {
     return got;
   }
 
   output_processor->written(got);
 
   /* Process the output. If not enough frames have been returned from the
    * callback, drain the processors. */
--- a/media/libcubeb/src/cubeb_resampler_internal.h
+++ b/media/libcubeb/src/cubeb_resampler_internal.h
@@ -174,22 +174,16 @@ public:
   }
 
   /** Destructor, deallocate the resampler */
   virtual ~cubeb_resampler_speex_one_way()
   {
     speex_resampler_destroy(speex_resampler);
   }
 
-  void internal_buffer_sizes(size_t buf_sizes[2])
-  {
-    buf_sizes[0] = resampling_in_buffer.length();
-    buf_sizes[1] = resampling_out_buffer.length();
-  }
-
   /** Sometimes, it is necessary to add latency on one way of a two-way
    * resampler so that the stream are synchronized. This must be called only on
    * a fresh resampler, otherwise, silent samples will be inserted in the
    * stream.
    * @param frames the number of frames of latency to add. */
   void add_latency(size_t frames)
   {
     additional_latency += frames;
@@ -367,21 +361,16 @@ public:
   }
   /* Add some latency to the delay line.
    * @param frames the number of frames of latency to add. */
   void add_latency(size_t frames)
   {
     length += frames;
     delay_input_buffer.push_silence(frames_to_samples(frames));
   }
-  void internal_buffer_sizes(size_t buf_sizes[2])
-  {
-    buf_sizes[0] = delay_input_buffer.length();
-    buf_sizes[1] = delay_output_buffer.length();
-  }
   /** Push some frames into the delay line.
    * @parameter buffer the frames to push.
    * @parameter frame_count the number of frames in #buffer. */
   void input(T * buffer, uint32_t frame_count)
   {
     delay_input_buffer.push(buffer, frames_to_samples(frame_count));
   }
   /** Pop some frames from the internal buffer, into a internal output buffer.
deleted file mode 100644
--- a/media/libcubeb/temp-patch-debug-drift.patch
+++ /dev/null
@@ -1,150 +0,0 @@
-diff --git a/media/libcubeb/src/cubeb_audiounit.cpp b/media/libcubeb/src/cubeb_audiounit.cpp
---- a/media/libcubeb/src/cubeb_audiounit.cpp
-+++ b/media/libcubeb/src/cubeb_audiounit.cpp
-@@ -2302,27 +2302,29 @@ static int
- audiounit_setup_stream(cubeb_stream * stm)
- {
-   stm->mutex.assert_current_thread_owns();
- 
-   int r = 0;
- 
-   AudioDeviceID in_dev = stm->input_device;
-   AudioDeviceID out_dev = stm->output_device;
--  if (has_input(stm) && has_output(stm)) {
-+  if (has_input(stm) && has_output(stm) &&
-+      !getenv("CUBEB_AUDIOUNIT_DISABLE_AGGREGATE_DEVICE")) {
-     r = audiounit_create_aggregate_device(stm);
-     if (r != CUBEB_OK) {
-       stm->aggregate_device_id = 0;
-       LOG("(%p) Create aggregate devices failed.", stm);
-       // !!!NOTE: It is not necessary to return here. If it does not
-       // return it will fallback to the old implementation. The intention
-       // is to investigate how often it fails. I plan to remove
-       // it after a couple of weeks.
-       return r;
-     } else {
-+      LOG("(%p) Using aggregate device", stm);
-       in_dev = out_dev = stm->aggregate_device_id;
-     }
-   }
- 
-   if (has_input(stm)) {
-     r = audiounit_create_unit(&stm->input_unit,
-                               INPUT,
-                               in_dev);
-diff --git a/media/libcubeb/src/cubeb_resampler.cpp b/media/libcubeb/src/cubeb_resampler.cpp
---- a/media/libcubeb/src/cubeb_resampler.cpp
-+++ b/media/libcubeb/src/cubeb_resampler.cpp
-@@ -13,16 +13,17 @@
- #include <cassert>
- #include <cstring>
- #include <cstddef>
- #include <cstdio>
- #include "cubeb_resampler.h"
- #include "cubeb-speex-resampler.h"
- #include "cubeb_resampler_internal.h"
- #include "cubeb_utils.h"
-+#include "cubeb_log.h"
- 
- int
- to_speex_quality(cubeb_resampler_quality q)
- {
-   switch(q) {
-   case CUBEB_RESAMPLER_QUALITY_VOIP:
-     return SPEEX_RESAMPLER_QUALITY_VOIP;
-   case CUBEB_RESAMPLER_QUALITY_DEFAULT:
-@@ -70,16 +71,19 @@ long passthrough_resampler<T>::fill(void
-   long rv = data_callback(stream, user_ptr, internal_input_buffer.data(),
-                           output_buffer, output_frames);
- 
-   if (input_buffer) {
-     internal_input_buffer.pop(nullptr, frames_to_samples(output_frames));
-     *input_frames_count = output_frames;
-   }
- 
-+  ALOGV("passthrough: after callback, internal input buffer length: %zu",
-+        internal_input_buffer.length());
-+
-   return rv;
- }
- 
- template<typename T, typename InputProcessor, typename OutputProcessor>
- cubeb_resampler_speex<T, InputProcessor, OutputProcessor>
-   ::cubeb_resampler_speex(InputProcessor * input_processor,
-                           OutputProcessor * output_processor,
-                           cubeb_stream * s,
-@@ -231,16 +235,26 @@ cubeb_resampler_speex<T, InputProcessor,
-   } else {
-     resampled_input = nullptr;
-   }
- 
-   got = data_callback(stream, user_ptr,
-                       resampled_input, out_unprocessed,
-                       output_frames_before_processing);
- 
-+  size_t input_processor_buffer_sizes[2];
-+  size_t output_processor_buffer_sizes[2];
-+  input_processor->internal_buffer_sizes(input_processor_buffer_sizes);
-+  output_processor->internal_buffer_sizes(output_processor_buffer_sizes);
-+  ALOGV("duplex resampler: after callback, resampling buffer state:"
-+        "input_processor(input: %zu, output: %zu) "
-+        "output_processor(input: %zu, output: %zu) ",
-+        input_processor_buffer_sizes[0], input_processor_buffer_sizes[1],
-+        output_processor_buffer_sizes[0], output_processor_buffer_sizes[1]);
-+
-   if (got < 0) {
-     return got;
-   }
- 
-   output_processor->written(got);
- 
-   /* Process the output. If not enough frames have been returned from the
-    * callback, drain the processors. */
-diff --git a/media/libcubeb/src/cubeb_resampler_internal.h b/media/libcubeb/src/cubeb_resampler_internal.h
---- a/media/libcubeb/src/cubeb_resampler_internal.h
-+++ b/media/libcubeb/src/cubeb_resampler_internal.h
-@@ -174,16 +174,22 @@ public:
-   }
- 
-   /** Destructor, deallocate the resampler */
-   virtual ~cubeb_resampler_speex_one_way()
-   {
-     speex_resampler_destroy(speex_resampler);
-   }
- 
-+  void internal_buffer_sizes(size_t buf_sizes[2])
-+  {
-+    buf_sizes[0] = resampling_in_buffer.length();
-+    buf_sizes[1] = resampling_out_buffer.length();
-+  }
-+
-   /** Sometimes, it is necessary to add latency on one way of a two-way
-    * resampler so that the stream are synchronized. This must be called only on
-    * a fresh resampler, otherwise, silent samples will be inserted in the
-    * stream.
-    * @param frames the number of frames of latency to add. */
-   void add_latency(size_t frames)
-   {
-     additional_latency += frames;
-@@ -361,16 +367,21 @@ public:
-   }
-   /* Add some latency to the delay line.
-    * @param frames the number of frames of latency to add. */
-   void add_latency(size_t frames)
-   {
-     length += frames;
-     delay_input_buffer.push_silence(frames_to_samples(frames));
-   }
-+  void internal_buffer_sizes(size_t buf_sizes[2])
-+  {
-+    buf_sizes[0] = delay_input_buffer.length();
-+    buf_sizes[1] = delay_output_buffer.length();
-+  }
-   /** Push some frames into the delay line.
-    * @parameter buffer the frames to push.
-    * @parameter frame_count the number of frames in #buffer. */
-   void input(T * buffer, uint32_t frame_count)
-   {
-     delay_input_buffer.push(buffer, frames_to_samples(frame_count));
-   }
-   /** Pop some frames from the internal buffer, into a internal output buffer.
--- a/media/libcubeb/update.sh
+++ b/media/libcubeb/update.sh
@@ -63,12 +63,9 @@ if [ -n "$rev" ]; then
   fi
   sed -i.bak -e "/The git commit ID used was/ s/[0-9a-f]\{40\}\(-dirty\)\{0,1\} .\{1,100\}/$version ($date)/" README_MOZILLA
   rm README_MOZILLA.bak
 else
   echo "Remember to update README_MOZILLA with the version details."
 fi
 
 echo "Applying a patch on top of $rev"
-patch -p3 < temp-patch-debug-drift.patch
-
-echo "Applying a patch on top of $rev"
 patch -p3 < disable-assert.patch
--- a/mobile/android/app/mobile.js
+++ b/mobile/android/app/mobile.js
@@ -103,16 +103,20 @@ pref("network.http.keep-alive.timeout", 
 pref("network.http.max-connections", 20);
 pref("network.http.max-persistent-connections-per-server", 6);
 pref("network.http.max-persistent-connections-per-proxy", 20);
 
 // spdy
 pref("network.http.spdy.push-allowance", 32768);
 pref("network.http.spdy.default-hpack-buffer", 4096); // 4k
 
+// Racing the cache with the network should be disabled to prevent accidental
+// data usage.
+pref("network.http.rcwn.enabled", false);
+
 // See bug 545869 for details on why these are set the way they are
 pref("network.buffer.cache.count", 24);
 pref("network.buffer.cache.size",  16384);
 
 // predictive actions
 pref("network.predictor.enabled", true);
 pref("network.predictor.max-db-size", 2097152); // bytes
 pref("network.predictor.preserve", 50); // percentage of predictor data to keep when cleaning up
--- a/mobile/android/chrome/content/browser.js
+++ b/mobile/android/chrome/content/browser.js
@@ -4496,16 +4496,19 @@ Tab.prototype = {
       }
     }
 
     // Update the page actions URI for helper apps.
     if (BrowserApp.selectedTab == this) {
       ExternalApps.updatePageActionUri(fixedURI);
     }
 
+    // Strip reader mode URI and also make it exposable if needed
+    fixedURI = this._stripAboutReaderURL(fixedURI);
+
     let message = {
       type: "Content:LocationChange",
       tabID: this.id,
       uri: truncate(fixedURI.spec, MAX_URI_LENGTH),
       userRequested: this.userRequested || "",
       baseDomain: baseDomain,
       contentType: (contentType ? contentType : ""),
       sameDocument: sameDocument,
@@ -4524,18 +4527,25 @@ Tab.prototype = {
       // XXX This code assumes that this is the earliest hook we have at which
       // browser.contentDocument is changed to the new document we're loading
       this.contentDocumentIsDisplayed = false;
       this.hasTouchListener = false;
       Services.obs.notifyObservers(this.browser, "Session:NotifyLocationChange", null);
     }
   },
 
-  _stripAboutReaderURL: function (url) {
-    return ReaderMode.getOriginalUrl(url) || url;
+  _stripAboutReaderURL: function (originalURI) {
+    try {
+      let strippedURL = ReaderMode.getOriginalUrl(originalURI.spec);
+      if(strippedURL){
+        // Continue to create exposable uri if original uri is stripped.
+        originalURI = URIFixup.createExposableURI(Services.io.newURI(strippedURL));
+      }
+    } catch (ex) { }
+    return originalURI;
   },
 
   // Properties used to cache security state used to update the UI
   _state: null,
   _hostChanged: false, // onLocationChange will flip this bit
 
   onSecurityChange: function(aWebProgress, aRequest, aState) {
     // Don't need to do anything if the data we use to update the UI hasn't changed
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -1635,16 +1635,24 @@ pref("network.http.enforce-framing.soft"
 // array - behavior as it used to be. If it is true: empty headers coming from
 // the network will exist in header array as empty string. Call SetHeader with
 // an empty value will still delete the header.(Bug 6699259)
 pref("network.http.keep_empty_response_headers_as_empty_string", true);
 
 // Max size, in bytes, for received HTTP response header.
 pref("network.http.max_response_header_size", 393216);
 
+// If we should attempt to race the cache and network
+pref("network.http.rcwn.enabled", false);
+pref("network.http.rcwn.cache_queue_normal_threshold", 50);
+pref("network.http.rcwn.cache_queue_priority_threshold", 10);
+// We might attempt to race the cache with the network only if a resource
+// is smaller than this size.
+pref("network.http.rcwn.small_resource_size_kb", 256);
+
 // The ratio of the transaction count for the focused window and the count of
 // all available active connections.
 pref("network.http.focused_window_transaction_ratio", "0.9");
 
 // default values for FTP
 // in a DSCP environment this should be 40 (0x28, or AF11), per RFC-4594,
 // Section 4.8 "High-Throughput Data Service Class", and 80 (0x50, or AF22)
 // per Section 4.7 "Low-Latency Data Service Class".
--- a/netwerk/cache2/CacheFileContextEvictor.cpp
+++ b/netwerk/cache2/CacheFileContextEvictor.cpp
@@ -608,18 +608,21 @@ CacheFileContextEvictor::EvictEntries()
       // We doom any active handle in CacheFileIOManager::EvictByContext(), so
       // this must be a new one. Skip it.
       LOG(("CacheFileContextEvictor::EvictEntries() - Skipping entry since we "
            "found an active handle. [handle=%p]", handle.get()));
       continue;
     }
 
     CacheIndex::EntryStatus status;
-    bool pinned;
-    rv = CacheIndex::HasEntry(hash, &status, &pinned);
+    bool pinned = false;
+    auto callback = [&pinned](const CacheIndexEntry * aEntry) {
+      pinned = aEntry->IsPinned();
+    };
+    rv = CacheIndex::HasEntry(hash, &status, callback);
     // This must never fail, since eviction (this code) happens only when the index
     // is up-to-date and thus the informatin is known.
     MOZ_ASSERT(NS_SUCCEEDED(rv));
 
     if (pinned != mEntries[0]->mPinned) {
       LOG(("CacheFileContextEvictor::EvictEntries() - Skipping entry since pinning "
            "doesn't match [evicting pinned=%d, entry pinned=%d]",
            mEntries[0]->mPinned, pinned));
--- a/netwerk/cache2/CacheIndex.cpp
+++ b/netwerk/cache2/CacheIndex.cpp
@@ -1139,48 +1139,46 @@ CacheIndex::RemoveAll()
     file->Remove(false);
   }
 
   return NS_OK;
 }
 
 // static
 nsresult
-CacheIndex::HasEntry(const nsACString &aKey, EntryStatus *_retval, bool *_pinned)
+CacheIndex::HasEntry(const nsACString &aKey, EntryStatus *_retval,
+                     const std::function<void(const CacheIndexEntry*)> &aCB)
 {
   LOG(("CacheIndex::HasEntry() [key=%s]", PromiseFlatCString(aKey).get()));
 
   SHA1Sum sum;
   SHA1Sum::Hash hash;
   sum.update(aKey.BeginReading(), aKey.Length());
   sum.finish(hash);
 
-  return HasEntry(hash, _retval, _pinned);
+  return HasEntry(hash, _retval, aCB);
 }
 
 // static
 nsresult
-CacheIndex::HasEntry(const SHA1Sum::Hash &hash, EntryStatus *_retval, bool *_pinned)
+CacheIndex::HasEntry(const SHA1Sum::Hash &hash, EntryStatus *_retval,
+                     const std::function<void(const CacheIndexEntry*)> &aCB)
 {
   StaticMutexAutoLock lock(sLock);
 
   RefPtr<CacheIndex> index = gInstance;
 
   if (!index) {
     return NS_ERROR_NOT_INITIALIZED;
   }
 
   if (!index->IsIndexUsable()) {
     return NS_ERROR_NOT_AVAILABLE;
   }
 
-  if (_pinned) {
-    *_pinned = false;
-  }
-
   const CacheIndexEntry *entry = nullptr;
 
   switch (index->mState) {
     case READING:
     case WRITING:
       entry = index->mPendingUpdates.GetEntry(hash);
       MOZ_FALLTHROUGH;
     case BUILDING:
@@ -1205,18 +1203,18 @@ CacheIndex::HasEntry(const SHA1Sum::Hash
     if (entry->IsRemoved()) {
       if (entry->IsFresh()) {
         *_retval = DOES_NOT_EXIST;
       } else {
         *_retval = DO_NOT_KNOW;
       }
     } else {
       *_retval = EXISTS;
-      if (_pinned && entry->IsPinned()) {
-        *_pinned = true;
+      if (aCB) {
+        aCB(entry);
       }
     }
   }
 
   LOG(("CacheIndex::HasEntry() - result is %u", *_retval));
   return NS_OK;
 }
 
--- a/netwerk/cache2/CacheIndex.h
+++ b/netwerk/cache2/CacheIndex.h
@@ -722,21 +722,22 @@ public:
   enum EntryStatus {
     EXISTS         = 0,
     DOES_NOT_EXIST = 1,
     DO_NOT_KNOW    = 2
   };
 
   // Returns status of the entry in index for the given key. It can be called
   // on any thread.
-  // If _pinned is non-null, it's filled with pinning status of the entry.
+  // If the optional aCB callback is given, the it will be called with a
+  // CacheIndexEntry only if _retval is EXISTS when the method returns.
   static nsresult HasEntry(const nsACString &aKey, EntryStatus *_retval,
-                           bool *_pinned = nullptr);
+                           const std::function<void(const CacheIndexEntry*)> &aCB = nullptr);
   static nsresult HasEntry(const SHA1Sum::Hash &hash, EntryStatus *_retval,
-                           bool *_pinned = nullptr);
+                           const std::function<void(const CacheIndexEntry*)> &aCB = nullptr);
 
   // Returns a hash of the least important entry that should be evicted if the
   // cache size is over limit and also returns a total number of all entries in
   // the index minus the number of forced valid entries and unpinned entries
   // that we encounter when searching (see below)
   static nsresult GetEntryForEviction(bool aIgnoreEmptyEntries, SHA1Sum::Hash *aHash, uint32_t *aCnt);
 
   // Checks if a cache entry is currently forced valid. Used to prevent an entry
--- a/netwerk/cache2/CacheStorage.cpp
+++ b/netwerk/cache2/CacheStorage.cpp
@@ -166,16 +166,43 @@ NS_IMETHODIMP CacheStorage::Exists(nsIUR
   nsAutoCString asciiSpec;
   rv = noRefURI->GetAsciiSpec(asciiSpec);
   NS_ENSURE_SUCCESS(rv, rv);
 
   return CacheStorageService::Self()->CheckStorageEntry(
     this, asciiSpec, aIdExtension, aResult);
 }
 
+nsresult
+CacheStorage::GetCacheIndexEntryAttrs(nsIURI *aURI,
+                                      const nsACString &aIdExtension,
+                                      bool *aHasAltData,
+                                      uint32_t *aSizeInKB)
+{
+  NS_ENSURE_ARG(aURI);
+  NS_ENSURE_ARG(aHasAltData);
+  NS_ENSURE_ARG(aSizeInKB);
+  if (!CacheStorageService::Self()) {
+    return NS_ERROR_NOT_INITIALIZED;
+  }
+
+  nsresult rv;
+
+  nsCOMPtr<nsIURI> noRefURI;
+  rv = aURI->CloneIgnoringRef(getter_AddRefs(noRefURI));
+  NS_ENSURE_SUCCESS(rv, rv);
+
+  nsAutoCString asciiSpec;
+  rv = noRefURI->GetAsciiSpec(asciiSpec);
+  NS_ENSURE_SUCCESS(rv, rv);
+
+  return CacheStorageService::Self()->GetCacheIndexEntryAttrs(
+    this, asciiSpec, aIdExtension, aHasAltData, aSizeInKB);
+}
+
 NS_IMETHODIMP CacheStorage::AsyncDoomURI(nsIURI *aURI, const nsACString & aIdExtension,
                                          nsICacheEntryDoomCallback* aCallback)
 {
   if (!CacheStorageService::Self())
     return NS_ERROR_NOT_INITIALIZED;
 
   nsresult rv;
 
--- a/netwerk/cache2/CacheStorage.h
+++ b/netwerk/cache2/CacheStorage.h
@@ -68,14 +68,17 @@ protected:
   bool mPinning : 1;
 
 public:
   nsILoadContextInfo* LoadInfo() const { return mLoadContextInfo; }
   bool WriteToDisk() const { return mWriteToDisk && !mLoadContextInfo->IsPrivate(); }
   bool LookupAppCache() const { return mLookupAppCache; }
   bool SkipSizeCheck() const { return mSkipSizeCheck; }
   bool Pinning() const { return mPinning; }
+  virtual nsresult GetCacheIndexEntryAttrs(
+          nsIURI *aURI, const nsACString &aIdExtension,
+          bool *aHasAltData, uint32_t *aSizeInKB) override;
 };
 
 } // namespace net
 } // namespace mozilla
 
 #endif
--- a/netwerk/cache2/CacheStorageService.cpp
+++ b/netwerk/cache2/CacheStorageService.cpp
@@ -1630,16 +1630,58 @@ CacheStorageService::CheckStorageEntry(C
     return NS_ERROR_NOT_AVAILABLE;
   }
 
   *aResult = status == CacheIndex::EXISTS;
   LOG(("  %sfound in index", *aResult ? "" : "not "));
   return NS_OK;
 }
 
+nsresult
+CacheStorageService::GetCacheIndexEntryAttrs(CacheStorage const* aStorage,
+                                             const nsACString &aURI,
+                                             const nsACString &aIdExtension,
+                                             bool *aHasAltData,
+                                             uint32_t *aFileSizeKb)
+{
+  nsresult rv;
+
+  nsAutoCString contextKey;
+  CacheFileUtils::AppendKeyPrefix(aStorage->LoadInfo(), contextKey);
+
+  LOG(("CacheStorageService::GetCacheIndexEntryAttrs [uri=%s, eid=%s, contextKey=%s]",
+    aURI.BeginReading(), aIdExtension.BeginReading(), contextKey.get()));
+
+  nsAutoCString fileKey;
+  rv = CacheEntry::HashingKey(contextKey, aIdExtension, aURI, fileKey);
+  if (NS_FAILED(rv)) {
+    return rv;
+  }
+
+  *aHasAltData = false;
+  *aFileSizeKb = 0;
+  auto closure = [&aHasAltData, &aFileSizeKb](const CacheIndexEntry *entry) {
+    *aHasAltData = entry->GetHasAltData();
+    *aFileSizeKb = entry->GetFileSize();
+  };
+
+  CacheIndex::EntryStatus status;
+  rv = CacheIndex::HasEntry(fileKey, &status, closure);
+  if (NS_FAILED(rv)) {
+    return rv;
+  }
+
+  if (status != CacheIndex::EXISTS) {
+    return NS_ERROR_CACHE_KEY_NOT_FOUND;
+  }
+
+  return NS_OK;
+}
+
+
 namespace {
 
 class CacheEntryDoomByKeyCallback : public CacheFileIOListener
                                   , public nsIRunnable
 {
 public:
   NS_DECL_THREADSAFE_ISUPPORTS
   NS_DECL_NSIRUNNABLE
--- a/netwerk/cache2/CacheStorageService.h
+++ b/netwerk/cache2/CacheStorageService.h
@@ -106,16 +106,22 @@ public:
                              int64_t aDataSize, int32_t aFetchCount,
                              uint32_t aLastModifiedTime, uint32_t aExpirationTime,
                              bool aPinned, nsILoadContextInfo* aInfo) = 0;
   };
 
   // Invokes OnEntryInfo for the given aEntry, synchronously.
   static void GetCacheEntryInfo(CacheEntry* aEntry, EntryInfoCallback *aVisitor);
 
+  nsresult GetCacheIndexEntryAttrs(CacheStorage const* aStorage,
+                                   const nsACString &aURI,
+                                   const nsACString &aIdExtension,
+                                   bool *aHasAltData,
+                                   uint32_t *aFileSizeKb);
+
   static uint32_t CacheQueueSize(bool highPriority);
 
   // Memory reporting
   size_t SizeOfExcludingThis(mozilla::MallocSizeOf mallocSizeOf) const;
   size_t SizeOfIncludingThis(mozilla::MallocSizeOf mallocSizeOf) const;
   MOZ_DEFINE_MALLOC_SIZE_OF(MallocSizeOf)
 
 private:
--- a/netwerk/cache2/nsICacheStorage.idl
+++ b/netwerk/cache2/nsICacheStorage.idl
@@ -126,9 +126,17 @@ interface nsICacheStorage : nsISupports
   void asyncEvictStorage(in nsICacheEntryDoomCallback aCallback);
 
   /**
    * Visits the storage and its entries.
    * NOTE: Disk storage also visits memory storage.
    */
   void asyncVisitStorage(in nsICacheStorageVisitor aVisitor,
                          in boolean aVisitEntries);
+
+  %{C++
+    virtual nsresult GetCacheIndexEntryAttrs(
+          nsIURI *aURI, const nsACString &aIdExtension,
+          bool *aHasAltData, uint32_t *aSizeInKB) {
+      return NS_ERROR_NOT_IMPLEMENTED;
+    }
+  %}
 };
--- a/netwerk/protocol/http/nsHttpChannel.cpp
+++ b/netwerk/protocol/http/nsHttpChannel.cpp
@@ -114,16 +114,20 @@
 
 namespace mozilla { namespace net {
 
 namespace {
 
 // Monotonically increasing ID for generating unique cache entries per
 // intercepted channel.
 static uint64_t gNumIntercepted = 0;
+static bool sRCWNEnabled = false;
+static uint32_t sRCWNQueueSizeNormal = 50;
+static uint32_t sRCWNQueueSizePriority = 10;
+static uint32_t sRCWNSmallResourceSizeKB = 256;
 
 // True if the local cache should be bypassed when processing a request.
 #define BYPASS_LOCAL_CACHE(loadFlags) \
         (loadFlags & (nsIRequest::LOAD_BYPASS_CACHE | \
                       nsICachingChannel::LOAD_BYPASS_LOCAL_CACHE))
 
 #define RECOVER_FROM_CACHE_FILE_ERROR(result) \
         ((result) == NS_ERROR_FILE_NOT_FOUND || \
@@ -2043,17 +2047,19 @@ nsHttpChannel::ProcessResponse()
         // for Strict-Transport-Security.
     } else {
         // Given a successful connection, process any STS or PKP data that's
         // relevant.
         DebugOnly<nsresult> rv = ProcessSecurityHeaders();
         MOZ_ASSERT(NS_SUCCEEDED(rv), "ProcessSTSHeader failed, continuing load.");
     }
 
-    MOZ_ASSERT(!mCachedContentIsValid);
+    MOZ_ASSERT(!mCachedContentIsValid || mRacingNetAndCache,
+               "We should not be hitting the network if we have valid cached "
+               "content unless we are racing the network and cache");
 
     ProcessSSLInformation();
 
     // notify "http-on-examine-response" observers
     gHttpHandler->OnExamineResponse(this);
 
     return ContinueProcessResponse1();
 }
@@ -3602,16 +3608,29 @@ nsHttpChannel::OpenCacheEntry(bool isHtt
             DebugOnly<bool> exists;
             MOZ_ASSERT(NS_SUCCEEDED(cacheStorage->Exists(openURI, extension, &exists)) && exists,
                        "The entry must exist in the cache after we create it here");
         }
 
         mCacheOpenWithPriority = cacheEntryOpenFlags & nsICacheStorage::OPEN_PRIORITY;
         mCacheQueueSizeWhenOpen = CacheStorageService::CacheQueueSize(mCacheOpenWithPriority);
 
+        bool hasAltData = false;
+        uint32_t sizeInKb = 0;
+        rv = cacheStorage->GetCacheIndexEntryAttrs(openURI, extension,
+                                                   &hasAltData, &sizeInKb);
+
+        // We will attempt to race the network vs the cache if we've found this
+        // entry in the cache index, and it has appropriate
+        // attributes (doesn't have alt-data, and has a small size)
+        if (sRCWNEnabled && mInterceptCache != INTERCEPTED &&
+            NS_SUCCEEDED(rv) && !hasAltData && sizeInKb < sRCWNSmallResourceSizeKB) {
+            MaybeRaceNetworkWithCache();
+        }
+
         if (!mCacheOpenDelay) {
             rv = cacheStorage->AsyncOpenURI(openURI, extension, cacheEntryOpenFlags, this);
         } else {
             // We pass `this` explicitly as a parameter due to the raw pointer
             // to refcounted object in lambda analysis.
             mCacheOpenFunc = [openURI, extension, cacheEntryOpenFlags, cacheStorage] (nsHttpChannel* self) -> void {
                 cacheStorage->AsyncOpenURI(openURI, extension, cacheEntryOpenFlags, self);
             };
@@ -5146,17 +5165,17 @@ nsHttpChannel::FinalizeCacheEntry()
 nsresult
 nsHttpChannel::InstallCacheListener(int64_t offset)
 {
     nsresult rv;
 
     LOG(("Preparing to write data into the cache [uri=%s]\n", mSpec.get()));
 
     MOZ_ASSERT(mCacheEntry);
-    MOZ_ASSERT(mCacheEntryIsWriteOnly || mCachedContentIsPartial);
+    MOZ_ASSERT(mCacheEntryIsWriteOnly || mCachedContentIsPartial || mRacingNetAndCache);
     MOZ_ASSERT(mListener);
 
     nsAutoCString contentEncoding, contentType;
     Unused << mResponseHead->GetHeader(nsHttp::Content_Encoding, contentEncoding);
     mResponseHead->ContentType(contentType);
     // If the content is compressible and the server has not compressed it,
     // mark the cache entry for compression.
     if (contentEncoding.IsEmpty() &&
@@ -5802,16 +5821,25 @@ nsHttpChannel::AsyncOpen(nsIStreamListen
     MOZ_ASSERT(NS_IsMainThread());
 
     if (!gHttpHandler->Active()) {
         LOG(("  after HTTP shutdown..."));
         ReleaseListeners();
         return NS_ERROR_NOT_AVAILABLE;
     }
 
+    static bool sRCWNInited = false;
+    if (!sRCWNInited) {
+        sRCWNInited = true;
+        Preferences::AddBoolVarCache(&sRCWNEnabled, "network.http.rcwn.enabled");
+        Preferences::AddUintVarCache(&sRCWNQueueSizeNormal, "network.http.rcwn.cache_queue_normal_threshold");
+        Preferences::AddUintVarCache(&sRCWNQueueSizePriority, "network.http.rcwn.cache_queue_priority_threshold");
+        Preferences::AddUintVarCache(&sRCWNSmallResourceSizeKB, "network.http.rcwn.small_resource_size_kb");
+    }
+
     rv = NS_CheckPortSafety(mURI);
     if (NS_FAILED(rv)) {
         ReleaseListeners();
         return rv;
     }
 
     if (mInterceptCache != INTERCEPTED && ShouldIntercept()) {
         mInterceptCache = MAYBE_INTERCEPT;
@@ -7160,33 +7188,34 @@ nsHttpChannel::OnDataAvailable(nsIReques
 {
     PROFILER_LABEL("nsHttpChannel", "OnDataAvailable",
         js::ProfileEntry::Category::NETWORK);
 
     LOG(("nsHttpChannel::OnDataAvailable [this=%p request=%p offset=%" PRIu64
          " count=%" PRIu32 "]\n",
         this, request, offset, count));
 
-    LOG(("OnDataAvailable %p requestFromCache: %d mFirstResponseSource: %d\n", this, request == mCachePump, mFirstResponseSource));
+    LOG(("  requestFromCache: %d mFirstResponseSource: %d\n",
+        request == mCachePump, mFirstResponseSource));
 
     // don't send out OnDataAvailable notifications if we've been canceled.
     if (mCanceled)
         return mStatus;
 
+    if (mAuthRetryPending || WRONG_RACING_RESPONSE_SOURCE(request) ||
+        (request == mTransactionPump && mTransactionReplaced)) {
+        uint32_t n;
+        return input->ReadSegments(NS_DiscardSegment, nullptr, count, &n);
+    }
+
     MOZ_ASSERT(mResponseHead, "No response head in ODA!!");
 
     MOZ_ASSERT(!(mCachedContentIsPartial && (request == mTransactionPump)),
                "transaction pump not suspended");
 
-    if (mAuthRetryPending || WRONG_RACING_RESPONSE_SOURCE(request) ||
-        (request == mTransactionPump && mTransactionReplaced)) {
-        uint32_t n;
-        return input->ReadSegments(NS_DiscardSegment, nullptr, count, &n);
-    }
-
     mIsReadingFromCache = (request == mCachePump);
 
     if (mListener) {
         //
         // synthesize transport progress event.  we do this here since we want
         // to delay OnProgress events until we start streaming data.  this is
         // crucially important since it impacts the lock icon (see bug 240053).
         //
@@ -8712,17 +8741,19 @@ nsHttpChannel::Test_triggerDelayedOpenCa
 }
 
 nsresult
 nsHttpChannel::TriggerNetwork(int32_t aTimeout)
 {
     MOZ_ASSERT(NS_IsMainThread(), "Must be called on the main thread");
     // If a network request has already gone out, there is no point in
     // doing this again.
+    LOG(("nsHttpChannel::TriggerNetwork [this=%p]\n", this));
     if (mNetworkTriggered) {
+        LOG(("  network already triggered. Returning.\n"));
         return NS_OK;
     }
 
     if (!aTimeout) {
         mNetworkTriggered = true;
         if (!mOnCacheAvailableCalled) {
             // If the network was triggered before onCacheEntryAvailable was
             // called, we are either racing network and cache, or the load is
@@ -8735,28 +8766,53 @@ nsHttpChannel::TriggerNetwork(int32_t aT
         }
 
         // If we are waiting for a proxy request, that means we can't trigger
         // the next step just yet. We need for mConnectionInfo to be non-null
         // before we call TryHSTSPriming. OnProxyAvailable will trigger
         // BeginConnect, and Connect will call TryHSTSPriming even if it's
         // for the cache callbacks.
         if (mProxyRequest) {
+            LOG(("  proxy request in progress. Delaying network trigger.\n"));
             mWaitingForProxy = true;
             return NS_OK;
         }
 
+        LOG(("  triggering network\n"));
         return TryHSTSPriming();
     }
 
+    LOG(("  setting timer to trigger network: %d ms\n", aTimeout));
     mNetworkTriggerTimer = do_CreateInstance(NS_TIMER_CONTRACTID);
     mNetworkTriggerTimer->InitWithCallback(this, aTimeout, nsITimer::TYPE_ONE_SHOT);
     return NS_OK;
 }
 
+nsresult
+nsHttpChannel::MaybeRaceNetworkWithCache()
+{
+    // Don't trigger the network if the load flags say so.
+    if (mLoadFlags & (LOAD_ONLY_FROM_CACHE | LOAD_NO_NETWORK_IO)) {
+        return NS_OK;
+    }
+
+
+    uint32_t threshold = mCacheOpenWithPriority ? sRCWNQueueSizePriority
+                                                : sRCWNQueueSizeNormal;
+    // No need to trigger to trigger the racing, since most likely the cache
+    // will be faster.
+    if (mCacheQueueSizeWhenOpen < threshold) {
+        return NS_OK;
+    }
+
+    MOZ_ASSERT(sRCWNEnabled, "The pref must be truned on.");
+    LOG(("nsHttpChannel::MaybeRaceNetworkWithCache [this=%p]\n", this));
+    return TriggerNetwork(0);
+}
+
 NS_IMETHODIMP
 nsHttpChannel::Test_triggerNetwork(int32_t aTimeout)
 {
     MOZ_ASSERT(NS_IsMainThread(), "Must be called on the main thread");
     return TriggerNetwork(aTimeout);
 }
 
 NS_IMETHODIMP
--- a/netwerk/protocol/http/nsHttpChannel.h
+++ b/netwerk/protocol/http/nsHttpChannel.h
@@ -655,16 +655,20 @@ private:
 
     // We need to remember which is the source of the response we are using.
     enum {
         RESPONSE_PENDING,           // response is pending
         RESPONSE_FROM_CACHE,        // response coming from cache. no network.
         RESPONSE_FROM_NETWORK,      // response coming from the network
     } mFirstResponseSource = RESPONSE_PENDING;
 
+    // Determines if it's possible and advisable to race the network request
+    // with the cache fetch, and proceeds to do so.
+    nsresult MaybeRaceNetworkWithCache();
+
     nsresult TriggerNetwork(int32_t aTimeout);
     void CancelNetworkRequest(nsresult aStatus);
     // Timer used to delay the network request, or to trigger the network
     // request if retrieving the cache entry takes too long.
     nsCOMPtr<nsITimer> mNetworkTriggerTimer;
     // Is true if the network request has been triggered.
     bool mNetworkTriggered = false;
     bool mWaitingForProxy = false;
--- a/security/manager/ssl/StaticHPKPins.h
+++ b/security/manager/ssl/StaticHPKPins.h
@@ -1152,9 +1152,9 @@ static const TransportSecurityPreload kP
   { "za.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
   { "zh.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
 };
 
 // Pinning Preload List Length = 477;
 
 static const int32_t kUnknownId = -1;
 
-static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1500219850303000);
+static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1500302305342000);
--- a/security/manager/ssl/nsSTSPreloadList.errors
+++ b/security/manager/ssl/nsSTSPreloadList.errors
@@ -202,16 +202,17 @@ alessandro.pw: did not receive HSTS head
 alethearose.com: did not receive HSTS header
 alexandre.sh: did not receive HSTS header
 alexisabarca.com: did not receive HSTS header
 alexismeza.com: could not connect to host
 alexismeza.com.mx: could not connect to host
 alexismeza.dk: could not connect to host
 alexismeza.es: could not connect to host
 alexismeza.nl: could not connect to host
+alexpavel.com: could not connect to host
 alfa24.pro: could not connect to host
 alittlebitcheeky.com: did not receive HSTS header
 aljaspod.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 alkami.com: did not receive HSTS header
 all-subtitles.com: could not connect to host
 all.tf: did not receive HSTS header
 alldaymonitoring.com: could not connect to host
 allforyou.at: could not connect to host
@@ -268,18 +269,16 @@ andreasfritz-fotografie.de: could not co
 andreastoneman.com: could not connect to host
 andreigec.net: did not receive HSTS header
 andrewbroekman.com: could not connect to host
 andrewhowden.com: could not connect to host
 andrewmichaud.beer: could not connect to host
 andrewregan.me: could not connect to host
 andreypopp.com: could not connect to host
 androoz.se: did not receive HSTS header
-anduril.de: could not connect to host
-anduril.eu: could not connect to host
 andymartin.cc: did not receive HSTS header
 anfsanchezo.co: did not receive HSTS header
 anfsanchezo.me: could not connect to host
 anghami.com: did not receive HSTS header
 anime.my: could not connect to host
 animeday.ml: could not connect to host
 animesfusion.com.br: could not connect to host
 animesharp.com: could not connect to host
@@ -301,17 +300,17 @@ another.ch: could not connect to host
 anstoncs.com.au: max-age too low: 86400
 ant.land: could not connect to host
 anthenor.co.uk: could not connect to host
 antimine.kr: could not connect to host
 antocom.com: did not receive HSTS header
 antoinedeschenes.com: could not connect to host
 antoniomarques.eu: did not receive HSTS header
 antoniorequena.com.ve: could not connect to host
-antscript.com: could not connect to host
+antscript.com: did not receive HSTS header
 anycoin.me: could not connect to host
 aocast.info: could not connect to host
 aosc.io: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 apachelounge.com: did not receive HSTS header
 apeasternpower.com: could not connect to host
 api.mega.co.nz: could not connect to host
 apibot.de: could not connect to host
 apis.google.com: did not receive HSTS header (error ignored - included regardless)
@@ -490,17 +489,16 @@ bcm.com.au: max-age too low: 0
 bcnx.de: max-age too low: 0
 bcsytv.com: could not connect to host
 bcweightlifting.ca: could not connect to host
 bde-epitech.fr: could not connect to host
 be.search.yahoo.com: did not receive HSTS header
 beach-inspector.com: did not receive HSTS header
 beachi.es: could not connect to host
 beaglewatch.com: could not connect to host
-beamitapp.com: could not connect to host
 beardydave.com: did not receive HSTS header
 beastowner.com: did not receive HSTS header
 beavers.io: could not connect to host
 bebesurdoue.com: could not connect to host
 bedabox.com: max-age too low: 0
 bedeta.de: could not connect to host
 bedreid.dk: did not receive HSTS header
 bedrijvenadministratie.nl: did not receive HSTS header
@@ -535,32 +533,30 @@ bettween.com: could not connect to host
 betz.ro: did not receive HSTS header
 bevapehappy.com: did not receive HSTS header
 beyond-edge.com: could not connect to host
 beyuna.co.uk: did not receive HSTS header
 beyuna.eu: did not receive HSTS header
 beyuna.nl: did not receive HSTS header
 bezorg.ninja: could not connect to host
 bf.am: max-age too low: 0
-bffm.biz: could not connect to host
 bgcparkstad.nl: did not receive HSTS header
 bgmn.net: could not connect to host
 bhatia.at: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 bi.search.yahoo.com: did not receive HSTS header
 biasmath.es: could not connect to host
 bidon.ca: did not receive HSTS header
 bieberium.de: could not connect to host
 bienenblog.cc: could not connect to host
 big-black.de: did not receive HSTS header
 bigbrownpromotions.com.au: did not receive HSTS header
 bigdinosaur.org: could not connect to host
 bigshinylock.minazo.net: could not connect to host
 bildiri.ci: did not receive HSTS header
 bildschirmflackern.de: did not receive HSTS header
-billaud.eu.org: could not connect to host
 billin.net: did not receive HSTS header
 billkiss.com: max-age too low: 300
 billninja.com: did not receive HSTS header
 binderapp.net: could not connect to host
 biofam.ru: did not receive HSTS header
 bioknowme.com: did not receive HSTS header
 bionicspirit.com: could not connect to host
 biophysik-ssl.de: did not receive HSTS header
@@ -610,17 +606,16 @@ blubbablasen.de: could not connect to ho
 blucas.org: did not receive HSTS header
 blueglobalmedia.com: could not connect to host
 blueliv.com: did not receive HSTS header
 bluescloud.xyz: could not connect to host
 bluetenmeer.com: did not receive HSTS header
 blupig.net: did not receive HSTS header
 bluserv.net: did not receive HSTS header
 bm-trading.nl: did not receive HSTS header
-bmoattachments.org: did not receive HSTS header
 bngsecure.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 bnhlibrary.com: did not receive HSTS header
 bobiji.com: did not receive HSTS header
 bodo-wolff.de: could not connect to host
 bodyblog.nl: did not receive HSTS header
 bodybuilding-legends.com: could not connect to host
 bodyweightsolution.com: could not connect to host
 boensou.com: did not receive HSTS header
@@ -637,17 +632,16 @@ booked.holiday: could not connect to hos
 bookofraonlinecasinos.com: could not connect to host
 bookourdjs.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 boomerang.com: did not receive HSTS header
 boomshelf.com: could not connect to host
 boomshelf.org: could not connect to host
 boosterlearnpro.com: did not receive HSTS header
 bootjp.me: did not receive HSTS header
 borchers-media.de: did not receive HSTS header
-borderlinegroup.com: could not connect to host
 boringsecurity.net: could not connect to host
 boris.one: did not receive HSTS header
 borisbesemer.com: could not connect to host
 botox.bz: did not receive HSTS header
 bouwbedrijfpurmerend.nl: did not receive HSTS header
 bowlroll.net: max-age too low: 0
 boxcryptor.com: did not receive HSTS header
 br3in.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
@@ -779,20 +773,19 @@ carroarmato0.be: could not connect to ho
 carsforbackpackers.com: could not connect to host
 casc.cz: did not receive HSTS header
 casedi.org: max-age too low: 0
 cashlink.io: did not receive HSTS header
 cashmojo.com: could not connect to host
 cashmyphone.ch: could not connect to host
 casino-cashflow.ru: did not receive HSTS header
 casinostest.com: did not receive HSTS header
-casioshop.eu: could not connect to host
+casioshop.eu: did not receive HSTS header
 casovi.cf: could not connect to host
 catarsisvr.com: could not connect to host
-catgirl.pics: could not connect to host
 catinmay.com: did not receive HSTS header
 catnapstudios.com: could not connect to host
 catsmagic.pp.ua: did not receive HSTS header
 caveclan.org: did not receive HSTS header
 cavedroid.xyz: could not connect to host
 cbhq.net: could not connect to host
 ccblog.de: did not receive HSTS header
 ccsys.com: could not connect to host
@@ -853,16 +846,17 @@ chicolawfirm.com: did not receive HSTS h
 chihiro.xyz: could not connect to host
 chijiokeindustries.co.uk: could not connect to host
 childcaresolutionscny.org: did not receive HSTS header
 chinacdn.org: could not connect to host
 chinawhale.com: did not receive HSTS header
 chirgui.eu: could not connect to host
 chm.vn: did not receive HSTS header
 chontalpa.pw: could not connect to host
+chosenplaintext.org: could not connect to host
 chotu.net: could not connect to host
 chris-web.info: could not connect to host
 chrisandsarahinasia.com: did not receive HSTS header
 chrisfaber.com: could not connect to host
 chriskyrouac.com: could not connect to host
 christiaandruif.nl: could not connect to host
 christianbargon.de: did not receive HSTS header
 christianbro.gq: could not connect to host
@@ -896,31 +890,31 @@ clcleaningco.com: could not connect to h
 cleanexperts.co.uk: could not connect to host
 cleaningsquad.ca: max-age too low: 0
 cleanmta.com: could not connect to host
 clearc.tk: could not connect to host
 clemovementlaw.com: could not connect to host
 clerkendweller.uk: could not connect to host
 clickandgo.com: did not receive HSTS header
 clickandshoot.nl: did not receive HSTS header
+clickgram.biz: did not receive HSTS header
 clicn.bio: could not connect to host
 clientsecure.me: could not connect to host
 clint.id.au: max-age too low: 0
 clintonbloodworth.com: could not connect to host
 clintonbloodworth.io: could not connect to host
 clintonlibrary.gov: could not connect to host
 clintwilson.technology: max-age too low: 2592000
 cloud.wtf: could not connect to host
 cloudapi.vc: could not connect to host
 cloudcert.org: did not receive HSTS header
 cloudcy.net: could not connect to host
 clouddesktop.co.nz: could not connect to host
 cloudey.net: did not receive HSTS header
 cloudflare.com: did not receive HSTS header
-cloudily.com: could not connect to host
 cloudimag.es: could not connect to host
 cloudlink.club: could not connect to host
 cloudns.com.au: could not connect to host
 cloudspotterapp.com: did not receive HSTS header
 cloudstoragemaus.com: could not connect to host
 cloudstorm.me: could not connect to host
 cloudwalk.io: did not receive HSTS header
 cloverleaf.net: max-age too low: 0
@@ -964,29 +958,29 @@ coldlostsick.net: could not connect to h
 collegepulse.org: did not receive HSTS header
 collies.eu: max-age too low: 3
 collins.kg: did not receive HSTS header
 collins.press: did not receive HSTS header
 colmexpro.com: did not receive HSTS header
 colognegaming.net: could not connect to host
 coloradocomputernetworking.net: could not connect to host
 colorlib.com: did not receive HSTS header
-combron.nl: did not receive HSTS header
 comfortdom.ua: did not receive HSTS header
 comfortticket.de: did not receive HSTS header
 comicspines.com: could not connect to host
 comotalk.com: could not connect to host
 compalytics.com: could not connect to host
 comparejewelleryprices.co.uk: could not connect to host
 completeid.com: max-age too low: 86400
 completionist.audio: could not connect to host
 compraneta.com: could not connect to host
 compucorner.com.mx: could not connect to host
 computeremergency.com.au: did not receive HSTS header
 computersystems.guru: did not receive HSTS header
+comssa.org.au: could not connect to host
 concord-group.co.jp: did not receive HSTS header
 confirm365.com: could not connect to host
 conformal.com: could not connect to host
 connect.ua: did not receive HSTS header
 connected-verhuurservice.nl: did not receive HSTS header
 connectfss.com: could not connect to host
 consciousandglamorous.com: could not connect to host
 console.python.org: did not receive HSTS header
@@ -1039,17 +1033,16 @@ create-test-publish.co.uk: could not con
 creativephysics.ml: could not connect to host
 creativeplayuk.com: did not receive HSTS header
 crendontech.com: could not connect to host
 crestoncottage.com: could not connect to host
 crimewatch.net.za: could not connect to host
 crizk.com: could not connect to host
 crosscom.ch: could not connect to host
 crosssec.com: did not receive HSTS header
-crow.tw: could not connect to host
 crowd.supply: could not connect to host
 crowdcurity.com: did not receive HSTS header
 crowdjuris.com: could not connect to host
 crtvmgmt.com: could not connect to host
 crudysql.com: could not connect to host
 crufad.org: did not receive HSTS header
 cruzr.xyz: could not connect to host
 crypt.guru: could not connect to host
@@ -1064,17 +1057,16 @@ cryptopush.com: did not receive HSTS hea
 crysadm.com: max-age too low: 1
 crystalclassics.co.uk: did not receive HSTS header
 csapak.com: could not connect to host
 csawctf.poly.edu: could not connect to host
 csfs.org.uk: could not connect to host
 csgf.ru: did not receive HSTS header
 csgodicegame.com: did not receive HSTS header
 csgokings.eu: could not connect to host
-csmainframe.com: could not connect to host
 csohack.tk: could not connect to host
 cspbuilder.info: could not connect to host
 csvape.com: did not receive HSTS header
 ct-status.org: could not connect to host
 ct.search.yahoo.com: did not receive HSTS header
 cthulhuden.com: could not connect to host
 cubeserver.eu: could not connect to host
 cubewano.com: could not connect to host
@@ -1162,17 +1154,16 @@ db.gy: could not connect to host
 dbx.ovh: could not connect to host
 dccode.gov: could not connect to host
 dcuofriends.net: could not connect to host
 dcurt.is: did not receive HSTS header
 ddatsh.com: could not connect to host
 dden.ca: could not connect to host
 dden.website: could not connect to host
 dden.xyz: could not connect to host
-deaktualisierung.org: could not connect to host
 debank.tv: did not receive HSTS header
 debatch.se: could not connect to host
 debian-vhost.de: did not receive HSTS header
 debiton.dk: could not connect to host
 debtkit.co.uk: did not receive HSTS header
 decafu.co: could not connect to host
 decesus.com: could not connect to host
 decibelios.li: could not connect to host
@@ -1247,17 +1238,16 @@ dierenkruiden.nl: could not connect to h
 diezel.com: could not connect to host
 digioccumss.ddns.net: could not connect to host
 digitalbank.kz: could not connect to host
 digitaldaddy.net: could not connect to host
 digitalriver.tk: could not connect to host
 digitalskillswap.com: could not connect to host
 dim.lighting: could not connect to host
 dinamoelektrik.com: max-age too low: 0
-dinepont.fr: did not receive HSTS header
 dinkum.online: could not connect to host
 directorinegocis.cat: could not connect to host
 discovery.lookout.com: did not receive HSTS header
 dislocated.de: did not receive HSTS header
 disowned.net: max-age too low: 0
 dissimulo.me: could not connect to host
 ditrutoancau.vn: could not connect to host
 dittvertshus.no: could not connect to host
@@ -1268,16 +1258,17 @@ dizorg.net: could not connect to host
 dj4et.de: could not connect to host
 djxmmx.net: max-age too low: 0
 djz4music.com: did not receive HSTS header
 dkniss.de: could not connect to host
 dkravchenko.su: could not connect to host
 dl.google.com: did not receive HSTS header (error ignored - included regardless)
 dlc.viasinc.com: could not connect to host
 dlemper.de: did not receive HSTS header
+dlitz.net: could not connect to host
 dlscomputers.com.au: did not receive HSTS header
 dmcibulldog.com: did not receive HSTS header
 dmtry.me: did not receive HSTS header
 dmwall.cn: could not connect to host
 dmz.ninja: could not connect to host
 dns.google.com: did not receive HSTS header (error ignored - included regardless)
 dnsknowledge.com: could not connect to host
 do-do.tk: could not connect to host
@@ -1309,17 +1300,16 @@ donzelot.co.uk: max-age too low: 3600
 dooku.cz: could not connect to host
 doomleika.com: could not connect to host
 doooonoooob.com: could not connect to host
 dopost.it: could not connect to host
 doridian.com: could not connect to host
 doridian.de: could not connect to host
 doridian.net: did not receive HSTS header
 doridian.org: could not connect to host
-dossplumbing.co.za: did not receive HSTS header
 dot42.no: could not connect to host
 dotacni-parazit.cz: did not receive HSTS header
 dotadata.me: could not connect to host
 dougferris.id.au: could not connect to host
 dovecotadmin.org: could not connect to host
 dovetailnow.com: could not connect to host
 download.jitsi.org: did not receive HSTS header
 downsouthweddings.com.au: did not receive HSTS header
@@ -1344,28 +1334,28 @@ dropcam.com: did not receive HSTS header
 drtroyhendrickson.com: could not connect to host
 drumbandesperanto.nl: could not connect to host
 ds-christiansen.de: did not receive HSTS header
 dshiv.io: could not connect to host
 dubrovskiy.net: could not connect to host
 dubrovskiy.pro: could not connect to host
 duesee.org: could not connect to host
 dullsir.com: did not receive HSTS header
+dutchessuganda.com: did not receive HSTS header
 dutchrank.com: could not connect to host
 dwhd.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 dycontrol.de: could not connect to host
 dylanscott.com.au: did not receive HSTS header
 dynamic-innovations.net: could not connect to host
 dzimejl.sk: did not receive HSTS header
 dzlibs.io: could not connect to host
 dzndk.org: could not connect to host
 e-aut.net: did not receive HSTS header
 e-biografias.net: did not receive HSTS header
 e-deca2.org: did not receive HSTS header
-e-isfa.eu: could not connect to host
 e-rickroll-r.pw: could not connect to host
 e-sa.com: did not receive HSTS header
 e3amn2l.com: could not connect to host
 earga.sm: could not connect to host
 earlybirdsnacks.com: could not connect to host
 earthrise16.com: could not connect to host
 easez.net: did not receive HSTS header
 easychiller.org: could not connect to host
@@ -1427,17 +1417,16 @@ electricianforum.co.uk: did not receive 
 electromc.com: could not connect to host
 elektronring.com: could not connect to host
 element-43.com: did not receive HSTS header
 elemenx.com: did not receive HSTS header
 elemprendedor.com.ve: could not connect to host
 elenag.ga: could not connect to host
 elenoon.ir: did not receive HSTS header
 elgacien.de: could not connect to host
-elhall.ru: did not receive HSTS header
 elimdengelen.com: did not receive HSTS header
 elitefishtank.com: could not connect to host
 elnutricionista.es: did not receive HSTS header
 eloanpersonal.com: max-age too low: 0
 eloxt.com: max-age too low: 2592000
 elpo.xyz: could not connect to host
 elsamakhin.com: could not connect to host
 elsitar.com: did not receive HSTS header
@@ -1461,20 +1450,22 @@ encrypted.google.com: did not receive HS
 encryptio.com: could not connect to host
 end.pp.ua: could not connect to host
 endlessdark.net: max-age too low: 600
 endlesshorizon.net: could not connect to host
 endlesstone.com: did not receive HSTS header
 enefan.jp: could not connect to host
 enersec.co.uk: could not connect to host
 engelwerbung.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
+engg.ca: could not connect to host
 enginsight.com: did not receive HSTS header
 enigmacpt.com: did not receive HSTS header
 enigmail.net: did not receive HSTS header
 enjoy-nepal.de: max-age too low: 0
+enriquepiraces.com: could not connect to host
 enskat.de: could not connect to host
 enskatson-sippe.de: could not connect to host
 enteente.club: could not connect to host
 enteente.space: could not connect to host
 enteente.xyz: could not connect to host
 enterdev.co: did not receive HSTS header
 enterprise-threat-monitor.com: max-age too low: 0
 enterprisecarclub.co.uk: did not receive HSTS header
@@ -1517,17 +1508,16 @@ esoterikerforum.de: did not receive HSTS
 espace-gestion.fr: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 espra.com: could not connect to host
 esquonic.com: could not connect to host
 essexcosmeticdentists.co.uk: did not receive HSTS header
 essexghosthunters.co.uk: did not receive HSTS header
 estateczech-eu.ru: did not receive HSTS header
 estilosapeca.com: could not connect to host
 et-buchholz.de: could not connect to host
-etaxi.tn: could not connect to host
 etdonline.co.uk: could not connect to host
 eternitylove.us: could not connect to host
 eth9.net: max-age too low: 0
 ethicalexploiting.com: could not connect to host
 ethil-faer.fr: could not connect to host
 etmirror.top: could not connect to host
 etmirror.xyz: could not connect to host
 etproxy.tech: could not connect to host
@@ -1580,16 +1570,17 @@ fabhub.io: could not connect to host
 fabianasantiago.com: could not connect to host
 fabianfischer.de: did not receive HSTS header
 factorable.net: did not receive HSTS header
 factorygw.com: did not receive HSTS header
 fadilus.com: did not receive HSTS header
 faesser.com: did not receive HSTS header
 fail4free.de: did not receive HSTS header
 failforward.org: did not receive HSTS header
+faircom.co.za: did not receive HSTS header
 fairkey.dk: did not receive HSTS header
 fairlyoddtreasures.com: did not receive HSTS header
 faizan.net: did not receive HSTS header
 faizan.xyz: could not connect to host
 fakeletters.org: did not receive HSTS header
 faktura.pl: did not receive HSTS header
 falconfrag.com: could not connect to host
 falkena.net: max-age too low: 5184000
@@ -1626,17 +1617,16 @@ fernseher-kauf.de: could not connect to 
 ferrolatino.com: could not connect to host
 festember.com: did not receive HSTS header
 festrip.com: could not connect to host
 fexmen.com: could not connect to host
 ffmradio.de: did not receive HSTS header
 fhdhelp.de: could not connect to host
 fhdhilft.de: could not connect to host
 fics-twosigma.com: did not receive HSTS header
-fierman.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 fiftyshadesofluca.ml: could not connect to host
 fig.co: did not receive HSTS header
 fightr.co: could not connect to host
 fikt.space: could not connect to host
 filemeal.com: did not receive HSTS header
 filey.co.uk: did not receive HSTS header
 filmipop.com: max-age too low: 0
 finalgear.com: did not receive HSTS header
@@ -1679,16 +1669,17 @@ florian-lillpopp.de: max-age too low: 10
 florianlillpopp.de: max-age too low: 10
 floridaescapes.co.uk: did not receive HSTS header
 floseed.fr: could not connect to host
 flouartistique.ch: could not connect to host
 flow.pe: could not connect to host
 flow.su: could not connect to host
 flowersandclouds.com: could not connect to host
 flowlo.me: could not connect to host
+fluidojobs.com: could not connect to host
 flukethoughts.com: could not connect to host
 flushstudios.com: did not receive HSTS header
 flyaces.com: did not receive HSTS header
 fm83.nl: could not connect to host
 fndout.com: did not receive HSTS header
 fnvsecurity.com: could not connect to host
 fojtova.cz: did not receive HSTS header
 fojtovi.cz: did not receive HSTS header
@@ -1701,16 +1692,17 @@ foraje-profesionale.ro: did not receive 
 forbook.net: could not connect to host
 fordbydesign.com: could not connect to host
 foreignexchangeresource.com: did not receive HSTS header
 foreveralone.io: could not connect to host
 forex-dan.com: did not receive HSTS header
 forgix.com: could not connect to host
 formazioneopen.it: could not connect to host
 formbetter.com: could not connect to host
+formini.dz: could not connect to host
 formula.cf: could not connect to host
 forschbach-janssen.de: could not connect to host
 fotiu.com: could not connect to host
 fotm.net: max-age too low: 30000
 fotocerita.net: could not connect to host
 fotografosexpertos.com: did not receive HSTS header
 fotopasja.info: could not connect to host
 fourchin.net: did not receive HSTS header
@@ -1766,16 +1758,17 @@ funrun.com: did not receive HSTS header
 furiffic.com: did not receive HSTS header
 furnation.com: could not connect to host
 furry.be: max-age too low: 86400
 fusedrops.com: could not connect to host
 fusionmate.com: could not connect to host
 futbol11.com: did not receive HSTS header
 futuretechnologi.es: could not connect to host
 futureyouhealth.com: did not receive HSTS header
+fuxwerk.de: did not receive HSTS header
 fx-rk.com: did not receive HSTS header
 fysiohaenraets.nl: did not receive HSTS header
 fzn.io: could not connect to host
 fzslm.me: could not connect to host
 g-rickroll-o.pw: could not connect to host
 g01.in.ua: could not connect to host
 g2a.co: did not receive HSTS header
 g2g.com: did not receive HSTS header
@@ -1795,32 +1788,32 @@ gallery44.org: did not receive HSTS head
 galoisvpn.xyz: could not connect to host
 game-files.net: did not receive HSTS header
 game.yt: could not connect to host
 gamecave.de: could not connect to host
 gamechasm.com: could not connect to host
 gamefund.me: did not receive HSTS header
 gamehacks.me: could not connect to host
 gameink.net: max-age too low: 0
-gamek.es: could not connect to host
+gamek.es: did not receive HSTS header
 gamenected.com: could not connect to host
 gamenected.de: could not connect to host
 gameofpwnz.com: did not receive HSTS header
+gamepad.vg: could not connect to host
 gamepader.com: could not connect to host
 gameparade.de: could not connect to host
 gamepiece.com: could not connect to host
 gamers-life.fr: could not connect to host
 gamerslair.org: did not receive HSTS header
 gamesdepartment.co.uk: did not receive HSTS header
 gameserver-sponsor.de: could not connect to host
 gamingmedia.eu: did not receive HSTS header
 gampenhof.de: did not receive HSTS header
 gaptek.id: did not receive HSTS header
 garciamartin.me: could not connect to host
-garden.trade: could not connect to host
 gatapro.net: could not connect to host
 gatilagata.com.br: did not receive HSTS header
 gatorsa.es: could not connect to host
 gdegem.org: did not receive HSTS header
 gdpventure.com: max-age too low: 0
 gedankenbude.info: could not connect to host
 geekcast.co.uk: did not receive HSTS header
 geeky.software: could not connect to host
@@ -1933,17 +1926,16 @@ gov.ax: could not connect to host
 govillemo.ca: did not receive HSTS header
 gozel.com.tr: did not receive HSTS header
 gparent.org: did not receive HSTS header
 gpsfix.cz: did not receive HSTS header
 gpstuner.com: did not receive HSTS header
 grabi.ga: could not connect to host
 gracesofgrief.com: max-age too low: 86400
 gradienthosting.co.uk: did not receive HSTS header
-grafmurr.de: could not connect to host
 grandmascookieblog.com: did not receive HSTS header
 grantedby.me: max-age too low: 0
 graph.no: did not receive HSTS header
 graphsearchengine.com: could not connect to host
 gratisonlinesex.com: could not connect to host
 gravito.nl: did not receive HSTS header
 gravity-net.de: could not connect to host
 graycell.net: could not connect to host
@@ -1987,17 +1979,16 @@ gunnaro.com: could not connect to host
 guoqiang.info: could not connect to host
 gurom.lv: could not connect to host
 gurusupe.com: could not connect to host
 guso.gq: could not connect to host
 guso.ml: could not connect to host
 guso.site: could not connect to host
 guso.tech: could not connect to host
 gussi.is: did not receive HSTS header
-guts.me: could not connect to host
 gvt2.com: could not connect to host (error ignored - included regardless)
 gvt3.com: could not connect to host (error ignored - included regardless)
 gw2reload.eu: could not connect to host
 gwijaya.com: could not connect to host
 gwtest.us: could not connect to host
 gxlrx.net: could not connect to host
 gyboche.com: could not connect to host
 gyboche.science: could not connect to host
@@ -2066,17 +2057,16 @@ haveforeningen-enghaven.dk: did not rece
 haxoff.com: could not connect to host
 haxx.hu: could not connect to host
 haydenhill.us: could not connect to host
 hazcod.com: could not connect to host
 hcie.pl: could not connect to host
 hcs-company.com: did not receive HSTS header
 hcs-company.nl: did not receive HSTS header
 hd-offensive.at: could not connect to host
-hdc.cz: could not connect to host
 hdm.io: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 hdrboundless.com: could not connect to host
 hdsmigrationtool.com: could not connect to host
 hduin.xyz: could not connect to host
 hdwallpapers.net: did not receive HSTS header
 healtious.com: did not receive HSTS header
 heart.ge: did not receive HSTS header
 heartlandrentals.com: did not receive HSTS header
@@ -2122,16 +2112,17 @@ hmm.nyc: could not connect to host
 hn.search.yahoo.com: did not receive HSTS header
 hodne.io: could not connect to host
 hoerbuecher-und-hoerspiele.de: could not connect to host
 hofiprojekt.cz: did not receive HSTS header
 hogar123.es: could not connect to host
 holifestival-freyung.de: could not connect to host
 holymoly.lu: could not connect to host
 homa.website: could not connect to host
+hometownmall.com: did not receive HSTS header
 honeytracks.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 hongzhaxiaofendui.com: could not connect to host
 honoo.com: could not connect to host
 hookandloom.com: did not receive HSTS header
 hoovism.com: did not receive HSTS header
 horosho.in: could not connect to host
 horseboners.xxx: did not receive HSTS header
 hortifarm.ro: did not receive HSTS header
@@ -2140,16 +2131,17 @@ hostam.link: could not connect to host
 hosteasy.nl: did not receive HSTS header
 hosted-service.com: did not receive HSTS header
 hostedtalkgadget.google.com: did not receive HSTS header (error ignored - included regardless)
 hostelite.com: did not receive HSTS header
 hostgarou.com: did not receive HSTS header
 hostinaus.com.au: did not receive HSTS header
 hostisan.com: did not receive HSTS header
 hotartup.com: could not connect to host
+hotchillibox.co.za: could not connect to host
 hotchillibox.com: max-age too low: 0
 hotchoc.io: did not receive HSTS header
 houkago-step.com: did not receive HSTS header
 housemaadiah.org: did not receive HSTS header
 housingstudents.org.uk: could not connect to host
 howrandom.org: could not connect to host
 howtocuremysciatica.com: could not connect to host
 hr-intranet.com: did not receive HSTS header
@@ -2226,17 +2218,17 @@ igule.net: could not connect to host
 ihrlotto.de: could not connect to host
 ihrnationalrat.ch: could not connect to host
 ihsbsd.me: could not connect to host
 ihsbsd.tk: could not connect to host
 ihuanmeng.com: did not receive HSTS header
 iispeed.com: did not receive HSTS header
 ikujii.com: max-age too low: 0
 ikwilguidobellen.nl: did not receive HSTS header
-ilbuongiorno.it: did not receive HSTS header
+ilbuongiorno.it: could not connect to host
 ilhadocaranguejo.com.br: max-age too low: 0
 ilikerainbows.co: could not connect to host
 ilikerainbows.co.uk: could not connect to host
 ilmconpm.de: did not receive HSTS header
 ilona.graphics: max-age too low: 3600
 iluvscotland.co.uk: did not receive HSTS header
 imakepoems.net: could not connect to host
 imanolbarba.net: could not connect to host
@@ -2256,17 +2248,17 @@ immunicity.world: did not receive HSTS h
 imolug.org: did not receive HSTS header
 imoto.me: could not connect to host
 imouto.my: max-age too low: 5184000
 imperialwebsolutions.com: did not receive HSTS header
 imrejonk.nl: could not connect to host
 imu.li: did not receive HSTS header
 imusic.dk: did not receive HSTS header
 inb4.us: could not connect to host
-inbox.li: could not connect to host
+inbox.li: did not receive HSTS header
 incendiary-arts.com: could not connect to host
 inche-ali.com: could not connect to host
 inchomatic.com: did not receive HSTS header
 indicateurs-flash.fr: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 indoorskiassen.nl: did not receive HSTS header
 infcof.com: max-age too low: 0
 infilock.com: could not connect to host
 infinitude.xyz: could not connect to host
@@ -2319,17 +2311,17 @@ invite24.pro: could not connect to host
 inwesttitle.com: max-age too low: 0
 ionx.co.uk: did not receive HSTS header
 ioover.net: could not connect to host
 iop.intuit.com: max-age too low: 86400
 iora.fr: could not connect to host
 iosmods.com: did not receive HSTS header
 iostips.ru: could not connect to host
 iotsms.io: could not connect to host
-ip6.im: could not connect to host
+ip6.im: did not receive HSTS header
 ipmimagazine.com: did not receive HSTS header
 iprice.co.id: did not receive HSTS header
 iprice.hk: did not receive HSTS header
 iprice.my: did not receive HSTS header
 iprice.ph: did not receive HSTS header
 iprice.sg: did not receive HSTS header
 iprice.vn: did not receive HSTS header
 ipricethailand.com: did not receive HSTS header
@@ -2368,24 +2360,24 @@ ithakama.com: did not receive HSTS heade
 ithakama.cz: did not receive HSTS header
 itos.asia: did not receive HSTS header
 itos.pl: did not receive HSTS header
 itpros.ru: did not receive HSTS header
 itriskltd.com: could not connect to host
 itsadog.co.uk: did not receive HSTS header
 itsagadget.com: did not receive HSTS header
 itsamurai.ru: max-age too low: 2592000
-itsatrap.nl: could not connect to host
 itsecurityassurance.pw: could not connect to host
 itsg-faq.de: could not connect to host
 itshost.ru: could not connect to host
 ivi-fertility.com: max-age too low: 0
 ivi.es: max-age too low: 0
 ivk.website: could not connect to host
 ivo.co.za: could not connect to host
+iwannarefill.com: could not connect to host
 ix8.ru: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 ixec2.tk: could not connect to host
 izdiwho.com: could not connect to host
 izolight.ch: could not connect to host
 izoox.com: did not receive HSTS header
 izzzorgconcerten.nl: could not connect to host
 j-lsolutions.com: could not connect to host
 j-rickroll-a.pw: could not connect to host
@@ -2404,17 +2396,16 @@ jamesbywater.me: could not connect to ho
 jamesbywater.me.uk: could not connect to host
 jamesconroyfinn.com: did not receive HSTS header
 jamesdoell.com: could not connect to host
 jamesdoylephoto.com: did not receive HSTS header
 jamesf.xyz: could not connect to host
 jamesmaurer.com: did not receive HSTS header
 jamesmorrison.me: did not receive HSTS header
 jamourtney.com: could not connect to host
-jan-and-maaret.de: could not connect to host
 jan-roenspies.de: could not connect to host
 jan27.org: did not receive HSTS header
 janario.me: could not connect to host
 janbrodda.de: max-age too low: 2592000
 jangho.me: could not connect to host
 jannyrijneveld.nl: did not receive HSTS header
 janus-engineering.de: did not receive HSTS header
 japaripark.com: could not connect to host
@@ -2429,17 +2420,16 @@ jasonroe.me: did not receive HSTS header
 jasonsansone.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 jastoria.pl: could not connect to host
 jayblock.com: did not receive HSTS header
 jayharris.ca: max-age too low: 86400
 jaylen.com.ar: did not receive HSTS header
 jayschulman.com: could not connect to host
 jayscoaching.com: did not receive HSTS header
 jayshao.com: did not receive HSTS header
-jazzncheese.com: could not connect to host
 jbn.mx: could not connect to host
 jcch.de: could not connect to host
 jcor.me: did not receive HSTS header
 jcoscia.com: could not connect to host
 jctf.io: could not connect to host
 jdcdirectsales.com.ph: did not receive HSTS header
 jebengotai.com: did not receive HSTS header
 jeff393.com: could not connect to host
@@ -2475,17 +2465,16 @@ jkbuster.com: could not connect to host
 joakimalgroy.com: could not connect to host
 jobmedic.com: did not receive HSTS header
 jobss.co.uk: did not receive HSTS header
 joedavison.me: could not connect to host
 johannes-sprink.de: could not connect to host
 johnbrownphotography.ch: did not receive HSTS header
 johners.me: could not connect to host
 johnrom.com: did not receive HSTS header
-jokescoff.com: did not receive HSTS header
 jonas-keidel.de: did not receive HSTS header
 jonasgroth.se: did not receive HSTS header
 jonathan.ir: could not connect to host
 jondarby.com: did not receive HSTS header
 jonn.me: could not connect to host
 joostbovee.nl: did not receive HSTS header
 jordanhamilton.me: could not connect to host
 joretapo.fr: did not receive HSTS header
@@ -2500,17 +2489,16 @@ jrmd.io: could not connect to host
 jrvar.com: did not receive HSTS header
 jsanders.us: did not receive HSTS header
 jsg-technologies.de: did not receive HSTS header
 jslay.net: could not connect to host
 jualautoclave.com: did not receive HSTS header
 jualssh.com: could not connect to host
 juliamweber.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 julian-kipka.de: could not connect to host
-juliangonggrijp.com: could not connect to host
 julido.de: did not receive HSTS header
 jumbox.xyz: could not connect to host
 junaos.xyz: did not receive HSTS header
 junge-selbsthilfe.info: could not connect to host
 junjung.me: max-age too low: 0
 junqtion.com: could not connect to host
 jupp0r.de: did not receive HSTS header
 justinlemay.com: did not receive HSTS header
@@ -2522,29 +2510,29 @@ juwairen.cn: did not receive HSTS header
 jvoice.net: could not connect to host
 jwilsson.me: could not connect to host
 jznet.org: max-age too low: 86400
 k-dev.de: could not connect to host
 k-rickroll-g.pw: could not connect to host
 ka-clan.com: could not connect to host
 kabinapp.com: could not connect to host
 kabuabc.com: did not receive HSTS header
-kabus.org: could not connect to host
 kadioglumakina.com.tr: did not receive HSTS header
 kaela.design: could not connect to host
 kahopoon.net: could not connect to host
 kaisers.de: did not receive HSTS header
 kalami.nl: could not connect to host
 kamikano.com: could not connect to host
 kaneo-gmbh.de: did not receive HSTS header
 kaniklani.co.za: could not connect to host
 kany.me: did not receive HSTS header
 kaplatz.is: could not connect to host
 kapucini.si: max-age too low: 0
 karaoketonight.com: could not connect to host
+karguine.in: could not connect to host
 kasilag.me: did not receive HSTS header
 katiaetdavid.fr: could not connect to host
 katproxy.online: could not connect to host
 katproxy.site: could not connect to host
 katproxy.tech: could not connect to host
 katproxy.top: could not connect to host
 kaufkraftkiel.de: could not connect to host
 kausch.at: could not connect to host
@@ -2588,17 +2576,16 @@ kini24.ru: could not connect to host
 kinkdr.com: could not connect to host
 kinnon.enterprises: could not connect to host
 kionetworks.com: did not receive HSTS header
 kirkforcongress.com: could not connect to host
 kirkforsenate.com: could not connect to host
 kirkpatrickdavis.com: could not connect to host
 kisa.io: could not connect to host
 kisalt.im: did not receive HSTS header
-kiss-register.org: could not connect to host
 kissart.net: could not connect to host
 kisun.co.jp: could not connect to host
 kita.id: could not connect to host
 kitakemon.com: could not connect to host
 kitchenpunx.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 kitk.at: could not connect to host
 kitsostech.com: could not connect to host
 kitsta.com: could not connect to host
@@ -2609,17 +2596,16 @@ klauwd.com: did not receive HSTS header
 klaxn.org: could not connect to host
 kleertjesvoordelig.nl: did not receive HSTS header
 kleinblogje.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 kleppe.co: could not connect to host
 kletterkater.com: did not receive HSTS header
 klicktojob.de: could not connect to host
 kmartin.io: did not receive HSTS header
 knccloud.com: could not connect to host
-kngkng.com: could not connect to host
 knightsbridgegroup.org: could not connect to host
 knowledgesnapsites.com: could not connect to host
 kodexplorer.ml: could not connect to host
 kodiaklabs.org: could not connect to host
 kodokushi.fr: could not connect to host
 koen.io: did not receive HSTS header
 koenrouwhorst.nl: did not receive HSTS header
 koenvdheuvel.me: did not receive HSTS header
@@ -2645,17 +2631,16 @@ kotonehoko.net: could not connect to hos
 kotovstyle.ru: could not connect to host
 koukni.cz: could not connect to host
 kourpe.online: could not connect to host
 kr.search.yahoo.com: did not receive HSTS header
 krayx.com: could not connect to host
 kreavis.com: did not receive HSTS header
 kredite.sale: could not connect to host
 kriegt.es: did not receive HSTS header
-kristikala.nl: could not connect to host
 krizevci.info: did not receive HSTS header
 kroetenfuchs.de: could not connect to host
 kropkait.pl: could not connect to host
 krouzkyliduska.cz: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 krunut.com: did not receive HSTS header
 krypteia.org: could not connect to host
 kryptomech.com: could not connect to host
 ksfh-mail.de: could not connect to host
@@ -2705,16 +2690,17 @@ lampl.info: did not receive HSTS header
 lana.swedbank.se: did not receive HSTS header
 lancehoteis.com.br: could not connect to host
 landscape.canonical.com: max-age too low: 2592000
 langenbach.rocks: could not connect to host
 langendries.eu: could not connect to host
 langhun.me: did not receive HSTS header
 laobox.fr: could not connect to host
 laozhu.me: could not connect to host
+laplaceduvillage.net: could not connect to host
 laquack.com: could not connect to host
 laredsemanario.com: did not receive HSTS header
 laserfuchs.de: did not receive HSTS header
 lashstuff.com: did not receive HSTS header
 latinred.com: could not connect to host
 latus.xyz: could not connect to host
 launchkey.com: did not receive HSTS header
 lausitzer-widerstand.de: could not connect to host
@@ -2743,47 +2729,47 @@ leiyun.me: did not receive HSTS header
 lellyboi.ml: could not connect to host
 lelongbank.com: did not receive HSTS header
 lemondrops.xyz: could not connect to host
 lemp.io: did not receive HSTS header
 lenovogaming.com: did not receive HSTS header
 lentri.com: did not receive HSTS header
 leob.in: did not receive HSTS header
 leon-jaekel.com: could not connect to host
-leonhooijer.nl: could not connect to host
 leopold.email: could not connect to host
 leopoldina.net: could not connect to host
 leopotamgroup.com: could not connect to host
 leovanna.co.uk: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 lepont.pl: could not connect to host
 lerner.moscow: did not receive HSTS header
 les-corsaires.net: could not connect to host
 lesliekearney.com: did not receive HSTS header
 lesperlesdunet.fr: could not connect to host
 letras.mus.br: did not receive HSTS header
 letsmultiplayerplay.com: did not receive HSTS header
 letustravel.tk: could not connect to host
 levelum.com: did not receive HSTS header
+lewis.li: could not connect to host
 lfullerdesign.com: did not receive HSTS header
 lg21.co: could not connect to host
 lgiswa.com.au: did not receive HSTS header
 lgrs.com.au: did not receive HSTS header
 lgts.se: could not connect to host
 li.search.yahoo.com: did not receive HSTS header
 liaillustr.at: did not receive HSTS header
 liam-w.com: did not receive HSTS header
 liamjack.fr: could not connect to host
 lianye1.cc: could not connect to host
 lianye2.cc: could not connect to host
 lianye3.cc: could not connect to host
 lianye4.cc: could not connect to host
 lianye5.cc: could not connect to host
 lianye6.cc: could not connect to host
-lianyexiuchang.in: could not connect to host
 liaoshuma.com: could not connect to host
+liaronce.win: could not connect to host
 libanco.com: could not connect to host
 libertyrp.org: could not connect to host
 library.linode.com: did not receive HSTS header
 libreboot.org: did not receive HSTS header
 librechan.net: could not connect to host
 libreduca.com: could not connect to host
 lidl-selection.at: could not connect to host
 lidow.eu: could not connect to host
@@ -2819,16 +2805,18 @@ linuxfixed.it: could not connect to host
 linuxforyou.com: could not connect to host
 linuxgeek.ro: could not connect to host
 linuxmonitoring.net: did not receive HSTS header
 liquorsanthe.in: could not connect to host
 lisaco.de: could not connect to host
 listafirmelor.com: could not connect to host
 litespeed.io: could not connect to host
 little.pw: could not connect to host
+litz.ca: could not connect to host
+litzenberger.ca: could not connect to host
 livedemo.io: could not connect to host
 livej.am: could not connect to host
 livi.co: did not receive HSTS header
 lixingcong.com: could not connect to host
 lkummer.cz: could not connect to host
 loacg.com: did not receive HSTS header
 loadingdeck.com: did not receive HSTS header
 loadso.me: could not connect to host
@@ -2838,28 +2826,30 @@ locktheirphone.com: could not connect to
 locomotive.ca: did not receive HSTS header
 loftboard.eu: could not connect to host
 logario.com.br: could not connect to host
 login.corp.google.com: max-age too low: 7776000 (error ignored - included regardless)
 loginseite.com: could not connect to host
 lognot.net: could not connect to host
 lolicore.ch: could not connect to host
 lolidunno.com: could not connect to host
+lolmegafroi.de: could not connect to host
 londonlanguageexchange.com: could not connect to host
 lonerwolf.com: did not receive HSTS header
 look-at-my.site: could not connect to host
 lookout.com: did not receive HSTS header
 lookzook.com: did not receive HSTS header
 lore.azurewebsites.net: did not receive HSTS header
 lostg.com: could not connect to host
 lostinsecurity.com: could not connect to host
 lostinweb.eu: could not connect to host
 lothai.re: did not receive HSTS header
 lothuytinhsi.com: could not connect to host
 lotsencafe.de: did not receive HSTS header
+louiewatch.com: could not connect to host
 loveable.de: could not connect to host
 loveandadoreboutique.com: could not connect to host
 lovelifelovelive.com: could not connect to host
 lovelive.us: did not receive HSTS header
 lovelyblogacademy.com: did not receive HSTS header
 lovelycorral.com: did not receive HSTS header
 loveto.at: could not connect to host
 lowhangingfruitgrabber.com: could not connect to host
@@ -2905,28 +2895,31 @@ m0wef.uk: could not connect to host
 m2epro.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 m2tc.fr: could not connect to host
 m3-gmbh.de: did not receive HSTS header
 m82labs.com: did not receive HSTS header
 maarten.nyc: did not receive HSTS header
 maartenvandekamp.nl: did not receive HSTS header
 mac-torrents.me: did not receive HSTS header
 macchaberrycream.com: could not connect to host
+macchedil.com: did not receive HSTS header
 macdj.tk: could not connect to host
 macgeneral.de: did not receive HSTS header
 macsandcheesedreams.com: could not connect to host
 madars.org: did not receive HSTS header
 maddin.ga: could not connect to host
 madebymagnitude.com: did not receive HSTS header
 maderwin.com: did not receive HSTS header
 mae-berlinistanbul.com: could not connect to host
 mafamane.com: could not connect to host
 mafiareturns.com: max-age too low: 2592000
 magenx.com: did not receive HSTS header
 mahamed91.pw: could not connect to host
+mahefa.co.uk: could not connect to host
+mahfouzadedimeji.com: did not receive HSTS header
 mail-settings.google.com: did not receive HSTS header (error ignored - included regardless)
 mail.google.com: did not receive HSTS header (error ignored - included regardless)
 maildragon.com: could not connect to host
 mailhost.it: could not connect to host
 makeitdynamic.com: could not connect to host
 makerstuff.net: did not receive HSTS header
 malena.com.ua: did not receive HSTS header
 malerversand.de: did not receive HSTS header
@@ -3035,16 +3028,17 @@ megaxchange.com: did not receive HSTS he
 meghudson.com: could not connect to host
 meifrench.com: could not connect to host
 mein-gesundheitsmanager.com: did not receive HSTS header
 meincenter-meinemeinung.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 meincloudspeicher.de: could not connect to host
 meinebo.it: could not connect to host
 melted.pw: could not connect to host
 members.mayfirst.org: did not receive HSTS header
+meme.institute: could not connect to host
 memory-plus-180.com: could not connect to host
 mensmaximus.de: did not receive HSTS header
 menthix.net: could not connect to host
 menudrivetest.com: could not connect to host
 menuonlineordering.com: could not connect to host
 meozcraft.com: could not connect to host
 mereckas.com: did not receive HSTS header
 meredithkm.info: could not connect to host
@@ -3058,16 +3052,17 @@ metebalci.com: did not receive HSTS head
 meteosky.net: could not connect to host
 metin2blog.de: did not receive HSTS header
 metis.pw: could not connect to host
 meuemail.pro: could not connect to host
 mexbt.com: could not connect to host
 mexicanbusinessweb.mx: did not receive HSTS header
 mexicansbook.ru: could not connect to host
 mfcatalin.com: could not connect to host
+mfedderke.com: could not connect to host
 mfiles.pl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 mh-bloemen.co.jp: could not connect to host
 mhdsyarif.com: did not receive HSTS header
 mhealthdemocamp.com: could not connect to host
 mhertel.com: did not receive HSTS header
 mhict.nl: max-age too low: 0
 mht-travel.com: could not connect to host
 mhx.pw: could not connect to host
@@ -3113,22 +3108,19 @@ minora.io: could not connect to host
 minoris.se: could not connect to host
 miragrow.com: could not connect to host
 mirindadomo.ru: did not receive HSTS header
 mironized.com: did not receive HSTS header
 mirrorx.com: did not receive HSTS header
 missrain.tw: could not connect to host
 mister.hosting: could not connect to host
 misterl.net: did not receive HSTS header
-mita.me: could not connect to host
-mitarbeiter-pc.de: could not connect to host
 mitchellrenouf.ca: could not connect to host
 mitsign.com: could not connect to host
 mittenhacks.com: could not connect to host
-miui-germany.de: did not receive HSTS header
 mivcon.net: could not connect to host
 mixtape.moe: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 miyoshi-kikaku.co.jp: did not receive HSTS header
 miyoshi-kikaku.com: did not receive HSTS header
 mizd.at: could not connect to host
 mizi.name: could not connect to host
 mkasu.org: did not receive HSTS header
 mlpepilepsy.org: could not connect to host
@@ -3139,27 +3131,27 @@ mnwt.nl: could not connect to host
 moar.so: could not connect to host
 mobifinans.ru: did not receive HSTS header
 mobilekey.co: could not connect to host
 mobilemedics.com: did not receive HSTS header
 mobilethreat.net: could not connect to host
 mobilethreatnetwork.net: could not connect to host
 mobilpass.no: could not connect to host
 mobix5.com: did not receive HSTS header
-mobsender.com: could not connect to host
 mockmyapp.com: could not connect to host
 mocloud.eu: could not connect to host
 moddedark.com: could not connect to host
 model9.io: did not receive HSTS header
 modemagazines.co.uk: could not connect to host
 modernibytovytextil.cz: could not connect to host
 moebel-nagel.de: did not receive HSTS header
 moefi.xyz: did not receive HSTS header
 moelord.org: could not connect to host
 moen.io: did not receive HSTS header
+moeyi.xyz: could not connect to host
 mogry.net: did not receive HSTS header
 moho.kr: could not connect to host
 mona.lu: did not receive HSTS header
 monarca.systems: could not connect to host
 monasterialis.eu: could not connect to host
 mondar.io: did not receive HSTS header
 mondopoint.com: did not receive HSTS header
 mondwandler.de: could not connect to host
@@ -3167,17 +3159,16 @@ moneromerchant.com: could not connect to
 moneycrownmedia.com: could not connect to host
 moneytoday.com: max-age too low: 0
 monika-sokol.de: did not receive HSTS header
 monitman.com: could not connect to host
 monsieurbureau.com: did not receive HSTS header
 montanacures.org: could not connect to host
 montenero.pl: could not connect to host
 montonicms.com: could not connect to host
-moobo.co.jp: could not connect to host
 moon.lc: could not connect to host
 moov.is: could not connect to host
 moparisthebest.biz: could not connect to host
 moparisthebest.info: could not connect to host
 moparscape.org: did not receive HSTS header
 mor.cloud: could not connect to host
 mor.gl: could not connect to host
 mordor.io: could not connect to host
@@ -3257,16 +3248,17 @@ myni.io: could not connect to host
 mypagella.com: could not connect to host
 mypagella.eu: could not connect to host
 mypagella.it: could not connect to host
 mypension.ca: could not connect to host
 myphonebox.de: could not connect to host
 mysecretrewards.com: did not receive HSTS header
 mysocrat.com: could not connect to host
 mystery-science-theater-3000.de: did not receive HSTS header
+mythlogic.com: did not receive HSTS header
 mytweeps.com: could not connect to host
 myweb360.de: did not receive HSTS header
 myzone.com: did not receive HSTS header
 n-rickroll-e.pw: could not connect to host
 n0psled.nl: could not connect to host
 n2x.in: could not connect to host
 n4l.pw: could not connect to host
 nabru.co.uk: did not receive HSTS header
@@ -3280,31 +3272,29 @@ nakliyatsirketi.biz: did not receive HST
 nakuro.de: could not connect to host
 nalifornia.com: did not receive HSTS header
 nallon.com.br: could not connect to host
 namacindia.com: did not receive HSTS header
 named.ga: could not connect to host
 nametaken-cloud.duckdns.org: could not connect to host
 namorico.me: did not receive HSTS header
 nan.zone: could not connect to host
-nanderson.me: could not connect to host
 naniki.co.uk: did not receive HSTS header
 nanogeneinc.com: could not connect to host
 nanogi.ga: could not connect to host
 nanto.eu: could not connect to host
 narada.com.ua: could not connect to host
 nashira.cz: did not receive HSTS header
 natalia-fadeeva.ru: could not connect to host
 natalia.io: could not connect to host
 natalt.org: did not receive HSTS header
 nathanmfarrugia.com: did not receive HSTS header
 natural-progesterone.net: did not receive HSTS header
 naturesystems.cz: max-age too low: 0
 natuurbehangnederland.nl: could not connect to host
-nauck.org: did not receive HSTS header
 nav.jobs: could not connect to host
 naval.tf: could not connect to host
 navenlle.com: did not receive HSTS header
 navjobs.com: did not receive HSTS header
 nbb.io: could not connect to host
 nbg-ha.de: could not connect to host
 ncc60205.info: could not connect to host
 ncpc.gov: could not connect to host
@@ -3326,17 +3316,17 @@ nephos.xyz: did not receive HSTS header
 nepustil.net: did not receive HSTS header
 nestedquotes.ca: could not connect to host
 netba.net: could not connect to host
 netbox.cc: could not connect to host
 netherwind.eu: did not receive HSTS header
 netlilo.com: could not connect to host
 netloanusa.com: could not connect to host
 netmagik.com: did not receive HSTS header
-netresourcedesign.com: could not connect to host
+netresourcedesign.com: did not receive HSTS header
 nettefoundation.com: could not connect to host
 networx-online.de: could not connect to host
 netzbit.de: could not connect to host
 netzpolitik.org: did not receive HSTS header
 netztest.at: did not receive HSTS header
 netzvieh.de: could not connect to host
 neueonlinecasino2016.com: could not connect to host
 neuralgic.net: could not connect to host
@@ -3378,16 +3368,17 @@ niconiconi.xyz: could not connect to hos
 niconode.com: could not connect to host
 niduxcomercial.com: could not connect to host
 nien.chat: could not connect to host
 nightwinds.tk: could not connect to host
 nightx.uk: could not connect to host
 niho.jp: did not receive HSTS header
 nikcub.com: could not connect to host
 niklaslindblad.se: did not receive HSTS header
+nikobradshaw.com: did not receive HSTS header
 nikomo.fi: could not connect to host
 ninchisho-online.com: did not receive HSTS header
 ninhs.org: did not receive HSTS header
 nippler.org: did not receive HSTS header
 nippombashi.net: did not receive HSTS header
 nipponcareers.com: did not receive HSTS header
 nixien.fr: could not connect to host
 nkinka.de: did not receive HSTS header
@@ -3411,20 +3402,18 @@ nolte.work: could not connect to host
 nomorebytes.de: could not connect to host
 noobunbox.net: did not receive HSTS header
 nootropicsource.com: did not receive HSTS header
 nope.website: could not connect to host
 nopex.no: could not connect to host
 nopol.de: could not connect to host
 norandom.com: could not connect to host
 norb.at: could not connect to host
-nordseeblicke.de: could not connect to host
 nosecretshop.com: did not receive HSTS header
 notadd.com: did not receive HSTS header
-notenoughtime.de: could not connect to host
 nottheonion.net: did not receive HSTS header
 nouvelle-vague-saint-cast.fr: did not receive HSTS header
 novacoast.com: did not receive HSTS header
 novascan.net: could not connect to host
 novatrucking.de: could not connect to host
 nowak.ninja: did not receive HSTS header
 noworrywp.com: could not connect to host
 nozoe.jp: did not receive HSTS header
@@ -3470,16 +3459,17 @@ nysifclaimcentral.com: did not receive H
 nystart.no: did not receive HSTS header
 nz.search.yahoo.com: max-age too low: 172800
 nzb.cat: max-age too low: 7776000
 nzquakes.maori.nz: could not connect to host
 o-rickroll-y.pw: could not connect to host
 o0o.one: could not connect to host
 oasis.mobi: did not receive HSTS header
 oasisim.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
+obermeiers.eu: could not connect to host
 obsydian.org: could not connect to host
 occentus.net: did not receive HSTS header
 ochaken.cf: could not connect to host
 octocat.ninja: could not connect to host
 octothorpe.club: could not connect to host
 odin.xxx: could not connect to host
 odinoffice.no: did not receive HSTS header
 oe8.bet: could not connect to host
@@ -3500,20 +3490,19 @@ oliverdunk.com: did not receive HSTS hea
 ollehbizev.co.kr: could not connect to host
 ollie.io: did not receive HSTS header
 omacostudio.com: could not connect to host
 omgaanmetidealen.com: could not connect to host
 ominto.com: max-age too low: 0
 omniti.com: max-age too low: 1
 omquote.gq: could not connect to host
 omskit.ru: did not receive HSTS header
+onaboat.se: could not connect to host
 oneb4nk.com: could not connect to host
 oneclickloan.com: could not connect to host
-onecycling.my: could not connect to host
-onecycling.world: could not connect to host
 onefour.co: could not connect to host
 onehourloan.com: could not connect to host
 oneminute.io: did not receive HSTS header
 onepluscamps.com: could not connect to host
 onespiritinc.com: did not receive HSTS header
 onet.space: could not connect to host
 onewpst.com: did not receive HSTS header
 oniichan.us: did not receive HSTS header
@@ -3583,17 +3572,17 @@ osp.cx: could not connect to host
 ossan-kobe-gourmet.com: did not receive HSTS header
 ossbinaries.com: could not connect to host
 osteammate.com: did not receive HSTS header
 osticketawesome.com: did not receive HSTS header
 otakuworld.de: could not connect to host
 othercode.nl: could not connect to host
 othermedia.cc: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 otherstuff.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
-otichi.com: could not connect to host
+otichi.com: did not receive HSTS header
 ottospora.nl: could not connect to host
 ourbank.com: did not receive HSTS header
 outdoorproducts.com: did not receive HSTS header
 outetc.com: could not connect to host
 outreachbuddy.com: could not connect to host
 outsider.im: could not connect to host
 outurnate.com: could not connect to host
 ouvirmusica.com.br: did not receive HSTS header
@@ -3633,17 +3622,16 @@ pansu.space: could not connect to host
 pants-off.xyz: could not connect to host
 pantsu.cat: did not receive HSTS header
 papalytics.com: could not connect to host
 papeda.net: could not connect to host
 papercard.co.uk: did not receive HSTS header
 paperturn.com: did not receive HSTS header
 papierniak.net: could not connect to host
 papygeek.com: could not connect to host
-paradiselost.com: could not connect to host
 parent5446.us: could not connect to host
 parentmail.co.uk: did not receive HSTS header
 parithy.net: could not connect to host
 parkingplus.co.il: could not connect to host
 parodybit.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 parpaing-paillette.net: could not connect to host
 particonpsplus.it: did not receive HSTS header
 partijtjevoordevrijheid.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
@@ -3656,23 +3644,24 @@ partyvan.nl: could not connect to host
 partyvan.se: could not connect to host
 passwordbox.com: did not receive HSTS header
 passwordrevelator.net: did not receive HSTS header
 passwords.google.com: did not receive HSTS header (error ignored - included regardless)
 pastaf.com: could not connect to host
 paste.linode.com: could not connect to host
 pastebin.linode.com: could not connect to host
 pastenib.com: could not connect to host
-paster.li: could not connect to host
+paster.li: did not receive HSTS header
 pataua.kiwi: did not receive HSTS header
 paternitydnatest.com: could not connect to host
 patientinsight.net: could not connect to host
 patt.us: did not receive HSTS header
 paul-kerebel.pro: could not connect to host
 paulchen.at: could not connect to host
+paulewen.ca: could not connect to host
 paulyang.cn: did not receive HSTS header
 pavelfojt.cz: did not receive HSTS header
 paxwinkel.nl: did not receive HSTS header
 pay.gigahost.dk: did not receive HSTS header
 payfreez.com: could not connect to host
 payments.google.com: did not receive HSTS header (error ignored - included regardless)
 payroll.ch: did not receive HSTS header
 pbapp.net: did not receive HSTS header
@@ -3682,17 +3671,16 @@ pcfun.net: could not connect to host
 pchax.net: could not connect to host
 pchospital.cc: did not receive HSTS header
 pdamsidoarjo.co.id: could not connect to host
 pdevio.com: could not connect to host
 pdf.yt: could not connect to host
 peakapp.nl: could not connect to host
 pebblesdemo.com: could not connect to host
 peerherrmann.de: could not connect to host
-peetah.com: could not connect to host
 peissen.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 pekkapikkarainen.fi: did not receive HSTS header
 pekkarik.ru: could not connect to host
 penguinclientsystem.com: did not receive HSTS header
 pentano.net: could not connect to host
 pepperhead.com: did not receive HSTS header
 pepperworldhotshop.de: did not receive HSTS header
 perfect-radiant-wrinkles.com: could not connect to host
@@ -3751,16 +3739,17 @@ pirateproxy.vip: could not connect to ho
 pirati.cz: did not receive HSTS header
 pirlitu.com: did not receive HSTS header
 pisexy.me: did not receive HSTS header
 pisidia.de: could not connect to host
 pittonpreschool.com: did not receive HSTS header
 pixdigital.net: could not connect to host
 pixel.google.com: did not receive HSTS header (error ignored - included regardless)
 pixelcode.com.au: could not connect to host
+pixelcubed.com: could not connect to host
 pixelhero.co.uk: did not receive HSTS header
 pixelminers.net: could not connect to host
 pixi.me: could not connect to host
 pizzadoc.ch: could not connect to host
 pj83.duckdns.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 pk.search.yahoo.com: did not receive HSTS header
 placefade.com: could not connect to host
 placollection.org: could not connect to host
@@ -3850,17 +3839,16 @@ privacylabs.io: did not receive HSTS hea
 privacyrup.net: could not connect to host
 prnt.li: did not receive HSTS header
 pro-zone.com: could not connect to host
 prodpad.com: did not receive HSTS header
 production.vn: did not receive HSTS header
 professionalboundaries.com: did not receive HSTS header
 profi-durchgangsmelder.de: did not receive HSTS header
 profivps.com: could not connect to host
-profpay.com: could not connect to host
 profundr.com: could not connect to host
 profusion.io: could not connect to host
 progblog.net: could not connect to host
 progg.no: could not connect to host
 progress-technologies.com: could not connect to host
 prohostonline.fi: could not connect to host
 projectdp.net: could not connect to host
 projectmercury.space: could not connect to host
@@ -3894,16 +3882,17 @@ punchr-kamikazee.rhcloud.com: did not re
 puppydns.com: did not receive HSTS header
 purewebmasters.com: could not connect to host
 purplemoon.mobi: did not receive HSTS header
 purplestar.mobi: did not receive HSTS header
 pushapp.org: did not receive HSTS header
 pwd.ovh: could not connect to host
 pwnies.dk: could not connect to host
 py.search.yahoo.com: did not receive HSTS header
+pycrypto.org: could not connect to host
 pyol.org: could not connect to host
 pypi-status.org: could not connect to host
 pyplo.org: did not receive HSTS header
 pypt.lt: did not receive HSTS header
 q-rickroll-u.pw: could not connect to host
 q2.si: did not receive HSTS header
 qccqld.org.au: could not connect to host
 qingpat.com: could not connect to host
@@ -3972,44 +3961,45 @@ raydan.space: could not connect to host
 raydobe.me: could not connect to host
 rbhighinc.org: could not connect to host
 rc-rp.com: did not receive HSTS header
 rc4.io: could not connect to host
 rcafox.com: could not connect to host
 rcorporation.be: did not receive HSTS header
 rcpcbd.com: did not receive HSTS header
 rdh.asia: could not connect to host
-rdns.im: could not connect to host
+rdns.im: did not receive HSTS header
 re-customer.net: did not receive HSTS header
 reachr.com: could not connect to host
 reader.ga: could not connect to host
 readr.pw: could not connect to host
 realmic.net: could not connect to host
 realmofespionage.com: could not connect to host
 reaper.rip: could not connect to host
 reardenporn.com: could not connect to host
 rebekaesgabor.online: could not connect to host
 recommended.reviews: could not connect to host
 redable.hosting: could not connect to host
 redar.xyz: could not connect to host
-reddiseals.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
+reddiseals.com: did not receive HSTS header
 reddit.com: did not receive HSTS header
 rede.ca: did not receive HSTS header
 redicabo.de: could not connect to host
 redirectman.com: did not receive HSTS header
 redlatam.org: did not receive HSTS header
 redmbk.com: did not receive HSTS header
 redports.org: could not connect to host
 regaloaks.com: did not receive HSTS header
 regalpalms.com: did not receive HSTS header
 regenbogenwald.de: did not receive HSTS header
 regenerescence.com: did not receive HSTS header
 reggae-cdmx.com: did not receive HSTS header
 rei.ki: could not connect to host
 reic.me: could not connect to host
+reinaldudras.ee: did not receive HSTS header
 reisyukaku.org: did not receive HSTS header
 rejo.in: could not connect to host
 rejuvemedspa.com: did not receive HSTS header
 relatethesport.com: could not connect to host
 relayawards.com: did not receive HSTS header
 reliable-mail.de: did not receive HSTS header
 relisten.nl: did not receive HSTS header
 rem.pe: could not connect to host
@@ -4042,17 +4032,16 @@ retrotracks.net: max-age too low: 0
 revealdata.com: did not receive HSTS header
 revello.org: did not receive HSTS header
 reverie.pw: could not connect to host
 reviews.anime.my: max-age too low: 5184000
 revtut.net: did not receive HSTS header
 rewardstock.com: max-age too low: 0
 rewrite3.com: could not connect to host
 rex.st: could not connect to host
-rezept-planer.de: could not connect to host
 rhapsodhy.hu: could not connect to host
 rhdigital.pro: could not connect to host
 rhering.de: could not connect to host
 richiemail.net: did not receive HSTS header
 richmondsunlight.com: did not receive HSTS header
 richsiciliano.com: could not connect to host
 rid-wan.com: could not connect to host
 rideworks.com: did not receive HSTS header
@@ -4111,16 +4100,17 @@ roundtheme.com: did not receive HSTS hea
 rous.se: could not connect to host
 rout0r.org: did not receive HSTS header
 rouvray.org: could not connect to host
 royalhop.co: could not connect to host
 royalpub.net: did not receive HSTS header
 royalvisiongroup.com: could not connect to host
 rprimas.duckdns.org: could not connect to host
 rr.in.th: could not connect to host
+rring.me: could not connect to host
 rrke.cc: did not receive HSTS header
 rsajeey.info: could not connect to host
 rsf.io: could not connect to host
 rsmaps.org: could not connect to host
 rubbereggs.ca: could not connect to host
 rubberfurs.org: max-age too low: 86400
 rubecodeberg.com: could not connect to host
 rubenschulz.nl: did not receive HSTS header
@@ -4154,17 +4144,16 @@ safetyrisk.net: did not receive HSTS hea
 safewings-nh.nl: did not receive HSTS header
 sageth.com: max-age too low: 0
 sah3.net: could not connect to host
 sail-nyc.com: did not receive HSTS header
 sairai.bid: did not receive HSTS header
 sakaki.anime.my: max-age too low: 5184000
 sakaserver.com: did not receive HSTS header
 sakurabuff.com: did not receive HSTS header
-salesmachine.io: did not receive HSTS header
 salserocafe.com: did not receive HSTS header
 salserototal.com: could not connect to host
 saltedskies.com: could not connect to host
 saltra.online: could not connect to host
 salud.top: did not receive HSTS header
 sametovymesic.cz: could not connect to host
 saml2.com: could not connect to host
 sampoznay.ru: did not receive HSTS header
@@ -4184,26 +4173,24 @@ sat.rent: [Exception... "Component retur
 satmep.com: did not receive HSTS header
 satrent.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 satrent.se: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 satriyowibowo.my.id: did not receive HSTS header
 satsukii.moe: could not connect to host
 saturne.tk: could not connect to host
 saturngames.co.uk: did not receive HSTS header
 saucyfox.net: did not receive HSTS header
-sauerbrey.eu: could not connect to host
 saunasandstuff.ca: did not receive HSTS header
 saunasandstuff.com: did not receive HSTS header
 savannahtasteexperience.com: did not receive HSTS header
 saveyour.biz: did not receive HSTS header
 sawamura-rental.com: did not receive HSTS header
-say-hanabi.com: did not receive HSTS header
 sazima.ru: did not receive HSTS header
 sbox-archives.com: could not connect to host
-sby.de: could not connect to host
+sby.de: did not receive HSTS header
 sc4le.com: could not connect to host
 schadegarant.net: could not connect to host
 schnell-gold.com: could not connect to host
 schooltrends.co.uk: did not receive HSTS header
 schoop.me: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 schopenhauer-institut.de: could not connect to host
 schrauger.com: did not receive HSTS header
 schrauger.info: did not receive HSTS header
@@ -4305,17 +4292,16 @@ shadoom.com: did not receive HSTS header
 shadowmorph.info: did not receive HSTS header
 shadowsocks.net: could not connect to host
 shakepeers.org: did not receive HSTS header
 shanesage.com: could not connect to host
 shareimg.xyz: could not connect to host
 sharepass.pw: could not connect to host
 shauncrowley.co.uk: could not connect to host
 shaunwheelhou.se: could not connect to host
-shav.it: could not connect to host
 shawnh.net: could not connect to host
 shellj.me: max-age too low: 86400
 shellsec.pw: did not receive HSTS header
 shemissed.me: could not connect to host
 shereallyheals.com: could not connect to host
 shibe.club: could not connect to host
 shiftins.com: did not receive HSTS header
 shiftplanning.com: did not receive HSTS header
@@ -4457,17 +4443,17 @@ solit.systems: did not receive HSTS head
 soll-i.ch: did not receive HSTS header
 solsystems.ru: could not connect to host
 someshit.xyz: could not connect to host
 somethingnew.xyz: could not connect to host
 sonic.network: did not receive HSTS header
 sonicrainboom.rocks: did not receive HSTS header
 soobi.org: did not receive HSTS header
 soondy.com: did not receive HSTS header
-sortaweird.net: could not connect to host
+sosaka.ml: could not connect to host
 sotor.de: did not receive HSTS header
 soulema.com: could not connect to host
 soulfulglamour.uk: could not connect to host
 sourcelair.com: did not receive HSTS header
 southgale.condos: could not connect to host
 southside-crew.club: could not connect to host
 southworcestershiregpservices.co.uk: could not connect to host
 souyar.de: could not connect to host
@@ -4514,16 +4500,17 @@ sproutconnections.com: did not receive H
 sprybear.com: did not receive HSTS header
 square.gs: could not connect to host
 squatldf.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 sqzryang.com: did not receive HSTS header
 srevilak.net: did not receive HSTS header
 srna.sk: could not connect to host
 srrr.ca: could not connect to host
 ss.wtf: could not connect to host
+sscd.no: could not connect to host
 ssdax.com: did not receive HSTS header
 ssl.panoramio.com: did not receive HSTS header
 ssl.rip: could not connect to host
 ssmato.me: could not connect to host
 ssnc.org: max-age too low: 300
 sss3s.com: could not connect to host
 ssworld.ga: could not connect to host
 staack.com: did not receive HSTS header
@@ -4540,17 +4527,17 @@ stardanceacademy.net: could not connect 
 stargatepartners.com: did not receive HSTS header
 starmusic.ga: did not receive HSTS header
 starttraffic.com: did not receive HSTS header
 startuponcloud.com: max-age too low: 2678400
 stash.ai: did not receive HSTS header
 state-sponsored-actors.net: could not connect to host
 statementinsertsforless.com: did not receive HSTS header
 stateofexception.io: could not connect to host
-static.or.at: could not connect to host
+static.or.at: did not receive HSTS header
 staticanime.net: could not connect to host
 stationaryjourney.com: did not receive HSTS header
 stationcharlie.co.za: did not receive HSTS header
 stationnementdenuit.ca: did not receive HSTS header
 statuschecks.net: could not connect to host
 stayokhotelscdc-mailing.com: could not connect to host
 stcomex.com: did not receive HSTS header
 stefanweiser.de: did not receive HSTS header
@@ -4580,17 +4567,17 @@ stole-my.bike: could not connect to host
 stole-my.tv: could not connect to host
 stomt.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 stopwoodfin.org: could not connect to host
 storecove.com: did not receive HSTS header
 storeden.com: did not receive HSTS header
 storefrontify.com: did not receive HSTS header
 stormhub.org: could not connect to host
 stqry.com: did not receive HSTS header
-str0.at: could not connect to host
+str0.at: did not receive HSTS header
 strasweb.fr: did not receive HSTS header
 strbt.de: could not connect to host
 streamingeverywhere.com: did not receive HSTS header
 streamingmagazin.de: could not connect to host
 streampanel.net: did not receive HSTS header
 streams.dyndns.org: could not connect to host
 strictlysudo.com: could not connect to host
 strivephysmed.com: did not receive HSTS header
@@ -4650,32 +4637,30 @@ sv.search.yahoo.com: did not receive HST
 svarovani.tk: could not connect to host
 svatba-frantovi.cz: could not connect to host
 svenluijten.com: did not receive HSTS header
 sweetstreats.ca: could not connect to host
 swimbee.nl: did not receive HSTS header
 swimming.ca: did not receive HSTS header
 swmd5c.org: did not receive HSTS header
 sxbk.pw: could not connect to host
-sy-anduril.de: could not connect to host
 syam.cc: could not connect to host
 sydgrabber.tk: could not connect to host
 sykl.us: could not connect to host
 sylvangarden.org: could not connect to host
 sylvanorder.com: could not connect to host
 synackr.com: could not connect to host
 syncappate.com: could not connect to host
 syncer.jp: did not receive HSTS header
 syneic.com: did not receive HSTS header
 syno.gq: could not connect to host
 syntheticmotoroil.org: did not receive HSTS header
 syriatalk.biz: could not connect to host
 syriatalk.org: could not connect to host
 syrocon.ch: could not connect to host
-sysadmin.pm: did not receive HSTS header
 sysadmin.xyz: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 syso.name: could not connect to host
 szaszm.tk: max-age too low: 0
 t-complex.space: could not connect to host
 t-ken.xyz: could not connect to host
 t-tz.com: could not connect to host
 taabe.xyz: could not connect to host
 tacomafia.net: did not receive HSTS header
@@ -4688,16 +4673,17 @@ talk.google.com: did not receive HSTS he
 talklifestyle.nl: could not connect to host
 talktwincities.com: could not connect to host
 tallr.se: could not connect to host
 tallshoe.com: could not connect to host
 tandarts-haarlem.nl: did not receive HSTS header
 tangel.me: could not connect to host
 tangibilizing.com: could not connect to host
 tante-bugil.net: did not receive HSTS header
+tanze-jetzt.de: did not receive HSTS header
 tapfinder.ca: could not connect to host
 tapka.cz: did not receive HSTS header
 tappublisher.com: did not receive HSTS header
 taravancil.com: did not receive HSTS header
 tarhauskielto.fi: did not receive HSTS header
 tartaros.fi: could not connect to host
 taskstats.com: could not connect to host
 taskulu.ir: could not connect to host
@@ -4734,16 +4720,17 @@ technogroup.cz: did not receive HSTS hea
 technosavvyport.com: did not receive HSTS header
 techpointed.com: could not connect to host
 techreview.link: could not connect to host
 tecnimotos.com: did not receive HSTS header
 tegelsensanitaironline.nl: did not receive HSTS header
 teknologi.or.id: could not connect to host
 teknotes.co.uk: could not connect to host
 tekshrek.com: did not receive HSTS header
+tel-dithmarschen.de: did not receive HSTS header
 telefonnummer.online: could not connect to host
 telefoonnummerinfo.nl: could not connect to host
 telescam.com: could not connect to host
 temehu.com: did not receive HSTS header
 tempcraft.net: could not connect to host
 tempus-aquilae.de: could not connect to host
 tendertool.nl: could not connect to host
 tenni.xyz: could not connect to host
@@ -4831,19 +4818,19 @@ thirty5.net: did not receive HSTS header
 thisisacompletetest.ga: could not connect to host
 thisisforager.com: could not connect to host
 thiswebhost.com: did not receive HSTS header
 thomaskliszowski.fr: did not receive HSTS header
 thomasschweizer.net: could not connect to host
 thorncreek.net: did not receive HSTS header
 thriveapproach.co.uk: did not receive HSTS header
 thrivewellnesshub.co.za: could not connect to host
-thrx.net: could not connect to host
 thumbtack.com: did not receive HSTS header
 thusoy.com: did not receive HSTS header
+ti.blog.br: could not connect to host
 tickettoaster.de: max-age too low: 0
 tickopa.co.uk: could not connect to host
 tickreport.com: did not receive HSTS header
 ticktock.today: did not receive HSTS header
 tictactux.de: could not connect to host
 tidmore.us: could not connect to host
 tie-online.org: did not receive HSTS header
 tiensnet.com: did not receive HSTS header
@@ -4857,26 +4844,24 @@ timcamara.com: did not receive HSTS head
 time-river.xyz: could not connect to host
 timestamp.io: did not receive HSTS header
 timnash.co.uk: did not receive HSTS header
 timotrans.de: did not receive HSTS header
 timotrans.eu: did not receive HSTS header
 timowi.de: could not connect to host
 timowi.net: could not connect to host
 timwittenberg.com: could not connect to host
-tinyvpn.net: could not connect to host
 tipsyk.ru: could not connect to host
 tirex.media: did not receive HSTS header
 titanleaf.com: could not connect to host
 titouan.co: could not connect to host
 tittelbach.at: did not receive HSTS header
 titties.ml: could not connect to host
 tjc.wiki: could not connect to host
 tkappertjedemetamorfose.nl: could not connect to host
-tlach.cz: did not receive HSTS header
 tlo.hosting: could not connect to host
 tlo.link: did not receive HSTS header
 tlo.network: could not connect to host
 tls.li: could not connect to host
 tlsbv.nl: did not receive HSTS header
 tm-solutions.eu: did not receive HSTS header
 tmaward.net: could not connect to host
 tmitchell.io: could not connect to host
@@ -4927,32 +4912,31 @@ tpbcdn.com: could not connect to host
 tpe-edu.com: could not connect to host
 track.plus: could not connect to host
 tracktivity.com.au: did not receive HSTS header
 tradinews.com: could not connect to host
 tradinews.fr: could not connect to host
 tradingcentre.com.au: did not receive HSTS header
 tradinghope.com: could not connect to host
 traindb.nl: did not receive HSTS header
-trainut.com: could not connect to host
+trainut.com: did not receive HSTS header
 transitownplaza.com: could not connect to host
 translate.googleapis.com: did not receive HSTS header (error ignored - included regardless)
 transportal.sk: did not receive HSTS header
 travelinsurance.co.nz: did not receive HSTS header
 treasuredinheritanceministry.com: did not receive HSTS header
 treatprostatewithhifu.com: did not receive HSTS header
 treeby.net: could not connect to host
 trendberry.ru: could not connect to host
 tretkowski.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 trinityaffirmations.com: max-age too low: 0
 trinitycore.org: max-age too low: 2592000
 tripdelta.com: did not receive HSTS header
 trixies-wish.nz: could not connect to host
 trollme.me: could not connect to host
-trondelan.no: did not receive HSTS header
 trunkjunk.co: could not connect to host
 trusitio.com: did not receive HSTS header
 trusteecar.com: could not connect to host
 trustmeimfancy.com: could not connect to host
 trybind.com: could not connect to host
 tryoneday.co: did not receive HSTS header
 ts2.se: could not connect to host
 ts3.consulting: could not connect to host
@@ -4969,32 +4953,33 @@ tuingereedschappen.net: could not connec
 tunai.id: could not connect to host
 tunebitfm.de: could not connect to host
 turnik-67.ru: could not connect to host
 turniker.ru: could not connect to host
 turtlementors.com: could not connect to host
 tuturulianda.com: did not receive HSTS header
 tuvalie.com: could not connect to host
 tuxcall.de: could not connect to host
+tuxcloud.net: could not connect to host
 tuxz.net: did not receive HSTS header
 tv.search.yahoo.com: could not connect to host
 tvtubeflix.com: did not receive HSTS header
 tvz-materijali.com: could not connect to host
 twarog.cc: could not connect to host
-twillionmas.com: could not connect to host
 twinkseason.ca: could not connect to host
 twinkseason.co: could not connect to host
 twinkseason.co.uk: did not receive HSTS header
 twinkseason.com: did not receive HSTS header
 twinkseason.net: could not connect to host
 twinkseason.org: could not connect to host
 twinkseason.xyz: could not connect to host
 twist.party: could not connect to host
 twogo.com: did not receive HSTS header
 twolinepassbrewing.com: could not connect to host
+twotube.ie: could not connect to host
 tx041cap.org: did not receive HSTS header
 txclimbers.com: could not connect to host
 txf.pw: could not connect to host
 ty2u.com: did not receive HSTS header
 tyler.rs: could not connect to host
 tyleromeara.com: could not connect to host
 tylian.net: max-age too low: 0
 typeonejoe.com: could not connect to host
@@ -5002,17 +4987,17 @@ tyrelius.com: did not receive HSTS heade
 tyroproducts.eu: did not receive HSTS header
 tzappa.net: could not connect to host
 u-blox.com: max-age too low: 0
 ua.search.yahoo.com: did not receive HSTS header
 uadp.pw: did not receive HSTS header
 uber.com.au: did not receive HSTS header
 uberfunction.com: did not receive HSTS header
 ubicloud.de: could not connect to host
-ubicv.com: could not connect to host
+ubicv.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 ublox.com: did not receive HSTS header
 ubuntuhot.com: did not receive HSTS header
 uega.net: did not receive HSTS header
 uesociedadlimitada.com: did not receive HSTS header
 ufgaming.com: did not receive HSTS header
 ufotable.uk: could not connect to host
 ugcdn.com: could not connect to host
 ui8.net: max-age too low: 86400
@@ -5045,17 +5030,16 @@ unccdesign.club: could not connect to ho
 unclegen.xyz: could not connect to host
 under30stravelinsurance.com.au: could not connect to host
 undernet.uy: did not receive HSTS header
 unfiltered.nyc: did not receive HSTS header
 unfuddle.cn: could not connect to host
 uni-games.com: could not connect to host
 unicooo.com: did not receive HSTS header
 unikitty-on-tour.com: could not connect to host
-unionstationapp.com: could not connect to host
 unison.com: did not receive HSTS header
 unisyssecurity.com: did not receive HSTS header
 unitedcyberdevelopment.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 unitlabs.net: could not connect to host
 university4industry.com: did not receive HSTS header
 univz.com: could not connect to host
 unknownphenomena.net: could not connect to host
 unmanaged.space: did not receive HSTS header
@@ -5141,17 +5125,17 @@ veryhax.de: could not connect to host
 veterinaire-cazeres-foucault.fr: could not connect to host
 vetmgmt.com: could not connect to host
 veto.fish: could not connect to host
 vfree.org: could not connect to host
 vglimg.com: could not connect to host
 vhost.co.id: could not connect to host
 viadeux.com: could not connect to host
 videnskabsklubben.dk: did not receive HSTS header
-videomuz.com: could not connect to host
+videomuz.com: did not receive HSTS header
 videotogel.net: did not receive HSTS header
 vidid.net: did not receive HSTS header
 vidz.ga: could not connect to host
 vieaw.com: did not receive HSTS header
 vietnamphotographytours.com: did not receive HSTS header
 viewsea.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 vigilo.cf: could not connect to host
 vigilo.ga: could not connect to host
@@ -5167,24 +5151,22 @@ vio.no: did not receive HSTS header
 viperdns.com: could not connect to host
 vipi.es: could not connect to host
 vipmusic.ga: could not connect to host
 virginiacrimeanalysisnetwork.org: did not receive HSTS header
 visage.ch: max-age too low: 0
 visiontree-beta.eu: could not connect to host
 visitbroadstairs.com: could not connect to host
 vissanum.com: did not receive HSTS header
-vistarait.com: could not connect to host
+vistarait.com: did not receive HSTS header
 vitagenda.nl: could not connect to host
 vitalita.cz: did not receive HSTS header
 vitalorange.com: did not receive HSTS header
 vitta.me: did not receive HSTS header
 viva-french.com: did not receive HSTS header
-vivocloud.com: did not receive HSTS header
-vizional.com: could not connect to host
 vlastimilburian.cz: did not receive HSTS header
 vlora.city: could not connect to host
 vm0.eu: did not receive HSTS header
 vmrdev.com: could not connect to host
 voceinveste.com: did not receive HSTS header
 vodpay.net: could not connect to host
 vodpay.org: could not connect to host
 voicesuk.co.uk: did not receive HSTS header
@@ -5203,17 +5185,16 @@ vpnhot.com: did not receive HSTS header
 vps-szerver-berles.hu: could not connect to host
 vpsmojo.com: max-age too low: 5443200
 vratny.space: could not connect to host
 vrobert.fr: could not connect to host
 vsestiralnie.com: did not receive HSTS header
 vvl.me: did not receive HSTS header
 vxstream-sandbox.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 vyncke.org: max-age too low: 2678400
-vyskocil.eu: could not connect to host
 vzk.io: could not connect to host
 w.wiki: could not connect to host
 w4a.fr: did not receive HSTS header
 w4xzr.top: could not connect to host
 w4xzr.xyz: could not connect to host
 wachtwoordencheck.nl: could not connect to host
 waixingrenfuli7.vip: could not connect to host
 wakapp.de: could not connect to host
@@ -5279,17 +5260,16 @@ weizenke.im: could not connect to host
 wellastore.ru: did not receive HSTS header
 wellsolveit.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 welpy.com: could not connect to host
 weltmeisterschaft.net: could not connect to host
 weltverschwoerung.de: did not receive HSTS header
 weme.eu: could not connect to host
 werdeeintimo.de: did not receive HSTS header
 werkenbijkfc.nl: did not receive HSTS header
-werkplaatsoost.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 werkruimtebottendaal.nl: did not receive HSTS header
 wesleyharris.ca: did not receive HSTS header
 westendzone.com: max-age too low: 0
 westerhoud.nl: did not receive HSTS header
 wettbuero.de: did not receive HSTS header
 wetten.eu: did not receive HSTS header
 wettertoertchen.com: could not connect to host
 wetttipps.com: did not receive HSTS header
@@ -5312,34 +5292,33 @@ whysuck.com: could not connect to host
 whyworldhot.com: could not connect to host
 wienholding.at: max-age too low: 0
 wieninternational.at: did not receive HSTS header
 wiire.me: could not connect to host
 wikiclash.info: could not connect to host
 wikisports.eu: could not connect to host
 wilf1rst.com: could not connect to host
 willcipriano.com: could not connect to host
-william.si: could not connect to host
+william.si: did not receive HSTS header
 willosagiede.com: did not receive HSTS header
 winaes.com: did not receive HSTS header
 winclient.cn: could not connect to host
 windhaven.nl: could not connect to host
 winecodeavocado.com: could not connect to host
 winged.io: could not connect to host
 wingumd.net: could not connect to host
 winpack.cf: could not connect to host
 winpack.eu.org: could not connect to host
 winsec.nl: could not connect to host
 winshiplending.com: did not receive HSTS header
 winterschoen.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 wirc.gr: could not connect to host
 wiretrip.io: could not connect to host
 wiseloan.com: did not receive HSTS header
 wishcert.com: could not connect to host
-wit.ai: did not receive HSTS header
 withgoogle.com: did not receive HSTS header (error ignored - included regardless)
 withmy.beer: could not connect to host
 withustrading.com: could not connect to host
 withyoutube.com: did not receive HSTS header (error ignored - included regardless)
 wittcher.com: could not connect to host
 wittydonut.com: could not connect to host
 witzemaschine.com: max-age too low: 0
 wiz.biz: could not connect to host
@@ -5367,17 +5346,16 @@ worldsbeststory.com: did not receive HST
 wowapi.org: could not connect to host
 wpfortify.com: did not receive HSTS header
 wphostingspot.com: did not receive HSTS header
 wpmetadatastandardsproject.org: did not receive HSTS header
 writeapp.me: could not connect to host
 wsscompany.com.ve: could not connect to host
 wufu.org: could not connect to host
 wuhengmin.com: did not receive HSTS header
-wukongmusic.us: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 wurzelzwerg.net: could not connect to host
 wusx.club: could not connect to host
 www.apollo-auto.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 www.braintreepayments.com: did not receive HSTS header
 www.calyxinstitute.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 www.cueup.com: could not connect to host
 www.cyveillance.com: did not receive HSTS header
 www.developer.mydigipass.com: could not connect to host
@@ -5394,17 +5372,16 @@ www.moneybookers.com: did not receive HS
 www.neonisi.com: could not connect to host
 www.paycheckrecords.com: did not receive HSTS header
 www.rme.li: did not receive HSTS header
 www.sandbox.mydigipass.com: could not connect to host
 www.surfeasy.com: did not receive HSTS header
 www.zenpayroll.com: did not receive HSTS header
 www3.info: did not receive HSTS header
 wxukang.cn: could not connect to host
-wybmabiity.com: could not connect to host
 wyzphoto.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118"  data: no]
 x-power-detox.com: could not connect to host
 x2w.io: could not connect to host
 x3led.com: could not connect to host
 x509.pub: could not connect to host
 x509.pw: could not connect to host
 xa.search.yahoo.com: did not receive HSTS header
 xandocs.com: could not connect to host
@@ -5414,16 +5391,17 @@ xbt.co: could not connect to host
 xcoop.me: could not connect to host
 xellos.ga: could not connect to host
 xellos.ml: could not connect to host
 xendo.net: did not receive HSTS header
 xenesisziarovky.sk: could not connect to host
 xett.com: did not receive HSTS header
 xf-liam.com: did not receive HSTS header
 xfive.de: did not receive HSTS header
+xia100.xyz: could not connect to host
 xiaody.me: could not connect to host
 xiaolvmu.com: could not connect to host
 xiaolvmu.me: could not connect to host
 xiaoxiao.im: could not connect to host
 ximens.me: did not receive HSTS header
 xisa.it: could not connect to host
 xiyu.moe: could not connect to host
 xmonk.org: could not connect to host
@@ -5434,17 +5412,16 @@ xn--4dbjwf8c.cf: could not connect to ho
 xn--4dbjwf8c.ga: could not connect to host
 xn--4dbjwf8c.gq: could not connect to host
 xn--4dbjwf8c.tk: could not connect to host
 xn--79q87uvkclvgd56ahq5a.net: did not receive HSTS header
 xn--7rvz7ku3ppnr.jp: did not receive HSTS header
 xn--80aaihqncaejjobbu6v.xn--p1ai: max-age too low: 10000
 xn--9pr52k0p5a.com: did not receive HSTS header
 xn--datenrettung-mnchen-jbc.com: did not receive HSTS header
-xn--dmonenjger-q5ag.net: could not connect to host
 xn--lgb3a8bcpn.cf: could not connect to host
 xn--lgb3a8bcpn.ga: could not connect to host
 xn--lgb3a8bcpn.gq: could not connect to host
 xn--lgb3a8bcpn.ml: could not connect to host
 xn--ls8hi7a.tk: could not connect to host
 xn--mgbbh2a9fub.xn--ngbc5azd: did not receive HSTS header
 xn--neb-tma3u8u.xyz: could not connect to host
 xn--seelenwchter-mcb.eu: could not connect to host
@@ -5489,16 +5466,17 @@ yestees.com: did not receive HSTS header
 yetcore.io: could not connect to host
 yhrd.org: did not receive HSTS header
 yin.roma.it: did not receive HSTS header
 yingyj.com: could not connect to host
 yippie.nl: did not receive HSTS header
 yjsoft.me: did not receive HSTS header
 ynode.co: did not receive HSTS header
 ynsn.nl: did not receive HSTS header
+yoga.is-an-engineer.com: could not connect to host
 yokeepo.com: max-age too low: 0
 yoloboatrentals.com: did not receive HSTS header
 yoloprod.fr: could not connect to host
 yoloseo.com: could not connect to host
 youcontrol.ru: could not connect to host
 youngandunited.nl: did not receive HSTS header
 youon.tokyo: could not connect to host
 yourbapp.ch: could not connect to host
@@ -5509,27 +5487,28 @@ ypiresia.fr: could not connect to host
 ytcuber.xyz: could not connect to host
 yu.gg: did not receive HSTS header
 yuan.ga: did not receive HSTS header
 yuhen.ru: could not connect to host
 yuko.moe: could not connect to host
 yunzhu.li: did not receive HSTS header
 yunzhu.org: could not connect to host
 yutabon.com: could not connect to host
-yuushou.com: could not connect to host
+yutangyun.com: could not connect to host
 yux.io: did not receive HSTS header
 ywei.org: could not connect to host
 yzal.io: did not receive HSTS header
 z33.ch: did not receive HSTS header
 z3liff.com: could not connect to host
 z3liff.net: could not connect to host
 za.search.yahoo.com: did not receive HSTS header
 zachgibbens.org: could not connect to host
 zadieheimlich.com: did not receive HSTS header
 zakmccrac.de: did not receive HSTS header
+zamis.net: did not receive HSTS header
 zamorano.edu: could not connect to host
 zao.fi: could not connect to host
 zap.yt: could not connect to host
 zarooba.com: could not connect to host
 zbigniewgalucki.eu: did not receive HSTS header
 zebrababy.cn: did not receive HSTS header
 zefiris.org: did not receive HSTS header
 zefu.ca: could not connect to host
--- a/security/manager/ssl/nsSTSPreloadList.inc
+++ b/security/manager/ssl/nsSTSPreloadList.inc
@@ -3,17 +3,17 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 /*****************************************************************************/
 /* This is an automatically generated file. If you're not                    */
 /* nsSiteSecurityService.cpp, you shouldn't be #including it.     */
 /*****************************************************************************/
 
 #include <stdint.h>
-const PRTime gPreloadListExpirationTime = INT64_C(1502639040552000);
+const PRTime gPreloadListExpirationTime = INT64_C(1502721494551000);
 
 static const char kSTSHostTable[] = {
   /* "0.me.uk", true */ '0', '.', 'm', 'e', '.', 'u', 'k', '\0',
   /* "007-preisvergleich.de", true */ '0', '0', '7', '-', 'p', 'r', 'e', 'i', 's', 'v', 'e', 'r', 'g', 'l', 'e', 'i', 'c', 'h', '.', 'd', 'e', '\0',
   /* "0100dev.com", true */ '0', '1', '0', '0', 'd', 'e', 'v', '.', 'c', 'o', 'm', '\0',
   /* "0100dev.nl", true */ '0', '1', '0', '0', 'd', 'e', 'v', '.', 'n', 'l', '\0',
   /* "01electronica.com.ar", true */ '0', '1', 'e', 'l', 'e', 'c', 't', 'r', 'o', 'n', 'i', 'c', 'a', '.', 'c', 'o', 'm', '.', 'a', 'r', '\0',
   /* "01seguridad.com.ar", true */ '0', '1', 's', 'e', 'g', 'u', 'r', 'i', 'd', 'a', 'd', '.', 'c', 'o', 'm', '.', 'a', 'r', '\0',
@@ -631,17 +631,16 @@ static const char kSTSHostTable[] = {
   /* "alexgaynor.net", true */ 'a', 'l', 'e', 'x', 'g', 'a', 'y', 'n', 'o', 'r', '.', 'n', 'e', 't', '\0',
   /* "alexhaydock.co.uk", true */ 'a', 'l', 'e', 'x', 'h', 'a', 'y', 'd', 'o', 'c', 'k', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "alexhd.de", true */ 'a', 'l', 'e', 'x', 'h', 'd', '.', 'd', 'e', '\0',
   /* "alexmak.net", true */ 'a', 'l', 'e', 'x', 'm', 'a', 'k', '.', 'n', 'e', 't', '\0',
   /* "alexmerkel.com", true */ 'a', 'l', 'e', 'x', 'm', 'e', 'r', 'k', 'e', 'l', '.', 'c', 'o', 'm', '\0',
   /* "alexmerkel.me", true */ 'a', 'l', 'e', 'x', 'm', 'e', 'r', 'k', 'e', 'l', '.', 'm', 'e', '\0',
   /* "alexmerkel.xyz", true */ 'a', 'l', 'e', 'x', 'm', 'e', 'r', 'k', 'e', 'l', '.', 'x', 'y', 'z', '\0',
   /* "alexn.org", true */ 'a', 'l', 'e', 'x', 'n', '.', 'o', 'r', 'g', '\0',
-  /* "alexpavel.com", true */ 'a', 'l', 'e', 'x', 'p', 'a', 'v', 'e', 'l', '.', 'c', 'o', 'm', '\0',
   /* "alexs.de", true */ 'a', 'l', 'e', 'x', 's', '.', 'd', 'e', '\0',
   /* "alexsergeyev.com", true */ 'a', 'l', 'e', 'x', 's', 'e', 'r', 'g', 'e', 'y', 'e', 'v', '.', 'c', 'o', 'm', '\0',
   /* "alexsexton.com", true */ 'a', 'l', 'e', 'x', 's', 'e', 'x', 't', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "alextsang.net", true */ 'a', 'l', 'e', 'x', 't', 's', 'a', 'n', 'g', '.', 'n', 'e', 't', '\0',
   /* "alexvetter.de", true */ 'a', 'l', 'e', 'x', 'v', 'e', 't', 't', 'e', 'r', '.', 'd', 'e', '\0',
   /* "alexwardweb.com", true */ 'a', 'l', 'e', 'x', 'w', 'a', 'r', 'd', 'w', 'e', 'b', '.', 'c', 'o', 'm', '\0',
   /* "alexyang.me", true */ 'a', 'l', 'e', 'x', 'y', 'a', 'n', 'g', '.', 'm', 'e', '\0',
   /* "alfa-tech.su", true */ 'a', 'l', 'f', 'a', '-', 't', 'e', 'c', 'h', '.', 's', 'u', '\0',
@@ -832,16 +831,18 @@ static const char kSTSHostTable[] = {
   /* "andrezadnik.com", true */ 'a', 'n', 'd', 'r', 'e', 'z', 'a', 'd', 'n', 'i', 'k', '.', 'c', 'o', 'm', '\0',
   /* "andro4all.com", true */ 'a', 'n', 'd', 'r', 'o', '4', 'a', 'l', 'l', '.', 'c', 'o', 'm', '\0',
   /* "androide.com", true */ 'a', 'n', 'd', 'r', 'o', 'i', 'd', 'e', '.', 'c', 'o', 'm', '\0',
   /* "androidtamer.com", true */ 'a', 'n', 'd', 'r', 'o', 'i', 'd', 't', 'a', 'm', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "andromedacenter.com", true */ 'a', 'n', 'd', 'r', 'o', 'm', 'e', 'd', 'a', 'c', 'e', 'n', 't', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "androticsdirect.com", true */ 'a', 'n', 'd', 'r', 'o', 't', 'i', 'c', 's', 'd', 'i', 'r', 'e', 'c', 't', '.', 'c', 'o', 'm', '\0',
   /* "andruvision.cz", true */ 'a', 'n', 'd', 'r', 'u', 'v', 'i', 's', 'i', 'o', 'n', '.', 'c', 'z', '\0',
   /* "andsat.org", true */ 'a', 'n', 'd', 's', 'a', 't', '.', 'o', 'r', 'g', '\0',
+  /* "anduril.de", true */ 'a', 'n', 'd', 'u', 'r', 'i', 'l', '.', 'd', 'e', '\0',
+  /* "anduril.eu", true */ 'a', 'n', 'd', 'u', 'r', 'i', 'l', '.', 'e', 'u', '\0',
   /* "andycrockett.io", true */ 'a', 'n', 'd', 'y', 'c', 'r', 'o', 'c', 'k', 'e', 't', 't', '.', 'i', 'o', '\0',
   /* "andymoore.info", true */ 'a', 'n', 'd', 'y', 'm', 'o', 'o', 'r', 'e', '.', 'i', 'n', 'f', 'o', '\0',
   /* "andyuk.org", true */ 'a', 'n', 'd', 'y', 'u', 'k', '.', 'o', 'r', 'g', '\0',
   /* "anecuni-club.com", true */ 'a', 'n', 'e', 'c', 'u', 'n', 'i', '-', 'c', 'l', 'u', 'b', '.', 'c', 'o', 'm', '\0',
   /* "anecuni-rec.com", true */ 'a', 'n', 'e', 'c', 'u', 'n', 'i', '-', 'r', 'e', 'c', '.', 'c', 'o', 'm', '\0',
   /* "anedot.com", true */ 'a', 'n', 'e', 'd', 'o', 't', '.', 'c', 'o', 'm', '\0',
   /* "anedot.xyz", true */ 'a', 'n', 'e', 'd', 'o', 't', '.', 'x', 'y', 'z', '\0',
   /* "anetaben.nl", true */ 'a', 'n', 'e', 't', 'a', 'b', 'e', 'n', '.', 'n', 'l', '\0',
@@ -1382,18 +1383,18 @@ static const char kSTSHostTable[] = {
   /* "bad.horse", true */ 'b', 'a', 'd', '.', 'h', 'o', 'r', 's', 'e', '\0',
   /* "badbee.cc", true */ 'b', 'a', 'd', 'b', 'e', 'e', '.', 'c', 'c', '\0',
   /* "badf00d.de", true */ 'b', 'a', 'd', 'f', '0', '0', 'd', '.', 'd', 'e', '\0',
   /* "badges.fedoraproject.org", true */ 'b', 'a', 'd', 'g', 'e', 's', '.', 'f', 'e', 'd', 'o', 'r', 'a', 'p', 'r', 'o', 'j', 'e', 'c', 't', '.', 'o', 'r', 'g', '\0',
   /* "badges.stg.fedoraproject.org", true */ 'b', 'a', 'd', 'g', 'e', 's', '.', 's', 't', 'g', '.', 'f', 'e', 'd', 'o', 'r', 'a', 'p', 'r', 'o', 'j', 'e', 'c', 't', '.', 'o', 'r', 'g', '\0',
   /* "badhusky.com", true */ 'b', 'a', 'd', 'h', 'u', 's', 'k', 'y', '.', 'c', 'o', 'm', '\0',
   /* "badlink.org", true */ 'b', 'a', 'd', 'l', 'i', 'n', 'k', '.', 'o', 'r', 'g', '\0',
   /* "badoo.com", true */ 'b', 'a', 'd', 'o', 'o', '.', 'c', 'o', 'm', '\0',
-  /* "baer.im", true */ 'b', 'a', 'e', 'r', '.', 'i', 'm', '\0',
-  /* "baer.one", true */ 'b', 'a', 'e', 'r', '.', 'o', 'n', 'e', '\0',
+  /* "baer.im", false */ 'b', 'a', 'e', 'r', '.', 'i', 'm', '\0',
+  /* "baer.one", false */ 'b', 'a', 'e', 'r', '.', 'o', 'n', 'e', '\0',
   /* "baffinlee.com", true */ 'b', 'a', 'f', 'f', 'i', 'n', 'l', 'e', 'e', '.', 'c', 'o', 'm', '\0',
   /* "bagelsbakery.com", false */ 'b', 'a', 'g', 'e', 'l', 's', 'b', 'a', 'k', 'e', 'r', 'y', '.', 'c', 'o', 'm', '\0',
   /* "baggy.me.uk", true */ 'b', 'a', 'g', 'g', 'y', '.', 'm', 'e', '.', 'u', 'k', '\0',
   /* "bagheera.me.uk", true */ 'b', 'a', 'g', 'h', 'e', 'e', 'r', 'a', '.', 'm', 'e', '.', 'u', 'k', '\0',
   /* "bah.im", true */ 'b', 'a', 'h', '.', 'i', 'm', '\0',
   /* "baifubao.com", true */ 'b', 'a', 'i', 'f', 'u', 'b', 'a', 'o', '.', 'c', 'o', 'm', '\0',
   /* "baiker.info", true */ 'b', 'a', 'i', 'k', 'e', 'r', '.', 'i', 'n', 'f', 'o', '\0',
   /* "bailbondsaffordable.com", true */ 'b', 'a', 'i', 'l', 'b', 'o', 'n', 'd', 's', 'a', 'f', 'f', 'o', 'r', 'd', 'a', 'b', 'l', 'e', '.', 'c', 'o', 'm', '\0',
@@ -1527,16 +1528,17 @@ static const char kSTSHostTable[] = {
   /* "bdd.fi", true */ 'b', 'd', 'd', '.', 'f', 'i', '\0',
   /* "bddemir.com", true */ 'b', 'd', 'd', 'e', 'm', 'i', 'r', '.', 'c', 'o', 'm', '\0',
   /* "bdikaros-network.net", true */ 'b', 'd', 'i', 'k', 'a', 'r', 'o', 's', '-', 'n', 'e', 't', 'w', 'o', 'r', 'k', '.', 'n', 'e', 't', '\0',
   /* "bdsmxxxpics.com", true */ 'b', 'd', 's', 'm', 'x', 'x', 'x', 'p', 'i', 'c', 's', '.', 'c', 'o', 'm', '\0',
   /* "be-ka-tec.de", true */ 'b', 'e', '-', 'k', 'a', '-', 't', 'e', 'c', '.', 'd', 'e', '\0',
   /* "be-real.life", true */ 'b', 'e', '-', 'r', 'e', 'a', 'l', '.', 'l', 'i', 'f', 'e', '\0',
   /* "be-webdesign.com", true */ 'b', 'e', '-', 'w', 'e', 'b', 'd', 'e', 's', 'i', 'g', 'n', '.', 'c', 'o', 'm', '\0',
   /* "be2cloud.de", true */ 'b', 'e', '2', 'c', 'l', 'o', 'u', 'd', '.', 'd', 'e', '\0',
+  /* "beamitapp.com", true */ 'b', 'e', 'a', 'm', 'i', 't', 'a', 'p', 'p', '.', 'c', 'o', 'm', '\0',
   /* "beanjuice.me", true */ 'b', 'e', 'a', 'n', 'j', 'u', 'i', 'c', 'e', '.', 'm', 'e', '\0',
   /* "beans-one.com", false */ 'b', 'e', 'a', 'n', 's', '-', 'o', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "beanworks.ca", true */ 'b', 'e', 'a', 'n', 'w', 'o', 'r', 'k', 's', '.', 'c', 'a', '\0',
   /* "bearden.io", true */ 'b', 'e', 'a', 'r', 'd', 'e', 'n', '.', 'i', 'o', '\0',
   /* "beasel.biz", true */ 'b', 'e', 'a', 's', 'e', 'l', '.', 'b', 'i', 'z', '\0',
   /* "beastlog.tk", true */ 'b', 'e', 'a', 's', 't', 'l', 'o', 'g', '.', 't', 'k', '\0',
   /* "beastowner.li", true */ 'b', 'e', 'a', 's', 't', 'o', 'w', 'n', 'e', 'r', '.', 'l', 'i', '\0',
   /* "beatnikbreaks.com", true */ 'b', 'e', 'a', 't', 'n', 'i', 'k', 'b', 'r', 'e', 'a', 'k', 's', '.', 'c', 'o', 'm', '\0',
@@ -1704,16 +1706,17 @@ static const char kSTSHostTable[] = {
   /* "beyondpricing.com", true */ 'b', 'e', 'y', 'o', 'n', 'd', 'p', 'r', 'i', 'c', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "beyondtrust.com", true */ 'b', 'e', 'y', 'o', 'n', 'd', 't', 'r', 'u', 's', 't', '.', 'c', 'o', 'm', '\0',
   /* "beyondweb.net", true */ 'b', 'e', 'y', 'o', 'n', 'd', 'w', 'e', 'b', '.', 'n', 'e', 't', '\0',
   /* "beyonic.com", true */ 'b', 'e', 'y', 'o', 'n', 'i', 'c', '.', 'c', 'o', 'm', '\0',
   /* "beyours.be", true */ 'b', 'e', 'y', 'o', 'u', 'r', 's', '.', 'b', 'e', '\0',
   /* "bezprawnik.pl", true */ 'b', 'e', 'z', 'p', 'r', 'a', 'w', 'n', 'i', 'k', '.', 'p', 'l', '\0',
   /* "bfear.com", true */ 'b', 'f', 'e', 'a', 'r', '.', 'c', 'o', 'm', '\0',
   /* "bfelob.gov", true */ 'b', 'f', 'e', 'l', 'o', 'b', '.', 'g', 'o', 'v', '\0',
+  /* "bffm.biz", true */ 'b', 'f', 'f', 'm', '.', 'b', 'i', 'z', '\0',
   /* "bfi.wien", false */ 'b', 'f', 'i', '.', 'w', 'i', 'e', 'n', '\0',
   /* "bftbradio.com", true */ 'b', 'f', 't', 'b', 'r', 'a', 'd', 'i', 'o', '.', 'c', 'o', 'm', '\0',
   /* "bfw-online.de", true */ 'b', 'f', 'w', '-', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'd', 'e', '\0',
   /* "bgdaddy.com", true */ 'b', 'g', 'd', 'a', 'd', 'd', 'y', '.', 'c', 'o', 'm', '\0',
   /* "bgenlisted.com", true */ 'b', 'g', 'e', 'n', 'l', 'i', 's', 't', 'e', 'd', '.', 'c', 'o', 'm', '\0',
   /* "bgeo.io", true */ 'b', 'g', 'e', 'o', '.', 'i', 'o', '\0',
   /* "bgkoleda.bg", true */ 'b', 'g', 'k', 'o', 'l', 'e', 'd', 'a', '.', 'b', 'g', '\0',
   /* "bgneuesheim.de", true */ 'b', 'g', 'n', 'e', 'u', 'e', 's', 'h', 'e', 'i', 'm', '.', 'd', 'e', '\0',
@@ -1758,16 +1761,17 @@ static const char kSTSHostTable[] = {
   /* "bikebay.it", true */ 'b', 'i', 'k', 'e', 'b', 'a', 'y', '.', 'i', 't', '\0',
   /* "biker.dating", true */ 'b', 'i', 'k', 'e', 'r', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0',
   /* "bikermusic.net", true */ 'b', 'i', 'k', 'e', 'r', 'm', 'u', 's', 'i', 'c', '.', 'n', 'e', 't', '\0',
   /* "bikeshopitalia.com", true */ 'b', 'i', 'k', 'e', 's', 'h', 'o', 'p', 'i', 't', 'a', 'l', 'i', 'a', '.', 'c', 'o', 'm', '\0',
   /* "bikiniseli.com", true */ 'b', 'i', 'k', 'i', 'n', 'i', 's', 'e', 'l', 'i', '.', 'c', 'o', 'm', '\0',
   /* "bildermachr.de", true */ 'b', 'i', 'l', 'd', 'e', 'r', 'm', 'a', 'c', 'h', 'r', '.', 'd', 'e', '\0',
   /* "bilgo.com", true */ 'b', 'i', 'l', 'g', 'o', '.', 'c', 'o', 'm', '\0',
   /* "bilke.org", true */ 'b', 'i', 'l', 'k', 'e', '.', 'o', 'r', 'g', '\0',
+  /* "billaud.eu.org", true */ 'b', 'i', 'l', 'l', 'a', 'u', 'd', '.', 'e', 'u', '.', 'o', 'r', 'g', '\0',
   /* "billiger-mietwagen.de", true */ 'b', 'i', 'l', 'l', 'i', 'g', 'e', 'r', '-', 'm', 'i', 'e', 't', 'w', 'a', 'g', 'e', 'n', '.', 'd', 'e', '\0',
   /* "billigpoker.dk", true */ 'b', 'i', 'l', 'l', 'i', 'g', 'p', 'o', 'k', 'e', 'r', '.', 'd', 'k', '\0',
   /* "billigssl.dk", true */ 'b', 'i', 'l', 'l', 'i', 'g', 's', 's', 'l', '.', 'd', 'k', '\0',
   /* "billionairemailinglist.com", true */ 'b', 'i', 'l', 'l', 'i', 'o', 'n', 'a', 'i', 'r', 'e', 'm', 'a', 'i', 'l', 'i', 'n', 'g', 'l', 'i', 's', 't', '.', 'c', 'o', 'm', '\0',
   /* "billogram.com", true */ 'b', 'i', 'l', 'l', 'o', 'g', 'r', 'a', 'm', '.', 'c', 'o', 'm', '\0',
   /* "billpro.com", true */ 'b', 'i', 'l', 'l', 'p', 'r', 'o', '.', 'c', 'o', 'm', '\0',
   /* "billpro.com.au", true */ 'b', 'i', 'l', 'l', 'p', 'r', 'o', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "biltullen.com", true */ 'b', 'i', 'l', 't', 'u', 'l', 'l', 'e', 'n', '.', 'c', 'o', 'm', '\0',
@@ -2009,16 +2013,17 @@ static const char kSTSHostTable[] = {
   /* "blumen-garage.de", true */ 'b', 'l', 'u', 'm', 'e', 'n', '-', 'g', 'a', 'r', 'a', 'g', 'e', '.', 'd', 'e', '\0',
   /* "blumenfeldart.com", true */ 'b', 'l', 'u', 'm', 'e', 'n', 'f', 'e', 'l', 'd', 'a', 'r', 't', '.', 'c', 'o', 'm', '\0',
   /* "blumiges-fischbachtal.de", true */ 'b', 'l', 'u', 'm', 'i', 'g', 'e', 's', '-', 'f', 'i', 's', 'c', 'h', 'b', 'a', 'c', 'h', 't', 'a', 'l', '.', 'd', 'e', '\0',
   /* "blurringexistence.net", true */ 'b', 'l', 'u', 'r', 'r', 'i', 'n', 'g', 'e', 'x', 'i', 's', 't', 'e', 'n', 'c', 'e', '.', 'n', 'e', 't', '\0',
   /* "blusmurf.net", true */ 'b', 'l', 'u', 's', 'm', 'u', 'r', 'f', '.', 'n', 'e', 't', '\0',
   /* "blutroyal.de", true */ 'b', 'l', 'u', 't', 'r', 'o', 'y', 'a', 'l', '.', 'd', 'e', '\0',
   /* "blvdmb.com", true */ 'b', 'l', 'v', 'd', 'm', 'b', '.', 'c', 'o', 'm', '\0',
   /* "bmet.de", true */ 'b', 'm', 'e', 't', '.', 'd', 'e', '\0',
+  /* "bmoattachments.org", true */ 'b', 'm', 'o', 'a', 't', 't', 'a', 'c', 'h', 'm', 'e', 'n', 't', 's', '.', 'o', 'r', 'g', '\0',
   /* "bmone.net", true */ 'b', 'm', 'o', 'n', 'e', '.', 'n', 'e', 't', '\0',
   /* "bmros.com.ar", true */ 'b', 'm', 'r', 'o', 's', '.', 'c', 'o', 'm', '.', 'a', 'r', '\0',
   /* "bn1digital.co.uk", true */ 'b', 'n', '1', 'd', 'i', 'g', 'i', 't', 'a', 'l', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "bnb-buddy.nl", true */ 'b', 'n', 'b', '-', 'b', 'u', 'd', 'd', 'y', '.', 'n', 'l', '\0',
   /* "board-buy.ru", true */ 'b', 'o', 'a', 'r', 'd', '-', 'b', 'u', 'y', '.', 'r', 'u', '\0',
   /* "boardgamegeeks.de", true */ 'b', 'o', 'a', 'r', 'd', 'g', 'a', 'm', 'e', 'g', 'e', 'e', 'k', 's', '.', 'd', 'e', '\0',
   /* "bobancoamigo.com", true */ 'b', 'o', 'b', 'a', 'n', 'c', 'o', 'a', 'm', 'i', 'g', 'o', '.', 'c', 'o', 'm', '\0',
   /* "bobcopeland.com", true */ 'b', 'o', 'b', 'c', 'o', 'p', 'e', 'l', 'a', 'n', 'd', '.', 'c', 'o', 'm', '\0',
@@ -2056,16 +2061,17 @@ static const char kSTSHostTable[] = {
   /* "bonta.one", true */ 'b', 'o', 'n', 't', 'a', '.', 'o', 'n', 'e', '\0',
   /* "boof.com", false */ 'b', 'o', 'o', 'f', '.', 'c', 'o', 'm', '\0',
   /* "bookingapp.nl", true */ 'b', 'o', 'o', 'k', 'i', 'n', 'g', 'a', 'p', 'p', '.', 'n', 'l', '\0',
   /* "bookmein.in", true */ 'b', 'o', 'o', 'k', 'm', 'e', 'i', 'n', '.', 'i', 'n', '\0',
   /* "bool.be", true */ 'b', 'o', 'o', 'l', '.', 'b', 'e', '\0',
   /* "boomersurf.com", true */ 'b', 'o', 'o', 'm', 'e', 'r', 's', 'u', 'r', 'f', '.', 'c', 'o', 'm', '\0',
   /* "boonbox.com", true */ 'b', 'o', 'o', 'n', 'b', 'o', 'x', '.', 'c', 'o', 'm', '\0',
   /* "booth.in.th", true */ 'b', 'o', 'o', 't', 'h', '.', 'i', 'n', '.', 't', 'h', '\0',
+  /* "borderlinegroup.com", true */ 'b', 'o', 'r', 'd', 'e', 'r', 'l', 'i', 'n', 'e', 'g', 'r', 'o', 'u', 'p', '.', 'c', 'o', 'm', '\0',
   /* "boringsmith.com", true */ 'b', 'o', 'r', 'i', 'n', 'g', 's', 'm', 'i', 't', 'h', '.', 'c', 'o', 'm', '\0',
   /* "boris64.net", true */ 'b', 'o', 'r', 'i', 's', '6', '4', '.', 'n', 'e', 't', '\0',
   /* "bornandgrazed.com", true */ 'b', 'o', 'r', 'n', 'a', 'n', 'd', 'g', 'r', 'a', 'z', 'e', 'd', '.', 'c', 'o', 'm', '\0',
   /* "borowski.pw", true */ 'b', 'o', 'r', 'o', 'w', 's', 'k', 'i', '.', 'p', 'w', '\0',
   /* "borrelioz.com", true */ 'b', 'o', 'r', 'r', 'e', 'l', 'i', 'o', 'z', '.', 'c', 'o', 'm', '\0',
   /* "borscheid-wenig.com", true */ 'b', 'o', 'r', 's', 'c', 'h', 'e', 'i', 'd', '-', 'w', 'e', 'n', 'i', 'g', '.', 'c', 'o', 'm', '\0',
   /* "borysek.net", true */ 'b', 'o', 'r', 'y', 's', 'e', 'k', '.', 'n', 'e', 't', '\0',
   /* "borzoi.com.br", true */ 'b', 'o', 'r', 'z', 'o', 'i', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
@@ -2589,16 +2595,17 @@ static const char kSTSHostTable[] = {
   /* "casperpanel.com", true */ 'c', 'a', 's', 'p', 'e', 'r', 'p', 'a', 'n', 'e', 'l', '.', 'c', 'o', 'm', '\0',
   /* "castagnonavocats.com", true */ 'c', 'a', 's', 't', 'a', 'g', 'n', 'o', 'n', 'a', 'v', 'o', 'c', 'a', 't', 's', '.', 'c', 'o', 'm', '\0',
   /* "castlejackpot.com", true */ 'c', 'a', 's', 't', 'l', 'e', 'j', 'a', 'c', 'k', 'p', 'o', 't', '.', 'c', 'o', 'm', '\0',
   /* "cat-box.de", true */ 'c', 'a', 't', '-', 'b', 'o', 'x', '.', 'd', 'e', '\0',
   /* "cat.net", true */ 'c', 'a', 't', '.', 'n', 'e', 't', '\0',
   /* "catalyst-ecommerce.com", false */ 'c', 'a', 't', 'a', 'l', 'y', 's', 't', '-', 'e', 'c', 'o', 'm', 'm', 'e', 'r', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "catcontent.cloud", true */ 'c', 'a', 't', 'c', 'o', 'n', 't', 'e', 'n', 't', '.', 'c', 'l', 'o', 'u', 'd', '\0',
   /* "catenacondos.com", true */ 'c', 'a', 't', 'e', 'n', 'a', 'c', 'o', 'n', 'd', 'o', 's', '.', 'c', 'o', 'm', '\0',
+  /* "catgirl.pics", true */ 'c', 'a', 't', 'g', 'i', 'r', 'l', '.', 'p', 'i', 'c', 's', '\0',
   /* "catholics.dating", true */ 'c', 'a', 't', 'h', 'o', 'l', 'i', 'c', 's', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0',
   /* "cativa.net", true */ 'c', 'a', 't', 'i', 'v', 'a', '.', 'n', 'e', 't', '\0',
   /* "catmoose.ca", true */ 'c', 'a', 't', 'm', 'o', 'o', 's', 'e', '.', 'c', 'a', '\0',
   /* "catnet.dk", false */ 'c', 'a', 't', 'n', 'e', 't', '.', 'd', 'k', '\0',
   /* "cattivo.nl", false */ 'c', 'a', 't', 't', 'i', 'v', 'o', '.', 'n', 'l', '\0',
   /* "caulfieldeastapartments.com.au", true */ 'c', 'a', 'u', 'l', 'f', 'i', 'e', 'l', 'd', 'e', 'a', 's', 't', 'a', 'p', 'a', 'r', 't', 'm', 'e', 'n', 't', 's', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "caulfieldracecourseapartments.com.au", true */ 'c', 'a', 'u', 'l', 'f', 'i', 'e', 'l', 'd', 'r', 'a', 'c', 'e', 'c', 'o', 'u', 'r', 's', 'e', 'a', 'p', 'a', 'r', 't', 'm', 'e', 'n', 't', 's', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "caulong-ao.net", true */ 'c', 'a', 'u', 'l', 'o', 'n', 'g', '-', 'a', 'o', '.', 'n', 'e', 't', '\0',
@@ -2835,17 +2842,16 @@ static const char kSTSHostTable[] = {
   /* "choiralberta.ca", true */ 'c', 'h', 'o', 'i', 'r', 'a', 'l', 'b', 'e', 'r', 't', 'a', '.', 'c', 'a', '\0',
   /* "chokladfantasi.net", true */ 'c', 'h', 'o', 'k', 'l', 'a', 'd', 'f', 'a', 'n', 't', 'a', 's', 'i', '.', 'n', 'e', 't', '\0',
   /* "chonghe.org", true */ 'c', 'h', 'o', 'n', 'g', 'h', 'e', '.', 'o', 'r', 'g', '\0',
   /* "choosemypc.net", true */ 'c', 'h', 'o', 'o', 's', 'e', 'm', 'y', 'p', 'c', '.', 'n', 'e', 't', '\0',
   /* "chopperforums.com", true */ 'c', 'h', 'o', 'p', 'p', 'e', 'r', 'f', 'o', 'r', 'u', 'm', 's', '.', 'c', 'o', 'm', '\0',
   /* "chorkley.co.uk", true */ 'c', 'h', 'o', 'r', 'k', 'l', 'e', 'y', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "chorkley.uk", true */ 'c', 'h', 'o', 'r', 'k', 'l', 'e', 'y', '.', 'u', 'k', '\0',
   /* "chorpinkpoemps.de", true */ 'c', 'h', 'o', 'r', 'p', 'i', 'n', 'k', 'p', 'o', 'e', 'm', 'p', 's', '.', 'd', 'e', '\0',
-  /* "chosenplaintext.org", true */ 'c', 'h', 'o', 's', 'e', 'n', 'p', 'l', 'a', 'i', 'n', 't', 'e', 'x', 't', '.', 'o', 'r', 'g', '\0',
   /* "chourishi-shigoto.com", true */ 'c', 'h', 'o', 'u', 'r', 'i', 's', 'h', 'i', '-', 's', 'h', 'i', 'g', 'o', 't', 'o', '.', 'c', 'o', 'm', '\0',
   /* "chris-edwards.net", true */ 'c', 'h', 'r', 'i', 's', '-', 'e', 'd', 'w', 'a', 'r', 'd', 's', '.', 'n', 'e', 't', '\0',
   /* "chrisb.me", true */ 'c', 'h', 'r', 'i', 's', 'b', '.', 'm', 'e', '\0',
   /* "chrisb.xyz", true */ 'c', 'h', 'r', 'i', 's', 'b', '.', 'x', 'y', 'z', '\0',
   /* "chrisbrown.id.au", true */ 'c', 'h', 'r', 'i', 's', 'b', 'r', 'o', 'w', 'n', '.', 'i', 'd', '.', 'a', 'u', '\0',
   /* "chriscarey.com", true */ 'c', 'h', 'r', 'i', 's', 'c', 'a', 'r', 'e', 'y', '.', 'c', 'o', 'm', '\0',
   /* "chrisdecairos.ca", true */ 'c', 'h', 'r', 'i', 's', 'd', 'e', 'c', 'a', 'i', 'r', 'o', 's', '.', 'c', 'a', '\0',
   /* "chrisebert.net", true */ 'c', 'h', 'r', 'i', 's', 'e', 'b', 'e', 'r', 't', '.', 'n', 'e', 't', '\0',
@@ -2977,17 +2983,16 @@ static const char kSTSHostTable[] = {
   /* "cleververmarkten.com", true */ 'c', 'l', 'e', 'v', 'e', 'r', 'v', 'e', 'r', 'm', 'a', 'r', 'k', 't', 'e', 'n', '.', 'c', 'o', 'm', '\0',
   /* "cleververmarkten.de", true */ 'c', 'l', 'e', 'v', 'e', 'r', 'v', 'e', 'r', 'm', 'a', 'r', 'k', 't', 'e', 'n', '.', 'd', 'e', '\0',
   /* "clevisto.com", true */ 'c', 'l', 'e', 'v', 'i', 's', 't', 'o', '.', 'c', 'o', 'm', '\0',
   /* "clic-music.com", true */ 'c', 'l', 'i', 'c', '-', 'm', 'u', 's', 'i', 'c', '.', 'c', 'o', 'm', '\0',
   /* "clickclickphish.com", true */ 'c', 'l', 'i', 'c', 'k', 'c', 'l', 'i', 'c', 'k', 'p', 'h', 'i', 's', 'h', '.', 'c', 'o', 'm', '\0',
   /* "clickclock.cc", true */ 'c', 'l', 'i', 'c', 'k', 'c', 'l', 'o', 'c', 'k', '.', 'c', 'c', '\0',
   /* "clickenergy.com.au", true */ 'c', 'l', 'i', 'c', 'k', 'e', 'n', 'e', 'r', 'g', 'y', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "clickforclever.com", true */ 'c', 'l', 'i', 'c', 'k', 'f', 'o', 'r', 'c', 'l', 'e', 'v', 'e', 'r', '.', 'c', 'o', 'm', '\0',
-  /* "clickgram.biz", true */ 'c', 'l', 'i', 'c', 'k', 'g', 'r', 'a', 'm', '.', 'b', 'i', 'z', '\0',
   /* "clickphish.com", true */ 'c', 'l', 'i', 'c', 'k', 'p', 'h', 'i', 's', 'h', '.', 'c', 'o', 'm', '\0',
   /* "clicks.co.za", true */ 'c', 'l', 'i', 'c', 'k', 's', '.', 'c', 'o', '.', 'z', 'a', '\0',
   /* "clicnbio.com", true */ 'c', 'l', 'i', 'c', 'n', 'b', 'i', 'o', '.', 'c', 'o', 'm', '\0',
   /* "clientboss.com", true */ 'c', 'l', 'i', 'e', 'n', 't', 'b', 'o', 's', 's', '.', 'c', 'o', 'm', '\0',
   /* "clifflu.net", true */ 'c', 'l', 'i', 'f', 'f', 'l', 'u', '.', 'n', 'e', 't', '\0',
   /* "climaprecio.es", true */ 'c', 'l', 'i', 'm', 'a', 'p', 'r', 'e', 'c', 'i', 'o', '.', 'e', 's', '\0',
   /* "climateinteractive.org", true */ 'c', 'l', 'i', 'm', 'a', 't', 'e', 'i', 'n', 't', 'e', 'r', 'a', 'c', 't', 'i', 'v', 'e', '.', 'o', 'r', 'g', '\0',
   /* "climatestew.com", true */ 'c', 'l', 'i', 'm', 'a', 't', 'e', 's', 't', 'e', 'w', '.', 'c', 'o', 'm', '\0',
@@ -3017,16 +3022,17 @@ static const char kSTSHostTable[] = {
   /* "cloudapps.digital", true */ 'c', 'l', 'o', 'u', 'd', 'a', 'p', 'p', 's', '.', 'd', 'i', 'g', 'i', 't', 'a', 'l', '\0',
   /* "cloudbased.info", true */ 'c', 'l', 'o', 'u', 'd', 'b', 'a', 's', 'e', 'd', '.', 'i', 'n', 'f', 'o', '\0',
   /* "cloudbasedsite.com", true */ 'c', 'l', 'o', 'u', 'd', 'b', 'a', 's', 'e', 'd', 's', 'i', 't', 'e', '.', 'c', 'o', 'm', '\0',
   /* "cloudbleed.info", true */ 'c', 'l', 'o', 'u', 'd', 'b', 'l', 'e', 'e', 'd', '.', 'i', 'n', 'f', 'o', '\0',
   /* "cloudbolin.es", true */ 'c', 'l', 'o', 'u', 'd', 'b', 'o', 'l', 'i', 'n', '.', 'e', 's', '\0',
   /* "cloudcaprice.net", true */ 'c', 'l', 'o', 'u', 'd', 'c', 'a', 'p', 'r', 'i', 'c', 'e', '.', 'n', 'e', 't', '\0',
   /* "cloudflareonazure.com", true */ 'c', 'l', 'o', 'u', 'd', 'f', 'l', 'a', 'r', 'e', 'o', 'n', 'a', 'z', 'u', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "cloudia.org", true */ 'c', 'l', 'o', 'u', 'd', 'i', 'a', '.', 'o', 'r', 'g', '\0',
+  /* "cloudily.com", true */ 'c', 'l', 'o', 'u', 'd', 'i', 'l', 'y', '.', 'c', 'o', 'm', '\0',
   /* "cloudmigrator365.com", true */ 'c', 'l', 'o', 'u', 'd', 'm', 'i', 'g', 'r', 'a', 't', 'o', 'r', '3', '6', '5', '.', 'c', 'o', 'm', '\0',
   /* "cloudoptimizedsmb.com", true */ 'c', 'l', 'o', 'u', 'd', 'o', 'p', 't', 'i', 'm', 'i', 'z', 'e', 'd', 's', 'm', 'b', '.', 'c', 'o', 'm', '\0',
   /* "cloudoptimus.com", true */ 'c', 'l', 'o', 'u', 'd', 'o', 'p', 't', 'i', 'm', 'u', 's', '.', 'c', 'o', 'm', '\0',
   /* "cloudpagesforwork.com", true */ 'c', 'l', 'o', 'u', 'd', 'p', 'a', 'g', 'e', 's', 'f', 'o', 'r', 'w', 'o', 'r', 'k', '.', 'c', 'o', 'm', '\0',
   /* "cloudpebble.net", true */ 'c', 'l', 'o', 'u', 'd', 'p', 'e', 'b', 'b', 'l', 'e', '.', 'n', 'e', 't', '\0',
   /* "cloudpipes.com", true */ 'c', 'l', 'o', 'u', 'd', 'p', 'i', 'p', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "clouds.webcam", true */ 'c', 'l', 'o', 'u', 'd', 's', '.', 'w', 'e', 'b', 'c', 'a', 'm', '\0',
   /* "cloudsecurityalliance.org", true */ 'c', 'l', 'o', 'u', 'd', 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', 'a', 'l', 'l', 'i', 'a', 'n', 'c', 'e', '.', 'o', 'r', 'g', '\0',
@@ -3171,16 +3177,17 @@ static const char kSTSHostTable[] = {
   /* "coloraid.net", true */ 'c', 'o', 'l', 'o', 'r', 'a', 'i', 'd', '.', 'n', 'e', 't', '\0',
   /* "colorbrush.ru", true */ 'c', 'o', 'l', 'o', 'r', 'b', 'r', 'u', 's', 'h', '.', 'r', 'u', '\0',
   /* "colorcodedlyrics.com", true */ 'c', 'o', 'l', 'o', 'r', 'c', 'o', 'd', 'e', 'd', 'l', 'y', 'r', 'i', 'c', 's', '.', 'c', 'o', 'm', '\0',
   /* "coloringnotebook.com", true */ 'c', 'o', 'l', 'o', 'r', 'i', 'n', 'g', 'n', 'o', 't', 'e', 'b', 'o', 'o', 'k', '.', 'c', 'o', 'm', '\0',
   /* "com.cc", true */ 'c', 'o', 'm', '.', 'c', 'c', '\0',
   /* "comalia.com", true */ 'c', 'o', 'm', 'a', 'l', 'i', 'a', '.', 'c', 'o', 'm', '\0',
   /* "comarkinstruments.net", true */ 'c', 'o', 'm', 'a', 'r', 'k', 'i', 'n', 's', 't', 'r', 'u', 'm', 'e', 'n', 't', 's', '.', 'n', 'e', 't', '\0',
   /* "combatshield.cz", true */ 'c', 'o', 'm', 'b', 'a', 't', 's', 'h', 'i', 'e', 'l', 'd', '.', 'c', 'z', '\0',
+  /* "combron.nl", true */ 'c', 'o', 'm', 'b', 'r', 'o', 'n', '.', 'n', 'l', '\0',
   /* "comchezmeme.com", true */ 'c', 'o', 'm', 'c', 'h', 'e', 'z', 'm', 'e', 'm', 'e', '.', 'c', 'o', 'm', '\0',
   /* "comdotgame.com", true */ 'c', 'o', 'm', 'd', 'o', 't', 'g', 'a', 'm', 'e', '.', 'c', 'o', 'm', '\0',
   /* "comdurav.com", true */ 'c', 'o', 'm', 'd', 'u', 'r', 'a', 'v', '.', 'c', 'o', 'm', '\0',
   /* "comercialtrading.eu", true */ 'c', 'o', 'm', 'e', 'r', 'c', 'i', 'a', 'l', 't', 'r', 'a', 'd', 'i', 'n', 'g', '.', 'e', 'u', '\0',
   /* "comerford.net", true */ 'c', 'o', 'm', 'e', 'r', 'f', 'o', 'r', 'd', '.', 'n', 'e', 't', '\0',
   /* "cometcache.com", true */ 'c', 'o', 'm', 'e', 't', 'c', 'a', 'c', 'h', 'e', '.', 'c', 'o', 'm', '\0',
   /* "comff.net", true */ 'c', 'o', 'm', 'f', 'f', '.', 'n', 'e', 't', '\0',
   /* "comfintouch.com", true */ 'c', 'o', 'm', 'f', 'i', 'n', 't', 'o', 'u', 'c', 'h', '.', 'c', 'o', 'm', '\0',
@@ -3219,17 +3226,16 @@ static const char kSTSHostTable[] = {
   /* "compliancedictionary.com", true */ 'c', 'o', 'm', 'p', 'l', 'i', 'a', 'n', 'c', 'e', 'd', 'i', 'c', 't', 'i', 'o', 'n', 'a', 'r', 'y', '.', 'c', 'o', 'm', '\0',
   /* "complymd.com", true */ 'c', 'o', 'm', 'p', 'l', 'y', 'm', 'd', '.', 'c', 'o', 'm', '\0',
   /* "compsmag.com", true */ 'c', 'o', 'm', 'p', 's', 'm', 'a', 'g', '.', 'c', 'o', 'm', '\0',
   /* "compucorner.mx", true */ 'c', 'o', 'm', 'p', 'u', 'c', 'o', 'r', 'n', 'e', 'r', '.', 'm', 'x', '\0',
   /* "computer-acquisti.com", true */ 'c', 'o', 'm', 'p', 'u', 't', 'e', 'r', '-', 'a', 'c', 'q', 'u', 'i', 's', 't', 'i', '.', 'c', 'o', 'm', '\0',
   /* "computerbase.de", true */ 'c', 'o', 'm', 'p', 'u', 't', 'e', 'r', 'b', 'a', 's', 'e', '.', 'd', 'e', '\0',
   /* "computerhilfe-feucht.de", true */ 'c', 'o', 'm', 'p', 'u', 't', 'e', 'r', 'h', 'i', 'l', 'f', 'e', '-', 'f', 'e', 'u', 'c', 'h', 't', '.', 'd', 'e', '\0',
   /* "computerslotopschool.nl", true */ 'c', 'o', 'm', 'p', 'u', 't', 'e', 'r', 's', 'l', 'o', 't', 'o', 'p', 's', 'c', 'h', 'o', 'o', 'l', '.', 'n', 'l', '\0',
-  /* "comssa.org.au", true */ 'c', 'o', 'm', 's', 's', 'a', '.', 'o', 'r', 'g', '.', 'a', 'u', '\0',
   /* "concentrade.de", true */ 'c', 'o', 'n', 'c', 'e', 'n', 't', 'r', 'a', 'd', 'e', '.', 'd', 'e', '\0',
   /* "concerto.amsterdam", true */ 'c', 'o', 'n', 'c', 'e', 'r', 't', 'o', '.', 'a', 'm', 's', 't', 'e', 'r', 'd', 'a', 'm', '\0',
   /* "conclave.global", true */ 'c', 'o', 'n', 'c', 'l', 'a', 'v', 'e', '.', 'g', 'l', 'o', 'b', 'a', 'l', '\0',
   /* "concretehermit.com", true */ 'c', 'o', 'n', 'c', 'r', 'e', 't', 'e', 'h', 'e', 'r', 'm', 'i', 't', '.', 'c', 'o', 'm', '\0',
   /* "condepenalba.com", true */ 'c', 'o', 'n', 'd', 'e', 'p', 'e', 'n', 'a', 'l', 'b', 'a', '.', 'c', 'o', 'm', '\0',
   /* "condesaelectronics.com", true */ 'c', 'o', 'n', 'd', 'e', 's', 'a', 'e', 'l', 'e', 'c', 't', 'r', 'o', 'n', 'i', 'c', 's', '.', 'c', 'o', 'm', '\0',
   /* "condosforcash.com", true */ 'c', 'o', 'n', 'd', 'o', 's', 'f', 'o', 'r', 'c', 'a', 's', 'h', '.', 'c', 'o', 'm', '\0',
   /* "confiancefoundation.org", true */ 'c', 'o', 'n', 'f', 'i', 'a', 'n', 'c', 'e', 'f', 'o', 'u', 'n', 'd', 'a', 't', 'i', 'o', 'n', '.', 'o', 'r', 'g', '\0',
@@ -3432,16 +3438,17 @@ static const char kSTSHostTable[] = {
   /* "crockett.io", true */ 'c', 'r', 'o', 'c', 'k', 'e', 't', 't', '.', 'i', 'o', '\0',
   /* "croome.no-ip.org", true */ 'c', 'r', 'o', 'o', 'm', 'e', '.', 'n', 'o', '-', 'i', 'p', '.', 'o', 'r', 'g', '\0',
   /* "crosbug.com", true */ 'c', 'r', 'o', 's', 'b', 'u', 'g', '.', 'c', 'o', 'm', '\0',
   /* "cross-view.com", true */ 'c', 'r', 'o', 's', 's', '-', 'v', 'i', 'e', 'w', '.', 'c', 'o', 'm', '\0',
   /* "cross-x.com", true */ 'c', 'r', 'o', 's', 's', '-', 'x', '.', 'c', 'o', 'm', '\0',
   /* "crossborderreturns.com", true */ 'c', 'r', 'o', 's', 's', 'b', 'o', 'r', 'd', 'e', 'r', 'r', 'e', 't', 'u', 'r', 'n', 's', '.', 'c', 'o', 'm', '\0',
   /* "crossfitblackwater.com", true */ 'c', 'r', 'o', 's', 's', 'f', 'i', 't', 'b', 'l', 'a', 'c', 'k', 'w', 'a', 't', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "crosssellguide.com", true */ 'c', 'r', 'o', 's', 's', 's', 'e', 'l', 'l', 'g', 'u', 'i', 'd', 'e', '.', 'c', 'o', 'm', '\0',
+  /* "crow.tw", true */ 'c', 'r', 'o', 'w', '.', 't', 'w', '\0',
   /* "crowdsupply.com", true */ 'c', 'r', 'o', 'w', 'd', 's', 'u', 'p', 'p', 'l', 'y', '.', 'c', 'o', 'm', '\0',
   /* "crownruler.com", true */ 'c', 'r', 'o', 'w', 'n', 'r', 'u', 'l', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "croydonapartments.com.au", true */ 'c', 'r', 'o', 'y', 'd', 'o', 'n', 'a', 'p', 'a', 'r', 't', 'm', 'e', 'n', 't', 's', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "crrev.com", true */ 'c', 'r', 'r', 'e', 'v', '.', 'c', 'o', 'm', '\0',
   /* "crstat.ru", true */ 'c', 'r', 's', 't', 'a', 't', '.', 'r', 'u', '\0',
   /* "crt.sh", true */ 'c', 'r', 't', '.', 's', 'h', '\0',
   /* "crumbcontrol.com", true */ 'c', 'r', 'u', 'm', 'b', 'c', 'o', 'n', 't', 'r', 'o', 'l', '.', 'c', 'o', 'm', '\0',
   /* "crushroom.com", true */ 'c', 'r', 'u', 's', 'h', 'r', 'o', 'o', 'm', '.', 'c', 'o', 'm', '\0',
@@ -3481,16 +3488,17 @@ static const char kSTSHostTable[] = {
   /* "csfm.com", true */ 'c', 's', 'f', 'm', '.', 'c', 'o', 'm', '\0',
   /* "csgo.help", true */ 'c', 's', 'g', 'o', '.', 'h', 'e', 'l', 'p', '\0',
   /* "csgoelemental.com", true */ 'c', 's', 'g', 'o', 'e', 'l', 'e', 'm', 'e', 'n', 't', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "csgogamers.com", true */ 'c', 's', 'g', 'o', 'g', 'a', 'm', 'e', 'r', 's', '.', 'c', 'o', 'm', '\0',
   /* "csgohandouts.com", true */ 'c', 's', 'g', 'o', 'h', 'a', 'n', 'd', 'o', 'u', 't', 's', '.', 'c', 'o', 'm', '\0',
   /* "csgoshifter.com", true */ 'c', 's', 'g', 'o', 's', 'h', 'i', 'f', 't', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "csgotwister.com", true */ 'c', 's', 'g', 'o', 't', 'w', 'i', 's', 't', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "cshopify.com", true */ 'c', 's', 'h', 'o', 'p', 'i', 'f', 'y', '.', 'c', 'o', 'm', '\0',
+  /* "csmainframe.com", true */ 'c', 's', 'm', 'a', 'i', 'n', 'f', 'r', 'a', 'm', 'e', '.', 'c', 'o', 'm', '\0',
   /* "csokolade.hu", true */ 'c', 's', 'o', 'k', 'o', 'l', 'a', 'd', 'e', '.', 'h', 'u', '\0',
   /* "csp.ch", true */ 'c', 's', 'p', '.', 'c', 'h', '\0',
   /* "cspvalidator.org", true */ 'c', 's', 'p', 'v', 'a', 'l', 'i', 'd', 'a', 't', 'o', 'r', '.', 'o', 'r', 'g', '\0',
   /* "csru.net", true */ 'c', 's', 'r', 'u', '.', 'n', 'e', 't', '\0',
   /* "css.net", true */ 'c', 's', 's', '.', 'n', 'e', 't', '\0',
   /* "cssaunion.com", true */ 'c', 's', 's', 'a', 'u', 'n', 'i', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "cssu.in", true */ 'c', 's', 's', 'u', '.', 'i', 'n', '\0',
   /* "cstkit.com", false */ 'c', 's', 't', 'k', 'i', 't', '.', 'c', 'o', 'm', '\0',
@@ -3841,16 +3849,17 @@ static const char kSTSHostTable[] = {
   /* "de-servers.de", true */ 'd', 'e', '-', 's', 'e', 'r', 'v', 'e', 'r', 's', '.', 'd', 'e', '\0',
   /* "de-spil.be", true */ 'd', 'e', '-', 's', 'p', 'i', 'l', '.', 'b', 'e', '\0',
   /* "de.search.yahoo.com", false */ 'd', 'e', '.', 's', 'e', 'a', 'r', 'c', 'h', '.', 'y', 'a', 'h', 'o', 'o', '.', 'c', 'o', 'm', '\0',
   /* "deadbeef.ninja", true */ 'd', 'e', 'a', 'd', 'b', 'e', 'e', 'f', '.', 'n', 'i', 'n', 'j', 'a', '\0',
   /* "deadmann.com", true */ 'd', 'e', 'a', 'd', 'm', 'a', 'n', 'n', '.', 'c', 'o', 'm', '\0',
   /* "deadsoul.net", true */ 'd', 'e', 'a', 'd', 's', 'o', 'u', 'l', '.', 'n', 'e', 't', '\0',
   /* "deaf.dating", true */ 'd', 'e', 'a', 'f', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0',
   /* "deaf.eu.org", true */ 'd', 'e', 'a', 'f', '.', 'e', 'u', '.', 'o', 'r', 'g', '\0',
+  /* "deaktualisierung.org", true */ 'd', 'e', 'a', 'k', 't', 'u', 'a', 'l', 'i', 's', 'i', 'e', 'r', 'u', 'n', 'g', '.', 'o', 'r', 'g', '\0',
   /* "dealbanana.at", true */ 'd', 'e', 'a', 'l', 'b', 'a', 'n', 'a', 'n', 'a', '.', 'a', 't', '\0',
   /* "dealbanana.be", true */ 'd', 'e', 'a', 'l', 'b', 'a', 'n', 'a', 'n', 'a', '.', 'b', 'e', '\0',
   /* "dealbanana.co.uk", true */ 'd', 'e', 'a', 'l', 'b', 'a', 'n', 'a', 'n', 'a', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "dealbanana.com", true */ 'd', 'e', 'a', 'l', 'b', 'a', 'n', 'a', 'n', 'a', '.', 'c', 'o', 'm', '\0',
   /* "dealbanana.de", true */ 'd', 'e', 'a', 'l', 'b', 'a', 'n', 'a', 'n', 'a', '.', 'd', 'e', '\0',
   /* "dealbanana.fi", true */ 'd', 'e', 'a', 'l', 'b', 'a', 'n', 'a', 'n', 'a', '.', 'f', 'i', '\0',
   /* "dealbanana.fr", true */ 'd', 'e', 'a', 'l', 'b', 'a', 'n', 'a', 'n', 'a', '.', 'f', 'r', '\0',
   /* "dealbanana.it", true */ 'd', 'e', 'a', 'l', 'b', 'a', 'n', 'a', 'n', 'a', '.', 'i', 't', '\0',
@@ -4146,16 +4155,17 @@ static const char kSTSHostTable[] = {
   /* "dijkmanmuziek.nl", false */ 'd', 'i', 'j', 'k', 'm', 'a', 'n', 'm', 'u', 'z', 'i', 'e', 'k', '.', 'n', 'l', '\0',
   /* "dijkmanvandoorn.nl", true */ 'd', 'i', 'j', 'k', 'm', 'a', 'n', 'v', 'a', 'n', 'd', 'o', 'o', 'r', 'n', '.', 'n', 'l', '\0',
   /* "diju.ch", true */ 'd', 'i', 'j', 'u', '.', 'c', 'h', '\0',
   /* "dillonkorman.com", true */ 'd', 'i', 'l', 'l', 'o', 'n', 'k', 'o', 'r', 'm', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "dimanss47.net", true */ 'd', 'i', 'm', 'a', 'n', 's', 's', '4', '7', '.', 'n', 'e', 't', '\0',
   /* "dime-staging.com", true */ 'd', 'i', 'm', 'e', '-', 's', 't', 'a', 'g', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "dime.io", true */ 'd', 'i', 'm', 'e', '.', 'i', 'o', '\0',
   /* "dimonb.com", true */ 'd', 'i', 'm', 'o', 'n', 'b', '.', 'c', 'o', 'm', '\0',
+  /* "dinepont.fr", true */ 'd', 'i', 'n', 'e', 'p', 'o', 'n', 't', '.', 'f', 'r', '\0',
   /* "dingcc.com", true */ 'd', 'i', 'n', 'g', 'c', 'c', '.', 'c', 'o', 'm', '\0',
   /* "dinge.xyz", true */ 'd', 'i', 'n', 'g', 'e', '.', 'x', 'y', 'z', '\0',
   /* "dingss.com", true */ 'd', 'i', 'n', 'g', 's', 's', '.', 'c', 'o', 'm', '\0',
   /* "dinmtb.dk", true */ 'd', 'i', 'n', 'm', 't', 'b', '.', 'd', 'k', '\0',
   /* "dinotv.at", true */ 'd', 'i', 'n', 'o', 't', 'v', '.', 'a', 't', '\0',
   /* "dintillat.fr", true */ 'd', 'i', 'n', 't', 'i', 'l', 'l', 'a', 't', '.', 'f', 'r', '\0',
   /* "dintrafic.net", true */ 'd', 'i', 'n', 't', 'r', 'a', 'f', 'i', 'c', '.', 'n', 'e', 't', '\0',
   /* "dinube.com", true */ 'd', 'i', 'n', 'u', 'b', 'e', '.', 'c', 'o', 'm', '\0',
@@ -4220,17 +4230,16 @@ static const char kSTSHostTable[] = {
   /* "djlnetworks.co.uk", true */ 'd', 'j', 'l', 'n', 'e', 't', 'w', 'o', 'r', 'k', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "djul.net", true */ 'd', 'j', 'u', 'l', '.', 'n', 'e', 't', '\0',
   /* "dk.search.yahoo.com", false */ 'd', 'k', '.', 's', 'e', 'a', 'r', 'c', 'h', '.', 'y', 'a', 'h', 'o', 'o', '.', 'c', 'o', 'm', '\0',
   /* "dkds.us", true */ 'd', 'k', 'd', 's', '.', 'u', 's', '\0',
   /* "dl.google.com", true */ 'd', 'l', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "dlaspania.pl", true */ 'd', 'l', 'a', 's', 'p', 'a', 'n', 'i', 'a', '.', 'p', 'l', '\0',
   /* "dldl.fr", true */ 'd', 'l', 'd', 'l', '.', 'f', 'r', '\0',
   /* "dlg.im", true */ 'd', 'l', 'g', '.', 'i', 'm', '\0',
-  /* "dlitz.net", true */ 'd', 'l', 'i', 't', 'z', '.', 'n', 'e', 't', '\0',
   /* "dlld.com", true */ 'd', 'l', 'l', 'd', '.', 'c', 'o', 'm', '\0',
   /* "dlouwrink.nl", true */ 'd', 'l', 'o', 'u', 'w', 'r', 'i', 'n', 'k', '.', 'n', 'l', '\0',
   /* "dlzz.net", true */ 'd', 'l', 'z', 'z', '.', 'n', 'e', 't', '\0',
   /* "dm.lookout.com", false */ 'd', 'm', '.', 'l', 'o', 'o', 'k', 'o', 'u', 't', '.', 'c', 'o', 'm', '\0',
   /* "dm7ds.de", true */ 'd', 'm', '7', 'd', 's', '.', 'd', 'e', '\0',
   /* "dmarc.dk", false */ 'd', 'm', 'a', 'r', 'c', '.', 'd', 'k', '\0',
   /* "dmeevalumate.com", true */ 'd', 'm', 'e', 'e', 'v', 'a', 'l', 'u', 'm', 'a', 't', 'e', '.', 'c', 'o', 'm', '\0',
   /* "dmfd.net", true */ 'd', 'm', 'f', 'd', '.', 'n', 'e', 't', '\0',
@@ -4345,16 +4354,17 @@ static const char kSTSHostTable[] = {
   /* "dopply.com", true */ 'd', 'o', 'p', 'p', 'l', 'y', '.', 'c', 'o', 'm', '\0',
   /* "dopravni-modely.cz", true */ 'd', 'o', 'p', 'r', 'a', 'v', 'n', 'i', '-', 'm', 'o', 'd', 'e', 'l', 'y', '.', 'c', 'z', '\0',
   /* "dorfbaeck.at", true */ 'd', 'o', 'r', 'f', 'b', 'a', 'e', 'c', 'k', '.', 'a', 't', '\0',
   /* "dorianharmans.nl", true */ 'd', 'o', 'r', 'i', 'a', 'n', 'h', 'a', 'r', 'm', 'a', 'n', 's', '.', 'n', 'l', '\0',
   /* "dorianmuthig.com", true */ 'd', 'o', 'r', 'i', 'a', 'n', 'm', 'u', 't', 'h', 'i', 'g', '.', 'c', 'o', 'm', '\0',
   /* "dormiu.com", true */ 'd', 'o', 'r', 'm', 'i', 'u', '.', 'c', 'o', 'm', '\0',
   /* "dormiu.com.br", true */ 'd', 'o', 'r', 'm', 'i', 'u', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "doska.by", true */ 'd', 'o', 's', 'k', 'a', '.', 'b', 'y', '\0',
+  /* "dossplumbing.co.za", true */ 'd', 'o', 's', 's', 'p', 'l', 'u', 'm', 'b', 'i', 'n', 'g', '.', 'c', 'o', '.', 'z', 'a', '\0',
   /* "dot.ro", true */ 'd', 'o', 't', '.', 'r', 'o', '\0',
   /* "dotbigbang.com", true */ 'd', 'o', 't', 'b', 'i', 'g', 'b', 'a', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "dotbox.org", true */ 'd', 'o', 't', 'b', 'o', 'x', '.', 'o', 'r', 'g', '\0',
   /* "dothebangthingsalon.com", true */ 'd', 'o', 't', 'h', 'e', 'b', 'a', 'n', 'g', 't', 'h', 'i', 'n', 'g', 's', 'a', 'l', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "dotkod.com", true */ 'd', 'o', 't', 'k', 'o', 'd', '.', 'c', 'o', 'm', '\0',
   /* "dotkod.pl", true */ 'd', 'o', 't', 'k', 'o', 'd', '.', 'p', 'l', '\0',
   /* "dotphoto.com", true */ 'd', 'o', 't', 'p', 'h', 'o', 't', 'o', '.', 'c', 'o', 'm', '\0',
   /* "dotplex.com", true */ 'd', 'o', 't', 'p', 'l', 'e', 'x', '.', 'c', 'o', 'm', '\0',
@@ -4510,17 +4520,16 @@ static const char kSTSHostTable[] = {
   /* "duoluodeyu.com", true */ 'd', 'u', 'o', 'l', 'u', 'o', 'd', 'e', 'y', 'u', '.', 'c', 'o', 'm', '\0',
   /* "dupree.co", true */ 'd', 'u', 'p', 'r', 'e', 'e', '.', 'c', 'o', '\0',
   /* "durangoenergyllc.com", true */ 'd', 'u', 'r', 'a', 'n', 'g', 'o', 'e', 'n', 'e', 'r', 'g', 'y', 'l', 'l', 'c', '.', 'c', 'o', 'm', '\0',
   /* "duria.de", true */ 'd', 'u', 'r', 'i', 'a', '.', 'd', 'e', '\0',
   /* "durys.be", true */ 'd', 'u', 'r', 'y', 's', '.', 'b', 'e', '\0',
   /* "dustri.org", true */ 'd', 'u', 's', 't', 'r', 'i', '.', 'o', 'r', 'g', '\0',
   /* "dustygroove.com", true */ 'd', 'u', 's', 't', 'y', 'g', 'r', 'o', 'o', 'v', 'e', '.', 'c', 'o', 'm', '\0',
   /* "dutch1.nl", true */ 'd', 'u', 't', 'c', 'h', '1', '.', 'n', 'l', '\0',
-  /* "dutchessuganda.com", true */ 'd', 'u', 't', 'c', 'h', 'e', 's', 's', 'u', 'g', 'a', 'n', 'd', 'a', '.', 'c', 'o', 'm', '\0',
   /* "dutchrank.nl", true */ 'd', 'u', 't', 'c', 'h', 'r', 'a', 'n', 'k', '.', 'n', 'l', '\0',
   /* "dutchwanderers.nl", true */ 'd', 'u', 't', 'c', 'h', 'w', 'a', 'n', 'd', 'e', 'r', 'e', 'r', 's', '.', 'n', 'l', '\0',
   /* "dutchweballiance.nl", true */ 'd', 'u', 't', 'c', 'h', 'w', 'e', 'b', 'a', 'l', 'l', 'i', 'a', 'n', 'c', 'e', '.', 'n', 'l', '\0',
   /* "dutyfreeonboard.com", true */ 'd', 'u', 't', 'y', 'f', 'r', 'e', 'e', 'o', 'n', 'b', 'o', 'a', 'r', 'd', '.', 'c', 'o', 'm', '\0',
   /* "duuu.ch", true */ 'd', 'u', 'u', 'u', '.', 'c', 'h', '\0',
   /* "dvbris.co.uk", true */ 'd', 'v', 'b', 'r', 'i', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "dvbris.com", true */ 'd', 'v', 'b', 'r', 'i', 's', '.', 'c', 'o', 'm', '\0',
   /* "dvorupotocnych.sk", true */ 'd', 'v', 'o', 'r', 'u', 'p', 'o', 't', 'o', 'c', 'n', 'y', 'c', 'h', '.', 's', 'k', '\0',
@@ -4543,16 +4552,17 @@ static const char kSTSHostTable[] = {
   /* "dynamize.solutions", true */ 'd', 'y', 'n', 'a', 'm', 'i', 'z', 'e', '.', 's', 'o', 'l', 'u', 't', 'i', 'o', 'n', 's', '\0',
   /* "dyrenesverden.no", true */ 'd', 'y', 'r', 'e', 'n', 'e', 's', 'v', 'e', 'r', 'd', 'e', 'n', '.', 'n', 'o', '\0',
   /* "dyrkar.com", true */ 'd', 'y', 'r', 'k', 'a', 'r', '.', 'c', 'o', 'm', '\0',
   /* "dzeina.ch", true */ 'd', 'z', 'e', 'i', 'n', 'a', '.', 'c', 'h', '\0',
   /* "dziekonski.com", true */ 'd', 'z', 'i', 'e', 'k', 'o', 'n', 's', 'k', 'i', '.', 'c', 'o', 'm', '\0',
   /* "dzndk.com", true */ 'd', 'z', 'n', 'd', 'k', '.', 'c', 'o', 'm', '\0',
   /* "dzndk.net", true */ 'd', 'z', 'n', 'd', 'k', '.', 'n', 'e', 't', '\0',
   /* "dzyabchenko.com", true */ 'd', 'z', 'y', 'a', 'b', 'c', 'h', 'e', 'n', 'k', 'o', '.', 'c', 'o', 'm', '\0',
+  /* "e-isfa.eu", true */ 'e', '-', 'i', 's', 'f', 'a', '.', 'e', 'u', '\0',
   /* "e-kontakti.fi", true */ 'e', '-', 'k', 'o', 'n', 't', 'a', 'k', 't', 'i', '.', 'f', 'i', '\0',
   /* "e-learningbs.com", true */ 'e', '-', 'l', 'e', 'a', 'r', 'n', 'i', 'n', 'g', 'b', 's', '.', 'c', 'o', 'm', '\0',
   /* "e-lifetechnology.com", true */ 'e', '-', 'l', 'i', 'f', 'e', 't', 'e', 'c', 'h', 'n', 'o', 'l', 'o', 'g', 'y', '.', 'c', 'o', 'm', '\0',
   /* "e-mak.eu", true */ 'e', '-', 'm', 'a', 'k', '.', 'e', 'u', '\0',
   /* "e-standardstore.org", true */ 'e', '-', 's', 't', 'a', 'n', 'd', 'a', 'r', 'd', 's', 't', 'o', 'r', 'e', '.', 'o', 'r', 'g', '\0',
   /* "e-teacher.pl", true */ 'e', '-', 't', 'e', 'a', 'c', 'h', 'e', 'r', '.', 'p', 'l', '\0',
   /* "e-tmf.org", true */ 'e', '-', 't', 'm', 'f', '.', 'o', 'r', 'g', '\0',
   /* "e-tresor.at", true */ 'e', '-', 't', 'r', 'e', 's', 'o', 'r', '.', 'a', 't', '\0',
@@ -4793,16 +4803,17 @@ static const char kSTSHostTable[] = {
   /* "elena-baykova.ru", true */ 'e', 'l', 'e', 'n', 'a', '-', 'b', 'a', 'y', 'k', 'o', 'v', 'a', '.', 'r', 'u', '\0',
   /* "elenagherta.ga", true */ 'e', 'l', 'e', 'n', 'a', 'g', 'h', 'e', 'r', 't', 'a', '.', 'g', 'a', '\0',
   /* "elenorsmadness.org", true */ 'e', 'l', 'e', 'n', 'o', 'r', 's', 'm', 'a', 'd', 'n', 'e', 's', 's', '.', 'o', 'r', 'g', '\0',
   /* "elephpant.cz", true */ 'e', 'l', 'e', 'p', 'h', 'p', 'a', 'n', 't', '.', 'c', 'z', '\0',
   /* "elepover.com", true */ 'e', 'l', 'e', 'p', 'o', 'v', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "elglobo.com.mx", true */ 'e', 'l', 'g', 'l', 'o', 'b', 'o', '.', 'c', 'o', 'm', '.', 'm', 'x', '\0',
   /* "elgosblanc.com", true */ 'e', 'l', 'g', 'o', 's', 'b', 'l', 'a', 'n', 'c', '.', 'c', 'o', 'm', '\0',
   /* "elhall.pro", true */ 'e', 'l', 'h', 'a', 'l', 'l', '.', 'p', 'r', 'o', '\0',
+  /* "elhall.ru", true */ 'e', 'l', 'h', 'a', 'l', 'l', '.', 'r', 'u', '\0',
   /* "eligible.com", true */ 'e', 'l', 'i', 'g', 'i', 'b', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "eligibleapi.com", true */ 'e', 'l', 'i', 'g', 'i', 'b', 'l', 'e', 'a', 'p', 'i', '.', 'c', 'o', 'm', '\0',
   /* "eligrey.com", true */ 'e', 'l', 'i', 'g', 'r', 'e', 'y', '.', 'c', 'o', 'm', '\0',
   /* "eliolita.com", true */ 'e', 'l', 'i', 'o', 'l', 'i', 't', 'a', '.', 'c', 'o', 'm', '\0',
   /* "eliott.be", false */ 'e', 'l', 'i', 'o', 't', 't', '.', 'b', 'e', '\0',
   /* "elisa.ee", false */ 'e', 'l', 'i', 's', 'a', '.', 'e', 'e', '\0',
   /* "elisabeth-kostecki.de", true */ 'e', 'l', 'i', 's', 'a', 'b', 'e', 't', 'h', '-', 'k', 'o', 's', 't', 'e', 'c', 'k', 'i', '.', 'd', 'e', '\0',
   /* "elisabeth-strunz.de", true */ 'e', 'l', 'i', 's', 'a', 'b', 'e', 't', 'h', '-', 's', 't', 'r', 'u', 'n', 'z', '.', 'd', 'e', '\0',
@@ -4899,17 +4910,16 @@ static const char kSTSHostTable[] = {
   /* "energy.eu", true */ 'e', 'n', 'e', 'r', 'g', 'y', '.', 'e', 'u', '\0',
   /* "energyatlas.com", true */ 'e', 'n', 'e', 'r', 'g', 'y', 'a', 't', 'l', 'a', 's', '.', 'c', 'o', 'm', '\0',
   /* "energyaupair.se", true */ 'e', 'n', 'e', 'r', 'g', 'y', 'a', 'u', 'p', 'a', 'i', 'r', '.', 's', 'e', '\0',
   /* "energydrinkblog.de", true */ 'e', 'n', 'e', 'r', 'g', 'y', 'd', 'r', 'i', 'n', 'k', 'b', 'l', 'o', 'g', '.', 'd', 'e', '\0',
   /* "energyled.com.br", true */ 'e', 'n', 'e', 'r', 'g', 'y', 'l', 'e', 'd', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "enfoqueseguro.com", true */ 'e', 'n', 'f', 'o', 'q', 'u', 'e', 's', 'e', 'g', 'u', 'r', 'o', '.', 'c', 'o', 'm', '\0',
   /* "engaugetools.com", true */ 'e', 'n', 'g', 'a', 'u', 'g', 'e', 't', 'o', 'o', 'l', 's', '.', 'c', 'o', 'm', '\0',
   /* "engelundlicht.ch", true */ 'e', 'n', 'g', 'e', 'l', 'u', 'n', 'd', 'l', 'i', 'c', 'h', 't', '.', 'c', 'h', '\0',
-  /* "engg.ca", true */ 'e', 'n', 'g', 'g', '.', 'c', 'a', '\0',
   /* "engineeryourmarketing.com", false */ 'e', 'n', 'g', 'i', 'n', 'e', 'e', 'r', 'y', 'o', 'u', 'r', 'm', 'a', 'r', 'k', 'e', 't', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "engineowning.com", true */ 'e', 'n', 'g', 'i', 'n', 'e', 'o', 'w', 'n', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "enginepit.com", true */ 'e', 'n', 'g', 'i', 'n', 'e', 'p', 'i', 't', '.', 'c', 'o', 'm', '\0',
   /* "enginx.net", true */ 'e', 'n', 'g', 'i', 'n', 'x', '.', 'n', 'e', 't', '\0',
   /* "englerts.de", true */ 'e', 'n', 'g', 'l', 'e', 'r', 't', 's', '.', 'd', 'e', '\0',
   /* "englishbulgaria.net", true */ 'e', 'n', 'g', 'l', 'i', 's', 'h', 'b', 'u', 'l', 'g', 'a', 'r', 'i', 'a', '.', 'n', 'e', 't', '\0',
   /* "englishclub.com", true */ 'e', 'n', 'g', 'l', 'i', 's', 'h', 'c', 'l', 'u', 'b', '.', 'c', 'o', 'm', '\0',
   /* "englishforums.com", true */ 'e', 'n', 'g', 'l', 'i', 's', 'h', 'f', 'o', 'r', 'u', 'm', 's', '.', 'c', 'o', 'm', '\0',
@@ -4919,17 +4929,16 @@ static const char kSTSHostTable[] = {
   /* "enlightened.si", true */ 'e', 'n', 'l', 'i', 'g', 'h', 't', 'e', 'n', 'e', 'd', '.', 's', 'i', '\0',
   /* "enlightenedhr.com", true */ 'e', 'n', 'l', 'i', 'g', 'h', 't', 'e', 'n', 'e', 'd', 'h', 'r', '.', 'c', 'o', 'm', '\0',
   /* "enlightenment.org", true */ 'e', 'n', 'l', 'i', 'g', 'h', 't', 'e', 'n', 'm', 'e', 'n', 't', '.', 'o', 'r', 'g', '\0',
   /* "enloestatebank.com", true */ 'e', 'n', 'l', 'o', 'e', 's', 't', 'a', 't', 'e', 'b', 'a', 'n', 'k', '.', 'c', 'o', 'm', '\0',
   /* "ennori.jp", true */ 'e', 'n', 'n', 'o', 'r', 'i', '.', 'j', 'p', '\0',
   /* "enorekcah.com", true */ 'e', 'n', 'o', 'r', 'e', 'k', 'c', 'a', 'h', '.', 'c', 'o', 'm', '\0',
   /* "enot32.ru", true */ 'e', 'n', 'o', 't', '3', '2', '.', 'r', 'u', '\0',
   /* "enquos.com", true */ 'e', 'n', 'q', 'u', 'o', 's', '.', 'c', 'o', 'm', '\0',
-  /* "enriquepiraces.com", true */ 'e', 'n', 'r', 'i', 'q', 'u', 'e', 'p', 'i', 'r', 'a', 'c', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "enscosupply.com", true */ 'e', 'n', 's', 'c', 'o', 's', 'u', 'p', 'p', 'l', 'y', '.', 'c', 'o', 'm', '\0',
   /* "ensemble-rubato.de", true */ 'e', 'n', 's', 'e', 'm', 'b', 'l', 'e', '-', 'r', 'u', 'b', 'a', 't', 'o', '.', 'd', 'e', '\0',
   /* "ensons.de", true */ 'e', 'n', 's', 'o', 'n', 's', '.', 'd', 'e', '\0',
   /* "ensured.com", true */ 'e', 'n', 's', 'u', 'r', 'e', 'd', '.', 'c', 'o', 'm', '\0',
   /* "ensured.nl", true */ 'e', 'n', 's', 'u', 'r', 'e', 'd', '.', 'n', 'l', '\0',
   /* "entabe.jp", true */ 'e', 'n', 't', 'a', 'b', 'e', '.', 'j', 'p', '\0',
   /* "entactogens.com", true */ 'e', 'n', 't', 'a', 'c', 't', 'o', 'g', 'e', 'n', 's', '.', 'c', 'o', 'm', '\0',
   /* "enteente.com", true */ 'e', 'n', 't', 'e', 'e', 'n', 't', 'e', '.', 'c', 'o', 'm', '\0',
@@ -5070,16 +5079,17 @@ static const char kSTSHostTable[] = {
   /* "estebanborges.com", true */ 'e', 's', 't', 'e', 'b', 'a', 'n', 'b', 'o', 'r', 'g', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "estoic.net", true */ 'e', 's', 't', 'o', 'i', 'c', '.', 'n', 'e', 't', '\0',
   /* "estonoentraenelexamen.com", true */ 'e', 's', 't', 'o', 'n', 'o', 'e', 'n', 't', 'r', 'a', 'e', 'n', 'e', 'l', 'e', 'x', 'a', 'm', 'e', 'n', '.', 'c', 'o', 'm', '\0',
   /* "estrietoit.com", false */ 'e', 's', 't', 'r', 'i', 'e', 't', 'o', 'i', 't', '.', 'c', 'o', 'm', '\0',
   /* "et180.com", true */ 'e', 't', '1', '8', '0', '.', 'c', 'o', 'm', '\0',
   /* "etaes.eu", true */ 'e', 't', 'a', 'e', 's', '.', 'e', 'u', '\0',
   /* "etaoinwu.tk", true */ 'e', 't', 'a', 'o', 'i', 'n', 'w', 'u', '.', 't', 'k', '\0',
   /* "etath.com", true */ 'e', 't', 'a', 't', 'h', '.', 'c', 'o', 'm', '\0',
+  /* "etaxi.tn", true */ 'e', 't', 'a', 'x', 'i', '.', 't', 'n', '\0',
   /* "eteesheet.com", true */ 'e', 't', 'e', 'e', 's', 'h', 'e', 'e', 't', '.', 'c', 'o', 'm', '\0',
   /* "etelej.com", false */ 'e', 't', 'e', 'l', 'e', 'j', '.', 'c', 'o', 'm', '\0',
   /* "eth0.nl", true */ 'e', 't', 'h', '0', '.', 'n', 'l', '\0',
   /* "etha.nz", true */ 'e', 't', 'h', 'a', '.', 'n', 'z', '\0',
   /* "ethack.org", true */ 'e', 't', 'h', 'a', 'c', 'k', '.', 'o', 'r', 'g', '\0',
   /* "ethan.pm", true */ 'e', 't', 'h', 'a', 'n', '.', 'p', 'm', '\0',
   /* "ethanfaust.com", true */ 'e', 't', 'h', 'a', 'n', 'f', 'a', 'u', 's', 't', '.', 'c', 'o', 'm', '\0',
   /* "ethanlew.is", true */ 'e', 't', 'h', 'a', 'n', 'l', 'e', 'w', '.', 'i', 's', '\0',
@@ -5289,17 +5299,16 @@ static const char kSTSHostTable[] = {
   /* "factys.es", true */ 'f', 'a', 'c', 't', 'y', 's', '.', 'e', 's', '\0',
   /* "fadednet.com", true */ 'f', 'a', 'd', 'e', 'd', 'n', 'e', 't', '.', 'c', 'o', 'm', '\0',
   /* "faehler.de", true */ 'f', 'a', 'e', 'h', 'l', 'e', 'r', '.', 'd', 'e', '\0',
   /* "faeriecakes.be", true */ 'f', 'a', 'e', 'r', 'i', 'e', 'c', 'a', 'k', 'e', 's', '.', 'b', 'e', '\0',
   /* "fahrenwal.de", true */ 'f', 'a', 'h', 'r', 'e', 'n', 'w', 'a', 'l', '.', 'd', 'e', '\0',
   /* "fahrenwalde.de", true */ 'f', 'a', 'h', 'r', 'e', 'n', 'w', 'a', 'l', 'd', 'e', '.', 'd', 'e', '\0',
   /* "failproof.be", true */ 'f', 'a', 'i', 'l', 'p', 'r', 'o', 'o', 'f', '.', 'b', 'e', '\0',
   /* "fairbill.com", true */ 'f', 'a', 'i', 'r', 'b', 'i', 'l', 'l', '.', 'c', 'o', 'm', '\0',
-  /* "faircom.co.za", true */ 'f', 'a', 'i', 'r', 'c', 'o', 'm', '.', 'c', 'o', '.', 'z', 'a', '\0',
   /* "fairedeseconomies.info", true */ 'f', 'a', 'i', 'r', 'e', 'd', 'e', 's', 'e', 'c', 'o', 'n', 'o', 'm', 'i', 'e', 's', '.', 'i', 'n', 'f', 'o', '\0',
   /* "faithwatch.org", true */ 'f', 'a', 'i', 't', 'h', 'w', 'a', 't', 'c', 'h', '.', 'o', 'r', 'g', '\0',
   /* "fakturi.com", true */ 'f', 'a', 'k', 't', 'u', 'r', 'i', '.', 'c', 'o', 'm', '\0',
   /* "fakturoid.cz", true */ 'f', 'a', 'k', 't', 'u', 'r', 'o', 'i', 'd', '.', 'c', 'z', '\0',
   /* "falaowang.com", true */ 'f', 'a', 'l', 'a', 'o', 'w', 'a', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "falconvintners.com", true */ 'f', 'a', 'l', 'c', 'o', 'n', 'v', 'i', 'n', 't', 'n', 'e', 'r', 's', '.', 'c', 'o', 'm', '\0',
   /* "fallenangeldrinks.co.uk", true */ 'f', 'a', 'l', 'l', 'e', 'n', 'a', 'n', 'g', 'e', 'l', 'd', 'r', 'i', 'n', 'k', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "fallenangeldrinks.com", true */ 'f', 'a', 'l', 'l', 'e', 'n', 'a', 'n', 'g', 'e', 'l', 'd', 'r', 'i', 'n', 'k', 's', '.', 'c', 'o', 'm', '\0',
@@ -5467,16 +5476,17 @@ static const char kSTSHostTable[] = {
   /* "fidel.uk", true */ 'f', 'i', 'd', 'e', 'l', '.', 'u', 'k', '\0',
   /* "fidelapp.com", true */ 'f', 'i', 'd', 'e', 'l', 'a', 'p', 'p', '.', 'c', 'o', 'm', '\0',
   /* "fideleslaici.com", true */ 'f', 'i', 'd', 'e', 'l', 'e', 's', 'l', 'a', 'i', 'c', 'i', '.', 'c', 'o', 'm', '\0',
   /* "fidhouriet.ch", true */ 'f', 'i', 'd', 'h', 'o', 'u', 'r', 'i', 'e', 't', '.', 'c', 'h', '\0',
   /* "fieldclockapp.com", true */ 'f', 'i', 'e', 'l', 'd', 'c', 'l', 'o', 'c', 'k', 'a', 'p', 'p', '.', 'c', 'o', 'm', '\0',
   /* "fiendishmasterplan.com", true */ 'f', 'i', 'e', 'n', 'd', 'i', 's', 'h', 'm', 'a', 's', 't', 'e', 'r', 'p', 'l', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "fierlafijn.net", true */ 'f', 'i', 'e', 'r', 'l', 'a', 'f', 'i', 'j', 'n', '.', 'n', 'e', 't', '\0',
   /* "fierman.eu", false */ 'f', 'i', 'e', 'r', 'm', 'a', 'n', '.', 'e', 'u', '\0',
+  /* "fierman.net", false */ 'f', 'i', 'e', 'r', 'm', 'a', 'n', '.', 'n', 'e', 't', '\0',
   /* "fierman.us", false */ 'f', 'i', 'e', 'r', 'm', 'a', 'n', '.', 'u', 's', '\0',
   /* "fifieldtech.com", true */ 'f', 'i', 'f', 'i', 'e', 'l', 'd', 't', 'e', 'c', 'h', '.', 'c', 'o', 'm', '\0',
   /* "fight215.com", true */ 'f', 'i', 'g', 'h', 't', '2', '1', '5', '.', 'c', 'o', 'm', '\0',
   /* "fight215.org", true */ 'f', 'i', 'g', 'h', 't', '2', '1', '5', '.', 'o', 'r', 'g', '\0',
   /* "figurasdelinguagem.com.br", true */ 'f', 'i', 'g', 'u', 'r', 'a', 's', 'd', 'e', 'l', 'i', 'n', 'g', 'u', 'a', 'g', 'e', 'm', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "figuurzagers.nl", false */ 'f', 'i', 'g', 'u', 'u', 'r', 'z', 'a', 'g', 'e', 'r', 's', '.', 'n', 'l', '\0',
   /* "fiilr.com", true */ 'f', 'i', 'i', 'l', 'r', '.', 'c', 'o', 'm', '\0',
   /* "fiix.io", true */ 'f', 'i', 'i', 'x', '.', 'i', 'o', '\0',
@@ -5623,17 +5633,16 @@ static const char kSTSHostTable[] = {
   /* "floskelwolke.de", true */ 'f', 'l', 'o', 's', 'k', 'e', 'l', 'w', 'o', 'l', 'k', 'e', '.', 'd', 'e', '\0',
   /* "floth.at", true */ 'f', 'l', 'o', 't', 'h', '.', 'a', 't', '\0',
   /* "floweslawncare.com", true */ 'f', 'l', 'o', 'w', 'e', 's', 'l', 'a', 'w', 'n', 'c', 'a', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "flowreader.com", true */ 'f', 'l', 'o', 'w', 'r', 'e', 'a', 'd', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "flox.io", true */ 'f', 'l', 'o', 'x', '.', 'i', 'o', '\0',
   /* "flra.gov", true */ 'f', 'l', 'r', 'a', '.', 'g', 'o', 'v', '\0',
   /* "flucky.xyz", true */ 'f', 'l', 'u', 'c', 'k', 'y', '.', 'x', 'y', 'z', '\0',
   /* "fluffycloud.de", true */ 'f', 'l', 'u', 'f', 'f', 'y', 'c', 'l', 'o', 'u', 'd', '.', 'd', 'e', '\0',
-  /* "fluidojobs.com", true */ 'f', 'l', 'u', 'i', 'd', 'o', 'j', 'o', 'b', 's', '.', 'c', 'o', 'm', '\0',
   /* "flurrybridge.com", true */ 'f', 'l', 'u', 'r', 'r', 'y', 'b', 'r', 'i', 'd', 'g', 'e', '.', 'c', 'o', 'm', '\0',
   /* "fluxent.de", false */ 'f', 'l', 'u', 'x', 'e', 'n', 't', '.', 'd', 'e', '\0',
   /* "fluxfingers.net", true */ 'f', 'l', 'u', 'x', 'f', 'i', 'n', 'g', 'e', 'r', 's', '.', 'n', 'e', 't', '\0',
   /* "fluxforge.com", true */ 'f', 'l', 'u', 'x', 'f', 'o', 'r', 'g', 'e', '.', 'c', 'o', 'm', '\0',
   /* "fluxoid.com", true */ 'f', 'l', 'u', 'x', 'o', 'i', 'd', '.', 'c', 'o', 'm', '\0',
   /* "flw365365.com", true */ 'f', 'l', 'w', '3', '6', '5', '3', '6', '5', '.', 'c', 'o', 'm', '\0',
   /* "fly.moe", true */ 'f', 'l', 'y', '.', 'm', 'o', 'e', '\0',
   /* "flyawayantennas.com", true */ 'f', 'l', 'y', 'a', 'w', 'a', 'y', 'a', 'n', 't', 'e', 'n', 'n', 'a', 's', '.', 'c', 'o', 'm', '\0',
@@ -5695,17 +5704,16 @@ static const char kSTSHostTable[] = {
   /* "forellenpark.com", true */ 'f', 'o', 'r', 'e', 'l', 'l', 'e', 'n', 'p', 'a', 'r', 'k', '.', 'c', 'o', 'm', '\0',
   /* "forento.be", true */ 'f', 'o', 'r', 'e', 'n', 't', 'o', '.', 'b', 'e', '\0',
   /* "forestraven.net", true */ 'f', 'o', 'r', 'e', 's', 't', 'r', 'a', 'v', 'e', 'n', '.', 'n', 'e', 't', '\0',
   /* "forewordreviews.com", true */ 'f', 'o', 'r', 'e', 'w', 'o', 'r', 'd', 'r', 'e', 'v', 'i', 'e', 'w', 's', '.', 'c', 'o', 'm', '\0',
   /* "forex.ee", true */ 'f', 'o', 'r', 'e', 'x', '.', 'e', 'e', '\0',
   /* "forextimes.ru", false */ 'f', 'o', 'r', 'e', 'x', 't', 'i', 'm', 'e', 's', '.', 'r', 'u', '\0',
   /* "formationseeker.com", true */ 'f', 'o', 'r', 'm', 'a', 't', 'i', 'o', 'n', 's', 'e', 'e', 'k', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "formationsfactory.co.uk", false */ 'f', 'o', 'r', 'm', 'a', 't', 'i', 'o', 'n', 's', 'f', 'a', 'c', 't', 'o', 'r', 'y', '.', 'c', 'o', '.', 'u', 'k', '\0',
-  /* "formini.dz", true */ 'f', 'o', 'r', 'm', 'i', 'n', 'i', '.', 'd', 'z', '\0',
   /* "foro.io", false */ 'f', 'o', 'r', 'o', '.', 'i', 'o', '\0',
   /* "forodeespanol.com", true */ 'f', 'o', 'r', 'o', 'd', 'e', 'e', 's', 'p', 'a', 'n', 'o', 'l', '.', 'c', 'o', 'm', '\0',
   /* "forologikidilosi.com.gr", true */ 'f', 'o', 'r', 'o', 'l', 'o', 'g', 'i', 'k', 'i', 'd', 'i', 'l', 'o', 's', 'i', '.', 'c', 'o', 'm', '.', 'g', 'r', '\0',
   /* "forplanetsake.com", true */ 'f', 'o', 'r', 'p', 'l', 'a', 'n', 'e', 't', 's', 'a', 'k', 'e', '.', 'c', 'o', 'm', '\0',
   /* "forsakringsarkivet.se", true */ 'f', 'o', 'r', 's', 'a', 'k', 'r', 'i', 'n', 'g', 's', 'a', 'r', 'k', 'i', 'v', 'e', 't', '.', 's', 'e', '\0',
   /* "forstbetrieb-hennecke.de", true */ 'f', 'o', 'r', 's', 't', 'b', 'e', 't', 'r', 'i', 'e', 'b', '-', 'h', 'e', 'n', 'n', 'e', 'c', 'k', 'e', '.', 'd', 'e', '\0',
   /* "fortesanshop.it", true */ 'f', 'o', 'r', 't', 'e', 's', 'a', 'n', 's', 'h', 'o', 'p', '.', 'i', 't', '\0',
   /* "fortnine.ca", true */ 'f', 'o', 'r', 't', 'n', 'i', 'n', 'e', '.', 'c', 'a', '\0',
@@ -5918,17 +5926,16 @@ static const char kSTSHostTable[] = {
   /* "futos.de", true */ 'f', 'u', 't', 'o', 's', '.', 'd', 'e', '\0',
   /* "futurefundapp.com", true */ 'f', 'u', 't', 'u', 'r', 'e', 'f', 'u', 'n', 'd', 'a', 'p', 'p', '.', 'c', 'o', 'm', '\0',
   /* "futurenda.com", true */ 'f', 'u', 't', 'u', 'r', 'e', 'n', 'd', 'a', '.', 'c', 'o', 'm', '\0',
   /* "futureoceans.org", true */ 'f', 'u', 't', 'u', 'r', 'e', 'o', 'c', 'e', 'a', 'n', 's', '.', 'o', 'r', 'g', '\0',
   /* "futuresonline.com", true */ 'f', 'u', 't', 'u', 'r', 'e', 's', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "futurestarsusa.org", true */ 'f', 'u', 't', 'u', 'r', 'e', 's', 't', 'a', 'r', 's', 'u', 's', 'a', '.', 'o', 'r', 'g', '\0',
   /* "fuvpn.com", true */ 'f', 'u', 'v', 'p', 'n', '.', 'c', 'o', 'm', '\0',
   /* "fuwafuwa.moe", true */ 'f', 'u', 'w', 'a', 'f', 'u', 'w', 'a', '.', 'm', 'o', 'e', '\0',
-  /* "fuxwerk.de", true */ 'f', 'u', 'x', 'w', 'e', 'r', 'k', '.', 'd', 'e', '\0',
   /* "fuyu.moe", true */ 'f', 'u', 'y', 'u', '.', 'm', 'o', 'e', '\0',
   /* "fuzoku-sodan.com", true */ 'f', 'u', 'z', 'o', 'k', 'u', '-', 's', 'o', 'd', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "fuzzing-project.org", true */ 'f', 'u', 'z', 'z', 'i', 'n', 'g', '-', 'p', 'r', 'o', 'j', 'e', 'c', 't', '.', 'o', 'r', 'g', '\0',
   /* "fveevaete.com", true */ 'f', 'v', 'e', 'e', 'v', 'a', 'e', 't', 'e', '.', 'c', 'o', 'm', '\0',
   /* "fwei.tk", true */ 'f', 'w', 'e', 'i', '.', 't', 'k', '\0',
   /* "fwest.ovh", true */ 'f', 'w', 'e', 's', 't', '.', 'o', 'v', 'h', '\0',
   /* "fws.gov", true */ 'f', 'w', 's', '.', 'g', 'o', 'v', '\0',
   /* "fwww7.com", true */ 'f', 'w', 'w', 'w', '7', '.', 'c', 'o', 'm', '\0',
@@ -5994,17 +6001,16 @@ static const char kSTSHostTable[] = {
   /* "gameclue.jp", true */ 'g', 'a', 'm', 'e', 'c', 'l', 'u', 'e', '.', 'j', 'p', '\0',
   /* "gamecollector.be", true */ 'g', 'a', 'm', 'e', 'c', 'o', 'l', 'l', 'e', 'c', 't', 'o', 'r', '.', 'b', 'e', '\0',
   /* "gamedevelopers.pl", true */ 'g', 'a', 'm', 'e', 'd', 'e', 'v', 'e', 'l', 'o', 'p', 'e', 'r', 's', '.', 'p', 'l', '\0',
   /* "gamegix.com", true */ 'g', 'a', 'm', 'e', 'g', 'i', 'x', '.', 'c', 'o', 'm', '\0',
   /* "gameguardian.net", true */ 'g', 'a', 'm', 'e', 'g', 'u', 'a', 'r', 'd', 'i', 'a', 'n', '.', 'n', 'e', 't', '\0',
   /* "gameisbest.jp", true */ 'g', 'a', 'm', 'e', 'i', 's', 'b', 'e', 's', 't', '.', 'j', 'p', '\0',
   /* "gameofbay.org", true */ 'g', 'a', 'm', 'e', 'o', 'f', 'b', 'a', 'y', '.', 'o', 'r', 'g', '\0',
   /* "gamepad.com.br", true */ 'g', 'a', 'm', 'e', 'p', 'a', 'd', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
-  /* "gamepad.vg", true */ 'g', 'a', 'm', 'e', 'p', 'a', 'd', '.', 'v', 'g', '\0',
   /* "gamercredo.com", true */ 'g', 'a', 'm', 'e', 'r', 'c', 'r', 'e', 'd', 'o', '.', 'c', 'o', 'm', '\0',
   /* "gamercredo.net", true */ 'g', 'a', 'm', 'e', 'r', 'c', 'r', 'e', 'd', 'o', '.', 'n', 'e', 't', '\0',
   /* "gamesurferapp.com", true */ 'g', 'a', 'm', 'e', 's', 'u', 'r', 'f', 'e', 'r', 'a', 'p', 'p', '.', 'c', 'o', 'm', '\0',
   /* "gametium.com", true */ 'g', 'a', 'm', 'e', 't', 'i', 'u', 'm', '.', 'c', 'o', 'm', '\0',
   /* "gametium.es", true */ 'g', 'a', 'm', 'e', 't', 'i', 'u', 'm', '.', 'e', 's', '\0',
   /* "gamingexodus.com", true */ 'g', 'a', 'm', 'i', 'n', 'g', 'e', 'x', 'o', 'd', 'u', 's', '.', 'c', 'o', 'm', '\0',
   /* "gamingreinvented.com", true */ 'g', 'a', 'm', 'i', 'n', 'g', 'r', 'e', 'i', 'n', 'v', 'e', 'n', 't', 'e', 'd', '.', 'c', 'o', 'm', '\0',
   /* "gamingwithcromulent.com", true */ 'g', 'a', 'm', 'i', 'n', 'g', 'w', 'i', 't', 'h', 'c', 'r', 'o', 'm', 'u', 'l', 'e', 'n', 't', '.', 'c', 'o', 'm', '\0',
@@ -6019,16 +6025,17 @@ static const char kSTSHostTable[] = {
   /* "garageenginuity.com", true */ 'g', 'a', 'r', 'a', 'g', 'e', 'e', 'n', 'g', 'i', 'n', 'u', 'i', 't', 'y', '.', 'c', 'o', 'm', '\0',
   /* "garagegoossens.be", true */ 'g', 'a', 'r', 'a', 'g', 'e', 'g', 'o', 'o', 's', 's', 'e', 'n', 's', '.', 'b', 'e', '\0',
   /* "garagemhermetica.org", true */ 'g', 'a', 'r', 'a', 'g', 'e', 'm', 'h', 'e', 'r', 'm', 'e', 't', 'i', 'c', 'a', '.', 'o', 'r', 'g', '\0',
   /* "garageon.net", true */ 'g', 'a', 'r', 'a', 'g', 'e', 'o', 'n', '.', 'n', 'e', 't', '\0',
   /* "garantieabschluss.de", false */ 'g', 'a', 'r', 'a', 'n', 't', 'i', 'e', 'a', 'b', 's', 'c', 'h', 'l', 'u', 's', 's', '.', 'd', 'e', '\0',
   /* "garbage-juice.com", true */ 'g', 'a', 'r', 'b', 'a', 'g', 'e', '-', 'j', 'u', 'i', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "garcinia--cambogia.com", true */ 'g', 'a', 'r', 'c', 'i', 'n', 'i', 'a', '-', '-', 'c', 'a', 'm', 'b', 'o', 'g', 'i', 'a', '.', 'c', 'o', 'm', '\0',
   /* "garden-life.org", true */ 'g', 'a', 'r', 'd', 'e', 'n', '-', 'l', 'i', 'f', 'e', '.', 'o', 'r', 'g', '\0',
+  /* "garden.trade", true */ 'g', 'a', 'r', 'd', 'e', 'n', '.', 't', 'r', 'a', 'd', 'e', '\0',
   /* "garderobche.eu", true */ 'g', 'a', 'r', 'd', 'e', 'r', 'o', 'b', 'c', 'h', 'e', '.', 'e', 'u', '\0',
   /* "gardikagigih.com", true */ 'g', 'a', 'r', 'd', 'i', 'k', 'a', 'g', 'i', 'g', 'i', 'h', '.', 'c', 'o', 'm', '\0',
   /* "garedtech.com", true */ 'g', 'a', 'r', 'e', 'd', 't', 'e', 'c', 'h', '.', 'c', 'o', 'm', '\0',
   /* "garfieldairlines.net", true */ 'g', 'a', 'r', 'f', 'i', 'e', 'l', 'd', 'a', 'i', 'r', 'l', 'i', 'n', 'e', 's', '.', 'n', 'e', 't', '\0',
   /* "garron.net", true */ 'g', 'a', 'r', 'r', 'o', 'n', '.', 'n', 'e', 't', '\0',
   /* "gartenplanung-brendes.de", true */ 'g', 'a', 'r', 't', 'e', 'n', 'p', 'l', 'a', 'n', 'u', 'n', 'g', '-', 'b', 'r', 'e', 'n', 'd', 'e', 's', '.', 'd', 'e', '\0',
   /* "garyjones.co.uk", true */ 'g', 'a', 'r', 'y', 'j', 'o', 'n', 'e', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "garystallman.com", true */ 'g', 'a', 'r', 'y', 's', 't', 'a', 'l', 'l', 'm', 'a', 'n', '.', 'c', 'o', 'm', '\0',
@@ -6408,16 +6415,17 @@ static const char kSTSHostTable[] = {
   /* "graciousmay.com", true */ 'g', 'r', 'a', 'c', 'i', 'o', 'u', 's', 'm', 'a', 'y', '.', 'c', 'o', 'm', '\0',
   /* "grademymac.com", true */ 'g', 'r', 'a', 'd', 'e', 'm', 'y', 'm', 'a', 'c', '.', 'c', 'o', 'm', '\0',
   /* "grademypc.com", true */ 'g', 'r', 'a', 'd', 'e', 'm', 'y', 'p', 'c', '.', 'c', 'o', 'm', '\0',
   /* "gradients.com", true */ 'g', 'r', 'a', 'd', 'i', 'e', 'n', 't', 's', '.', 'c', 'o', 'm', '\0',
   /* "graf.re", true */ 'g', 'r', 'a', 'f', '.', 'r', 'e', '\0',
   /* "grafcaps.com", true */ 'g', 'r', 'a', 'f', 'c', 'a', 'p', 's', '.', 'c', 'o', 'm', '\0',
   /* "graffen.dk", true */ 'g', 'r', 'a', 'f', 'f', 'e', 'n', '.', 'd', 'k', '\0',
   /* "grafitec.ru", true */ 'g', 'r', 'a', 'f', 'i', 't', 'e', 'c', '.', 'r', 'u', '\0',
+  /* "grafmurr.de", true */ 'g', 'r', 'a', 'f', 'm', 'u', 'r', 'r', '.', 'd', 'e', '\0',
   /* "graingert.co.uk", true */ 'g', 'r', 'a', 'i', 'n', 'g', 'e', 'r', 't', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "graliv.net", true */ 'g', 'r', 'a', 'l', 'i', 'v', '.', 'n', 'e', 't', '\0',
   /* "gramati.com.br", true */ 'g', 'r', 'a', 'm', 'a', 't', 'i', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "grana.com", true */ 'g', 'r', 'a', 'n', 'a', '.', 'c', 'o', 'm', '\0',
   /* "granary-demo.appspot.com", true */ 'g', 'r', 'a', 'n', 'a', 'r', 'y', '-', 'd', 'e', 'm', 'o', '.', 'a', 'p', 'p', 's', 'p', 'o', 't', '.', 'c', 'o', 'm', '\0',
   /* "grandcapital.id", true */ 'g', 'r', 'a', 'n', 'd', 'c', 'a', 'p', 'i', 't', 'a', 'l', '.', 'i', 'd', '\0',
   /* "grandcapital.ru", true */ 'g', 'r', 'a', 'n', 'd', 'c', 'a', 'p', 'i', 't', 'a', 'l', '.', 'r', 'u', '\0',
   /* "grandchamproofing.com", true */ 'g', 'r', 'a', 'n', 'd', 'c', 'h', 'a', 'm', 'p', 'r', 'o', 'o', 'f', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
@@ -6569,26 +6577,27 @@ static const char kSTSHostTable[] = {
   /* "guineapigmustach.es", true */ 'g', 'u', 'i', 'n', 'e', 'a', 'p', 'i', 'g', 'm', 'u', 's', 't', 'a', 'c', 'h', '.', 'e', 's', '\0',
   /* "guitarmarketing.com", false */ 'g', 'u', 'i', 't', 'a', 'r', 'm', 'a', 'r', 'k', 'e', 't', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "gulch.in.ua", false */ 'g', 'u', 'l', 'c', 'h', '.', 'i', 'n', '.', 'u', 'a', '\0',
   /* "gulenbase.no", true */ 'g', 'u', 'l', 'e', 'n', 'b', 'a', 's', 'e', '.', 'n', 'o', '\0',
   /* "gummibande.noip.me", true */ 'g', 'u', 'm', 'm', 'i', 'b', 'a', 'n', 'd', 'e', '.', 'n', 'o', 'i', 'p', '.', 'm', 'e', '\0',
   /* "gunhunter.com", true */ 'g', 'u', 'n', 'h', 'u', 'n', 't', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "guntbert.net", true */ 'g', 'u', 'n', 't', 'b', 'e', 'r', 't', '.', 'n', 'e', 't', '\0',
   /* "gunwatch.co.uk", true */ 'g', 'u', 'n', 'w', 'a', 't', 'c', 'h', '.', 'c', 'o', '.', 'u', 'k', '\0',
-  /* "guphi.net", true */ 'g', 'u', 'p', 'h', 'i', '.', 'n', 'e', 't', '\0',
+  /* "guphi.net", false */ 'g', 'u', 'p', 'h', 'i', '.', 'n', 'e', 't', '\0',
   /* "gurkan.in", true */ 'g', 'u', 'r', 'k', 'a', 'n', '.', 'i', 'n', '\0',
   /* "gurmel.ru", true */ 'g', 'u', 'r', 'm', 'e', 'l', '.', 'r', 'u', '\0',
   /* "gurochan.ch", true */ 'g', 'u', 'r', 'o', 'c', 'h', 'a', 'n', '.', 'c', 'h', '\0',
   /* "guru-naradi.cz", true */ 'g', 'u', 'r', 'u', '-', 'n', 'a', 'r', 'a', 'd', 'i', '.', 'c', 'z', '\0',
   /* "gurueffect.com", true */ 'g', 'u', 'r', 'u', 'e', 'f', 'f', 'e', 'c', 't', '.', 'c', 'o', 'm', '\0',
   /* "gus.host", true */ 'g', 'u', 's', '.', 'h', 'o', 's', 't', '\0',
   /* "gus.moe", true */ 'g', 'u', 's', '.', 'm', 'o', 'e', '\0',
   /* "guscaplan.me", true */ 'g', 'u', 's', 'c', 'a', 'p', 'l', 'a', 'n', '.', 'm', 'e', '\0',
   /* "guthabenkarten-billiger.de", true */ 'g', 'u', 't', 'h', 'a', 'b', 'e', 'n', 'k', 'a', 'r', 't', 'e', 'n', '-', 'b', 'i', 'l', 'l', 'i', 'g', 'e', 'r', '.', 'd', 'e', '\0',
+  /* "guts.me", true */ 'g', 'u', 't', 's', '.', 'm', 'e', '\0',
   /* "gutscheingeiz.de", true */ 'g', 'u', 't', 's', 'c', 'h', 'e', 'i', 'n', 'g', 'e', 'i', 'z', '.', 'd', 'e', '\0',
   /* "gutuia.blue", true */ 'g', 'u', 't', 'u', 'i', 'a', '.', 'b', 'l', 'u', 'e', '\0',
   /* "guus-thijssen.nl", true */ 'g', 'u', 'u', 's', '-', 't', 'h', 'i', 'j', 's', 's', 'e', 'n', '.', 'n', 'l', '\0',
   /* "guvernalternativa.ro", true */ 'g', 'u', 'v', 'e', 'r', 'n', 'a', 'l', 't', 'e', 'r', 'n', 'a', 't', 'i', 'v', 'a', '.', 'r', 'o', '\0',
   /* "guyot-tech.com", true */ 'g', 'u', 'y', 'o', 't', '-', 't', 'e', 'c', 'h', '.', 'c', 'o', 'm', '\0',
   /* "gv-neumann.de", true */ 'g', 'v', '-', 'n', 'e', 'u', 'm', 'a', 'n', 'n', '.', 'd', 'e', '\0',
   /* "gvatas.in", true */ 'g', 'v', 'a', 't', 'a', 's', '.', 'i', 'n', '\0',
   /* "gveh.de", true */ 'g', 'v', 'e', 'h', '.', 'd', 'e', '\0',
@@ -6768,16 +6777,17 @@ static const char kSTSHostTable[] = {
   /* "hazyrom.net", true */ 'h', 'a', 'z', 'y', 'r', 'o', 'm', '.', 'n', 'e', 't', '\0',
   /* "hbdesign.work", true */ 'h', 'b', 'd', 'e', 's', 'i', 'g', 'n', '.', 'w', 'o', 'r', 'k', '\0',
   /* "hboeck.de", true */ 'h', 'b', 'o', 'e', 'c', 'k', '.', 'd', 'e', '\0',
   /* "hbpowell.com", true */ 'h', 'b', 'p', 'o', 'w', 'e', 'l', 'l', '.', 'c', 'o', 'm', '\0',
   /* "hcfhomelottery.ca", true */ 'h', 'c', 'f', 'h', 'o', 'm', 'e', 'l', 'o', 't', 't', 'e', 'r', 'y', '.', 'c', 'a', '\0',
   /* "hcr.io", true */ 'h', 'c', 'r', '.', 'i', 'o', '\0',
   /* "hd-gaming.com", true */ 'h', 'd', '-', 'g', 'a', 'm', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "hda.me", true */ 'h', 'd', 'a', '.', 'm', 'e', '\0',
+  /* "hdc.cz", true */ 'h', 'd', 'c', '.', 'c', 'z', '\0',
   /* "hdcenter.cc", true */ 'h', 'd', 'c', 'e', 'n', 't', 'e', 'r', '.', 'c', 'c', '\0',
   /* "hdeaves.uk", true */ 'h', 'd', 'e', 'a', 'v', 'e', 's', '.', 'u', 'k', '\0',
   /* "hdfgroup.org", true */ 'h', 'd', 'f', 'g', 'r', 'o', 'u', 'p', '.', 'o', 'r', 'g', '\0',
   /* "hdhoang.space", true */ 'h', 'd', 'h', 'o', 'a', 'n', 'g', '.', 's', 'p', 'a', 'c', 'e', '\0',
   /* "hdrsource.com", true */ 'h', 'd', 'r', 's', 'o', 'u', 'r', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "hdrtranscon.com", true */ 'h', 'd', 'r', 't', 'r', 'a', 'n', 's', 'c', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "hds-lan.de", true */ 'h', 'd', 's', '-', 'l', 'a', 'n', '.', 'd', 'e', '\0',
   /* "hdy.nz", true */ 'h', 'd', 'y', '.', 'n', 'z', '\0',
@@ -7023,17 +7033,16 @@ static const char kSTSHostTable[] = {
   /* "homecoming.city", true */ 'h', 'o', 'm', 'e', 'c', 'o', 'm', 'i', 'n', 'g', '.', 'c', 'i', 't', 'y', '\0',
   /* "homedna.com", true */ 'h', 'o', 'm', 'e', 'd', 'n', 'a', '.', 'c', 'o', 'm', '\0',
   /* "homeexx.com", true */ 'h', 'o', 'm', 'e', 'e', 'x', 'x', '.', 'c', 'o', 'm', '\0',
   /* "homehuntertoronto.com", true */ 'h', 'o', 'm', 'e', 'h', 'u', 'n', 't', 'e', 'r', 't', 'o', 'r', 'o', 'n', 't', 'o', '.', 'c', 'o', 'm', '\0',
   /* "homehunting.pt", true */ 'h', 'o', 'm', 'e', 'h', 'u', 'n', 't', 'i', 'n', 'g', '.', 'p', 't', '\0',
   /* "homeprivate.de", true */ 'h', 'o', 'm', 'e', 'p', 'r', 'i', 'v', 'a', 't', 'e', '.', 'd', 'e', '\0',
   /* "homeseller.co.uk", true */ 'h', 'o', 'm', 'e', 's', 'e', 'l', 'l', 'e', 'r', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "homeseller.com", true */ 'h', 'o', 'm', 'e', 's', 'e', 'l', 'l', 'e', 'r', '.', 'c', 'o', 'm', '\0',
-  /* "hometownmall.com", true */ 'h', 'o', 'm', 'e', 't', 'o', 'w', 'n', 'm', 'a', 'l', 'l', '.', 'c', 'o', 'm', '\0',
   /* "homewatt.co.uk", true */ 'h', 'o', 'm', 'e', 'w', 'a', 't', 't', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "homeyantra.com", true */ 'h', 'o', 'm', 'e', 'y', 'a', 'n', 't', 'r', 'a', '.', 'c', 'o', 'm', '\0',
   /* "homeyou.com", true */ 'h', 'o', 'm', 'e', 'y', 'o', 'u', '.', 'c', 'o', 'm', '\0',
   /* "homezhi.com.tw", true */ 'h', 'o', 'm', 'e', 'z', 'h', 'i', '.', 'c', 'o', 'm', '.', 't', 'w', '\0',
   /* "homophoni.com", true */ 'h', 'o', 'm', 'o', 'p', 'h', 'o', 'n', 'i', '.', 'c', 'o', 'm', '\0',
   /* "hompus.nl", false */ 'h', 'o', 'm', 'p', 'u', 's', '.', 'n', 'l', '\0',
   /* "honda-centrum.cz", true */ 'h', 'o', 'n', 'd', 'a', '-', 'c', 'e', 'n', 't', 'r', 'u', 'm', '.', 'c', 'z', '\0',
   /* "hondart.cz", true */ 'h', 'o', 'n', 'd', 'a', 'r', 't', '.', 'c', 'z', '\0',
@@ -7085,17 +7094,16 @@ static const char kSTSHostTable[] = {
   /* "hostingfj.com", true */ 'h', 'o', 's', 't', 'i', 'n', 'g', 'f', 'j', '.', 'c', 'o', 'm', '\0',
   /* "hostinghelp.guru", true */ 'h', 'o', 's', 't', 'i', 'n', 'g', 'h', 'e', 'l', 'p', '.', 'g', 'u', 'r', 'u', '\0',
   /* "hostinginnederland.nl", true */ 'h', 'o', 's', 't', 'i', 'n', 'g', 'i', 'n', 'n', 'e', 'd', 'e', 'r', 'l', 'a', 'n', 'd', '.', 'n', 'l', '\0',
   /* "hostix.de", true */ 'h', 'o', 's', 't', 'i', 'x', '.', 'd', 'e', '\0',
   /* "hostma.ma", true */ 'h', 'o', 's', 't', 'm', 'a', '.', 'm', 'a', '\0',
   /* "hostmijnpagina.nl", true */ 'h', 'o', 's', 't', 'm', 'i', 'j', 'n', 'p', 'a', 'g', 'i', 'n', 'a', '.', 'n', 'l', '\0',
   /* "hosts.cf", true */ 'h', 'o', 's', 't', 's', '.', 'c', 'f', '\0',
   /* "hosyaku.gr.jp", true */ 'h', 'o', 's', 'y', 'a', 'k', 'u', '.', 'g', 'r', '.', 'j', 'p', '\0',
-  /* "hotchillibox.co.za", true */ 'h', 'o', 't', 'c', 'h', 'i', 'l', 'l', 'i', 'b', 'o', 'x', '.', 'c', 'o', '.', 'z', 'a', '\0',
   /* "hotel-huberhof.at", true */ 'h', 'o', 't', 'e', 'l', '-', 'h', 'u', 'b', 'e', 'r', 'h', 'o', 'f', '.', 'a', 't', '\0',
   /* "hotel-kronjuwel.de", true */ 'h', 'o', 't', 'e', 'l', '-', 'k', 'r', 'o', 'n', 'j', 'u', 'w', 'e', 'l', '.', 'd', 'e', '\0',
   /* "hotel-pension-sonnalp.eu", true */ 'h', 'o', 't', 'e', 'l', '-', 'p', 'e', 'n', 's', 'i', 'o', 'n', '-', 's', 'o', 'n', 'n', 'a', 'l', 'p', '.', 'e', 'u', '\0',
   /* "hotel-rosner.at", true */ 'h', 'o', 't', 'e', 'l', '-', 'r', 'o', 's', 'n', 'e', 'r', '.', 'a', 't', '\0',
   /* "hotel-tongruben.de", true */ 'h', 'o', 't', 'e', 'l', '-', 't', 'o', 'n', 'g', 'r', 'u', 'b', 'e', 'n', '.', 'd', 'e', '\0',
   /* "hotelaustria-wien.at", true */ 'h', 'o', 't', 'e', 'l', 'a', 'u', 's', 't', 'r', 'i', 'a', '-', 'w', 'i', 'e', 'n', '.', 'a', 't', '\0',
   /* "hotelflow.com.br", true */ 'h', 'o', 't', 'e', 'l', 'f', 'l', 'o', 'w', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "hotelident.de", true */ 'h', 'o', 't', 'e', 'l', 'i', 'd', 'e', 'n', 't', '.', 'd', 'e', '\0',
@@ -7459,17 +7467,17 @@ static const char kSTSHostTable[] = {
   /* "imququ.com", true */ 'i', 'm', 'q', 'u', 'q', 'u', '.', 'c', 'o', 'm', '\0',
   /* "imreh.net", true */ 'i', 'm', 'r', 'e', 'h', '.', 'n', 'e', 't', '\0',
   /* "imrunner.com", true */ 'i', 'm', 'r', 'u', 'n', 'n', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "imrunner.ru", true */ 'i', 'm', 'r', 'u', 'n', 'n', 'e', 'r', '.', 'r', 'u', '\0',
   /* "in-depthoutdoors.com", true */ 'i', 'n', '-', 'd', 'e', 'p', 't', 'h', 'o', 'u', 't', 'd', 'o', 'o', 'r', 's', '.', 'c', 'o', 'm', '\0',
   /* "in-flames.com", true */ 'i', 'n', '-', 'f', 'l', 'a', 'm', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "in.search.yahoo.com", false */ 'i', 'n', '.', 's', 'e', 'a', 'r', 'c', 'h', '.', 'y', 'a', 'h', 'o', 'o', '.', 'c', 'o', 'm', '\0',
   /* "in.xero.com", false */ 'i', 'n', '.', 'x', 'e', 'r', 'o', '.', 'c', 'o', 'm', '\0',
-  /* "in10tion.com", true */ 'i', 'n', '1', '0', 't', 'i', 'o', 'n', '.', 'c', 'o', 'm', '\0',
+  /* "in10tion.com", false */ 'i', 'n', '1', '0', 't', 'i', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "inabox.ro", true */ 'i', 'n', 'a', 'b', 'o', 'x', '.', 'r', 'o', '\0',
   /* "inbitcoin.it", true */ 'i', 'n', 'b', 'i', 't', 'c', 'o', 'i', 'n', '.', 'i', 't', '\0',
   /* "inbounder.io", true */ 'i', 'n', 'b', 'o', 'u', 'n', 'd', 'e', 'r', '.', 'i', 'o', '\0',
   /* "inbox-group.com", true */ 'i', 'n', 'b', 'o', 'x', '-', 'g', 'r', 'o', 'u', 'p', '.', 'c', 'o', 'm', '\0',
   /* "inbox.google.com", true */ 'i', 'n', 'b', 'o', 'x', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "inboxen.org", true */ 'i', 'n', 'b', 'o', 'x', 'e', 'n', '.', 'o', 'r', 'g', '\0',
   /* "includesubdomains.preloaded.test", true */ 'i', 'n', 'c', 'l', 'u', 'd', 'e', 's', 'u', 'b', 'd', 'o', 'm', 'a', 'i', 'n', 's', '.', 'p', 'r', 'e', 'l', 'o', 'a', 'd', 'e', 'd', '.', 't', 'e', 's', 't', '\0',
   /* "includesubdomains2.preloaded.test", true */ 'i', 'n', 'c', 'l', 'u', 'd', 'e', 's', 'u', 'b', 'd', 'o', 'm', 'a', 'i', 'n', 's', '2', '.', 'p', 'r', 'e', 'l', 'o', 'a', 'd', 'e', 'd', '.', 't', 'e', 's', 't', '\0',
@@ -7820,16 +7828,17 @@ static const char kSTSHostTable[] = {
   /* "itooky.com", true */ 'i', 't', 'o', 'o', 'k', 'y', '.', 'c', 'o', 'm', '\0',
   /* "itpol.dk", true */ 'i', 't', 'p', 'o', 'l', '.', 'd', 'k', '\0',
   /* "itpro.ua", true */ 'i', 't', 'p', 'r', 'o', '.', 'u', 'a', '\0',
   /* "its-gutachten.de", true */ 'i', 't', 's', '-', 'g', 'u', 't', 'a', 'c', 'h', 't', 'e', 'n', '.', 'd', 'e', '\0',
   /* "its-schindler.de", true */ 'i', 't', 's', '-', 's', 'c', 'h', 'i', 'n', 'd', 'l', 'e', 'r', '.', 'd', 'e', '\0',
   /* "its-v.de", true */ 'i', 't', 's', '-', 'v', '.', 'd', 'e', '\0',
   /* "its4living.com", true */ 'i', 't', 's', '4', 'l', 'i', 'v', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "itsanicedoor.co.uk", true */ 'i', 't', 's', 'a', 'n', 'i', 'c', 'e', 'd', 'o', 'o', 'r', '.', 'c', 'o', '.', 'u', 'k', '\0',
+  /* "itsatrap.nl", false */ 'i', 't', 's', 'a', 't', 'r', 'a', 'p', '.', 'n', 'l', '\0',
   /* "itsecguy.com", true */ 'i', 't', 's', 'e', 'c', 'g', 'u', 'y', '.', 'c', 'o', 'm', '\0',
   /* "itsgoingdown.org", true */ 'i', 't', 's', 'g', 'o', 'i', 'n', 'g', 'd', 'o', 'w', 'n', '.', 'o', 'r', 'g', '\0',
   /* "itskayla.com", false */ 'i', 't', 's', 'k', 'a', 'y', 'l', 'a', '.', 'c', 'o', 'm', '\0',
   /* "itsok.de", true */ 'i', 't', 's', 'o', 'k', '.', 'd', 'e', '\0',
   /* "itspawned.com", true */ 'i', 't', 's', 'p', 'a', 'w', 'n', 'e', 'd', '.', 'c', 'o', 'm', '\0',
   /* "itspersonaltraining.nl", true */ 'i', 't', 's', 'p', 'e', 'r', 's', 'o', 'n', 'a', 'l', 't', 'r', 'a', 'i', 'n', 'i', 'n', 'g', '.', 'n', 'l', '\0',
   /* "itsryan.com", false */ 'i', 't', 's', 'r', 'y', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "itsstefan.eu", true */ 'i', 't', 's', 's', 't', 'e', 'f', 'a', 'n', '.', 'e', 'u', '\0',
@@ -7845,17 +7854,16 @@ static const char kSTSHostTable[] = {
   /* "ivi.net.br", true */ 'i', 'v', 'i', '.', 'n', 'e', 't', '.', 'b', 'r', '\0',
   /* "ivi.pt", true */ 'i', 'v', 'i', '.', 'p', 't', '\0',
   /* "ivinet.cl", true */ 'i', 'v', 'i', 'n', 'e', 't', '.', 'c', 'l', '\0',
   /* "ivitalia.it", true */ 'i', 'v', 'i', 't', 'a', 'l', 'i', 'a', '.', 'i', 't', '\0',
   /* "ivklombard.ru", true */ 'i', 'v', 'k', 'l', 'o', 'm', 'b', 'a', 'r', 'd', '.', 'r', 'u', '\0',
   /* "ivpn.net", true */ 'i', 'v', 'p', 'n', '.', 'n', 'e', 't', '\0',
   /* "iwader.co.uk", true */ 'i', 'w', 'a', 'd', 'e', 'r', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "iwalton.com", true */ 'i', 'w', 'a', 'l', 't', 'o', 'n', '.', 'c', 'o', 'm', '\0',
-  /* "iwannarefill.com", true */ 'i', 'w', 'a', 'n', 'n', 'a', 'r', 'e', 'f', 'i', 'l', 'l', '.', 'c', 'o', 'm', '\0',
   /* "iwilcox.me.uk", true */ 'i', 'w', 'i', 'l', 'c', 'o', 'x', '.', 'm', 'e', '.', 'u', 'k', '\0',
   /* "iwizerunek.pl", true */ 'i', 'w', 'i', 'z', 'e', 'r', 'u', 'n', 'e', 'k', '.', 'p', 'l', '\0',
   /* "iww.me", true */ 'i', 'w', 'w', '.', 'm', 'e', '\0',
   /* "iww.mx", true */ 'i', 'w', 'w', '.', 'm', 'x', '\0',
   /* "ixds.org", true */ 'i', 'x', 'd', 's', '.', 'o', 'r', 'g', '\0',
   /* "ixio.cz", true */ 'i', 'x', 'i', 'o', '.', 'c', 'z', '\0',
   /* "ixnext.de", true */ 'i', 'x', 'n', 'e', 'x', 't', '.', 'd', 'e', '\0',
   /* "ixquick-proxy.com", true */ 'i', 'x', 'q', 'u', 'i', 'c', 'k', '-', 'p', 'r', 'o', 'x', 'y', '.', 'c', 'o', 'm', '\0',
@@ -7939,16 +7947,17 @@ static const char kSTSHostTable[] = {
   /* "jameswarp.com", true */ 'j', 'a', 'm', 'e', 's', 'w', 'a', 'r', 'p', '.', 'c', 'o', 'm', '\0',
   /* "jamhost.org", true */ 'j', 'a', 'm', 'h', 'o', 's', 't', '.', 'o', 'r', 'g', '\0',
   /* "jamielinux.com", true */ 'j', 'a', 'm', 'i', 'e', 'l', 'i', 'n', 'u', 'x', '.', 'c', 'o', 'm', '\0',
   /* "jamiemagee.co.uk", true */ 'j', 'a', 'm', 'i', 'e', 'm', 'a', 'g', 'e', 'e', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "jamiemagee.dk", true */ 'j', 'a', 'm', 'i', 'e', 'm', 'a', 'g', 'e', 'e', '.', 'd', 'k', '\0',
   /* "jamiepeters.nl", true */ 'j', 'a', 'm', 'i', 'e', 'p', 'e', 't', 'e', 'r', 's', '.', 'n', 'l', '\0',
   /* "jamon.ca", true */ 'j', 'a', 'm', 'o', 'n', '.', 'c', 'a', '\0',
   /* "jamonsilva.com", true */ 'j', 'a', 'm', 'o', 'n', 's', 'i', 'l', 'v', 'a', '.', 'c', 'o', 'm', '\0',
+  /* "jan-and-maaret.de", true */ 'j', 'a', 'n', '-', 'a', 'n', 'd', '-', 'm', 'a', 'a', 'r', 'e', 't', '.', 'd', 'e', '\0',
   /* "jan-cermak.cz", true */ 'j', 'a', 'n', '-', 'c', 'e', 'r', 'm', 'a', 'k', '.', 'c', 'z', '\0',
   /* "jani.media", true */ 'j', 'a', 'n', 'i', '.', 'm', 'e', 'd', 'i', 'a', '\0',
   /* "janik.xyz", true */ 'j', 'a', 'n', 'i', 'k', '.', 'x', 'y', 'z', '\0',
   /* "jankoepsel.com", true */ 'j', 'a', 'n', 'k', 'o', 'e', 'p', 's', 'e', 'l', '.', 'c', 'o', 'm', '\0',
   /* "janoberst.com", true */ 'j', 'a', 'n', 'o', 'b', 'e', 'r', 's', 't', '.', 'c', 'o', 'm', '\0',
   /* "janokacer.sk", true */ 'j', 'a', 'n', 'o', 'k', 'a', 'c', 'e', 'r', '.', 's', 'k', '\0',
   /* "janosh.com", true */ 'j', 'a', 'n', 'o', 's', 'h', '.', 'c', 'o', 'm', '\0',
   /* "janssenwigman.nl", true */ 'j', 'a', 'n', 's', 's', 'e', 'n', 'w', 'i', 'g', 'm', 'a', 'n', '.', 'n', 'l', '\0',
@@ -7983,16 +7992,17 @@ static const char kSTSHostTable[] = {
   /* "jayf.de", true */ 'j', 'a', 'y', 'f', '.', 'd', 'e', '\0',
   /* "jaymecd.rocks", true */ 'j', 'a', 'y', 'm', 'e', 'c', 'd', '.', 'r', 'o', 'c', 'k', 's', '\0',
   /* "jayxon.com", true */ 'j', 'a', 'y', 'x', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "jayxu.com", true */ 'j', 'a', 'y', 'x', 'u', '.', 'c', 'o', 'm', '\0',
   /* "jazz-alliance.com", true */ 'j', 'a', 'z', 'z', '-', 'a', 'l', 'l', 'i', 'a', 'n', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "jazz-alliance.org", true */ 'j', 'a', 'z', 'z', '-', 'a', 'l', 'l', 'i', 'a', 'n', 'c', 'e', '.', 'o', 'r', 'g', '\0',
   /* "jazzanet.com", true */ 'j', 'a', 'z', 'z', 'a', 'n', 'e', 't', '.', 'c', 'o', 'm', '\0',
   /* "jazzinutrecht.info", true */ 'j', 'a', 'z', 'z', 'i', 'n', 'u', 't', 'r', 'e', 'c', 'h', 't', '.', 'i', 'n', 'f', 'o', '\0',
+  /* "jazzncheese.com", true */ 'j', 'a', 'z', 'z', 'n', 'c', 'h', 'e', 'e', 's', 'e', '.', 'c', 'o', 'm', '\0',
   /* "jazzy.pro", true */ 'j', 'a', 'z', 'z', 'y', '.', 'p', 'r', 'o', '\0',
   /* "jazzysumi.com", true */ 'j', 'a', 'z', 'z', 'y', 's', 'u', 'm', 'i', '.', 'c', 'o', 'm', '\0',
   /* "jbbd.fr", true */ 'j', 'b', 'b', 'd', '.', 'f', 'r', '\0',
   /* "jbfp.dk", true */ 'j', 'b', 'f', 'p', '.', 'd', 'k', '\0',
   /* "jbradaric.me", true */ 'j', 'b', 'r', 'a', 'd', 'a', 'r', 'i', 'c', '.', 'm', 'e', '\0',
   /* "jcaicedo.com", true */ 'j', 'c', 'a', 'i', 'c', 'e', 'd', 'o', '.', 'c', 'o', 'm', '\0',
   /* "jcaicedo.tk", true */ 'j', 'c', 'a', 'i', 'c', 'e', 'd', 'o', '.', 't', 'k', '\0',
   /* "jccrew.org", true */ 'j', 'c', 'c', 'r', 'e', 'w', '.', 'o', 'r', 'g', '\0',
@@ -8143,16 +8153,17 @@ static const char kSTSHostTable[] = {
   /* "johnmh.me", true */ 'j', 'o', 'h', 'n', 'm', 'h', '.', 'm', 'e', '\0',
   /* "johnmichel.org", true */ 'j', 'o', 'h', 'n', 'm', 'i', 'c', 'h', 'e', 'l', '.', 'o', 'r', 'g', '\0',
   /* "johnnybet.com", true */ 'j', 'o', 'h', 'n', 'n', 'y', 'b', 'e', 't', '.', 'c', 'o', 'm', '\0',
   /* "johnroach.io", true */ 'j', 'o', 'h', 'n', 'r', 'o', 'a', 'c', 'h', '.', 'i', 'o', '\0',
   /* "johnsegovia.com", true */ 'j', 'o', 'h', 'n', 's', 'e', 'g', 'o', 'v', 'i', 'a', '.', 'c', 'o', 'm', '\0',
   /* "johnvanhese.nl", true */ 'j', 'o', 'h', 'n', 'v', 'a', 'n', 'h', 'e', 's', 'e', '.', 'n', 'l', '\0',
   /* "johnverkerk.com", true */ 'j', 'o', 'h', 'n', 'v', 'e', 'r', 'k', 'e', 'r', 'k', '.', 'c', 'o', 'm', '\0',
   /* "jointoweb.com", true */ 'j', 'o', 'i', 'n', 't', 'o', 'w', 'e', 'b', '.', 'c', 'o', 'm', '\0',
+  /* "jokescoff.com", true */ 'j', 'o', 'k', 'e', 's', 'c', 'o', 'f', 'f', '.', 'c', 'o', 'm', '\0',
   /* "jokewignand.nl", true */ 'j', 'o', 'k', 'e', 'w', 'i', 'g', 'n', 'a', 'n', 'd', '.', 'n', 'l', '\0',
   /* "jollausers.de", true */ 'j', 'o', 'l', 'l', 'a', 'u', 's', 'e', 'r', 's', '.', 'd', 'e', '\0',
   /* "jomo.tv", true */ 'j', 'o', 'm', 'o', '.', 't', 'v', '\0',
   /* "jonarcher.info", true */ 'j', 'o', 'n', 'a', 'r', 'c', 'h', 'e', 'r', '.', 'i', 'n', 'f', 'o', '\0',
   /* "jonas-thelemann.de", true */ 'j', 'o', 'n', 'a', 's', '-', 't', 'h', 'e', 'l', 'e', 'm', 'a', 'n', 'n', '.', 'd', 'e', '\0',
   /* "jonaskjodt.com", true */ 'j', 'o', 'n', 'a', 's', 'k', 'j', 'o', 'd', 't', '.', 'c', 'o', 'm', '\0',
   /* "jonasmoeller.consulting", true */ 'j', 'o', 'n', 'a', 's', 'm', 'o', 'e', 'l', 'l', 'e', 'r', '.', 'c', 'o', 'n', 's', 'u', 'l', 't', 'i', 'n', 'g', '\0',
   /* "jonasmoeller.de", true */ 'j', 'o', 'n', 'a', 's', 'm', 'o', 'e', 'l', 'l', 'e', 'r', '.', 'd', 'e', '\0',
@@ -8238,16 +8249,17 @@ static const char kSTSHostTable[] = {
   /* "juch.cc", true */ 'j', 'u', 'c', 'h', '.', 'c', 'c', '\0',
   /* "juchit.at", true */ 'j', 'u', 'c', 'h', 'i', 't', '.', 'a', 't', '\0',
   /* "judoprodeti.cz", true */ 'j', 'u', 'd', 'o', 'p', 'r', 'o', 'd', 'e', 't', 'i', '.', 'c', 'z', '\0',
   /* "juergenhecht.de", true */ 'j', 'u', 'e', 'r', 'g', 'e', 'n', 'h', 'e', 'c', 'h', 't', '.', 'd', 'e', '\0',
   /* "jugendsuenden.info", true */ 'j', 'u', 'g', 'e', 'n', 'd', 's', 'u', 'e', 'n', 'd', 'e', 'n', '.', 'i', 'n', 'f', 'o', '\0',
   /* "juhakoho.com", true */ 'j', 'u', 'h', 'a', 'k', 'o', 'h', 'o', '.', 'c', 'o', 'm', '\0',
   /* "juku-info.top", true */ 'j', 'u', 'k', 'u', '-', 'i', 'n', 'f', 'o', '.', 't', 'o', 'p', '\0',
   /* "julian-witusch.de", true */ 'j', 'u', 'l', 'i', 'a', 'n', '-', 'w', 'i', 't', 'u', 's', 'c', 'h', '.', 'd', 'e', '\0',
+  /* "juliangonggrijp.com", true */ 'j', 'u', 'l', 'i', 'a', 'n', 'g', 'o', 'n', 'g', 'g', 'r', 'i', 'j', 'p', '.', 'c', 'o', 'm', '\0',
   /* "julianmeyer.de", true */ 'j', 'u', 'l', 'i', 'a', 'n', 'm', 'e', 'y', 'e', 'r', '.', 'd', 'e', '\0',
   /* "juliansimioni.com", true */ 'j', 'u', 'l', 'i', 'a', 'n', 's', 'i', 'm', 'i', 'o', 'n', 'i', '.', 'c', 'o', 'm', '\0',
   /* "julianvmodesto.com", true */ 'j', 'u', 'l', 'i', 'a', 'n', 'v', 'm', 'o', 'd', 'e', 's', 't', 'o', '.', 'c', 'o', 'm', '\0',
   /* "julibear.com", true */ 'j', 'u', 'l', 'i', 'b', 'e', 'a', 'r', '.', 'c', 'o', 'm', '\0',
   /* "juliekoubova.net", true */ 'j', 'u', 'l', 'i', 'e', 'k', 'o', 'u', 'b', 'o', 'v', 'a', '.', 'n', 'e', 't', '\0',
   /* "juliemaurel.fr", true */ 'j', 'u', 'l', 'i', 'e', 'm', 'a', 'u', 'r', 'e', 'l', '.', 'f', 'r', '\0',
   /* "julienc.io", true */ 'j', 'u', 'l', 'i', 'e', 'n', 'c', '.', 'i', 'o', '\0',
   /* "julienpaterne.com", true */ 'j', 'u', 'l', 'i', 'e', 'n', 'p', 'a', 't', 'e', 'r', 'n', 'e', '.', 'c', 'o', 'm', '\0',
@@ -8299,16 +8311,17 @@ static const char kSTSHostTable[] = {
   /* "k-wallet.com", true */ 'k', '-', 'w', 'a', 'l', 'l', 'e', 't', '.', 'c', 'o', 'm', '\0',
   /* "k2mts.org", true */ 'k', '2', 'm', 't', 's', '.', 'o', 'r', 'g', '\0',
   /* "k9swx.com", true */ 'k', '9', 's', 'w', 'x', '.', 'c', 'o', 'm', '\0',
   /* "kaangenc.me", true */ 'k', 'a', 'a', 'n', 'g', 'e', 'n', 'c', '.', 'm', 'e', '\0',
   /* "kaasbijwijn.nl", true */ 'k', 'a', 'a', 's', 'b', 'i', 'j', 'w', 'i', 'j', 'n', '.', 'n', 'l', '\0',
   /* "kab-s.de", true */ 'k', 'a', 'b', '-', 's', '.', 'd', 'e', '\0',
   /* "kabat-fans.cz", true */ 'k', 'a', 'b', 'a', 't', '-', 'f', 'a', 'n', 's', '.', 'c', 'z', '\0',
   /* "kabeuchi.com", true */ 'k', 'a', 'b', 'e', 'u', 'c', 'h', 'i', '.', 'c', 'o', 'm', '\0',
+  /* "kabus.org", true */ 'k', 'a', 'b', 'u', 's', '.', 'o', 'r', 'g', '\0',
   /* "kachlikova2.cz", true */ 'k', 'a', 'c', 'h', 'l', 'i', 'k', 'o', 'v', 'a', '2', '.', 'c', 'z', '\0',
   /* "kackscharf.de", true */ 'k', 'a', 'c', 'k', 's', 'c', 'h', 'a', 'r', 'f', '.', 'd', 'e', '\0',
   /* "kadmec.com", true */ 'k', 'a', 'd', 'm', 'e', 'c', '.', 'c', 'o', 'm', '\0',
   /* "kaffeekrone.de", true */ 'k', 'a', 'f', 'f', 'e', 'e', 'k', 'r', 'o', 'n', 'e', '.', 'd', 'e', '\0',
   /* "kafoom.de", true */ 'k', 'a', 'f', 'o', 'o', 'm', '.', 'd', 'e', '\0',
   /* "kaheim.de", false */ 'k', 'a', 'h', 'e', 'i', 'm', '.', 'd', 'e', '\0',
   /* "kaika-facilitymanagement.de", true */ 'k', 'a', 'i', 'k', 'a', '-', 'f', 'a', 'c', 'i', 'l', 'i', 't', 'y', 'm', 'a', 'n', 'a', 'g', 'e', 'm', 'e', 'n', 't', '.', 'd', 'e', '\0',
   /* "kaika-hms.de", true */ 'k', 'a', 'i', 'k', 'a', '-', 'h', 'm', 's', '.', 'd', 'e', '\0',
@@ -8366,17 +8379,16 @@ static const char kSTSHostTable[] = {
   /* "kapverde.guide", true */ 'k', 'a', 'p', 'v', 'e', 'r', 'd', 'e', '.', 'g', 'u', 'i', 'd', 'e', '\0',
   /* "karabijnhaken.nl", true */ 'k', 'a', 'r', 'a', 'b', 'i', 'j', 'n', 'h', 'a', 'k', 'e', 'n', '.', 'n', 'l', '\0',
   /* "karachi.dating", true */ 'k', 'a', 'r', 'a', 'c', 'h', 'i', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0',
   /* "karamna.com", true */ 'k', 'a', 'r', 'a', 'm', 'n', 'a', '.', 'c', 'o', 'm', '\0',
   /* "karateka.org", true */ 'k', 'a', 'r', 'a', 't', 'e', 'k', 'a', '.', 'o', 'r', 'g', '\0',
   /* "karateka.ru", true */ 'k', 'a', 'r', 'a', 't', 'e', 'k', 'a', '.', 'r', 'u', '\0',
   /* "karatorian.org", true */ 'k', 'a', 'r', 'a', 't', 'o', 'r', 'i', 'a', 'n', '.', 'o', 'r', 'g', '\0',
   /* "kardize24.pl", true */ 'k', 'a', 'r', 'd', 'i', 'z', 'e', '2', '4', '.', 'p', 'l', '\0',
-  /* "karguine.in", true */ 'k', 'a', 'r', 'g', 'u', 'i', 'n', 'e', '.', 'i', 'n', '\0',
   /* "karhm.com", true */ 'k', 'a', 'r', 'h', 'm', '.', 'c', 'o', 'm', '\0',
   /* "karhukamera.com", true */ 'k', 'a', 'r', 'h', 'u', 'k', 'a', 'm', 'e', 'r', 'a', '.', 'c', 'o', 'm', '\0',
   /* "karit.nz", true */ 'k', 'a', 'r', 'i', 't', '.', 'n', 'z', '\0',
   /* "karlis-kavacis.id.lv", true */ 'k', 'a', 'r', 'l', 'i', 's', '-', 'k', 'a', 'v', 'a', 'c', 'i', 's', '.', 'i', 'd', '.', 'l', 'v', '\0',
   /* "karlstabo.se", true */ 'k', 'a', 'r', 'l', 's', 't', 'a', 'b', 'o', '.', 's', 'e', '\0',
   /* "karmaassurance.ca", true */ 'k', 'a', 'r', 'm', 'a', 'a', 's', 's', 'u', 'r', 'a', 'n', 'c', 'e', '.', 'c', 'a', '\0',
   /* "karmabaker.com", true */ 'k', 'a', 'r', 'm', 'a', 'b', 'a', 'k', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "karmaflux.com", true */ 'k', 'a', 'r', 'm', 'a', 'f', 'l', 'u', 'x', '.', 'c', 'o', 'm', '\0',
@@ -8585,16 +8597,17 @@ static const char kSTSHostTable[] = {
   /* "kirillpokrovsky.de", true */ 'k', 'i', 'r', 'i', 'l', 'l', 'p', 'o', 'k', 'r', 'o', 'v', 's', 'k', 'y', '.', 'd', 'e', '\0',
   /* "kirinas.com", true */ 'k', 'i', 'r', 'i', 'n', 'a', 's', '.', 'c', 'o', 'm', '\0',
   /* "kirkovsky.com", true */ 'k', 'i', 'r', 'k', 'o', 'v', 's', 'k', 'y', '.', 'c', 'o', 'm', '\0',
   /* "kirsch-gestaltung.de", true */ 'k', 'i', 'r', 's', 'c', 'h', '-', 'g', 'e', 's', 't', 'a', 'l', 't', 'u', 'n', 'g', '.', 'd', 'e', '\0',
   /* "kirschbaum.me", true */ 'k', 'i', 'r', 's', 'c', 'h', 'b', 'a', 'u', 'm', '.', 'm', 'e', '\0',
   /* "kirstenbos.ca", true */ 'k', 'i', 'r', 's', 't', 'e', 'n', 'b', 'o', 's', '.', 'c', 'a', '\0',
   /* "kirstin-peters.de", true */ 'k', 'i', 'r', 's', 't', 'i', 'n', '-', 'p', 'e', 't', 'e', 'r', 's', '.', 'd', 'e', '\0',
   /* "kis-toitoidixi.de", true */ 'k', 'i', 's', '-', 't', 'o', 'i', 't', 'o', 'i', 'd', 'i', 'x', 'i', '.', 'd', 'e', '\0',
+  /* "kiss-register.org", true */ 'k', 'i', 's', 's', '-', 'r', 'e', 'g', 'i', 's', 't', 'e', 'r', '.', 'o', 'r', 'g', '\0',
   /* "kissflow.com", true */ 'k', 'i', 's', 's', 'f', 'l', 'o', 'w', '.', 'c', 'o', 'm', '\0',
   /* "kisskiss.ch", true */ 'k', 'i', 's', 's', 'k', 'i', 's', 's', '.', 'c', 'h', '\0',
   /* "kisstudio.co", true */ 'k', 'i', 's', 's', 't', 'u', 'd', 'i', 'o', '.', 'c', 'o', '\0',
   /* "kisstyle.ru", true */ 'k', 'i', 's', 's', 't', 'y', 'l', 'e', '.', 'r', 'u', '\0',
   /* "kitabgaul.com", true */ 'k', 'i', 't', 'a', 'b', 'g', 'a', 'u', 'l', '.', 'c', 'o', 'm', '\0',
   /* "kitchenchaos.de", true */ 'k', 'i', 't', 'c', 'h', 'e', 'n', 'c', 'h', 'a', 'o', 's', '.', 'd', 'e', '\0',
   /* "kitestar.co.uk", true */ 'k', 'i', 't', 'e', 's', 't', 'a', 'r', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "kittmedia.com", true */ 'k', 'i', 't', 't', 'm', 'e', 'd', 'i', 'a', '.', 'c', 'o', 'm', '\0',
@@ -8656,16 +8669,17 @@ static const char kSTSHostTable[] = {
   /* "knaake.net", true */ 'k', 'n', 'a', 'a', 'k', 'e', '.', 'n', 'e', 't', '\0',
   /* "knapen.io", true */ 'k', 'n', 'a', 'p', 'e', 'n', '.', 'i', 'o', '\0',
   /* "knapp.noip.me", true */ 'k', 'n', 'a', 'p', 'p', '.', 'n', 'o', 'i', 'p', '.', 'm', 'e', '\0',
   /* "kncg.pw", true */ 'k', 'n', 'c', 'g', '.', 'p', 'w', '\0',
   /* "kngk-azs.ru", true */ 'k', 'n', 'g', 'k', '-', 'a', 'z', 's', '.', 'r', 'u', '\0',
   /* "kngk-group.ru", true */ 'k', 'n', 'g', 'k', '-', 'g', 'r', 'o', 'u', 'p', '.', 'r', 'u', '\0',
   /* "kngk-transavto.ru", true */ 'k', 'n', 'g', 'k', '-', 't', 'r', 'a', 'n', 's', 'a', 'v', 't', 'o', '.', 'r', 'u', '\0',
   /* "kngk.org", true */ 'k', 'n', 'g', 'k', '.', 'o', 'r', 'g', '\0',
+  /* "kngkng.com", true */ 'k', 'n', 'g', 'k', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "knigadel.com", true */ 'k', 'n', 'i', 'g', 'a', 'd', 'e', 'l', '.', 'c', 'o', 'm', '\0',
   /* "knightsblog.de", true */ 'k', 'n', 'i', 'g', 'h', 't', 's', 'b', 'l', 'o', 'g', '.', 'd', 'e', '\0',
   /* "knightsbridge.net", true */ 'k', 'n', 'i', 'g', 'h', 't', 's', 'b', 'r', 'i', 'd', 'g', 'e', '.', 'n', 'e', 't', '\0',
   /* "knip.ch", true */ 'k', 'n', 'i', 'p', '.', 'c', 'h', '\0',
   /* "knot-store.com", true */ 'k', 'n', 'o', 't', '-', 's', 't', 'o', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "knowdebt.org", true */ 'k', 'n', 'o', 'w', 'd', 'e', 'b', 't', '.', 'o', 'r', 'g', '\0',
   /* "knowledgehook.com", true */ 'k', 'n', 'o', 'w', 'l', 'e', 'd', 'g', 'e', 'h', 'o', 'o', 'k', '.', 'c', 'o', 'm', '\0',
   /* "knowledgesnap.com", true */ 'k', 'n', 'o', 'w', 'l', 'e', 'd', 'g', 'e', 's', 'n', 'a', 'p', '.', 'c', 'o', 'm', '\0',
@@ -8784,16 +8798,17 @@ static const char kSTSHostTable[] = {
   /* "krestanskydarek.cz", true */ 'k', 'r', 'e', 's', 't', 'a', 'n', 's', 'k', 'y', 'd', 'a', 'r', 'e', 'k', '.', 'c', 'z', '\0',
   /* "kretschmann.consulting", true */ 'k', 'r', 'e', 't', 's', 'c', 'h', 'm', 'a', 'n', 'n', '.', 'c', 'o', 'n', 's', 'u', 'l', 't', 'i', 'n', 'g', '\0',
   /* "kreuzpfadfinder.de", true */ 'k', 'r', 'e', 'u', 'z', 'p', 'f', 'a', 'd', 'f', 'i', 'n', 'd', 'e', 'r', '.', 'd', 'e', '\0',
   /* "kriechel.de", true */ 'k', 'r', 'i', 'e', 'c', 'h', 'e', 'l', '.', 'd', 'e', '\0',
   /* "kriegskindernothilfe.de", true */ 'k', 'r', 'i', 'e', 'g', 's', 'k', 'i', 'n', 'd', 'e', 'r', 'n', 'o', 't', 'h', 'i', 'l', 'f', 'e', '.', 'd', 'e', '\0',
   /* "kriptosec.com", true */ 'k', 'r', 'i', 'p', 't', 'o', 's', 'e', 'c', '.', 'c', 'o', 'm', '\0',
   /* "krislamoureux.com", true */ 'k', 'r', 'i', 's', 'l', 'a', 'm', 'o', 'u', 'r', 'e', 'u', 'x', '.', 'c', 'o', 'm', '\0',
   /* "krisstarkey.co.uk", true */ 'k', 'r', 'i', 's', 's', 't', 'a', 'r', 'k', 'e', 'y', '.', 'c', 'o', '.', 'u', 'k', '\0',
+  /* "kristikala.nl", true */ 'k', 'r', 'i', 's', 't', 'i', 'k', 'a', 'l', 'a', '.', 'n', 'l', '\0',
   /* "kristinbailey.com", true */ 'k', 'r', 'i', 's', 't', 'i', 'n', 'b', 'a', 'i', 'l', 'e', 'y', '.', 'c', 'o', 'm', '\0',
   /* "kristjanrang.eu", true */ 'k', 'r', 'i', 's', 't', 'j', 'a', 'n', 'r', 'a', 'n', 'g', '.', 'e', 'u', '\0',
   /* "kristofferkoch.com", true */ 'k', 'r', 'i', 's', 't', 'o', 'f', 'f', 'e', 'r', 'k', 'o', 'c', 'h', '.', 'c', 'o', 'm', '\0',
   /* "krizek.cc", true */ 'k', 'r', 'i', 'z', 'e', 'k', '.', 'c', 'c', '\0',
   /* "krizevackapajdasija.hr", true */ 'k', 'r', 'i', 'z', 'e', 'v', 'a', 'c', 'k', 'a', 'p', 'a', 'j', 'd', 'a', 's', 'i', 'j', 'a', '.', 'h', 'r', '\0',
   /* "krk-media.pl", false */ 'k', 'r', 'k', '-', 'm', 'e', 'd', 'i', 'a', '.', 'p', 'l', '\0',
   /* "krmela.com", true */ 'k', 'r', 'm', 'e', 'l', 'a', '.', 'c', 'o', 'm', '\0',
   /* "krmeni.cz", true */ 'k', 'r', 'm', 'e', 'n', 'i', '.', 'c', 'z', '\0',
@@ -8963,17 +8978,16 @@ static const char kSTSHostTable[] = {
   /* "lansinoh.co.uk", true */ 'l', 'a', 'n', 's', 'i', 'n', 'o', 'h', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "lantian.pub", true */ 'l', 'a', 'n', 't', 'i', 'a', 'n', '.', 'p', 'u', 'b', '\0',
   /* "lanuovariviera.it", true */ 'l', 'a', 'n', 'u', 'o', 'v', 'a', 'r', 'i', 'v', 'i', 'e', 'r', 'a', '.', 'i', 't', '\0',
   /* "lanyang.tk", true */ 'l', 'a', 'n', 'y', 'a', 'n', 'g', '.', 't', 'k', '\0',
   /* "lanzainc.xyz", true */ 'l', 'a', 'n', 'z', 'a', 'i', 'n', 'c', '.', 'x', 'y', 'z', '\0',
   /* "laos.dating", true */ 'l', 'a', 'o', 's', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0',
   /* "lapetition.be", true */ 'l', 'a', 'p', 'e', 't', 'i', 't', 'i', 'o', 'n', '.', 'b', 'e', '\0',
   /* "lapidge.net", true */ 'l', 'a', 'p', 'i', 'd', 'g', 'e', '.', 'n', 'e', 't', '\0',
-  /* "laplaceduvillage.net", true */ 'l', 'a', 'p', 'l', 'a', 'c', 'e', 'd', 'u', 'v', 'i', 'l', 'l', 'a', 'g', 'e', '.', 'n', 'e', 't', '\0',
   /* "laplanetebleue.com", true */ 'l', 'a', 'p', 'l', 'a', 'n', 'e', 't', 'e', 'b', 'l', 'e', 'u', 'e', '.', 'c', 'o', 'm', '\0',
   /* "lapolla.com", true */ 'l', 'a', 'p', 'o', 'l', 'l', 'a', '.', 'c', 'o', 'm', '\0',
   /* "laposte.net", true */ 'l', 'a', 'p', 'o', 's', 't', 'e', '.', 'n', 'e', 't', '\0',
   /* "lapparente-aise.ch", true */ 'l', 'a', 'p', 'p', 'a', 'r', 'e', 'n', 't', 'e', '-', 'a', 'i', 's', 'e', '.', 'c', 'h', '\0',
   /* "laraeph.com", true */ 'l', 'a', 'r', 'a', 'e', 'p', 'h', '.', 'c', 'o', 'm', '\0',
   /* "largescaleforums.com", true */ 'l', 'a', 'r', 'g', 'e', 's', 'c', 'a', 'l', 'e', 'f', 'o', 'r', 'u', 'm', 's', '.', 'c', 'o', 'm', '\0',
   /* "largeviewer.com", true */ 'l', 'a', 'r', 'g', 'e', 'v', 'i', 'e', 'w', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "larptreff.de", true */ 'l', 'a', 'r', 'p', 't', 'r', 'e', 'f', 'f', '.', 'd', 'e', '\0',
@@ -9128,16 +9142,17 @@ static const char kSTSHostTable[] = {
   /* "leola.cz", true */ 'l', 'e', 'o', 'l', 'a', '.', 'c', 'z', '\0',
   /* "leola.sk", true */ 'l', 'e', 'o', 'l', 'a', '.', 's', 'k', '\0',
   /* "leolana.com", true */ 'l', 'e', 'o', 'l', 'a', 'n', 'a', '.', 'c', 'o', 'm', '\0',
   /* "leominstercu.com", false */ 'l', 'e', 'o', 'm', 'i', 'n', 's', 't', 'e', 'r', 'c', 'u', '.', 'c', 'o', 'm', '\0',
   /* "leonard.io", false */ 'l', 'e', 'o', 'n', 'a', 'r', 'd', '.', 'i', 'o', '\0',
   /* "leonardcamacho.me", true */ 'l', 'e', 'o', 'n', 'a', 'r', 'd', 'c', 'a', 'm', 'a', 'c', 'h', 'o', '.', 'm', 'e', '\0',
   /* "leonax.net", true */ 'l', 'e', 'o', 'n', 'a', 'x', '.', 'n', 'e', 't', '\0',
   /* "leondenard.com", true */ 'l', 'e', 'o', 'n', 'd', 'e', 'n', 'a', 'r', 'd', '.', 'c', 'o', 'm', '\0',
+  /* "leonhooijer.nl", true */ 'l', 'e', 'o', 'n', 'h', 'o', 'o', 'i', 'j', 'e', 'r', '.', 'n', 'l', '\0',
   /* "leonklingele.de", true */ 'l', 'e', 'o', 'n', 'k', 'l', 'i', 'n', 'g', 'e', 'l', 'e', '.', 'd', 'e', '\0',
   /* "leonmahler.consulting", true */ 'l', 'e', 'o', 'n', 'm', 'a', 'h', 'l', 'e', 'r', '.', 'c', 'o', 'n', 's', 'u', 'l', 't', 'i', 'n', 'g', '\0',
   /* "lep.gov", true */ 'l', 'e', 'p', '.', 'g', 'o', 'v', '\0',
   /* "leppis-it.de", true */ 'l', 'e', 'p', 'p', 'i', 's', '-', 'i', 't', '.', 'd', 'e', '\0',
   /* "leprado.com", true */ 'l', 'e', 'p', 'r', 'a', 'd', 'o', '.', 'c', 'o', 'm', '\0',
   /* "lerasenglish.com", true */ 'l', 'e', 'r', 'a', 's', 'e', 'n', 'g', 'l', 'i', 's', 'h', '.', 'c', 'o', 'm', '\0',
   /* "lereporter.ma", true */ 'l', 'e', 'r', 'e', 'p', 'o', 'r', 't', 'e', 'r', '.', 'm', 'a', '\0',
   /* "lerku.com", true */ 'l', 'e', 'r', 'k', 'u', '.', 'c', 'o', 'm', '\0',
@@ -9173,33 +9188,32 @@ static const char kSTSHostTable[] = {
   /* "leu.to", true */ 'l', 'e', 'u', '.', 't', 'o', '\0',
   /* "leuthardtfamily.com", true */ 'l', 'e', 'u', 't', 'h', 'a', 'r', 'd', 't', 'f', 'a', 'm', 'i', 'l', 'y', '.', 'c', 'o', 'm', '\0',
   /* "levans.fr", true */ 'l', 'e', 'v', 'a', 'n', 's', '.', 'f', 'r', '\0',
   /* "levendwater.org", true */ 'l', 'e', 'v', 'e', 'n', 'd', 'w', 'a', 't', 'e', 'r', '.', 'o', 'r', 'g', '\0',
   /* "levert.ch", true */ 'l', 'e', 'v', 'e', 'r', 't', '.', 'c', 'h', '\0',
   /* "levindesalpes.fr", false */ 'l', 'e', 'v', 'i', 'n', 'd', 'e', 's', 'a', 'l', 'p', 'e', 's', '.', 'f', 'r', '\0',
   /* "levinus.de", true */ 'l', 'e', 'v', 'i', 'n', 'u', 's', '.', 'd', 'e', '\0',
   /* "lew.im", true */ 'l', 'e', 'w', '.', 'i', 'm', '\0',
-  /* "lewis.li", true */ 'l', 'e', 'w', 'i', 's', '.', 'l', 'i', '\0',
   /* "lewisjuggins.co.uk", true */ 'l', 'e', 'w', 'i', 's', 'j', 'u', 'g', 'g', 'i', 'n', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "lewislaw.com", true */ 'l', 'e', 'w', 'i', 's', 'l', 'a', 'w', '.', 'c', 'o', 'm', '\0',
   /* "lewisllewellyn.me", true */ 'l', 'e', 'w', 'i', 's', 'l', 'l', 'e', 'w', 'e', 'l', 'l', 'y', 'n', '.', 'm', 'e', '\0',
   /* "lexico.pt", true */ 'l', 'e', 'x', 'i', 'c', 'o', '.', 'p', 't', '\0',
   /* "lexicography.online", true */ 'l', 'e', 'x', 'i', 'c', 'o', 'g', 'r', 'a', 'p', 'h', 'y', '.', 'o', 'n', 'l', 'i', 'n', 'e', '\0',
   /* "lexway.pk", true */ 'l', 'e', 'x', 'w', 'a', 'y', '.', 'p', 'k', '\0',
   /* "lez-cuties.com", true */ 'l', 'e', 'z', '-', 'c', 'u', 't', 'i', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "lezdomsm.com", true */ 'l', 'e', 'z', 'd', 'o', 'm', 's', 'm', '.', 'c', 'o', 'm', '\0',
   /* "lfgss.com", true */ 'l', 'f', 'g', 's', 's', '.', 'c', 'o', 'm', '\0',
   /* "lghfinancialstrategy.ch", true */ 'l', 'g', 'h', 'f', 'i', 'n', 'a', 'n', 'c', 'i', 'a', 'l', 's', 't', 'r', 'a', 't', 'e', 'g', 'y', '.', 'c', 'h', '\0',
   /* "lhalbert.xyz", true */ 'l', 'h', 'a', 'l', 'b', 'e', 'r', 't', '.', 'x', 'y', 'z', '\0',
   /* "lhasaapso.com.br", true */ 'l', 'h', 'a', 's', 'a', 'a', 'p', 's', 'o', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "li-ke.co.jp", true */ 'l', 'i', '-', 'k', 'e', '.', 'c', 'o', '.', 'j', 'p', '\0',
   /* "liangji.com.tw", false */ 'l', 'i', 'a', 'n', 'g', 'j', 'i', '.', 'c', 'o', 'm', '.', 't', 'w', '\0',
   /* "lianye.in", true */ 'l', 'i', 'a', 'n', 'y', 'e', '.', 'i', 'n', '\0',
-  /* "liaronce.win", true */ 'l', 'i', 'a', 'r', 'o', 'n', 'c', 'e', '.', 'w', 'i', 'n', '\0',
+  /* "lianyexiuchang.in", true */ 'l', 'i', 'a', 'n', 'y', 'e', 'x', 'i', 'u', 'c', 'h', 'a', 'n', 'g', '.', 'i', 'n', '\0',
   /* "libbitcoin.org", true */ 'l', 'i', 'b', 'b', 'i', 't', 'c', 'o', 'i', 'n', '.', 'o', 'r', 'g', '\0',
   /* "libble.eu", true */ 'l', 'i', 'b', 'b', 'l', 'e', '.', 'e', 'u', '\0',
   /* "libertas-tech.com", true */ 'l', 'i', 'b', 'e', 'r', 't', 'a', 's', '-', 't', 'e', 'c', 'h', '.', 'c', 'o', 'm', '\0',
   /* "libfte.org", true */ 'l', 'i', 'b', 'f', 't', 'e', '.', 'o', 'r', 'g', '\0',
   /* "libnull.com", true */ 'l', 'i', 'b', 'n', 'u', 'l', 'l', '.', 'c', 'o', 'm', '\0',
   /* "library-quest.com", true */ 'l', 'i', 'b', 'r', 'a', 'r', 'y', '-', 'q', 'u', 'e', 's', 't', '.', 'c', 'o', 'm', '\0',
   /* "libraryextension.com", true */ 'l', 'i', 'b', 'r', 'a', 'r', 'y', 'e', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "libraryfreedomproject.org", false */ 'l', 'i', 'b', 'r', 'a', 'r', 'y', 'f', 'r', 'e', 'e', 'd', 'o', 'm', 'p', 'r', 'o', 'j', 'e', 'c', 't', '.', 'o', 'r', 'g', '\0',
@@ -9255,17 +9269,17 @@ static const char kSTSHostTable[] = {
   /* "lillepuu.com", true */ 'l', 'i', 'l', 'l', 'e', 'p', 'u', 'u', '.', 'c', 'o', 'm', '\0',
   /* "lily-inn.com", true */ 'l', 'i', 'l', 'y', '-', 'i', 'n', 'n', '.', 'c', 'o', 'm', '\0',
   /* "lilyfarmfreshskincare.com", true */ 'l', 'i', 'l', 'y', 'f', 'a', 'r', 'm', 'f', 'r', 'e', 's', 'h', 's', 'k', 'i', 'n', 'c', 'a', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "limawi.io", true */ 'l', 'i', 'm', 'a', 'w', 'i', '.', 'i', 'o', '\0',
   /* "limitededitioncomputers.com", true */ 'l', 'i', 'm', 'i', 't', 'e', 'd', 'e', 'd', 'i', 't', 'i', 'o', 'n', 'c', 'o', 'm', 'p', 'u', 't', 'e', 'r', 's', '.', 'c', 'o', 'm', '\0',
   /* "limitededitionsolutions.com", true */ 'l', 'i', 'm', 'i', 't', 'e', 'd', 'e', 'd', 'i', 't', 'i', 'o', 'n', 's', 'o', 'l', 'u', 't', 'i', 'o', 'n', 's', '.', 'c', 'o', 'm', '\0',
   /* "limix.com", true */ 'l', 'i', 'm', 'i', 'x', '.', 'c', 'o', 'm', '\0',
   /* "limousineservicezurich.com", true */ 'l', 'i', 'm', 'o', 'u', 's', 'i', 'n', 'e', 's', 'e', 'r', 'v', 'i', 'c', 'e', 'z', 'u', 'r', 'i', 'c', 'h', '.', 'c', 'o', 'm', '\0',
-  /* "limpens.net", true */ 'l', 'i', 'm', 'p', 'e', 'n', 's', '.', 'n', 'e', 't', '\0',
+  /* "limpens.net", false */ 'l', 'i', 'm', 'p', 'e', 'n', 's', '.', 'n', 'e', 't', '\0',
   /* "limpid.nl", true */ 'l', 'i', 'm', 'p', 'i', 'd', '.', 'n', 'l', '\0',
   /* "linden.me", true */ 'l', 'i', 'n', 'd', 'e', 'n', '.', 'm', 'e', '\0',
   /* "lindeskar.se", true */ 'l', 'i', 'n', 'd', 'e', 's', 'k', 'a', 'r', '.', 's', 'e', '\0',
   /* "lingerie.com.br", true */ 'l', 'i', 'n', 'g', 'e', 'r', 'i', 'e', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "lingolia.com", true */ 'l', 'i', 'n', 'g', 'o', 'l', 'i', 'a', '.', 'c', 'o', 'm', '\0',
   /* "lingotaxi.com", true */ 'l', 'i', 'n', 'g', 'o', 't', 'a', 'x', 'i', '.', 'c', 'o', 'm', '\0',
   /* "linguamilla.com", true */ 'l', 'i', 'n', 'g', 'u', 'a', 'm', 'i', 'l', 'l', 'a', '.', 'c', 'o', 'm', '\0',
   /* "linguatrip.com", false */ 'l', 'i', 'n', 'g', 'u', 'a', 't', 'r', 'i', 'p', '.', 'c', 'o', 'm', '\0',
@@ -9328,18 +9342,16 @@ static const char kSTSHostTable[] = {
   /* "litchidova.nl", true */ 'l', 'i', 't', 'c', 'h', 'i', 'd', 'o', 'v', 'a', '.', 'n', 'l', '\0',
   /* "litebits.com", true */ 'l', 'i', 't', 'e', 'b', 'i', 't', 's', '.', 'c', 'o', 'm', '\0',
   /* "litevault.net", true */ 'l', 'i', 't', 'e', 'v', 'a', 'u', 'l', 't', '.', 'n', 'e', 't', '\0',
   /* "litfin.name", true */ 'l', 'i', 't', 'f', 'i', 'n', '.', 'n', 'a', 'm', 'e', '\0',
   /* "lithesalar.se", true */ 'l', 'i', 't', 'h', 'e', 's', 'a', 'l', 'a', 'r', '.', 's', 'e', '\0',
   /* "littlefreelibrary.org", true */ 'l', 'i', 't', 't', 'l', 'e', 'f', 'r', 'e', 'e', 'l', 'i', 'b', 'r', 'a', 'r', 'y', '.', 'o', 'r', 'g', '\0',
   /* "littleswitch.co.jp", true */ 'l', 'i', 't', 't', 'l', 'e', 's', 'w', 'i', 't', 'c', 'h', '.', 'c', 'o', '.', 'j', 'p', '\0',
   /* "litvideoserver.de", true */ 'l', 'i', 't', 'v', 'i', 'd', 'e', 'o', 's', 'e', 'r', 'v', 'e', 'r', '.', 'd', 'e', '\0',
-  /* "litz.ca", true */ 'l', 'i', 't', 'z', '.', 'c', 'a', '\0',
-  /* "litzenberger.ca", true */ 'l', 'i', 't', 'z', 'e', 'n', 'b', 'e', 'r', 'g', 'e', 'r', '.', 'c', 'a', '\0',
   /* "liuboznaiko.eu", true */ 'l', 'i', 'u', 'b', 'o', 'z', 'n', 'a', 'i', 'k', 'o', '.', 'e', 'u', '\0',
   /* "liud.im", true */ 'l', 'i', 'u', 'd', '.', 'i', 'm', '\0',
   /* "liudon.org", true */ 'l', 'i', 'u', 'd', 'o', 'n', '.', 'o', 'r', 'g', '\0',
   /* "liukang.tech", true */ 'l', 'i', 'u', 'k', 'a', 'n', 'g', '.', 't', 'e', 'c', 'h', '\0',
   /* "liv3ly.com", true */ 'l', 'i', 'v', '3', 'l', 'y', '.', 'c', 'o', 'm', '\0',
   /* "livecards.co.uk", true */ 'l', 'i', 'v', 'e', 'c', 'a', 'r', 'd', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "livedesign.at", true */ 'l', 'i', 'v', 'e', 'd', 'e', 's', 'i', 'g', 'n', '.', 'a', 't', '\0',
   /* "liveflightapp.com", true */ 'l', 'i', 'v', 'e', 'f', 'l', 'i', 'g', 'h', 't', 'a', 'p', 'p', '.', 'c', 'o', 'm', '\0',
@@ -9433,17 +9445,16 @@ static const char kSTSHostTable[] = {
   /* "lojamagicalx.com", true */ 'l', 'o', 'j', 'a', 'm', 'a', 'g', 'i', 'c', 'a', 'l', 'x', '.', 'c', 'o', 'm', '\0',
   /* "lojix.com", true */ 'l', 'o', 'j', 'i', 'x', '.', 'c', 'o', 'm', '\0',
   /* "lojj.pt", true */ 'l', 'o', 'j', 'j', '.', 'p', 't', '\0',
   /* "lokaal.org", true */ 'l', 'o', 'k', 'a', 'a', 'l', '.', 'o', 'r', 'g', '\0',
   /* "loli.bz", true */ 'l', 'o', 'l', 'i', '.', 'b', 'z', '\0',
   /* "loli.pet", true */ 'l', 'o', 'l', 'i', '.', 'p', 'e', 't', '\0',
   /* "lolicon.eu", true */ 'l', 'o', 'l', 'i', 'c', 'o', 'n', '.', 'e', 'u', '\0',
   /* "lolkot.ru", true */ 'l', 'o', 'l', 'k', 'o', 't', '.', 'r', 'u', '\0',
-  /* "lolmegafroi.de", true */ 'l', 'o', 'l', 'm', 'e', 'g', 'a', 'f', 'r', 'o', 'i', '.', 'd', 'e', '\0',
   /* "lolpatrol.de", true */ 'l', 'o', 'l', 'p', 'a', 't', 'r', 'o', 'l', '.', 'd', 'e', '\0',
   /* "lolpatrol.wtf", true */ 'l', 'o', 'l', 'p', 'a', 't', 'r', 'o', 'l', '.', 'w', 't', 'f', '\0',
   /* "lona.io", true */ 'l', 'o', 'n', 'a', '.', 'i', 'o', '\0',
   /* "lonal.com", true */ 'l', 'o', 'n', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "lonasdigital.com", true */ 'l', 'o', 'n', 'a', 's', 'd', 'i', 'g', 'i', 't', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "london-transfers.com", true */ 'l', 'o', 'n', 'd', 'o', 'n', '-', 't', 'r', 'a', 'n', 's', 'f', 'e', 'r', 's', '.', 'c', 'o', 'm', '\0',
   /* "london.dating", true */ 'l', 'o', 'n', 'd', 'o', 'n', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0',
   /* "londoncalling.co", true */ 'l', 'o', 'n', 'd', 'o', 'n', 'c', 'a', 'l', 'l', 'i', 'n', 'g', '.', 'c', 'o', '\0',
@@ -9476,17 +9487,16 @@ static const char kSTSHostTable[] = {
   /* "lost.host", true */ 'l', 'o', 's', 't', '.', 'h', 'o', 's', 't', '\0',
   /* "lostserver.com", true */ 'l', 'o', 's', 't', 's', 'e', 'r', 'v', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "lostwithdan.com", true */ 'l', 'o', 's', 't', 'w', 'i', 't', 'h', 'd', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "loteks.de", true */ 'l', 'o', 't', 'e', 'k', 's', '.', 'd', 'e', '\0',
   /* "lotos-ag.ch", true */ 'l', 'o', 't', 'o', 's', '-', 'a', 'g', '.', 'c', 'h', '\0',
   /* "lottosonline.com", true */ 'l', 'o', 't', 't', 'o', 's', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "lotw.de", true */ 'l', 'o', 't', 'w', '.', 'd', 'e', '\0',
   /* "loucanfixit.com", true */ 'l', 'o', 'u', 'c', 'a', 'n', 'f', 'i', 'x', 'i', 't', '.', 'c', 'o', 'm', '\0',
-  /* "louiewatch.com", true */ 'l', 'o', 'u', 'i', 'e', 'w', 'a', 't', 'c', 'h', '.', 'c', 'o', 'm', '\0',
   /* "louisvillevmug.info", true */ 'l', 'o', 'u', 'i', 's', 'v', 'i', 'l', 'l', 'e', 'v', 'm', 'u', 'g', '.', 'i', 'n', 'f', 'o', '\0',
   /* "loune.net", true */ 'l', 'o', 'u', 'n', 'e', '.', 'n', 'e', 't', '\0',
   /* "love-schna.jp", true */ 'l', 'o', 'v', 'e', '-', 's', 'c', 'h', 'n', 'a', '.', 'j', 'p', '\0',
   /* "loveismore.de", true */ 'l', 'o', 'v', 'e', 'i', 's', 'm', 'o', 'r', 'e', '.', 'd', 'e', '\0',
   /* "loveismore.es", true */ 'l', 'o', 'v', 'e', 'i', 's', 'm', 'o', 'r', 'e', '.', 'e', 's', '\0',
   /* "loveismore.eu", true */ 'l', 'o', 'v', 'e', 'i', 's', 'm', 'o', 'r', 'e', '.', 'e', 'u', '\0',
   /* "loveismore.fr", true */ 'l', 'o', 'v', 'e', 'i', 's', 'm', 'o', 'r', 'e', '.', 'f', 'r', '\0',
   /* "loveismore.it", true */ 'l', 'o', 'v', 'e', 'i', 's', 'm', 'o', 'r', 'e', '.', 'i', 't', '\0',
@@ -9613,17 +9623,16 @@ static const char kSTSHostTable[] = {
   /* "m.mail.ru", true */ 'm', '.', 'm', 'a', 'i', 'l', '.', 'r', 'u', '\0',
   /* "m132.eu", true */ 'm', '1', '3', '2', '.', 'e', 'u', '\0',
   /* "m2os.com", true */ 'm', '2', 'o', 's', '.', 'c', 'o', 'm', '\0',
   /* "ma2t.com", true */ 'm', 'a', '2', 't', '.', 'c', 'o', 'm', '\0',
   /* "maartenterpstra.xyz", true */ 'm', 'a', 'a', 'r', 't', 'e', 'n', 't', 'e', 'r', 'p', 's', 't', 'r', 'a', '.', 'x', 'y', 'z', '\0',
   /* "mac1.net", true */ 'm', 'a', 'c', '1', '.', 'n', 'e', 't', '\0',
   /* "macaque.io", false */ 'm', 'a', 'c', 'a', 'q', 'u', 'e', '.', 'i', 'o', '\0',
   /* "macbolo.com", true */ 'm', 'a', 'c', 'b', 'o', 'l', 'o', '.', 'c', 'o', 'm', '\0',
-  /* "macchedil.com", false */ 'm', 'a', 'c', 'c', 'h', 'e', 'd', 'i', 'l', '.', 'c', 'o', 'm', '\0',
   /* "maceinturecuir.com", true */ 'm', 'a', 'c', 'e', 'i', 'n', 't', 'u', 'r', 'e', 'c', 'u', 'i', 'r', '.', 'c', 'o', 'm', '\0',
   /* "maces-net.de", true */ 'm', 'a', 'c', 'e', 's', '-', 'n', 'e', 't', '.', 'd', 'e', '\0',
   /* "mach-politik.ch", true */ 'm', 'a', 'c', 'h', '-', 'p', 'o', 'l', 'i', 't', 'i', 'k', '.', 'c', 'h', '\0',
   /* "machbach.com", true */ 'm', 'a', 'c', 'h', 'b', 'a', 'c', 'h', '.', 'c', 'o', 'm', '\0',
   /* "machbach.net", true */ 'm', 'a', 'c', 'h', 'b', 'a', 'c', 'h', '.', 'n', 'e', 't', '\0',
   /* "machon.biz", false */ 'm', 'a', 'c', 'h', 'o', 'n', '.', 'b', 'i', 'z', '\0',
   /* "macht-elektro.de", true */ 'm', 'a', 'c', 'h', 't', '-', 'e', 'l', 'e', 'k', 't', 'r', 'o', '.', 'd', 'e', '\0',
   /* "machtweb.de", true */ 'm', 'a', 'c', 'h', 't', 'w', 'e', 'b', '.', 'd', 'e', '\0',
@@ -9661,18 +9670,16 @@ static const char kSTSHostTable[] = {
   /* "magicball.co", true */ 'm', 'a', 'g', 'i', 'c', 'b', 'a', 'l', 'l', '.', 'c', 'o', '\0',
   /* "magicbroccoli.de", true */ 'm', 'a', 'g', 'i', 'c', 'b', 'r', 'o', 'c', 'c', 'o', 'l', 'i', '.', 'd', 'e', '\0',
   /* "magictable.com", true */ 'm', 'a', 'g', 'i', 'c', 't', 'a', 'b', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "magilio.com", true */ 'm', 'a', 'g', 'i', 'l', 'i', 'o', '.', 'c', 'o', 'm', '\0',
   /* "magnacumlaude.co", true */ 'm', 'a', 'g', 'n', 'a', 'c', 'u', 'm', 'l', 'a', 'u', 'd', 'e', '.', 'c', 'o', '\0',
   /* "magneticanvil.com", true */ 'm', 'a', 'g', 'n', 'e', 't', 'i', 'c', 'a', 'n', 'v', 'i', 'l', '.', 'c', 'o', 'm', '\0',
   /* "magnets.jp", true */ 'm', 'a', 'g', 'n', 'e', 't', 's', '.', 'j', 'p', '\0',
   /* "magnoliasib.ru", false */ 'm', 'a', 'g', 'n', 'o', 'l', 'i', 'a', 's', 'i', 'b', '.', 'r', 'u', '\0',
-  /* "mahefa.co.uk", true */ 'm', 'a', 'h', 'e', 'f', 'a', '.', 'c', 'o', '.', 'u', 'k', '\0',
-  /* "mahfouzadedimeji.com", true */ 'm', 'a', 'h', 'f', 'o', 'u', 'z', 'a', 'd', 'e', 'd', 'i', 'm', 'e', 'j', 'i', '.', 'c', 'o', 'm', '\0',
   /* "mahrer.net", true */ 'm', 'a', 'h', 'r', 'e', 'r', '.', 'n', 'e', 't', '\0',
   /* "maidofhonorcleaning.net", true */ 'm', 'a', 'i', 'd', 'o', 'f', 'h', 'o', 'n', 'o', 'r', 'c', 'l', 'e', 'a', 'n', 'i', 'n', 'g', '.', 'n', 'e', 't', '\0',
   /* "mail-rotter.de", true */ 'm', 'a', 'i', 'l', '-', 'r', 'o', 't', 't', 'e', 'r', '.', 'd', 'e', '\0',
   /* "mail-settings.google.com", true */ 'm', 'a', 'i', 'l', '-', 's', 'e', 't', 't', 'i', 'n', 'g', 's', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "mail.de", true */ 'm', 'a', 'i', 'l', '.', 'd', 'e', '\0',
   /* "mail.google.com", true */ 'm', 'a', 'i', 'l', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "mail.yahoo.com", false */ 'm', 'a', 'i', 'l', '.', 'y', 'a', 'h', 'o', 'o', '.', 'c', 'o', 'm', '\0',
   /* "mail4you.in", true */ 'm', 'a', 'i', 'l', '4', 'y', 'o', 'u', '.', 'i', 'n', '\0',
@@ -10107,17 +10114,16 @@ static const char kSTSHostTable[] = {
   /* "melody-lyrics.com", true */ 'm', 'e', 'l', 'o', 'd', 'y', '-', 'l', 'y', 'r', 'i', 'c', 's', '.', 'c', 'o', 'm', '\0',
   /* "melpomene.me", true */ 'm', 'e', 'l', 'p', 'o', 'm', 'e', 'n', 'e', '.', 'm', 'e', '\0',
   /* "melted.me", true */ 'm', 'e', 'l', 't', 'e', 'd', '.', 'm', 'e', '\0',
   /* "melvinlow.com", true */ 'm', 'e', 'l', 'v', 'i', 'n', 'l', 'o', 'w', '.', 'c', 'o', 'm', '\0',
   /* "memberpress.com", true */ 'm', 'e', 'm', 'b', 'e', 'r', 'p', 'r', 'e', 's', 's', '.', 'c', 'o', 'm', '\0',
   /* "members-only-shopping.com", true */ 'm', 'e', 'm', 'b', 'e', 'r', 's', '-', 'o', 'n', 'l', 'y', '-', 's', 'h', 'o', 'p', 'p', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "members.nearlyfreespeech.net", false */ 'm', 'e', 'm', 'b', 'e', 'r', 's', '.', 'n', 'e', 'a', 'r', 'l', 'y', 'f', 'r', 'e', 'e', 's', 'p', 'e', 'e', 'c', 'h', '.', 'n', 'e', 't', '\0',
   /* "memdoc.org", true */ 'm', 'e', 'm', 'd', 'o', 'c', '.', 'o', 'r', 'g', '\0',
-  /* "meme.institute", true */ 'm', 'e', 'm', 'e', '.', 'i', 'n', 's', 't', 'i', 't', 'u', 't', 'e', '\0',
   /* "memeblast.ninja", true */ 'm', 'e', 'm', 'e', 'b', 'l', 'a', 's', 't', '.', 'n', 'i', 'n', 'j', 'a', '\0',
   /* "memo-linux.com", true */ 'm', 'e', 'm', 'o', '-', 'l', 'i', 'n', 'u', 'x', '.', 'c', 'o', 'm', '\0',
   /* "memoire-resistance-ariege.fr", true */ 'm', 'e', 'm', 'o', 'i', 'r', 'e', '-', 'r', 'e', 's', 'i', 's', 't', 'a', 'n', 'c', 'e', '-', 'a', 'r', 'i', 'e', 'g', 'e', '.', 'f', 'r', '\0',
   /* "memoryex.net", true */ 'm', 'e', 'm', 'o', 'r', 'y', 'e', 'x', '.', 'n', 'e', 't', '\0',
   /* "menaraannonces.com", true */ 'm', 'e', 'n', 'a', 'r', 'a', 'a', 'n', 'n', 'o', 'n', 'c', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "menchez.me", true */ 'm', 'e', 'n', 'c', 'h', 'e', 'z', '.', 'm', 'e', '\0',
   /* "mendy.jp", true */ 'm', 'e', 'n', 'd', 'y', '.', 'j', 'p', '\0',
   /* "menielias.com", true */ 'm', 'e', 'n', 'i', 'e', 'l', 'i', 'a', 's', '.', 'c', 'o', 'm', '\0',
@@ -10173,17 +10179,16 @@ static const char kSTSHostTable[] = {
   /* "metsasta.com", true */ 'm', 'e', 't', 's', 'a', 's', 't', 'a', '.', 'c', 'o', 'm', '\0',
   /* "metzgerei-birkenhof.de", true */ 'm', 'e', 't', 'z', 'g', 'e', 'r', 'e', 'i', '-', 'b', 'i', 'r', 'k', 'e', 'n', 'h', 'o', 'f', '.', 'd', 'e', '\0',
   /* "meusigno.com", true */ 'm', 'e', 'u', 's', 'i', 'g', 'n', 'o', '.', 'c', 'o', 'm', '\0',
   /* "mevs.cz", true */ 'm', 'e', 'v', 's', '.', 'c', 'z', '\0',
   /* "mexican.dating", true */ 'm', 'e', 'x', 'i', 'c', 'a', 'n', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0',
   /* "mexior.nl", true */ 'm', 'e', 'x', 'i', 'o', 'r', '.', 'n', 'l', '\0',
   /* "meyeraviation.com", true */ 'm', 'e', 'y', 'e', 'r', 'a', 'v', 'i', 'a', 't', 'i', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "meyercloud.de", true */ 'm', 'e', 'y', 'e', 'r', 'c', 'l', 'o', 'u', 'd', '.', 'd', 'e', '\0',
-  /* "mfedderke.com", true */ 'm', 'f', 'e', 'd', 'd', 'e', 'r', 'k', 'e', '.', 'c', 'o', 'm', '\0',
   /* "mfxbe.de", true */ 'm', 'f', 'x', 'b', 'e', '.', 'd', 'e', '\0',
   /* "mgdigital.fr", true */ 'm', 'g', 'd', 'i', 'g', 'i', 't', 'a', 'l', '.', 'f', 'r', '\0',
   /* "mghiorzi.com.ar", true */ 'm', 'g', 'h', 'i', 'o', 'r', 'z', 'i', '.', 'c', 'o', 'm', '.', 'a', 'r', '\0',
   /* "mgrossklaus.de", true */ 'm', 'g', 'r', 'o', 's', 's', 'k', 'l', 'a', 'u', 's', '.', 'd', 'e', '\0',
   /* "mheistermann.de", true */ 'm', 'h', 'e', 'i', 's', 't', 'e', 'r', 'm', 'a', 'n', 'n', '.', 'd', 'e', '\0',
   /* "mhermans.nl", true */ 'm', 'h', 'e', 'r', 'm', 'a', 'n', 's', '.', 'n', 'l', '\0',
   /* "mhjuma.com", true */ 'm', 'h', 'j', 'u', 'm', 'a', '.', 'c', 'o', 'm', '\0',
   /* "mi80.com", true */ 'm', 'i', '8', '0', '.', 'c', 'o', 'm', '\0',
@@ -10354,25 +10359,28 @@ static const char kSTSHostTable[] = {
   /* "missip.nl", true */ 'm', 'i', 's', 's', 'i', 'p', '.', 'n', 'l', '\0',
   /* "misskey.xyz", true */ 'm', 'i', 's', 's', 'k', 'e', 'y', '.', 'x', 'y', 'z', '\0',
   /* "missoy.me", true */ 'm', 'i', 's', 's', 'o', 'y', '.', 'm', 'e', '\0',
   /* "mist.ink", true */ 'm', 'i', 's', 't', '.', 'i', 'n', 'k', '\0',
   /* "mistacms.com", true */ 'm', 'i', 's', 't', 'a', 'c', 'm', 's', '.', 'c', 'o', 'm', '\0',
   /* "mistreaded.com", true */ 'm', 'i', 's', 't', 'r', 'e', 'a', 'd', 'e', 'd', '.', 'c', 'o', 'm', '\0',
   /* "misupport.dk", true */ 'm', 'i', 's', 'u', 'p', 'p', 'o', 'r', 't', '.', 'd', 'k', '\0',
   /* "mit-uns.org", true */ 'm', 'i', 't', '-', 'u', 'n', 's', '.', 'o', 'r', 'g', '\0',
+  /* "mita.me", true */ 'm', 'i', 't', 'a', '.', 'm', 'e', '\0',
+  /* "mitarbeiter-pc.de", true */ 'm', 'i', 't', 'a', 'r', 'b', 'e', 'i', 't', 'e', 'r', '-', 'p', 'c', '.', 'd', 'e', '\0',
   /* "mitchellhandymanservices.co.uk", true */ 'm', 'i', 't', 'c', 'h', 'e', 'l', 'l', 'h', 'a', 'n', 'd', 'y', 'm', 'a', 'n', 's', 'e', 'r', 'v', 'i', 'c', 'e', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "mitior.net", true */ 'm', 'i', 't', 'i', 'o', 'r', '.', 'n', 'e', 't', '\0',
   /* "mitnetz-gas.de", true */ 'm', 'i', 't', 'n', 'e', 't', 'z', '-', 'g', 'a', 's', '.', 'd', 'e', '\0',
   /* "mitnetz-strom.de", true */ 'm', 'i', 't', 'n', 'e', 't', 'z', '-', 's', 't', 'r', 'o', 'm', '.', 'd', 'e', '\0',
   /* "mitrecaasd.org", true */ 'm', 'i', 't', 'r', 'e', 'c', 'a', 'a', 's', 'd', '.', 'o', 'r', 'g', '\0',
   /* "mitremai.org", true */ 'm', 'i', 't', 'r', 'e', 'm', 'a', 'i', '.', 'o', 'r', 'g', '\0',
   /* "mitsukabose.com", true */ 'm', 'i', 't', 's', 'u', 'k', 'a', 'b', 'o', 's', 'e', '.', 'c', 'o', 'm', '\0',
   /* "mittelunsachlich.de", true */ 'm', 'i', 't', 't', 'e', 'l', 'u', 'n', 's', 'a', 'c', 'h', 'l', 'i', 'c', 'h', '.', 'd', 'e', '\0',
   /* "mitzpettel.com", true */ 'm', 'i', 't', 'z', 'p', 'e', 't', 't', 'e', 'l', '.', 'c', 'o', 'm', '\0',
+  /* "miui-germany.de", true */ 'm', 'i', 'u', 'i', '-', 'g', 'e', 'r', 'm', 'a', 'n', 'y', '.', 'd', 'e', '\0',
   /* "mivzakim.net", true */ 'm', 'i', 'v', 'z', 'a', 'k', 'i', 'm', '.', 'n', 'e', 't', '\0',
   /* "mixposure.com", true */ 'm', 'i', 'x', 'p', 'o', 's', 'u', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "miya.io", true */ 'm', 'i', 'y', 'a', '.', 'i', 'o', '\0',
   /* "miyatore.com", true */ 'm', 'i', 'y', 'a', 't', 'o', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "mizque.ch", true */ 'm', 'i', 'z', 'q', 'u', 'e', '.', 'c', 'h', '\0',
   /* "mjacobson.net", true */ 'm', 'j', 'a', 'c', 'o', 'b', 's', 'o', 'n', '.', 'n', 'e', 't', '\0',
   /* "mjanja.ch", true */ 'm', 'j', 'a', 'n', 'j', 'a', '.', 'c', 'h', '\0',
   /* "mjcaffarattilaw.com", true */ 'm', 'j', 'c', 'a', 'f', 'f', 'a', 'r', 'a', 't', 't', 'i', 'l', 'a', 'w', '.', 'c', 'o', 'm', '\0',
@@ -10429,16 +10437,17 @@ static const char kSTSHostTable[] = {
   /* "mobiletraff.co", true */ 'm', 'o', 'b', 'i', 'l', 'e', 't', 'r', 'a', 'f', 'f', '.', 'c', 'o', '\0',
   /* "mobilewikiserver.com", true */ 'm', 'o', 'b', 'i', 'l', 'e', 'w', 'i', 'k', 'i', 's', 'e', 'r', 'v', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "mobilinnov.it", true */ 'm', 'o', 'b', 'i', 'l', 'i', 'n', 'n', 'o', 'v', '.', 'i', 't', '\0',
   /* "mobility-events.ch", true */ 'm', 'o', 'b', 'i', 'l', 'i', 't', 'y', '-', 'e', 'v', 'e', 'n', 't', 's', '.', 'c', 'h', '\0',
   /* "mobilux.lv", true */ 'm', 'o', 'b', 'i', 'l', 'u', 'x', '.', 'l', 'v', '\0',
   /* "mobio.net", true */ 'm', 'o', 'b', 'i', 'o', '.', 'n', 'e', 't', '\0',
   /* "mobisaar-cloud.de", true */ 'm', 'o', 'b', 'i', 's', 'a', 'a', 'r', '-', 'c', 'l', 'o', 'u', 'd', '.', 'd', 'e', '\0',
   /* "mobobe.com", true */ 'm', 'o', 'b', 'o', 'b', 'e', '.', 'c', 'o', 'm', '\0',
+  /* "mobsender.com", true */ 'm', 'o', 'b', 's', 'e', 'n', 'd', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "modafinil.com", true */ 'm', 'o', 'd', 'a', 'f', 'i', 'n', 'i', 'l', '.', 'c', 'o', 'm', '\0',
   /* "modafinil.wiki", true */ 'm', 'o', 'd', 'a', 'f', 'i', 'n', 'i', 'l', '.', 'w', 'i', 'k', 'i', '\0',
   /* "modded-minecraft-server-list.com", true */ 'm', 'o', 'd', 'd', 'e', 'd', '-', 'm', 'i', 'n', 'e', 'c', 'r', 'a', 'f', 't', '-', 's', 'e', 'r', 'v', 'e', 'r', '-', 'l', 'i', 's', 't', '.', 'c', 'o', 'm', '\0',
   /* "mode-individuell.de", true */ 'm', 'o', 'd', 'e', '-', 'i', 'n', 'd', 'i', 'v', 'i', 'd', 'u', 'e', 'l', 'l', '.', 'd', 'e', '\0',
   /* "mode-marine.com", true */ 'm', 'o', 'd', 'e', '-', 'm', 'a', 'r', 'i', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "modecaso.com", true */ 'm', 'o', 'd', 'e', 'c', 'a', 's', 'o', '.', 'c', 'o', 'm', '\0',
   /* "modehaus-marionk.de", true */ 'm', 'o', 'd', 'e', 'h', 'a', 'u', 's', '-', 'm', 'a', 'r', 'i', 'o', 'n', 'k', '.', 'd', 'e', '\0',
   /* "modelcase.co.jp", false */ 'm', 'o', 'd', 'e', 'l', 'c', 'a', 's', 'e', '.', 'c', 'o', '.', 'j', 'p', '\0',
@@ -10455,17 +10464,16 @@ static const char kSTSHostTable[] = {
   /* "moe.pe", true */ 'm', 'o', 'e', '.', 'p', 'e', '\0',
   /* "moe4sale.in", true */ 'm', 'o', 'e', '4', 's', 'a', 'l', 'e', '.', 'i', 'n', '\0',
   /* "moechel.com", true */ 'm', 'o', 'e', 'c', 'h', 'e', 'l', '.', 'c', 'o', 'm', '\0',
   /* "moefactory.com", true */ 'm', 'o', 'e', 'f', 'a', 'c', 't', 'o', 'r', 'y', '.', 'c', 'o', 'm', '\0',
   /* "moegirl.org", true */ 'm', 'o', 'e', 'g', 'i', 'r', 'l', '.', 'o', 'r', 'g', '\0',
   /* "moehrke.cc", true */ 'm', 'o', 'e', 'h', 'r', 'k', 'e', '.', 'c', 'c', '\0',
   /* "moeloli.pw", true */ 'm', 'o', 'e', 'l', 'o', 'l', 'i', '.', 'p', 'w', '\0',
   /* "moevenpick-cafe.com", true */ 'm', 'o', 'e', 'v', 'e', 'n', 'p', 'i', 'c', 'k', '-', 'c', 'a', 'f', 'e', '.', 'c', 'o', 'm', '\0',
-  /* "moeyi.xyz", true */ 'm', 'o', 'e', 'y', 'i', '.', 'x', 'y', 'z', '\0',
   /* "mofohome.dyndns.org", true */ 'm', 'o', 'f', 'o', 'h', 'o', 'm', 'e', '.', 'd', 'y', 'n', 'd', 'n', 's', '.', 'o', 'r', 'g', '\0',
   /* "moitur.com", true */ 'm', 'o', 'i', 't', 'u', 'r', '.', 'c', 'o', 'm', '\0',
   /* "mojaknjiznica.com", false */ 'm', 'o', 'j', 'a', 'k', 'n', 'j', 'i', 'z', 'n', 'i', 'c', 'a', '.', 'c', 'o', 'm', '\0',
   /* "mojapraca.sk", true */ 'm', 'o', 'j', 'a', 'p', 'r', 'a', 'c', 'a', '.', 's', 'k', '\0',
   /* "mojzis.com", true */ 'm', 'o', 'j', 'z', 'i', 's', '.', 'c', 'o', 'm', '\0',
   /* "mojzis.cz", true */ 'm', 'o', 'j', 'z', 'i', 's', '.', 'c', 'z', '\0',
   /* "mojzisova.com", true */ 'm', 'o', 'j', 'z', 'i', 's', 'o', 'v', 'a', '.', 'c', 'o', 'm', '\0',
   /* "mokadev.com", true */ 'm', 'o', 'k', 'a', 'd', 'e', 'v', '.', 'c', 'o', 'm', '\0',
@@ -10510,16 +10518,17 @@ static const char kSTSHostTable[] = {
   /* "monpermisvoiture.com", true */ 'm', 'o', 'n', 'p', 'e', 'r', 'm', 'i', 's', 'v', 'o', 'i', 't', 'u', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "monsieursavon.ch", true */ 'm', 'o', 'n', 's', 'i', 'e', 'u', 'r', 's', 'a', 'v', 'o', 'n', '.', 'c', 'h', '\0',
   /* "monstrus.de", true */ 'm', 'o', 'n', 's', 't', 'r', 'u', 's', '.', 'd', 'e', '\0',
   /* "montage-kaika.de", true */ 'm', 'o', 'n', 't', 'a', 'g', 'e', '-', 'k', 'a', 'i', 'k', 'a', '.', 'd', 'e', '\0',
   /* "montand.com", true */ 'm', 'o', 'n', 't', 'a', 'n', 'd', '.', 'c', 'o', 'm', '\0',
   /* "montarfotoaki.com", true */ 'm', 'o', 'n', 't', 'a', 'r', 'f', 'o', 't', 'o', 'a', 'k', 'i', '.', 'c', 'o', 'm', '\0',
   /* "montazer.net", true */ 'm', 'o', 'n', 't', 'a', 'z', 'e', 'r', '.', 'n', 'e', 't', '\0',
   /* "moo.la", true */ 'm', 'o', 'o', '.', 'l', 'a', '\0',
+  /* "moobo.co.jp", true */ 'm', 'o', 'o', 'b', 'o', '.', 'c', 'o', '.', 'j', 'p', '\0',
   /* "moobo.xyz", true */ 'm', 'o', 'o', 'b', 'o', '.', 'x', 'y', 'z', '\0',
   /* "moodfoods.com", true */ 'm', 'o', 'o', 'd', 'f', 'o', 'o', 'd', 's', '.', 'c', 'o', 'm', '\0',
   /* "moonagic.com", true */ 'm', 'o', 'o', 'n', 'a', 'g', 'i', 'c', '.', 'c', 'o', 'm', '\0',
   /* "moonless.net", true */ 'm', 'o', 'o', 'n', 'l', 'e', 's', 's', '.', 'n', 'e', 't', '\0',
   /* "moonloupe.com", true */ 'm', 'o', 'o', 'n', 'l', 'o', 'u', 'p', 'e', '.', 'c', 'o', 'm', '\0',
   /* "moonmelo.com", true */ 'm', 'o', 'o', 'n', 'm', 'e', 'l', 'o', '.', 'c', 'o', 'm', '\0',
   /* "moonraptor.co.uk", true */ 'm', 'o', 'o', 'n', 'r', 'a', 'p', 't', 'o', 'r', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "moonraptor.com", true */ 'm', 'o', 'o', 'n', 'r', 'a', 'p', 't', 'o', 'r', '.', 'c', 'o', 'm', '\0',
@@ -10800,17 +10809,16 @@ static const char kSTSHostTable[] = {
   /* "mysterysear.ch", true */ 'm', 'y', 's', 't', 'e', 'r', 'y', 's', 'e', 'a', 'r', '.', 'c', 'h', '\0',
   /* "mystic-welten.de", true */ 'm', 'y', 's', 't', 'i', 'c', '-', 'w', 'e', 'l', 't', 'e', 'n', '.', 'd', 'e', '\0',
   /* "mystickphysick.com", true */ 'm', 'y', 's', 't', 'i', 'c', 'k', 'p', 'h', 'y', 's', 'i', 'c', 'k', '.', 'c', 'o', 'm', '\0',
   /* "mysticplumes.com", true */ 'm', 'y', 's', 't', 'i', 'c', 'p', 'l', 'u', 'm', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "mystown.org", true */ 'm', 'y', 's', 't', 'o', 'w', 'n', '.', 'o', 'r', 'g', '\0',
   /* "mystudy.me", true */ 'm', 'y', 's', 't', 'u', 'd', 'y', '.', 'm', 'e', '\0',
   /* "mytc.fr", true */ 'm', 'y', 't', 'c', '.', 'f', 'r', '\0',
   /* "mythengay.ch", true */ 'm', 'y', 't', 'h', 'e', 'n', 'g', 'a', 'y', '.', 'c', 'h', '\0',
-  /* "mythlogic.com", true */ 'm', 'y', 't', 'h', 'l', 'o', 'g', 'i', 'c', '.', 'c', 'o', 'm', '\0',
   /* "mythslegendscollection.com", true */ 'm', 'y', 't', 'h', 's', 'l', 'e', 'g', 'e', 'n', 'd', 's', 'c', 'o', 'l', 'l', 'e', 'c', 't', 'i', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "mytraiteurs.com", true */ 'm', 'y', 't', 'r', 'a', 'i', 't', 'e', 'u', 'r', 's', '.', 'c', 'o', 'm', '\0',
   /* "mytripcar.co.uk", true */ 'm', 'y', 't', 'r', 'i', 'p', 'c', 'a', 'r', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "mytripcar.com", true */ 'm', 'y', 't', 'r', 'i', 'p', 'c', 'a', 'r', '.', 'c', 'o', 'm', '\0',
   /* "mytripcar.de", true */ 'm', 'y', 't', 'r', 'i', 'p', 'c', 'a', 'r', '.', 'd', 'e', '\0',
   /* "mytripcar.es", true */ 'm', 'y', 't', 'r', 'i', 'p', 'c', 'a', 'r', '.', 'e', 's', '\0',
   /* "mytripcar.fr", true */ 'm', 'y', 't', 'r', 'i', 'p', 'c', 'a', 'r', '.', 'f', 'r', '\0',
   /* "mytty.net", true */ 'm', 'y', 't', 't', 'y', '.', 'n', 'e', 't', '\0',
@@ -10861,16 +10869,17 @@ static const char kSTSHostTable[] = {
   /* "namereel.com", true */ 'n', 'a', 'm', 'e', 'r', 'e', 'e', 'l', '.', 'c', 'o', 'm', '\0',
   /* "namethatbone.com", true */ 'n', 'a', 'm', 'e', 't', 'h', 'a', 't', 'b', 'o', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "nametiles.co", true */ 'n', 'a', 'm', 'e', 't', 'i', 'l', 'e', 's', '.', 'c', 'o', '\0',
   /* "naminam.de", true */ 'n', 'a', 'm', 'i', 'n', 'a', 'm', '.', 'd', 'e', '\0',
   /* "namrs.net", true */ 'n', 'a', 'm', 'r', 's', '.', 'n', 'e', 't', '\0',
   /* "namu.moe", true */ 'n', 'a', 'm', 'u', '.', 'm', 'o', 'e', '\0',
   /* "namu.wiki", true */ 'n', 'a', 'm', 'u', '.', 'w', 'i', 'k', 'i', '\0',
   /* "nanch.com", true */ 'n', 'a', 'n', 'c', 'h', '.', 'c', 'o', 'm', '\0',
+  /* "nanderson.me", true */ 'n', 'a', 'n', 'd', 'e', 'r', 's', 'o', 'n', '.', 'm', 'e', '\0',
   /* "nandex.org", true */ 'n', 'a', 'n', 'd', 'e', 'x', '.', 'o', 'r', 'g', '\0',
   /* "nankiseamansclub.com", true */ 'n', 'a', 'n', 'k', 'i', 's', 'e', 'a', 'm', 'a', 'n', 's', 'c', 'l', 'u', 'b', '.', 'c', 'o', 'm', '\0',
   /* "nanokamo.com", true */ 'n', 'a', 'n', 'o', 'k', 'a', 'm', 'o', '.', 'c', 'o', 'm', '\0',
   /* "nansay.cn", true */ 'n', 'a', 'n', 's', 'a', 'y', '.', 'c', 'n', '\0',
   /* "naphex.rocks", true */ 'n', 'a', 'p', 'h', 'e', 'x', '.', 'r', 'o', 'c', 'k', 's', '\0',
   /* "napisynapomniky.cz", true */ 'n', 'a', 'p', 'i', 's', 'y', 'n', 'a', 'p', 'o', 'm', 'n', 'i', 'k', 'y', '.', 'c', 'z', '\0',
   /* "narach.com", true */ 'n', 'a', 'r', 'a', 'c', 'h', '.', 'c', 'o', 'm', '\0',
   /* "naralogics.com", true */ 'n', 'a', 'r', 'a', 'l', 'o', 'g', 'i', 'c', 's', '.', 'c', 'o', 'm', '\0',
@@ -10901,16 +10910,17 @@ static const char kSTSHostTable[] = {
   /* "nationalcentereg.org", true */ 'n', 'a', 't', 'i', 'o', 'n', 'a', 'l', 'c', 'e', 'n', 't', 'e', 'r', 'e', 'g', '.', 'o', 'r', 'g', '\0',
   /* "nationalcrimecheck.com.au", true */ 'n', 'a', 't', 'i', 'o', 'n', 'a', 'l', 'c', 'r', 'i', 'm', 'e', 'c', 'h', 'e', 'c', 'k', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "nationalpriorities.org", true */ 'n', 'a', 't', 'i', 'o', 'n', 'a', 'l', 'p', 'r', 'i', 'o', 'r', 'i', 't', 'i', 'e', 's', '.', 'o', 'r', 'g', '\0',
   /* "nationwidevehiclecontracts.co.uk", true */ 'n', 'a', 't', 'i', 'o', 'n', 'w', 'i', 'd', 'e', 'v', 'e', 'h', 'i', 'c', 'l', 'e', 'c', 'o', 'n', 't', 'r', 'a', 'c', 't', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "natsumihoshino.com", true */ 'n', 'a', 't', 's', 'u', 'm', 'i', 'h', 'o', 's', 'h', 'i', 'n', 'o', '.', 'c', 'o', 'm', '\0',
   /* "naturesharvestbread.com", true */ 'n', 'a', 't', 'u', 'r', 'e', 's', 'h', 'a', 'r', 'v', 'e', 's', 't', 'b', 'r', 'e', 'a', 'd', '.', 'c', 'o', 'm', '\0',
   /* "naturheilpraxis-orlowsky.de", true */ 'n', 'a', 't', 'u', 'r', 'h', 'e', 'i', 'l', 'p', 'r', 'a', 'x', 'i', 's', '-', 'o', 'r', 'l', 'o', 'w', 's', 'k', 'y', '.', 'd', 'e', '\0',
   /* "naturline.com", true */ 'n', 'a', 't', 'u', 'r', 'l', 'i', 'n', 'e', '.', 'c', 'o', 'm', '\0',
+  /* "nauck.org", false */ 'n', 'a', 'u', 'c', 'k', '.', 'o', 'r', 'g', '\0',
   /* "naudles.me", true */ 'n', 'a', 'u', 'd', 'l', 'e', 's', '.', 'm', 'e', '\0',
   /* "naughty.audio", true */ 'n', 'a', 'u', 'g', 'h', 't', 'y', '.', 'a', 'u', 'd', 'i', 'o', '\0',
   /* "nautsch.de", true */ 'n', 'a', 'u', 't', 's', 'c', 'h', '.', 'd', 'e', '\0',
   /* "navdeep.ca", true */ 'n', 'a', 'v', 'd', 'e', 'e', 'p', '.', 'c', 'a', '\0',
   /* "navigate-it-services.de", false */ 'n', 'a', 'v', 'i', 'g', 'a', 't', 'e', '-', 'i', 't', '-', 's', 'e', 'r', 'v', 'i', 'c', 'e', 's', '.', 'd', 'e', '\0',
   /* "naviteq.eu", true */ 'n', 'a', 'v', 'i', 't', 'e', 'q', '.', 'e', 'u', '\0',
   /* "navitime.me", true */ 'n', 'a', 'v', 'i', 't', 'i', 'm', 'e', '.', 'm', 'e', '\0',
   /* "navstevnik.sk", true */ 'n', 'a', 'v', 's', 't', 'e', 'v', 'n', 'i', 'k', '.', 's', 'k', '\0',
@@ -11183,17 +11193,16 @@ static const char kSTSHostTable[] = {
   /* "nihseniorhealth.gov", true */ 'n', 'i', 'h', 's', 'e', 'n', 'i', 'o', 'r', 'h', 'e', 'a', 'l', 't', 'h', '.', 'g', 'o', 'v', '\0',
   /* "nijiero-ch.com", false */ 'n', 'i', 'j', 'i', 'e', 'r', 'o', '-', 'c', 'h', '.', 'c', 'o', 'm', '\0',
   /* "nijm.nl", true */ 'n', 'i', 'j', 'm', '.', 'n', 'l', '\0',
   /* "nikandcara.com", true */ 'n', 'i', 'k', 'a', 'n', 'd', 'c', 'a', 'r', 'a', '.', 'c', 'o', 'm', '\0',
   /* "nikao-tech.com", true */ 'n', 'i', 'k', 'a', 'o', '-', 't', 'e', 'c', 'h', '.', 'c', 'o', 'm', '\0',
   /* "nikklassen.ca", true */ 'n', 'i', 'k', 'k', 'l', 'a', 's', 's', 'e', 'n', '.', 'c', 'a', '\0',
   /* "nikksno.io", true */ 'n', 'i', 'k', 'k', 's', 'n', 'o', '.', 'i', 'o', '\0',
   /* "niklas.pw", true */ 'n', 'i', 'k', 'l', 'a', 's', '.', 'p', 'w', '\0',
-  /* "nikobradshaw.com", true */ 'n', 'i', 'k', 'o', 'b', 'r', 'a', 'd', 's', 'h', 'a', 'w', '.', 'c', 'o', 'm', '\0',
   /* "nikolaichik.photo", true */ 'n', 'i', 'k', 'o', 'l', 'a', 'i', 'c', 'h', 'i', 'k', '.', 'p', 'h', 'o', 't', 'o', '\0',
   /* "nikolasbradshaw.com", true */ 'n', 'i', 'k', 'o', 'l', 'a', 's', 'b', 'r', 'a', 'd', 's', 'h', 'a', 'w', '.', 'c', 'o', 'm', '\0',
   /* "nikolasgrottendieck.com", true */ 'n', 'i', 'k', 'o', 'l', 'a', 's', 'g', 'r', 'o', 't', 't', 'e', 'n', 'd', 'i', 'e', 'c', 'k', '.', 'c', 'o', 'm', '\0',
   /* "nil.gs", true */ 'n', 'i', 'l', '.', 'g', 's', '\0',
   /* "niloxy.com", true */ 'n', 'i', 'l', 'o', 'x', 'y', '.', 'c', 'o', 'm', '\0',
   /* "nilrem.org", true */ 'n', 'i', 'l', 'r', 'e', 'm', '.', 'o', 'r', 'g', '\0',
   /* "nimeshjm.com", true */ 'n', 'i', 'm', 'e', 's', 'h', 'j', 'm', '.', 'c', 'o', 'm', '\0',
   /* "ninchat.com", true */ 'n', 'i', 'n', 'c', 'h', 'a', 't', '.', 'c', 'o', 'm', '\0',
@@ -11265,16 +11274,17 @@ static const char kSTSHostTable[] = {
   /* "noodplan.co.za", true */ 'n', 'o', 'o', 'd', 'p', 'l', 'a', 'n', '.', 'c', 'o', '.', 'z', 'a', '\0',
   /* "noop.ch", true */ 'n', 'o', 'o', 'p', '.', 'c', 'h', '\0',
   /* "noordsee.de", true */ 'n', 'o', 'o', 'r', 'd', 's', 'e', 'e', '.', 'd', 'e', '\0',
   /* "nootropic.com", true */ 'n', 'o', 'o', 't', 'r', 'o', 'p', 'i', 'c', '.', 'c', 'o', 'm', '\0',
   /* "nord-sud.be", true */ 'n', 'o', 'r', 'd', '-', 's', 'u', 'd', '.', 'b', 'e', '\0',
   /* "nordiccasinocommunity.com", true */ 'n', 'o', 'r', 'd', 'i', 'c', 'c', 'a', 's', 'i', 'n', 'o', 'c', 'o', 'm', 'm', 'u', 'n', 'i', 't', 'y', '.', 'c', 'o', 'm', '\0',
   /* "nordlicht.photography", true */ 'n', 'o', 'r', 'd', 'l', 'i', 'c', 'h', 't', '.', 'p', 'h', 'o', 't', 'o', 'g', 'r', 'a', 'p', 'h', 'y', '\0',
   /* "nordor.homeip.net", true */ 'n', 'o', 'r', 'd', 'o', 'r', '.', 'h', 'o', 'm', 'e', 'i', 'p', '.', 'n', 'e', 't', '\0',
+  /* "nordseeblicke.de", true */ 'n', 'o', 'r', 'd', 's', 'e', 'e', 'b', 'l', 'i', 'c', 'k', 'e', '.', 'd', 'e', '\0',
   /* "nordwaldzendo.de", true */ 'n', 'o', 'r', 'd', 'w', 'a', 'l', 'd', 'z', 'e', 'n', 'd', 'o', '.', 'd', 'e', '\0',
   /* "noreply.mx", true */ 'n', 'o', 'r', 'e', 'p', 'l', 'y', '.', 'm', 'x', '\0',
   /* "normaculta.com.br", true */ 'n', 'o', 'r', 'm', 'a', 'c', 'u', 'l', 't', 'a', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "norrkemi.se", true */ 'n', 'o', 'r', 'r', 'k', 'e', 'm', 'i', '.', 's', 'e', '\0',
   /* "norrliden.de", true */ 'n', 'o', 'r', 'r', 'l', 'i', 'd', 'e', 'n', '.', 'd', 'e', '\0',
   /* "norskpensjon.no", true */ 'n', 'o', 'r', 's', 'k', 'p', 'e', 'n', 's', 'j', 'o', 'n', '.', 'n', 'o', '\0',
   /* "northbrisbaneapartments.com.au", true */ 'n', 'o', 'r', 't', 'h', 'b', 'r', 'i', 's', 'b', 'a', 'n', 'e', 'a', 'p', 'a', 'r', 't', 'm', 'e', 'n', 't', 's', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "northcutt.com", true */ 'n', 'o', 'r', 't', 'h', 'c', 'u', 't', 't', '.', 'c', 'o', 'm', '\0',
@@ -11294,16 +11304,17 @@ static const char kSTSHostTable[] = {
   /* "nostraforma.com", false */ 'n', 'o', 's', 't', 'r', 'a', 'f', 'o', 'r', 'm', 'a', '.', 'c', 'o', 'm', '\0',
   /* "not-a.link", true */ 'n', 'o', 't', '-', 'a', '.', 'l', 'i', 'n', 'k', '\0',
   /* "notabug.org", true */ 'n', 'o', 't', 'a', 'b', 'u', 'g', '.', 'o', 'r', 'g', '\0',
   /* "notalone.gov", true */ 'n', 'o', 't', 'a', 'l', 'o', 'n', 'e', '.', 'g', 'o', 'v', '\0',
   /* "notarvysocina.cz", true */ 'n', 'o', 't', 'a', 'r', 'v', 'y', 's', 'o', 'c', 'i', 'n', 'a', '.', 'c', 'z', '\0',
   /* "notbolaget.se", true */ 'n', 'o', 't', 'b', 'o', 'l', 'a', 'g', 'e', 't', '.', 's', 'e', '\0',
   /* "notcompletelycorrect.com", true */ 'n', 'o', 't', 'c', 'o', 'm', 'p', 'l', 'e', 't', 'e', 'l', 'y', 'c', 'o', 'r', 'r', 'e', 'c', 't', '.', 'c', 'o', 'm', '\0',
   /* "note7forever.com", true */ 'n', 'o', 't', 'e', '7', 'f', 'o', 'r', 'e', 'v', 'e', 'r', '.', 'c', 'o', 'm', '\0',
+  /* "notenoughtime.de", false */ 'n', 'o', 't', 'e', 'n', 'o', 'u', 'g', 'h', 't', 'i', 'm', 'e', '.', 'd', 'e', '\0',
   /* "notesforpebble.com", true */ 'n', 'o', 't', 'e', 's', 'f', 'o', 'r', 'p', 'e', 'b', 'b', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "nothing.net.nz", true */ 'n', 'o', 't', 'h', 'i', 'n', 'g', '.', 'n', 'e', 't', '.', 'n', 'z', '\0',
   /* "noticia.do", true */ 'n', 'o', 't', 'i', 'c', 'i', 'a', '.', 'd', 'o', '\0',
   /* "noticiasdehumor.com", true */ 'n', 'o', 't', 'i', 'c', 'i', 'a', 's', 'd', 'e', 'h', 'u', 'm', 'o', 'r', '.', 'c', 'o', 'm', '\0',
   /* "notificami.com", true */ 'n', 'o', 't', 'i', 'f', 'i', 'c', 'a', 'm', 'i', '.', 'c', 'o', 'm', '\0',
   /* "notify.moe", true */ 'n', 'o', 't', 'i', 'f', 'y', '.', 'm', 'o', 'e', '\0',
   /* "notinglife.com", true */ 'n', 'o', 't', 'i', 'n', 'g', 'l', 'i', 'f', 'e', '.', 'c', 'o', 'm', '\0',
   /* "notjustbitchy.com", true */ 'n', 'o', 't', 'j', 'u', 's', 't', 'b', 'i', 't', 'c', 'h', 'y', '.', 'c', 'o', 'm', '\0',
@@ -11409,17 +11420,16 @@ static const char kSTSHostTable[] = {
   /* "nzmk.cz", true */ 'n', 'z', 'm', 'k', '.', 'c', 'z', '\0',
   /* "o2careers.co.uk", true */ 'o', '2', 'c', 'a', 'r', 'e', 'e', 'r', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "o3wallet.com", true */ 'o', '3', 'w', 'a', 'l', 'l', 'e', 't', '.', 'c', 'o', 'm', '\0',
   /* "o6asan.com", true */ 'o', '6', 'a', 's', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "oaic.gov.au", true */ 'o', 'a', 'i', 'c', '.', 'g', 'o', 'v', '.', 'a', 'u', '\0',
   /* "oakslighting.co.uk", true */ 'o', 'a', 'k', 's', 'l', 'i', 'g', 'h', 't', 'i', 'n', 'g', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "oauth-dropins.appspot.com", true */ 'o', 'a', 'u', 't', 'h', '-', 'd', 'r', 'o', 'p', 'i', 'n', 's', '.', 'a', 'p', 'p', 's', 'p', 'o', 't', '.', 'c', 'o', 'm', '\0',
   /* "obdolbacca.ru", true */ 'o', 'b', 'd', 'o', 'l', 'b', 'a', 'c', 'c', 'a', '.', 'r', 'u', '\0',
-  /* "obermeiers.eu", true */ 'o', 'b', 'e', 'r', 'm', 'e', 'i', 'e', 'r', 's', '.', 'e', 'u', '\0',
   /* "obfuscate.xyz", true */ 'o', 'b', 'f', 'u', 's', 'c', 'a', 't', 'e', '.', 'x', 'y', 'z', '\0',
   /* "obg-global.com", true */ 'o', 'b', 'g', '-', 'g', 'l', 'o', 'b', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "oblast45.ru", true */ 'o', 'b', 'l', 'a', 's', 't', '4', '5', '.', 'r', 'u', '\0',
   /* "oblikdom.pro", true */ 'o', 'b', 'l', 'i', 'k', 'd', 'o', 'm', '.', 'p', 'r', 'o', '\0',
   /* "oblikdom.ru", true */ 'o', 'b', 'l', 'i', 'k', 'd', 'o', 'm', '.', 'r', 'u', '\0',
   /* "obscur.us", true */ 'o', 'b', 's', 'c', 'u', 'r', '.', 'u', 's', '\0',
   /* "obscuredfiles.com", false */ 'o', 'b', 's', 'c', 'u', 'r', 'e', 'd', 'f', 'i', 'l', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "obsidianirc.net", true */ 'o', 'b', 's', 'i', 'd', 'i', 'a', 'n', 'i', 'r', 'c', '.', 'n', 'e', 't', '\0',
@@ -11530,25 +11540,26 @@ static const char kSTSHostTable[] = {
   /* "olymp-arts.world", true */ 'o', 'l', 'y', 'm', 'p', '-', 'a', 'r', 't', 's', '.', 'w', 'o', 'r', 'l', 'd', '\0',
   /* "omifind.com", true */ 'o', 'm', 'i', 'f', 'i', 'n', 'd', '.', 'c', 'o', 'm', '\0',
   /* "omitech.co.uk", true */ 'o', 'm', 'i', 't', 'e', 'c', 'h', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "omniasl.com", true */ 'o', 'm', 'n', 'i', 'a', 's', 'l', '.', 'c', 'o', 'm', '\0',
   /* "omnienviro.com", true */ 'o', 'm', 'n', 'i', 'e', 'n', 'v', 'i', 'r', 'o', '.', 'c', 'o', 'm', '\0',
   /* "omnienviro.com.au", true */ 'o', 'm', 'n', 'i', 'e', 'n', 'v', 'i', 'r', 'o', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "omniverse.ru", true */ 'o', 'm', 'n', 'i', 'v', 'e', 'r', 's', 'e', '.', 'r', 'u', '\0',
   /* "omsdieppe.fr", true */ 'o', 'm', 's', 'd', 'i', 'e', 'p', 'p', 'e', '.', 'f', 'r', '\0',
-  /* "onaboat.se", true */ 'o', 'n', 'a', 'b', 'o', 'a', 't', '.', 's', 'e', '\0',
   /* "onarto.com", true */ 'o', 'n', 'a', 'r', 't', 'o', '.', 'c', 'o', 'm', '\0',
   /* "oncodedesign.com", true */ 'o', 'n', 'c', 'o', 'd', 'e', 'd', 'e', 's', 'i', 'g', 'n', '.', 'c', 'o', 'm', '\0',
   /* "ondrej.org", true */ 'o', 'n', 'd', 'r', 'e', 'j', '.', 'o', 'r', 'g', '\0',
   /* "one---line.com", true */ 'o', 'n', 'e', '-', '-', '-', 'l', 'i', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "one-pe.com", true */ 'o', 'n', 'e', '-', 'p', 'e', '.', 'c', 'o', 'm', '\0',
   /* "one-tab.com", true */ 'o', 'n', 'e', '-', 't', 'a', 'b', '.', 'c', 'o', 'm', '\0',
   /* "onearth.one", true */ 'o', 'n', 'e', 'a', 'r', 't', 'h', '.', 'o', 'n', 'e', '\0',
   /* "oneazcu.com", false */ 'o', 'n', 'e', 'a', 'z', 'c', 'u', '.', 'c', 'o', 'm', '\0',
+  /* "onecycling.my", true */ 'o', 'n', 'e', 'c', 'y', 'c', 'l', 'i', 'n', 'g', '.', 'm', 'y', '\0',
+  /* "onecycling.world", true */ 'o', 'n', 'e', 'c', 'y', 'c', 'l', 'i', 'n', 'g', '.', 'w', 'o', 'r', 'l', 'd', '\0',
   /* "onedot.nl", true */ 'o', 'n', 'e', 'd', 'o', 't', '.', 'n', 'l', '\0',
   /* "onedrive.com", true */ 'o', 'n', 'e', 'd', 'r', 'i', 'v', 'e', '.', 'c', 'o', 'm', '\0',
   /* "onedrive.live.com", false */ 'o', 'n', 'e', 'd', 'r', 'i', 'v', 'e', '.', 'l', 'i', 'v', 'e', '.', 'c', 'o', 'm', '\0',
   /* "onefour.ga", false */ 'o', 'n', 'e', 'f', 'o', 'u', 'r', '.', 'g', 'a', '\0',
   /* "onehourloan.sg", true */ 'o', 'n', 'e', 'h', 'o', 'u', 'r', 'l', 'o', 'a', 'n', '.', 's', 'g', '\0',
   /* "oneminutefilm.tv", true */ 'o', 'n', 'e', 'm', 'i', 'n', 'u', 't', 'e', 'f', 'i', 'l', 'm', '.', 't', 'v', '\0',
   /* "oneononeonone.de", true */ 'o', 'n', 'e', 'o', 'n', 'o', 'n', 'e', 'o', 'n', 'o', 'n', 'e', '.', 'd', 'e', '\0',
   /* "oneononeonone.tv", true */ 'o', 'n', 'e', 'o', 'n', 'o', 'n', 'e', 'o', 'n', 'o', 'n', 'e', '.', 't', 'v', '\0',
@@ -11812,16 +11823,17 @@ static const char kSTSHostTable[] = {
   /* "papayapythons.com", true */ 'p', 'a', 'p', 'a', 'y', 'a', 'p', 'y', 't', 'h', 'o', 'n', 's', '.', 'c', 'o', 'm', '\0',
   /* "paper-republic.org", true */ 'p', 'a', 'p', 'e', 'r', '-', 'r', 'e', 'p', 'u', 'b', 'l', 'i', 'c', '.', 'o', 'r', 'g', '\0',
   /* "papercrunch.io", true */ 'p', 'a', 'p', 'e', 'r', 'c', 'r', 'u', 'n', 'c', 'h', '.', 'i', 'o', '\0',
   /* "papermasters.com", true */ 'p', 'a', 'p', 'e', 'r', 'm', 'a', 's', 't', 'e', 'r', 's', '.', 'c', 'o', 'm', '\0',
   /* "paperwork.co.za", true */ 'p', 'a', 'p', 'e', 'r', 'w', 'o', 'r', 'k', '.', 'c', 'o', '.', 'z', 'a', '\0',
   /* "parabhairavayoga.com", true */ 'p', 'a', 'r', 'a', 'b', 'h', 'a', 'i', 'r', 'a', 'v', 'a', 'y', 'o', 'g', 'a', '.', 'c', 'o', 'm', '\0',
   /* "paraborsa.net", true */ 'p', 'a', 'r', 'a', 'b', 'o', 'r', 's', 'a', '.', 'n', 'e', 't', '\0',
   /* "paradise-engineering.com", true */ 'p', 'a', 'r', 'a', 'd', 'i', 's', 'e', '-', 'e', 'n', 'g', 'i', 'n', 'e', 'e', 'r', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
+  /* "paradiselost.com", true */ 'p', 'a', 'r', 'a', 'd', 'i', 's', 'e', 'l', 'o', 's', 't', '.', 'c', 'o', 'm', '\0',
   /* "paradoxdesigns.org", true */ 'p', 'a', 'r', 'a', 'd', 'o', 'x', 'd', 'e', 's', 'i', 'g', 'n', 's', '.', 'o', 'r', 'g', '\0',
   /* "paragon.com.sg", true */ 'p', 'a', 'r', 'a', 'g', 'o', 'n', '.', 'c', 'o', 'm', '.', 's', 'g', '\0',
   /* "paragonie.com", false */ 'p', 'a', 'r', 'a', 'g', 'o', 'n', 'i', 'e', '.', 'c', 'o', 'm', '\0',
   /* "paragreen.net", true */ 'p', 'a', 'r', 'a', 'g', 'r', 'e', 'e', 'n', '.', 'n', 'e', 't', '\0',
   /* "paranoxer.hu", true */ 'p', 'a', 'r', 'a', 'n', 'o', 'x', 'e', 'r', '.', 'h', 'u', '\0',
   /* "parasitologyclub.org", true */ 'p', 'a', 'r', 'a', 's', 'i', 't', 'o', 'l', 'o', 'g', 'y', 'c', 'l', 'u', 'b', '.', 'o', 'r', 'g', '\0',
   /* "paratlan.hu", true */ 'p', 'a', 'r', 'a', 't', 'l', 'a', 'n', '.', 'h', 'u', '\0',
   /* "parckwart.de", true */ 'p', 'a', 'r', 'c', 'k', 'w', 'a', 'r', 't', '.', 'd', 'e', '\0',
@@ -11899,17 +11911,16 @@ static const char kSTSHostTable[] = {
   /* "paudley.ca", true */ 'p', 'a', 'u', 'd', 'l', 'e', 'y', '.', 'c', 'a', '\0',
   /* "paudley.com", true */ 'p', 'a', 'u', 'd', 'l', 'e', 'y', '.', 'c', 'o', 'm', '\0',
   /* "paudley.org", true */ 'p', 'a', 'u', 'd', 'l', 'e', 'y', '.', 'o', 'r', 'g', '\0',
   /* "paul.reviews", true */ 'p', 'a', 'u', 'l', '.', 'r', 'e', 'v', 'i', 'e', 'w', 's', '\0',
   /* "pauladamsmith.com", true */ 'p', 'a', 'u', 'l', 'a', 'd', 'a', 'm', 's', 'm', 'i', 't', 'h', '.', 'c', 'o', 'm', '\0',
   /* "paulbakaus.com", true */ 'p', 'a', 'u', 'l', 'b', 'a', 'k', 'a', 'u', 's', '.', 'c', 'o', 'm', '\0',
   /* "paulbdelaat.nl", true */ 'p', 'a', 'u', 'l', 'b', 'd', 'e', 'l', 'a', 'a', 't', '.', 'n', 'l', '\0',
   /* "paulerhof.com", true */ 'p', 'a', 'u', 'l', 'e', 'r', 'h', 'o', 'f', '.', 'c', 'o', 'm', '\0',
-  /* "paulewen.ca", true */ 'p', 'a', 'u', 'l', 'e', 'w', 'e', 'n', '.', 'c', 'a', '\0',
   /* "paulinewesterman.nl", true */ 'p', 'a', 'u', 'l', 'i', 'n', 'e', 'w', 'e', 's', 't', 'e', 'r', 'm', 'a', 'n', '.', 'n', 'l', '\0',
   /* "paulov.com", true */ 'p', 'a', 'u', 'l', 'o', 'v', '.', 'c', 'o', 'm', '\0',
   /* "paulov.info", true */ 'p', 'a', 'u', 'l', 'o', 'v', '.', 'i', 'n', 'f', 'o', '\0',
   /* "paulov.ru", true */ 'p', 'a', 'u', 'l', 'o', 'v', '.', 'r', 'u', '\0',
   /* "paulproell.at", true */ 'p', 'a', 'u', 'l', 'p', 'r', 'o', 'e', 'l', 'l', '.', 'a', 't', '\0',
   /* "paulrobertlloyd.com", true */ 'p', 'a', 'u', 'l', 'r', 'o', 'b', 'e', 'r', 't', 'l', 'l', 'o', 'y', 'd', '.', 'c', 'o', 'm', '\0',
   /* "paulrotter.de", true */ 'p', 'a', 'u', 'l', 'r', 'o', 't', 't', 'e', 'r', '.', 'd', 'e', '\0',
   /* "paulschreiber.com", true */ 'p', 'a', 'u', 'l', 's', 'c', 'h', 'r', 'e', 'i', 'b', 'e', 'r', '.', 'c', 'o', 'm', '\0',
@@ -11996,16 +12007,17 @@ static const char kSTSHostTable[] = {
   /* "peercraft.nl", true */ 'p', 'e', 'e', 'r', 'c', 'r', 'a', 'f', 't', '.', 'n', 'l', '\0',
   /* "peercraft.org", true */ 'p', 'e', 'e', 'r', 'c', 'r', 'a', 'f', 't', '.', 'o', 'r', 'g', '\0',
   /* "peercraft.pl", true */ 'p', 'e', 'e', 'r', 'c', 'r', 'a', 'f', 't', '.', 'p', 'l', '\0',
   /* "peercraft.pt", true */ 'p', 'e', 'e', 'r', 'c', 'r', 'a', 'f', 't', '.', 'p', 't', '\0',
   /* "peercraft.se", true */ 'p', 'e', 'e', 'r', 'c', 'r', 'a', 'f', 't', '.', 's', 'e', '\0',
   /* "peercraft.us", true */ 'p', 'e', 'e', 'r', 'c', 'r', 'a', 'f', 't', '.', 'u', 's', '\0',
   /* "peername.com", true */ 'p', 'e', 'e', 'r', 'n', 'a', 'm', 'e', '.', 'c', 'o', 'm', '\0',
   /* "peervpn.net", true */ 'p', 'e', 'e', 'r', 'v', 'p', 'n', '.', 'n', 'e', 't', '\0',
+  /* "peetah.com", true */ 'p', 'e', 'e', 't', 'a', 'h', '.', 'c', 'o', 'm', '\0',
   /* "peg.nu", true */ 'p', 'e', 'g', '.', 'n', 'u', '\0',
   /* "pegas-studio.net", true */ 'p', 'e', 'g', 'a', 's', '-', 's', 't', 'u', 'd', 'i', 'o', '.', 'n', 'e', 't', '\0',
   /* "pehapkari.cz", true */ 'p', 'e', 'h', 'a', 'p', 'k', 'a', 'r', 'i', '.', 'c', 'z', '\0',
   /* "peifi.de", true */ 'p', 'e', 'i', 'f', 'i', '.', 'd', 'e', '\0',
   /* "peirong.me", true */ 'p', 'e', 'i', 'r', 'o', 'n', 'g', '.', 'm', 'e', '\0',
   /* "pekoe.se", true */ 'p', 'e', 'k', 'o', 'e', '.', 's', 'e', '\0',
   /* "pelanucto.cz", true */ 'p', 'e', 'l', 'a', 'n', 'u', 'c', 't', 'o', '.', 'c', 'z', '\0',
   /* "peliculasaudiolatinoonline.com", true */ 'p', 'e', 'l', 'i', 'c', 'u', 'l', 'a', 's', 'a', 'u', 'd', 'i', 'o', 'l', 'a', 't', 'i', 'n', 'o', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'c', 'o', 'm', '\0',
@@ -12264,17 +12276,16 @@ static const char kSTSHostTable[] = {
   /* "pitchup.com", true */ 'p', 'i', 't', 'c', 'h', 'u', 'p', '.', 'c', 'o', 'm', '\0',
   /* "pitfire.io", false */ 'p', 'i', 't', 'f', 'i', 'r', 'e', '.', 'i', 'o', '\0',
   /* "pitonarms.com", true */ 'p', 'i', 't', 'o', 'n', 'a', 'r', 'm', 's', '.', 'c', 'o', 'm', '\0',
   /* "pittaya.com", true */ 'p', 'i', 't', 't', 'a', 'y', 'a', '.', 'c', 'o', 'm', '\0',
   /* "piwko.co", true */ 'p', 'i', 'w', 'k', 'o', '.', 'c', 'o', '\0',
   /* "pixel.facebook.com", false */ 'p', 'i', 'x', 'e', 'l', '.', 'f', 'a', 'c', 'e', 'b', 'o', 'o', 'k', '.', 'c', 'o', 'm', '\0',
   /* "pixel.google.com", true */ 'p', 'i', 'x', 'e', 'l', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "pixelbash.de", true */ 'p', 'i', 'x', 'e', 'l', 'b', 'a', 's', 'h', '.', 'd', 'e', '\0',
-  /* "pixelcubed.com", true */ 'p', 'i', 'x', 'e', 'l', 'c', 'u', 'b', 'e', 'd', '.', 'c', 'o', 'm', '\0',
   /* "pixelpoint.io", true */ 'p', 'i', 'x', 'e', 'l', 'p', 'o', 'i', 'n', 't', '.', 'i', 'o', '\0',
   /* "pixi.chat", true */ 'p', 'i', 'x', 'i', '.', 'c', 'h', 'a', 't', '\0',
   /* "pixipics.com", false */ 'p', 'i', 'x', 'i', 'p', 'i', 'c', 's', '.', 'c', 'o', 'm', '\0',
   /* "pixiv.moe", false */ 'p', 'i', 'x', 'i', 'v', '.', 'm', 'o', 'e', '\0',
   /* "piyabute.com", true */ 'p', 'i', 'y', 'a', 'b', 'u', 't', 'e', '.', 'c', 'o', 'm', '\0',
   /* "pizala.de", true */ 'p', 'i', 'z', 'a', 'l', 'a', '.', 'd', 'e', '\0',
   /* "pjili.com", true */ 'p', 'j', 'i', 'l', 'i', '.', 'c', 'o', 'm', '\0',
   /* "pjuu.com", false */ 'p', 'j', 'u', 'u', '.', 'c', 'o', 'm', '\0',
@@ -12554,16 +12565,17 @@ static const char kSTSHostTable[] = {
   /* "producto8.com", true */ 'p', 'r', 'o', 'd', 'u', 'c', 't', 'o', '8', '.', 'c', 'o', 'm', '\0',
   /* "proefteksten.nl", true */ 'p', 'r', 'o', 'e', 'f', 't', 'e', 'k', 's', 't', 'e', 'n', '.', 'n', 'l', '\0',
   /* "profection.biz", true */ 'p', 'r', 'o', 'f', 'e', 'c', 't', 'i', 'o', 'n', '.', 'b', 'i', 'z', '\0',
   /* "professors.ee", true */ 'p', 'r', 'o', 'f', 'e', 's', 's', 'o', 'r', 's', '.', 'e', 'e', '\0',
   /* "profidea.cz", true */ 'p', 'r', 'o', 'f', 'i', 'd', 'e', 'a', '.', 'c', 'z', '\0',
   /* "profiles.google.com", true */ 'p', 'r', 'o', 'f', 'i', 'l', 'e', 's', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "profinetz.de", true */ 'p', 'r', 'o', 'f', 'i', 'n', 'e', 't', 'z', '.', 'd', 'e', '\0',
   /* "profitopia.de", true */ 'p', 'r', 'o', 'f', 'i', 't', 'o', 'p', 'i', 'a', '.', 'd', 'e', '\0',
+  /* "profpay.com", true */ 'p', 'r', 'o', 'f', 'p', 'a', 'y', '.', 'c', 'o', 'm', '\0',
   /* "progarm.org", true */ 'p', 'r', 'o', 'g', 'a', 'r', 'm', '.', 'o', 'r', 'g', '\0',
   /* "proggersession.de", true */ 'p', 'r', 'o', 'g', 'g', 'e', 'r', 's', 'e', 's', 's', 'i', 'o', 'n', '.', 'd', 'e', '\0',
   /* "progreso.pl", true */ 'p', 'r', 'o', 'g', 'r', 'e', 's', 'o', '.', 'p', 'l', '\0',
   /* "progress-linux.org", true */ 'p', 'r', 'o', 'g', 'r', 'e', 's', 's', '-', 'l', 'i', 'n', 'u', 'x', '.', 'o', 'r', 'g', '\0',
   /* "progressive.work", true */ 'p', 'r', 'o', 'g', 'r', 'e', 's', 's', 'i', 'v', 'e', '.', 'w', 'o', 'r', 'k', '\0',
   /* "progressivecfo.co.nz", true */ 'p', 'r', 'o', 'g', 'r', 'e', 's', 's', 'i', 'v', 'e', 'c', 'f', 'o', '.', 'c', 'o', '.', 'n', 'z', '\0',
   /* "progressiveplanning.com", true */ 'p', 'r', 'o', 'g', 'r', 'e', 's', 's', 'i', 'v', 'e', 'p', 'l', 'a', 'n', 'n', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "proitconsulting.com.au", true */ 'p', 'r', 'o', 'i', 't', 'c', 'o', 'n', 's', 'u', 'l', 't', 'i', 'n', 'g', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
@@ -12710,17 +12722,16 @@ static const char kSTSHostTable[] = {
   /* "pvpcraft.ca", true */ 'p', 'v', 'p', 'c', 'r', 'a', 'f', 't', '.', 'c', 'a', '\0',
   /* "pvtschlag.com", true */ 'p', 'v', 't', 's', 'c', 'h', 'l', 'a', 'g', '.', 'c', 'o', 'm', '\0',
   /* "pwdgen.net", false */ 'p', 'w', 'd', 'g', 'e', 'n', '.', 'n', 'e', 't', '\0',
   /* "pwe.vision", true */ 'p', 'w', 'e', '.', 'v', 'i', 's', 'i', 'o', 'n', '\0',
   /* "pwfrance.com", true */ 'p', 'w', 'f', 'r', 'a', 'n', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "pwntr.com", true */ 'p', 'w', 'n', 't', 'r', '.', 'c', 'o', 'm', '\0',
   /* "pwolk.com", true */ 'p', 'w', 'o', 'l', 'k', '.', 'c', 'o', 'm', '\0',
   /* "pxx.io", true */ 'p', 'x', 'x', '.', 'i', 'o', '\0',
-  /* "pycrypto.org", true */ 'p', 'y', 'c', 'r', 'y', 'p', 't', 'o', '.', 'o', 'r', 'g', '\0',
   /* "pygarage.com", true */ 'p', 'y', 'g', 'a', 'r', 'a', 'g', 'e', '.', 'c', 'o', 'm', '\0',
   /* "pypa.io", true */ 'p', 'y', 'p', 'a', '.', 'i', 'o', '\0',
   /* "pypi-mirrors.org", true */ 'p', 'y', 'p', 'i', '-', 'm', 'i', 'r', 'r', 'o', 'r', 's', '.', 'o', 'r', 'g', '\0',
   /* "pypi.io", true */ 'p', 'y', 'p', 'i', '.', 'i', 'o', '\0',
   /* "pypi.org", true */ 'p', 'y', 'p', 'i', '.', 'o', 'r', 'g', '\0',
   /* "pypi.python.org", true */ 'p', 'y', 'p', 'i', '.', 'p', 'y', 't', 'h', 'o', 'n', '.', 'o', 'r', 'g', '\0',
   /* "pyrotechnologie.de", true */ 'p', 'y', 'r', 'o', 't', 'e', 'c', 'h', 'n', 'o', 'l', 'o', 'g', 'i', 'e', '.', 'd', 'e', '\0',
   /* "pysays.net", true */ 'p', 'y', 's', 'a', 'y', 's', '.', 'n', 'e', 't', '\0',
@@ -13050,17 +13061,16 @@ static const char kSTSHostTable[] = {
   /* "rehabthailand.nl", true */ 'r', 'e', 'h', 'a', 'b', 't', 'h', 'a', 'i', 'l', 'a', 'n', 'd', '.', 'n', 'l', '\0',
   /* "reichelt-cloud.de", true */ 'r', 'e', 'i', 'c', 'h', 'e', 'l', 't', '-', 'c', 'l', 'o', 'u', 'd', '.', 'd', 'e', '\0',
   /* "reichl-online.net", true */ 'r', 'e', 'i', 'c', 'h', 'l', '-', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'n', 'e', 't', '\0',
   /* "reiki-coaching.nl", true */ 'r', 'e', 'i', 'k', 'i', '-', 'c', 'o', 'a', 'c', 'h', 'i', 'n', 'g', '.', 'n', 'l', '\0',
   /* "reikiqueen.uk", true */ 'r', 'e', 'i', 'k', 'i', 'q', 'u', 'e', 'e', 'n', '.', 'u', 'k', '\0',
   /* "reilly.io", true */ 'r', 'e', 'i', 'l', 'l', 'y', '.', 'i', 'o', '\0',
   /* "reimers.de", true */ 'r', 'e', 'i', 'm', 'e', 'r', 's', '.', 'd', 'e', '\0',
   /* "reinaertvandecruys.me", true */ 'r', 'e', 'i', 'n', 'a', 'e', 'r', 't', 'v', 'a', 'n', 'd', 'e', 'c', 'r', 'u', 'y', 's', '.', 'm', 'e', '\0',
-  /* "reinaldudras.ee", true */ 'r', 'e', 'i', 'n', 'a', 'l', 'd', 'u', 'd', 'r', 'a', 's', '.', 'e', 'e', '\0',
   /* "reinaldudrasfamily.ee", true */ 'r', 'e', 'i', 'n', 'a', 'l', 'd', 'u', 'd', 'r', 'a', 's', 'f', 'a', 'm', 'i', 'l', 'y', '.', 'e', 'e', '\0',
   /* "reinencaressa.be", true */ 'r', 'e', 'i', 'n', 'e', 'n', 'c', 'a', 'r', 'e', 's', 's', 'a', '.', 'b', 'e', '\0',
   /* "reinhardtsgrimma.de", true */ 'r', 'e', 'i', 'n', 'h', 'a', 'r', 'd', 't', 's', 'g', 'r', 'i', 'm', 'm', 'a', '.', 'd', 'e', '\0',
   /* "reinout.nu", true */ 'r', 'e', 'i', 'n', 'o', 'u', 't', '.', 'n', 'u', '\0',
   /* "reinouthoornweg.nl", true */ 'r', 'e', 'i', 'n', 'o', 'u', 't', 'h', 'o', 'o', 'r', 'n', 'w', 'e', 'g', '.', 'n', 'l', '\0',
   /* "reishunger.de", true */ 'r', 'e', 'i', 's', 'h', 'u', 'n', 'g', 'e', 'r', '.', 'd', 'e', '\0',
   /* "reithguard-it.de", true */ 'r', 'e', 'i', 't', 'h', 'g', 'u', 'a', 'r', 'd', '-', 'i', 't', '.', 'd', 'e', '\0',
   /* "relatic.net", true */ 'r', 'e', 'l', 'a', 't', 'i', 'c', '.', 'n', 'e', 't', '\0',
@@ -13158,16 +13168,17 @@ static const char kSTSHostTable[] = {
   /* "revivalinhisword.com", true */ 'r', 'e', 'v', 'i', 'v', 'a', 'l', 'i', 'n', 'h', 'i', 's', 'w', 'o', 'r', 'd', '.', 'c', 'o', 'm', '\0',
   /* "revivingtheredeemed.org", true */ 'r', 'e', 'v', 'i', 'v', 'i', 'n', 'g', 't', 'h', 'e', 'r', 'e', 'd', 'e', 'e', 'm', 'e', 'd', '.', 'o', 'r', 'g', '\0',
   /* "revlect.com", true */ 'r', 'e', 'v', 'l', 'e', 'c', 't', '.', 'c', 'o', 'm', '\0',
   /* "revolt.tv", true */ 'r', 'e', 'v', 'o', 'l', 't', '.', 't', 'v', '\0',
   /* "revthefox.co.uk", true */ 'r', 'e', 'v', 't', 'h', 'e', 'f', 'o', 'x', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "rewardingexcellence.com", true */ 'r', 'e', 'w', 'a', 'r', 'd', 'i', 'n', 'g', 'e', 'x', 'c', 'e', 'l', 'l', 'e', 'n', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "rex.tc", true */ 'r', 'e', 'x', '.', 't', 'c', '\0',
   /* "reykjavik.guide", true */ 'r', 'e', 'y', 'k', 'j', 'a', 'v', 'i', 'k', '.', 'g', 'u', 'i', 'd', 'e', '\0',
+  /* "rezept-planer.de", true */ 'r', 'e', 'z', 'e', 'p', 't', '-', 'p', 'l', 'a', 'n', 'e', 'r', '.', 'd', 'e', '\0',
   /* "rezexpert.com", true */ 'r', 'e', 'z', 'e', 'x', 'p', 'e', 'r', 't', '.', 'c', 'o', 'm', '\0',
   /* "rezosup.net", true */ 'r', 'e', 'z', 'o', 's', 'u', 'p', '.', 'n', 'e', 't', '\0',
   /* "rezosup.org", true */ 'r', 'e', 'z', 'o', 's', 'u', 'p', '.', 'o', 'r', 'g', '\0',
   /* "rezultant.ru", true */ 'r', 'e', 'z', 'u', 'l', 't', 'a', 'n', 't', '.', 'r', 'u', '\0',
   /* "rezun.cloud", true */ 'r', 'e', 'z', 'u', 'n', '.', 'c', 'l', 'o', 'u', 'd', '\0',
   /* "rgavmf.ru", true */ 'r', 'g', 'a', 'v', 'm', 'f', '.', 'r', 'u', '\0',
   /* "rgservers.com", true */ 'r', 'g', 's', 'e', 'r', 'v', 'e', 'r', 's', '.', 'c', 'o', 'm', '\0',
   /* "rhees.nl", true */ 'r', 'h', 'e', 'e', 's', '.', 'n', 'l', '\0',
@@ -13292,17 +13303,17 @@ static const char kSTSHostTable[] = {
   /* "rockbankland.com.au", true */ 'r', 'o', 'c', 'k', 'b', 'a', 'n', 'k', 'l', 'a', 'n', 'd', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "rockcanyonbank.com", true */ 'r', 'o', 'c', 'k', 'c', 'a', 'n', 'y', 'o', 'n', 'b', 'a', 'n', 'k', '.', 'c', 'o', 'm', '\0',
   /* "rocketr.net", true */ 'r', 'o', 'c', 'k', 'e', 't', 'r', '.', 'n', 'e', 't', '\0',
   /* "rockeyscrivo.com", true */ 'r', 'o', 'c', 'k', 'e', 'y', 's', 'c', 'r', 'i', 'v', 'o', '.', 'c', 'o', 'm', '\0',
   /* "rockpesado.com.br", true */ 'r', 'o', 'c', 'k', 'p', 'e', 's', 'a', 'd', 'o', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "rocssti.net", true */ 'r', 'o', 'c', 's', 's', 't', 'i', '.', 'n', 'e', 't', '\0',
   /* "rodehutskors.net", true */ 'r', 'o', 'd', 'e', 'h', 'u', 't', 's', 'k', 'o', 'r', 's', '.', 'n', 'e', 't', '\0',
   /* "rodevlaggen.nl", true */ 'r', 'o', 'd', 'e', 'v', 'l', 'a', 'g', 'g', 'e', 'n', '.', 'n', 'l', '\0',
-  /* "rodneybrooksjr.com", false */ 'r', 'o', 'd', 'n', 'e', 'y', 'b', 'r', 'o', 'o', 'k', 's', 'j', 'r', '.', 'c', 'o', 'm', '\0',
+  /* "rodneybrooksjr.com", true */ 'r', 'o', 'd', 'n', 'e', 'y', 'b', 'r', 'o', 'o', 'k', 's', 'j', 'r', '.', 'c', 'o', 'm', '\0',
   /* "rodolfo.gs", true */ 'r', 'o', 'd', 'o', 'l', 'f', 'o', '.', 'g', 's', '\0',
   /* "rodrigocarvalho.blog.br", true */ 'r', 'o', 'd', 'r', 'i', 'g', 'o', 'c', 'a', 'r', 'v', 'a', 'l', 'h', 'o', '.', 'b', 'l', 'o', 'g', '.', 'b', 'r', '\0',
   /* "rodzina-kupiec.eu.org", true */ 'r', 'o', 'd', 'z', 'i', 'n', 'a', '-', 'k', 'u', 'p', 'i', 'e', 'c', '.', 'e', 'u', '.', 'o', 'r', 'g', '\0',
   /* "roeckx.be", true */ 'r', 'o', 'e', 'c', 'k', 'x', '.', 'b', 'e', '\0',
   /* "roeitijd.nl", true */ 'r', 'o', 'e', 'i', 't', 'i', 'j', 'd', '.', 'n', 'l', '\0',
   /* "roelf.org", true */ 'r', 'o', 'e', 'l', 'f', '.', 'o', 'r', 'g', '\0',
   /* "roelhollander.eu", true */ 'r', 'o', 'e', 'l', 'h', 'o', 'l', 'l', 'a', 'n', 'd', 'e', 'r', '.', 'e', 'u', '\0',
   /* "roelof.io", true */ 'r', 'o', 'e', 'l', 'o', 'f', '.', 'i', 'o', '\0',
@@ -13394,17 +13405,16 @@ static const char kSTSHostTable[] = {
   /* "rozeapp.nl", true */ 'r', 'o', 'z', 'e', 'a', 'p', 'p', '.', 'n', 'l', '\0',
   /* "rozhodce.cz", true */ 'r', 'o', 'z', 'h', 'o', 'd', 'c', 'e', '.', 'c', 'z', '\0',
   /* "rpasafrica.com", true */ 'r', 'p', 'a', 's', 'a', 'f', 'r', 'i', 'c', 'a', '.', 'c', 'o', 'm', '\0',
   /* "rpgmaker.es", true */ 'r', 'p', 'g', 'm', 'a', 'k', 'e', 'r', '.', 'e', 's', '\0',
   /* "rpherbig.com", true */ 'r', 'p', 'h', 'e', 'r', 'b', 'i', 'g', '.', 'c', 'o', 'm', '\0',
   /* "rpy.xyz", true */ 'r', 'p', 'y', '.', 'x', 'y', 'z', '\0',
   /* "rq-labo.jp", true */ 'r', 'q', '-', 'l', 'a', 'b', 'o', '.', 'j', 'p', '\0',
   /* "rr105.de", true */ 'r', 'r', '1', '0', '5', '.', 'd', 'e', '\0',
-  /* "rring.me", true */ 'r', 'r', 'i', 'n', 'g', '.', 'm', 'e', '\0',
   /* "rro.rs", true */ 'r', 'r', 'o', '.', 'r', 's', '\0',
   /* "rrom.me", true */ 'r', 'r', 'o', 'm', '.', 'm', 'e', '\0',
   /* "rsampaio.info", true */ 'r', 's', 'a', 'm', 'p', 'a', 'i', 'o', '.', 'i', 'n', 'f', 'o', '\0',
   /* "rsauget.fr", true */ 'r', 's', 'a', 'u', 'g', 'e', 't', '.', 'f', 'r', '\0',
   /* "rsblake.net", true */ 'r', 's', 'b', 'l', 'a', 'k', 'e', '.', 'n', 'e', 't', '\0',
   /* "rsi.im", false */ 'r', 's', 'i', '.', 'i', 'm', '\0',
   /* "rsm-liga.de", true */ 'r', 's', 'm', '-', 'l', 'i', 'g', 'a', '.', 'd', 'e', '\0',
   /* "rss.sh", true */ 'r', 's', 's', '.', 's', 'h', '\0',
@@ -13536,16 +13546,17 @@ static const char kSTSHostTable[] = {
   /* "saintsrobotics.com", true */ 's', 'a', 'i', 'n', 't', 's', 'r', 'o', 'b', 'o', 't', 'i', 'c', 's', '.', 'c', 'o', 'm', '\0',
   /* "saiputra.com", true */ 's', 'a', 'i', 'p', 'u', 't', 'r', 'a', '.', 'c', 'o', 'm', '\0',
   /* "salaervergleich.com", true */ 's', 'a', 'l', 'a', 'e', 'r', 'v', 'e', 'r', 'g', 'l', 'e', 'i', 'c', 'h', '.', 'c', 'o', 'm', '\0',
   /* "salamanderpaddlegear.com", true */ 's', 'a', 'l', 'a', 'm', 'a', 'n', 'd', 'e', 'r', 'p', 'a', 'd', 'd', 'l', 'e', 'g', 'e', 'a', 'r', '.', 'c', 'o', 'm', '\0',
   /* "sale4ru.ru", true */ 's', 'a', 'l', 'e', '4', 'r', 'u', '.', 'r', 'u', '\0',
   /* "saleaks.org", true */ 's', 'a', 'l', 'e', 'a', 'k', 's', '.', 'o', 'r', 'g', '\0',
   /* "salesflare.com", true */ 's', 'a', 'l', 'e', 's', 'f', 'l', 'a', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "saleslift.pl", true */ 's', 'a', 'l', 'e', 's', 'l', 'i', 'f', 't', '.', 'p', 'l', '\0',
+  /* "salesmachine.io", true */ 's', 'a', 'l', 'e', 's', 'm', 'a', 'c', 'h', 'i', 'n', 'e', '.', 'i', 'o', '\0',
   /* "salmo23.com.br", true */ 's', 'a', 'l', 'm', 'o', '2', '3', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "salmododia.net", true */ 's', 'a', 'l', 'm', 'o', 'd', 'o', 'd', 'i', 'a', '.', 'n', 'e', 't', '\0',
   /* "salmonvision.com.tw", true */ 's', 'a', 'l', 'm', 'o', 'n', 'v', 'i', 's', 'i', 'o', 'n', '.', 'c', 'o', 'm', '.', 't', 'w', '\0',
   /* "salmos91.com", true */ 's', 'a', 'l', 'm', 'o', 's', '9', '1', '.', 'c', 'o', 'm', '\0',
   /* "salmotierra-salvatierra.com", true */ 's', 'a', 'l', 'm', 'o', 't', 'i', 'e', 'r', 'r', 'a', '-', 's', 'a', 'l', 'v', 'a', 't', 'i', 'e', 'r', 'r', 'a', '.', 'c', 'o', 'm', '\0',
   /* "salon-minipli.de", true */ 's', 'a', 'l', 'o', 'n', '-', 'm', 'i', 'n', 'i', 'p', 'l', 'i', '.', 'd', 'e', '\0',
   /* "salon.io", false */ 's', 'a', 'l', 'o', 'n', '.', 'i', 'o', '\0',
   /* "salsa-straubing.de", true */ 's', 'a', 'l', 's', 'a', '-', 's', 't', 'r', 'a', 'u', 'b', 'i', 'n', 'g', '.', 'd', 'e', '\0',
@@ -13634,16 +13645,17 @@ static const char kSTSHostTable[] = {
   /* "sasyabapi.com", true */ 's', 'a', 's', 'y', 'a', 'b', 'a', 'p', 'i', '.', 'c', 'o', 'm', '\0',
   /* "sat4all.com", true */ 's', 'a', 't', '4', 'a', 'l', 'l', '.', 'c', 'o', 'm', '\0',
   /* "satai.dk", true */ 's', 'a', 't', 'a', 'i', '.', 'd', 'k', '\0',
   /* "satinn.pl", false */ 's', 'a', 't', 'i', 'n', 'n', '.', 'p', 'l', '\0',
   /* "satmd.de", true */ 's', 'a', 't', 'm', 'd', '.', 'd', 'e', '\0',
   /* "satoshicrypt.com", true */ 's', 'a', 't', 'o', 's', 'h', 'i', 'c', 'r', 'y', 'p', 't', '.', 'c', 'o', 'm', '\0',
   /* "saturn.pl", true */ 's', 'a', 't', 'u', 'r', 'n', '.', 'p', 'l', '\0',
   /* "saudenoclique.com.br", true */ 's', 'a', 'u', 'd', 'e', 'n', 'o', 'c', 'l', 'i', 'q', 'u', 'e', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
+  /* "sauerbrey.eu", true */ 's', 'a', 'u', 'e', 'r', 'b', 'r', 'e', 'y', '.', 'e', 'u', '\0',
   /* "saulchristie.com", true */ 's', 'a', 'u', 'l', 'c', 'h', 'r', 'i', 's', 't', 'i', 'e', '.', 'c', 'o', 'm', '\0',
   /* "saumon-de-france.com", true */ 's', 'a', 'u', 'm', 'o', 'n', '-', 'd', 'e', '-', 'f', 'r', 'a', 'n', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "saumon-france.com", true */ 's', 'a', 'u', 'm', 'o', 'n', '-', 'f', 'r', 'a', 'n', 'c', 'e', '.', 'c', 'o', 'm', '\0',
   /* "saumon.xyz", true */ 's', 'a', 'u', 'm', 'o', 'n', '.', 'x', 'y', 'z', '\0',
   /* "saumondefrance.fr", true */ 's', 'a', 'u', 'm', 'o', 'n', 'd', 'e', 'f', 'r', 'a', 'n', 'c', 'e', '.', 'f', 'r', '\0',
   /* "saumonfrance.fr", true */ 's', 'a', 'u', 'm', 'o', 'n', 'f', 'r', 'a', 'n', 'c', 'e', '.', 'f', 'r', '\0',
   /* "saunahats.eu", true */ 's', 'a', 'u', 'n', 'a', 'h', 'a', 't', 's', '.', 'e', 'u', '\0',
   /* "saunas.fr", true */ 's', 'a', 'u', 'n', 'a', 's', '.', 'f', 'r', '\0',
@@ -13656,16 +13668,17 @@ static const char kSTSHostTable[] = {
   /* "savetheinternet.eu", true */ 's', 'a', 'v', 'e', 't', 'h', 'e', 'i', 'n', 't', 'e', 'r', 'n', 'e', 't', '.', 'e', 'u', '\0',
   /* "savic.com", true */ 's', 'a', 'v', 'i', 'c', '.', 'c', 'o', 'm', '\0',
   /* "savingrecipe.com", true */ 's', 'a', 'v', 'i', 'n', 'g', 'r', 'e', 'c', 'i', 'p', 'e', '.', 'c', 'o', 'm', '\0',
   /* "savingsbondwizard.gov", true */ 's', 'a', 'v', 'i', 'n', 'g', 's', 'b', 'o', 'n', 'd', 'w', 'i', 'z', 'a', 'r', 'd', '.', 'g', 'o', 'v', '\0',
   /* "savingsstoreonline.ca", true */ 's', 'a', 'v', 'i', 'n', 'g', 's', 's', 't', 'o', 'r', 'e', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'c', 'a', '\0',
   /* "savvysuit.com", true */ 's', 'a', 'v', 'v', 'y', 's', 'u', 'i', 't', '.', 'c', 'o', 'm', '\0',
   /* "savvytime.com", true */ 's', 'a', 'v', 'v', 'y', 't', 'i', 'm', 'e', '.', 'c', 'o', 'm', '\0',
   /* "saxoncreative.com", true */ 's', 'a', 'x', 'o', 'n', 'c', 'r', 'e', 'a', 't', 'i', 'v', 'e', '.', 'c', 'o', 'm', '\0',
+  /* "say-hanabi.com", true */ 's', 'a', 'y', '-', 'h', 'a', 'n', 'a', 'b', 'i', '.', 'c', 'o', 'm', '\0',
   /* "sayprepay.com", true */ 's', 'a', 'y', 'p', 'r', 'e', 'p', 'a', 'y', '.', 'c', 'o', 'm', '\0',
   /* "saz.sh", true */ 's', 'a', 'z', '.', 's', 'h', '\0',
   /* "sazuz.cz", true */ 's', 'a', 'z', 'u', 'z', '.', 'c', 'z', '\0',
   /* "sb-group.dk", true */ 's', 'b', '-', 'g', 'r', 'o', 'u', 'p', '.', 'd', 'k', '\0',
   /* "sb.im", true */ 's', 'b', '.', 'i', 'm', '\0',
   /* "sb.sb", true */ 's', 'b', '.', 's', 'b', '\0',
   /* "sber.us", true */ 's', 'b', 'e', 'r', '.', 'u', 's', '\0',
   /* "sbiewald.de", true */ 's', 'b', 'i', 'e', 'w', 'a', 'l', 'd', '.', 'd', 'e', '\0',
@@ -14071,16 +14084,17 @@ static const char kSTSHostTable[] = {
   /* "sharevari.com", true */ 's', 'h', 'a', 'r', 'e', 'v', 'a', 'r', 'i', '.', 'c', 'o', 'm', '\0',
   /* "sharewbb.com", true */ 's', 'h', 'a', 'r', 'e', 'w', 'b', 'b', '.', 'c', 'o', 'm', '\0',
   /* "shareworx.net", true */ 's', 'h', 'a', 'r', 'e', 'w', 'o', 'r', 'x', '.', 'n', 'e', 't', '\0',
   /* "sharvey.ca", true */ 's', 'h', 'a', 'r', 'v', 'e', 'y', '.', 'c', 'a', '\0',
   /* "shasso.com", true */ 's', 'h', 'a', 's', 's', 'o', '.', 'c', 'o', 'm', '\0',
   /* "shatorin.com", true */ 's', 'h', 'a', 't', 'o', 'r', 'i', 'n', '.', 'c', 'o', 'm', '\0',
   /* "shaun.net", true */ 's', 'h', 'a', 'u', 'n', '.', 'n', 'e', 't', '\0',
   /* "shaundanielz.com", true */ 's', 'h', 'a', 'u', 'n', 'd', 'a', 'n', 'i', 'e', 'l', 'z', '.', 'c', 'o', 'm', '\0',
+  /* "shav.it", true */ 's', 'h', 'a', 'v', '.', 'i', 't', '\0',
   /* "shawcentral.ca", false */ 's', 'h', 'a', 'w', 'c', 'e', 'n', 't', 'r', 'a', 'l', '.', 'c', 'a', '\0',
   /* "shazbots.org", true */ 's', 'h', 'a', 'z', 'b', 'o', 't', 's', '.', 'o', 'r', 'g', '\0',
   /* "shazzlemd.com", true */ 's', 'h', 'a', 'z', 'z', 'l', 'e', 'm', 'd', '.', 'c', 'o', 'm', '\0',
   /* "shazzlepro.com", true */ 's', 'h', 'a', 'z', 'z', 'l', 'e', 'p', 'r', 'o', '.', 'c', 'o', 'm', '\0',
   /* "sheilasdrivingschool.com", true */ 's', 'h', 'e', 'i', 'l', 'a', 's', 'd', 'r', 'i', 'v', 'i', 'n', 'g', 's', 'c', 'h', 'o', 'o', 'l', '.', 'c', 'o', 'm', '\0',
   /* "shelfordsandstaplefordscouts.org.uk", true */ 's', 'h', 'e', 'l', 'f', 'o', 'r', 'd', 's', 'a', 'n', 'd', 's', 't', 'a', 'p', 'l', 'e', 'f', 'o', 'r', 'd', 's', 'c', 'o', 'u', 't', 's', '.', 'o', 'r', 'g', '.', 'u', 'k', '\0',
   /* "shellfire.de", true */ 's', 'h', 'e', 'l', 'l', 'f', 'i', 'r', 'e', '.', 'd', 'e', '\0',
   /* "shellvatore.us", true */ 's', 'h', 'e', 'l', 'l', 'v', 'a', 't', 'o', 'r', 'e', '.', 'u', 's', '\0',
@@ -14586,20 +14600,20 @@ static const char kSTSHostTable[] = {
   /* "soporte.cc", true */ 's', 'o', 'p', 'o', 'r', 't', 'e', '.', 'c', 'c', '\0',
   /* "sor.so", true */ 's', 'o', 'r', '.', 's', 'o', '\0',
   /* "sorcix.com", true */ 's', 'o', 'r', 'c', 'i', 'x', '.', 'c', 'o', 'm', '\0',
   /* "sorensen-online.com", true */ 's', 'o', 'r', 'e', 'n', 's', 'e', 'n', '-', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "sorenstudios.com", true */ 's', 'o', 'r', 'e', 'n', 's', 't', 'u', 'd', 'i', 'o', 's', '.', 'c', 'o', 'm', '\0',
   /* "sorex.photo", true */ 's', 'o', 'r', 'e', 'x', '.', 'p', 'h', 'o', 't', 'o', '\0',
   /* "sorincocorada.ro", true */ 's', 'o', 'r', 'i', 'n', 'c', 'o', 'c', 'o', 'r', 'a', 'd', 'a', '.', 'r', 'o', '\0',
   /* "sorn.service.gov.uk", true */ 's', 'o', 'r', 'n', '.', 's', 'e', 'r', 'v', 'i', 'c', 'e', '.', 'g', 'o', 'v', '.', 'u', 'k', '\0',
+  /* "sortaweird.net", false */ 's', 'o', 'r', 't', 'a', 'w', 'e', 'i', 'r', 'd', '.', 'n', 'e', 't', '\0',
   /* "soruly.com", true */ 's', 'o', 'r', 'u', 'l', 'y', '.', 'c', 'o', 'm', '\0',
   /* "sorz.org", true */ 's', 'o', 'r', 'z', '.', 'o', 'r', 'g', '\0',
   /* "sos.sk", false */ 's', 'o', 's', '.', 's', 'k', '\0',
-  /* "sosaka.ml", true */ 's', 'o', 's', 'a', 'k', 'a', '.', 'm', 'l', '\0',
   /* "sosecu.red", true */ 's', 'o', 's', 'e', 'c', 'u', '.', 'r', 'e', 'd', '\0',
   /* "sostacancun.com", true */ 's', 'o', 's', 't', 'a', 'c', 'a', 'n', 'c', 'u', 'n', '.', 'c', 'o', 'm', '\0',
   /* "sotar.us", true */ 's', 'o', 't', 'a', 'r', '.', 'u', 's', '\0',
   /* "sotavasara.net", true */ 's', 'o', 't', 'a', 'v', 'a', 's', 'a', 'r', 'a', '.', 'n', 'e', 't', '\0',
   /* "sotiran.com", true */ 's', 'o', 't', 'i', 'r', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "sotoasobi.net", true */ 's', 'o', 't', 'o', 'a', 's', 'o', 'b', 'i', '.', 'n', 'e', 't', '\0',
   /* "sou-co.jp", true */ 's', 'o', 'u', '-', 'c', 'o', '.', 'j', 'p', '\0',
   /* "soucorneteiro.com.br", true */ 's', 'o', 'u', 'c', 'o', 'r', 'n', 'e', 't', 'e', 'i', 'r', 'o', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
@@ -14768,17 +14782,16 @@ static const char kSTSHostTable[] = {
   /* "srv47.de", true */ 's', 'r', 'v', '4', '7', '.', 'd', 'e', '\0',
   /* "ss-free.net", true */ 's', 's', '-', 'f', 'r', 'e', 'e', '.', 'n', 'e', 't', '\0',
   /* "ss-x.ru", true */ 's', 's', '-', 'x', '.', 'r', 'u', '\0',
   /* "ss.lt", true */ 's', 's', '.', 'l', 't', '\0',
   /* "ss.lv", true */ 's', 's', '.', 'l', 'v', '\0',
   /* "ssa.gov", false */ 's', 's', 'a', '.', 'g', 'o', 'v', '\0',
   /* "ssbkk.ru", true */ 's', 's', 'b', 'k', 'k', '.', 'r', 'u', '\0',
   /* "ssbrm.ch", true */ 's', 's', 'b', 'r', 'm', '.', 'c', 'h', '\0',
-  /* "sscd.no", true */ 's', 's', 'c', 'd', '.', 'n', 'o', '\0',
   /* "ssky.cn", true */ 's', 's', 'k', 'y', '.', 'c', 'n', '\0',
   /* "ssl-zertifikate.de", true */ 's', 's', 'l', '-', 'z', 'e', 'r', 't', 'i', 'f', 'i', 'k', 'a', 't', 'e', '.', 'd', 'e', '\0',
   /* "ssl.do", true */ 's', 's', 'l', '.', 'd', 'o', '\0',
   /* "ssl.google-analytics.com", true */ 's', 's', 'l', '.', 'g', 'o', 'o', 'g', 'l', 'e', '-', 'a', 'n', 'a', 'l', 'y', 't', 'i', 'c', 's', '.', 'c', 'o', 'm', '\0',
   /* "ssl.md", true */ 's', 's', 'l', '.', 'm', 'd', '\0',
   /* "ssl247.co.uk", true */ 's', 's', 'l', '2', '4', '7', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "ssl247.com.mx", true */ 's', 's', 'l', '2', '4', '7', '.', 'c', 'o', 'm', '.', 'm', 'x', '\0',
   /* "ssl247.de", true */ 's', 's', 'l', '2', '4', '7', '.', 'd', 'e', '\0',
@@ -15159,16 +15172,17 @@ static const char kSTSHostTable[] = {
   /* "swingmonkey.com", true */ 's', 'w', 'i', 'n', 'g', 'm', 'o', 'n', 'k', 'e', 'y', '.', 'c', 'o', 'm', '\0',
   /* "swiss-connection.net", true */ 's', 'w', 'i', 's', 's', '-', 'c', 'o', 'n', 'n', 'e', 'c', 't', 'i', 'o', 'n', '.', 'n', 'e', 't', '\0',
   /* "swiss-cyber-experts.ch", true */ 's', 'w', 'i', 's', 's', '-', 'c', 'y', 'b', 'e', 'r', '-', 'e', 'x', 'p', 'e', 'r', 't', 's', '.', 'c', 'h', '\0',
   /* "swisslinux.org", true */ 's', 'w', 'i', 's', 's', 'l', 'i', 'n', 'u', 'x', '.', 'o', 'r', 'g', '\0',
   /* "swite.com", true */ 's', 'w', 'i', 't', 'e', '.', 'c', 'o', 'm', '\0',
   /* "swordfeng.xyz", true */ 's', 'w', 'o', 'r', 'd', 'f', 'e', 'n', 'g', '.', 'x', 'y', 'z', '\0',
   /* "swyn.net", true */ 's', 'w', 'y', 'n', '.', 'n', 'e', 't', '\0',
   /* "sx3.no", true */ 's', 'x', '3', '.', 'n', 'o', '\0',
+  /* "sy-anduril.de", true */ 's', 'y', '-', 'a', 'n', 'd', 'u', 'r', 'i', 'l', '.', 'd', 'e', '\0',
   /* "sycamorememphis.org", true */ 's', 'y', 'c', 'a', 'm', 'o', 'r', 'e', 'm', 'e', 'm', 'p', 'h', 'i', 's', '.', 'o', 'r', 'g', '\0',
   /* "sychov.pro", true */ 's', 'y', 'c', 'h', 'o', 'v', '.', 'p', 'r', 'o', '\0',
   /* "sydney.dating", true */ 's', 'y', 'd', 'n', 'e', 'y', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0',
   /* "syezd.com.au", true */ 's', 'y', 'e', 'z', 'd', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "sykepleien.no", false */ 's', 'y', 'k', 'e', 'p', 'l', 'e', 'i', 'e', 'n', '.', 'n', 'o', '\0',
   /* "sylaps.com", true */ 's', 'y', 'l', 'a', 'p', 's', '.', 'c', 'o', 'm', '\0',
   /* "sylvaindurand.org", true */ 's', 'y', 'l', 'v', 'a', 'i', 'n', 'd', 'u', 'r', 'a', 'n', 'd', '.', 'o', 'r', 'g', '\0',
   /* "sylvan.me", true */ 's', 'y', 'l', 'v', 'a', 'n', '.', 'm', 'e', '\0',
@@ -15187,16 +15201,17 @@ static const char kSTSHostTable[] = {
   /* "syncrise.co.jp", true */ 's', 'y', 'n', 'c', 'r', 'i', 's', 'e', '.', 'c', 'o', '.', 'j', 'p', '\0',
   /* "syncserve.net", false */ 's', 'y', 'n', 'c', 's', 'e', 'r', 'v', 'e', '.', 'n', 'e', 't', '\0',
   /* "syndic-discount.fr", false */ 's', 'y', 'n', 'd', 'i', 'c', '-', 'd', 'i', 's', 'c', 'o', 'u', 'n', 't', '.', 'f', 'r', '\0',
   /* "synfin.org", true */ 's', 'y', 'n', 'f', 'i', 'n', '.', 'o', 'r', 'g', '\0',
   /* "synony.me", true */ 's', 'y', 'n', 'o', 'n', 'y', '.', 'm', 'e', '\0',
   /* "synotna.eu", true */ 's', 'y', 'n', 'o', 't', 'n', 'a', '.', 'e', 'u', '\0',
   /* "syntaxnightmare.com", true */ 's', 'y', 'n', 't', 'a', 'x', 'n', 'i', 'g', 'h', 't', 'm', 'a', 'r', 'e', '.', 'c', 'o', 'm', '\0',
   /* "sys.tf", true */ 's', 'y', 's', '.', 't', 'f', '\0',
+  /* "sysadmin.pm", true */ 's', 'y', 's', 'a', 'd', 'm', 'i', 'n', '.', 'p', 'm', '\0',
   /* "sysadmins.ro", true */ 's', 'y', 's', 'a', 'd', 'm', 'i', 'n', 's', '.', 'r', 'o', '\0',
   /* "sysadminstory.com", true */ 's', 'y', 's', 'a', 'd', 'm', 'i', 'n', 's', 't', 'o', 'r', 'y', '.', 'c', 'o', 'm', '\0',
   /* "sysctl.se", false */ 's', 'y', 's', 'c', 't', 'l', '.', 's', 'e', '\0',
   /* "sysdb.io", true */ 's', 'y', 's', 'd', 'b', '.', 'i', 'o', '\0',
   /* "sysert.tv", false */ 's', 'y', 's', 'e', 'r', 't', '.', 't', 'v', '\0',
   /* "sysgeek.cn", true */ 's', 'y', 's', 'g', 'e', 'e', 'k', '.', 'c', 'n', '\0',
   /* "sysmike.de", true */ 's', 'y', 's', 'm', 'i', 'k', 'e', '.', 'd', 'e', '\0',
   /* "sysmike.net", true */ 's', 'y', 's', 'm', 'i', 'k', 'e', '.', 'n', 'e', 't', '\0',
@@ -15287,17 +15302,16 @@ static const char kSTSHostTable[] = {
   /* "tanhit.com", true */ 't', 'a', 'n', 'h', 'i', 't', '.', 'c', 'o', 'm', '\0',
   /* "taniesianie.pl", true */ 't', 'a', 'n', 'i', 'e', 's', 'i', 'a', 'n', 'i', 'e', '.', 'p', 'l', '\0',
   /* "tankski.co.uk", true */ 't', 'a', 'n', 'k', 's', 'k', 'i', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "tannenhof-moelln.de", true */ 't', 'a', 'n', 'n', 'e', 'n', 'h', 'o', 'f', '-', 'm', 'o', 'e', 'l', 'l', 'n', '.', 'd', 'e', '\0',
   /* "tannerfilip.org", true */ 't', 'a', 'n', 'n', 'e', 'r', 'f', 'i', 'l', 'i', 'p', '.', 'o', 'r', 'g', '\0',
   /* "tantalos.nl", true */ 't', 'a', 'n', 't', 'a', 'l', 'o', 's', '.', 'n', 'l', '\0',
   /* "tanto259.name", true */ 't', 'a', 'n', 't', 'o', '2', '5', '9', '.', 'n', 'a', 'm', 'e', '\0',
   /* "tantotiempo.de", true */ 't', 'a', 'n', 't', 'o', 't', 'i', 'e', 'm', 'p', 'o', '.', 'd', 'e', '\0',
-  /* "tanze-jetzt.de", true */ 't', 'a', 'n', 'z', 'e', '-', 'j', 'e', 't', 'z', 't', '.', 'd', 'e', '\0',
   /* "tanzhijun.com", true */ 't', 'a', 'n', 'z', 'h', 'i', 'j', 'u', 'n', '.', 'c', 'o', 'm', '\0',
   /* "taozj.org", true */ 't', 'a', 'o', 'z', 'j', '.', 'o', 'r', 'g', '\0',
   /* "taquilla.com", true */ 't', 'a', 'q', 'u', 'i', 'l', 'l', 'a', '.', 'c', 'o', 'm', '\0',
   /* "taqun.club", true */ 't', 'a', 'q', 'u', 'n', '.', 'c', 'l', 'u', 'b', '\0',
   /* "taranis.re", true */ 't', 'a', 'r', 'a', 'n', 'i', 's', '.', 'r', 'e', '\0',
   /* "tarantul.org.ua", true */ 't', 'a', 'r', 'a', 'n', 't', 'u', 'l', '.', 'o', 'r', 'g', '.', 'u', 'a', '\0',
   /* "targaryen.house", true */ 't', 'a', 'r', 'g', 'a', 'r', 'y', 'e', 'n', '.', 'h', 'o', 'u', 's', 'e', '\0',
   /* "tarik.io", true */ 't', 'a', 'r', 'i', 'k', '.', 'i', 'o', '\0',
@@ -15430,17 +15444,16 @@ static const char kSTSHostTable[] = {
   /* "teencounseling.com", true */ 't', 'e', 'e', 'n', 'c', 'o', 'u', 'n', 's', 'e', 'l', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "teeworlds-friends.de", true */ 't', 'e', 'e', 'w', 'o', 'r', 'l', 'd', 's', '-', 'f', 'r', 'i', 'e', 'n', 'd', 's', '.', 'd', 'e', '\0',
   /* "tefl.io", true */ 't', 'e', 'f', 'l', '.', 'i', 'o', '\0',
   /* "tege-elektronik.hu", true */ 't', 'e', 'g', 'e', '-', 'e', 'l', 'e', 'k', 't', 'r', 'o', 'n', 'i', 'k', '.', 'h', 'u', '\0',
   /* "tehotuotanto.net", true */ 't', 'e', 'h', 'o', 't', 'u', 'o', 't', 'a', 'n', 't', 'o', '.', 'n', 'e', 't', '\0',
   /* "tehrabbitt.com", false */ 't', 'e', 'h', 'r', 'a', 'b', 'b', 'i', 't', 't', '.', 'c', 'o', 'm', '\0',
   /* "teknogeek.id", true */ 't', 'e', 'k', 'n', 'o', 'g', 'e', 'e', 'k', '.', 'i', 'd', '\0',
   /* "tektoria.de", false */ 't', 'e', 'k', 't', 'o', 'r', 'i', 'a', '.', 'd', 'e', '\0',
-  /* "tel-dithmarschen.de", true */ 't', 'e', 'l', '-', 'd', 'i', 't', 'h', 'm', 'a', 'r', 's', 'c', 'h', 'e', 'n', '.', 'd', 'e', '\0',
   /* "telecamera.pro", true */ 't', 'e', 'l', 'e', 'c', 'a', 'm', 'e', 'r', 'a', '.', 'p', 'r', 'o', '\0',
   /* "telefisk.org", true */ 't', 'e', 'l', 'e', 'f', 'i', 's', 'k', '.', 'o', 'r', 'g', '\0',
   /* "telefonkonferenz.ch", true */ 't', 'e', 'l', 'e', 'f', 'o', 'n', 'k', 'o', 'n', 'f', 'e', 'r', 'e', 'n', 'z', '.', 'c', 'h', '\0',
   /* "telefoonabonnement.nl", true */ 't', 'e', 'l', 'e', 'f', 'o', 'o', 'n', 'a', 'b', 'o', 'n', 'n', 'e', 'm', 'e', 'n', 't', '.', 'n', 'l', '\0',
   /* "telehealthventures.com", true */ 't', 'e', 'l', 'e', 'h', 'e', 'a', 'l', 't', 'h', 'v', 'e', 'n', 't', 'u', 'r', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "telekollektiv.org", true */ 't', 'e', 'l', 'e', 'k', 'o', 'l', 'l', 'e', 'k', 't', 'i', 'v', '.', 'o', 'r', 'g', '\0',
   /* "teleogistic.net", true */ 't', 'e', 'l', 'e', 'o', 'g', 'i', 's', 't', 'i', 'c', '.', 'n', 'e', 't', '\0',
   /* "telepass.me", true */ 't', 'e', 'l', 'e', 'p', 'a', 's', 's', '.', 'm', 'e', '\0',
@@ -15724,24 +15737,24 @@ static const char kSTSHostTable[] = {
   /* "threedpro.me", true */ 't', 'h', 'r', 'e', 'e', 'd', 'p', 'r', 'o', '.', 'm', 'e', '\0',
   /* "threelions.ch", true */ 't', 'h', 'r', 'e', 'e', 'l', 'i', 'o', 'n', 's', '.', 'c', 'h', '\0',
   /* "thriveta.com", true */ 't', 'h', 'r', 'i', 'v', 'e', 't', 'a', '.', 'c', 'o', 'm', '\0',
   /* "throttlerz.in", true */ 't', 'h', 'r', 'o', 't', 't', 'l', 'e', 'r', 'z', '.', 'i', 'n', '\0',
   /* "throughtheglass.photo", true */ 't', 'h', 'r', 'o', 'u', 'g', 'h', 't', 'h', 'e', 'g', 'l', 'a', 's', 's', '.', 'p', 'h', 'o', 't', 'o', '\0',
   /* "throughthelookingglasslens.co.uk", true */ 't', 'h', 'r', 'o', 'u', 'g', 'h', 't', 'h', 'e', 'l', 'o', 'o', 'k', 'i', 'n', 'g', 'g', 'l', 'a', 's', 's', 'l', 'e', 'n', 's', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "throwaway.link", true */ 't', 'h', 'r', 'o', 'w', 'a', 'w', 'a', 'y', '.', 'l', 'i', 'n', 'k', '\0',
   /* "throwpass.com", true */ 't', 'h', 'r', 'o', 'w', 'p', 'a', 's', 's', '.', 'c', 'o', 'm', '\0',
+  /* "thrx.net", true */ 't', 'h', 'r', 'x', '.', 'n', 'e', 't', '\0',
   /* "thues.eu", true */ 't', 'h', 'u', 'e', 's', '.', 'e', 'u', '\0',
   /* "thunderfox.nl", true */ 't', 'h', 'u', 'n', 'd', 'e', 'r', 'f', 'o', 'x', '.', 'n', 'l', '\0',
   /* "thundr.eu", true */ 't', 'h', 'u', 'n', 'd', 'r', '.', 'e', 'u', '\0',
   /* "thyngster.com", false */ 't', 'h', 'y', 'n', 'g', 's', 't', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "thynx.io", true */ 't', 'h', 'y', 'n', 'x', '.', 'i', 'o', '\0',
   /* "ti-pla.net", true */ 't', 'i', '-', 'p', 'l', 'a', '.', 'n', 'e', 't', '\0',
   /* "ti-planet.org", true */ 't', 'i', '-', 'p', 'l', 'a', 'n', 'e', 't', '.', 'o', 'r', 'g', '\0',
-  /* "ti.blog.br", true */ 't', 'i', '.', 'b', 'l', 'o', 'g', '.', 'b', 'r', '\0',
   /* "tiacollection.com", true */ 't', 'i', 'a', 'c', 'o', 'l', 'l', 'e', 'c', 't', 'i', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "tianeptine.com", true */ 't', 'i', 'a', 'n', 'e', 'p', 't', 'i', 'n', 'e', '.', 'c', 'o', 'm', '\0',
   /* "tianshili.me", true */ 't', 'i', 'a', 'n', 's', 'h', 'i', 'l', 'i', '.', 'm', 'e', '\0',
   /* "tianya.tv", true */ 't', 'i', 'a', 'n', 'y', 'a', '.', 't', 'v', '\0',
   /* "tibbitshall.ca", true */ 't', 'i', 'b', 'b', 'i', 't', 's', 'h', 'a', 'l', 'l', '.', 'c', 'a', '\0',
   /* "ticfleet.com", true */ 't', 'i', 'c', 'f', 'l', 'e', 'e', 't', '.', 'c', 'o', 'm', '\0',
   /* "ticketmates.com.au", true */ 't', 'i', 'c', 'k', 'e', 't', 'm', 'a', 't', 'e', 's', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0',
   /* "ticketoplichting.nl", true */ 't', 'i', 'c', 'k', 'e', 't', 'o', 'p', 'l', 'i', 'c', 'h', 't', 'i', 'n', 'g', '.', 'n', 'l', '\0',
@@ -15794,16 +15807,17 @@ static const char kSTSHostTable[] = {
   /* "tinkertry.com", true */ 't', 'i', 'n', 'k', 'e', 'r', 't', 'r', 'y', '.', 'c', 'o', 'm', '\0',
   /* "tinte24.de", true */ 't', 'i', 'n', 't', 'e', '2', '4', '.', 'd', 'e', '\0',
   /* "tintencenter.com", true */ 't', 'i', 'n', 't', 'e', 'n', 'c', 'e', 'n', 't', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "tintenfix.net", true */ 't', 'i', 'n', 't', 'e', 'n', 'f', 'i', 'x', '.', 'n', 'e', 't', '\0',
   /* "tinylan.com", true */ 't', 'i', 'n', 'y', 'l', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "tinyspeck.com", true */ 't', 'i', 'n', 'y', 's', 'p', 'e', 'c', 'k', '.', 'c', 'o', 'm', '\0',
   /* "tinyssh.com", true */ 't', 'i', 'n', 'y', 's', 's', 'h', '.', 'c', 'o', 'm', '\0',
   /* "tinyssh.org", true */ 't', 'i', 'n', 'y', 's', 's', 'h', '.', 'o', 'r', 'g', '\0',
+  /* "tinyvpn.net", true */ 't', 'i', 'n', 'y', 'v', 'p', 'n', '.', 'n', 'e', 't', '\0',
   /* "tinyvpn.org", true */ 't', 'i', 'n', 'y', 'v', 'p', 'n', '.', 'o', 'r', 'g', '\0',
   /* "tipbox.is", true */ 't', 'i', 'p', 'b', 'o', 'x', '.', 'i', 's', '\0',
   /* "tipiakers.club", true */ 't', 'i', 'p', 'i', 'a', 'k', 'e', 'r', 's', '.', 'c', 'l', 'u', 'b', '\0',
   /* "tiplanet.org", true */ 't', 'i', 'p', 'l', 'a', 'n', 'e', 't', '.', 'o', 'r', 'g', '\0',
   /* "tipoftheday.tips", true */ 't', 'i', 'p', 'o', 'f', 't', 'h', 'e', 'd', 'a', 'y', '.', 't', 'i', 'p', 's', '\0',
   /* "tipps-fuer-den-haushalt.de", true */ 't', 'i', 'p', 'p', 's', '-', 'f', 'u', 'e', 'r', '-', 'd', 'e', 'n', '-', 'h', 'a', 'u', 's', 'h', 'a', 'l', 't', '.', 'd', 'e', '\0',
   /* "tippspiel.cc", true */ 't', 'i', 'p', 'p', 's', 'p', 'i', 'e', 'l', '.', 'c', 'c', '\0',
   /* "tipshindi.com", true */ 't', 'i', 'p', 's', 'h', 'i', 'n', 'd', 'i', '.', 'c', 'o', 'm', '\0',
@@ -15818,16 +15832,17 @@ static const char kSTSHostTable[] = {
   /* "tjc.host", true */ 't', 'j', 'c', '.', 'h', 'o', 's', 't', '\0',
   /* "tjeckien.guide", true */ 't', 'j', 'e', 'c', 'k', 'i', 'e', 'n', '.', 'g', 'u', 'i', 'd', 'e', '\0',
   /* "tjenestetorvet.dk", true */ 't', 'j', 'e', 'n', 'e', 's', 't', 'e', 't', 'o', 'r', 'v', 'e', 't', '.', 'd', 'k', '\0',
   /* "tjs.me", true */ 't', 'j', 's', '.', 'm', 'e', '\0',
   /* "tkarstens.de", false */ 't', 'k', 'a', 'r', 's', 't', 'e', 'n', 's', '.', 'd', 'e', '\0',
   /* "tkat.ch", true */ 't', 'k', 'a', 't', '.', 'c', 'h', '\0',
   /* "tkn.tokyo", true */ 't', 'k', 'n', '.', 't', 'o', 'k', 'y', 'o', '\0',
   /* "tkonstantopoulos.tk", true */ 't', 'k', 'o', 'n', 's', 't', 'a', 'n', 't', 'o', 'p', 'o', 'u', 'l', 'o', 's', '.', 't', 'k', '\0',
+  /* "tlach.cz", true */ 't', 'l', 'a', 'c', 'h', '.', 'c', 'z', '\0',
   /* "tlcdn.net", true */ 't', 'l', 'c', 'd', 'n', '.', 'n', 'e', 't', '\0',
   /* "tlo.xyz", true */ 't', 'l', 'o', '.', 'x', 'y', 'z', '\0',
   /* "tloxygen.com", true */ 't', 'l', 'o', 'x', 'y', 'g', 'e', 'n', '.', 'c', 'o', 'm', '\0',
   /* "tls.builders", true */ 't', 'l', 's', '.', 'b', 'u', 'i', 'l', 'd', 'e', 'r', 's', '\0',
   /* "tls.care", true */ 't', 'l', 's', '.', 'c', 'a', 'r', 'e', '\0',
   /* "tls1914.org", true */ 't', 'l', 's', '1', '9', '1', '4', '.', 'o', 'r', 'g', '\0',
   /* "tlthings.net", true */ 't', 'l', 't', 'h', 'i', 'n', 'g', 's', '.', 'n', 'e', 't', '\0',
   /* "tm.id.au", true */ 't', 'm', '.', 'i', 'd', '.', 'a', 'u', '\0',
@@ -16160,16 +16175,17 @@ static const char kSTSHostTable[] = {
   /* "trisportas.lt", true */ 't', 'r', 'i', 's', 'p', 'o', 'r', 't', 'a', 's', '.', 'l', 't', '\0',
   /* "trixexpressweb.nl", true */ 't', 'r', 'i', 'x', 'e', 'x', 'p', 'r', 'e', 's', 's', 'w', 'e', 'b', '.', 'n', 'l', '\0',
   /* "trkpuls.tk", true */ 't', 'r', 'k', 'p', 'u', 'l', 's', '.', 't', 'k', '\0',
   /* "troi.de", true */ 't', 'r', 'o', 'i', '.', 'd', 'e', '\0',
   /* "troianet.com.br", true */ 't', 'r', 'o', 'i', 'a', 'n', 'e', 't', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "trollscave.xyz", true */ 't', 'r', 'o', 'l', 'l', 's', 'c', 'a', 'v', 'e', '.', 'x', 'y', 'z', '\0',
   /* "trommelwirbel.com", true */ 't', 'r', 'o', 'm', 'm', 'e', 'l', 'w', 'i', 'r', 'b', 'e', 'l', '.', 'c', 'o', 'm', '\0',
   /* "tronatic-studio.com", true */ 't', 'r', 'o', 'n', 'a', 't', 'i', 'c', '-', 's', 't', 'u', 'd', 'i', 'o', '.', 'c', 'o', 'm', '\0',
+  /* "trondelan.no", true */ 't', 'r', 'o', 'n', 'd', 'e', 'l', 'a', 'n', '.', 'n', 'o', '\0',
   /* "troo.ly", true */ 't', 'r', 'o', 'o', '.', 'l', 'y', '\0',
   /* "trophee-discount.com", true */ 't', 'r', 'o', 'p', 'h', 'e', 'e', '-', 'd', 'i', 's', 'c', 'o', 'u', 'n', 't', '.', 'c', 'o', 'm', '\0',
   /* "trotec.com", true */ 't', 'r', 'o', 't', 'e', 'c', '.', 'c', 'o', 'm', '\0',
   /* "troyfawkes.com", true */ 't', 'r', 'o', 'y', 'f', 'a', 'w', 'k', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "truckersmp.com", true */ 't', 'r', 'u', 'c', 'k', 'e', 'r', 's', 'm', 'p', '.', 'c', 'o', 'm', '\0',
   /* "truckerswereld.nl", false */ 't', 'r', 'u', 'c', 'k', 'e', 'r', 's', 'w', 'e', 'r', 'e', 'l', 'd', '.', 'n', 'l', '\0',
   /* "truckstop-magazin.de", false */ 't', 'r', 'u', 'c', 'k', 's', 't', 'o', 'p', '-', 'm', 'a', 'g', 'a', 'z', 'i', 'n', '.', 'd', 'e', '\0',
   /* "true.ink", true */ 't', 'r', 'u', 'e', '.', 'i', 'n', 'k', '\0',
@@ -16239,17 +16255,16 @@ static const char kSTSHostTable[] = {
   /* "turnoffthelights.com", true */ 't', 'u', 'r', 'n', 'o', 'f', 'f', 't', 'h', 'e', 'l', 'i', 'g', 'h', 't', 's', '.', 'c', 'o', 'm', '\0',
   /* "turpinpesage.fr", true */ 't', 'u', 'r', 'p', 'i', 'n', 'p', 'e', 's', 'a', 'g', 'e', '.', 'f', 'r', '\0',
   /* "tursiae.org", true */ 't', 'u', 'r', 's', 'i', 'a', 'e', '.', 'o', 'r', 'g', '\0',
   /* "turtle.ai", true */ 't', 'u', 'r', 't', 'l', 'e', '.', 'a', 'i', '\0',
   /* "turtleduckstudios.com", true */ 't', 'u', 'r', 't', 'l', 'e', 'd', 'u', 'c', 'k', 's', 't', 'u', 'd', 'i', 'o', 's', '.', 'c', 'o', 'm', '\0',
   /* "tussengelegenwoningverkopen.nl", true */ 't', 'u', 's', 's', 'e', 'n', 'g', 'e', 'l', 'e', 'g', 'e', 'n', 'w', 'o', 'n', 'i', 'n', 'g', 'v', 'e', 'r', 'k', 'o', 'p', 'e', 'n', '.', 'n', 'l', '\0',
   /* "tutorialinux.com", true */ 't', 'u', 't', 'o', 'r', 'i', 'a', 'l', 'i', 'n', 'u', 'x', '.', 'c', 'o', 'm', '\0',
   /* "tuttoandroid.net", true */ 't', 'u', 't', 't', 'o', 'a', 'n', 'd', 'r', 'o', 'i', 'd', '.', 'n', 'e', 't', '\0',
-  /* "tuxcloud.net", true */ 't', 'u', 'x', 'c', 'l', 'o', 'u', 'd', '.', 'n', 'e', 't', '\0',
   /* "tuxflow.de", true */ 't', 'u', 'x', 'f', 'l', 'o', 'w', '.', 'd', 'e', '\0',
   /* "tuxgeo.com", false */ 't', 'u', 'x', 'g', 'e', 'o', '.', 'c', 'o', 'm', '\0',
   /* "tuxie.com", true */ 't', 'u', 'x', 'i', 'e', '.', 'c', 'o', 'm', '\0',
   /* "tuxlife.net", true */ 't', 'u', 'x', 'l', 'i', 'f', 'e', '.', 'n', 'e', 't', '\0',
   /* "tuxplace.nl", true */ 't', 'u', 'x', 'p', 'l', 'a', 'c', 'e', '.', 'n', 'l', '\0',
   /* "tuzaijidi.com", true */ 't', 'u', 'z', 'a', 'i', 'j', 'i', 'd', 'i', '.', 'c', 'o', 'm', '\0',
   /* "tv2vie.org", true */ 't', 'v', '2', 'v', 'i', 'e', '.', 'o', 'r', 'g', '\0',
   /* "tvbeugels.nl", false */ 't', 'v', 'b', 'e', 'u', 'g', 'e', 'l', 's', '.', 'n', 'l', '\0',
@@ -16270,29 +16285,29 @@ static const char kSTSHostTable[] = {
   /* "twee-onder-een-kap-woning-in-zuidplas-kopen.nl", true */ 't', 'w', 'e', 'e', '-', 'o', 'n', 'd', 'e', 'r', '-', 'e', 'e', 'n', '-', 'k', 'a', 'p', '-', 'w', 'o', 'n', 'i', 'n', 'g', '-', 'i', 'n', '-', 'z', 'u', 'i', 'd', 'p', 'l', 'a', 's', '-', 'k', 'o', 'p', 'e', 'n', '.', 'n', 'l', '\0',
   /* "twee-onder-een-kap-woning-in-zwartewaterland-kopen.nl", true */ 't', 'w', 'e', 'e', '-', 'o', 'n', 'd', 'e', 'r', '-', 'e', 'e', 'n', '-', 'k', 'a', 'p', '-', 'w', 'o', 'n', 'i', 'n', 'g', '-', 'i', 'n', '-', 'z', 'w', 'a', 'r', 't', 'e', 'w', 'a', 't', 'e', 'r', 'l', 'a', 'n', 'd', '-', 'k', 'o', 'p', 'e', 'n', '.', 'n', 'l', '\0',
   /* "tweeondereenkapverkopen.nl", true */ 't', 'w', 'e', 'e', 'o', 'n', 'd', 'e', 'r', 'e', 'e', 'n', 'k', 'a', 'p', 'v', 'e', 'r', 'k', 'o', 'p', 'e', 'n', '.', 'n', 'l', '\0',
   /* "tweeondereenkapwoningverkopen.nl", true */ 't', 'w', 'e', 'e', 'o', 'n', 'd', 'e', 'r', 'e', 'e', 'n', 'k', 'a', 'p', 'w', 'o', 'n', 'i', 'n', 'g', 'v', 'e', 'r', 'k', 'o', 'p', 'e', 'n', '.', 'n', 'l', '\0',
   /* "twelve.rocks", true */ 't', 'w', 'e', 'l', 'v', 'e', '.', 'r', 'o', 'c', 'k', 's', '\0',
   /* "twelve.today", true */ 't', 'w', 'e', 'l', 'v', 'e', '.', 't', 'o', 'd', 'a', 'y', '\0',
   /* "twelverocks.com", true */ 't', 'w', 'e', 'l', 'v', 'e', 'r', 'o', 'c', 'k', 's', '.', 'c', 'o', 'm', '\0',
   /* "twentymilliseconds.com", true */ 't', 'w', 'e', 'n', 't', 'y', 'm', 'i', 'l', 'l', 'i', 's', 'e', 'c', 'o', 'n', 'd', 's', '.', 'c', 'o', 'm', '\0',
+  /* "twillionmas.com", true */ 't', 'w', 'i', 'l', 'l', 'i', 'o', 'n', 'm', 'a', 's', '.', 'c', 'o', 'm', '\0',
   /* "twistapp.com", true */ 't', 'w', 'i', 's', 't', 'a', 'p', 'p', '.', 'c', 'o', 'm', '\0',
   /* "twistedwave.com", true */ 't', 'w', 'i', 's', 't', 'e', 'd', 'w', 'a', 'v', 'e', '.', 'c', 'o', 'm', '\0',
   /* "twisto.cz", true */ 't', 'w', 'i', 's', 't', 'o', '.', 'c', 'z', '\0',
   /* "twitter.ax", true */ 't', 'w', 'i', 't', 't', 'e', 'r', '.', 'a', 'x', '\0',
   /* "twitter.com", false */ 't', 'w', 'i', 't', 't', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "twitteroauth.com", true */ 't', 'w', 'i', 't', 't', 'e', 'r', 'o', 'a', 'u', 't', 'h', '.', 'c', 'o', 'm', '\0',
   /* "twodadsgames.com", true */ 't', 'w', 'o', 'd', 'a', 'd', 's', 'g', 'a', 'm', 'e', 's', '.', 'c', 'o', 'm', '\0',
   /* "twofactorauth.org", true */ 't', 'w', 'o', 'f', 'a', 'c', 't', 'o', 'r', 'a', 'u', 't', 'h', '.', 'o', 'r', 'g', '\0',
   /* "twojfaktum.pl", true */ 't', 'w', 'o', 'j', 'f', 'a', 'k', 't', 'u', 'm', '.', 'p', 'l', '\0',
   /* "twolanedesign.com", true */ 't', 'w', 'o', 'l', 'a', 'n', 'e', 'd', 'e', 's', 'i', 'g', 'n', '.', 'c', 'o', 'm', '\0',
   /* "twolivelife.com", true */ 't', 'w', 'o', 'l', 'i', 'v', 'e', 'l', 'i', 'f', 'e', '.', 'c', 'o', 'm', '\0',
   /* "twopif.net", true */ 't', 'w', 'o', 'p', 'i', 'f', '.', 'n', 'e', 't', '\0',
-  /* "twotube.ie", true */ 't', 'w', 'o', 't', 'u', 'b', 'e', '.', 'i', 'e', '\0',
   /* "twun.io", true */ 't', 'w', 'u', 'n', '.', 'i', 'o', '\0',
   /* "twuni.org", true */ 't', 'w', 'u', 'n', 'i', '.', 'o', 'r', 'g', '\0',
   /* "txi.su", true */ 't', 'x', 'i', '.', 's', 'u', '\0',
   /* "tyche.io", true */ 't', 'y', 'c', 'h', 'e', '.', 'i', 'o', '\0',
   /* "tyil.nl", true */ 't', 'y', 'i', 'l', '.', 'n', 'l', '\0',
   /* "tyil.work", true */ 't', 'y', 'i', 'l', '.', 'w', 'o', 'r', 'k', '\0',
   /* "tykoon.com", true */ 't', 'y', 'k', 'o', 'o', 'n', '.', 'c', 'o', 'm', '\0',
   /* "tyl.io", true */ 't', 'y', 'l', '.', 'i', 'o', '\0',
@@ -16392,30 +16407,31 @@ static const char kSTSHostTable[] = {
   /* "unblockthe.site", true */ 'u', 'n', 'b', 'l', 'o', 'c', 'k', 't', 'h', 'e', '.', 's', 'i', 't', 'e', '\0',
   /* "unblockthe.top", true */ 'u', 'n', 'b', 'l', 'o', 'c', 'k', 't', 'h', 'e', '.', 't', 'o', 'p', '\0',
   /* "unblockweb.co", true */ 'u', 'n', 'b', 'l', 'o', 'c', 'k', 'w', 'e', 'b', '.', 'c', 'o', '\0',
   /* "underskatten.tk", true */ 'u', 'n', 'd', 'e', 'r', 's', 'k', 'a', 't', 't', 'e', 'n', '.', 't', 'k', '\0',
   /* "undo.co.il", true */ 'u', 'n', 'd', 'o', '.', 'c', 'o', '.', 'i', 'l', '\0',
   /* "undone.me", true */ 'u', 'n', 'd', 'o', 'n', 'e', '.', 'm', 'e', '\0',
   /* "unearaigneeauplafond.fr", false */ 'u', 'n', 'e', 'a', 'r', 'a', 'i', 'g', 'n', 'e', 'e', 'a', 'u', 'p', 'l', 'a', 'f', 'o', 'n', 'd', '.', 'f', 'r', '\0',
   /* "unexpected.nu", true */ 'u', 'n', 'e', 'x', 'p', 'e', 'c', 't', 'e', 'd', '.', 'n', 'u', '\0',
-  /* "unfettered.net", true */ 'u', 'n', 'f', 'e', 't', 't', 'e', 'r', 'e', 'd', '.', 'n', 'e', 't', '\0',
+  /* "unfettered.net", false */ 'u', 'n', 'f', 'e', 't', 't', 'e', 'r', 'e', 'd', '.', 'n', 'e', 't', '\0',
   /* "ungegamere.dk", true */ 'u', 'n', 'g', 'e', 'g', 'a', 'm', 'e', 'r', 'e', '.', 'd', 'k', '\0',
   /* "unicef.pl", true */ 'u', 'n', 'i', 'c', 'e', 'f', '.', 'p', 'l', '\0',
   /* "unicorn.melbourne", true */ 'u', 'n', 'i', 'c', 'o', 'r', 'n', '.', 'm', 'e', 'l', 'b', 'o', 'u', 'r', 'n', 'e', '\0',
   /* "unicorncloud.org", true */ 'u', 'n', 'i', 'c', 'o', 'r', 'n', 'c', 'l', 'o', 'u', 'd', '.', 'o', 'r', 'g', '\0',
   /* "unicredit.ba", true */ 'u', 'n', 'i', 'c', 'r', 'e', 'd', 'i', 't', '.', 'b', 'a', '\0',
   /* "unicredit.ro", true */ 'u', 'n', 'i', 'c', 'r', 'e', 'd', 'i', 't', '.', 'r', 'o', '\0',
   /* "unicreditbank.hu", true */ 'u', 'n', 'i', 'c', 'r', 'e', 'd', 'i', 't', 'b', 'a', 'n', 'k', '.', 'h', 'u', '\0',
   /* "unicreditbank.rs", true */ 'u', 'n', 'i', 'c', 'r', 'e', 'd', 'i', 't', 'b', 'a', 'n', 'k', '.', 'r', 's', '\0',
   /* "unicreditbank.ru", false */ 'u', 'n', 'i', 'c', 'r', 'e', 'd', 'i', 't', 'b', 'a', 'n', 'k', '.', 'r', 'u', '\0',
   /* "uniekglas.nl", true */ 'u', 'n', 'i', 'e', 'k', 'g', 'l', 'a', 's', '.', 'n', 'l', '\0',
   /* "uniform-agri.com", true */ 'u', 'n', 'i', 'f', 'o', 'r', 'm', '-', 'a', 'g', 'r', 'i', '.', 'c', 'o', 'm', '\0',
   /* "unila.edu.br", true */ 'u', 'n', 'i', 'l', 'a', '.', 'e', 'd', 'u', '.', 'b', 'r', '\0',
   /* "unionplat.ru", true */ 'u', 'n', 'i', 'o', 'n', 'p', 'l', 'a', 't', '.', 'r', 'u', '\0',
+  /* "unionstationapp.com", true */ 'u', 'n', 'i', 'o', 'n', 's', 't', 'a', 't', 'i', 'o', 'n', 'a', 'p', 'p', '.', 'c', 'o', 'm', '\0',
   /* "uniprimebr.com.br", true */ 'u', 'n', 'i', 'p', 'r', 'i', 'm', 'e', 'b', 'r', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0',
   /* "uniq.site", true */ 'u', 'n', 'i', 'q', '.', 's', 'i', 't', 'e', '\0',
   /* "unirenter.ru", true */ 'u', 'n', 'i', 'r', 'e', 'n', 't', 'e', 'r', '.', 'r', 'u', '\0',
   /* "unit7jazz.com", true */ 'u', 'n', 'i', 't', '7', 'j', 'a', 'z', 'z', '.', 'c', 'o', 'm', '\0',
   /* "unit7jazz.org", true */ 'u', 'n', 'i', 't', '7', 'j', 'a', 'z', 'z', '.', 'o', 'r', 'g', '\0',
   /* "united.com", false */ 'u', 'n', 'i', 't', 'e', 'd', '.', 'c', 'o', 'm', '\0',
   /* "unitedadmins.com", true */ 'u', 'n', 'i', 't', 'e', 'd', 'a', 'd', 'm', 'i', 'n', 's', '.', 'c', 'o', 'm', '\0',
   /* "unitel2000.de", true */ 'u', 'n', 'i', 't', 'e', 'l', '2', '0', '0', '0', '.', 'd', 'e', '\0',
@@ -16780,17 +16796,19 @@ static const char kSTSHostTable[] = {
   /* "vitastic.nl", true */ 'v', 'i', 't', 'a', 's', 't', 'i', 'c', '.', 'n', 'l', '\0',
   /* "vitkausk.as", true */ 'v', 'i', 't', 'k', 'a', 'u', 's', 'k', '.', 'a', 's', '\0',
   /* "vitrado.de", true */ 'v', 'i', 't', 'r', 'a', 'd', 'o', '.', 'd', 'e', '\0',
   /* "vitsoft.by", true */ 'v', 'i', 't', 's', 'o', 'f', 't', '.', 'b', 'y', '\0',
   /* "vivaldi.club", true */ 'v', 'i', 'v', 'a', 'l', 'd', 'i', '.', 'c', 'l', 'u', 'b', '\0',
   /* "vivamusic.es", true */ 'v', 'i', 'v', 'a', 'm', 'u', 's', 'i', 'c', '.', 'e', 's', '\0',
   /* "vivatv.com.tw", true */ 'v', 'i', 'v', 'a', 't', 'v', '.', 'c', 'o', 'm', '.', 't', 'w', '\0',
   /* "vivendi.de", true */ 'v', 'i', 'v', 'e', 'n', 'd', 'i', '.', 'd', 'e', '\0',
+  /* "vivocloud.com", true */ 'v', 'i', 'v', 'o', 'c', 'l', 'o', 'u', 'd', '.', 'c', 'o', 'm', '\0',
   /* "vizeat.com", true */ 'v', 'i', 'z', 'e', 'a', 't', '.', 'c', 'o', 'm', '\0',
+  /* "vizional.com", true */ 'v', 'i', 'z', 'i', 'o', 'n', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "vizzboard.com", true */ 'v', 'i', 'z', 'z', 'b', 'o', 'a', 'r', 'd', '.', 'c', 'o', 'm', '\0',
   /* "vjeff.com", true */ 'v', 'j', 'e', 'f', 'f', '.', 'c', 'o', 'm', '\0',
   /* "vkox.com", true */ 'v', 'k', 'o', 'x', '.', 'c', 'o', 'm', '\0',
   /* "vksportphoto.com", true */ 'v', 'k', 's', 'p', 'o', 'r', 't', 'p', 'h', 'o', 't', 'o', '.', 'c', 'o', 'm', '\0',
   /* "vldkn.net", true */ 'v', 'l', 'd', 'k', 'n', '.', 'n', 'e', 't', '\0',
   /* "vleij.com", true */ 'v', 'l', 'e', 'i', 'j', '.', 'c', 'o', 'm', '\0',
   /* "vleij.family", true */ 'v', 'l', 'e', 'i', 'j', '.', 'f', 'a', 'm', 'i', 'l', 'y', '\0',
   /* "vleij.se", true */ 'v', 'l', 'e', 'i', 'j', '.', 's', 'e', '\0',
@@ -16882,16 +16900,17 @@ static const char kSTSHostTable[] = {
   /* "vuosaarenmontessoritalo.fi", true */ 'v', 'u', 'o', 's', 'a', 'a', 'r', 'e', 'n', 'm', 'o', 'n', 't', 'e', 's', 's', 'o', 'r', 'i', 't', 'a', 'l', 'o', '.', 'f', 'i', '\0',
   /* "vux.li", true */ 'v', 'u', 'x', '.', 'l', 'i', '\0',
   /* "vwbusje.com", true */ 'v', 'w', 'b', 'u', 's', 'j', 'e', '.', 'c', 'o', 'm', '\0',
   /* "vxapps.com", true */ 'v', 'x', 'a', 'p', 'p', 's', '.', 'c', 'o', 'm', '\0',
   /* "vxst.org", true */ 'v', 'x', 's', 't', '.', 'o', 'r', 'g', '\0',
   /* "vyber-odhadce.cz", true */ 'v', 'y', 'b', 'e', 'r', '-', 'o', 'd', 'h', 'a', 'd', 'c', 'e', '.', 'c', 'z', '\0',
   /* "vyberodhadce.cz", true */ 'v', 'y', 'b', 'e', 'r', 'o', 'd', 'h', 'a', 'd', 'c', 'e', '.', 'c', 'z', '\0',
   /* "vyplnto.cz", true */ 'v', 'y', 'p', 'l', 'n', 't', 'o', '.', 'c', 'z', '\0',
+  /* "vyskocil.eu", true */ 'v', 'y', 's', 'k', 'o', 'c', 'i', 'l', '.', 'e', 'u', '\0',
   /* "vyvybean.cf", true */ 'v', 'y', 'v', 'y', 'b', 'e', 'a', 'n', '.', 'c', 'f', '\0',
   /* "vztekloun.cz", true */ 'v', 'z', 't', 'e', 'k', 'l', 'o', 'u', 'n', '.', 'c', 'z', '\0',
   /* "w-spotlight.appspot.com", true */ 'w', '-', 's', 'p', 'o', 't', 'l', 'i', 'g', 'h', 't', '.', 'a', 'p', 'p', 's', 'p', 'o', 't', '.', 'c', 'o', 'm', '\0',
   /* "w-w-auto.de", true */ 'w', '-', 'w', '-', 'a', 'u', 't', 'o', '.', 'd', 'e', '\0',
   /* "w3ctag.org", true */ 'w', '3', 'c', 't', 'a', 'g', '.', 'o', 'r', 'g', '\0',
   /* "w3n.org", true */ 'w', '3', 'n', '.', 'o', 'r', 'g', '\0',
   /* "w4nvu.org", true */ 'w', '4', 'n', 'v', 'u', '.', 'o', 'r', 'g', '\0',
   /* "w7k.de", true */ 'w', '7', 'k', '.', 'd', 'e', '\0',
@@ -17111,16 +17130,17 @@ static const char kSTSHostTable[] = {
   /* "wepay.com", false */ 'w', 'e', 'p', 'a', 'y', '.', 'c', 'o', 'm', '\0',
   /* "wepay.in.th", true */ 'w', 'e', 'p', 'a', 'y', '.', 'i', 'n', '.', 't', 'h', '\0',
   /* "wer-kommt-her.de", true */ 'w', 'e', 'r', '-', 'k', 'o', 'm', 'm', 't', '-', 'h', 'e', 'r', '.', 'd', 'e', '\0',
   /* "werally.com", true */ 'w', 'e', 'r', 'a', 'l', 'l', 'y', '.', 'c', 'o', 'm', '\0',
   /* "werbewelt-tv.de", true */ 'w', 'e', 'r', 'b', 'e', 'w', 'e', 'l', 't', '-', 't', 'v', '.', 'd', 'e', '\0',
   /* "wereldkoffie.eu", true */ 'w', 'e', 'r', 'e', 'l', 'd', 'k', 'o', 'f', 'f', 'i', 'e', '.', 'e', 'u', '\0',
   /* "wereldplanner.nl", true */ 'w', 'e', 'r', 'e', 'l', 'd', 'p', 'l', 'a', 'n', 'n', 'e', 'r', '.', 'n', 'l', '\0',
   /* "werken-bij-inwork.nl", true */ 'w', 'e', 'r', 'k', 'e', 'n', '-', 'b', 'i', 'j', '-', 'i', 'n', 'w', 'o', 'r', 'k', '.', 'n', 'l', '\0',
+  /* "werkplaatsoost.nl", false */ 'w', 'e', 'r', 'k', 'p', 'l', 'a', 'a', 't', 's', 'o', 'o', 's', 't', '.', 'n', 'l', '\0',
   /* "werktor.com", true */ 'w', 'e', 'r', 'k', 't', 'o', 'r', '.', 'c', 'o', 'm', '\0',
   /* "werktor.net", true */ 'w', 'e', 'r', 'k', 't', 'o', 'r', '.', 'n', 'e', 't', '\0',
   /* "werner-ema.de", true */ 'w', 'e', 'r', 'n', 'e', 'r', '-', 'e', 'm', 'a', '.', 'd', 'e', '\0',
   /* "wernerschaeffer.de", true */ 'w', 'e', 'r', 'n', 'e', 'r', 's', 'c', 'h', 'a', 'e', 'f', 'f', 'e', 'r', '.', 'd', 'e', '\0',
   /* "wesecom.com", true */ 'w', 'e', 's', 'e', 'c', 'o', 'm', '.', 'c', 'o', 'm', '\0',
   /* "wesell.asia", true */ 'w', 'e', 's', 'e', 'l', 'l', '.', 'a', 's', 'i', 'a', '\0',
   /* "weserv.nl", true */ 'w', 'e', 's', 'e', 'r', 'v', '.', 'n', 'l', '\0',
   /* "wesleycabus.be", true */ 'w', 'e', 's', 'l', 'e', 'y', 'c', 'a', 'b', 'u', 's', '.', 'b', 'e', '\0',
@@ -17302,16 +17322,17 @@ static const char kSTSHostTable[] = {
   /* "wirsol.com", true */ 'w', 'i', 'r', 's', 'o', 'l', '.', 'c', 'o', 'm', '\0',
   /* "wis.no", true */ 'w', 'i', 's', '.', 'n', 'o', '\0',
   /* "wispapp.com", true */ 'w', 'i', 's', 'p', 'a', 'p', 'p', '.', 'c', 'o', 'm', '\0',
   /* "wisper.net.au", true */ 'w', 'i', 's', 'p', 'e', 'r', '.', 'n', 'e', 't', '.', 'a', 'u', '\0',
   /* "wispsuperfoods.com", true */ 'w', 'i', 's', 'p', 's', 'u', 'p', 'e', 'r', 'f', 'o', 'o', 'd', 's', '.', 'c', 'o', 'm', '\0',
   /* "wissl.org", true */ 'w', 'i', 's', 's', 'l', '.', 'o', 'r', 'g', '\0',
   /* "wisv.ch", true */ 'w', 'i', 's', 'v', '.', 'c', 'h', '\0',
   /* "wisweb.no", true */ 'w', 'i', 's', 'w', 'e', 'b', '.', 'n', 'o', '\0',
+  /* "wit.ai", true */ 'w', 'i', 't', '.', 'a', 'i', '\0',
   /* "witae.com", true */ 'w', 'i', 't', 'a', 'e', '.', 'c', 'o', 'm', '\0',
   /* "withgoogle.com", true */ 'w', 'i', 't', 'h', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'c', 'o', 'm', '\0',
   /* "withinsecurity.com", true */ 'w', 'i', 't', 'h', 'i', 'n', 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', '.', 'c', 'o', 'm', '\0',
   /* "withyoutube.com", true */ 'w', 'i', 't', 'h', 'y', 'o', 'u', 't', 'u', 'b', 'e', '.', 'c', 'o', 'm', '\0',
   /* "witway.nl", false */ 'w', 'i', 't', 'w', 'a', 'y', '.', 'n', 'l', '\0',
   /* "wiz.at", true */ 'w', 'i', 'z', '.', 'a', 't', '\0',
   /* "wizard.gov", true */ 'w', 'i', 'z', 'a', 'r', 'd', '.', 'g', 'o', 'v', '\0',
   /* "wizzley.com", false */ 'w', 'i', 'z', 'z', 'l', 'e', 'y', '.', 'c', 'o', 'm', '\0',
@@ -17441,16 +17462,17 @@ static const char kSTSHostTable[] = {
   /* "wtf.ninja", true */ 'w', 't', 'f', '.', 'n', 'i', 'n', 'j', 'a', '\0',
   /* "wtfismyip.com", true */ 'w', 't', 'f', 'i', 's', 'm', 'y', 'i', 'p', '.', 'c', 'o', 'm', '\0',
   /* "wth.in", true */ 'w', 't', 'h', '.', 'i', 'n', '\0',
   /* "wtpmj.com", true */ 'w', 't', 'p', 'm', 'j', '.', 'c', 'o', 'm', '\0',
   /* "wubocong.com", true */ 'w', 'u', 'b', 'o', 'c', 'o', 'n', 'g', '.', 'c', 'o', 'm', '\0',
   /* "wubthecaptain.eu", true */ 'w', 'u', 'b', 't', 'h', 'e', 'c', 'a', 'p', 't', 'a', 'i', 'n', '.', 'e', 'u', '\0',
   /* "wuetix.de", true */ 'w', 'u', 'e', 't', 'i', 'x', '.', 'd', 'e', '\0',
   /* "wuji.cz", true */ 'w', 'u', 'j', 'i', '.', 'c', 'z', '\0',
+  /* "wukongmusic.us", false */ 'w', 'u', 'k', 'o', 'n', 'g', 'm', 'u', 's', 'i', 'c', '.', 'u', 's', '\0',
   /* "wumbo.co.nz", true */ 'w', 'u', 'm', 'b', 'o', '.', 'c', 'o', '.', 'n', 'z', '\0',
   /* "wunderkarten.de", true */ 'w', 'u', 'n', 'd', 'e', 'r', 'k', 'a', 'r', 't', 'e', 'n', '.', 'd', 'e', '\0',
   /* "wunderlist.com", true */ 'w', 'u', 'n', 'd', 'e', 'r', 'l', 'i', 's', 't', '.', 'c', 'o', 'm', '\0',
   /* "wundi.net", true */ 'w', 'u', 'n', 'd', 'i', '.', 'n', 'e', 't', '\0',
   /* "wundtherapie-schulung.de", true */ 'w', 'u', 'n', 'd', 't', 'h', 'e', 'r', 'a', 'p', 'i', 'e', '-', 's', 'c', 'h', 'u', 'l', 'u', 'n', 'g', '.', 'd', 'e', '\0',
   /* "wuyue.photo", true */ 'w', 'u', 'y', 'u', 'e', '.', 'p', 'h', 'o', 't', 'o', '\0',
   /* "wv-n.de", false */ 'w', 'v', '-', 'n', '.', 'd', 'e', '\0',
   /* "wvg.myds.me", true */ 'w', 'v', 'g', '.', 'm', 'y', 'd', 's', '.', 'm', 'e', '\0',
@@ -17519,16 +17541,17 @@ static const char kSTSHostTable[] = {
   /* "www.viasinc.com", true */ 'w', 'w', 'w', '.', 'v', 'i', 'a', 's', 'i', 'n', 'c', '.', 'c', 'o', 'm', '\0',
   /* "www.vino75.com", false */ 'w', 'w', 'w', '.', 'v', 'i', 'n', 'o', '7', '5', '.', 'c', 'o', 'm', '\0',
   /* "www.wepay.com", false */ 'w', 'w', 'w', '.', 'w', 'e', 'p', 'a', 'y', '.', 'c', 'o', 'm', '\0',
   /* "www.wordpress.com", false */ 'w', 'w', 'w', '.', 'w', 'o', 'r', 'd', 'p', 'r', 'e', 's', 's', '.', 'c', 'o', 'm', '\0',
   /* "wxcafe.net", true */ 'w', 'x', 'c', 'a', 'f', 'e', '.', 'n', 'e', 't', '\0',
   /* "wxster.com", true */ 'w', 'x', 's', 't', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "wy6.org", true */ 'w', 'y', '6', '.', 'o', 'r', 'g', '\0',
   /* "wyam.io", true */ 'w', 'y', 'a', 'm', '.', 'i', 'o', '\0',
+  /* "wybmabiity.com", true */ 'w', 'y', 'b', 'm', 'a', 'b', 'i', 'i', 't', 'y', '.', 'c', 'o', 'm', '\0',
   /* "wyday.com", true */ 'w', 'y', 'd', 'a', 'y', '.', 'c', 'o', 'm', '\0',
   /* "wyeworks.com", true */ 'w', 'y', 'e', 'w', 'o', 'r', 'k', 's', '.', 'c', 'o', 'm', '\0',
   /* "wynterhill.co.uk", true */ 'w', 'y', 'n', 't', 'e', 'r', 'h', 'i', 'l', 'l', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "wypemagazine.se", true */ 'w', 'y', 'p', 'e', 'm', 'a', 'g', 'a', 'z', 'i', 'n', 'e', '.', 's', 'e', '\0',
   /* "wyssmuller.ch", true */ 'w', 'y', 's', 's', 'm', 'u', 'l', 'l', 'e', 'r', '.', 'c', 'h', '\0',
   /* "wzrd.in", true */ 'w', 'z', 'r', 'd', '.', 'i', 'n', '\0',
   /* "wzyboy.org", true */ 'w', 'z', 'y', 'b', 'o', 'y', '.', 'o', 'r', 'g', '\0',
   /* "x-iweb.ru", true */ 'x', '-', 'i', 'w', 'e', 'b', '.', 'r', 'u', '\0',
@@ -17566,17 +17589,16 @@ static const char kSTSHostTable[] = {
   /* "xfix.pw", true */ 'x', 'f', 'i', 'x', '.', 'p', 'w', '\0',
   /* "xfrag-networks.com", false */ 'x', 'f', 'r', 'a', 'g', '-', 'n', 'e', 't', 'w', 'o', 'r', 'k', 's', '.', 'c', 'o', 'm', '\0',
   /* "xg3n1us.de", true */ 'x', 'g', '3', 'n', '1', 'u', 's', '.', 'd', 'e', '\0',
   /* "xgclan.com", true */ 'x', 'g', 'c', 'l', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "xgn.es", true */ 'x', 'g', 'n', '.', 'e', 's', '\0',
   /* "xgusto.com", true */ 'x', 'g', 'u', 's', 't', 'o', '.', 'c', 'o', 'm', '\0',
   /* "xhadius.de", true */ 'x', 'h', 'a', 'd', 'i', 'u', 's', '.', 'd', 'e', '\0',
   /* "xho.me", true */ 'x', 'h', 'o', '.', 'm', 'e', '\0',
-  /* "xia100.xyz", true */ 'x', 'i', 'a', '1', '0', '0', '.', 'x', 'y', 'z', '\0',
   /* "xiamuzi.com", true */ 'x', 'i', 'a', 'm', 'u', 'z', 'i', '.', 'c', 'o', 'm', '\0',
   /* "xiangweiqing.co.uk", true */ 'x', 'i', 'a', 'n', 'g', 'w', 'e', 'i', 'q', 'i', 'n', 'g', '.', 'c', 'o', '.', 'u', 'k', '\0',
   /* "xiaofengsky.com", true */ 'x', 'i', 'a', 'o', 'f', 'e', 'n', 'g', 's', 'k', 'y', '.', 'c', 'o', 'm', '\0',
   /* "xiaoguo.net", true */ 'x', 'i', 'a', 'o', 'g', 'u', 'o', '.', 'n', 'e', 't', '\0',
   /* "xiaolan.me", true */ 'x', 'i', 'a', 'o', 'l', 'a', 'n', '.', 'm', 'e', '\0',
   /* "xiazhanjian.com", true */ 'x', 'i', 'a', 'z', 'h', 'a', 'n', 'j', 'i', 'a', 'n', '.', 'c', 'o', 'm', '\0',
   /* "xichtsbuch.de", true */ 'x', 'i', 'c', 'h', 't', 's', 'b', 'u', 'c', 'h', '.', 'd', 'e', '\0',
   /* "xichuangke.com", true */ 'x', 'i', 'c', 'h', 'u', 'a', 'n', 'g', 'k', 'e', '.', 'c', 'o', 'm', '\0',
@@ -17620,16 +17642,17 @@ static const char kSTSHostTable[] = {
   /* "xn--allgu-biker-o8a.de", true */ 'x', 'n', '-', '-', 'a', 'l', 'l', 'g', 'u', '-', 'b', 'i', 'k', 'e', 'r', '-', 'o', '8', 'a', '.', 'd', 'e', '\0',
   /* "xn--aviao-dra1a.pt", true */ 'x', 'n', '-', '-', 'a', 'v', 'i', 'a', 'o', '-', 'd', 'r', 'a', '1', 'a', '.', 'p', 't', '\0',
   /* "xn--berwachungspaket-izb.at", true */ 'x', 'n', '-', '-', 'b', 'e', 'r', 'w', 'a', 'c', 'h', 'u', 'n', 'g', 's', 'p', 'a', 'k', 'e', 't', '-', 'i', 'z', 'b', '.', 'a', 't', '\0',
   /* "xn--brneruhr-0za.ch", true */ 'x', 'n', '-', '-', 'b', 'r', 'n', 'e', 'r', 'u', 'h', 'r', '-', '0', 'z', 'a', '.', 'c', 'h', '\0',
   /* "xn--cck4ax91r.com", true */ 'x', 'n', '-', '-', 'c', 'c', 'k', '4', 'a', 'x', '9', '1', 'r', '.', 'c', 'o', 'm', '\0',
   /* "xn--d1acj9c.xn--90ais", true */ 'x', 'n', '-', '-', 'd', '1', 'a', 'c', 'j', '9', 'c', '.', 'x', 'n', '-', '-', '9', '0', 'a', 'i', 's', '\0',
   /* "xn--detrkl13b9sbv53j.com", true */ 'x', 'n', '-', '-', 'd', 'e', 't', 'r', 'k', 'l', '1', '3', 'b', '9', 's', 'b', 'v', '5', '3', 'j', '.', 'c', 'o', 'm', '\0',
   /* "xn--detrkl13b9sbv53j.org", true */ 'x', 'n', '-', '-', 'd', 'e', 't', 'r', 'k', 'l', '1', '3', 'b', '9', 's', 'b', 'v', '5', '3', 'j', '.', 'o', 'r', 'g', '\0',
+  /* "xn--dmonenjger-q5ag.net", true */ 'x', 'n', '-', '-', 'd', 'm', 'o', 'n', 'e', 'n', 'j', 'g', 'e', 'r', '-', 'q', '5', 'a', 'g', '.', 'n', 'e', 't', '\0',
   /* "xn--fischereiverein-mnsterhausen-i7c.de", true */ 'x', 'n', '-', '-', 'f', 'i', 's', 'c', 'h', 'e', 'r', 'e', 'i', 'v', 'e', 'r', 'e', 'i', 'n', '-', 'm', 'n', 's', 't', 'e', 'r', 'h', 'a', 'u', 's', 'e', 'n', '-', 'i', '7', 'c', '.', 'd', 'e', '\0',
   /* "xn--hfk-allgu-schwaben-stb.de", true */ 'x', 'n', '-', '-', 'h', 'f', 'k', '-', 'a', 'l', 'l', 'g', 'u', '-', 's', 'c', 'h', 'w', 'a', 'b', 'e', 'n', '-', 's', 't', 'b', '.', 'd', 'e', '\0',
   /* "xn--jda.tk", true */ 'x', 'n', '-', '-', 'j', 'd', 'a', '.', 't', 'k', '\0',
   /* "xn--jobbrse-d1a.de", true */ 'x', 'n', '-', '-', 'j', 'o', 'b', 'b', 'r', 's', 'e', '-', 'd', '1', 'a', '.', 'd', 'e', '\0',
   /* "xn--jp-6l5cs1yf3ivjsglphyv.net", true */ 'x', 'n', '-', '-', 'j', 'p', '-', '6', 'l', '5', 'c', 's', '1', 'y', 'f', '3', 'i', 'v', 'j', 's', 'g', 'l', 'p', 'h', 'y', 'v', '.', 'n', 'e', 't', '\0',
   /* "xn--kda.tk", true */ 'x', 'n', '-', '-', 'k', 'd', 'a', '.', 't', 'k', '\0',
   /* "xn--knstler-n2a.tips", false */ 'x', 'n', '-', '-', 'k', 'n', 's', 't', 'l', 'e', 'r', '-', 'n', '2', 'a', '.', 't', 'i', 'p', 's', '\0',
   /* "xn--lsaupp-iua.se", true */ 'x', 'n', '-', '-', 'l', 's', 'a', 'u', 'p', 'p', '-', 'i', 'u', 'a', '.', 's', 'e', '\0',
@@ -17763,17 +17786,16 @@ static const char kSTSHostTable[] = {
   /* "ynode.com", true */ 'y', 'n', 'o', 'd', 'e', '.', 'c', 'o', 'm', '\0',
   /* "yntongji.com", true */ 'y', 'n', 't', 'o', 'n', 'g', 'j', 'i', '.', 'c', 'o', 'm', '\0',
   /* "yobai-grouprec.jp", true */ 'y', 'o', 'b', 'a', 'i', '-', 'g', 'r', 'o', 'u', 'p', 'r', 'e', 'c', '.', 'j', 'p', '\0',
   /* "yobai28.com", true */ 'y', 'o', 'b', 'a', 'i', '2', '8', '.', 'c', 'o', 'm', '\0',
   /* "yobst.tk", false */ 'y', 'o', 'b', 's', 't', '.', 't', 'k', '\0',
   /* "yoga-prive.de", true */ 'y', 'o', 'g', 'a', '-', 'p', 'r', 'i', 'v', 'e', '.', 'd', 'e', '\0',
   /* "yoga-school.xyz", true */ 'y', 'o', 'g', 'a', '-', 's', 'c', 'h', 'o', 'o', 'l', '.', 'x', 'y', 'z', '\0',
   /* "yoga-schwerin.de", true */ 'y', 'o', 'g', 'a', '-', 's', 'c', 'h', 'w', 'e', 'r', 'i', 'n', '.', 'd', 'e', '\0',
-  /* "yoga.is-an-engineer.com", true */ 'y', 'o', 'g', 'a', '.', 'i', 's', '-', 'a', 'n', '-', 'e', 'n', 'g', 'i', 'n', 'e', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "yogeshbeniwal.com", true */ 'y', 'o', 'g', 'e', 's', 'h', 'b', 'e', 'n', 'i', 'w', 'a', 'l', '.', 'c', 'o', 'm', '\0',
   /* "yogoeasy.com", true */ 'y', 'o', 'g', 'o', 'e', 'a', 's', 'y', '.', 'c', 'o', 'm', '\0',
   /* "yohanesmario.com", true */ 'y', 'o', 'h', 'a', 'n', 'e', 's', 'm', 'a', 'r', 'i', 'o', '.', 'c', 'o', 'm', '\0',
   /* "yoimise.net", true */ 'y', 'o', 'i', 'm', 'i', 's', 'e', '.', 'n', 'e', 't', '\0',
   /* "yoitsu.moe", true */ 'y', 'o', 'i', 't', 's', 'u', '.', 'm', 'o', 'e', '\0',
   /* "yoiyado.info", true */ 'y', 'o', 'i', 'y', 'a', 'd', 'o', '.', 'i', 'n', 'f', 'o', '\0',
   /* "yolobert.de", true */ 'y', 'o', 'l', 'o', 'b', 'e', 'r', 't', '.', 'd', 'e', '\0',
   /* "yolocelebs.com", false */ 'y', 'o', 'l', 'o', 'c', 'e', 'l', 'e', 'b', 's', '.', 'c', 'o', 'm', '\0',
@@ -17835,17 +17857,17 @@ static const char kSTSHostTable[] = {
   /* "yukontec.com", true */ 'y', 'u', 'k', 'o', 'n', 't', 'e', 'c', '.', 'c', 'o', 'm', '\0',
   /* "yum.beer", true */ 'y', 'u', 'm', '.', 'b', 'e', 'e', 'r', '\0',
   /* "yunity.org", true */ 'y', 'u', 'n', 'i', 't', 'y', '.', 'o', 'r', 'g', '\0',
   /* "yunjishou.pro", true */ 'y', 'u', 'n', 'j', 'i', 's', 'h', 'o', 'u', '.', 'p', 'r', 'o', '\0',
   /* "yunpan.blue", true */ 'y', 'u', 'n', 'p', 'a', 'n', '.', 'b', 'l', 'u', 'e', '\0',
   /* "yuricarlenzoli.it", true */ 'y', 'u', 'r', 'i', 'c', 'a', 'r', 'l', 'e', 'n', 'z', 'o', 'l', 'i', '.', 'i', 't', '\0',
   /* "yurikirin.me", true */ 'y', 'u', 'r', 'i', 'k', 'i', 'r', 'i', 'n', '.', 'm', 'e', '\0',
   /* "yusa.me", true */ 'y', 'u', 's', 'a', '.', 'm', 'e', '\0',
-  /* "yutangyun.com", true */ 'y', 'u', 't', 'a', 'n', 'g', 'y', 'u', 'n', '.', 'c', 'o', 'm', '\0',
+  /* "yuushou.com", true */ 'y', 'u', 'u', 's', 'h', 'o', 'u', '.', 'c', 'o', 'm', '\0',
   /* "yuwei.org", true */ 'y', 'u', 'w', 'e', 'i', '.', 'o', 'r', 'g', '\0',
   /* "yux.fr", true */ 'y', 'u', 'x', '.', 'f', 'r', '\0',
   /* "yuxingxin.com", true */ 'y', 'u', 'x', 'i', 'n', 'g', 'x', 'i', 'n', '.', 'c', 'o', 'm', '\0',
   /* "yuyu.io", true */ 'y', 'u', 'y', 'u', '.', 'i', 'o', '\0',
   /* "yuzu.tk", true */ 'y', 'u', 'z', 'u', '.', 't', 'k', '\0',
   /* "yveshield.com", true */ 'y', 'v', 'e', 's', 'h', 'i', 'e', 'l', 'd', '.', 'c', 'o', 'm', '\0',
   /* "yvesx.com", true */ 'y', 'v', 'e', 's', 'x', '.', 'c', 'o', 'm', '\0',
   /* "yyyy.xyz", true */ 'y', 'y', 'y', 'y', '.', 'x', 'y', 'z', '\0',
@@ -17868,17 +17890,16 @@ static const char kSTSHostTable[] = {
   /* "zaidan.eu", true */ 'z', 'a', 'i', 'd', 'a', 'n', '.', 'e', 'u', '\0',
   /* "zaidanfood.com", true */ 'z', 'a', 'i', 'd', 'a', 'n', 'f', 'o', 'o', 'd', '.', 'c', 'o', 'm', '\0',
   /* "zaidanfood.eu", true */ 'z', 'a', 'i', 'd', 'a', 'n', 'f', 'o', 'o', 'd', '.', 'e', 'u', '\0',
   /* "zaidanlebensmittelhandel.de", true */ 'z', 'a', 'i', 'd', 'a', 'n', 'l', 'e', 'b', 'e', 'n', 's', 'm', 'i', 't', 't', 'e', 'l', 'h', 'a', 'n', 'd', 'e', 'l', '.', 'd', 'e', '\0',
   /* "zakcutner.uk", true */ 'z', 'a', 'k', 'c', 'u', 't', 'n', 'e', 'r', '.', 'u', 'k', '\0',
   /* "zakoncontrol.com", true */ 'z', 'a', 'k', 'o', 'n', 'c', 'o', 'n', 't', 'r', 'o', 'l', '.', 'c', 'o', 'm', '\0',
   /* "zakr.es", true */ 'z', 'a', 'k', 'r', '.', 'e', 's', '\0',
   /* "zalan.do", true */ 'z', 'a', 'l', 'a', 'n', '.', 'd', 'o', '\0',
-  /* "zamis.net", true */ 'z', 'a', 'm', 'i', 's', '.', 'n', 'e', 't', '\0',
   /* "zandcell.com", true */ 'z', 'a', 'n', 'd', 'c', 'e', 'l', 'l', '.', 'c', 'o', 'm', '\0',
   /* "zanthra.com", true */ 'z', 'a', 'n', 't', 'h', 'r', 'a', '.', 'c', 'o', 'm', '\0',
   /* "zaoshanghao-dajia.rhcloud.com", true */ 'z', 'a', 'o', 's', 'h', 'a', 'n', 'g', 'h', 'a', 'o', '-', 'd', 'a', 'j', 'i', 'a', '.', 'r', 'h', 'c', 'l', 'o', 'u', 'd', '.', 'c', 'o', 'm', '\0',
   /* "zapier.com", true */ 'z', 'a', 'p', 'i', 'e', 'r', '.', 'c', 'o', 'm', '\0',
   /* "zappbuildapps.com", true */ 'z', 'a', 'p', 'p', 'b', 'u', 'i', 'l', 'd', 'a', 'p', 'p', 's', '.', 'c', 'o', 'm', '\0',
   /* "zary.me", true */ 'z', 'a', 'r', 'y', '.', 'm', 'e', '\0',
   /* "zaufanatrzeciastrona.pl", true */ 'z', 'a', 'u', 'f', 'a', 'n', 'a', 't', 'r', 'z', 'e', 'c', 'i', 'a', 's', 't', 'r', 'o', 'n', 'a', '.', 'p', 'l', '\0',
   /* "zavca.com", true */ 'z', 'a', 'v', 'c', 'a', '.', 'c', 'o', 'm', '\0',
@@ -18677,17418 +18698,17439 @@ static const nsSTSPreload kSTSPreloadLis
   { 8291, true },
   { 8309, true },
   { 8319, true },
   { 8331, true },
   { 8346, true },
   { 8360, true },
   { 8375, true },
   { 8385, true },
-  { 8399, true },
-  { 8408, true },
-  { 8425, true },
+  { 8394, true },
+  { 8411, true },
+  { 8426, true },
   { 8440, true },
   { 8454, true },
-  { 8468, true },
-  { 8484, true },
-  { 8496, true },
-  { 8509, false },
-  { 8524, true },
-  { 8551, true },
+  { 8470, true },
+  { 8482, true },
+  { 8495, false },
+  { 8510, true },
+  { 8537, true },
+  { 8549, true },
   { 8563, true },
-  { 8577, true },
-  { 8587, true },
+  { 8573, true },
+  { 8588, true },
   { 8602, true },
   { 8616, true },
-  { 8630, true },
-  { 8652, true },
-  { 8664, true },
-  { 8687, true },
-  { 8708, true },
-  { 8720, true },
-  { 8732, true },
-  { 8745, true },
-  { 8756, true },
-  { 8771, true },
-  { 8782, false },
-  { 8798, true },
-  { 8816, true },
-  { 8827, true },
-  { 8839, true },
-  { 8852, true },
-  { 8872, true },
-  { 8885, true },
-  { 8898, true },
-  { 8922, true },
-  { 8940, true },
-  { 8957, true },
-  { 8981, true },
-  { 9005, true },
-  { 9024, true },
+  { 8638, true },
+  { 8650, true },
+  { 8673, true },
+  { 8694, true },
+  { 8706, true },
+  { 8718, true },
+  { 8731, true },
+  { 8742, true },
+  { 8757, true },
+  { 8768, false },
+  { 8784, true },
+  { 8802, true },
+  { 8813, true },
+  { 8825, true },
+  { 8838, true },
+  { 8858, true },
+  { 8871, true },
+  { 8884, true },
+  { 8908, true },
+  { 8926, true },
+  { 8943, true },
+  { 8967, true },
+  { 8991, true },
+  { 9010, true },
+  { 9026, true },
   { 9040, true },
-  { 9054, true },
-  { 9063, true },
-  { 9076, true },
-  { 9093, true },
-  { 9114, true },
-  { 9130, true },
-  { 9151, true },
-  { 9167, true },
-  { 9186, true },
-  { 9199, true },
-  { 9220, true },
-  { 9240, true },
-  { 9260, true },
-  { 9276, true },
-  { 9289, false },
-  { 9302, true },
-  { 9314, true },
-  { 9324, true },
+  { 9049, true },
+  { 9062, true },
+  { 9079, true },
+  { 9100, true },
+  { 9116, true },
+  { 9137, true },
+  { 9153, true },
+  { 9172, true },
+  { 9185, true },
+  { 9206, true },
+  { 9226, true },
+  { 9246, true },
+  { 9262, true },
+  { 9275, false },
+  { 9288, true },
+  { 9300, true },
+  { 9310, true },
+  { 9323, true },
   { 9337, true },
-  { 9351, true },
+  { 9353, true },
   { 9367, true },
-  { 9381, true },
-  { 9397, true },
+  { 9383, true },
+  { 9395, true },
   { 9409, true },
-  { 9423, true },
-  { 9440, true },
-  { 9451, true },
-  { 9470, true },
+  { 9426, true },
+  { 9437, true },
+  { 9456, true },
+  { 9469, true },
   { 9483, true },
-  { 9497, true },
-  { 9505, true },
-  { 9518, true },
-  { 9531, true },
+  { 9491, true },
+  { 9504, true },
+  { 9517, true },
+  { 9532, true },
   { 9546, true },
-  { 9560, true },
-  { 9577, true },
-  { 9596, true },
+  { 9563, true },
+  { 9582, true },
+  { 9594, true },
   { 9608, true },
-  { 9622, true },
+  { 9630, true },
   { 9644, true },
-  { 9658, true },
-  { 9670, true },
+  { 9656, true },
+  { 9668, true },
   { 9682, true },
-  { 9696, true },
-  { 9724, true },
-  { 9739, true },
-  { 9751, true },
-  { 9762, true },
+  { 9710, true },
+  { 9725, true },
+  { 9737, true },
+  { 9748, true },
+  { 9759, true },
   { 9773, true },
-  { 9787, true },
-  { 9799, true },
-  { 9806, true },
-  { 9816, true },
-  { 9829, true },
-  { 9841, true },
-  { 9854, true },
-  { 9874, true },
-  { 9886, true },
-  { 9898, true },
-  { 9916, true },
-  { 9931, true },
-  { 9944, true },
-  { 9953, true },
-  { 9966, true },
+  { 9785, true },
+  { 9792, true },
+  { 9802, true },
+  { 9815, true },
+  { 9827, true },
+  { 9840, true },
+  { 9860, true },
+  { 9872, true },
+  { 9884, true },
+  { 9902, true },
+  { 9917, true },
+  { 9930, true },
+  { 9939, true },
+  { 9952, true },
+  { 9964, true },
   { 9978, true },
-  { 9992, true },
-  { 10005, true },
-  { 10016, true },
-  { 10026, true },
-  { 10037, true },
-  { 10047, true },
-  { 10058, true },
-  { 10067, true },
-  { 10083, true },
-  { 10099, true },
-  { 10127, true },
-  { 10146, true },
-  { 10161, true },
-  { 10181, true },
-  { 10193, true },
-  { 10212, true },
-  { 10223, true },
-  { 10238, true },
-  { 10258, true },
-  { 10276, true },
-  { 10286, true },
-  { 10313, true },
-  { 10330, true },
-  { 10341, true },
+  { 9991, true },
+  { 10002, true },
+  { 10012, true },
+  { 10023, true },
+  { 10033, true },
+  { 10044, true },
+  { 10053, true },
+  { 10069, true },
+  { 10085, true },
+  { 10113, true },
+  { 10132, true },
+  { 10147, true },
+  { 10167, true },
+  { 10179, true },
+  { 10198, true },
+  { 10209, true },
+  { 10224, true },
+  { 10244, true },
+  { 10262, true },
+  { 10272, true },
+  { 10299, true },
+  { 10316, true },
+  { 10327, true },
+  { 10337, true },
   { 10351, true },
-  { 10365, true },
-  { 10382, true },
-  { 10391, true },
-  { 10402, true },
-  { 10422, true },
-  { 10441, true },
-  { 10452, true },
-  { 10463, true },
-  { 10481, false },
-  { 10492, true },
-  { 10511, true },
-  { 10529, true },
-  { 10547, true },
-  { 10569, true },
+  { 10368, true },
+  { 10377, true },
+  { 10388, true },
+  { 10408, true },
+  { 10427, true },
+  { 10438, true },
+  { 10449, true },
+  { 10467, false },
+  { 10478, true },
+  { 10497, true },
+  { 10515, true },
+  { 10533, true },
+  { 10555, true },
+  { 10577, true },
   { 10591, true },
-  { 10605, true },
+  { 10606, true },
   { 10620, true },
   { 10634, true },
-  { 10648, true },
-  { 10663, true },
-  { 10684, true },
-  { 10694, true },
-  { 10709, true },
-  { 10720, true },
-  { 10741, true },
-  { 10759, true },
-  { 10770, true },
-  { 10788, true },
-  { 10801, true },
-  { 10809, true },
-  { 10826, true },
-  { 10839, true },
-  { 10854, true },
+  { 10649, true },
+  { 10670, true },
+  { 10680, true },
+  { 10695, true },
+  { 10706, true },
+  { 10727, true },
+  { 10745, true },
+  { 10756, true },
+  { 10774, true },
+  { 10787, true },
+  { 10795, true },
+  { 10812, true },
+  { 10825, true },
+  { 10840, true },
+  { 10852, true },
   { 10866, true },
-  { 10880, true },
-  { 10899, true },
-  { 10917, true },
-  { 10939, true },
-  { 10954, true },
-  { 10971, true },
-  { 10993, true },
-  { 11008, true },
-  { 11025, true },
-  { 11046, true },
-  { 11062, true },
-  { 11078, true },
-  { 11095, true },
-  { 11112, true },
-  { 11127, true },
+  { 10885, true },
+  { 10903, true },
+  { 10925, true },
+  { 10940, true },
+  { 10957, true },
+  { 10979, true },
+  { 10994, true },
+  { 11011, true },
+  { 11032, true },
+  { 11048, true },
+  { 11064, true },
+  { 11081, true },
+  { 11098, true },
+  { 11113, true },
+  { 11128, true },
   { 11142, true },
   { 11156, true },
-  { 11170, true },
-  { 11187, true },
-  { 11199, true },
-  { 11217, true },
+  { 11173, true },
+  { 11185, true },
+  { 11203, true },
+  { 11220, true },
   { 11234, true },
-  { 11248, true },
-  { 11265, true },
-  { 11283, true },
-  { 11298, true },
-  { 11310, true },
+  { 11251, true },
+  { 11269, true },
+  { 11284, true },
+  { 11296, true },
+  { 11312, true },
   { 11326, true },
-  { 11340, true },
-  { 11353, true },
-  { 11370, true },
-  { 11390, true },
-  { 11410, true },
-  { 11425, true },
-  { 11436, true },
-  { 11452, true },
-  { 11467, true },
-  { 11478, true },
-  { 11495, true },
-  { 11511, true },
-  { 11522, true },
-  { 11533, true },
-  { 11545, true },
-  { 11558, true },
-  { 11577, true },
-  { 11588, true },
-  { 11601, true },
-  { 11615, true },
-  { 11633, false },
-  { 11646, true },
-  { 11668, true },
-  { 11685, true },
-  { 11702, true },
-  { 11722, true },
-  { 11733, true },
-  { 11744, true },
-  { 11762, true },
-  { 11794, true },
-  { 11821, true },
-  { 11833, true },
-  { 11843, true },
-  { 11858, true },
-  { 11876, true },
-  { 11891, true },
-  { 11903, true },
-  { 11915, true },
-  { 11935, true },
-  { 11954, true },
-  { 11974, true },
-  { 11997, false },
-  { 12021, true },
-  { 12033, true },
-  { 12044, true },
-  { 12056, true },
-  { 12068, true },
-  { 12084, true },
-  { 12101, true },
-  { 12120, true },
-  { 12136, true },
-  { 12155, true },
-  { 12168, true },
-  { 12178, true },
-  { 12188, true },
-  { 12201, true },
-  { 12213, false },
-  { 12237, true },
-  { 12256, true },
-  { 12270, true },
-  { 12286, true },
-  { 12298, true },
-  { 12309, true },
-  { 12325, true },
-  { 12342, true },
-  { 12356, true },
-  { 12371, true },
-  { 12386, true },
-  { 12397, true },
-  { 12415, true },
-  { 12431, true },
-  { 12445, true },
-  { 12460, true },
-  { 12470, true },
-  { 12483, true },
-  { 12500, false },
-  { 12507, true },
-  { 12520, true },
-  { 12533, true },
-  { 12549, true },
-  { 12560, true },
-  { 12572, true },
-  { 12583, true },
-  { 12590, true },
-  { 12598, false },
-  { 12609, true },
-  { 12620, true },
-  { 12630, true },
-  { 12643, true },
-  { 12653, true },
-  { 12660, true },
-  { 12674, false },
-  { 12688, true },
-  { 12704, true },
-  { 12718, true },
-  { 12737, true },
-  { 12762, true },
-  { 12771, true },
-  { 12782, true },
+  { 11339, true },
+  { 11356, true },
+  { 11376, true },
+  { 11396, true },
+  { 11411, true },
+  { 11422, true },
+  { 11433, true },
+  { 11444, true },
+  { 11460, true },
+  { 11475, true },
+  { 11486, true },
+  { 11503, true },
+  { 11519, true },
+  { 11530, true },
+  { 11541, true },
+  { 11553, true },
+  { 11566, true },
+  { 11585, true },
+  { 11596, true },
+  { 11609, true },
+  { 11623, true },
+  { 11641, false },
+  { 11654, true },
+  { 11676, true },
+  { 11693, true },
+  { 11710, true },
+  { 11730, true },
+  { 11741, true },
+  { 11752, true },
+  { 11770, true },
+  { 11802, true },
+  { 11829, true },
+  { 11841, true },
+  { 11851, true },
+  { 11866, true },
+  { 11884, true },
+  { 11899, true },
+  { 11911, true },
+  { 11923, true },
+  { 11943, true },
+  { 11962, true },
+  { 11982, true },
+  { 12005, false },
+  { 12029, true },
+  { 12041, true },
+  { 12052, true },
+  { 12064, true },
+  { 12076, true },
+  { 12092, true },
+  { 12109, true },
+  { 12128, true },
+  { 12144, true },
+  { 12163, true },
+  { 12176, true },
+  { 12186, true },
+  { 12196, true },
+  { 12209, true },
+  { 12221, false },
+  { 12245, true },
+  { 12264, true },
+  { 12278, true },
+  { 12294, true },
+  { 12306, true },
+  { 12317, true },
+  { 12333, true },
+  { 12350, true },
+  { 12364, true },
+  { 12379, true },
+  { 12394, true },
+  { 12405, true },
+  { 12423, true },
+  { 12439, true },
+  { 12453, true },
+  { 12468, true },
+  { 12478, true },
+  { 12491, true },
+  { 12508, false },
+  { 12515, true },
+  { 12528, true },
+  { 12541, true },
+  { 12557, true },
+  { 12568, true },
+  { 12580, true },
+  { 12591, true },
+  { 12598, true },
+  { 12606, false },
+  { 12617, true },
+  { 12628, true },
+  { 12638, true },
+  { 12651, true },
+  { 12661, true },
+  { 12668, true },
+  { 12682, false },
+  { 12696, true },
+  { 12712, true },
+  { 12726, true },
+  { 12745, true },
+  { 12770, true },
+  { 12779, true },
   { 12790, true },
-  { 12820, true },
-  { 12843, true },
-  { 12856, true },
-  { 12875, true },
-  { 12887, true },
-  { 12900, false },
-  { 12919, true },
-  { 12935, false },
-  { 12951, true },
-  { 12967, false },
-  { 12982, false },
-  { 12995, true },
-  { 13011, true },
-  { 13023, true },
-  { 13042, true },
-  { 13063, true },
-  { 13076, true },
-  { 13085, true },
-  { 13098, true },
-  { 13112, true },
-  { 13122, true },
-  { 13133, true },
-  { 13144, true },
-  { 13156, true },
-  { 13172, true },
-  { 13189, false },
-  { 13206, true },
-  { 13228, true },
-  { 13254, true },
-  { 13267, true },
-  { 13276, true },
-  { 13290, true },
-  { 13309, true },
-  { 13330, true },
-  { 13342, true },
-  { 13356, true },
-  { 13380, true },
-  { 13389, true },
-  { 13402, true },
-  { 13415, true },
-  { 13429, true },
-  { 13445, true },
-  { 13462, true },
-  { 13473, true },
-  { 13482, true },
-  { 13495, true },
-  { 13508, true },
-  { 13520, true },
-  { 13541, false },
-  { 13559, true },
-  { 13582, true },
-  { 13609, true },
-  { 13628, false },
-  { 13641, true },
-  { 13653, true },
-  { 13673, true },
-  { 13684, true },
-  { 13701, true },
-  { 13713, true },
-  { 13727, true },
+  { 12798, true },
+  { 12828, true },
+  { 12851, true },
+  { 12864, true },
+  { 12883, true },
+  { 12895, true },
+  { 12908, false },
+  { 12927, true },
+  { 12943, false },
+  { 12959, true },
+  { 12975, false },
+  { 12990, false },
+  { 13003, true },
+  { 13019, true },
+  { 13031, true },
+  { 13050, true },
+  { 13071, true },
+  { 13084, true },
+  { 13093, true },
+  { 13106, true },
+  { 13120, true },
+  { 13130, true },
+  { 13141, true },
+  { 13152, true },
+  { 13164, true },
+  { 13180, true },
+  { 13197, false },
+  { 13214, true },
+  { 13236, true },
+  { 13262, true },
+  { 13275, true },
+  { 13284, true },
+  { 13298, true },
+  { 13317, true },
+  { 13338, true },
+  { 13350, true },
+  { 13364, true },
+  { 13388, true },
+  { 13397, true },
+  { 13410, true },
+  { 13423, true },
+  { 13437, true },
+  { 13453, true },
+  { 13470, true },
+  { 13481, true },
+  { 13490, true },
+  { 13503, true },
+  { 13516, true },
+  { 13528, true },
+  { 13549, false },
+  { 13567, true },
+  { 13590, true },
+  { 13617, true },
+  { 13636, false },
+  { 13649, true },
+  { 13661, true },
+  { 13681, true },
+  { 13692, true },
+  { 13709, true },
+  { 13721, true },
   { 13735, true },
-  { 13752, true },
-  { 13764, true },
-  { 13777, true },
-  { 13793, true },
-  { 13805, true },
-  { 13823, true },
-  { 13835, true },
-  { 13858, true },
-  { 13871, true },
-  { 13887, true },
-  { 13893, true },
-  { 13905, true },
-  { 13915, true },
-  { 13931, true },
-  { 13943, true },
-  { 13954, true },
-  { 13964, true },
-  { 13981, true },
-  { 14000, true },
-  { 14012, false },
-  { 14024, true },
-  { 14037, true },
-  { 14063, true },
-  { 14079, true },
-  { 14092, true },
-  { 14106, true },
-  { 14116, true },
-  { 14132, true },
-  { 14151, true },
-  { 14175, true },
-  { 14203, true },
-  { 14216, true },
-  { 14230, true },
-  { 14242, true },
-  { 14253, true },
-  { 14266, true },
-  { 14275, true },
-  { 14288, true },
-  { 14300, true },
-  { 14314, true },
-  { 14330, true },
-  { 14346, true },
-  { 14366, true },
-  { 14380, true },
+  { 13743, true },
+  { 13760, true },
+  { 13772, true },
+  { 13785, true },
+  { 13801, true },
+  { 13813, true },
+  { 13831, true },
+  { 13843, true },
+  { 13866, true },
+  { 13879, true },
+  { 13895, true },
+  { 13901, true },
+  { 13913, true },
+  { 13923, true },
+  { 13939, true },
+  { 13951, true },
+  { 13962, true },
+  { 13972, true },
+  { 13989, true },
+  { 14008, true },
+  { 14020, false },
+  { 14032, true },
+  { 14045, true },
+  { 14071, true },
+  { 14087, true },
+  { 14100, true },
+  { 14114, true },
+  { 14124, true },
+  { 14140, true },
+  { 14159, true },
+  { 14183, true },
+  { 14211, true },
+  { 14224, true },
+  { 14238, true },
+  { 14250, true },
+  { 14261, true },
+  { 14274, true },
+  { 14283, true },
+  { 14296, true },
+  { 14308, true },
+  { 14322, true },
+  { 14338, true },
+  { 14354, true },
+  { 14374, true },
   { 14388, true },
-  { 14402, true },
-  { 14420, true },
-  { 14440, true },
-  { 14462, true },
-  { 14474, true },
-  { 14489, true },
-  { 14505, true },
-  { 14519, false },
-  { 14532, true },
-  { 14547, true },
-  { 14560, true },
-  { 14578, true },
-  { 14592, true },
-  { 14601, true },
-  { 14613, true },
-  { 14631, true },
-  { 14651, false },
-  { 14666, true },
-  { 14679, true },
-  { 14692, true },
-  { 14702, true },
-  { 14716, true },
-  { 14742, true },
-  { 14752, true },
-  { 14766, true },
-  { 14778, true },
-  { 14796, true },
-  { 14814, false },
-  { 14830, true },
-  { 14840, true },
-  { 14852, true },
-  { 14863, true },
-  { 14876, true },
-  { 14892, true },
-  { 14914, true },
-  { 14929, true },
-  { 14940, true },
-  { 14950, true },
-  { 14972, true },
-  { 14987, true },
-  { 15006, true },
-  { 15019, true },
-  { 15037, false },
-  { 15052, true },
-  { 15072, true },
-  { 15083, true },
-  { 15095, true },
-  { 15108, true },
-  { 15128, true },
-  { 15140, false },
-  { 15154, true },
-  { 15164, true },
-  { 15177, true },
-  { 15195, true },
-  { 15209, true },
-  { 15222, true },
-  { 15235, true },
-  { 15247, true },
-  { 15261, true },
-  { 15281, true },
-  { 15294, true },
-  { 15308, true },
-  { 15321, true },
-  { 15333, true },
-  { 15351, true },
-  { 15363, true },
-  { 15374, true },
-  { 15385, true },
-  { 15398, true },
-  { 15411, true },
-  { 15426, true },
-  { 15437, true },
-  { 15448, true },
-  { 15463, true },
-  { 15474, true },
-  { 15484, true },
-  { 15505, true },
-  { 15516, true },
-  { 15525, true },
-  { 15532, true },
-  { 15546, true },
-  { 15556, true },
-  { 15569, true },
-  { 15582, true },
-  { 15594, true },
-  { 15611, true },
-  { 15622, true },
-  { 15636, true },
-  { 15646, true },
-  { 15664, true },
-  { 15674, true },
-  { 15688, true },
-  { 15705, true },
-  { 15719, true },
-  { 15729, true },
-  { 15745, true },
-  { 15756, true },
-  { 15767, true },
-  { 15791, true },
-  { 15808, true },
-  { 15825, true },
-  { 15837, true },
-  { 15853, true },
-  { 15875, true },
-  { 15901, true },
-  { 15916, true },
-  { 15929, true },
-  { 15947, true },
-  { 15958, true },
-  { 15968, true },
-  { 15978, true },
-  { 15997, true },
-  { 16017, true },
-  { 16029, true },
-  { 16043, true },
-  { 16050, true },
-  { 16060, true },
-  { 16070, true },
-  { 16095, true },
-  { 16117, true },
-  { 16129, true },
-  { 16147, true },
-  { 16159, true },
-  { 16172, true },
-  { 16192, true },
-  { 16204, true },
-  { 16232, true },
-  { 16242, true },
-  { 16252, true },
+  { 14396, true },
+  { 14410, true },
+  { 14428, true },
+  { 14448, true },
+  { 14470, true },
+  { 14482, true },
+  { 14497, true },
+  { 14513, true },
+  { 14527, false },
+  { 14540, true },
+  { 14555, true },
+  { 14568, true },
+  { 14586, true },
+  { 14600, true },
+  { 14609, true },
+  { 14621, true },
+  { 14639, true },
+  { 14659, false },
+  { 14674, true },
+  { 14687, true },
+  { 14700, true },
+  { 14710, true },
+  { 14724, true },
+  { 14750, true },
+  { 14760, true },
+  { 14774, true },
+  { 14786, true },
+  { 14804, true },
+  { 14822, false },
+  { 14838, true },
+  { 14848, true },
+  { 14860, true },
+  { 14871, true },
+  { 14884, true },
+  { 14900, true },
+  { 14922, true },
+  { 14937, true },
+  { 14948, true },
+  { 14958, true },
+  { 14980, true },
+  { 14995, true },
+  { 15014, true },
+  { 15027, true },
+  { 15045, false },
+  { 15060, true },
+  { 15080, true },
+  { 15091, true },
+  { 15103, true },
+  { 15116, true },
+  { 15136, true },
+  { 15148, false },
+  { 15162, true },
+  { 15172, true },
+  { 15185, true },
+  { 15203, true },
+  { 15217, true },
+  { 15230, true },
+  { 15243, true },
+  { 15255, true },
+  { 15269, true },
+  { 15289, true },
+  { 15302, true },
+  { 15316, true },
+  { 15329, true },
+  { 15341, true },
+  { 15359, true },
+  { 15371, true },
+  { 15382, true },
+  { 15393, true },
+  { 15406, true },
+  { 15419, true },
+  { 15434, true },
+  { 15445, true },
+  { 15456, true },
+  { 15471, true },
+  { 15482, true },
+  { 15492, true },
+  { 15513, true },
+  { 15524, true },
+  { 15533, true },
+  { 15540, true },
+  { 15554, true },
+  { 15564, true },
+  { 15577, true },
+  { 15590, true },
+  { 15602, true },
+  { 15619, true },
+  { 15630, true },
+  { 15644, true },
+  { 15654, true },
+  { 15672, true },
+  { 15682, true },
+  { 15696, true },
+  { 15713, true },
+  { 15727, true },
+  { 15737, true },
+  { 15753, true },
+  { 15764, true },
+  { 15775, true },
+  { 15799, true },
+  { 15816, true },
+  { 15833, true },
+  { 15845, true },
+  { 15861, true },
+  { 15883, true },
+  { 15909, true },
+  { 15924, true },
+  { 15937, true },
+  { 15955, true },
+  { 15966, true },
+  { 15976, true },
+  { 15986, true },
+  { 16005, true },
+  { 16025, true },
+  { 16037, true },
+  { 16051, true },
+  { 16058, true },
+  { 16068, true },
+  { 16078, true },
+  { 16103, true },
+  { 16125, true },
+  { 16137, true },
+  { 16155, true },
+  { 16167, true },
+  { 16180, true },
+  { 16200, true },
+  { 16212, true },
+  { 16240, true },
+  { 16250, true },
   { 16260, true },
-  { 16272, true },
-  { 16281, false },
-  { 16301, true },
-  { 16308, true },
-  { 16324, true },
-  { 16340, true },
-  { 16355, true },
-  { 16365, true },
-  { 16383, true },
-  { 16398, true },
-  { 16425, true },
-  { 16442, true },
-  { 16460, true },
+  { 16268, true },
+  { 16280, true },
+  { 16289, false },
+  { 16309, true },
+  { 16316, true },
+  { 16332, true },
+  { 16348, true },
+  { 16363, true },
+  { 16373, true },
+  { 16391, true },
+  { 16406, true },
+  { 16433, true },
+  { 16450, true },
   { 16468, true },
-  { 16482, true },
-  { 16493, true },
-  { 16502, true },
-  { 16529, true },
+  { 16476, true },
+  { 16490, true },
+  { 16501, true },
+  { 16510, true },
   { 16537, true },
-  { 16547, true },
-  { 16563, true },
-  { 16575, true },
-  { 16590, true },
-  { 16602, true },
-  { 16617, true },
-  { 16632, true },
-  { 16644, true },
-  { 16667, true },
-  { 16688, true },
-  { 16708, true },
-  { 16725, true },
-  { 16734, true },
-  { 16752, true },
-  { 16766, true },
-  { 16778, true },
-  { 16792, true },
-  { 16802, true },
-  { 16816, true },
-  { 16826, true },
-  { 16841, true },
-  { 16856, true },
-  { 16867, true },
-  { 16880, true },
-  { 16892, true },
-  { 16905, true },
-  { 16917, true },
+  { 16545, true },
+  { 16555, true },
+  { 16571, true },
+  { 16583, true },
+  { 16598, true },
+  { 16610, true },
+  { 16625, true },
+  { 16640, true },
+  { 16652, true },
+  { 16675, true },
+  { 16696, true },
+  { 16716, true },
+  { 16733, true },
+  { 16742, true },
+  { 16760, true },
+  { 16774, true },
+  { 16786, true },
+  { 16800, true },
+  { 16810, true },
+  { 16824, true },
+  { 16834, true },
+  { 16849, true },
+  { 16864, true },
+  { 16875, true },
+  { 16888, true },
+  { 16900, true },
+  { 16913, true },
   { 16925, true },
-  { 16938, true },
-  { 16956, true },
-  { 16977, true },
-  { 16998, true },
-  { 17019, true },
-  { 17033, true },
-  { 17049, true },
-  { 17061, true },
-  { 17073, true },
-  { 17085, true },
-  { 17097, true },
-  { 17110, true },
-  { 17120, true },
-  { 17129, true },
-  { 17139, true },
-  { 17154, true },
-  { 17165, true },
-  { 17180, true },
-  { 17193, true },
-  { 17212, true },
-  { 17224, true },
-  { 17240, true },
-  { 17252, true },
-  { 17268, true },
-  { 17287, true },
-  { 17306, true },
-  { 17319, true },
-  { 17330, true },
-  { 17341, true },
-  { 17359, true },
-  { 17389, true },
-  { 17412, true },
-  { 17425, false },
-  { 17433, true },
-  { 17445, true },
-  { 17462, true },
-  { 17472, true },
-  { 17482, true },
-  { 17496, true },
-  { 17512, true },
-  { 17523, true },
-  { 17552, true },
-  { 17568, true },
-  { 17586, true },
-  { 17607, true },
-  { 17619, true },
-  { 17630, true },
-  { 17642, true },
-  { 17654, true },
-  { 17672, true },
-  { 17690, true },
-  { 17711, true },
-  { 17736, true },
-  { 17754, true },
-  { 17779, true },
-  { 17792, true },
-  { 17807, true },
-  { 17824, true },
-  { 17852, true },
-  { 17875, true },
-  { 17890, true },
-  { 17903, true },
-  { 17916, true },
-  { 17929, true },
-  { 17942, true },
-  { 17955, true },
-  { 17968, true },
-  { 17997, true },
-  { 18008, true },
-  { 18014, true },
-  { 18030, true },
-  { 18040, true },
-  { 18052, true },
-  { 18068, true },
-  { 18085, true },
-  { 18097, true },
-  { 18110, true },
+  { 16933, true },
+  { 16946, true },
+  { 16964, true },
+  { 16985, true },
+  { 17006, true },
+  { 17027, true },
+  { 17041, true },
+  { 17057, true },
+  { 17069, true },
+  { 17081, true },
+  { 17093, true },
+  { 17105, true },
+  { 17118, true },
+  { 17128, true },
+  { 17137, true },
+  { 17147, true },
+  { 17162, true },
+  { 17173, true },
+  { 17188, true },
+  { 17201, true },
+  { 17220, true },
+  { 17232, true },
+  { 17248, true },
+  { 17260, true },
+  { 17276, true },
+  { 17295, true },
+  { 17314, true },
+  { 17327, true },
+  { 17338, true },
+  { 17349, true },
+  { 17367, true },
+  { 17397, true },
+  { 17420, true },
+  { 17433, false },
+  { 17441, true },
+  { 17453, true },
+  { 17470, true },
+  { 17480, true },
+  { 17490, true },
+  { 17504, true },
+  { 17520, true },
+  { 17531, true },
+  { 17560, true },
+  { 17576, true },
+  { 17594, true },
+  { 17615, true },
+  { 17627, true },
+  { 17638, true },
+  { 17650, true },
+  { 17662, true },
+  { 17680, true },
+  { 17698, true },
+  { 17719, true },
+  { 17744, true },
+  { 17762, true },
+  { 17787, true },
+  { 17800, true },
+  { 17815, true },
+  { 17832, true },
+  { 17860, true },
+  { 17883, true },
+  { 17898, true },
+  { 17911, true },
+  { 17924, true },
+  { 17937, true },
+  { 17950, true },
+  { 17963, true },
+  { 17976, true },
+  { 18005, true },
+  { 18016, true },
+  { 18022, true },
+  { 18038, true },
+  { 18048, true },
+  { 18060, true },
+  { 18076, true },
+  { 18093, true },
+  { 18105, true },
   { 18118, true },
-  { 18129, true },
-  { 18140, true },
-  { 18158, true },
-  { 18170, true },
-  { 18185, true },
-  { 18194, true },
-  { 18212, true },
-  { 18221, true },
-  { 18235, true },
-  { 18257, true },
-  { 18271, true },
-  { 18282, true },
+  { 18126, true },
+  { 18137, true },
+  { 18148, true },
+  { 18166, true },
+  { 18178, true },
+  { 18193, true },
+  { 18202, true },
+  { 18220, true },
+  { 18229, true },
+  { 18243, true },
+  { 18265, true },
+  { 18279, true },
   { 18290, true },
-  { 18300, true },
-  { 18312, true },
+  { 18298, true },
+  { 18308, true },
   { 18320, true },
-  { 18330, true },
-  { 18345, true },
+  { 18328, true },
+  { 18338, true },
   { 18353, true },
-  { 18363, true },
-  { 18388, true },
-  { 18404, true },
-  { 18414, true },
-  { 18438, true },
-  { 18445, true },
-  { 18462, true },
+  { 18361, true },
+  { 18371, true },
+  { 18396, true },
+  { 18412, true },
+  { 18422, true },
+  { 18446, true },
+  { 18453, true },
   { 18470, true },
-  { 18481, true },
-  { 18488, true },
-  { 18500, true },
-  { 18511, true },
-  { 18522, true },
-  { 18534, true },
-  { 18546, false },
-  { 18555, true },
-  { 18571, true },
-  { 18584, true },
-  { 18593, true },
-  { 18614, true },
-  { 18623, true },
-  { 18638, true },
-  { 18648, true },
-  { 18660, false },
-  { 18676, true },
-  { 18688, true },
-  { 18699, true },
-  { 18709, true },
-  { 18719, true },
-  { 18729, true },
-  { 18742, true },
-  { 18755, true },
-  { 18765, true },
-  { 18779, true },
-  { 18789, true },
+  { 18478, true },
+  { 18489, true },
+  { 18496, true },
+  { 18508, true },
+  { 18519, true },
+  { 18530, true },
+  { 18542, true },
+  { 18554, false },
+  { 18563, true },
+  { 18579, true },
+  { 18592, true },
+  { 18601, true },
+  { 18622, true },
+  { 18631, true },
+  { 18646, true },
+  { 18656, true },
+  { 18668, false },
+  { 18684, true },
+  { 18696, true },
+  { 18707, true },
+  { 18717, true },
+  { 18727, true },
+  { 18737, true },
+  { 18750, true },
+  { 18763, true },
+  { 18773, true },
+  { 18787, true },
   { 18797, true },
-  { 18807, true },
-  { 18819, true },
-  { 18831, true },
-  { 18844, true },
-  { 18860, true },
-  { 18871, false },
-  { 18881, true },
-  { 18898, true },
-  { 18910, true },
-  { 18919, true },
-  { 18933, true },
-  { 18963, true },
-  { 18978, false },
-  { 18987, true },
-  { 19001, true },
-  { 19012, true },
-  { 19024, false },
-  { 19037, true },
-  { 19061, true },
-  { 19074, true },
-  { 19086, true },
-  { 19109, true },
-  { 19120, true },
-  { 19152, true },
-  { 19172, true },
-  { 19190, true },
-  { 19208, true },
-  { 19223, true },
-  { 19238, true },
-  { 19253, true },
-  { 19274, true },
-  { 19298, true },
-  { 19308, true },
-  { 19318, true },
-  { 19328, true },
-  { 19339, true },
-  { 19364, true },
-  { 19393, true },
-  { 19406, true },
-  { 19418, true },
-  { 19428, true },
-  { 19436, true },
-  { 19445, true },
-  { 19459, false },
-  { 19476, true },
-  { 19488, true },
-  { 19503, true },
-  { 19510, true },
-  { 19523, true },
-  { 19535, true },
-  { 19559, true },
-  { 19573, true },
+  { 18805, true },
+  { 18815, true },
+  { 18827, true },
+  { 18839, true },
+  { 18852, true },
+  { 18868, true },
+  { 18879, false },
+  { 18889, true },
+  { 18906, true },
+  { 18918, true },
+  { 18927, true },
+  { 18941, true },
+  { 18971, true },
+  { 18986, false },
+  { 18995, true },
+  { 19009, true },
+  { 19020, true },
+  { 19032, false },
+  { 19045, true },
+  { 19069, true },
+  { 19082, true },
+  { 19094, true },
+  { 19117, true },
+  { 19128, true },
+  { 19160, true },
+  { 19180, true },
+  { 19198, true },
+  { 19216, true },
+  { 19231, true },
+  { 19246, true },
+  { 19261, true },
+  { 19282, true },
+  { 19306, true },
+  { 19316, true },
+  { 19326, true },
+  { 19336, true },
+  { 19347, true },
+  { 19372, true },
+  { 19401, true },
+  { 19414, true },
+  { 19426, true },
+  { 19436, false },
+  { 19444, false },
+  { 19453, true },
+  { 19467, false },
+  { 19484, true },
+  { 19496, true },
+  { 19511, true },
+  { 19518, true },
+  { 19531, true },
+  { 19543, true },
+  { 19567, true },
   { 19581, true },
-  { 19605, true },
-  { 19620, true },
-  { 19629, true },
-  { 19642, true },
-  { 19653, true },
-  { 19663, true },
-  { 19680, true },
-  { 19693, true },
-  { 19709, true },
-  { 19719, true },
-  { 19732, true },
-  { 19746, true },
-  { 19760, true },
-  { 19772, true },
-  { 19792, true },
-  { 19807, true },
-  { 19823, true },
-  { 19837, true },
-  { 19852, true },
-  { 19864, true },
-  { 19876, true },
-  { 19888, true },
-  { 19899, true },
-  { 19910, true },
-  { 19921, true },
-  { 19944, true },
-  { 19959, true },
-  { 19974, false },
-  { 19989, false },
-  { 20005, true },
-  { 20027, true },
-  { 20045, true },
-  { 20062, true },
-  { 20080, true },
-  { 20091, true },
-  { 20104, true },
-  { 20121, true },
-  { 20148, true },
-  { 20164, true },
-  { 20184, true },
-  { 20199, true },
-  { 20214, true },
-  { 20228, true },
-  { 20239, true },
-  { 20262, true },
-  { 20274, true },
-  { 20287, true },
-  { 20300, true },
-  { 20314, true },
-  { 20327, true },
-  { 20345, true },
-  { 20363, true },
-  { 20381, true },
-  { 20398, true },
-  { 20408, true },
-  { 20421, true },
-  { 20430, true },
-  { 20441, false },
-  { 20451, true },
-  { 20462, true },
-  { 20476, true },
-  { 20489, true },
-  { 20499, true },
-  { 20512, true },
-  { 20526, true },
-  { 20537, true },
-  { 20547, true },
-  { 20565, true },
-  { 20585, true },
-  { 20598, true },
-  { 20607, true },
-  { 20628, true },
-  { 20645, true },
-  { 20665, true },
-  { 20684, true },
-  { 20699, true },
-  { 20712, true },
-  { 20732, true },
-  { 20750, true },
-  { 20761, true },
-  { 20774, true },
-  { 20789, true },
-  { 20799, true },
-  { 20812, true },
-  { 20823, true },
-  { 20834, true },
-  { 20848, true },
-  { 20864, true },
-  { 20888, true },
-  { 20914, true },
-  { 20924, true },
-  { 20946, true },
-  { 20957, true },
-  { 20968, true },
-  { 20980, true },
-  { 21007, true },
-  { 21019, true },
-  { 21031, true },
-  { 21040, true },
-  { 21049, true },
-  { 21058, true },
-  { 21077, true },
-  { 21092, true },
-  { 21103, true },
-  { 21112, true },
-  { 21122, true },
-  { 21131, true },
-  { 21141, true },
-  { 21159, true },
-  { 21170, true },
-  { 21182, true },
-  { 21193, true },
-  { 21211, true },
-  { 21230, true },
-  { 21243, true },
-  { 21256, true },
-  { 21266, true },
-  { 21280, true },
-  { 21290, true },
-  { 21300, true },
-  { 21313, true },
-  { 21323, false },
-  { 21334, true },
-  { 21352, true },
-  { 21362, true },
-  { 21369, true },
-  { 21381, true },
-  { 21402, true },
-  { 21418, true },
-  { 21431, true },
-  { 21444, true },
-  { 21461, true },
-  { 21473, true },
-  { 21486, false },
-  { 21500, true },
-  { 21513, true },
-  { 21524, true },
+  { 19589, true },
+  { 19613, true },
+  { 19628, true },
+  { 19637, true },
+  { 19650, true },
+  { 19661, true },
+  { 19671, true },
+  { 19688, true },
+  { 19701, true },
+  { 19717, true },
+  { 19727, true },
+  { 19740, true },
+  { 19754, true },
+  { 19768, true },
+  { 19780, true },
+  { 19800, true },
+  { 19815, true },
+  { 19831, true },
+  { 19845, true },
+  { 19860, true },
+  { 19872, true },
+  { 19884, true },
+  { 19896, true },
+  { 19907, true },
+  { 19918, true },
+  { 19929, true },
+  { 19952, true },
+  { 19967, true },
+  { 19982, false },
+  { 19997, false },
+  { 20013, true },
+  { 20035, true },
+  { 20053, true },
+  { 20070, true },
+  { 20088, true },
+  { 20099, true },
+  { 20112, true },
+  { 20129, true },
+  { 20156, true },
+  { 20172, true },
+  { 20192, true },
+  { 20207, true },
+  { 20222, true },
+  { 20236, true },
+  { 20247, true },
+  { 20270, true },
+  { 20282, true },
+  { 20295, true },
+  { 20308, true },
+  { 20322, true },
+  { 20335, true },
+  { 20353, true },
+  { 20371, true },
+  { 20389, true },
+  { 20406, true },
+  { 20416, true },
+  { 20429, true },
+  { 20438, true },
+  { 20449, false },
+  { 20459, true },
+  { 20470, true },
+  { 20484, true },
+  { 20497, true },
+  { 20507, true },
+  { 20520, true },
+  { 20534, true },
+  { 20545, true },
+  { 20555, true },
+  { 20573, true },
+  { 20593, true },
+  { 20606, true },
+  { 20615, true },
+  { 20636, true },
+  { 20653, true },
+  { 20673, true },
+  { 20692, true },
+  { 20707, true },
+  { 20720, true },
+  { 20740, true },
+  { 20758, true },
+  { 20769, true },
+  { 20782, true },
+  { 20797, true },
+  { 20807, true },
+  { 20820, true },
+  { 20831, true },
+  { 20842, true },
+  { 20856, true },
+  { 20872, true },
+  { 20896, true },
+  { 20922, true },
+  { 20932, true },
+  { 20954, true },
+  { 20965, true },
+  { 20976, true },
+  { 20988, true },
+  { 21015, true },
+  { 21027, true },
+  { 21039, true },
+  { 21048, true },
+  { 21057, true },
+  { 21066, true },
+  { 21085, true },
+  { 21100, true },
+  { 21111, true },
+  { 21120, true },
+  { 21130, true },
+  { 21139, true },
+  { 21149, true },
+  { 21167, true },
+  { 21178, true },
+  { 21190, true },
+  { 21201, true },
+  { 21219, true },
+  { 21238, true },
+  { 21251, true },
+  { 21264, true },
+  { 21274, true },
+  { 21288, true },
+  { 21298, true },
+  { 21308, true },
+  { 21321, true },
+  { 21331, false },
+  { 21342, true },
+  { 21360, true },
+  { 21370, true },
+  { 21377, true },
+  { 21389, true },
+  { 21410, true },
+  { 21426, true },
+  { 21439, true },
+  { 21452, true },
+  { 21469, true },
+  { 21481, true },
+  { 21495, true },
+  { 21508, false },
+  { 21522, true },
   { 21535, true },
-  { 21547, true },
-  { 21561, true },
-  { 21579, true },
-  { 21591, true },
-  { 21608, true },
-  { 21621, true },
-  { 21632, true },
-  { 21641, true },
-  { 21659, true },
-  { 21676, true },
-  { 21687, true },
+  { 21546, true },
+  { 21557, true },
+  { 21569, true },
+  { 21583, true },
+  { 21601, true },
+  { 21613, true },
+  { 21630, true },
+  { 21643, true },
+  { 21654, true },
+  { 21663, true },
+  { 21681, true },
   { 21698, true },
-  { 21723, true },
-  { 21737, true },
-  { 21750, true },
-  { 21764, true },
-  { 21777, true },
-  { 21791, true },
-  { 21806, true },
-  { 21822, false },
-  { 21833, true },
-  { 21848, true },
-  { 21866, true },
-  { 21879, true },
-  { 21892, true },
-  { 21908, true },
-  { 21922, true },
+  { 21709, true },
+  { 21720, true },
+  { 21745, true },
+  { 21759, true },
+  { 21772, true },
+  { 21786, true },
+  { 21799, true },
+  { 21813, true },
+  { 21828, true },
+  { 21844, false },
+  { 21855, true },
+  { 21870, true },
+  { 21888, true },
+  { 21901, true },
+  { 21914, true },
+  { 21930, true },
   { 21944, true },
-  { 21956, true },
-  { 21969, true },
-  { 21984, true },
-  { 21996, true },
-  { 22012, true },
-  { 22025, true },
-  { 22050, true },
-  { 22062, true },
+  { 21966, true },
+  { 21978, true },
+  { 21991, true },
+  { 22006, true },
+  { 22018, true },
+  { 22034, true },
+  { 22047, true },
   { 22072, true },
-  { 22100, true },
-  { 22115, true },
-  { 22131, true },
-  { 22142, true },
+  { 22084, true },
+  { 22094, true },
+  { 22122, true },
+  { 22137, true },
   { 22153, true },
-  { 22163, true },
-  { 22176, true },
-  { 22186, false },
-  { 22200, true },
-  { 22209, true },
-  { 22221, true },
-  { 22235, false },
-  { 22254, true },
-  { 22270, true },
-  { 22297, true },
-  { 22318, true },
-  { 22334, true },
-  { 22345, true },
-  { 22363, true },
-  { 22378, true },
-  { 22389, false },
-  { 22404, true },
-  { 22414, true },
-  { 22425, true },
-  { 22439, true },
+  { 22164, true },
+  { 22175, true },
+  { 22185, true },
+  { 22198, true },
+  { 22208, false },
+  { 22222, true },
+  { 22231, true },
+  { 22243, true },
+  { 22257, false },
+  { 22276, true },
+  { 22292, true },
+  { 22319, true },
+  { 22340, true },
+  { 22356, true },
+  { 22367, true },
+  { 22385, true },
+  { 22400, true },
+  { 22411, false },
+  { 22426, true },
+  { 22436, true },
+  { 22447, true },
   { 22461, true },
-  { 22474, true },
-  { 22489, true },
-  { 22504, true },
-  { 22523, true },
-  { 22544, true },
-  { 22554, true },
-  { 22568, true },
-  { 22581, true },
-  { 22596, true },
-  { 22617, true },
-  { 22637, true },
-  { 22658, true },
-  { 22676, true },
-  { 22688, true },
-  { 22706, true },
-  { 22727, true },
-  { 22747, true },
-  { 22765, true },
-  { 22779, true },
-  { 22798, false },
-  { 22812, true },
-  { 22822, true },
-  { 22833, true },
-  { 22843, true },
-  { 22858, true },
-  { 22871, true },
-  { 22886, true },
-  { 22900, true },
-  { 22913, true },
-  { 22926, true },
-  { 22940, true },
-  { 22957, true },
-  { 22967, true },
-  { 22980, true },
-  { 22997, true },
-  { 23006, true },
-  { 23020, true },
-  { 23040, true },
-  { 23058, true },
-  { 23078, true },
-  { 23092, true },
-  { 23108, true },
-  { 23117, true },
-  { 23127, true },
-  { 23135, true },
-  { 23144, true },
-  { 23153, true },
-  { 23170, true },
-  { 23183, true },
-  { 23193, true },
-  { 23203, true },
-  { 23213, true },
-  { 23231, true },
-  { 23250, true },
-  { 23274, true },
-  { 23294, true },
-  { 23309, true },
-  { 23324, true },
-  { 23357, true },
-  { 23375, true },
-  { 23403, true },
-  { 23419, true },
-  { 23437, true },
-  { 23460, true },
+  { 22483, true },
+  { 22496, true },
+  { 22511, true },
+  { 22526, true },
+  { 22545, true },
+  { 22566, true },
+  { 22576, true },
+  { 22590, true },
+  { 22603, true },
+  { 22618, true },
+  { 22639, true },
+  { 22659, true },
+  { 22680, true },
+  { 22698, true },
+  { 22710, true },
+  { 22728, true },
+  { 22749, true },
+  { 22769, true },
+  { 22787, true },
+  { 22801, true },
+  { 22820, false },
+  { 22834, true },
+  { 22844, true },
+  { 22855, true },
+  { 22865, true },
+  { 22880, true },
+  { 22893, true },
+  { 22908, true },
+  { 22922, true },
+  { 22935, true },
+  { 22948, true },
+  { 22962, true },
+  { 22979, true },
+  { 22989, true },
+  { 23002, true },
+  { 23019, true },
+  { 23028, true },
+  { 23042, true },
+  { 23062, true },
+  { 23080, true },
+  { 23100, true },
+  { 23114, true },
+  { 23130, true },
+  { 23139, true },
+  { 23149, true },
+  { 23157, true },
+  { 23166, true },
+  { 23175, true },
+  { 23192, true },
+  { 23205, true },
+  { 23215, true },
+  { 23225, true },
+  { 23235, true },
+  { 23253, true },
+  { 23272, true },
+  { 23296, true },
+  { 23316, true },
+  { 23331, true },
+  { 23346, true },
+  { 23379, true },
+  { 23397, true },
+  { 23425, true },
+  { 23441, true },
+  { 23459, true },
   { 23482, true },
-  { 23508, true },
-  { 23526, true },
+  { 23504, true },
+  { 23530, true },
   { 23548, true },
-  { 23562, true },
-  { 23582, true },
-  { 23595, true },
-  { 23607, true },
-  { 23619, true },
-  { 23633, true },
-  { 23651, true },
-  { 23666, true },
-  { 23678, true },
-  { 23697, true },
+  { 23570, true },
+  { 23584, true },
+  { 23604, true },
+  { 23617, true },
+  { 23629, true },
+  { 23641, true },
+  { 23655, true },
+  { 23673, true },
+  { 23688, true },
+  { 23700, true },
   { 23719, true },
-  { 23736, true },
-  { 23751, true },
-  { 23772, true },
-  { 23790, true },
-  { 23804, true },
-  { 23823, true },
-  { 23844, true },
-  { 23861, true },
-  { 23875, true },
-  { 23889, true },
-  { 23910, true },
-  { 23923, true },
-  { 23939, true },
-  { 23952, true },
-  { 23971, true },
-  { 23988, true },
-  { 24006, true },
-  { 24024, true },
-  { 24033, true },
-  { 24049, true },
-  { 24056, true },
-  { 24075, true },
-  { 24093, true },
-  { 24109, true },
-  { 24123, true },
-  { 24135, true },
-  { 24146, true },
-  { 24160, true },
-  { 24170, true },
-  { 24181, false },
-  { 24190, true },
-  { 24204, true },
-  { 24218, true },
-  { 24230, true },
-  { 24245, true },
-  { 24253, true },
-  { 24265, true },
-  { 24280, true },
-  { 24294, true },
-  { 24307, true },
-  { 24318, true },
-  { 24326, true },
+  { 23741, true },
+  { 23758, true },
+  { 23773, true },
+  { 23794, true },
+  { 23812, true },
+  { 23826, true },
+  { 23845, true },
+  { 23866, true },
+  { 23883, true },
+  { 23897, true },
+  { 23911, true },
+  { 23932, true },
+  { 23945, true },
+  { 23961, true },
+  { 23974, true },
+  { 23993, true },
+  { 24010, true },
+  { 24028, true },
+  { 24046, true },
+  { 24055, true },
+  { 24071, true },
+  { 24078, true },
+  { 24097, true },
+  { 24115, true },
+  { 24131, true },
+  { 24145, true },
+  { 24157, true },
+  { 24168, true },
+  { 24182, true },
+  { 24192, true },
+  { 24203, true },
+  { 24212, false },
+  { 24221, true },
+  { 24235, true },
+  { 24249, true },
+  { 24261, true },
+  { 24276, true },
+  { 24284, true },
+  { 24296, true },
+  { 24311, true },
+  { 24325, true },
+  { 24338, true },
   { 24349, true },
-  { 24364, true },
+  { 24357, true },
   { 24380, true },
-  { 24389, true },
-  { 24404, true },
+  { 24395, true },
+  { 24411, true },
   { 24420, true },
-  { 24433, true },
-  { 24448, true },
-  { 24461, true },
-  { 24472, true },
-  { 24482, true },
-  { 24494, true },
-  { 24514, true },
-  { 24527, true },
-  { 24546, true },
-  { 24556, true },
-  { 24564, true },
-  { 24574, true },
+  { 24435, true },
+  { 24451, true },