diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js index 694b8389f..93966140c 100644 --- a/browser/base/content/browser.js +++ b/browser/base/content/browser.js @@ -2476,9 +2476,12 @@ function losslessDecodeURI(aURI) { // a sequence that survived decodeURI, i.e. one for: // ';', '/', '?', ':', '@', '&', '=', '+', '$', ',', '#' // (RFC 3987 section 3.2) - // 2. Re-encode whitespace so that it doesn't get eaten away - // by the location bar (bug 410726). - .replace(/%(?!3B|2F|3F|3A|40|26|3D|2B|24|2C|23)|[\r\n\t]/ig, + // 2. Re-encode select whitespace so that it doesn't get eaten + // away by the location bar (bug 410726). Re-encode all + // adjacent whitespace, to prevent spoofing attempts where + // invisible characters would push part of the URL to + // overflow the location bar (bug 1395508). + .replace(/%(?!3B|2F|3F|3A|40|26|3D|2B|24|2C|23)|[\r\n\t]|\s(?=\s)|\s$/ig, encodeURIComponent); } catch (e) {} diff --git a/browser/base/content/urlbarBindings.xml b/browser/base/content/urlbarBindings.xml index 3d47e927d..e684b0b00 100644 --- a/browser/base/content/urlbarBindings.xml +++ b/browser/base/content/urlbarBindings.xml @@ -905,8 +905,12 @@ file, You can obtain one at http://mozilla.org/MPL/2.0/. this._value = this.inputField.value; gBrowser.userTypedValue = this.value; this.valueIsTyped = true; - this.gotResultForCurrentQuery = false; - this.mController.handleText(); + // Only wait for a result when we are sure to get one. In some + // cases, like when pasting the same exact text, we may not fire + // a new search and we won't get a result. + if (this.mController.handleText()) { + this.gotResultForCurrentQuery = false; + } } this.resetActionType(); ]]> @@ -955,7 +959,8 @@ file, You can obtain one at http://mozilla.org/MPL/2.0/. // a backspace on the text value instead of removing the result. if (this.popup.selectedIndex == 0 && this.popup._isFirstResultHeuristic) { - return this.mController.handleText(); + this.mController.handleText(); + return false; } return this.mController.handleDelete(); ]]> diff --git a/browser/config/version.txt b/browser/config/version.txt index f0f1dc29e..e5e11550f 100644 --- a/browser/config/version.txt +++ b/browser/config/version.txt @@ -1 +1 @@ -45.14.0 +45.15.0 diff --git a/browser/config/version_display.txt b/browser/config/version_display.txt index 454f383bd..8f9b746a4 100644 --- a/browser/config/version_display.txt +++ b/browser/config/version_display.txt @@ -1 +1 @@ -Feature Parity Release 5 +Feature Parity Release 6 diff --git a/browser/locales/en-US/chrome/browser/aboutDialog.dtd b/browser/locales/en-US/chrome/browser/aboutDialog.dtd index e6c33242e..b362942a5 100644 --- a/browser/locales/en-US/chrome/browser/aboutDialog.dtd +++ b/browser/locales/en-US/chrome/browser/aboutDialog.dtd @@ -38,7 +38,7 @@ - + @@ -49,7 +49,7 @@ - + diff --git a/caps/nsScriptSecurityManager.cpp b/caps/nsScriptSecurityManager.cpp index 0fbc68c7c..ae3bda203 100644 --- a/caps/nsScriptSecurityManager.cpp +++ b/caps/nsScriptSecurityManager.cpp @@ -680,7 +680,7 @@ nsScriptSecurityManager::CheckLoadURIWithPrincipal(nsIPrincipal* aPrincipal, nsAutoCString targetScheme; nsresult rv = targetBaseURI->GetScheme(targetScheme); if (NS_FAILED(rv)) return rv; - + //-- Some callers do not allow loading javascript: if ((aFlags & nsIScriptSecurityManager::DISALLOW_SCRIPT) && targetScheme.EqualsLiteral("javascript")) @@ -688,6 +688,235 @@ nsScriptSecurityManager::CheckLoadURIWithPrincipal(nsIPrincipal* aPrincipal, return NS_ERROR_DOM_BAD_URI; } + // TenFourFox issue 469 + // determine if this is a script we want to block + if (mIsTenFourFoxAdBlockEnabled && + (targetScheme.EqualsLiteral("http") || targetScheme.EqualsLiteral("https"))) { + nsAutoCString hostname; + if (NS_SUCCEEDED(targetBaseURI->GetHost(hostname))) { + ToLowerCase(hostname); +#define BLOK(q) hostname.EqualsLiteral(q) + if (0 || + // This is used as a data source by a lot of UIs, + // so we shouldn't block it (e.g., nytimes). + // Probably also shouldn't block googletagmanager.com + // for the same reasons. + //BLOK("www.googletagservices.com") || + + // blocking zdbb.net seems to be problematic + // https://github.com/AdguardTeam/AdguardFilters/issues/1278 + + BLOK("c.amazon-adsystem.com") || + + BLOK("google-analytics.com") || + BLOK("www.google-analytics.com") || + BLOK("ssl.google-analytics.com") || + + BLOK("tpc.googlesyndication.com") || + BLOK("pagead.googlesyndication.com") || + BLOK("pagead2.googlesyndication.com") || + + BLOK("adservice.google.com") || + + BLOK("www.googleadservices.com") || + + BLOK("adrta.com") || + BLOK("p.adrta.com") || + BLOK("q.adrta.com") || + BLOK("cdn.adrta.com") || + BLOK("ipv6.adrta.com") || + + BLOK("ib.adnxs.com") || + BLOK("acdn.adnxs.com") || + BLOK("secure.adnxs.com") || + BLOK("yj-a.p.adnxs.com") || + BLOK("sharethrough.adnxs.com") || + + BLOK("c2.taboola.com") || + BLOK("nr.taboola.com") || + BLOK("cdn.taboola.com") || + BLOK("trc.taboola.com") || + + BLOK("b.scorecardresearch.com") || + BLOK("sb.scorecardresearch.com") || + + BLOK("ad.doubleclick.net") || + BLOK("static.doubleclick.net") || + BLOK("stats.g.doubleclick.net") || + BLOK("googleads.g.doubleclick.net") || + BLOK("securepubads.g.doubleclick.net") || + + BLOK("at.atwola.com") || + + BLOK("pixel.advertising.com") || + BLOK("dtm.advertising.com") || + + BLOK("sp.analytics.yahoo.com") || + BLOK("ads.yap.yahoo.com") || + + BLOK("cdn.gotraffic.net") || + + BLOK("cdn.rta247.com") || + + BLOK("widget.perfectmarket.com") || + + BLOK("cdn.doubleverify.com") || + BLOK("rtb0.doubleverify.com") || + BLOK("rtbcdn.doubleverify.com") || + + BLOK("cdn.flashtalking.com") || + BLOK("servedby.flashtalking.com") || + + BLOK("a.postrelease.com") || + BLOK("jadserve.postrelease.com") || + + BLOK("native.sharethrough.com") || + + BLOK("static.chartbeat.com") || + + BLOK("edge.quantserve.com") || + BLOK("secure.quantserve.com") || + + BLOK("rules.quantcount.com") || + + BLOK("api.viglink.com") || + BLOK("cdn.viglink.com") || + + BLOK("xcp.go.sonobi.com") || + + BLOK("s.ntv.io") || + + BLOK("cdn.segment.com") || + + BLOK("cdn-gl.imrworldwide.com") || + BLOK("secure-dcr.imrworldwide.com") || + + BLOK("labs-cdn.revcontent.com") || + BLOK("trends.revcontent.com") || + BLOK("cdn.revcontent.com") || + + BLOK("cas.criteo.com") || + BLOK("static.criteo.net") || + + BLOK("jsc.idealmedia.com") || + BLOK("servicer.idealmedia.com") || + + BLOK("js-agent.newrelic.com") || + BLOK("bam.nr-data.net") || + + BLOK("widgets.outbrain.com") || + BLOK("amplify.outbrain.com") || + + BLOK("cdn.krxd.net") || + BLOK("beacon.krxd.net") || + + BLOK("scdn.cxense.com") || + BLOK("rscdn.cxense.com") || + + BLOK("z.moatads.com") || + BLOK("s-jsonp.moatads.com") || + + BLOK("static.yieldmo.com") || + + BLOK("ads.rubiconproject.com") || + + BLOK("cdn.engine.4dsply.com") || + + BLOK("as-sec.casalemedia.com") || + + BLOK("loadm.exelator.com") || + + BLOK("sdk.streamrail.com") || + + BLOK("cdn.lockerdome.com") || + BLOK("cdn2.lockerdome.com") || + + BLOK("pi.pardot.com") || + + BLOK("js-sec.indexww.com") || + + BLOK("tags.tiqcdn.com") || + + BLOK("tag.bounceexchange.com") || + BLOK("api.bounceexchange.com") || + + BLOK("www.npttech.com") || + + BLOK("cdn.adsafeprotected.com") || + + BLOK("aka-cdn.adtechus.com") || + BLOK("adserver.adtechus.com") || + + BLOK("r.skimresources.com") || + BLOK("s.skimresources.com") || + BLOK("t.skimresources.com") || + + BLOK("contextual.media.net") || + + BLOK("edge.simplereach.com") || + + BLOK("js.adsrvr.org") || + + BLOK("script.crazyegg.com") || + + BLOK("launch.newsinc.com") || + + BLOK("c.go-mpulse.net") || + + BLOK("cdn5.userzoom.com") || + + BLOK("dx.steelhousemedia.com") || + BLOK("px.steelhousemedia.com") || + BLOK("ww.steelhousemedia.com") || + + BLOK("nexus.ensighten.com") || + + BLOK("cdn.mediavoice.com") || + BLOK("plugin.mediavoice.com") || + + BLOK("segment-data.zqtk.net") || + + BLOK("d.turn.com") || + + BLOK("i.yldbt.com") || + BLOK("cdn.yldbt.com") || + + BLOK("pippio.com") || + + BLOK("cdn.quantummetric.com") || + + BLOK("cdn.blueconic.net") || + + BLOK("www.zergnet.com") || + + BLOK("f.monetate.net") || + BLOK("sb.monetate.net") || + BLOK("se.monetate.net") || + + BLOK("tags.crwdcntrl.net") || + + BLOK("cdn.nsstatic.net") || + + BLOK("tags.bkrtx.com") || + + BLOK("yads.c.yimg.jp") || + BLOK("yjtag.yahoo.co.jp") || + BLOK("yads.yjtag.yahoo.co.jp") || + + BLOK("px-ya.ladsp.com") || + 0) { +#undef BLOK + // Yup. +#ifndef DEBUG + if (mIsTenFourFoxAdBlockLoggingEnabled) +#endif + fprintf(stderr, "Warning: TenFourFox basic adblock intercepted script from %s.\n", + hostname.get()); + return NS_ERROR_DOM_BAD_URI; + } + } + } + NS_NAMED_LITERAL_STRING(errorTag, "CheckLoadURIError"); bool reportErrors = !(aFlags & nsIScriptSecurityManager::DONT_REPORT_ERRORS); @@ -728,6 +957,7 @@ nsScriptSecurityManager::CheckLoadURIWithPrincipal(nsIPrincipal* aPrincipal, NS_ENSURE_SUCCESS(rv, rv); if (hasFlags) { +#if(0) // no B2G // Let apps load the whitelisted theme resources even if they don't // have the webapps-manage permission but have the themeable one. // Resources from the theme origin are also allowed to load from @@ -744,6 +974,7 @@ nsScriptSecurityManager::CheckLoadURIWithPrincipal(nsIPrincipal* aPrincipal, ? NS_OK : NS_ERROR_DOM_BAD_URI; } } +#endif // In this case, we allow opening only if the source and target URIS // are on the same domain, or the opening URI has the webapps // permision granted @@ -1246,6 +1477,7 @@ static const char* kObservedPrefs[] = { sJSEnabledPrefName, sFileOriginPolicyPrefName, "capability.policy.", + "tenfourfox.adblock.", nullptr }; @@ -1264,6 +1496,8 @@ nsScriptSecurityManager::Observe(nsISupports* aObject, const char* aTopic, nsScriptSecurityManager::nsScriptSecurityManager(void) : mPrefInitialized(false) , mIsJavaScriptEnabled(false) + , mIsTenFourFoxAdBlockEnabled(false) + , mIsTenFourFoxAdBlockLoggingEnabled(false) { static_assert(sizeof(intptr_t) == sizeof(void*), "intptr_t and void* have different lengths on this platform. " @@ -1400,6 +1634,10 @@ nsScriptSecurityManager::ScriptSecurityPrefChanged() Preferences::GetBool(sJSEnabledPrefName, mIsJavaScriptEnabled); sStrictFileOriginPolicy = Preferences::GetBool(sFileOriginPolicyPrefName, false); + mIsTenFourFoxAdBlockEnabled = + Preferences::GetBool("tenfourfox.adblock.enabled", mIsTenFourFoxAdBlockEnabled); + mIsTenFourFoxAdBlockLoggingEnabled = + Preferences::GetBool("tenfourfox.adblock.logging.enabled", mIsTenFourFoxAdBlockLoggingEnabled); // // Rebuild the set of principals for which we allow file:// URI loads. This diff --git a/caps/nsScriptSecurityManager.h b/caps/nsScriptSecurityManager.h index 361879dc5..41b68e137 100644 --- a/caps/nsScriptSecurityManager.h +++ b/caps/nsScriptSecurityManager.h @@ -123,6 +123,8 @@ private: nsCOMPtr mSystemPrincipal; bool mPrefInitialized; bool mIsJavaScriptEnabled; + bool mIsTenFourFoxAdBlockEnabled; + bool mIsTenFourFoxAdBlockLoggingEnabled; nsTArray> mFileURIWhitelist; // This machinery controls new-style domain policies. The old-style diff --git a/config/milestone.txt b/config/milestone.txt index a74f7bc43..e14945d5a 100644 --- a/config/milestone.txt +++ b/config/milestone.txt @@ -10,4 +10,4 @@ # hardcoded milestones in the tree from these two files. #-------------------------------------------------------- -45.14.0 +45.15.0 diff --git a/docshell/base/nsDocShell.cpp b/docshell/base/nsDocShell.cpp index b9d4be58b..50a7f6c6e 100644 --- a/docshell/base/nsDocShell.cpp +++ b/docshell/base/nsDocShell.cpp @@ -6493,8 +6493,10 @@ nsDocShell::ScrollByPages(int32_t aNumPages) //***************************************************************************** NS_IMETHODIMP -nsDocShell::RefreshURI(nsIURI* aURI, int32_t aDelay, bool aRepeat, - bool aMetaRefresh) +nsDocShell::RefreshURI(nsIURI* aURI, + int32_t aDelay, bool aRepeat, + bool aMetaRefresh, + nsIPrincipal* aPrincipal) { NS_ENSURE_ARG(aURI); @@ -6529,6 +6531,7 @@ nsDocShell::RefreshURI(nsIURI* aURI, int32_t aDelay, bool aRepeat, nsCOMPtr dataRef = refreshTimer; // Get the ref count to 1 refreshTimer->mDocShell = this; + refreshTimer->mPrincipal = aPrincipal; refreshTimer->mURI = aURI; refreshTimer->mDelay = aDelay; refreshTimer->mRepeat = aRepeat; @@ -6560,7 +6563,8 @@ nsresult nsDocShell::ForceRefreshURIFromTimer(nsIURI* aURI, int32_t aDelay, bool aMetaRefresh, - nsITimer* aTimer) + nsITimer* aTimer, + nsIPrincipal* aPrincipal) { NS_PRECONDITION(aTimer, "Must have a timer here"); @@ -6578,7 +6582,7 @@ nsDocShell::ForceRefreshURIFromTimer(nsIURI* aURI, } } - return ForceRefreshURI(aURI, aDelay, aMetaRefresh); + return ForceRefreshURI(aURI, aDelay, aMetaRefresh, aPrincipal); } bool @@ -6608,7 +6612,7 @@ nsDocShell::DoAppRedirectIfNeeded(nsIURI* aURI, } NS_IMETHODIMP -nsDocShell::ForceRefreshURI(nsIURI* aURI, int32_t aDelay, bool aMetaRefresh) +nsDocShell::ForceRefreshURI(nsIURI* aURI, int32_t aDelay, bool aMetaRefresh, nsIPrincipal* aPrincipal) { NS_ENSURE_ARG(aURI); @@ -6656,11 +6660,18 @@ nsDocShell::ForceRefreshURI(nsIURI* aURI, int32_t aDelay, bool aMetaRefresh) loadInfo->SetLoadType(nsIDocShellLoadInfo::loadRefresh); } + // If the principal is null, the refresh will have a triggeringPrincipal + // derived from the referrer URI, or will be set to the system principal + // if there is no refererrer. See LoadURI() + if (aPrincipal) { + loadInfo->SetOwner(aPrincipal); // as called prior to bug 1286472 + } + /* * LoadURI(...) will cancel all refresh timers... This causes the * Timer and its refreshData instance to be released... */ - LoadURI(aURI, loadInfo, nsIWebNavigation::LOAD_FLAGS_NONE, true); + LoadURI(aURI, loadInfo, nsIWebNavigation::LOAD_FLAGS_DISALLOW_INHERIT_OWNER, true); // XXX: LOAD_FLAGS_DISALLOW_INHERIT_PRINCIPAL return NS_OK; } @@ -6896,7 +6907,7 @@ nsDocShell::SetupRefreshURIFromHeader(nsIURI* aBaseURI, return NS_ERROR_FAILURE; } - rv = RefreshURI(uri, seconds * 1000, false, true); + rv = RefreshURI(uri, seconds * 1000, false, true, aPrincipal); } } } @@ -12974,7 +12985,7 @@ nsRefreshTimer::Notify(nsITimer* aTimer) // Get the delay count to determine load type uint32_t delay = 0; aTimer->GetDelay(&delay); - mDocShell->ForceRefreshURIFromTimer(mURI, delay, mMetaRefresh, aTimer); + mDocShell->ForceRefreshURIFromTimer(mURI, delay, mMetaRefresh, aTimer, mPrincipal); } return NS_OK; } diff --git a/docshell/base/nsDocShell.h b/docshell/base/nsDocShell.h index 340f00793..6deb6947b 100644 --- a/docshell/base/nsDocShell.h +++ b/docshell/base/nsDocShell.h @@ -113,6 +113,7 @@ public: RefPtr mDocShell; nsCOMPtr mURI; + nsCOMPtr mPrincipal; int32_t mDelay; bool mRepeat; bool mMetaRefresh; @@ -244,7 +245,8 @@ public: // the timer involved out of mRefreshURIList if it's there. // aTimer must not be null. nsresult ForceRefreshURIFromTimer(nsIURI* aURI, int32_t aDelay, - bool aMetaRefresh, nsITimer* aTimer); + bool aMetaRefresh, nsITimer* aTimer, + nsIPrincipal* aPrincipal); friend class OnLinkClickEvent; diff --git a/docshell/base/nsIRefreshURI.idl b/docshell/base/nsIRefreshURI.idl index f872d8b7f..5abd829da 100644 --- a/docshell/base/nsIRefreshURI.idl +++ b/docshell/base/nsIRefreshURI.idl @@ -18,23 +18,35 @@ interface nsIRefreshURI : nsISupports { * queued and executed when the current load finishes. * * @param aUri The uri to refresh. + * @param aPrincipal The triggeringPrincipal for the refresh load + * May be null, in which case a principal will be built based on the + * referrer URI of the previous docshell load, or will use the system + * principal when there is no referrer. * @param aMillis The number of milliseconds to wait. * @param aRepeat Flag to indicate if the uri is to be * repeatedly refreshed every aMillis milliseconds. * @param aMetaRefresh Flag to indicate if this is a Meta refresh. */ - void refreshURI(in nsIURI aURI, in long aMillis, in boolean aRepeat, - in boolean aMetaRefresh); + void refreshURI(in nsIURI aURI, + in long aMillis, in boolean aRepeat, + in boolean aMetaRefresh, + [optional] in nsIPrincipal aPrincipal); /** * Loads a URI immediately as if it were a refresh. * * @param aURI The URI to refresh. + * @param aPrincipal The triggeringPrincipal for the refresh load + * May be null, in which case a principal will be built based on the + * referrer URI of the previous docshell load, or will use the system + * principal when there is no referrer. * @param aMillis The number of milliseconds by which this refresh would * be delayed if it were not being forced. * @param aMetaRefresh Flag to indicate if this is a meta refresh. */ - void forceRefreshURI(in nsIURI aURI, in long aMillis, in boolean aMetaRefresh); + void forceRefreshURI(in nsIURI aURI, + in long aMillis, in boolean aMetaRefresh, + [optional] in nsIPrincipal aPrincipal); /** * Checks the passed in channel to see if there is a refresh header, @@ -57,10 +69,15 @@ interface nsIRefreshURI : nsISupports { * the current page finishes loading. * * @param aBaseURI base URI to resolve refresh uri with. - * @param principal the associated principal + * @param aPrincipal The triggeringPrincipal for the refresh load + * May be null, in which case a principal will be built based on the + * referrer URI of the previous docshell load, or will use the system + * principal when there is no referrer. * @param aHeader The meta refresh header string. */ - void setupRefreshURIFromHeader(in nsIURI aBaseURI, in nsIPrincipal principal, in ACString aHeader); + void setupRefreshURIFromHeader(in nsIURI aBaseURI, + in nsIPrincipal principal, + in ACString aHeader); /** * Cancels all timer loads. diff --git a/dom/base/DirectionalityUtils.cpp b/dom/base/DirectionalityUtils.cpp index 06877d0e9..e2357d8bc 100644 --- a/dom/base/DirectionalityUtils.cpp +++ b/dom/base/DirectionalityUtils.cpp @@ -387,7 +387,7 @@ GetDirectionFromText(const nsTextFragment* aFrag, * know not to return it * @return the text node containing the character that determined the direction */ -static nsINode* +static nsTextNode* WalkDescendantsSetDirectionFromText(Element* aElement, bool aNotify = true, nsINode* aChangedNode = nullptr) { @@ -413,7 +413,7 @@ WalkDescendantsSetDirectionFromText(Element* aElement, bool aNotify = true, // We found a descendant text node with strong directional characters. // Set the directionality of aElement to the corresponding value. aElement->SetDirectionality(textNodeDir, aNotify); - return child; + return static_cast(child); } } child = child->GetNextNode(aElement); @@ -436,7 +436,7 @@ class nsTextNodeDirectionalityMap nsTextNodeDirectionalityMap* map = reinterpret_cast(aPropertyValue); - map->EnsureMapIsClear(textNode); + map->EnsureMapIsClear(); delete map; } @@ -471,7 +471,7 @@ public: NS_RELEASE(textNode); } - void AddEntry(nsINode* aTextNode, Element* aElement) + void AddEntry(nsTextNode* aTextNode, Element* aElement) { if (!mElements.Contains(aElement)) { mElements.Put(aElement); @@ -482,7 +482,7 @@ public: } } - void RemoveEntry(nsINode* aTextNode, Element* aElement) + void RemoveEntry(nsTextNode* aTextNode, Element* aElement) { NS_ASSERTION(mElements.Contains(aElement), "element already removed from map"); @@ -542,7 +542,7 @@ private: static_cast(aData); nsINode* oldTextNode = data->mNode; Element* rootNode = aEntry->GetKey(); - nsINode* newTextNode = nullptr; + nsTextNode* newTextNode = nullptr; if (rootNode->GetParentNode() && rootNode->HasDirAuto()) { newTextNode = WalkDescendantsSetDirectionFromText(rootNode, true, oldTextNode); @@ -565,11 +565,12 @@ private: return OpRemove; } - static nsCheapSetOperator ClearEntry(nsPtrHashKey* aEntry, void* aData) + static nsCheapSetOperator TakeEntries(nsPtrHashKey* aEntry, void* aData) { - Element* rootNode = aEntry->GetKey(); - rootNode->ClearHasDirAutoSet(); - rootNode->DeleteProperty(nsGkAtoms::dirAutoSetBy); + // TenFourFox lacks AutoTArray, so convert bug 1414452 to nsAutoTArray. + nsAutoTArray* entries = + static_cast*>(aData); + entries->AppendElement(aEntry->GetKey()); return OpRemove; } @@ -585,22 +586,28 @@ public: mElements.EnumerateEntries(ResetNodeDirection, &data); } - void EnsureMapIsClear(nsINode* aTextNode) + void EnsureMapIsClear() { AutoRestore restore(mElementToBeRemoved); - DebugOnly clearedEntries = - mElements.EnumerateEntries(ClearEntry, aTextNode); - MOZ_ASSERT(clearedEntries == 0, "Map should be empty already"); + // As above. + nsAutoTArray entries; + mElements.EnumerateEntries(TakeEntries, &entries); + uint32_t size = entries.Length(); + for(uint32_t i = 0; i < size; i++) { + Element* el = entries.ElementAt(i); + el->ClearHasDirAutoSet(); + el->DeleteProperty(nsGkAtoms::dirAutoSetBy); + } } - static void RemoveElementFromMap(nsINode* aTextNode, Element* aElement) + static void RemoveElementFromMap(nsTextNode* aTextNode, Element* aElement) { if (aTextNode->HasTextNodeDirectionalityMap()) { GetDirectionalityMap(aTextNode)->RemoveEntry(aTextNode, aElement); } } - static void AddEntryToMap(nsINode* aTextNode, Element* aElement) + static void AddEntryToMap(nsTextNode* aTextNode, Element* aElement) { nsTextNodeDirectionalityMap* map = GetDirectionalityMap(aTextNode); if (!map) { @@ -618,8 +625,8 @@ public: return GetDirectionalityMap(aTextNode)->UpdateAutoDirection(aDir); } - static void ResetTextNodeDirection(nsINode* aTextNode, - nsINode* aChangedTextNode) + static void ResetTextNodeDirection(nsTextNode* aTextNode, + nsTextNode* aChangedTextNode) { MOZ_ASSERT(aTextNode->HasTextNodeDirectionalityMap(), "Map missing in ResetTextNodeDirection"); @@ -630,7 +637,7 @@ public: static void EnsureMapIsClearFor(nsINode* aTextNode) { if (aTextNode->HasTextNodeDirectionalityMap()) { - GetDirectionalityMap(aTextNode)->EnsureMapIsClear(aTextNode); + GetDirectionalityMap(aTextNode)->EnsureMapIsClear(); } } }; @@ -694,7 +701,7 @@ SetDirectionalityOnDescendants(Element* aElement, Directionality aDir, void WalkAncestorsResetAutoDirection(Element* aElement, bool aNotify) { - nsINode* setByNode; + nsTextNode* setByNode; Element* parent = aElement->GetParentElement(); while (parent && parent->NodeOrAncestorHasDirAuto()) { @@ -704,7 +711,7 @@ WalkAncestorsResetAutoDirection(Element* aElement, bool aNotify) // Remove it from the map and reset its direction by the downward // propagation algorithm setByNode = - static_cast(parent->GetProperty(nsGkAtoms::dirAutoSetBy)); + static_cast(parent->GetProperty(nsGkAtoms::dirAutoSetBy)); if (setByNode) { nsTextNodeDirectionalityMap::RemoveElementFromMap(setByNode, parent); } @@ -730,11 +737,9 @@ WalkDescendantsResetAutoDirection(Element* aElement) continue; } - if (child->HasTextNodeDirectionalityMap()) { - nsTextNodeDirectionalityMap::ResetTextNodeDirection(child, nullptr); - // Don't call nsTextNodeDirectionalityMap::EnsureMapIsClearFor(child) - // since ResetTextNodeDirection may have kept elements in child's - // DirectionalityMap. + if (child->NodeType() == nsIDOMNode::TEXT_NODE && + child->HasTextNodeDirectionalityMap()) { + nsTextNodeDirectionalityMap::ResetTextNodeDirection(static_cast(child), nullptr); } child = child->GetNextNode(aElement); } @@ -776,7 +781,7 @@ WalkDescendantsSetDirAuto(Element* aElement, bool aNotify) } } - nsINode* textNode = WalkDescendantsSetDirectionFromText(aElement, aNotify); + nsTextNode* textNode = WalkDescendantsSetDirectionFromText(aElement, aNotify); if (textNode) { nsTextNodeDirectionalityMap::AddEntryToMap(textNode, aElement); } @@ -797,7 +802,7 @@ WalkDescendantsClearAncestorDirAuto(Element* aElement) } } -void SetAncestorDirectionIfAuto(nsINode* aTextNode, Directionality aDir, +void SetAncestorDirectionIfAuto(nsTextNode* aTextNode, Directionality aDir, bool aNotify = true) { MOZ_ASSERT(aTextNode->NodeType() == nsIDOMNode::TEXT_NODE, @@ -811,8 +816,8 @@ void SetAncestorDirectionIfAuto(nsINode* aTextNode, Directionality aDir, if (parent->HasDirAuto()) { bool resetDirection = false; - nsINode* directionWasSetByTextNode = - static_cast(parent->GetProperty(nsGkAtoms::dirAutoSetBy)); + nsTextNode* directionWasSetByTextNode = + static_cast(parent->GetProperty(nsGkAtoms::dirAutoSetBy)); if (!parent->HasDirAutoSet()) { // Fast path if parent's direction is not yet set by any descendant @@ -883,7 +888,7 @@ TextNodeWillChangeDirection(nsIContent* aTextNode, Directionality* aOldDir, } void -TextNodeChangedDirection(nsIContent* aTextNode, Directionality aOldDir, +TextNodeChangedDirection(nsTextNode* aTextNode, Directionality aOldDir, bool aNotify) { Directionality newDir = GetDirectionFromText(aTextNode->GetText()); @@ -913,7 +918,7 @@ TextNodeChangedDirection(nsIContent* aTextNode, Directionality aOldDir, } void -SetDirectionFromNewTextNode(nsIContent* aTextNode) +SetDirectionFromNewTextNode(nsTextNode* aTextNode) { if (!NodeAffectsDirAutoAncestor(aTextNode)) { return; @@ -1000,8 +1005,8 @@ OnSetDirAttr(Element* aElement, const nsAttrValue* aNewValue, WalkDescendantsSetDirAuto(aElement, aNotify); } else { if (aElement->HasDirAutoSet()) { - nsINode* setByNode = - static_cast(aElement->GetProperty(nsGkAtoms::dirAutoSetBy)); + nsTextNode* setByNode = + static_cast(aElement->GetProperty(nsGkAtoms::dirAutoSetBy)); nsTextNodeDirectionalityMap::RemoveElementFromMap(setByNode, aElement); } SetDirectionalityOnDescendants(aElement, diff --git a/dom/base/DirectionalityUtils.h b/dom/base/DirectionalityUtils.h index 6d5927aa9..572182c90 100644 --- a/dom/base/DirectionalityUtils.h +++ b/dom/base/DirectionalityUtils.h @@ -89,14 +89,14 @@ bool TextNodeWillChangeDirection(nsIContent* aTextNode, Directionality* aOldDir, * After the contents of a text node have changed, change the directionality * of any elements whose directionality is determined by that node */ -void TextNodeChangedDirection(nsIContent* aTextNode, Directionality aOldDir, +void TextNodeChangedDirection(nsTextNode* aTextNode, Directionality aOldDir, bool aNotify); /** * When a text node is appended to an element, find any ancestors with dir=auto * whose directionality will be determined by the text node */ -void SetDirectionFromNewTextNode(nsIContent* aTextNode); +void SetDirectionFromNewTextNode(nsTextNode* aTextNode); /** * When a text node is removed from a document, find any ancestors whose diff --git a/dom/base/IdleDeadline.cpp b/dom/base/IdleDeadline.cpp new file mode 100644 index 000000000..6e71b4930 --- /dev/null +++ b/dom/base/IdleDeadline.cpp @@ -0,0 +1,70 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim:set ts=2 sw=2 sts=2 et cindent: */ +/* 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/. */ + +#include + +#include "mozilla/dom/IdleDeadline.h" +#include "mozilla/dom/IdleDeadlineBinding.h" +#include "nsPerformance.h" +#include "nsCOMPtr.h" +#include "nsCycleCollectionParticipant.h" +#include "nsDOMNavigationTiming.h" +#include "nsPIDOMWindow.h" + +namespace mozilla { +namespace dom { + +NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(IdleDeadline, mWindow) +NS_IMPL_CYCLE_COLLECTING_ADDREF(IdleDeadline) +NS_IMPL_CYCLE_COLLECTING_RELEASE(IdleDeadline) +NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(IdleDeadline) + NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY + NS_INTERFACE_MAP_ENTRY(nsISupports) +NS_INTERFACE_MAP_END + +IdleDeadline::IdleDeadline(nsPIDOMWindow* aWindow, bool aDidTimeout, + DOMHighResTimeStamp aDeadline) + : mWindow(aWindow) + , mDidTimeout(aDidTimeout) + , mDeadline(aDeadline) +{ +} + +IdleDeadline::~IdleDeadline() +{ +} + +JSObject* +IdleDeadline::WrapObject(JSContext* aCx, JS::Handle aGivenProto) +{ + return IdleDeadlineBinding::Wrap(aCx, this, aGivenProto); +} + +DOMHighResTimeStamp +IdleDeadline::TimeRemaining() +{ + if (mDidTimeout) { + return 0.0; + } + + RefPtr performance = mWindow->GetPerformance(); + if (!performance) { + // If there is no performance object the window is partially torn + // down, so we can safely say that there is no time remaining. + return 0.0; + } + + return std::max(mDeadline - performance->Now(), 0.0); +} + +bool +IdleDeadline::DidTimeout() const +{ + return mDidTimeout; +} + +} // namespace dom +} // namespace mozilla diff --git a/dom/base/IdleDeadline.h b/dom/base/IdleDeadline.h new file mode 100644 index 000000000..f8cc46c47 --- /dev/null +++ b/dom/base/IdleDeadline.h @@ -0,0 +1,55 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim:set ts=2 sw=2 sts=2 et cindent: */ +/* 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/. */ + +#ifndef mozilla_dom_IdleDeadline_h +#define mozilla_dom_IdleDeadline_h + +#include "js/TypeDecls.h" +#include "mozilla/Attributes.h" +#include "mozilla/ErrorResult.h" +#include "mozilla/Maybe.h" +#include "mozilla/dom/BindingDeclarations.h" +#include "nsCOMPtr.h" +#include "nsCycleCollectionParticipant.h" +#include "nsDOMNavigationTiming.h" +#include "nsWrapperCache.h" + +class nsPIDOMWindow; + +namespace mozilla { +namespace dom { + +class IdleDeadline final + : public nsISupports + , public nsWrapperCache +{ +public: + IdleDeadline(nsPIDOMWindow* aWindow, bool aDidTimeout, + DOMHighResTimeStamp aDeadline); + + nsPIDOMWindow* GetParentObject() const { return mWindow; } + + virtual JSObject* WrapObject(JSContext* aCx, + JS::Handle aGivenProto) override; + + DOMHighResTimeStamp TimeRemaining(); + bool DidTimeout() const; + + NS_DECL_CYCLE_COLLECTING_ISUPPORTS + NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(IdleDeadline) + +private: + ~IdleDeadline(); + + nsCOMPtr mWindow; + const bool mDidTimeout; + const DOMHighResTimeStamp mDeadline; +}; + +} // namespace dom +} // namespace mozilla + +#endif // mozilla_dom_IdleDeadline_h diff --git a/dom/base/moz.build b/dom/base/moz.build index ef16c31ca..5e64c0b41 100644 --- a/dom/base/moz.build +++ b/dom/base/moz.build @@ -182,6 +182,7 @@ EXPORTS.mozilla.dom += [ 'FileReader.h', 'FragmentOrElement.h', 'FromParser.h', + 'IdleDeadline.h', 'ImageEncoder.h', 'ImportManager.h', 'Link.h', @@ -247,6 +248,7 @@ UNIFIED_SOURCES += [ 'FileList.cpp', 'FileReader.cpp', 'FragmentOrElement.cpp', + 'IdleDeadline.cpp', 'ImageEncoder.cpp', 'ImportManager.cpp', 'Link.cpp', diff --git a/dom/base/nsGenericDOMDataNode.cpp b/dom/base/nsGenericDOMDataNode.cpp index 4db131db1..91c0b5f5d 100644 --- a/dom/base/nsGenericDOMDataNode.cpp +++ b/dom/base/nsGenericDOMDataNode.cpp @@ -371,7 +371,10 @@ nsGenericDOMDataNode::SetTextInternal(uint32_t aOffset, uint32_t aCount, } if (dirAffectsAncestor) { - TextNodeChangedDirection(this, oldDir, aNotify); + // dirAffectsAncestor being true implies that we have a text node, see + // above. + MOZ_ASSERT(NodeType() == nsIDOMNode::TEXT_NODE); + TextNodeChangedDirection(static_cast(this), oldDir, aNotify); } // Notify observers diff --git a/dom/base/nsGlobalWindow.cpp b/dom/base/nsGlobalWindow.cpp index 179aeadf9..f8bf14a4f 100644 --- a/dom/base/nsGlobalWindow.cpp +++ b/dom/base/nsGlobalWindow.cpp @@ -1143,6 +1143,7 @@ nsGlobalWindow::nsGlobalWindow(nsGlobalWindow *aOuterWindow) mTimeoutsSuspendDepth(0), mFocusMethod(0), mSerial(0), + mIdleRequestCallbackCounter(1), #ifdef DEBUG mSetOpenerWindowCalled(false), #endif @@ -13858,3 +13859,35 @@ nsGlobalWindow::CreateImageBitmap(const ImageBitmapSource& aImage, { return ImageBitmap::Create(this, aImage, Some(gfx::IntRect(aSx, aSy, aSw, aSh)), aRv); } + +/* Support for requestIdleCallback() from TenFourFox issue 463 */ + +uint32_t +nsGlobalWindow::RequestIdleCallback(JSContext* aCx, + IdleRequestCallback& aCallback, + const IdleRequestOptions& aOptions, + ErrorResult& aError) +{ + MOZ_RELEASE_ASSERT(IsInnerWindow()); + AssertIsOnMainThread(); + + // uint32_t handle = ++mIdleRequestCallbackCounter; + + fprintf(stderr, "::RequestIdleCallback() is not yet implemented\n"); +#if DEBUG + MOZ_ASSERT(0); +#endif + return 0; // handle; +} + +void +nsGlobalWindow::CancelIdleCallback(uint32_t aHandle) +{ + MOZ_RELEASE_ASSERT(IsInnerWindow()); + + fprintf(stderr, "::CancelIdleCallback() is not yet implemented\n"); +#if DEBUG + MOZ_ASSERT(0); +#endif +} + diff --git a/dom/base/nsGlobalWindow.h b/dom/base/nsGlobalWindow.h index 9b73d8fcb..41d1b65e4 100644 --- a/dom/base/nsGlobalWindow.h +++ b/dom/base/nsGlobalWindow.h @@ -118,6 +118,7 @@ class RequestOrUSVString; class Selection; class SpeechSynthesis; class WakeLock; +class IdleRequestCallback; #if defined(MOZ_WIDGET_ANDROID) || defined(MOZ_WIDGET_GONK) class WindowOrientationObserver; #endif @@ -1042,6 +1043,13 @@ public: int32_t RequestAnimationFrame(mozilla::dom::FrameRequestCallback& aCallback, mozilla::ErrorResult& aError); void CancelAnimationFrame(int32_t aHandle, mozilla::ErrorResult& aError); + + uint32_t RequestIdleCallback(JSContext* aCx, + mozilla::dom::IdleRequestCallback& aCallback, + const mozilla::dom::IdleRequestOptions& aOptions, + mozilla::ErrorResult& aError); + void CancelIdleCallback(uint32_t aHandle); + #ifdef MOZ_WEBSPEECH mozilla::dom::SpeechSynthesis* GetSpeechSynthesis(mozilla::ErrorResult& aError); @@ -1791,6 +1799,9 @@ protected: uint32_t mSerial; + // requestIdleCallback() support + uint32_t mIdleRequestCallbackCounter; + #ifdef DEBUG bool mSetOpenerWindowCalled; nsCOMPtr mLastOpenedURI; diff --git a/dom/base/nsINode.h b/dom/base/nsINode.h index a9457fa1f..cdcaca52f 100644 --- a/dom/base/nsINode.h +++ b/dom/base/nsINode.h @@ -1621,8 +1621,11 @@ public: "ClearHasTextNodeDirectionalityMap on non-text node"); ClearBoolFlag(NodeHasTextNodeDirectionalityMap); } - bool HasTextNodeDirectionalityMap() const - { return GetBoolFlag(NodeHasTextNodeDirectionalityMap); } + bool HasTextNodeDirectionalityMap() const { + MOZ_ASSERT(NodeType() == nsIDOMNode::TEXT_NODE, + "HasTextNodeDirectionalityMap on non-text node"); + return GetBoolFlag(NodeHasTextNodeDirectionalityMap); + } void SetHasDirAuto() { SetBoolFlag(NodeHasDirAuto); } void ClearHasDirAuto() { ClearBoolFlag(NodeHasDirAuto); } diff --git a/dom/base/nsPerformance.cpp b/dom/base/nsPerformance.cpp index 50fb63ec5..962a96899 100644 --- a/dom/base/nsPerformance.cpp +++ b/dom/base/nsPerformance.cpp @@ -918,10 +918,10 @@ PerformanceBase::ClearResourceTimings() DOMHighResTimeStamp PerformanceBase::RoundTime(double aTime) const { - // Round down to the nearest 5us, because if the timer is too accurate people - // can do nasty timing attacks with it. See similar code in the worker - // Performance implementation. - const double maxResolutionMs = 0.005; + // Round down to the nearest 20us, because if the timer is too accurate people + // can do nasty timing attacks with it. See TenFourFox issue 459 and + // bug 1427870. + const double maxResolutionMs = 0.020; return floor(aTime / maxResolutionMs) * maxResolutionMs; } diff --git a/dom/base/nsTextNode.h b/dom/base/nsTextNode.h index 24725ecb8..488540a82 100644 --- a/dom/base/nsTextNode.h +++ b/dom/base/nsTextNode.h @@ -49,6 +49,7 @@ public: // nsIDOMNode NS_FORWARD_NSIDOMNODE_TO_NSINODE + using mozilla::dom::Text::GetParentElement; // nsIDOMCharacterData NS_FORWARD_NSIDOMCHARACTERDATA(nsGenericDOMDataNode::) diff --git a/dom/bindings/Bindings.conf b/dom/bindings/Bindings.conf index e6323eada..c00f9c594 100644 --- a/dom/bindings/Bindings.conf +++ b/dom/bindings/Bindings.conf @@ -1610,6 +1610,9 @@ DOMInterfaces = { 'binaryNames': { 'postMessage': 'postMessageMoz', }, + 'implicitJSContext': [ + 'requestIdleCallback' + ], }, 'WindowProxy': { diff --git a/dom/bindings/Codegen.py b/dom/bindings/Codegen.py index b4b083a91..d86c44f2d 100644 --- a/dom/bindings/Codegen.py +++ b/dom/bindings/Codegen.py @@ -1642,7 +1642,7 @@ class CGClassConstructor(CGAbstractStaticMethod): return ThrowConstructorWithoutNew(cx, "${ctorName}"); } JS::Rooted desiredProto(cx); - if (!GetDesiredProto(cx, args, &desiredProto)) { + if (MOZ_UNLIKELY(!GetDesiredProto(cx, args, &desiredProto))) { return false; } """, @@ -2672,10 +2672,10 @@ class CGJsonifyAttributesMethod(CGAbstractMethod): """ { // scope for "temp" JS::Rooted temp(aCx); - if (!get_${name}(aCx, obj, self, JSJitGetterCallArgs(&temp))) { + if (MOZ_UNLIKELY(!get_${name}(aCx, obj, self, JSJitGetterCallArgs(&temp)))) { return false; } - if (!JS_DefineProperty(aCx, aResult, "${name}", temp, JSPROP_ENUMERATE)) { + if (MOZ_UNLIKELY(!JS_DefineProperty(aCx, aResult, "${name}", temp, JSPROP_ENUMERATE))) { return false; } } @@ -3311,7 +3311,7 @@ def CreateBindingJSObject(descriptor, properties): """ creator.CreateProxyObject(aCx, &Class.mBase, DOMProxyHandler::getInstance(), proto, aObject, aReflector); - if (!aReflector) { + if (MOZ_UNLIKELY(!aReflector)) { return false; } @@ -3326,7 +3326,7 @@ def CreateBindingJSObject(descriptor, properties): create = dedent( """ creator.CreateObject(aCx, Class.ToJSClass(), proto, aObject, aReflector); - if (!aReflector) { + if (MOZ_UNLIKELY(!aReflector)) { return false; } """) @@ -3431,7 +3431,7 @@ def CopyUnforgeablePropertiesToInstance(descriptor, wrapperCache): """ JS::Rooted expando(aCx, DOMProxyHandler::EnsureExpandoObject(aCx, aReflector)); - if (!expando) { + if (MOZ_UNLIKELY(!expando)) { $*{cleanup} return false; } @@ -3452,7 +3452,7 @@ def CopyUnforgeablePropertiesToInstance(descriptor, wrapperCache): """ JS::Rooted unforgeableHolder(aCx, &js::GetReservedSlot(canonicalProto, DOM_INTERFACE_PROTO_SLOTS_BASE).toObject()); - if (!${copyFunc}(aCx, ${obj}, unforgeableHolder)) { + if (MOZ_UNLIKELY(!${copyFunc}(aCx, ${obj}, unforgeableHolder))) { $*{cleanup} return false; } @@ -3500,7 +3500,7 @@ def InitMemberSlots(descriptor, wrapperCache): clearWrapper = "" return fill( """ - if (!UpdateMemberSlots(aCx, aReflector, aObject)) { + if (MOZ_UNLIKELY(!UpdateMemberSlots(aCx, aReflector, aObject))) { $*{clearWrapper} return false; } @@ -3515,7 +3515,7 @@ def DeclareProto(): return dedent( """ JS::Handle canonicalProto = GetProtoObjectHandle(aCx, global); - if (!canonicalProto) { + if (MOZ_UNLIKELY(!canonicalProto)) { return false; } JS::Rooted proto(aCx); @@ -3525,7 +3525,7 @@ def DeclareProto(): // coming in, we changed compartments to that of "parent" so may need // to wrap the proto here. if (js::GetContextCompartment(aCx) != js::GetObjectCompartment(proto)) { - if (!JS_WrapObject(aCx, &proto)) { + if (MOZ_UNLIKELY(!JS_WrapObject(aCx, &proto))) { return false; } } @@ -3573,7 +3573,7 @@ class CGWrapWithCacheMethod(CGAbstractMethod): "nsISupports must be on our primary inheritance chain"); JS::Rooted parent(aCx, WrapNativeParent(aCx, aObject->GetParentObject())); - if (!parent) { + if (MOZ_UNLIKELY(!parent)) { return false; } @@ -3738,7 +3738,7 @@ class CGWrapGlobalMethod(CGAbstractMethod): aPrincipal, aInitStandardClasses, aReflector); - if (!aReflector) { + if (MOZ_UNLIKELY(!aReflector)) { return false; } $*{assertProto} @@ -3747,7 +3747,7 @@ class CGWrapGlobalMethod(CGAbstractMethod): // before doing anything with it. JSAutoCompartment ac(aCx, aReflector); - if (!DefineProperties(aCx, aReflector, ${properties}, ${chromeProperties})) { + if (MOZ_UNLIKELY(!DefineProperties(aCx, aReflector, ${properties}, ${chromeProperties}))) { return false; } $*{unforgeable} @@ -3790,7 +3790,7 @@ class CGUpdateMemberSlotsMethod(CGAbstractStaticMethod): body += fill( """ - if (!get_${member}(aCx, aWrapper, aObject, args)) { + if (MOZ_UNLIKELY(!get_${member}(aCx, aWrapper, aObject, args))) { return false; } // Getter handled setting our reserved slots @@ -3832,7 +3832,7 @@ class CGClearCachedValueMethod(CGAbstractMethod): JS::Rooted temp(aCx); JSJitGetterCallArgs args(&temp); JSAutoCompartment ac(aCx, obj); - if (!get_${name}(aCx, obj, aObject, args)) { + if (MOZ_UNLIKELY(!get_${name}(aCx, obj, aObject, args))) { js::SetReservedSlot(obj, ${slotIndex}, oldValue); return false; } @@ -6026,7 +6026,7 @@ class CGArgumentConverter(CGThing): rooterDecl + dedent(""" if (${argc} > ${index}) { - if (!${declName}.SetCapacity(${argc} - ${index}, mozilla::fallible)) { + if (MOZ_UNLIKELY(!${declName}.SetCapacity(${argc} - ${index}, mozilla::fallible))) { JS_ReportOutOfMemory(cx); return false; } @@ -6912,7 +6912,7 @@ def wrapTypeIntoCurrentCompartment(type, value, isMember=True): value = "JS::MutableHandle::fromMarkedLocation(&%s)" % value else: value = "&" + value - return CGGeneric("if (!JS_WrapValue(cx, %s)) {\n" + return CGGeneric("if (MOZ_UNLIKELY(!JS_WrapValue(cx, %s))) {\n" " return false;\n" "}\n" % value) @@ -6921,7 +6921,7 @@ def wrapTypeIntoCurrentCompartment(type, value, isMember=True): value = "JS::MutableHandle::fromMarkedLocation(&%s)" % value else: value = "&" + value - return CGGeneric("if (!JS_WrapObject(cx, %s)) {\n" + return CGGeneric("if (MOZ_UNLIKELY(!JS_WrapObject(cx, %s))) {\n" " return false;\n" "}\n" % value) @@ -6929,7 +6929,7 @@ def wrapTypeIntoCurrentCompartment(type, value, isMember=True): origValue = value if type.nullable(): value = "%s.Value()" % value - wrapCode = CGGeneric("if (!%s.WrapIntoNewCompartment(cx)) {\n" + wrapCode = CGGeneric("if (MOZ_UNLIKELY(!%s.WrapIntoNewCompartment(cx))) {\n" " return false;\n" "}\n" % value) if type.nullable(): @@ -7131,7 +7131,7 @@ class CGPerSignatureCall(CGThing): cgThings.append(CGGeneric(fill( """ GlobalObject global(cx, ${obj}); - if (global.Failed()) { + if (MOZ_UNLIKELY(global.Failed())) { return false; } @@ -7269,7 +7269,7 @@ class CGPerSignatureCall(CGThing): CGGeneric(fill( """ ${obj} = js::CheckedUnwrap(${obj}); - if (!${obj}) { + if (MOZ_UNLIKELY(!${obj})) { return false; } """, @@ -7288,7 +7288,7 @@ class CGPerSignatureCall(CGThing): xraySteps.append(CGGeneric("ac.emplace(cx, obj);\n")) xraySteps.append(CGGeneric(dedent( """ - if (!JS_WrapObject(cx, &desiredProto)) { + if (MOZ_UNLIKELY(!JS_WrapObject(cx, &desiredProto))) { return false; } """))) @@ -7384,7 +7384,7 @@ class CGPerSignatureCall(CGThing): assert self.idlNode.type.isSequence() or self.idlNode.type.isDictionary() freezeValue = CGGeneric( "JS::Rooted rvalObj(cx, &args.rval().toObject());\n" - "if (!JS_FreezeObject(cx, rvalObj)) {\n" + "if (MOZ_UNLIKELY(!JS_FreezeObject(cx, rvalObj))) {\n" " return false;\n" "}\n") if self.idlNode.type.nullable(): @@ -8239,7 +8239,7 @@ class CGJsonifierMethod(CGSpecializedMethod): def definition_body(self): ret = dedent(""" JS::Rooted result(cx, JS_NewPlainObject(cx)); - if (!result) { + if (MOZ_UNLIKELY(!result)) { return false; } """) @@ -8256,7 +8256,7 @@ class CGJsonifierMethod(CGSpecializedMethod): for descriptor in jsonDescriptors[::-1]: ret += fill( """ - if (!${parentclass}::JsonifyAttributes(cx, obj, self, result)) { + if (MOZ_UNLIKELY(!${parentclass}::JsonifyAttributes(cx, obj, self, result))) { return false; } """, @@ -8307,10 +8307,10 @@ class CGResolveHook(CGAbstractClassHook): def generate_code(self): return dedent(""" JS::Rooted desc(cx); - if (!self->DoResolve(cx, obj, id, &desc)) { + if (MOZ_UNLIKELY(!self->DoResolve(cx, obj, id, &desc))) { return false; } - if (!desc.object()) { + if (MOZ_UNLIKELY(!desc.object())) { return true; } // If desc.value() is undefined, then the DoResolve call @@ -8318,7 +8318,7 @@ class CGResolveHook(CGAbstractClassHook): // define it. if (!desc.value().isUndefined()) { desc.attributesRef() |= JSPROP_RESOLVING; - if (!JS_DefinePropertyById(cx, obj, id, desc)) { + if (MOZ_UNLIKELY(!JS_DefinePropertyById(cx, obj, id, desc))) { return false; } } @@ -8330,7 +8330,7 @@ class CGResolveHook(CGAbstractClassHook): if self.descriptor.isGlobal(): # Resolve standard classes prefix = dedent(""" - if (!ResolveGlobal(cx, obj, id, resolvedp)) { + if (MOZ_UNLIKELY(!ResolveGlobal(cx, obj, id, resolvedp))) { return false; } if (*resolvedp) { @@ -8390,7 +8390,7 @@ class CGEnumerateHook(CGAbstractBindingMethod): nsAutoTArray names; ErrorResult rv; self->GetOwnPropertyNames(cx, names, rv); - if (rv.MaybeSetPendingException(cx)) { + if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) { return false; } bool dummy; @@ -8406,7 +8406,7 @@ class CGEnumerateHook(CGAbstractBindingMethod): if self.descriptor.isGlobal(): # Enumerate standard classes prefix = dedent(""" - if (!EnumerateGlobal(cx, obj)) { + if (MOZ_UNLIKELY(!EnumerateGlobal(cx, obj))) { return false; } @@ -8466,7 +8466,7 @@ class CGGenericGetter(CGAbstractBindingMethod): name = "genericLenientGetter" unwrapFailureCode = dedent(""" MOZ_ASSERT(!JS_IsExceptionPending(cx)); - if (!ReportLenientThisUnwrappingFailure(cx, &args.callee())) { + if (MOZ_UNLIKELY(!ReportLenientThisUnwrappingFailure(cx, &args.callee()))) { return false; } args.rval().set(JS::UndefinedValue()); @@ -8597,7 +8597,7 @@ class CGGenericSetter(CGAbstractBindingMethod): name = "genericLenientSetter" unwrapFailureCode = dedent(""" MOZ_ASSERT(!JS_IsExceptionPending(cx)); - if (!ReportLenientThisUnwrappingFailure(cx, &args.callee())) { + if (MOZ_UNLIKELY(!ReportLenientThisUnwrappingFailure(cx, &args.callee()))) { return false; } args.rval().set(JS::UndefinedValue()); @@ -8625,7 +8625,7 @@ class CGGenericSetter(CGAbstractBindingMethod): const JSJitInfo *info = FUNCTION_VALUE_TO_JITINFO(args.calleev()); MOZ_ASSERT(info->type() == JSJitInfo::Setter); JSJitSetterOp setter = info->setter; - if (!setter(cx, obj, self, JSJitSetterCallArgs(args))) { + if (MOZ_UNLIKELY(!setter(cx, obj, self, JSJitSetterCallArgs(args)))) { return false; } args.rval().setUndefined(); @@ -8704,11 +8704,11 @@ class CGSpecializedForwardingSetter(CGSpecializedSetter): return fill( """ JS::Rooted v(cx); - if (!JS_GetProperty(cx, obj, "${attr}", &v)) { + if (MOZ_UNLIKELY(!JS_GetProperty(cx, obj, "${attr}", &v))) { return false; } - if (!v.isObject()) { + if (MOZ_UNLIKELY(!v.isObject())) { return ThrowErrorMessage(cx, MSG_NOT_OBJECT, "${interface}.${attr}"); } @@ -9204,7 +9204,7 @@ class CGEnumToJSValue(CGAbstractMethod): JSString* resultStr = JS_NewStringCopyN(aCx, ${strings}[uint32_t(aArgument)].value, ${strings}[uint32_t(aArgument)].length); - if (!resultStr) { + if (MOZ_UNLIKELY(!resultStr)) { return false; } aValue.setString(resultStr); @@ -9382,7 +9382,7 @@ def getUnionTypeTemplateVars(unionType, type, descriptorProvider, # but it keeps the code cleaner and lets us avoid rooting |obj| over the # call to CallerSubsumes(). body = body + dedent(""" - if (passedToJSImpl && !CallerSubsumes(obj)) { + if (MOZ_UNLIKELY(passedToJSImpl && !CallerSubsumes(obj))) { ThrowErrorMessage(cx, MSG_PERMISSION_DENIED_TO_PASS_ARG, "%s"); return false; } @@ -10408,15 +10408,15 @@ class CGResolveOwnPropertyViaResolve(CGAbstractBindingMethod): // them. JSAutoCompartment ac(cx, obj); JS::Rooted objDesc(cx); - if (!self->DoResolve(cx, obj, id, &objDesc)) { + if (MOZ_UNLIKELY(!self->DoResolve(cx, obj, id, &objDesc))) { return false; } // If desc.value() is undefined, then the DoResolve call // has already defined the property on the object. Don't // try to also define it. - if (objDesc.object() && + if (MOZ_UNLIKELY(objDesc.object() && !objDesc.value().isUndefined() && - !JS_DefinePropertyById(cx, obj, id, objDesc)) { + !JS_DefinePropertyById(cx, obj, id, objDesc))) { return false; } } @@ -10717,7 +10717,7 @@ class CGProxyNamedOperation(CGProxySpecialOperation): """ $*{decls} bool isSymbol; - if (!ConvertIdToString(cx, ${idName}, ${argName}, isSymbol)) { + if (MOZ_UNLIKELY(!ConvertIdToString(cx, ${idName}, ${argName}, isSymbol))) { return false; } if (!isSymbol) { @@ -10738,8 +10738,8 @@ class CGProxyNamedOperation(CGProxySpecialOperation): $*{decls} JS::Rooted nameVal(cx, ${value}); if (!nameVal.isSymbol()) { - if (!ConvertJSValueToString(cx, nameVal, eStringify, eStringify, - ${argName})) { + if (MOZ_UNLIKELY(!ConvertJSValueToString(cx, nameVal, eStringify, eStringify, + ${argName}))) { return false; } $*{main} @@ -10890,7 +10890,7 @@ class CGDOMJSProxyHandler_getOwnPropDescriptor(ClassMethod): computeCondition = dedent(""" bool hasOnProto; - if (!HasPropertyOnPrototype(cx, proxy, id, &hasOnProto)) { + if (MOZ_UNLIKELY(!HasPropertyOnPrototype(cx, proxy, id, &hasOnProto))) { return false; } callNamedGetter = !hasOnProto; @@ -10934,7 +10934,7 @@ class CGDOMJSProxyHandler_getOwnPropDescriptor(ClassMethod): $*{getIndexed} JS::Rooted expando(cx); if (!isXray && (expando = GetExpandoObject(proxy))) { - if (!JS_GetOwnPropertyDescriptorById(cx, expando, id, desc)) { + if (MOZ_UNLIKELY(!JS_GetOwnPropertyDescriptorById(cx, expando, id, desc))) { return false; } if (desc.object()) { @@ -11150,7 +11150,7 @@ class CGDOMJSProxyHandler_delete(ClassMethod): delete = fill( """ bool hasOnProto; - if (!HasPropertyOnPrototype(cx, proxy, id, &hasOnProto)) { + if (MOZ_UNLIKELY(!HasPropertyOnPrototype(cx, proxy, id, &hasOnProto))) { return false; } if (!hasOnProto) { @@ -11185,7 +11185,7 @@ class CGDOMJSProxyHandler_ownPropNames(ClassMethod): uint32_t length = UnwrapProxy(proxy)->Length(); MOZ_ASSERT(int32_t(length) >= 0); for (int32_t i = 0; i < int32_t(length); ++i) { - if (!props.append(INT_TO_JSID(i))) { + if (MOZ_UNLIKELY(!props.append(INT_TO_JSID(i)))) { return false; } } @@ -11203,7 +11203,7 @@ class CGDOMJSProxyHandler_ownPropNames(ClassMethod): nsTArray names; UnwrapProxy(proxy)->GetSupportedNames(flags, names); - if (!AppendNamedPropertyIds(cx, proxy, names, ${shadow}, props)) { + if (MOZ_UNLIKELY(!AppendNamedPropertyIds(cx, proxy, names, ${shadow}, props))) { return false; } """, @@ -11218,8 +11218,8 @@ class CGDOMJSProxyHandler_ownPropNames(ClassMethod): $*{addNames} JS::Rooted expando(cx); - if (!isXray && (expando = DOMProxyHandler::GetExpandoObject(proxy)) && - !js::GetPropertyKeys(cx, expando, flags, &props)) { + if (MOZ_UNLIKELY(!isXray && (expando = DOMProxyHandler::GetExpandoObject(proxy)) && + !js::GetPropertyKeys(cx, expando, flags, &props))) { return false; } @@ -11272,7 +11272,7 @@ class CGDOMJSProxyHandler_hasOwn(ClassMethod): named = fill( """ bool hasOnProto; - if (!HasPropertyOnPrototype(cx, proxy, id, &hasOnProto)) { + if (MOZ_UNLIKELY(!HasPropertyOnPrototype(cx, proxy, id, &hasOnProto))) { return false; } if (!hasOnProto) { @@ -11328,7 +11328,7 @@ class CGDOMJSProxyHandler_get(ClassMethod): JS::Rooted expando(cx, DOMProxyHandler::GetExpandoObject(proxy)); if (expando) { bool hasProp; - if (!JS_HasPropertyById(cx, expando, id, &hasProp)) { + if (MOZ_UNLIKELY(!JS_HasPropertyById(cx, expando, id, &hasProp))) { return false; } @@ -11370,7 +11370,7 @@ class CGDOMJSProxyHandler_get(ClassMethod): getOnPrototype = dedent(""" bool foundOnPrototype; - if (!GetPropertyOnPrototype(cx, proxy, receiver, id, &foundOnPrototype, vp)) { + if (MOZ_UNLIKELY(!GetPropertyOnPrototype(cx, proxy, receiver, id, &foundOnPrototype, vp))) { return false; } @@ -11544,7 +11544,7 @@ class CGDOMJSProxyHandler_getElements(ClassMethod): if (end > ourEnd) { JS::Rooted proto(cx); - if (!js::GetObjectProto(cx, proxy, &proto)) { + if (MOZ_UNLIKELY(!js::GetObjectProto(cx, proxy, &proto))) { return false; } return js::GetElementsWithAdder(cx, proto, proxy, ourEnd, end, adder); @@ -12101,7 +12101,7 @@ def initIdsClassMethod(identifiers, atomCacheName): // Initialize these in reverse order so that any failure leaves the first one // uninitialized. - if (${idinit}) { + if (MOZ_UNLIKELY(${idinit})) { return false; } return true; @@ -12172,7 +12172,7 @@ class CGDictionary(CGThing): ${dictName}Atoms* atomsCache = nullptr; if (cx) { atomsCache = GetAtomCache<${dictName}Atoms>(cx); - if (!*reinterpret_cast(atomsCache) && !InitIds(cx, atomsCache)) { + if (MOZ_UNLIKELY(!*reinterpret_cast(atomsCache) && !InitIds(cx, atomsCache))) { return false; } } @@ -12184,7 +12184,7 @@ class CGDictionary(CGThing): body += fill( """ // Per spec, we init the parent's members first - if (!${dictName}::Init(cx, val)) { + if (MOZ_UNLIKELY(!${dictName}::Init(cx, val))) { return false; } @@ -12195,7 +12195,7 @@ class CGDictionary(CGThing): """ { // scope for isConvertible bool isConvertible; - if (!IsConvertibleToDictionary(cx, val, &isConvertible)) { + if (MOZ_UNLIKELY(!IsConvertibleToDictionary(cx, val, &isConvertible))) { return false; } if (!isConvertible) { @@ -12264,7 +12264,7 @@ class CGDictionary(CGThing): body += fill( """ ${dictName}Atoms* atomsCache = GetAtomCache<${dictName}Atoms>(cx); - if (!*reinterpret_cast(atomsCache) && !InitIds(cx, atomsCache)) { + if (MOZ_UNLIKELY(!*reinterpret_cast(atomsCache) && !InitIds(cx, atomsCache))) { return false; } @@ -12275,7 +12275,7 @@ class CGDictionary(CGThing): body += fill( """ // Per spec, we define the parent's members first - if (!${dictName}::ToObjectInternal(cx, rval)) { + if (MOZ_UNLIKELY(!${dictName}::ToObjectInternal(cx, rval))) { return false; } JS::Rooted obj(cx, &rval.toObject()); @@ -12286,7 +12286,7 @@ class CGDictionary(CGThing): body += dedent( """ JS::Rooted obj(cx, JS_NewPlainObject(cx)); - if (!obj) { + if (MOZ_UNLIKELY(!obj)) { return false; } rval.set(JS::ObjectValue(*obj)); @@ -14474,7 +14474,7 @@ class CGJSImplClass(CGBindingImplClass): // GlobalObject will go through wrappers as needed for us, and // is simpler than the right UnwrapArg incantation. GlobalObject global(cx, &args[0].toObject()); - if (global.Failed()) { + if (MOZ_UNLIKELY(global.Failed())) { return false; } nsCOMPtr globalHolder = do_QueryInterface(global.GetAsSupports()); @@ -15413,7 +15413,7 @@ class CGMaplikeOrSetlikeMethodGenerator(CGThing): """ // TODO (Bug 1173651): Xrays currently cannot wrap iterators. Change // after bug 1023984 is fixed. - if (xpc::WrapperFactory::IsXrayWrapper(obj)) { + if (MOZ_UNLIKELY(xpc::WrapperFactory::IsXrayWrapper(obj))) { JS_ReportError(cx, "Xray wrapping of iterators not supported."); return false; } @@ -15463,7 +15463,7 @@ class CGMaplikeOrSetlikeMethodGenerator(CGThing): """ // Create a wrapper function. JSFunction* func = js::NewFunctionWithReserved(cx, ForEachHandler, 3, 0, nullptr); - if (!func) { + if (MOZ_UNLIKELY(!func)) { return false; } JS::Rooted funcObj(cx, JS_GetFunctionObject(func)); diff --git a/dom/events/EventStateManager.cpp b/dom/events/EventStateManager.cpp index f4f8e139b..8c5bf1932 100644 --- a/dom/events/EventStateManager.cpp +++ b/dom/events/EventStateManager.cpp @@ -3900,12 +3900,15 @@ EventStateManager::DispatchMouseOrPointerEvent(WidgetMouseEvent* aMouseEvent, return nullptr; } + nsCOMPtr targetContent = aTargetContent; + nsCOMPtr relatedContent = aRelatedContent; + nsAutoPtr dispatchEvent; CreateMouseOrPointerWidgetEvent(aMouseEvent, aMessage, - aRelatedContent, dispatchEvent); + relatedContent, dispatchEvent); nsWeakFrame previousTarget = mCurrentTarget; - mCurrentTargetContent = aTargetContent; + mCurrentTargetContent = targetContent; nsIFrame* targetFrame = nullptr; @@ -3915,23 +3918,23 @@ EventStateManager::DispatchMouseOrPointerEvent(WidgetMouseEvent* aMouseEvent, } nsEventStatus status = nsEventStatus_eIgnore; - ESMEventCB callback(aTargetContent); - EventDispatcher::Dispatch(aTargetContent, mPresContext, dispatchEvent, nullptr, + ESMEventCB callback(targetContent); + EventDispatcher::Dispatch(targetContent, mPresContext, dispatchEvent, nullptr, &status, &callback); if (mPresContext) { // Although the primary frame was checked in event callback, it may not be // the same object after event dispatch and handling, so refetch it. - targetFrame = mPresContext->GetPrimaryFrameFor(aTargetContent); + targetFrame = mPresContext->GetPrimaryFrameFor(targetContent); // If we are entering/leaving remote content, dispatch a mouse enter/exit // event to the remote frame. - if (IsRemoteTarget(aTargetContent)) { + if (IsRemoteTarget(targetContent)) { if (aMessage == eMouseOut) { // For remote content, send a "top-level" widget mouse exit event. nsAutoPtr remoteEvent; CreateMouseOrPointerWidgetEvent(aMouseEvent, eMouseExitFromWidget, - aRelatedContent, remoteEvent); + relatedContent, remoteEvent); remoteEvent->exit = WidgetMouseEvent::eTopLevel; // mCurrentTarget is set to the new target, so we must reset it to the @@ -3943,7 +3946,7 @@ EventStateManager::DispatchMouseOrPointerEvent(WidgetMouseEvent* aMouseEvent, } else if (aMessage == eMouseOver) { nsAutoPtr remoteEvent; CreateMouseOrPointerWidgetEvent(aMouseEvent, eMouseEnterIntoWidget, - aRelatedContent, remoteEvent); + relatedContent, remoteEvent); HandleCrossProcessEvent(remoteEvent, &status); } } diff --git a/dom/html/HTMLMediaElement.cpp b/dom/html/HTMLMediaElement.cpp index 5c4632c8a..ef8e362dc 100644 --- a/dom/html/HTMLMediaElement.cpp +++ b/dom/html/HTMLMediaElement.cpp @@ -3110,11 +3110,13 @@ public: { NS_ASSERTION(NS_IsMainThread(), "Should be on main thread."); + if (MOZ_UNLIKELY(!mElement)) return; // bug 1419363 + mElement->NotifyMediaStreamTracksAvailable(aStream); } private: - HTMLMediaElement* mElement; + WeakPtr mElement; }; class HTMLMediaElement::MediaStreamTrackListener : diff --git a/dom/html/HTMLMediaElement.h b/dom/html/HTMLMediaElement.h index ed95ad6b4..c18628f79 100644 --- a/dom/html/HTMLMediaElement.h +++ b/dom/html/HTMLMediaElement.h @@ -18,6 +18,7 @@ #include "mozilla/Attributes.h" #include "mozilla/dom/Promise.h" #include "mozilla/dom/TextTrackManager.h" +#include "mozilla/WeakPtr.h" #include "MediaDecoder.h" #ifdef MOZ_EME #include "mozilla/dom/MediaKeys.h" @@ -76,7 +77,8 @@ class HTMLMediaElement : public nsGenericHTMLElement, public nsIDOMHTMLMediaElement, public nsIObserver, public MediaDecoderOwner, - public nsIAudioChannelAgentCallback + public nsIAudioChannelAgentCallback, + public SupportsWeakPtr { friend AutoNotifyAudioChannelAgent; @@ -89,6 +91,8 @@ public: typedef mozilla::MediaDecoderOwner MediaDecoderOwner; typedef mozilla::MetadataTags MetadataTags; + MOZ_DECLARE_WEAKREFERENCE_TYPENAME(HTMLMediaElement) + CORSMode GetCORSMode() { return mCORSMode; } diff --git a/dom/media/webrtc/MediaEngineDefault.cpp b/dom/media/webrtc/MediaEngineDefault.cpp index 9f7d272b8..6e129fcc3 100644 --- a/dom/media/webrtc/MediaEngineDefault.cpp +++ b/dom/media/webrtc/MediaEngineDefault.cpp @@ -96,6 +96,8 @@ MediaEngineDefaultVideoSource::Allocate(const dom::MediaTrackConstraints &aConst mOpts = aPrefs; mOpts.mWidth = mOpts.mWidth ? mOpts.mWidth : MediaEngine::DEFAULT_43_VIDEO_WIDTH; mOpts.mHeight = mOpts.mHeight ? mOpts.mHeight : MediaEngine::DEFAULT_43_VIDEO_HEIGHT; + mOpts.mWidth = std::max(160, std::min(mOpts.mWidth, 4096)); + mOpts.mHeight = std::max(90, std::min(mOpts.mHeight, 2160)); mState = kAllocated; return NS_OK; } diff --git a/dom/webidl/IdleDeadline.webidl b/dom/webidl/IdleDeadline.webidl new file mode 100644 index 000000000..afc834aea --- /dev/null +++ b/dom/webidl/IdleDeadline.webidl @@ -0,0 +1,15 @@ +/* -*- 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: + * https://w3c.github.io/requestidlecallback/ + */ + +[Pref="dom.requestIdleCallback.enabled"] +interface IdleDeadline { + DOMHighResTimeStamp timeRemaining(); + readonly attribute boolean didTimeout; +}; + diff --git a/dom/webidl/Window.webidl b/dom/webidl/Window.webidl index 704c65636..0446f25d8 100644 --- a/dom/webidl/Window.webidl +++ b/dom/webidl/Window.webidl @@ -494,3 +494,17 @@ interface ChromeWindow { Window implements ChromeWindow; Window implements GlobalFetch; Window implements ImageBitmapFactories; + +partial interface Window { + [Throws, Pref="dom.requestIdleCallback.enabled"] + unsigned long requestIdleCallback(IdleRequestCallback callback, + optional IdleRequestOptions options); + [Pref="dom.requestIdleCallback.enabled"] + void cancelIdleCallback(unsigned long handle); +}; + +dictionary IdleRequestOptions { + unsigned long timeout; +}; + +callback IdleRequestCallback = void (IdleDeadline deadline); diff --git a/dom/webidl/moz.build b/dom/webidl/moz.build index beae51d9c..cffef9c89 100644 --- a/dom/webidl/moz.build +++ b/dom/webidl/moz.build @@ -264,6 +264,7 @@ WEBIDL_FILES = [ 'IDBRequest.webidl', 'IDBTransaction.webidl', 'IDBVersionChangeEvent.webidl', + 'IdleDeadline.webidl', 'ImageBitmap.webidl', 'ImageCapture.webidl', 'ImageData.webidl', diff --git a/dom/workers/XMLHttpRequest.cpp b/dom/workers/XMLHttpRequest.cpp index 7a157de39..32a8f6382 100644 --- a/dom/workers/XMLHttpRequest.cpp +++ b/dom/workers/XMLHttpRequest.cpp @@ -1929,7 +1929,7 @@ XMLHttpRequest::Open(const nsACString& aMethod, const nsAString& aUrl, ++mProxy->mOpenCount; if (!runnable->Dispatch(mWorkerPrivate->GetJSContext())) { - if (!--mProxy->mOpenCount) { + if (mProxy && !--mProxy->mOpenCount) { ReleaseProxy(); } diff --git a/gfx/2d/DrawTargetCG.cpp b/gfx/2d/DrawTargetCG.cpp index 41e8caa58..292d59eb3 100644 --- a/gfx/2d/DrawTargetCG.cpp +++ b/gfx/2d/DrawTargetCG.cpp @@ -142,99 +142,6 @@ static void inline this_CGContextSetBlendMode(CGContextRef cg, CompositionOp op) (CGBlendMode)(pcm - kPrivateCGBlendModesStartHere)); } -// marked for DEATH -PrivateCGCompositeMode ToOldBlendMode(CompositionOp op) -{ - PrivateCGCompositeMode mode = kPrivateCGCompositeSourceOver; - switch (op) { - case CompositionOp::OP_OVER: - mode = kPrivateCGBlendModeNormal; // ??? kPrivateCGCompositeSourceOver; - break; - case CompositionOp::OP_ADD: - mode = kPrivateCGCompositePlusLighter; - break; - case CompositionOp::OP_ATOP: - mode = kPrivateCGCompositeSourceAtop; - break; - case CompositionOp::OP_OUT: - mode = kPrivateCGCompositeSourceOut; - break; - case CompositionOp::OP_IN: - mode = kPrivateCGCompositeSourceIn; - break; - case CompositionOp::OP_SOURCE: - mode = kPrivateCGCompositeCopy; - break; - case CompositionOp::OP_DEST_IN: - mode = kPrivateCGCompositeDestinationIn; - break; - case CompositionOp::OP_DEST_OUT: - mode = kPrivateCGCompositeDestinationOut; - break; - case CompositionOp::OP_DEST_OVER: - mode = kPrivateCGCompositeDestinationOver; - break; - case CompositionOp::OP_DEST_ATOP: - mode = kPrivateCGCompositeSourceAtop; - break; - case CompositionOp::OP_XOR: - mode = kPrivateCGCompositeXOR; - break; - case CompositionOp::OP_MULTIPLY: - mode = kPrivateCGBlendModeMultiply; - break; - case CompositionOp::OP_SCREEN: - mode = kPrivateCGBlendModeScreen; - break; - case CompositionOp::OP_OVERLAY: - mode = kPrivateCGBlendModeOverlay; - break; - case CompositionOp::OP_DARKEN: - mode = kPrivateCGBlendModeDarken; - break; - case CompositionOp::OP_LIGHTEN: - mode = kPrivateCGBlendModeLighten; - break; - case CompositionOp::OP_COLOR_DODGE: - mode = kPrivateCGBlendModeColorDodge; - break; - case CompositionOp::OP_COLOR_BURN: - mode = kPrivateCGBlendModeColorBurn; - break; - case CompositionOp::OP_HARD_LIGHT: - mode = kPrivateCGBlendModeHardLight; - break; - case CompositionOp::OP_SOFT_LIGHT: - mode = kPrivateCGBlendModeSoftLight; - break; - case CompositionOp::OP_DIFFERENCE: - mode = kPrivateCGBlendModeDifference; - break; - case CompositionOp::OP_EXCLUSION: - mode = kPrivateCGBlendModeExclusion; - break; - case CompositionOp::OP_HUE: - mode = kPrivateCGBlendModeHue; - break; - case CompositionOp::OP_SATURATION: - mode = kPrivateCGBlendModeSaturation; - break; - case CompositionOp::OP_COLOR: - mode = kPrivateCGBlendModeColor; - break; - case CompositionOp::OP_LUMINOSITY: - mode = kPrivateCGBlendModeLuminosity; - break; - /* - case OP_CLEAR: - mode = kPrivateCGCompositeClear; - break;*/ - default: - mode = kPrivateCGBlendModeNormal; // ??? kPrivateCGCompositeSourceOver; - } - return mode; -} - #else static void inline this_CGContextSetBlendMode(CGContextRef cg, CGBlendMode m) { @@ -348,6 +255,25 @@ InterpolationQualityFromFilter(Filter aFilter) } } +// TenFourFox issue 453 +// There is no bounds-checking on CoreGraphics paths. +// Also, Facebook can suck me. +static inline bool this_CGContextAddPath(CGContextRef aContext, CGPathRef aPath) +{ + // Empty paths are always acceptable (and shouldn't be added anyway). + if (CGPathIsEmpty(aPath)) return true; + + // Non-empty paths need to be bounds-checked. + CGRect r = CGPathGetBoundingBox(aPath); + if (MOZ_UNLIKELY(CGRectIsNull(r))) return true; // should have been caught above? + if (MOZ_UNLIKELY(r.origin.x >= INT_MAX || r.origin.x <= INT_MIN)) return false; + if (MOZ_UNLIKELY(r.origin.y >= INT_MAX || r.origin.y <= INT_MIN)) return false; + if (MOZ_UNLIKELY(r.size.height >= INT_MAX)) return false; + if (MOZ_UNLIKELY(r.size.width >= INT_MAX)) return false; + + CGContextAddPath(aContext, aPath); + return true; +} DrawTargetCG::DrawTargetCG() : mColorSpace(nullptr) @@ -1643,7 +1569,12 @@ DrawTargetCG::Stroke(const Path *aPath, const Pattern &aPattern, const StrokeOpt //assert(aPath->GetBackendType() == BackendType::COREGRAPHICS); const PathCG *cgPath = static_cast(aPath); - CGContextAddPath(cg, cgPath->GetPath()); + if (MOZ_UNLIKELY(!this_CGContextAddPath(cg, cgPath->GetPath()))) { + fprintf(stderr, "Warning: TenFourFox DrawTargetCG::Stroke received an illegal path coordinate.\n"); + fixer.Fix(this); + CGContextRestoreGState(mCg); + return; + } SetStrokeOptions(cg, aStrokeOptions); @@ -1700,7 +1631,12 @@ DrawTargetCG::Fill(const Path *aPath, const Pattern &aPattern, const DrawOptions CGContextClipToRect(mCg, CGRectZero); extents = CGRectZero; } else { - CGContextAddPath(cg, cgPath->GetPath()); + if (MOZ_UNLIKELY(!this_CGContextAddPath(cg, cgPath->GetPath()))) { + fprintf(stderr, "Warning: TenFourFox DrawTargetCG::Fill received an illegal path coordinate.\n"); + fixer.Fix(this); + CGContextRestoreGState(mCg); + return; + } extents = CGContextGetPathBoundingBox(cg); if (cgPath->GetFillRule() == FillRule::FILL_EVEN_ODD) CGContextEOClip(mCg); @@ -1710,7 +1646,12 @@ DrawTargetCG::Fill(const Path *aPath, const Pattern &aPattern, const DrawOptions DrawGradient(mColorSpace, cg, aPattern, extents); } else { - CGContextAddPath(cg, cgPath->GetPath()); + if (MOZ_UNLIKELY(!this_CGContextAddPath(cg, cgPath->GetPath()))) { + fprintf(stderr, "Warning: TenFourFox DrawTargetCG::Fill received an illegal path coordinate.\n"); + fixer.Fix(this); + CGContextRestoreGState(mCg); + return; + } SetFillFromPattern(cg, mColorSpace, aPattern); @@ -2050,10 +1991,10 @@ DrawTargetCG::Init(BackendType aType, { // XXX: we should come up with some consistent semantics for dealing // with zero area drawtargets - if (aSize.width <= 0 || + if (MOZ_UNLIKELY(aSize.width <= 0 || aSize.height <= 0 || size_t(aSize.width) > GetMaxSurfaceSize() || - size_t(aSize.height) > GetMaxSurfaceSize()) + size_t(aSize.height) > GetMaxSurfaceSize())) { gfxWarning() << "Failed to Init() DrawTargetCG because of bad size."; mColorSpace = nullptr; @@ -2128,7 +2069,7 @@ DrawTargetCG::Init(BackendType aType, } //assert(mCg); - if (!mCg) { + if (MOZ_UNLIKELY(!mCg)) { gfxCriticalError() << "Failed to create CG context" << mSize << ", " << aStride; return false; } @@ -2242,7 +2183,7 @@ DrawTargetCG::Init(CGContextRef cgContext, const IntSize &aSize) CGContextRetain(mCg); //assert(mCg); - if (!mCg) { + if (MOZ_UNLIKELY(!mCg)) { gfxCriticalError() << "Invalid CG context at Init " << aSize; return false; } @@ -2384,7 +2325,10 @@ DrawTargetCG::PushClip(const Path *aPath) * while we add the path. XXX: this could be improved if we keep * the CTM as resident state on the DrawTarget. */ CGContextSaveGState(mCg); - CGContextAddPath(mCg, cgPath->GetPath()); + if (MOZ_UNLIKELY(!this_CGContextAddPath(mCg, cgPath->GetPath()))) { + fprintf(stderr, "Warning: TenFourFox DrawTargetCG::PushClip received an illegal coordinate.\n"); + return; + } CGContextRestoreGState(mCg); if (cgPath->GetFillRule() == FillRule::FILL_EVEN_ODD) diff --git a/gfx/thebes/gfxPlatformMac.cpp b/gfx/thebes/gfxPlatformMac.cpp index 9b1bc1db7..dcbe312a2 100644 --- a/gfx/thebes/gfxPlatformMac.cpp +++ b/gfx/thebes/gfxPlatformMac.cpp @@ -259,11 +259,17 @@ gfxPlatformMac::IsFontFormatSupported(nsIURI *aFontURI, uint32_t aFormatFlags) } else failed = true; if (failed || + spec.Equals("http://www.latimes.com/pb/resources/dist/la/latest/4dcd1b9d7833fcec708a/fonts/KisFBDisplay-Bold.woff") || + spec.Equals("http://www.latimes.com/pb/resources/dist/la/latest/4dcd1b9d7833fcec708a/fonts/KisFBDisplay-Bold.woff2") || + spec.Equals("http://www.latimes.com/pb/resources/dist/la/latest/4dcd1b9d7833fcec708a/fonts/KisFBDisplay-Roman.woff") || + spec.Equals("http://www.latimes.com/pb/resources/dist/la/latest/4dcd1b9d7833fcec708a/fonts/KisFBDisplay-Roman.woff2") || spec.Equals("https://cdn-static-1.medium.com/_/fp/fonts/charter-nonlatin.b-nw7PXlIqmGHGmHvkDiTw.woff") || spec.Equals("http://typeface.nytimes.com/fonts/nyt-cheltenham-200-normal.woff") || spec.Equals("https://typeface.nyt.com/fonts/nyt-cheltenham-200-normal.woff") || spec.Equals("http://typeface.nytimes.com/fonts/nyt-cheltenham-300-normal.woff") || spec.Equals("https://typeface.nyt.com/fonts/nyt-cheltenham-300-normal.woff") || + spec.Equals("http://typeface.nytimes.com/fonts/nyt-cheltenham-400-normal.woff") || + spec.Equals("https://typeface.nyt.com/fonts/nyt-cheltenham-400-normal.woff") || spec.Equals("http://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff") || spec.Equals("http://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff") || spec.Equals("http://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.otf") || diff --git a/gfx/thebes/gfxUserFontSet.h b/gfx/thebes/gfxUserFontSet.h index 081df4f2c..4687c939f 100644 --- a/gfx/thebes/gfxUserFontSet.h +++ b/gfx/thebes/gfxUserFontSet.h @@ -607,6 +607,10 @@ public: void GetFamilyNameAndURIForLogging(nsACString& aFamilyName, nsACString& aURI); +#ifdef DEBUG + gfxUserFontSet* GetUserFontSet() const { return mFontSet; } +#endif + protected: const uint8_t* SanitizeOpenTypeData(const uint8_t* aData, uint32_t aLength, diff --git a/gfx/ycbcr/moz.build b/gfx/ycbcr/moz.build index 2b4027f8f..d4b0ac46f 100644 --- a/gfx/ycbcr/moz.build +++ b/gfx/ycbcr/moz.build @@ -17,14 +17,16 @@ UNIFIED_SOURCES += [ 'YCbCrUtils.cpp', 'yuv_convert.cpp', 'yuv_row_c.cpp', - 'yuv_row_table.cpp', ] if CONFIG['TENFOURFOX_VMX']: SOURCES += ['yuv_convert_ppc.cpp'] SOURCES['yuv_convert_ppc.cpp'].flags += ['-maltivec'] + # Use fast aligned version for VMX. + UNIFIED_SOURCES += ['yuv_row_table16.cpp'] else: UNIFIED_SOURCES += ['yuv_convert_ppc.cpp'] + UNIFIED_SOURCES += ['yuv_row_table.cpp'] if CONFIG['INTEL_ARCHITECTURE']: # These files use MMX and SSE2 intrinsics, so they need special compile flags diff --git a/gfx/ycbcr/yuv_convert_ppc.cpp b/gfx/ycbcr/yuv_convert_ppc.cpp index 8e6c7991c..979e4d6c1 100644 --- a/gfx/ycbcr/yuv_convert_ppc.cpp +++ b/gfx/ycbcr/yuv_convert_ppc.cpp @@ -15,52 +15,50 @@ namespace gfx { // VMX version does 16 pixels at a time. void FilterRows_VMX(uint8* ybuf, const uint8* y0_ptr, const uint8* y1_ptr, int source_width, int source_y_fraction) { - // splat the multiplicands. AltiVec makes this unnecessarily difficult. + register vector unsigned short vector_zero = vec_splat_u16(0); + register vector unsigned char r0, c0, c1; + register vector unsigned short y0, y1, y2, y3; + + uint8 *end = ybuf + source_width; + + // Although you'd think using a version with vec_avg for 50% would + // be profitable to write, in practice it doesn't seem to be used + // much if at all, so this doesn't implement one. + + // Splat the multiplicands. AltiVec makes this unnecessarily difficult. unsigned short __attribute__ ((aligned(16))) syf = source_y_fraction; unsigned short __attribute__ ((aligned(16))) syf2 = (256 - source_y_fraction); register vector unsigned short y1_fraction = vec_lde(0, &syf); y1_fraction = vec_splat(y1_fraction, 0); register vector unsigned short y0_fraction = vec_lde(0, &syf2); y0_fraction = vec_splat(y0_fraction, 0); + + // Permute vector for combining shift and pack in one operation. + // This effectively shifts each vector down by 8 bits and packs. + register vector unsigned char vector_sh8pak = + { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 }; - register vector unsigned short vector_eight = vec_splat_u16(8); - register vector unsigned short vector_zero = vec_splat_u16(0); - register vector unsigned char vector_c_zero = vec_splat_u8(0); - - uint8 *end = ybuf + source_width; - + // Compute a weighted average. do { - vector unsigned char r0; - vector unsigned char c0 = vec_ld(0, y0_ptr); - vector unsigned char c1 = vec_ld(0, y1_ptr); + c0 = vec_ld(0, y0_ptr); + c1 = vec_ld(0, y1_ptr); - // Compute a weighted average. - // Quick trivial cases first: - // If source_y_fraction is 0, then the result is y0, etc. - if (source_y_fraction < 1) { - r0 = c0; - } else if (source_y_fraction > 255) { - r0 = c1; - // Sure would be nice to use vec_avg for 128, but it doesn't quite - // work, so here's the long case for everything else. - } else { - // another VMX annoyance: unpackh/l are SIGNED. bastard Motorola. - register vector unsigned short y0 = vec_mergeh(vector_c_zero, c0); - register vector unsigned short y1 = vec_mergeh(vector_c_zero, c1); - register vector unsigned short y2 = vec_mergel(vector_c_zero, c0); - register vector unsigned short y3 = vec_mergel(vector_c_zero, c1); + // Expand to short, since vec_mladd does not exist for char (damn). + y0 = vec_mergeh((vector unsigned char)vector_zero, c0); + y1 = vec_mergeh((vector unsigned char)vector_zero, c1); + y2 = vec_mergel((vector unsigned char)vector_zero, c0); + y3 = vec_mergel((vector unsigned char)vector_zero, c1); - // FUSED MULTIPLY ADD, BEYOTCHES! INTEL SUX! - y1 = vec_mladd(y1, y1_fraction, vector_zero); - y0 = vec_mladd(y0, y0_fraction, y1); - y0 = vec_sr(y0, vector_eight); + // FUSED MULTIPLY ADD, BEYOTCHES! INTEL SUX! + // Interleave the operations. + y1 = vec_mladd(y1, y1_fraction, vector_zero); + y3 = vec_mladd(y3, y1_fraction, vector_zero); + y0 = vec_mladd(y0, y0_fraction, y1); + y2 = vec_mladd(y2, y0_fraction, y3); - y3 = vec_mladd(y3, y1_fraction, vector_zero); - y2 = vec_mladd(y2, y0_fraction, y3); - y2 = vec_sr(y2, vector_eight); + // Turn vec_sr on y0/y2 and a vec_pack into a single op. + r0 = vec_perm((vector unsigned char)y0, (vector unsigned char)y2, vector_sh8pak); - r0 = vec_pack(y0, y2); - } vec_st(r0, 0, (unsigned char *)ybuf); ybuf += 16; y0_ptr += 16; diff --git a/gfx/ycbcr/yuv_row.h b/gfx/ycbcr/yuv_row.h index ec1f5d784..dfe1dd6a8 100644 --- a/gfx/ycbcr/yuv_row.h +++ b/gfx/ycbcr/yuv_row.h @@ -121,7 +121,12 @@ void LinearScaleYUVToRGB32Row_C(const uint8* y_buf, #else #define SIMD_ALIGNED(var) var __attribute__((aligned(16))) #endif + +#if TENFOURFOX_VMX +extern SIMD_ALIGNED(int16 kCoefficientsRgbY[768][8]); +#else extern SIMD_ALIGNED(int16 kCoefficientsRgbY[768][4]); +#endif // x64 uses MMX2 (SSE) so emms is not required. // Warning C4799: function has no EMMS instruction. diff --git a/gfx/ycbcr/yuv_row_posix.cpp b/gfx/ycbcr/yuv_row_posix.cpp index ccf67c715..818ec5d11 100644 --- a/gfx/ycbcr/yuv_row_posix.cpp +++ b/gfx/ycbcr/yuv_row_posix.cpp @@ -915,21 +915,10 @@ void FastConvertYUVToRGB32Row(const uint8 *y_buf, register vector unsigned char mergehalf = { 0, 1, 2, 3, 4, 5, 6, 7, 16, 17, 18, 19, 20, 21, 22, 23 }; - // damn Google, the table rows are only aligned to *8* bytes! - // assume any arbitrary load is misaligned or we get too - // branchy in this loop. fortunately, since we are only ever - // loading eight bytes we only need to do a single load. -#define LOADC(x, y, z) \ - mask = vec_lvsl(0, (unsigned char*)&(kCoefficientsRgbY[z+y])); \ - msq = vec_ld(0, (unsigned char*)&(kCoefficientsRgbY[z+y])); \ - x = (vector short)vec_perm(msq, msq, mask); +#define LOADC(x,y,z) \ + x = (vector short)vec_ld(0, (unsigned char*)&(kCoefficientsRgbY[z+y])); while(width >= 4) { - // This is probably the best we can do with the table and - // output stores aligned the way they are. Do two separate - // unaligned loads and perm them into a single vector. - // This also unrolls the loop as a side effect, which the PPC - // prefers. uint8 u = u_buf[edi++]; uint8 v = v_buf[esi++]; uint8 y0 = y_buf[edx++]; diff --git a/gfx/ycbcr/yuv_row_table16.cpp b/gfx/ycbcr/yuv_row_table16.cpp new file mode 100644 index 000000000..4a4734013 --- /dev/null +++ b/gfx/ycbcr/yuv_row_table16.cpp @@ -0,0 +1,248 @@ +// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2018 Cameron Kaiser and Contributors to TenFourFox. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "yuv_row.h" + +extern "C" { + +// To make an optimized AltiVec load, emit everything twice for a full +// 16 bytes even though we only make use of the first 64-bits. +#define RGBY(i) { \ + static_cast(1.164 * 64 * (i - 16) + 0.5), \ + static_cast(1.164 * 64 * (i - 16) + 0.5), \ + static_cast(1.164 * 64 * (i - 16) + 0.5), \ + 0, \ + static_cast(1.164 * 64 * (i - 16) + 0.5), \ + static_cast(1.164 * 64 * (i - 16) + 0.5), \ + static_cast(1.164 * 64 * (i - 16) + 0.5), \ + 0 \ +} + +#define RGBU(i) { \ + static_cast(2.018 * 64 * (i - 128) + 0.5), \ + static_cast(-0.391 * 64 * (i - 128) + 0.5), \ + 0, \ + static_cast(256 * 64 - 1), \ + static_cast(2.018 * 64 * (i - 128) + 0.5), \ + static_cast(-0.391 * 64 * (i - 128) + 0.5), \ + 0, \ + static_cast(256 * 64 - 1) \ +} + +#define RGBV(i) { \ + 0, \ + static_cast(-0.813 * 64 * (i - 128) + 0.5), \ + static_cast(1.596 * 64 * (i - 128) + 0.5), \ + 0, \ + 0, \ + static_cast(-0.813 * 64 * (i - 128) + 0.5), \ + static_cast(1.596 * 64 * (i - 128) + 0.5), \ + 0 \ +} + +SIMD_ALIGNED(int16 kCoefficientsRgbY[256 * 3][8]) = { + RGBY(0x00), RGBY(0x01), RGBY(0x02), RGBY(0x03), + RGBY(0x04), RGBY(0x05), RGBY(0x06), RGBY(0x07), + RGBY(0x08), RGBY(0x09), RGBY(0x0A), RGBY(0x0B), + RGBY(0x0C), RGBY(0x0D), RGBY(0x0E), RGBY(0x0F), + RGBY(0x10), RGBY(0x11), RGBY(0x12), RGBY(0x13), + RGBY(0x14), RGBY(0x15), RGBY(0x16), RGBY(0x17), + RGBY(0x18), RGBY(0x19), RGBY(0x1A), RGBY(0x1B), + RGBY(0x1C), RGBY(0x1D), RGBY(0x1E), RGBY(0x1F), + RGBY(0x20), RGBY(0x21), RGBY(0x22), RGBY(0x23), + RGBY(0x24), RGBY(0x25), RGBY(0x26), RGBY(0x27), + RGBY(0x28), RGBY(0x29), RGBY(0x2A), RGBY(0x2B), + RGBY(0x2C), RGBY(0x2D), RGBY(0x2E), RGBY(0x2F), + RGBY(0x30), RGBY(0x31), RGBY(0x32), RGBY(0x33), + RGBY(0x34), RGBY(0x35), RGBY(0x36), RGBY(0x37), + RGBY(0x38), RGBY(0x39), RGBY(0x3A), RGBY(0x3B), + RGBY(0x3C), RGBY(0x3D), RGBY(0x3E), RGBY(0x3F), + RGBY(0x40), RGBY(0x41), RGBY(0x42), RGBY(0x43), + RGBY(0x44), RGBY(0x45), RGBY(0x46), RGBY(0x47), + RGBY(0x48), RGBY(0x49), RGBY(0x4A), RGBY(0x4B), + RGBY(0x4C), RGBY(0x4D), RGBY(0x4E), RGBY(0x4F), + RGBY(0x50), RGBY(0x51), RGBY(0x52), RGBY(0x53), + RGBY(0x54), RGBY(0x55), RGBY(0x56), RGBY(0x57), + RGBY(0x58), RGBY(0x59), RGBY(0x5A), RGBY(0x5B), + RGBY(0x5C), RGBY(0x5D), RGBY(0x5E), RGBY(0x5F), + RGBY(0x60), RGBY(0x61), RGBY(0x62), RGBY(0x63), + RGBY(0x64), RGBY(0x65), RGBY(0x66), RGBY(0x67), + RGBY(0x68), RGBY(0x69), RGBY(0x6A), RGBY(0x6B), + RGBY(0x6C), RGBY(0x6D), RGBY(0x6E), RGBY(0x6F), + RGBY(0x70), RGBY(0x71), RGBY(0x72), RGBY(0x73), + RGBY(0x74), RGBY(0x75), RGBY(0x76), RGBY(0x77), + RGBY(0x78), RGBY(0x79), RGBY(0x7A), RGBY(0x7B), + RGBY(0x7C), RGBY(0x7D), RGBY(0x7E), RGBY(0x7F), + RGBY(0x80), RGBY(0x81), RGBY(0x82), RGBY(0x83), + RGBY(0x84), RGBY(0x85), RGBY(0x86), RGBY(0x87), + RGBY(0x88), RGBY(0x89), RGBY(0x8A), RGBY(0x8B), + RGBY(0x8C), RGBY(0x8D), RGBY(0x8E), RGBY(0x8F), + RGBY(0x90), RGBY(0x91), RGBY(0x92), RGBY(0x93), + RGBY(0x94), RGBY(0x95), RGBY(0x96), RGBY(0x97), + RGBY(0x98), RGBY(0x99), RGBY(0x9A), RGBY(0x9B), + RGBY(0x9C), RGBY(0x9D), RGBY(0x9E), RGBY(0x9F), + RGBY(0xA0), RGBY(0xA1), RGBY(0xA2), RGBY(0xA3), + RGBY(0xA4), RGBY(0xA5), RGBY(0xA6), RGBY(0xA7), + RGBY(0xA8), RGBY(0xA9), RGBY(0xAA), RGBY(0xAB), + RGBY(0xAC), RGBY(0xAD), RGBY(0xAE), RGBY(0xAF), + RGBY(0xB0), RGBY(0xB1), RGBY(0xB2), RGBY(0xB3), + RGBY(0xB4), RGBY(0xB5), RGBY(0xB6), RGBY(0xB7), + RGBY(0xB8), RGBY(0xB9), RGBY(0xBA), RGBY(0xBB), + RGBY(0xBC), RGBY(0xBD), RGBY(0xBE), RGBY(0xBF), + RGBY(0xC0), RGBY(0xC1), RGBY(0xC2), RGBY(0xC3), + RGBY(0xC4), RGBY(0xC5), RGBY(0xC6), RGBY(0xC7), + RGBY(0xC8), RGBY(0xC9), RGBY(0xCA), RGBY(0xCB), + RGBY(0xCC), RGBY(0xCD), RGBY(0xCE), RGBY(0xCF), + RGBY(0xD0), RGBY(0xD1), RGBY(0xD2), RGBY(0xD3), + RGBY(0xD4), RGBY(0xD5), RGBY(0xD6), RGBY(0xD7), + RGBY(0xD8), RGBY(0xD9), RGBY(0xDA), RGBY(0xDB), + RGBY(0xDC), RGBY(0xDD), RGBY(0xDE), RGBY(0xDF), + RGBY(0xE0), RGBY(0xE1), RGBY(0xE2), RGBY(0xE3), + RGBY(0xE4), RGBY(0xE5), RGBY(0xE6), RGBY(0xE7), + RGBY(0xE8), RGBY(0xE9), RGBY(0xEA), RGBY(0xEB), + RGBY(0xEC), RGBY(0xED), RGBY(0xEE), RGBY(0xEF), + RGBY(0xF0), RGBY(0xF1), RGBY(0xF2), RGBY(0xF3), + RGBY(0xF4), RGBY(0xF5), RGBY(0xF6), RGBY(0xF7), + RGBY(0xF8), RGBY(0xF9), RGBY(0xFA), RGBY(0xFB), + RGBY(0xFC), RGBY(0xFD), RGBY(0xFE), RGBY(0xFF), + + // Chroma U table. + RGBU(0x00), RGBU(0x01), RGBU(0x02), RGBU(0x03), + RGBU(0x04), RGBU(0x05), RGBU(0x06), RGBU(0x07), + RGBU(0x08), RGBU(0x09), RGBU(0x0A), RGBU(0x0B), + RGBU(0x0C), RGBU(0x0D), RGBU(0x0E), RGBU(0x0F), + RGBU(0x10), RGBU(0x11), RGBU(0x12), RGBU(0x13), + RGBU(0x14), RGBU(0x15), RGBU(0x16), RGBU(0x17), + RGBU(0x18), RGBU(0x19), RGBU(0x1A), RGBU(0x1B), + RGBU(0x1C), RGBU(0x1D), RGBU(0x1E), RGBU(0x1F), + RGBU(0x20), RGBU(0x21), RGBU(0x22), RGBU(0x23), + RGBU(0x24), RGBU(0x25), RGBU(0x26), RGBU(0x27), + RGBU(0x28), RGBU(0x29), RGBU(0x2A), RGBU(0x2B), + RGBU(0x2C), RGBU(0x2D), RGBU(0x2E), RGBU(0x2F), + RGBU(0x30), RGBU(0x31), RGBU(0x32), RGBU(0x33), + RGBU(0x34), RGBU(0x35), RGBU(0x36), RGBU(0x37), + RGBU(0x38), RGBU(0x39), RGBU(0x3A), RGBU(0x3B), + RGBU(0x3C), RGBU(0x3D), RGBU(0x3E), RGBU(0x3F), + RGBU(0x40), RGBU(0x41), RGBU(0x42), RGBU(0x43), + RGBU(0x44), RGBU(0x45), RGBU(0x46), RGBU(0x47), + RGBU(0x48), RGBU(0x49), RGBU(0x4A), RGBU(0x4B), + RGBU(0x4C), RGBU(0x4D), RGBU(0x4E), RGBU(0x4F), + RGBU(0x50), RGBU(0x51), RGBU(0x52), RGBU(0x53), + RGBU(0x54), RGBU(0x55), RGBU(0x56), RGBU(0x57), + RGBU(0x58), RGBU(0x59), RGBU(0x5A), RGBU(0x5B), + RGBU(0x5C), RGBU(0x5D), RGBU(0x5E), RGBU(0x5F), + RGBU(0x60), RGBU(0x61), RGBU(0x62), RGBU(0x63), + RGBU(0x64), RGBU(0x65), RGBU(0x66), RGBU(0x67), + RGBU(0x68), RGBU(0x69), RGBU(0x6A), RGBU(0x6B), + RGBU(0x6C), RGBU(0x6D), RGBU(0x6E), RGBU(0x6F), + RGBU(0x70), RGBU(0x71), RGBU(0x72), RGBU(0x73), + RGBU(0x74), RGBU(0x75), RGBU(0x76), RGBU(0x77), + RGBU(0x78), RGBU(0x79), RGBU(0x7A), RGBU(0x7B), + RGBU(0x7C), RGBU(0x7D), RGBU(0x7E), RGBU(0x7F), + RGBU(0x80), RGBU(0x81), RGBU(0x82), RGBU(0x83), + RGBU(0x84), RGBU(0x85), RGBU(0x86), RGBU(0x87), + RGBU(0x88), RGBU(0x89), RGBU(0x8A), RGBU(0x8B), + RGBU(0x8C), RGBU(0x8D), RGBU(0x8E), RGBU(0x8F), + RGBU(0x90), RGBU(0x91), RGBU(0x92), RGBU(0x93), + RGBU(0x94), RGBU(0x95), RGBU(0x96), RGBU(0x97), + RGBU(0x98), RGBU(0x99), RGBU(0x9A), RGBU(0x9B), + RGBU(0x9C), RGBU(0x9D), RGBU(0x9E), RGBU(0x9F), + RGBU(0xA0), RGBU(0xA1), RGBU(0xA2), RGBU(0xA3), + RGBU(0xA4), RGBU(0xA5), RGBU(0xA6), RGBU(0xA7), + RGBU(0xA8), RGBU(0xA9), RGBU(0xAA), RGBU(0xAB), + RGBU(0xAC), RGBU(0xAD), RGBU(0xAE), RGBU(0xAF), + RGBU(0xB0), RGBU(0xB1), RGBU(0xB2), RGBU(0xB3), + RGBU(0xB4), RGBU(0xB5), RGBU(0xB6), RGBU(0xB7), + RGBU(0xB8), RGBU(0xB9), RGBU(0xBA), RGBU(0xBB), + RGBU(0xBC), RGBU(0xBD), RGBU(0xBE), RGBU(0xBF), + RGBU(0xC0), RGBU(0xC1), RGBU(0xC2), RGBU(0xC3), + RGBU(0xC4), RGBU(0xC5), RGBU(0xC6), RGBU(0xC7), + RGBU(0xC8), RGBU(0xC9), RGBU(0xCA), RGBU(0xCB), + RGBU(0xCC), RGBU(0xCD), RGBU(0xCE), RGBU(0xCF), + RGBU(0xD0), RGBU(0xD1), RGBU(0xD2), RGBU(0xD3), + RGBU(0xD4), RGBU(0xD5), RGBU(0xD6), RGBU(0xD7), + RGBU(0xD8), RGBU(0xD9), RGBU(0xDA), RGBU(0xDB), + RGBU(0xDC), RGBU(0xDD), RGBU(0xDE), RGBU(0xDF), + RGBU(0xE0), RGBU(0xE1), RGBU(0xE2), RGBU(0xE3), + RGBU(0xE4), RGBU(0xE5), RGBU(0xE6), RGBU(0xE7), + RGBU(0xE8), RGBU(0xE9), RGBU(0xEA), RGBU(0xEB), + RGBU(0xEC), RGBU(0xED), RGBU(0xEE), RGBU(0xEF), + RGBU(0xF0), RGBU(0xF1), RGBU(0xF2), RGBU(0xF3), + RGBU(0xF4), RGBU(0xF5), RGBU(0xF6), RGBU(0xF7), + RGBU(0xF8), RGBU(0xF9), RGBU(0xFA), RGBU(0xFB), + RGBU(0xFC), RGBU(0xFD), RGBU(0xFE), RGBU(0xFF), + + // Chroma V table. + RGBV(0x00), RGBV(0x01), RGBV(0x02), RGBV(0x03), + RGBV(0x04), RGBV(0x05), RGBV(0x06), RGBV(0x07), + RGBV(0x08), RGBV(0x09), RGBV(0x0A), RGBV(0x0B), + RGBV(0x0C), RGBV(0x0D), RGBV(0x0E), RGBV(0x0F), + RGBV(0x10), RGBV(0x11), RGBV(0x12), RGBV(0x13), + RGBV(0x14), RGBV(0x15), RGBV(0x16), RGBV(0x17), + RGBV(0x18), RGBV(0x19), RGBV(0x1A), RGBV(0x1B), + RGBV(0x1C), RGBV(0x1D), RGBV(0x1E), RGBV(0x1F), + RGBV(0x20), RGBV(0x21), RGBV(0x22), RGBV(0x23), + RGBV(0x24), RGBV(0x25), RGBV(0x26), RGBV(0x27), + RGBV(0x28), RGBV(0x29), RGBV(0x2A), RGBV(0x2B), + RGBV(0x2C), RGBV(0x2D), RGBV(0x2E), RGBV(0x2F), + RGBV(0x30), RGBV(0x31), RGBV(0x32), RGBV(0x33), + RGBV(0x34), RGBV(0x35), RGBV(0x36), RGBV(0x37), + RGBV(0x38), RGBV(0x39), RGBV(0x3A), RGBV(0x3B), + RGBV(0x3C), RGBV(0x3D), RGBV(0x3E), RGBV(0x3F), + RGBV(0x40), RGBV(0x41), RGBV(0x42), RGBV(0x43), + RGBV(0x44), RGBV(0x45), RGBV(0x46), RGBV(0x47), + RGBV(0x48), RGBV(0x49), RGBV(0x4A), RGBV(0x4B), + RGBV(0x4C), RGBV(0x4D), RGBV(0x4E), RGBV(0x4F), + RGBV(0x50), RGBV(0x51), RGBV(0x52), RGBV(0x53), + RGBV(0x54), RGBV(0x55), RGBV(0x56), RGBV(0x57), + RGBV(0x58), RGBV(0x59), RGBV(0x5A), RGBV(0x5B), + RGBV(0x5C), RGBV(0x5D), RGBV(0x5E), RGBV(0x5F), + RGBV(0x60), RGBV(0x61), RGBV(0x62), RGBV(0x63), + RGBV(0x64), RGBV(0x65), RGBV(0x66), RGBV(0x67), + RGBV(0x68), RGBV(0x69), RGBV(0x6A), RGBV(0x6B), + RGBV(0x6C), RGBV(0x6D), RGBV(0x6E), RGBV(0x6F), + RGBV(0x70), RGBV(0x71), RGBV(0x72), RGBV(0x73), + RGBV(0x74), RGBV(0x75), RGBV(0x76), RGBV(0x77), + RGBV(0x78), RGBV(0x79), RGBV(0x7A), RGBV(0x7B), + RGBV(0x7C), RGBV(0x7D), RGBV(0x7E), RGBV(0x7F), + RGBV(0x80), RGBV(0x81), RGBV(0x82), RGBV(0x83), + RGBV(0x84), RGBV(0x85), RGBV(0x86), RGBV(0x87), + RGBV(0x88), RGBV(0x89), RGBV(0x8A), RGBV(0x8B), + RGBV(0x8C), RGBV(0x8D), RGBV(0x8E), RGBV(0x8F), + RGBV(0x90), RGBV(0x91), RGBV(0x92), RGBV(0x93), + RGBV(0x94), RGBV(0x95), RGBV(0x96), RGBV(0x97), + RGBV(0x98), RGBV(0x99), RGBV(0x9A), RGBV(0x9B), + RGBV(0x9C), RGBV(0x9D), RGBV(0x9E), RGBV(0x9F), + RGBV(0xA0), RGBV(0xA1), RGBV(0xA2), RGBV(0xA3), + RGBV(0xA4), RGBV(0xA5), RGBV(0xA6), RGBV(0xA7), + RGBV(0xA8), RGBV(0xA9), RGBV(0xAA), RGBV(0xAB), + RGBV(0xAC), RGBV(0xAD), RGBV(0xAE), RGBV(0xAF), + RGBV(0xB0), RGBV(0xB1), RGBV(0xB2), RGBV(0xB3), + RGBV(0xB4), RGBV(0xB5), RGBV(0xB6), RGBV(0xB7), + RGBV(0xB8), RGBV(0xB9), RGBV(0xBA), RGBV(0xBB), + RGBV(0xBC), RGBV(0xBD), RGBV(0xBE), RGBV(0xBF), + RGBV(0xC0), RGBV(0xC1), RGBV(0xC2), RGBV(0xC3), + RGBV(0xC4), RGBV(0xC5), RGBV(0xC6), RGBV(0xC7), + RGBV(0xC8), RGBV(0xC9), RGBV(0xCA), RGBV(0xCB), + RGBV(0xCC), RGBV(0xCD), RGBV(0xCE), RGBV(0xCF), + RGBV(0xD0), RGBV(0xD1), RGBV(0xD2), RGBV(0xD3), + RGBV(0xD4), RGBV(0xD5), RGBV(0xD6), RGBV(0xD7), + RGBV(0xD8), RGBV(0xD9), RGBV(0xDA), RGBV(0xDB), + RGBV(0xDC), RGBV(0xDD), RGBV(0xDE), RGBV(0xDF), + RGBV(0xE0), RGBV(0xE1), RGBV(0xE2), RGBV(0xE3), + RGBV(0xE4), RGBV(0xE5), RGBV(0xE6), RGBV(0xE7), + RGBV(0xE8), RGBV(0xE9), RGBV(0xEA), RGBV(0xEB), + RGBV(0xEC), RGBV(0xED), RGBV(0xEE), RGBV(0xEF), + RGBV(0xF0), RGBV(0xF1), RGBV(0xF2), RGBV(0xF3), + RGBV(0xF4), RGBV(0xF5), RGBV(0xF6), RGBV(0xF7), + RGBV(0xF8), RGBV(0xF9), RGBV(0xFA), RGBV(0xFB), + RGBV(0xFC), RGBV(0xFD), RGBV(0xFE), RGBV(0xFF), +}; + +#undef RGBY +#undef RGBU +#undef RGBV + +} // extern "C" diff --git a/js/src/vm/StructuredClone.cpp b/js/src/vm/StructuredClone.cpp index 151f881b5..265f75110 100644 --- a/js/src/vm/StructuredClone.cpp +++ b/js/src/vm/StructuredClone.cpp @@ -29,6 +29,7 @@ #include "js/StructuredClone.h" +#include "mozilla/CheckedInt.h" #include "mozilla/Endian.h" #include "mozilla/FloatingPoint.h" @@ -1530,6 +1531,11 @@ JSStructuredCloneReader::readTypedArray(uint32_t arrayType, uint32_t nelems, Mut return false; byteOffset = n; } + if (!v.isObject() || !v.toObject().is()) { + JS_ReportErrorNumber(context(), GetErrorMessage, nullptr, JSMSG_SC_BAD_SERIALIZED_DATA, + "typed array must be backed by an ArrayBuffer"); + return false; + } RootedObject buffer(context(), &v.toObject()); RootedObject obj(context(), nullptr); @@ -1587,6 +1593,11 @@ JSStructuredCloneReader::readDataView(uint32_t byteLength, MutableHandleValue vp RootedValue v(context()); if (!startRead(&v)) return false; + if (!v.isObject() || !v.toObject().is()) { + JS_ReportErrorNumber(context(), GetErrorMessage, nullptr, JSMSG_SC_BAD_SERIALIZED_DATA, + "DataView must be backed by an ArrayBuffer"); + return false; + } // Read byteOffset. uint64_t n; @@ -1625,10 +1636,23 @@ bool JSStructuredCloneReader::readV1ArrayBuffer(uint32_t arrayType, uint32_t nelems, MutableHandleValue vp) { - MOZ_ASSERT(arrayType <= Scalar::Uint8Clamped); + if (arrayType > Scalar::Uint8Clamped) { + JS_ReportErrorNumber(context(), GetErrorMessage, nullptr, JSMSG_SC_BAD_SERIALIZED_DATA, + "invalid TypedArray type"); + return false; + } - uint32_t nbytes = nelems << TypedArrayShift(static_cast(arrayType)); - JSObject* obj = ArrayBufferObject::create(context(), nbytes); + mozilla::CheckedInt nbytes = + mozilla::CheckedInt(nelems) * + TypedArrayElemSize(static_cast(arrayType)); + if (!nbytes.isValid() || nbytes.value() > UINT32_MAX) { + JS_ReportErrorNumber(context(), GetErrorMessage, nullptr, + JSMSG_SC_BAD_SERIALIZED_DATA, + "invalid typed array size"); + return false; + } + + JSObject* obj = ArrayBufferObject::create(context(), nbytes.value()); if (!obj) return false; vp.setObject(*obj); diff --git a/layout/forms/nsNumberControlFrame.cpp b/layout/forms/nsNumberControlFrame.cpp index 349afba3a..21c05ba50 100644 --- a/layout/forms/nsNumberControlFrame.cpp +++ b/layout/forms/nsNumberControlFrame.cpp @@ -677,14 +677,16 @@ nsNumberControlFrame::HandleFocusEvent(WidgetEvent* aEvent) { if (aEvent->originalTarget != mTextField) { // Move focus to our text field - HTMLInputElement::FromContent(mTextField)->Focus(); + RefPtr textField = HTMLInputElement::FromContent(mTextField); + textField->Focus(); } } nsresult nsNumberControlFrame::HandleSelectCall() { - return HTMLInputElement::FromContent(mTextField)->Select(); + RefPtr textField = HTMLInputElement::FromContent(mTextField); + return textField->Select(); } #define STYLES_DISABLING_NATIVE_THEMING \ diff --git a/layout/style/FontFace.cpp b/layout/style/FontFace.cpp index 1cf774059..9ae88417d 100644 --- a/layout/style/FontFace.cpp +++ b/layout/style/FontFace.cpp @@ -623,6 +623,11 @@ FontFace::SetUserFontEntry(gfxUserFontEntry* aEntry) if (mUserFontEntry) { mUserFontEntry->mFontFaces.AppendElement(this); + MOZ_ASSERT(mUserFontEntry->GetUserFontSet() == + mFontFaceSet->GetUserFontSet(), + "user font entry must be associated with the same user font set " + "as the FontFace"); + // Our newly assigned user font entry might be in the process of or // finished loading, so set our status accordingly. But only do so // if we're not going "backwards" in status, which could otherwise diff --git a/layout/style/FontFace.h b/layout/style/FontFace.h index 58072b6e5..d776a034e 100644 --- a/layout/style/FontFace.h +++ b/layout/style/FontFace.h @@ -90,6 +90,8 @@ public: void AddFontFaceSet(FontFaceSet* aFontFaceSet); void RemoveFontFaceSet(FontFaceSet* aFontFaceSet); + FontFaceSet* GetPrimaryFontFaceSet() const { return mFontFaceSet; } + /** * Gets the family name of the FontFace as a raw string (such as 'Times', as * opposed to GetFamily, which returns a CSS-escaped string, such as diff --git a/layout/style/FontFaceSet.cpp b/layout/style/FontFaceSet.cpp index b302c27c3..d7a6ccaca 100644 --- a/layout/style/FontFaceSet.cpp +++ b/layout/style/FontFaceSet.cpp @@ -953,7 +953,7 @@ FontFaceSet::InsertRuleFontFace(FontFace* aFontFace, SheetType aSheetType, mUserFontSet->AddUserFontEntry(fontfamily, entry); } -already_AddRefed +/* static */ already_AddRefed FontFaceSet::FindOrCreateUserFontEntryFromFontFace(FontFace* aFontFace) { nsAutoString fontfamily; @@ -967,11 +967,13 @@ FontFaceSet::FindOrCreateUserFontEntryFromFontFace(FontFace* aFontFace) SheetType::Doc); } -already_AddRefed +/* static */ already_AddRefed FontFaceSet::FindOrCreateUserFontEntryFromFontFace(const nsAString& aFamilyName, FontFace* aFontFace, SheetType aSheetType) { + FontFaceSet* set = aFontFace->GetPrimaryFontFaceSet(); + nsCSSValue val; nsCSSUnit unit; @@ -1099,7 +1101,7 @@ FontFaceSet::FindOrCreateUserFontEntryFromFontFace(const nsAString& aFamilyName, face->mSourceType = gfxFontFaceSrc::eSourceType_URL; face->mURI = val.GetURLValue(); face->mReferrer = val.GetURLStructValue()->mReferrer; - face->mReferrerPolicy = mDocument->GetReferrerPolicy(); + face->mReferrerPolicy = set->mDocument->GetReferrerPolicy(); face->mOriginPrincipal = val.GetURLStructValue()->mOriginPrincipal; NS_ASSERTION(face->mOriginPrincipal, "null origin principal in @font-face rule"); @@ -1160,11 +1162,11 @@ FontFaceSet::FindOrCreateUserFontEntryFromFontFace(const nsAString& aFamilyName, } RefPtr entry = - mUserFontSet->FindOrCreateUserFontEntry(aFamilyName, srcArray, weight, - stretch, italicStyle, - featureSettings, - languageOverride, - unicodeRanges); + set->mUserFontSet->FindOrCreateUserFontEntry(aFamilyName, srcArray, weight, + stretch, italicStyle, + featureSettings, + languageOverride, + unicodeRanges); return entry.forget(); } diff --git a/layout/style/FontFaceSet.h b/layout/style/FontFaceSet.h index 869e9b7cd..a18734368 100644 --- a/layout/style/FontFaceSet.h +++ b/layout/style/FontFaceSet.h @@ -122,7 +122,7 @@ public: * Finds an existing entry in the user font cache or creates a new user * font entry for the given FontFace object. */ - already_AddRefed + static already_AddRefed FindOrCreateUserFontEntryFromFontFace(FontFace* aFontFace); /** @@ -243,7 +243,7 @@ private: bool mLoadEventShouldFire; }; - already_AddRefed FindOrCreateUserFontEntryFromFontFace( + static already_AddRefed FindOrCreateUserFontEntryFromFontFace( const nsAString& aFamilyName, FontFace* aFontFace, SheetType aSheetType); diff --git a/layout/style/nsCSSParser.cpp b/layout/style/nsCSSParser.cpp index cb53785cd..61b2b5444 100644 --- a/layout/style/nsCSSParser.cpp +++ b/layout/style/nsCSSParser.cpp @@ -67,6 +67,7 @@ static bool sUnprefixingServiceGloballyWhitelisted; #endif static bool sMozGradientsEnabled; static bool sControlCharVisibility; +static bool sMozDocumentEnabledInContent; const uint32_t nsCSSProps::kParserVariantTable[eCSSProperty_COUNT_no_shorthands] = { @@ -3725,6 +3726,11 @@ CSSParserImpl::ParseMediaRule(RuleAppendFunc aAppendFunc, void* aData) bool CSSParserImpl::ParseMozDocumentRule(RuleAppendFunc aAppendFunc, void* aData) { + if (mParsingMode == css::eAuthorSheetFeatures && + !sMozDocumentEnabledInContent) { + return false; + } + css::DocumentRule::URL *urls = nullptr; css::DocumentRule::URL **next = &urls; @@ -16852,6 +16858,8 @@ nsCSSParser::Startup() "layout.css.prefixes.gradients"); Preferences::AddBoolVarCache(&sControlCharVisibility, "layout.css.control-characters.visible"); + Preferences::AddBoolVarCache(&sMozDocumentEnabledInContent, + "layout.css.moz-document.content.enabled"); } nsCSSParser::nsCSSParser(mozilla::css::Loader* aLoader, diff --git a/layout/style/nsCSSRules.cpp b/layout/style/nsCSSRules.cpp index d4bf6029e..53a0aa1fb 100644 --- a/layout/style/nsCSSRules.cpp +++ b/layout/style/nsCSSRules.cpp @@ -210,8 +210,6 @@ ImportRule::~ImportRule() NS_IMPL_CYCLE_COLLECTING_ADDREF(ImportRule) NS_IMPL_CYCLE_COLLECTING_RELEASE(ImportRule) -NS_IMPL_CYCLE_COLLECTION(ImportRule, mMedia, mChildSheet) - // QueryInterface implementation for ImportRule NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(ImportRule) NS_INTERFACE_MAP_ENTRY(nsIDOMCSSRule) @@ -222,6 +220,21 @@ NS_INTERFACE_MAP_END IMPL_STYLE_RULE_INHERIT(ImportRule, Rule) +NS_IMPL_CYCLE_COLLECTION_CLASS(ImportRule) + +NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(ImportRule) + if (tmp->mChildSheet) { + tmp->mChildSheet->SetOwnerRule(nullptr); + tmp->mChildSheet = nullptr; + } + tmp->mMedia = nullptr; +NS_IMPL_CYCLE_COLLECTION_UNLINK_END + +NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(ImportRule) + NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mMedia) + NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mChildSheet) +NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END + #ifdef DEBUG /* virtual */ void ImportRule::List(FILE* out, int32_t aIndent) const @@ -611,7 +624,7 @@ NS_IMPL_ADDREF_INHERITED(MediaRule, GroupRule) NS_IMPL_RELEASE_INHERITED(MediaRule, GroupRule) // QueryInterface implementation for MediaRule -NS_INTERFACE_MAP_BEGIN(MediaRule) +NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(MediaRule) NS_INTERFACE_MAP_ENTRY(nsIDOMCSSRule) NS_INTERFACE_MAP_ENTRY(nsIDOMCSSGroupingRule) NS_INTERFACE_MAP_ENTRY(nsIDOMCSSConditionRule) @@ -620,6 +633,19 @@ NS_INTERFACE_MAP_BEGIN(MediaRule) NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO(CSSMediaRule) NS_INTERFACE_MAP_END_INHERITING(GroupRule) +NS_IMPL_CYCLE_COLLECTION_CLASS(MediaRule) + +NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(MediaRule, GroupRule) + if (tmp->mMedia) { + tmp->mMedia->SetStyleSheet(nullptr); + tmp->mMedia = nullptr; + } +NS_IMPL_CYCLE_COLLECTION_UNLINK_END + +NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(MediaRule, GroupRule) + NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mMedia) +NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END + /* virtual */ void MediaRule::SetStyleSheet(CSSStyleSheet* aSheet) { diff --git a/layout/style/nsCSSRules.h b/layout/style/nsCSSRules.h index 1c0e22894..1bc0de60b 100644 --- a/layout/style/nsCSSRules.h +++ b/layout/style/nsCSSRules.h @@ -53,6 +53,7 @@ private: ~MediaRule(); public: + NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(MediaRule, GroupRule) NS_DECL_ISUPPORTS_INHERITED // Rule methods diff --git a/media/libopus/silk/NSQ_del_dec.c b/media/libopus/silk/NSQ_del_dec.c index 522be4066..db7a27545 100644 --- a/media/libopus/silk/NSQ_del_dec.c +++ b/media/libopus/silk/NSQ_del_dec.c @@ -106,6 +106,12 @@ static OPUS_INLINE void silk_noise_shape_quantizer_del_dec( opus_int decisionDelay /* I */ ); +#if (__GNUC__ == 4 && __GNUC_MINOR__ == 8 && __GNUC_PATCHLEVEL__ == 5) +#ifdef TENFOURFOX_G5 +/* work around issue 461 */ +__attribute__((optimize("no-tree-vectorize"))) +#endif +#endif void silk_NSQ_del_dec( const silk_encoder_state *psEncC, /* I/O Encoder State */ silk_nsq_state *NSQ, /* I/O NSQ state */ diff --git a/media/libyuv/source/row_common.cc b/media/libyuv/source/row_common.cc index a718399eb..d41081f60 100644 --- a/media/libyuv/source/row_common.cc +++ b/media/libyuv/source/row_common.cc @@ -1116,6 +1116,12 @@ void I422ToARGB4444Row_C(const uint8* src_y, } } +#if (__GNUC__ == 4 && __GNUC_MINOR__ == 8 && __GNUC_PATCHLEVEL__ == 5) +#ifdef __ppc__ +/* work around issue 461 */ +__attribute__((optimize("no-tree-vectorize"))) +#endif +#endif void I422ToARGB1555Row_C(const uint8* src_y, const uint8* src_u, const uint8* src_v, @@ -1154,6 +1160,15 @@ void I422ToARGB1555Row_C(const uint8* src_y, } } +#if (__GNUC__ == 4 && __GNUC_MINOR__ == 8 && __GNUC_PATCHLEVEL__ == 5) +#ifdef __ppc__ +#ifndef TENFOURFOX_G5 +/* Work around issue 461, 7450 only + Safe to comment for a 7400 build */ +__attribute__((optimize("no-tree-vectorize"))) +#endif +#endif +#endif void I422ToRGB565Row_C(const uint8* src_y, const uint8* src_u, const uint8* src_v, @@ -1280,6 +1295,12 @@ void NV21ToARGBRow_C(const uint8* src_y, } } +#if (__GNUC__ == 4 && __GNUC_MINOR__ == 8 && __GNUC_PATCHLEVEL__ == 5) +#ifdef __ppc__ +/* work around issue 461 */ +__attribute__((optimize("no-tree-vectorize"))) +#endif +#endif void NV12ToRGB565Row_C(const uint8* src_y, const uint8* usrc_v, uint8* dst_rgb565, @@ -1315,6 +1336,12 @@ void NV12ToRGB565Row_C(const uint8* src_y, } } +#if (__GNUC__ == 4 && __GNUC_MINOR__ == 8 && __GNUC_PATCHLEVEL__ == 5) +#ifdef __ppc__ +/* work around issue 461 */ +__attribute__((optimize("no-tree-vectorize"))) +#endif +#endif void NV21ToRGB565Row_C(const uint8* src_y, const uint8* vsrc_u, uint8* dst_rgb565, diff --git a/media/libyuv/source/scale_common.cc b/media/libyuv/source/scale_common.cc index 6ed8bfaf9..a1f505406 100644 --- a/media/libyuv/source/scale_common.cc +++ b/media/libyuv/source/scale_common.cc @@ -88,6 +88,12 @@ void ScaleRowDown4_C(const uint8* src_ptr, ptrdiff_t src_stride, } } +#if (__GNUC__ == 4 && __GNUC_MINOR__ == 8 && __GNUC_PATCHLEVEL__ == 5) +#ifdef TENFOURFOX_G5 +/* work around issue 461 */ +__attribute__((optimize("no-tree-vectorize"))) +#endif +#endif void ScaleRowDown4Box_C(const uint8* src_ptr, ptrdiff_t src_stride, uint8* dst, int dst_width) { intptr_t stride = src_stride; diff --git a/media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp b/media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp index 43742bffb..5584b5e67 100644 --- a/media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp +++ b/media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp @@ -2997,12 +2997,11 @@ PeerConnectionImpl::IceGatheringStateChange( return; } WrappableJSErrorResult rv; - RUN_ON_THREAD(mThread, - WrapRunnable(pco, - &PeerConnectionObserver::OnStateChange, - PCObserverStateType::IceGatheringState, - rv, static_cast(nullptr)), - NS_DISPATCH_NORMAL); + mThread->Dispatch(WrapRunnable(pco, + &PeerConnectionObserver::OnStateChange, + PCObserverStateType::IceGatheringState, + rv, static_cast(nullptr)), + NS_DISPATCH_NORMAL); if (mIceGatheringState == PCImplIceGatheringState::Complete) { SendLocalIceCandidateToContent(0, "", ""); diff --git a/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/isac/main/source/entropy_coding.c b/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/isac/main/source/entropy_coding.c index dd1d64af7..9aa1e7260 100644 --- a/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/isac/main/source/entropy_coding.c +++ b/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/isac/main/source/entropy_coding.c @@ -385,7 +385,12 @@ int WebRtcIsac_DecodeSpec(Bitstr* streamdata, int16_t AvgPitchGain_Q12, return len; } - +#if (__GNUC__ == 4 && __GNUC_MINOR__ == 8 && __GNUC_PATCHLEVEL__ == 5) +#ifdef TENFOURFOX_G5 +/* work around issue 461 */ +__attribute__((optimize("no-tree-vectorize"))) +#endif +#endif int WebRtcIsac_EncodeSpec(const int16_t* fr, const int16_t* fi, int16_t AvgPitchGain_Q12, enum ISACBand band, Bitstr* streamdata) { diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js index 0acba78c1..b3f3c4f1e 100644 --- a/modules/libpref/init/all.js +++ b/modules/libpref/init/all.js @@ -1042,6 +1042,9 @@ pref("dom.disable_window_open_feature.status", true); pref("dom.allow_scripts_to_close_windows", false); +// TenFourFox issue 463 +pref("dom.requestIdleCallback.enabled", false); + pref("dom.require_user_interaction_for_beforeunload", true); pref("dom.disable_open_during_load", false); @@ -2230,6 +2233,9 @@ pref("layout.css.report_errors", true); // Should the :visited selector ever match (otherwise :link matches instead)? pref("layout.css.visited_links_enabled", true); +// Pref to control whether @-moz-document rules are enabled in content pages. +pref("layout.css.moz-document.content.enabled", true); // XXX: change in FPR6 + // Override DPI. A value of -1 means use the maximum of 96 and the system DPI. // A value of 0 means use the system DPI. A positive value is used as the DPI. // This sets the physical size of a device pixel and thus controls the @@ -5129,3 +5135,6 @@ pref("dom.mozKillSwitch.enabled", false); pref("toolkit.pageThumbs.screenSizeDivisor", 7); pref("toolkit.pageThumbs.minWidth", 0); pref("toolkit.pageThumbs.minHeight", 0); + +pref("tenfourfox.adblock.enabled", false); +pref("tenfourfox.adblock.logging.enabled", true); diff --git a/netwerk/base/AutoClose.h b/netwerk/base/AutoClose.h index 79a6bda29..43ab27133 100644 --- a/netwerk/base/AutoClose.h +++ b/netwerk/base/AutoClose.h @@ -8,6 +8,7 @@ #define mozilla_net_AutoClose_h #include "nsCOMPtr.h" +#include "mozilla/Mutex.h" namespace mozilla { namespace net { @@ -18,49 +19,48 @@ template class AutoClose { public: - AutoClose() { } + AutoClose() : mMutex("net::AutoClose.mMutex") { } ~AutoClose(){ - Close(); + CloseAndRelease(); } - explicit operator bool() const + explicit operator bool() { + MutexAutoLock lock(mMutex); return mPtr; } already_AddRefed forget() { + MutexAutoLock lock(mMutex); return mPtr.forget(); } void takeOver(nsCOMPtr & rhs) { - Close(); - mPtr = rhs.forget(); - } - - void takeOver(AutoClose & rhs) - { - Close(); - mPtr = rhs.mPtr.forget(); + already_AddRefed other = rhs.forget(); + TakeOverInternal(&other); } void CloseAndRelease() { - Close(); - mPtr = nullptr; - } - - T* operator->() const MOZ_NO_ADDREF_RELEASE_ON_RETURN - { - return mPtr.operator->(); + TakeOverInternal(nullptr); } private: - void Close() + void TakeOverInternal(already_AddRefed *aOther) { - if (mPtr) { - mPtr->Close(); + nsCOMPtr ptr; + { + MutexAutoLock lock(mMutex); + ptr.swap(mPtr); + if (aOther) { + mPtr = *aOther; + } + } + + if (ptr) { + ptr->Close(); } } @@ -68,6 +68,7 @@ private: AutoClose(const AutoClose &) = delete; nsCOMPtr mPtr; + Mutex mMutex; }; } // namespace net diff --git a/netwerk/cookie/nsCookieService.cpp b/netwerk/cookie/nsCookieService.cpp index 6c2a4991c..5fa3d152b 100644 --- a/netwerk/cookie/nsCookieService.cpp +++ b/netwerk/cookie/nsCookieService.cpp @@ -4061,8 +4061,9 @@ nsCookieService::PurgeCookies(int64_t aCurrentTimeInUsec) for (auto iter = mDBState->hostTable.Iter(); !iter.Done(); iter.Next()) { nsCookieEntry* entry = iter.Get(); - const nsCookieEntry::ArrayType &cookies = entry->GetCookies(); - for (nsCookieEntry::IndexType i = 0; i < cookies.Length(); ) { + const nsCookieEntry::ArrayType& cookies = entry->GetCookies(); + auto length = cookies.Length(); + for (nsCookieEntry::IndexType i = 0; i < length; ) { nsListIter iter(entry, i); nsCookie* cookie = cookies[i]; @@ -4071,9 +4072,12 @@ nsCookieService::PurgeCookies(int64_t aCurrentTimeInUsec) removedList->AppendElement(cookie, false); COOKIE_LOGEVICTED(cookie, "Cookie expired"); - // remove from list; do not increment our iterator + // remove from list; do not increment our iterator unless we're the last + // in the list already. gCookieService->RemoveCookieFromList(iter, paramsArray); - + if (i == --length) { + break; + } } else { // check if the cookie is over the age limit if (cookie->LastAccessed() <= purgeTime) { @@ -4086,6 +4090,7 @@ nsCookieService::PurgeCookies(int64_t aCurrentTimeInUsec) ++i; } + MOZ_ASSERT(length == cookies.Length()); } } diff --git a/netwerk/protocol/http/HttpBaseChannel.cpp b/netwerk/protocol/http/HttpBaseChannel.cpp index 183684b68..75b4fbef5 100644 --- a/netwerk/protocol/http/HttpBaseChannel.cpp +++ b/netwerk/protocol/http/HttpBaseChannel.cpp @@ -3069,6 +3069,14 @@ HttpBaseChannel::GetPerformance() return nullptr; } + // We only add to the document's performance object if it has the same + // principal as the one triggering the load. This is to prevent navigations + // triggered _by_ the iframe from showing up in the parent document's + // performance entries if they have different origins. + if (!mLoadInfo->TriggeringPrincipal()->Equals(loadingDocument->NodePrincipal())) { + return nullptr; + } + nsCOMPtr innerWindow = loadingDocument->GetInnerWindow(); if (!innerWindow) { return nullptr; diff --git a/netwerk/protocol/http/nsHttpChannel.cpp b/netwerk/protocol/http/nsHttpChannel.cpp index d372882e5..4d8ce5a8f 100644 --- a/netwerk/protocol/http/nsHttpChannel.cpp +++ b/netwerk/protocol/http/nsHttpChannel.cpp @@ -1096,8 +1096,9 @@ nsHttpChannel::CallOnStartRequest() LOG((" calling mListener->OnStartRequest\n")); if (mListener) { - MOZ_ASSERT(!mOnStartRequestCalled, - "We should not call OsStartRequest twice"); + NS_ASSERTION(!mOnStartRequestCalled, + "We should not call OsStartRequest twice"); + if (mOnStartRequestCalled) return NS_OK; rv = mListener->OnStartRequest(this, mListenerContext); mOnStartRequestCalled = true; if (NS_FAILED(rv)) diff --git a/security/manager/ssl/StaticHPKPins.h b/security/manager/ssl/StaticHPKPins.h index a01deb344..28ad6b874 100644 --- a/security/manager/ssl/StaticHPKPins.h +++ b/security/manager/ssl/StaticHPKPins.h @@ -761,6 +761,7 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = { { "ct.search.yahoo.com", false, true, false, -1, &kPinset_yahoo }, { "de.search.yahoo.com", false, true, false, -1, &kPinset_yahoo }, { "dev.twitter.com", true, false, false, -1, &kPinset_twitterCom }, + { "developer.android.com", true, false, false, -1, &kPinset_google_root_pems }, { "developers.facebook.com", true, false, false, -1, &kPinset_facebook }, { "dist.torproject.org", true, false, false, -1, &kPinset_tor }, { "dk.search.yahoo.com", false, true, false, -1, &kPinset_yahoo }, @@ -1031,6 +1032,7 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = { { "gr.search.yahoo.com", false, true, false, -1, &kPinset_yahoo }, { "groups.google.com", true, false, false, -1, &kPinset_google_root_pems }, { "gstatic.com", true, false, false, -1, &kPinset_google_root_pems }, + { "gvt1.com", true, false, false, -1, &kPinset_google_root_pems }, { "gvt2.com", true, false, false, -1, &kPinset_google_root_pems }, { "gvt3.com", true, false, false, -1, &kPinset_google_root_pems }, { "hangouts.google.com", true, false, false, -1, &kPinset_google_root_pems }, @@ -1176,8 +1178,8 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = { { "zh.search.yahoo.com", false, true, false, -1, &kPinset_yahoo }, }; -// Pinning Preload List Length = 474; +// Pinning Preload List Length = 476; static const int32_t kUnknownId = -1; -static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1522005531140000); +static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1524685607926000); diff --git a/security/manager/ssl/nsSTSPreloadList.inc b/security/manager/ssl/nsSTSPreloadList.inc index d42a95d09..f957dd895 100644 --- a/security/manager/ssl/nsSTSPreloadList.inc +++ b/security/manager/ssl/nsSTSPreloadList.inc @@ -10,7 +10,7 @@ /* imported from ESR52 by TenFourFox conversion script */ #include -const PRTime gPreloadListExpirationTime = INT64_C(1524424718555000); +const PRTime gPreloadListExpirationTime = INT64_C(1527104795646000); class nsSTSPreload { @@ -20,7 +20,6 @@ class nsSTSPreload }; static const nsSTSPreload kSTSPreloadList[] = { - { "0-1.party", true }, { "0.me.uk", true }, { "0005pay.com", true }, { "0010100.net", true }, @@ -36,14 +35,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "023838.com", true }, { "023sec.com", true }, { "03-09-2016.wedding", true }, - { "040fit.nl", true }, { "040fitvitality.nl", true }, { "046569.com", true }, { "04sun.com", true }, { "050media.nl", true }, { "0513c.com", true }, { "0573wk.com", true }, - { "070709.net", true }, + { "06se.com", true }, { "0au.de", true }, { "0c.eu", true }, { "0c3.de", true }, @@ -53,7 +51,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "0iz.net", true }, { "0knowledge.de", true }, { "0paste.com", true }, - { "0vi.org", true }, { "0wx.cat", true }, { "0wx.es", true }, { "0wx.eu", true }, @@ -63,7 +60,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "0x00ff00ff.com", true }, { "0x17.de", true }, { "0x52.net", true }, - { "0x52.org", true }, { "0x539.be", true }, { "0x65.net", true }, { "0x7d.com", true }, @@ -78,6 +74,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "0xdc.io", false }, { "0xdefaced.de", true }, { "0xee.eu", true }, + { "0xf00.ch", true }, { "0xfc.de", true }, { "0xn.de", true }, { "0yen.org", true }, @@ -129,8 +126,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "132kv.ch", true }, { "13318522.com", true }, { "1359826938.rsc.cdn77.org", true }, - { "13826145000.com", true }, { "1395kj.com", true }, + { "1396.net", true }, { "13th-dover.uk", true }, { "1453914078.rsc.cdn77.org", true }, { "1464424382.rsc.cdn77.org", true }, @@ -182,6 +179,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "1p.ro", false }, { "1panorama.ru", true }, { "1para.net", true }, + { "1password.com", true }, { "1pw.ca", true }, { "1px.tv", true }, { "1rs.nl", true }, @@ -260,7 +258,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "300m.com", false }, { "30hzcollective.com", true }, { "3133780x.com", true }, - { "314chan.org", true }, { "31klabs.com", true }, { "31tv.ru", true }, { "321live.nl", true }, @@ -270,8 +267,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "33445.com", true }, { "33scc.com", true }, { "3473-wiki.de", true }, - { "360ds.co.in", true }, - { "360live.fr", true }, { "360woodworking.com", true }, { "365365.com", true }, { "365beautyworld.com", true }, @@ -314,7 +309,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "3timegear.com", true }, { "3trees.tk", true }, { "3v4l.org", true }, - { "3vlnaeet.cz", true }, { "3weekdietworks.com", true }, { "3xx.link", true }, { "4-1-where.com", true }, @@ -325,15 +319,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "4096bit.de", true }, { "41-where.com", true }, { "41199.com", true }, - { "411film.com", true }, { "411movie.com", true }, - { "41844.de", true }, { "41where.com", true }, { "420java.com", true }, { "42day.info", true }, { "42entrepreneurs.fr", true }, { "42t.ru", true }, - { "440hz-radio.de", true }, { "441jj.com", false }, { "44scc.com", true }, { "4500.co.il", true }, @@ -360,13 +351,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "4u2ore.net", true }, { "4vector.com", true }, { "4vf.de", true }, - { "4web-hosting.com", true }, { "4winds.pt", true }, { "4x.fi", true }, { "4xlabs.co", true }, - { "5000yz.com", true }, { "500k.nl", true }, { "500p.xyz", true }, + { "506pay.com", true }, { "50lakeshore.com", true }, { "50ma.xyz", true }, { "50north.de", true }, @@ -374,7 +364,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "525.info", true }, { "52kb1.com", true }, { "52kb365.com", true }, - { "52neptune.com", true }, { "52sykb.com", true }, { "5432.cc", true }, { "54below.com", true }, @@ -407,7 +396,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "692b8c32.de", true }, { "6969.us", true }, { "69butterfly.com", true }, - { "69mentor.com", true }, { "6lo.zgora.pl", true }, { "6t-montjoye.org", true }, { "6w6.la", true }, @@ -427,7 +415,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "7nw.eu", false }, { "7sons.de", true }, { "7thcircledesigns.com", true }, - { "7trade8.com", true }, { "7x24servis.com", true }, { "8003pay.com", true }, { "8522.com", true }, @@ -435,7 +422,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "8522top.com", true }, { "86metro.ru", true }, { "8833445.com", true }, - { "888azino.com", true }, { "888msc.vip", true }, { "8ack.de", true }, { "8ackprotect.com", true }, @@ -453,7 +439,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "91travel.info", true }, { "92url.com", true }, { "9449-27a1-22a1-e0d9-4237-dd99-e75e-ac85-2f47-9d34.de", true }, - { "94cs.cn", true }, + { "94cs.cn", false }, { "9500years.com", true }, { "987987.com", true }, { "98laba.com", true }, @@ -465,7 +451,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "99998522.com", true }, { "99buffets.com", true }, { "99rst.org", true }, - { "9jadirect.com", true }, { "9uelle.jp", true }, { "9vx.org", true }, { "9yw.me", true }, @@ -482,7 +467,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "a1jumpandbounce.co.uk", true }, { "a1scuba.com", true }, { "a1scubastore.com", true }, - { "a200k.xyz", true }, { "a2a.net", true }, { "a2c-co.net", true }, { "a2it.gr", true }, @@ -507,6 +491,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "aarkue.eu", true }, { "aaron.xin", true }, { "aaronhorler.com", true }, + { "aaronmcguire.me", false }, { "aaronroyle.com", true }, { "aaronsilber.me", true }, { "aatf.us", true }, @@ -542,7 +527,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "abeilles-idapi.fr", true }, { "abenteuer-ahnenforschung.de", true }, { "abeontech.com", true }, - { "aberdeenalmeras.com", true }, { "aberdeencastles.co.uk", true }, { "aberdeenjudo.co.uk", true }, { "abeus.com", true }, @@ -666,9 +650,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "acessoeducacao.com", true }, { "acevik.de", true }, { "acg.mn", true }, - { "acg.sb", false }, { "acg18.us", false }, - { "acgaudio.com", true }, { "achalay.org", true }, { "acheconcursos.com.br", true }, { "achenar.net", true }, @@ -697,7 +679,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "acousti-tech.com", true }, { "acoustique-tardy.com", true }, { "acperu.ch", true }, - { "acpinformatique.fr", true }, { "acrevalue.com", true }, { "across.ml", true }, { "acrylicwifi.com", true }, @@ -729,6 +710,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "acus.gov", true }, { "acwcerts.co.uk", true }, { "acwi.gov", true }, + { "ad-disruptio.fr", false }, { "ad-notam.asia", true }, { "ad-notam.ch", true }, { "ad-notam.co.uk", true }, @@ -777,7 +759,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "addstar.jp", false }, { "addtoany.com", true }, { "adduono.com", true }, - { "adec-emsa.ae", true }, { "adelaides.com", true }, { "adelebeals.com", true }, { "adelightfulglow.com", true }, @@ -837,7 +818,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "adrinet.tk", true }, { "adsbouncycastles.co.uk", true }, { "adtgroup.com", true }, - { "adult.properties", true }, { "adurra.com", true }, { "aduvi.de", true }, { "advaithnikhi.ml", true }, @@ -890,6 +870,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "aebian.org", true }, { "aegee-utrecht.nl", true }, { "aegisalarm.co.uk", true }, + { "aegisalarm.com", true }, { "aegisalarms.co.uk", true }, { "aegisalarms.com", true }, { "aegrel.ee", true }, @@ -918,6 +899,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "aextron.org", true }, { "af-internet.nl", true }, { "afavre.io", true }, + { "afb24.de", true }, { "afbeelding.im", true }, { "afbeeldinguploaden.nl", true }, { "affichagepub3.com", true }, @@ -946,13 +928,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "africa.dating", true }, { "africanexponent.com", true }, { "africanimpact.com", true }, - { "africantourer.com", true }, { "africatravel.de", true }, { "afrikarl.de", true }, { "afrodigital.uk", true }, { "after.digital", true }, { "afterhate.fr", true }, - { "afterstack.net", true }, { "afuh.de", true }, { "afva.net", true }, { "ag-websolutions.de", true }, @@ -1028,9 +1008,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ahoyconference.com", true }, { "ahrq.gov", false }, { "ahughes03.com", true }, - { "ahwah.net", true }, { "ahxxm.com", true }, { "ai-english.jp", true }, + { "aia.de", true }, { "aibenzi.com", true }, { "aicial.co.uk", true }, { "aicial.com", true }, @@ -1044,7 +1024,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "aiforsocialmedia.com", true }, { "aigcev.org", true }, { "aigenpul.se", true }, - { "aiicy.org", true }, { "aiida.se", true }, { "aijsk.com", true }, { "aikenorganics.com", true }, @@ -1102,6 +1081,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ajarope.com", true }, { "ajbouncycastles.co.uk", true }, { "ajces.com", true }, + { "ajdiaz.me", true }, { "ajetaci.cz", true }, { "ajeventhire.co.uk", true }, { "ajibot.com", true }, @@ -1120,7 +1100,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "akijo.de", true }, { "akita-boutique.com", true }, { "akkbouncycastles.co.uk", true }, - { "akoch.net", true }, { "akostecki.de", true }, { "akovana.com", true }, { "akoya.fi", true }, @@ -1150,6 +1129,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "alaricfavier.eu", false }, { "alarmcomplete.co.uk", true }, { "alastairs-place.net", true }, + { "alaundeil.xyz", true }, { "alaxyjewellers.co.za", true }, { "alb-flirt.de", true }, { "albbounce.co.uk", true }, @@ -1160,7 +1140,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "alboweb.nl", true }, { "albuic.tk", true }, { "alca31.com", true }, - { "alcantarafleuriste.com", true }, { "alcatelonetouch.us", true }, { "alchemia.co.il", true }, { "alchimic.ch", true }, @@ -1175,6 +1154,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "alecrust.com", true }, { "aleksejjocic.tk", true }, { "aleksib.fi", true }, + { "alela.fr", true }, { "aleph.land", true }, { "alertaenlinea.gov", true }, { "alertboxx.com", true }, @@ -1187,7 +1167,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "alex97000.de", true }, { "alexander-beck.eu", true }, { "alexandermuetzel.de", true }, - { "alexandernorth.ch", true }, { "alexanderschimpf.de", true }, { "alexandra-schulze.de", true }, { "alexandre-blond.fr", true }, @@ -1201,6 +1180,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "alexeykopytko.com", true }, { "alexfisherhealth.com.au", true }, { "alexgaynor.net", true }, + { "alexhaydock.co.uk", true }, { "alexhd.de", true }, { "alexisabarca.com", true }, { "alexischaussy.xyz", true }, @@ -1262,7 +1242,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "aljaspod.com", true }, { "aljaspod.hu", true }, { "aljweb.com", true }, - { "alkamitech.com", true }, { "alkel.info", true }, { "all-connect.net", false }, { "all-markup-news.com", true }, @@ -1309,7 +1288,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "allpointsblog.com", true }, { "allproptonline.com", true }, { "allroundpvp.net", true }, - { "allscammers.exposed", true }, { "allsearch.io", true }, { "allshousedesigns.com", true }, { "allstarautokiaparts.com", true }, @@ -1347,7 +1325,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "alphabrock.cn", true }, { "alphachat.net", true }, { "alphafiduciaryservices.ch", true }, - { "alphahunks.com", true }, { "alphainflatablehire.com", true }, { "alphapengu.in", true }, { "alpharotary.com", true }, @@ -1396,7 +1373,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "alvcs.com", true }, { "alviano.com", true }, { "alvicom.hu", true }, - { "alvosec.com", false }, + { "alvosec.com", true }, { "alwaysdry.com.au", true }, { "alwayslookingyourbest.com", true }, { "alwaysmine.fi", true }, @@ -1459,6 +1436,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "americanoutlawjeepparts.com", true }, { "americansforcommunitydevelopment.org", true }, { "americasbasementcontractor.com", true }, + { "americkykongres.cz", true }, { "amerigroup.com", true }, { "amerimarkdirect.com", true }, { "amerimex.cc", true }, @@ -1486,6 +1464,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "amministratore.biz", true }, { "amministratorecondominio.roma.it", true }, { "amnesy.fr", true }, + { "amoozesh98.com", true }, + { "amoozesh98.ir", true }, { "amorgos-aegialis.com", true }, { "amorim.ca", true }, { "ampersandnbspsemicolon.com", true }, @@ -1521,8 +1501,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "analyticum.de", true }, { "analyticum.eu", true }, { "analyticum.net", true }, - { "analyzemyfriends.com", true }, { "ananke.io", true }, + { "anankecosmetics.com", true }, { "anantshri.info", true }, { "anarchistischegroepnijmegen.nl", false }, { "anarka.org", true }, @@ -1545,7 +1525,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "anders.hamburg", true }, { "anderskp.dk", true }, { "andersonshatch.com", true }, - { "andiplusben.com", true }, { "andisadhdspot.com", true }, { "anditi.com", true }, { "andoms.fi", true }, @@ -1555,7 +1534,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "andrea-wirthensohn.at", true }, { "andreaboero.it", true }, { "andreamcnett.com", true }, - { "andreasanti.net", true }, { "andreaseracleous.com", true }, { "andreasfeusi.ch", true }, { "andreaskrasa.com", true }, @@ -1566,11 +1544,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "andrespaz.com", true }, { "andreundnina.de", true }, { "andrewdavidwong.com", true }, - { "andrewdaws.co", true }, - { "andrewdaws.info", true }, { "andrewdaws.io", true }, - { "andrewdaws.me", true }, - { "andrewdaws.tv", true }, { "andrewensley.com", true }, { "andrewhowden.com", true }, { "andrewimeson.com", true }, @@ -1579,13 +1553,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "andrewmichaud.me", true }, { "andrewpeng.net", true }, { "andrewprokos.com", true }, - { "andrewrdaws.com", true }, { "andrewrgoss.com", true }, { "andrewryno.com", true }, { "andrewsun.com", true }, { "andrewtebert.com", true }, { "andrewthelott.net", true }, - { "andrewvoce.com", true }, { "andrezadnik.com", true }, { "andro2id.com", true }, { "andro4all.com", true }, @@ -1608,7 +1580,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "andycrockett.io", true }, { "andymoore.info", true }, { "andyt.eu", true }, - { "andyuk.org", true }, { "andzia.art.pl", true }, { "anecuni-club.com", true }, { "anecuni-rec.com", true }, @@ -1657,6 +1628,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "anime1.top", true }, { "animeai.com", true }, { "animefluxxx.com", true }, + { "animesharp.com", true }, { "animorphsfanforum.com", true }, { "anipassion.com", true }, { "anita-mukorom.hu", true }, @@ -1680,7 +1652,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "annedaniels.co.uk", true }, { "annejan.com", true }, { "annemakeslovelycandles.co.uk", true }, - { "annetaan.fi", true }, { "annetta.com", true }, { "annettewindlin.ch", true }, { "annevankesteren.com", true }, @@ -1725,7 +1696,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ansichtssache.at", true }, { "ansogning-sg.dk", true }, { "anstaskforce.gov", true }, - { "answers-online.ru", true }, { "antama.eu", true }, { "antama.nl", true }, { "antarcti.co", true }, @@ -1747,7 +1717,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "antihype.space", true }, { "antikvariat.ru", true }, { "antiled.by", true }, - { "antimatiere.space", true }, { "antimine.me", true }, { "antipa.ch", true }, { "antipolygraph.org", true }, @@ -1758,7 +1727,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "antivirusprotection.reviews", true }, { "antocom.com", true }, { "antoinebetas.be", true }, - { "antoined.fr", true }, { "antoinedeschenes.com", true }, { "antoinemary.com", true }, { "antonchen.com", true }, @@ -1909,6 +1877,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "aptive.co.uk", true }, { "apu-board.de", true }, { "apv-ollon.ch", true }, + { "aqilacademy.com.au", true }, { "aqqrate.com", true }, { "aqsiq.net", true }, { "aqua-fitness-nacht.de", true }, @@ -1919,7 +1888,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "aquahomo.com", true }, { "aqualife.com.gr", true }, { "aqualifeprojects.com", true }, - { "aqualogy.de", true }, { "aquarium-supplement.net", true }, { "aquaron.com", true }, { "aquaselect.eu", true }, @@ -1948,6 +1916,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "araseifudousan.com", true }, { "arawaza.biz", true }, { "arawaza.com", false }, + { "arawaza.info", true }, { "araxis.com", true }, { "arbeitskreis-asyl-eningen.de", true }, { "arbeitslosenverwaltung.de", true }, @@ -1982,13 +1951,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "areallyneatwebsite.com", true }, { "areatrend.com", true }, { "arendburgers.nl", true }, - { "arenlor.com", true }, - { "arenlor.info", true }, - { "arenns.com", true }, { "arenzanaphotography.com", true }, { "ares-trading.de", false }, { "arethsu.se", true }, - { "areyouever.me", true }, { "arfad.ch", true }, { "arg.zone", true }, { "arganaderm.ch", true }, @@ -2018,7 +1983,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "arjunasdaughter.pub", true }, { "arjweb.co.uk", true }, { "arkacrao.org", true }, - { "arkadiyt.com", true }, { "arkaic.dyndns.org", true }, { "arkbyte.com", true }, { "arknodejs.com", true }, @@ -2038,7 +2002,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "armodec.com", true }, { "armstrongsengineering.com", true }, { "army24.cz", true }, - { "armyofbane.com", true }, { "armyprodej.cz", true }, { "arnaudb.net", true }, { "arnaudfeld.de", true }, @@ -2049,16 +2012,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "arnor.org", true }, { "arnoudraeven.nl", true }, { "arnoudvandalen.nl", true }, - { "arod.tk", true }, { "arokha.com", true }, - { "aroonchande.com", true }, + { "aroonchande.com", false }, { "around-the-blog.com", true }, { "arox.eu", true }, - { "arpr.co", true }, { "arqueo-ecuatoriana.ec", true }, { "arquitetura.pt", true }, { "arrakis.se", true }, - { "arresttracker.com", true }, { "arrive.by", true }, { "arrivedconsulting.com", true }, { "arrmaforum.com", true }, @@ -2074,7 +2034,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "artdeco-photo.com", true }, { "artea.ga", true }, { "arteaga.me", true }, - { "artegusto.ru", true }, { "artemicroway.com.br", true }, { "artemis.re", true }, { "arterienundvenen.ch", true }, @@ -2087,14 +2046,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "arthur.cn", true }, { "arthurlaw.ca", true }, { "arthurmelo.com", false }, - { "articaexports.com", true }, { "artik.cloud", true }, { "artimpact.ch", true }, { "artioml.net", true }, { "artionet.ch", true }, { "artisans-libres.com", true }, { "artisphere.ch", true }, - { "artisticedgegranite.net", true }, { "artlantis.nl", true }, { "artleading.ru", true }, { "artlego.com", true }, @@ -2148,12 +2105,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "asec01.net", true }, { "aseith.com", true }, { "asepms.com", true }, + { "aserver.co", true }, { "asgapps.co.za", true }, { "asge-handel.de", true }, { "ashleakunowski.com", true }, - { "ashleyadum.com", true }, { "ashleyfoley.photography", true }, - { "ashleymedway.com", true }, { "ashmportfolio.com", true }, { "ashutoshmishra.org", true }, { "asia-gazette.com", true }, @@ -2201,7 +2157,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "assetsupervision.com", true }, { "assetvault.co.za", true }, { "assguidesporrentruy.ch", true }, - { "assindia.nl", true }, { "assistance-personnes-agees.ch", true }, { "assistcart.com", true }, { "assistenzamicroonde.org", true }, @@ -2217,7 +2172,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "astenretail.com", true }, { "astraalivankila.net", true }, { "astrath.net", true }, - { "astrea-voetbal-groningen.nl", true }, { "astronomie-fulda.de", true }, { "astroscopy.ch", true }, { "astrosnail.pt.eu.org", true }, @@ -2268,7 +2222,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "athena-garage.co.uk", true }, { "atheoryofchange.com", true }, { "athlin.de", true }, - { "atigerseye.com", true }, { "atishchenko.com", true }, { "atisoft.biz", true }, { "atisoft.com.tr", true }, @@ -2323,6 +2276,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "attorney.org.il", true }, { "attwood.org", true }, { "atulhost.com", true }, + { "atviras.lt", false }, { "atwonline.org", true }, { "atypicom.es", true }, { "atypicom.fr", true }, @@ -2422,9 +2376,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "autoparts.wf", true }, { "autos-retro-plaisir.com", true }, { "autoscuola.roma.it", true }, - { "autosearch.me", true }, { "autoshinka72.ru", true }, - { "autosiero.nl", true }, { "autoskola.hr", true }, { "autoskole.hr", true }, { "autostodulky.cz", true }, @@ -2461,12 +2413,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "aventurische-allianz.de", true }, { "avenueeyecare.com", true }, { "averageinspired.com", true }, + { "averam.net", true }, { "averen.co.uk", true }, { "avg.club", true }, { "avi9526.pp.ua", true }, { "aviationstrategy.aero", true }, { "avid.blue", true }, - { "avidcruiser.com", true }, { "aviv.nyc", true }, { "avmemo.com", true }, { "avmo.pw", true }, @@ -2487,10 +2439,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "avvcorda.com", true }, { "avxo.pw", true }, { "awaremi-tai.com", true }, - { "awaro.net", true }, + { "awaro.net", false }, { "awbouncycastlehire.com", true }, - { "awccanadianpharmacy.com", false }, + { "awccanadianpharmacy.com", true }, { "awei.pub", true }, + { "awen.me", true }, { "awesomebouncycastles.co.uk", true }, { "awin.la", true }, { "awk.tw", true }, @@ -2532,9 +2485,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "az-vinyl-boden.de", true }, { "az.search.yahoo.com", false }, { "azabani.com", true }, - { "azamra.com", true }, { "azia.info", true }, { "azimut.fr", true }, + { "azino777.ru", true }, { "azlk-team.ru", true }, { "azort.com", true }, { "azrazalea.net", true }, @@ -2617,7 +2570,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "baer.one", false }, { "baffinlee.com", true }, { "bag.bg", true }, - { "bageez.us", true }, { "bagelsbakery.com", false }, { "bageluncle.com", true }, { "baggy.me.uk", true }, @@ -2631,7 +2583,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "baifubao.com", true }, { "baiker.info", true }, { "bailakomigo.com.br", true }, - { "bailbondsaffordable.com", true }, { "baildonbouncycastles.co.uk", true }, { "baildonhottubs.co.uk", true }, { "baileebee.com", true }, @@ -2641,7 +2592,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "baka.org.cn", true }, { "bakabt.info", true }, { "bakaproxy.moe", true }, - { "bakaweb.fr", true }, { "bakersafari.co", true }, { "bakibal.com", true }, { "bakim.li", true }, @@ -2705,7 +2655,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "banoviny.sk", true }, { "banri.me", true }, { "banxehoi.com", true }, - { "baobeiglass.com", true }, { "baofengtech.com", true }, { "baosuckhoedoisong.net", true }, { "baptistboard.com", true }, @@ -2749,6 +2698,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "barsil.de", true }, { "barslecht.com", true }, { "barslecht.nl", true }, + { "barss.io", true }, { "barta.me", true }, { "bartel.ws", true }, { "bartelt.name", true }, @@ -2788,7 +2738,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "basyspro.net", true }, { "bat909.com", true }, { "batcave.tech", true }, - { "batfoundry.com", true }, { "bati-alu.fr", true }, { "batiburrillo.net", true }, { "batipresta.ch", true }, @@ -2837,11 +2786,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bbcastles.com", true }, { "bbgeschenke.ch", true }, { "bbimarketing.com", true }, - { "bbka.org.uk", true }, { "bbkworldwide.jp", true }, { "bblove.me", true }, { "bblsa.ch", true }, - { "bbnx.net", true }, { "bbw-wrestling.com", true }, { "bbw.dating", true }, { "bbwcs.co.uk", true }, @@ -2871,7 +2818,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bdenzer.com", true }, { "bdenzer.xyz", true }, { "bdikaros-network.net", true }, - { "bdsmxxxpics.com", true }, { "be-ka-tec.de", true }, { "be-webdesign.com", true }, { "be.search.yahoo.com", false }, @@ -2879,7 +2825,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "beacinsight.com", true }, { "beadare.com", true }, { "beagreenbean.co.uk", true }, - { "beamitapp.com", true }, { "beanjuice.me", true }, { "beans-one.com", false }, { "beanworks.ca", true }, @@ -2901,7 +2846,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bebetrotteur.com", true }, { "beccajoshwedding.com", true }, { "beckenhamcastles.co.uk", true }, - { "beckerantiques.com", true }, + { "beckerantiques.com", false }, { "becoast.fr", true }, { "becs.ch", true }, { "becubed.co", true }, @@ -2932,6 +2877,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "beekeeping.clothing", true }, { "beekeeping.tools", true }, { "beeksnetwork.nl", true }, + { "beelen.fr", true }, { "beercandle.com", true }, { "beergazetteer.com", true }, { "beerians.com", true }, @@ -2991,10 +2937,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "belloy.net", true }, { "belly-button-piercings.com", true }, { "belmontgoessolar.org", true }, - { "belpbleibtbelp.ch", true }, { "belt.black", true }, + { "belua.com", true }, { "belvoirbouncycastles.co.uk", true }, - { "belwederczykow.eu", true }, { "bely-mishka.by", true }, { "belyvly.com", true }, { "bemsoft.pl", true }, @@ -3069,6 +3014,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "berlin-kohlefrei.de", true }, { "berlin.dating", true }, { "bermeitinger.eu", true }, + { "berna.fr", true }, { "bernadetteanderes.ch", true }, { "bernardcontainers.be", true }, { "bernardfischer.fr", true }, @@ -3104,8 +3050,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "besb66.us", true }, { "beschriftung-metz.de", true }, { "beserberg.tk", true }, - { "beslider.com", true }, - { "besnik.de", false }, { "bespokestraps.com", true }, { "best-of-bounce.co.uk", true }, { "best-wallpaper.net", true }, @@ -3116,16 +3060,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bestbrakes.com", true }, { "bestbridal.top", true }, { "bestbyte.com.br", true }, - { "bestellipticalmachinereview.info", true }, { "bestessaycheap.com", true }, { "bestessayhelp.com", true }, - { "bestfitnesswatchreview.info", true }, { "bestgiftever.ca", true }, { "bestgifts4you.com", true }, { "bestlashesandbrows.com", true }, { "bestlashesandbrows.hu", true }, { "bestleftwild.com", true }, - { "bestmodels.su", true }, { "bestmotherfucking.website", true }, { "bestoliveoils.com", true }, { "bestpartyhire.com", true }, @@ -3154,7 +3095,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "betterbabyshop.com.au", true }, { "bettercrypto.org", true }, { "betterhelp.com", true }, - { "betterlifemakers.com", true }, { "betterna.me", true }, { "betterscience.org", true }, { "bettertest.it", true }, @@ -3229,7 +3169,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "biaoqingfuhao.org", true }, { "biasmath.es", true }, { "biathloncup.ru", true }, - { "bible-maroc.com", true }, { "bible.ru", true }, { "bibleonline.ru", true }, { "bibliaon.com", true }, @@ -3279,7 +3218,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "biilo.com", true }, { "bijoux.com.br", true }, { "bijouxbrasil.com.br", true }, - { "bijugeral.com.br", true }, { "bijuteriicualint.ro", true }, { "bike-discount.de", true }, { "bike-kurse.ch", true }, @@ -3298,6 +3236,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bilbayt.com", true }, { "bilder-designs.de", true }, { "bildermachr.de", true }, + { "bildschirmflackern.de", true }, { "biletru.net", true }, { "bilgo.com", true }, { "bilimoe.com", true }, @@ -3324,7 +3263,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bimmerlabs.com", true }, { "bin95.com", true }, { "bina.az", true }, - { "binam.center", true }, { "binarization.com", true }, { "binaryabstraction.com", true }, { "binaryapparatus.com", true }, @@ -3340,7 +3278,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bingostars.com", true }, { "binhex.net", true }, { "binkconsulting.be", true }, - { "binsp.net", true }, { "binti.com", true }, { "bio-disinfestazione.it", true }, { "biobuttons.ch", true }, @@ -3409,8 +3346,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bitbucket.io", true }, { "bitbucket.org", true }, { "bitburner.de", true }, - { "bitcoin-class.com", true }, - { "bitcoin-daijin.com", true }, { "bitcoin-india.net", true }, { "bitcoin-india.org", true }, { "bitcoin.asia", true }, @@ -3428,7 +3363,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bitcoinec.info", true }, { "bitcoinhk.org", true }, { "bitcoinindia.com", true }, - { "bitcoinjpn.com", true }, { "bitcoinkarlsruhe.de", true }, { "bitcoinrealestate.com.au", true }, { "bitcointhefts.com", true }, @@ -3444,7 +3378,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bitgo.com", true }, { "bititrain.com", true }, { "bitmain.com.ua", true }, - { "bitmaincare.ru", true }, { "bitmainwarranty.com", true }, { "bitmainwarranty.com.ua", true }, { "bitmainwarranty.ru", true }, @@ -3559,13 +3492,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "blackpapermoon.de", true }, { "blackphantom.de", true }, { "blackphoenix.de", true }, + { "blackscytheconsulting.com", true }, { "blackseals.net", true }, { "blackys-chamber.de", true }, { "blaise.io", true }, { "blakecoin.org", true }, + { "blameomar.com", true }, { "blancodent.com", true }, { "blankersfamily.com", true }, - { "blantik.net", true }, { "blarg.co", true }, { "blastentertainment.com.au", true }, { "blastersklan.com", true }, @@ -3574,8 +3508,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "blauerhunger.de", true }, { "blayne.me", true }, { "blayneallan.com", true }, - { "blazeit.io", true }, - { "blazor.nl", true }, { "bleaching-tipps.de", true }, { "bleche-onlineshop.de", true }, { "blechinger.io", true }, @@ -3594,7 +3526,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "blichmann.eu", true }, { "blidz.com", true }, { "blieque.co.uk", true }, - { "blindaryproduction.tk", true }, + { "blikund.swedbank.se", true }, { "blingsparkleshine.com", true }, { "blink-security.com", true }, { "blinking.link", true }, @@ -3640,7 +3572,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "blogpentrusuflet.ro", true }, { "blogreen.org", true }, { "blogtroterzy.pl", true }, - { "blokuhaka.fr", true }, { "bloodsports.org", true }, { "bloodyexcellent.com", true }, { "bloom-avenue.com", true }, @@ -3660,13 +3591,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "blued.moe", true }, { "bluefinger.nl", true }, { "blueflare.org", true }, + { "bluefuzz.nl", true }, { "blueimp.net", true }, { "blueliquiddesigns.com.au", true }, { "bluemeda.web.id", true }, { "bluemoonroleplaying.com", true }, { "bluemosh.com", true }, { "bluenote9.com", true }, - { "bluepearl.tk", true }, { "blueperil.de", true }, { "bluepoint.foundation", true }, { "bluepoint.institute", true }, @@ -3679,6 +3610,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bluex.net", true }, { "bluex.org", true }, { "blueyed.eu", true }, + { "bluezonehealth.co.uk", true }, { "blumen-binder.ch", true }, { "blumenfeldart.com", true }, { "blumenwiese.xyz", true }, @@ -3737,7 +3669,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bogdanepureanu.ro", true }, { "bogner.sh", true }, { "bogobeats.com", true }, - { "bohaishibei.com", true }, { "bohan.co", true }, { "bohyn.cz", true }, { "boilesen.com", true }, @@ -3745,6 +3676,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "boincstats.com", true }, { "boiseonlinemall.com", true }, { "boisewaldorf.org", true }, + { "bokeyy.com", true }, { "boldmediagroup.com", true }, { "boldt-metallbau.de", true }, { "bolektro.de", true }, @@ -3768,8 +3700,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bondoer.fr", true }, { "bondpro.gov", true }, { "bondskampeerder.nl", true }, + { "bonesserver.com", true }, { "bonfi.net", true }, { "bonifacius.be", true }, + { "bonigo.de", true }, { "bonita.com.br", true }, { "bonnant-associes.ch", true }, { "bonnant-partners.ch", true }, @@ -3787,7 +3721,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "boobox.xyz", true }, { "boodaah.com", true }, { "boodmo.com", true }, - { "boof.com", false }, { "boogiebouncecastles.co.uk", true }, { "book-in-hotel.com", true }, { "bookingapp.be", true }, @@ -3799,7 +3732,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bookmein.in", true }, { "bookourdjs.com", true }, { "bookreport.ga", true }, - { "bookshopofindia.com", true }, { "booktracker-org.appspot.com", true }, { "bookwitty.social", true }, { "bool.be", true }, @@ -3820,13 +3752,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "boosinflatablegames.co.uk", true }, { "booter.es", true }, { "booter.pw", true }, - { "bootikexpress.fr", true }, { "bootjp.me", false }, - { "boozinyan.com", true }, { "bopera.co.uk", true }, { "bopp.org", true }, { "borahan.net", true }, - { "borchers-media.de", true }, { "borg.cloud", true }, { "boringsmith.com", true }, { "borisavstankovic.rs", true }, @@ -3840,7 +3769,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "borrelpartybus.nl", true }, { "borysek.net", true }, { "borzoi.com.br", true }, - { "bosabosa.org", true }, { "boscoyacht.ch", true }, { "boss.az", true }, { "bostadsportal.se", true }, @@ -3850,7 +3778,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "botlab.ch", true }, { "botmanager.pl", true }, { "botserver.de", true }, - { "botstack.host", true }, { "bottaerisposta.net", true }, { "bottineauneighborhood.org", true }, { "bottke.berlin", true }, @@ -3996,7 +3923,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bowedwallcrackrepair.com", true }, { "boweryandvine.com", true }, { "bowling.com", true }, - { "bowlsheet.com", true }, + { "bowlsheet.com", false }, { "bownty.be", true }, { "bownty.co.uk", true }, { "bownty.de", true }, @@ -4065,7 +3992,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bran.land", true }, { "bran.soy", true }, { "branch-bookkeeper.com", true }, - { "branchzero.com", true }, { "brandbil.dk", true }, { "brandbuilderwebsites.com", true }, { "brandcodeconsulting.com", true }, @@ -4097,6 +4023,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "brave-foods.ch", true }, { "brave-foods.com", true }, { "brave.com", true }, + { "bravehearts.org.au", true }, { "braviskindenjeugd.nl", true }, { "bravisziekenhuis.nl", true }, { "brazilian.dating", true }, @@ -4107,7 +4034,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "breadandlife.org", true }, { "breakingtech.it", true }, { "breathedreamgo.com", true }, - { "breathingblanket.com", true }, { "brecht.ch", true }, { "breckle.com.ua", true }, { "brecknell.biz", true }, @@ -4134,6 +4060,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "brentnewbury.com", true }, { "bressier.fr", true }, { "bretcarmichael.com", true }, + { "brettabel.com", true }, { "brettcornwall.com", true }, { "brettelliff.com", true }, { "bretz-hufer.de", true }, @@ -4146,10 +4073,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "brianalaway.com", true }, { "brianalawayconsulting.com", true }, { "brianfoshee.com", true }, - { "briangarcia.ga", true }, { "brianlanders.us", true }, { "brianmwaters.net", true }, - { "brianpcurran.com", true }, { "brianroadifer.com", true }, { "briansmith.org", true }, { "briantkatch.com", true }, @@ -4172,9 +4097,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "brightfuturemadebyme.com", true }, { "brightonbank.com", true }, { "brightonbouncycastles.net", true }, - { "brightstarkids.co.uk", false }, - { "brightstarkids.net", false }, - { "brightstarkids.sg", false }, { "brigidaarie.com", true }, { "brilliantbouncyfun.co.uk", true }, { "brilliantdecisionmaking.com", true }, @@ -4213,7 +4135,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "brompton-cocktail.com", true }, { "bronetb2b.com.br", true }, { "bronevichok.ru", true }, - { "bronwynlewis.com", true }, + { "bronwynlewis.com", false }, { "brooke-fan.com", true }, { "brookehatton.com", true }, { "brooklynrealestateblog.com", true }, @@ -4238,8 +4160,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bruun.co", true }, { "bryankaplan.com", true }, { "bryanquigley.com", true }, - { "bryanshearer.accountant", true }, - { "brynnan.nl", true }, { "bs-network.net", true }, { "bs-security.com", true }, { "bs.sb", true }, @@ -4255,8 +4175,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bsidesf.com", true }, { "bsidesf.org", true }, { "bsidessf.com", true }, - { "bsklabels.com", false }, - { "bslim-e-boutique.com", true }, { "bsociabl.com", true }, { "bsohoekvanholland.nl", true }, { "bsquared.org", true }, @@ -4269,7 +4187,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "btcgo.nl", true }, { "btcontract.com", true }, { "btcpop.co", true }, - { "btcpot.ltd", true }, { "btcycle.org", true }, { "btio.pw", true }, { "btku.org", true }, @@ -4282,7 +4199,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "btth.pl", true }, { "btth.tv", true }, { "btth.xyz", true }, - { "btxiaobai.com", true }, { "bubba.cc", true }, { "bubblegumblog.com", true }, { "bubblespetspa.com", true }, @@ -4320,7 +4236,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "buffhack.com", false }, { "bug.blue", true }, { "bugcrowd.com", true }, - { "bugginslab.co.uk", true }, { "bugs.chromium.org", true }, { "bugtrack.co.uk", true }, { "bugwie.com", true }, @@ -4341,21 +4256,22 @@ static const nsSTSPreload kSTSPreloadList[] = { { "buka.jp", true }, { "bukkenfan.jp", true }, { "bul3seas.eu", true }, + { "bulario.com", true }, + { "bulbcompare.com", true }, { "bulbgenie.com", true }, { "buldogueingles.com.br", true }, { "bulkcandystore.com", true }, { "bulkingtime.com", true }, { "bulktrade.de", true }, { "bulkwholesalesweets.co.uk", true }, - { "bullbits.com", true }, { "bulldog-hosting.de", true }, { "bulldoghire.co.uk", true }, { "bulledair-savons.ch", true }, - { "bulletbabu.com", false }, { "bullettags.com", true }, { "bullterrier.nu", true }, { "bulmastife.com.br", true }, { "bulwarkhost.com", true }, + { "bumshow.ru", true }, { "bunadarbankinn.is", true }, { "bunbun.be", false }, { "bund-von-theramore.de", true }, @@ -4367,7 +4283,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bunzy.ca", true }, { "buonventosbt.eu", true }, { "bupropion.com", true }, - { "bupu.ml", true }, { "burcevo.info", true }, { "burckardtnet.de", true }, { "burgers.io", true }, @@ -4402,11 +4317,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "businesscentermarin.ch", true }, { "businessesdirectory.eu", true }, { "businessetmarketing.com", true }, - { "businesshub.cz", true }, { "businessimmigration-eu.com", true }, { "businessimmigration-eu.ru", true }, { "bustadice.com", true }, - { "bustimes.org.uk", true }, + { "bustimes.org", true }, { "bustup-tips.com", true }, { "butarque.es", true }, { "buthowdoyoubuygroceries.com", true }, @@ -4428,7 +4342,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "buyessayscheap.com", true }, { "buyharpoon.com", true }, { "buyinginvestmentproperty.com", true }, - { "buyingsellingflorida.com", true }, { "buymindhack.com", true }, { "buypapercheap.net", true }, { "buyseo.store", true }, @@ -4444,6 +4357,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bw.codes", true }, { "bwcscorecard.org", true }, { "bwh1.net", true }, + { "bwilkinson.co.uk", true }, { "bws16.de", true }, { "bwwb.nu", true }, { "bx-n.de", true }, @@ -4457,12 +4371,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "byeskille.no", true }, { "bygningsregistrering.dk", true }, { "byiu.info", true }, - { "byji.com", true }, { "byken.cn", true }, { "bymark.co", true }, { "bymike.co", true }, { "bynder.com", true }, - { "bynet.cz", true }, { "bypass.sh", true }, { "byrko.cz", true }, { "byrko.sk", true }, @@ -4480,7 +4392,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bytes.fyi", true }, { "bytesatwork.de", true }, { "byteshark.org", true }, - { "byteshift.ca", true }, { "bytesizedalex.com", true }, { "bytesofcode.de", true }, { "bytesunlimited.com", true }, @@ -4501,7 +4412,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "c-world.co.uk", true }, { "c.cc", true }, { "c2design.it", true }, - { "c2lab.net", true }, { "c2o-library.net", true }, { "c2o2.xyz", true }, { "c3ie.com", true }, @@ -4518,6 +4428,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ca5.de", true }, { "caasd.org", true }, { "cabaladada.org", true }, + { "cabarave.com", true }, { "cabforum.org", true }, { "cablemod.com", true }, { "cablesandkits.com", true }, @@ -4545,7 +4456,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cafelandia.net", true }, { "cafeobscura.nl", true }, { "caferagazzi.de", true }, - { "cafesg.net", true }, { "caffeinatedcode.com", true }, { "cainhosting.com", false }, { "cairnterrier.com.br", true }, @@ -4578,7 +4488,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "calibso.net", true }, { "caliderumba.com", true }, { "calidoinvierno.com", true }, + { "calixte-concept.fr", true }, + { "call.me", true }, { "callear.org", true }, + { "calleveryday.com", true }, { "callhub.io", true }, { "callision.com", true }, { "calltoar.ms", true }, @@ -4598,7 +4511,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cambodian.dating", true }, { "cambridgebouncers.co.uk", true }, { "camconn.cc", true }, - { "camda.online", true }, { "camel2243.com", true }, { "cameraviva.com.br", true }, { "camerweb.es", true }, @@ -4671,6 +4583,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "capachitos.cl", true }, { "capacitacionyautoempleo.com", true }, { "capekeen.com", true }, + { "capellidipremoli.com", true }, { "caphane.com", true }, { "capimlimaoflores.com.br", true }, { "capitainebaggy.ch", true }, @@ -4688,14 +4601,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "capper.de", true }, { "capriccio.to", true }, { "caprichosdevicky.com", true }, - { "caps.is", true }, { "capstansecurity.co.uk", true }, { "capstansecurity.com", true }, { "captalize.com", true }, { "capturapp.com", false }, { "capture-app.com", true }, { "captured-symphonies.com", true }, - { "capturethepen.co.uk", true }, { "capuchinox.com", true }, { "caputo.com", true }, { "caputodesign.com", true }, @@ -4711,7 +4622,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "carbon-designz.com", true }, { "carbon12.org", true }, { "carbon12.software", true }, - { "carboneselectricosnettosl.info", true }, { "carbonmade.com", false }, { "carbono.uy", true }, { "carck.co.uk", true }, @@ -4726,7 +4636,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cardelmar.es", true }, { "cardranking.jp", true }, { "cardrecovery.fr", true }, - { "cardse.net", true }, { "cardxl.be", true }, { "cardxl.de", true }, { "cardxl.fr", true }, @@ -4742,6 +4651,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "carey.li", true }, { "careyshop.cn", true }, { "carezone.com", false }, + { "cargobay.net", true }, { "caribbean.dating", true }, { "caribbeanarthritisfoundation.org", true }, { "caribbeanexams.com", true }, @@ -4757,8 +4667,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "carlili.fr", true }, { "carlingfordapartments.com.au", true }, { "carlmjohnson.net", true }, + { "carloshmm.com", true }, { "carlosjeurissen.com", true }, - { "carlovanwyk.com", true }, { "carlsbouncycastlesandhottubs.co.uk", true }, { "carnaticalifornia.com", true }, { "carnet-du-voyageur.com", true }, @@ -4805,7 +4715,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "casamariposaspi.com", true }, { "casamorelli.com.br", true }, { "casapalla.com.br", true }, - { "casashopp.com.br", true }, { "casasuara.com", true }, { "casasuleletrodomesticos.com.br", true }, { "casbia.info", true }, @@ -4822,6 +4731,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cashlogic.ch", true }, { "cashmaxtexas.com", true }, { "cashplk.com", true }, + { "casinolegal.pt", true }, { "casinolistings.com", true }, { "casjay.cloud", true }, { "casjay.us", true }, @@ -4870,7 +4780,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "catmoose.ca", true }, { "catnet.dk", false }, { "catnmeow.com", true }, - { "catsmagic.pp.ua", true }, { "cattivo.nl", false }, { "catuniverse.org", true }, { "catveteran.com", true }, @@ -4883,7 +4792,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cavac.at", true }, { "cavalierkingcharlesspaniel.com.br", true }, { "cave-reynard.ch", true }, - { "cavern.tv", true }, { "cavevinsdefrance.fr", true }, { "cavzodiaco.com.br", true }, { "caylercapital.com", true }, @@ -4929,7 +4837,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cdmon.tech", true }, { "cdn6.de", true }, { "cdnjs.com", true }, - { "cdnk39.com", true }, { "cdns.cloud", true }, { "cdu-wilgersdorf.de", true }, { "ce-pimkie.fr", true }, @@ -4952,7 +4859,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "celltek-server.de", true }, { "celti.ie.eu.org", true }, { "celti.name", true }, - { "celuliteonline.com", true }, { "cementscience.com", true }, { "ceml.ch", true }, { "cenatorium.pl", true }, @@ -4970,7 +4876,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "central4.me", true }, { "centralcountiesservices.org", true }, { "centralfor.me", true }, - { "centrallead.net", true }, { "centralstatecu.org", true }, { "centralvoice.org", true }, { "centrationgame.com", true }, @@ -5050,7 +4955,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "chabaudparfum.com", true }, { "chabert-provence.fr", true }, { "chad.ch", true }, - { "chadklass.com", false }, { "chadstoneapartments.com.au", true }, { "chaifeng.com", true }, { "chainedunion.info", true }, @@ -5076,7 +4980,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "champions.co", true }, { "championweb.com.au", true }, { "champonthis.de", true }, - { "champserver.net", true }, + { "chancat.blog", false }, { "chandr1000.ga", true }, { "changecopyright.ru", true }, { "changesfor.life", true }, @@ -5084,7 +4988,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "chanissue.com", false }, { "channeladam.com", true }, { "channelcards.com", true }, - { "channellife.asia", true }, { "channellife.co.nz", true }, { "channellife.com.au", true }, { "channyc.com", true }, @@ -5096,6 +4999,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "chaoscastles.co.uk", true }, { "chaoschemnitz.de", true }, { "chaosdorf.de", true }, + { "chaosfield.at", true }, { "chaoslab.org", true }, { "chaospott.de", true }, { "chaotichive.com", true }, @@ -5104,12 +5008,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "chapiteauxduleman.fr", true }, { "chaplain.co", true }, { "charakato.com", true }, - { "charbonnel.eu", true }, { "charcoalvenice.com", true }, { "charge.co", true }, { "charitylog.co.uk", true }, { "charl.eu", true }, - { "charlenevondell.com", true }, { "charles-darwin.com", true }, { "charlesbwise.com", true }, { "charlesjay.com", true }, @@ -5223,7 +5125,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cheltenhambounce.co.uk", true }, { "cheltenhambouncycastles.co.uk", true }, { "cheltik.ru", true }, - { "chemicalguys-ruhrpott.de", true }, { "chenapartment.com", true }, { "chengl.com", true }, { "chengtongled.com", true }, @@ -5283,12 +5184,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "chint.ai", true }, { "chinwag.im", true }, { "chipcore.com", true }, - { "chiphell.com", true }, { "chippy.ch", false }, { "chiralsoftware.com", true }, { "chireiden.net", true }, { "chiro-neuchatel.ch", true }, - { "chiropracticwpb.com", true }, { "chiropraticien-neuchatel.ch", true }, { "chiropratique-neuchatel.ch", true }, { "chirosphere.ch", true }, @@ -5297,7 +5196,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "chisago-isantidfl.com", true }, { "chit.search.yahoo.com", false }, { "chksite.com", true }, - { "chloe.re", true }, { "chloeallison.co.uk", true }, { "chloehorler.com", true }, { "chloescastles.co.uk", true }, @@ -5402,7 +5300,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "chronoshop.cz", true }, { "chrpaul.de", true }, { "chrstn.eu", true }, - { "chs.us", true }, { "chsh.moe", true }, { "chsterz.de", true }, { "chua.family", true }, @@ -5419,7 +5316,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "chxdf.net", true }, { "chytraauta.cz", true }, { "ci-fo.org", true }, - { "ci-labo.com.tw", true }, { "ci5.me", true }, { "ciancode.com", true }, { "cianmawhinney.me", true }, @@ -5432,7 +5328,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cie-theatre-montfaucon.ch", true }, { "cielbleu.org", true }, { "cielly.com", true }, - { "cienbeaute-lidl.fr", true }, { "cifop-numerique.fr", true }, { "cig-dem.com", true }, { "cigar-cartel.com", true }, @@ -5446,8 +5341,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cine.to", true }, { "cinefilia.tk", true }, { "cinefilzonen.se", true }, - { "cinema5.ru", true }, + { "cinema5.ru", false }, { "cinemaclub.co", true }, + { "cinemysticism.com", true }, { "ciner.is", true }, { "cinerama.com.br", true }, { "cinnabon.com", true }, @@ -5469,7 +5365,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cipri.com", true }, { "cir.is", true }, { "cira.email", true }, - { "circ-logic.com", true }, { "circara.com", true }, { "circlebox.rocks", true }, { "circu.ml", true }, @@ -5482,7 +5377,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cirujanooral.com", true }, { "cirurgicagervasio.com.br", true }, { "cirurgicalucena.com.br", true }, - { "ciscodude.net", false }, + { "ciscodude.net", true }, { "cisoaid.com", true }, { "ciss.ltd", true }, { "cisy.me", true }, @@ -5505,7 +5400,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cityoftitans.com", true }, { "cityoftitansmmo.com", true }, { "citysportapp.com", true }, - { "citywalkr.com", true }, { "cityworksonline.com", true }, { "ciubotaru.tk", true }, { "ciuciucadou.ro", true }, @@ -5514,9 +5408,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "civillines.nl", true }, { "cj-espace-vert.fr", true }, { "cj-jackson.com", true }, + { "cjdpenterprises.com", true }, + { "cjdpenterprises.com.au", true }, { "cjessett.com", true }, { "cjey.me", true }, - { "cjr.host", true }, { "ck.cx", true }, { "ckcameron.net", true }, { "ckennelly.com", true }, @@ -5547,7 +5442,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "classdojo.com", true }, { "classicalpilates.ca", true }, { "classics.io", true }, - { "classicshop.ua", true }, { "classpoint.cz", true }, { "classteaching.com.au", true }, { "claster.it", true }, @@ -5606,11 +5500,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "clinicaltrials.gov", true }, { "cliniko.com", true }, { "cliniquevethuy.be", true }, - { "clintonbloodworth.com", true }, { "clintonlibrary.gov", true }, { "clintonplasticsurgery.com", true }, { "clip.mx", false }, - { "clip.ovh", true }, { "clipclip.com", true }, { "clmde.de", true }, { "clnet.com.au", true }, @@ -5631,7 +5523,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "closetemail.com", true }, { "closingholding.com", true }, { "cloturea.fr", true }, - { "cloud-crowd.com.au", true }, { "cloud-surfer.net", true }, { "cloud.bugatti", true }, { "cloud.fail", true }, @@ -5648,7 +5539,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cloudcloudcloud.cloud", true }, { "cloudflare.com", true }, { "cloudflareonazure.com", true }, - { "cloudfren.com", true }, { "cloudia.org", true }, { "cloudily.com", true }, { "cloudkit.pro", true }, @@ -5717,7 +5607,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cmngroupe.com", true }, { "cmplainpalais.ch", true }, { "cmpr.es", true }, - { "cms-weble.jp", true }, { "cmskeyholding.co.uk", true }, { "cmskeyholding.com", true }, { "cmskh.co.uk", true }, @@ -5735,7 +5624,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cnetw.xyz", true }, { "cni-certing.it", true }, { "cnrd.me", true }, - { "cnwarn.com", true }, { "co-factor.ro", true }, { "co.search.yahoo.com", false }, { "co50.com", true }, @@ -5749,7 +5637,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "coatl-industries.com", true }, { "cobalt.io", true }, { "cobaltgp.com", true }, - { "cobaltlp.com", true }, { "cobracastles.co.uk", true }, { "cocaine-import.agency", true }, { "cocaine.ninja", true }, @@ -5773,7 +5660,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "coda.today", true }, { "coda.world", true }, { "code-golf.io", true }, - { "code-judge.tk", true }, { "code-poets.co.uk", true }, { "code-well.com", true }, { "code.facebook.com", false }, @@ -5814,7 +5700,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "codeventure.de", true }, { "codeversetech.com", true }, { "codewild.de", true }, - { "codewiz.xyz", true }, { "codeyellow.nl", true }, { "codific.eu", true }, { "coding.lv", true }, @@ -5824,6 +5709,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "codingrobots.com", true }, { "codxg.org", true }, { "codyevanscomputer.com", true }, + { "codymoniz.com", true }, { "coffee-mamenoki.jp", true }, { "coffeedino.com", true }, { "coffeetocode.me", true }, @@ -5832,7 +5718,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cogilog.com", true }, { "cogitoltd.com", true }, { "cognitivecomputingconsortium.com", true }, - { "cogumelosmagicos.org", true }, { "coi-verify.com", true }, { "coiffeurschnittstelle.ch", true }, { "coigach-assynt.org", true }, @@ -5861,6 +5746,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "colapsys.net", true }, { "colarelli.ch", true }, { "coldawn.com", true }, + { "coldfff.com", false }, { "coldhak.ca", true }, { "coldwatericecream.com", true }, { "colegiocierp.com.br", true }, @@ -5896,7 +5782,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "collinelhossari.com", true }, { "collinghammethodist.org.uk", true }, { "collinmbarrett.com", true }, - { "collins.kg", true }, { "colo-tech.com", true }, { "colombian.dating", true }, { "coloppe.com", true }, @@ -5918,8 +5803,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "colyakootees.com", true }, { "com-in.de", true }, { "com.cc", true }, + { "comalia.com", true }, { "comarkinstruments.net", true }, - { "combatshield.cz", true }, { "combron.nl", true }, { "comchezmeme.com", true }, { "comcol.nl", true }, @@ -5937,7 +5822,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "comflores.com.br", true }, { "comfypc.com", true }, { "comhack.com", true }, - { "comico.info", true }, { "comicrelief.com", true }, { "comicspornos.com", true }, { "comicwiki.dk", true }, @@ -5946,7 +5830,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "comm.cx", true }, { "commania.co.kr", true }, { "commechezvous.ch", true }, - { "commerciallocker.com", false }, + { "commencepayments.com", true }, { "commitsandrebases.com", true }, { "common.io", true }, { "commoncode.com.au", true }, @@ -5969,7 +5853,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "compagnia-buffo.de", true }, { "compagniemartin.com", true }, { "comparatif-moto.fr", true }, - { "compareandrecycle.co.uk", false }, { "compareandrecycle.com", false }, { "compareinsurance.com.au", true }, { "comparesoft.com", true }, @@ -5982,6 +5865,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "compilenix.org", true }, { "completefloorcoverings.com", true }, { "completesecurityessex.co.uk", true }, + { "completesecurityessex.com", true }, { "completionist.me", true }, { "complex-organization.com", true }, { "complexart.ro", true }, @@ -6009,9 +5893,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "computernetwerkwestland.nl", true }, { "computerslotopschool.nl", true }, { "computersystems.guru", false }, + { "comssa.org.au", true }, { "comunidadmontepinar.es", true }, { "comw.cc", true }, - { "comyuno.com", true }, { "conalcorp.com", true }, { "conaudisa.com", false }, { "concept-web.ch", true }, @@ -6025,7 +5909,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "concursos.com.br", true }, { "concursosabertos.com.br", true }, { "condecom.com.br", true }, - { "condepenalba.com", true }, + { "condepenalba.com", false }, { "condesaelectronics.com", true }, { "condosforcash.com", true }, { "condroz-motors.be", true }, @@ -6037,7 +5921,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "confiwall.de", true }, { "conformax.com.br", true }, { "conformist.jp", true }, - { "confucio.cl", true }, { "confuddledpenguin.com", true }, { "cong5.net", true }, { "congineer.com", true }, @@ -6062,7 +5945,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "connyduck.at", true }, { "conpins.nl", true }, { "conrad-kostecki.de", true }, - { "conrad.am", true }, { "conradkostecki.de", true }, { "consciousbrand.co", true }, { "consejosdehogar.com", true }, @@ -6079,7 +5961,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "consonare.de", true }, { "constancechen.me", true }, { "constant-rough.de", true }, - { "construct-trust.com", true }, { "constructionjobs.com", true }, { "constructive.men", true }, { "consul.io", true }, @@ -6106,8 +5987,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "controlautocom.com.br", true }, { "controlbooth.com", true }, { "controle.net", true }, + { "controltickets.com.br", true }, + { "contxt-agentur.de", true }, { "conv2pdf.com", true }, - { "conve.eu", true }, { "convergemagazine.com", true }, { "convergence.fi", true }, { "convergnce.com", true }, @@ -6194,7 +6076,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "corpulentcoffee.com", true }, { "correiodovale.com.br", true }, { "corrupted.io", true }, - { "corsa-b.uk", true }, { "cortexitrecruitment.com", true }, { "cortis-consulting.ch", true }, { "cortisolsupplement.com", true }, @@ -6227,7 +6108,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cotta.dk", true }, { "cotwe-ge.ch", true }, { "cougar.dating", true }, - { "coumoul.fr", true }, { "counselling.network", true }, { "counstellor.com", true }, { "counter-team.ch", true }, @@ -6251,6 +6131,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "courses.nl", true }, { "courseworkbank.info", true }, { "courtlistener.com", true }, + { "cousincouples.com", true }, { "covbounce.co.uk", true }, { "cove.sh", true }, { "covenantoftheriver.org", true }, @@ -6285,10 +6166,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cr.search.yahoo.com", false }, { "crackcat.de", true }, { "cracker.in.th", true }, - { "crackingking.com", true }, { "crackle.io", true }, { "crackorsquad.in", true }, - { "crackslut.eu", true }, { "crackstation.net", true }, { "cradlepointecm.com", true }, { "craftandbuild.de", true }, @@ -6321,7 +6200,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "crazydomains.co.uk", true }, { "crazydomains.com.au", true }, { "crazydomains.in", true }, - { "crazyker.com", true }, { "crazymeeshu.com", true }, { "crazypaul.com", true }, { "crbug.com", true }, @@ -6337,7 +6215,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "createursdefilms.com", true }, { "creation-contemporaine.com", true }, { "creations-edita.com", true }, - { "creative-coder.de", true }, { "creativebites.de", true }, { "creativecaptiv.es", true }, { "creativecommons.cl", true }, @@ -6465,6 +6342,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cryptoparty.at", true }, { "cryptoparty.dk", true }, { "cryptopartyutah.org", true }, + { "cryptophobia.nl", false }, { "cryptorival.com", true }, { "cryptoseb.pw", true }, { "cryptoshot.pw", true }, @@ -6477,14 +6355,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "csacongress.org", true }, { "csbs.fr", true }, { "cscau.com", true }, - { "cselzer.com", false }, { "csengle.de", true }, { "csfd.cz", true }, { "csfloors.co.uk", true }, { "csfm.com", true }, { "csgo.help", true }, { "csgo.su", true }, - { "csgogamers.com", true }, + { "csgogamers.com", false }, { "csgohandouts.com", true }, { "csgotwister.com", true }, { "csharpmarc.net", true }, @@ -6503,7 +6380,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cssaunion.com", true }, { "cstb.ch", true }, { "cstp-marketing.com", true }, - { "csuw.net", true }, { "ct.search.yahoo.com", false }, { "cthomas.work", true }, { "ctliu.com", true }, @@ -6535,7 +6411,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cuckoopalace.cn", true }, { "cuddlecomfort.com", true }, { "cuddlingyaks.com", true }, - { "cuecamania.com.br", true }, { "cuecasonline.com.br", true }, { "cuentasmutualamr.org.ar", true }, { "cuetoems.com", true }, @@ -6549,12 +6424,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "culturedcode.com", true }, { "cultureroll.com", true }, { "cumparama.com", true }, - { "cunha.be", true }, { "cuni-cuni-club.com", true }, { "cuni-rec.com", true }, { "cuoc.org.uk", true }, { "cuongthach.com", true }, - { "cuonic.com", true }, { "cup.al", true }, { "cupcake.io", true }, { "cupcake.is", true }, @@ -6562,7 +6435,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cupom.net", true }, { "cuppycakes.fi", true }, { "curacao-firma.com", true }, - { "curacao-license.com", true }, { "curamail.co.uk", true }, { "curieux.digital", true }, { "curio-shiki.com", true }, @@ -6572,7 +6444,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "currency-strength.com", true }, { "current.com", true }, { "currentlystreaming.com", true }, - { "currentobserver.com", true }, { "currynissanmaparts.com", true }, { "cursos.com", true }, { "cursuri-de-actorie.ro", true }, @@ -6633,7 +6504,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cwrcoding.com", true }, { "cy.technology", true }, { "cybbh.space", true }, + { "cyber-konzept.de", true }, { "cyber-perikarp.eu", true }, + { "cyber.cafe", true }, { "cybercloud.cc", true }, { "cyberdos.de", true }, { "cyberduck.io", true }, @@ -6646,7 +6519,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cyberoptic.de", true }, { "cyberphaze.com", true }, { "cyberprey.com", true }, - { "cybersafesolutions.com", true }, { "cybersecurity.nz", true }, { "cybersecuritychallenge.be", true }, { "cybersins.com", true }, @@ -6655,7 +6527,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cyberspace.today", true }, { "cyberspect.com", true }, { "cyberspect.io", true }, - { "cyberstatus.de", true }, { "cybertorsk.org", true }, { "cybertu.be", true }, { "cyberwars.dk", true }, @@ -6697,13 +6568,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cyumus.com", true }, { "czakey.net", true }, { "czaw.org", true }, + { "czbix.com", true }, { "czc.cz", true }, { "czechamlp.com", true }, { "czechvirus.cz", true }, { "czerno.com", true }, { "czirnich.org", true }, { "czk.mk", true }, - { "czlx.co", false }, { "d-20.fr", true }, { "d-academia.com", true }, { "d-designerin.de", true }, @@ -6747,6 +6618,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "daevel.fr", true }, { "dag-hebergement.fr", true }, { "dag-konsult.com", true }, + { "dahlberg.cologne", true }, { "dai.top", true }, { "dailyblogged.com", true }, { "dailybunda.com", true }, @@ -6762,7 +6634,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "daiwai.de", false }, { "daiweihu.com", true }, { "daiyuu.jp", true }, - { "dakl-shop.de", true }, { "daknob.net", true }, { "dakotasilencer.com", true }, { "daktarisys.com", true }, @@ -6800,6 +6671,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "daneandthepain.com", true }, { "dango.in", true }, { "daniel-baumann.ch", true }, + { "daniel-du.com", true }, { "daniel-kulbe.de", true }, { "daniel-ruf.de", true }, { "daniel-seifert.com", true }, @@ -6821,7 +6693,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "danielschreurs.com", true }, { "danielstach.cz", true }, { "danielsteiner.net", true }, - { "danielthompson.info", true }, { "danieltollot.de", true }, { "danielverlaan.nl", true }, { "danielvoogsgerd.nl", true }, @@ -6843,7 +6714,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "danotage.tv", true }, { "danova.de", true }, { "danoz.net", true }, - { "danpiel.net", false }, { "danscomp.com", true }, { "danselibre.net", true }, { "danseressen.nl", true }, @@ -6874,7 +6744,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "darisni.me", true }, { "dark-infection.de", true }, { "dark-vision.cz", true }, - { "darkag.ovh", true }, { "darkcores.net", true }, { "darkdestiny.ch", true }, { "darkengine.io", true }, @@ -6891,8 +6760,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "darktime.ru", true }, { "darkwater.info", true }, { "darkx.me", true }, + { "darlastudio66.com", true }, { "darom.jp", true }, { "darookee.net", true }, + { "daropia.org", true }, { "darrenm.net", true }, { "darrienworth.com", true }, { "darshnam.com", true }, @@ -6925,7 +6796,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "datacenternews.asia", true }, { "datacenternews.co.nz", true }, { "datacentrenews.eu", true }, - { "datacool.tk", true }, { "datacubed.com", true }, { "datadit.hu", true }, { "datadyne.technology", true }, @@ -6993,7 +6863,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "davidfrancoeur.com", true }, { "davidgouveia.net", true }, { "davidgow.net", true }, - { "davidgreig.uk", true }, { "davidking.xyz", true }, { "davidlillo.com", true }, { "davidlyness.com", true }, @@ -7012,11 +6881,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "daw.nz", true }, { "dawnbringer.eu", true }, { "dawnbringer.net", true }, + { "dawnson.is", true }, { "dawnsonb.com", true }, { "dawson-floridavilla.co.uk", true }, { "day-peak.com", true }, { "daylightpirates.org", true }, - { "dayman.net", false }, + { "dayman.net", true }, { "daysoftheyear.com", true }, { "db-sanity.com", true }, { "db-works.nl", true }, @@ -7044,7 +6914,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dcautomacao.com.br", true }, { "dcbouncycastles.co.uk", true }, { "dcc.cat", true }, - { "dcc.moe", true }, { "dcepler.net", true }, { "dchatelain.ch", true }, { "dchest.org", true }, @@ -7052,7 +6921,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dclaisse.fr", true }, { "dcmt.co", true }, { "dcrdev.com", true }, - { "dctxf.com", true }, { "dd.art.pl", true }, { "ddel.de", true }, { "dden.ca", false }, @@ -7119,7 +6987,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "decentralizedweb.net", true }, { "dechat.nl", true }, { "decidetreatment.org", true }, - { "decoboutique.com", true }, { "decock-usedcars.be", true }, { "decodeanddestroy.com", true }, { "decoder.link", true }, @@ -7136,7 +7003,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "decstasy.de", true }, { "dede.ml", true }, { "dedelta.net", true }, - { "dedietrich-asia.com", true }, { "dedimax.de", true }, { "dedmorozrzn.ru", true }, { "deduijventil.nl", true }, @@ -7148,6 +7014,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "deepbluecrafting.co.uk", true }, { "deephill.com", true }, { "deepserve.info", true }, + { "deepsouthsounds.com", true }, { "deepspace.dedyn.io", true }, { "deepvalley.tech", true }, { "deepzz.com", true }, @@ -7200,6 +7067,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dekasiba.com", true }, { "delahrzolder.nl", true }, { "delbecqvo.be", true }, + { "delbrouck.ch", true }, { "deleidscheflesch.nl", true }, { "delfic.org", true }, { "delhionlinegifts.com", true }, @@ -7231,6 +7099,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "demijn.nl", true }, { "demilletech.net", true }, { "demo.sb", true }, + { "demo.swedbank.se", true }, { "demo9.ovh", true }, { "democracy.io", true }, { "democracychronicles.com", true }, @@ -7250,6 +7119,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "denaehula.com", true }, { "denardbrewing.com", true }, { "dengchangdong.com", true }, + { "dengode.eu", true }, { "denimio.com", true }, { "denimtoday.com", true }, { "denis-martinez.photos", true }, @@ -7272,12 +7142,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dentystabirmingham.co.uk", true }, { "denverphilharmonic.org", true }, { "deontology.com", true }, + { "depaddestoeltjes.be", true }, { "depechemode-live.com", true }, + { "depedshs.com", true }, { "depicus.com", true }, { "depone.net", true }, { "depotsquarekerrville.com", true }, { "depotter-usedcars.be", true }, { "deprecate.de", true }, + { "deprobe.pro", true }, { "depth-co.jp", true }, { "depthe.gr", true }, { "der-bank-blog.de", true }, @@ -7296,6 +7169,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "derekkent.com", true }, { "derekseaman.com", true }, { "derekseaman.studio", true }, + { "dergeilstestammderwelt.de", true }, { "derhil.de", true }, { "derive.cc", true }, { "dermapuur.nl", true }, @@ -7306,7 +7180,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "derp.army", true }, { "derre.fr", true }, { "derreichesack.com", true }, - { "derrickemery.com", true }, { "dersix.com", true }, { "dersoundhunter.de", true }, { "derstulle.de", true }, @@ -7374,25 +7247,25 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dev-brandywineglobal.com", true }, { "dev-pulse-mtn.pantheonsite.io", true }, { "dev-talk.net", true }, + { "devafterdark.com", true }, { "devalps.eu", true }, { "devb.nl", true }, { "devcast.io", true }, { "devct.cz", false }, { "devcu.com", true }, - { "devcu.net", true }, { "devdesco.com", true }, { "devdom.io", true }, { "devdoodle.net", true }, { "devel.cz", true }, + { "develop.cool", true }, + { "developer.android.com", true }, { "developer.mydigipass.com", false }, { "developerfair.com", true }, { "developermail.io", true }, { "developers.facebook.com", false }, - { "developersclub.website", true }, { "developfx.com", true }, { "developmentaid.org", true }, { "developmentsites.melbourne", true }, - { "developyourelement.com", true }, { "develux.com", true }, { "develux.net", true }, { "devenney.io", true }, @@ -7402,10 +7275,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "devillers-occasions.be", true }, { "devilshakerz.com", true }, { "deviltracks.net", true }, - { "deviltraxxx.de", true }, { "devinfo.net", false }, { "devisnow.fr", true }, - { "devistravaux.org", true }, { "devjack.de", true }, { "devkit.cc", true }, { "devklog.net", true }, @@ -7437,7 +7308,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dfl.mn", true }, { "dflcares.com", true }, { "dfmn.berlin", true }, - { "dfnet.ml", false }, { "dfranke.com", true }, { "dgbouncycastlehire.com", true }, { "dgby.org", true }, @@ -7457,7 +7327,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dhlcotizadorexpo-qa.azurewebsites.net", true }, { "dhlinux.org", true }, { "dhome.at", true }, - { "dhuy.net", true }, { "dhxxls.com", true }, { "di2pra.com", true }, { "di2pra.fr", true }, @@ -7466,7 +7335,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "diadorafitness.it", true }, { "diagnocentro.cl", true }, { "diagnostix.org", true }, - { "diagonale-deco.fr", true }, { "dialoegue.com", true }, { "diamante.ro", true }, { "diamondpkg.org", true }, @@ -7474,7 +7342,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "diamorphine.com", true }, { "diamsmedia.ch", true }, { "dianefriedli.ch", true }, - { "diannaobos.com", true }, { "dianurse.com", true }, { "diare-na-miru.cz", true }, { "diario-egipto.com", true }, @@ -7500,7 +7367,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "didacte.com", true }, { "didche.net", true }, { "diddens.de", true }, - { "didierlaumen.be", true }, { "didikhari.web.id", true }, { "die-besten-weisheiten.de", true }, { "die-blahuts.de", true }, @@ -7516,9 +7382,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "diegerbers.de", true }, { "diegogelin.com", true }, { "diegorbaquero.com", true }, - { "diejanssens.net", true }, + { "diehl.io", true }, { "diemattels.at", true }, - { "diemogebhardt.com", true }, { "dienchaninstitute.com", true }, { "dienstplan.cc", true }, { "dienstplan.one", true }, @@ -7526,7 +7391,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dierenartsdeconinck.be", true }, { "dieselanimals.lt", true }, { "dieselgalleri.com", true }, - { "dieser.me", true }, { "dietagespresse.com", true }, { "dietbrand.eu", true }, { "dieti.net", true }, @@ -7540,7 +7404,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "difoosion.com", true }, { "digcit.org", true }, { "digdata.de", true }, - { "diggable.co", true }, { "dighans.com", true }, { "digiarc.net", true }, { "digibild.ch", true }, @@ -7549,7 +7412,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "digicert-support.com", true }, { "digicert.nl", true }, { "digidroom.be", true }, - { "digihyp.ch", true }, { "digikol.net", true }, { "digilicious.com", true }, { "digimagical.com", true }, @@ -7581,9 +7443,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "digitaleoverheid.nl", true }, { "digitalewelten.de", true }, { "digitalgov.gov", true }, - { "digitalhurricane.io", true }, { "digitalimpostor.co.uk", true }, - { "digitallocker.com", false }, { "digitalmarketingindallas.com", true }, { "digitalrights.center", true }, { "digitalrights.fund", true }, @@ -7600,7 +7460,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dijkmanmuziek.nl", false }, { "dijkmanvandoorn.nl", true }, { "diju.ch", true }, - { "dikshant.net", true }, { "dilichen.fr", true }, { "diligo.ch", true }, { "dillewijnzwapak.nl", true }, @@ -7614,12 +7473,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dimeponline.com.br", true }, { "dimes.com.tr", true }, { "dimez.ru", true }, - { "dimitrisotiropoulosbooks.com", true }, - { "dimonb.com", true }, { "din-hkd.jp", true }, - { "din-tools.com", true }, { "dineachook.com.au", true }, { "dinepont.fr", true }, + { "dingcc.com", true }, { "dinge.xyz", true }, { "dingss.com", true }, { "dinmtb.dk", true }, @@ -7637,6 +7494,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dipulse.it", true }, { "dir2epub.com", true }, { "dir2epub.org", true }, + { "direct2uk.com", true }, { "directebanking.com", true }, { "directinsure.in", true }, { "directlinkfunding.co.uk", true }, @@ -7653,7 +7511,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dirkwolf.de", true }, { "dirtcraft.ca", true }, { "dirtygeek.ovh", true }, - { "disability.gov", true }, { "disabled.dating", true }, { "disanteimpianti.com", true }, { "disavow.tools", true }, @@ -7667,7 +7524,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "discord-chan.net", true }, { "discordapp.com", true }, { "discordghost.space", true }, - { "discotek.club", true }, { "discount24.de", true }, { "discountmania.eu", true }, { "discountmetaux.fr", true }, @@ -7677,7 +7533,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "discoveringdocker.com", true }, { "discoverrsv.com", true }, { "discoverwellness.center", true }, - { "discoveryballoon.org", true }, + { "discoveryrom.org", true }, { "discreet-condooms.nl", true }, { "disinclined.org", true }, { "disinfesta.it", true }, @@ -7727,7 +7583,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "divinegames.studio", true }, { "divingwithnic.com", true }, { "diwei.vip", true }, - { "dixmag.com", true }, { "diybook.at", true }, { "diycc.org", true }, { "diymediahome.org", true }, @@ -7765,12 +7620,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dlitz.net", true }, { "dll4free.com", true }, { "dlld.com", true }, - { "dlouwrink.nl", true }, { "dlrsp.org", true }, + { "dlscomputers.com.au", true }, { "dlunch.net", true }, { "dlzz.net", true }, { "dm.lookout.com", false }, - { "dm4productions.com", true }, { "dm7ds.de", true }, { "dmarc.dk", true }, { "dmarketer.com", true }, @@ -7798,7 +7652,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dns.google.com", true }, { "dns8.online", true }, { "dnsbird.org", true }, - { "dnscrypt.org", true }, { "dnscurve.io", true }, { "dnshallinta.fi", true }, { "dnslog.com", true }, @@ -7812,7 +7665,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "do67.de", true }, { "do67.net", true }, { "dobrev.family", true }, - { "dobrisan.ro", true }, { "dobsnet.net", true }, { "doc.python.org", true }, { "doc.to", true }, @@ -7846,11 +7698,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "doenjoylife.com", true }, { "does.one", true }, { "doesmycodehavebugs.today", true }, - { "doesnotscale.com", true }, + { "doesnotscale.com", false }, { "dofuspvp.com", true }, { "dog-blum.com", true }, { "dogan.ch", false }, - { "dogcratereview.info", true }, { "dogear.ch", true }, { "dogft.com", true }, { "doggroomingcourse.com", true }, @@ -7887,12 +7738,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "domaxpoker.com", true }, { "domenic.me", true }, { "domesticcleaners.co.uk", true }, - { "domfee.com", true }, { "domhaase.me", true }, { "domian.cz", true }, { "dominationgame.co.uk", true }, { "dominicself.co.uk", true }, { "dominik-schlueter.de", true }, + { "dominikkulaga.pl", true }, { "dominioanimal.com.br", true }, { "dominoknihy.cz", true }, { "dominomatrix.com", true }, @@ -7920,7 +7771,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "donabeneko.jp", true }, { "donateaday.net", true }, { "donateway.com", true }, - { "donfelino.tk", true }, + { "donfelino.tk", false }, { "dongkexue.com", true }, { "donhoward.org", true }, { "donkeytrekkingkefalonia.com", true }, @@ -7949,8 +7800,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dooleytackaberry.com", true }, { "doomoo.com", true }, { "doomsworld.com", true }, - { "doop.im", true }, - { "doopdidoop.com", true }, { "door.cards", true }, { "doordecor.bg", true }, { "doorflow.com", true }, @@ -8024,7 +7873,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "doyouedc.com", true }, { "doyoutax.com", true }, { "doypacky.cz", true }, - { "doze-cloud.tech", true }, { "dpd.com.pl", true }, { "dperson.net", true }, { "dpfsolutionsfl.com", true }, @@ -8040,7 +7888,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "drabbin.com", true }, { "drabim.org", true }, { "dracisvet.cz", true }, - { "dracon.es", false }, + { "dracon.es", true }, { "dracox.com", true }, { "draftguru.com.au", true }, { "drafton.com", true }, @@ -8070,7 +7918,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "drakfot.se", true }, { "dramaticpeople.com", true }, { "dranderle.com", true }, + { "dranek.com", true }, { "draugr.de", true }, + { "draw.uy", true }, { "drawesome.uy", true }, { "drawingcode.net", true }, { "drbethanybarnes.com", true }, @@ -8091,6 +7941,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dreamtechie.com", true }, { "drei01.de", true }, { "dreid.org", true }, + { "dreiweiden.de", true }, + { "dreizwosechs.de", true }, { "dress-cons.com", true }, { "drevo-door.cz", true }, { "drew.beer", true }, @@ -8120,15 +7972,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "driverscollection.com", true }, { "drivewithstatetransit.com.au", true }, { "drivingtestpro.com", true }, - { "drixn.cn", true }, { "drixn.com", true }, - { "drixn.info", true }, - { "drixn.net", true }, { "drjacquesmalan.com", true }, { "drjenafernandez.com", true }, { "drjoe.ca", true }, { "drjuanitacollier.com", true }, { "drkhsh.at", true }, + { "drkmtrx.xyz", true }, { "drlangsdon.com", true }, { "drlazarina.net", true }, { "drms.us", true }, @@ -8196,19 +8046,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dtuaarsfest.dk", true }, { "dtx.sk", true }, { "dualascent.com", true }, - { "duan.li", true }, + { "dualias.xyz", false }, { "dubaieveningsafari.com", true }, { "dublin-traceroute.net", true }, { "dubrovnik-dental.clinic", true }, - { "dubrovskiy.net", true }, - { "dubrovskiy.pro", true }, { "ducalendars.com", true }, { "duckasylum.com", true }, { "duckbase.com", true }, { "duckduckstart.com", true }, { "duckinc.net", true }, { "duckyubuntu.tk", true }, - { "ducohosting.com", true }, { "duernberg.at", true }, { "duesee.org", true }, { "dufrei.com", true }, @@ -8242,7 +8089,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "duncanfamilytrust.org", true }, { "duncanwinfrey.com", true }, { "dundalkdonnie.com", true }, - { "dunea.nl", true }, { "dungeon-bbs.de", true }, { "dunmanelectric.com", true }, { "duo.com", true }, @@ -8262,7 +8108,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dustyspokesbnb.ca", true }, { "dutch.desi", true }, { "dutch1.nl", true }, - { "dutchessuganda.com", true }, { "dutchrank.nl", true }, { "dutchwanderers.nl", true }, { "dutchweballiance.nl", true }, @@ -8279,7 +8124,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dvwc.org", true }, { "dvx.cloud", true }, { "dwgf.xyz", true }, - { "dwnld.me", true }, { "dworzak.ch", true }, { "dwscdv3.com", true }, { "dwtm.ch", true }, @@ -8287,14 +8131,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dxa.io", false }, { "dxgl.info", true }, { "dxm.no-ip.biz", true }, - { "dycoa.com", true }, { "dyeager.org", true }, { "dyktig.as", true }, { "dyktig.no", true }, { "dylanboudro.com", true }, { "dylankatz.com", true }, { "dylanknoll.ca", true }, - { "dymersion.com", true }, { "dyn-nserve.net", true }, { "dyn.im", true }, { "dynaloop.net", true }, @@ -8312,6 +8154,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dynts.pro", false }, { "dynx.pl", true }, { "dyrenesverden.no", true }, + { "dyrkar.com", true }, { "dysthymia.com", true }, { "dyyn.de", true }, { "dyz.pw", true }, @@ -8347,7 +8190,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "e-worksmedia.com", true }, { "e.mail.ru", true }, { "e024.org", true }, - { "e11even.nl", true }, + { "e11even.nl", false }, { "e191.com", true }, { "e2feed.com", true }, { "e30.ee", true }, @@ -8362,6 +8205,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ead-italia.it", true }, { "eagle-yard.de", true }, { "eagleindustriesltd.com", true }, + { "eagleridgecampground.com", true }, { "eaglesecurity.com", true }, { "eagletechz.com.br", true }, { "eagleyecs.com", true }, @@ -8388,7 +8232,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "eastmontgroup.com", true }, { "easy-factures.fr", true }, { "easy-rpg.org", false }, - { "easyadsnbanners.tk", true }, + { "easyadsnbanners.tk", false }, { "easycoding.org", true }, { "easyconstat.com", true }, { "easycosmetic.ch", true }, @@ -8409,7 +8253,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "eatson.com", true }, { "eattherich.us", true }, { "eatz.com", true }, - { "eaucube.com", true }, { "eauxdespleiades.ch", true }, { "eb-net.de", true }, { "eb7.jp", true }, @@ -8424,7 +8267,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ebaymotorssucks.com", true }, { "ebermannstadt.de", false }, { "eboek.info", true }, - { "ebonyriddle.com", true }, { "ebooki.eu.org", true }, { "ebop.ch", true }, { "eboyer.com", true }, @@ -8461,6 +8303,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ecococon.fr", true }, { "ecodigital.social", true }, { "ecogen.com.au", true }, + { "ecogen.net.au", true }, { "ecoheatcool.co.uk", true }, { "ecohostingservices.uk", true }, { "ecolala.my", true }, @@ -8496,11 +8339,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "edd-miles.com", true }, { "eddesign.ch", true }, { "eddmil.es", true }, + { "edeca.net", true }, { "edenmal.net", true }, { "edenvalerubbleremovals.co.za", true }, { "edesseglabor.hu", true }, { "edge-cloud.net", true }, - { "edgecustomersportal.com", true }, { "edgeservices.co.uk", true }, { "edgetalk.net", true }, { "edhesive.com", true }, @@ -8512,14 +8355,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "edisonluiz.com", true }, { "edisonnissanparts.com", true }, { "edit.yahoo.com", false }, - { "edited.de", true }, { "edition-bambou.com", true }, { "edition-sonblom.de", true }, { "editoraacademiacrista.com.br", true }, { "edlinus.cn", true }, { "edmundcelis.com", true }, { "edoss.co.za", true }, - { "edsh.de", true }, + { "edp-collaborative.com", true }, { "edsm.net", true }, { "edstep.com", true }, { "edtech-hub.com", true }, @@ -8534,13 +8376,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "educators.co.nz", true }, { "educatoys.com.br", true }, { "educatweb.de", true }, + { "eductf.org", true }, { "edudrugs.com", true }, { "eduid.se", true }, - { "eduif.nl", false }, { "edumundo.nl", true }, { "eduroam.no", true }, { "edusanjal.com", true }, - { "edusantorini.com", true }, { "edv-bv.de", true }, { "edv-kohls.de", true }, { "edv-lehrgang.de", true }, @@ -8622,7 +8463,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "eickhof.us", true }, { "eickhofcolumbaria.com", true }, { "eidolons.org", true }, - { "eifelindex.de", true }, { "eiga-movie.com", true }, { "eigenbubi.de", true }, { "eighty-aid.com", true }, @@ -8658,7 +8498,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ekedc.com", true }, { "ekedp.com", true }, { "eklepka.com", true }, - { "ekobudisantoso.net", true }, { "ekodevices.com", true }, { "ekokontakt.cz", true }, { "ekonbenefits.com", true }, @@ -8676,10 +8515,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "elars.de", true }, { "elarvee.xyz", true }, { "elaxy-online.de", true }, - { "elbetech.net", true }, { "elderoost.com", true }, { "eldertons.co.uk", true }, { "eldinhadzic.com", true }, + { "eldisagjapi.com", true }, { "eldrid.ge", true }, { "eldritchfiction.net", true }, { "elearningpilot.com", true }, @@ -8693,7 +8532,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "electronic-ignition-system.com", true }, { "electronicafacil.net", true }, { "electronicfasteners.com", true }, - { "electrostatics.com", true }, { "eled.io", true }, { "elefantevoador.com", true }, { "eleicoes2014.com.br", true }, @@ -8722,6 +8560,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "elementalrobotics.com", true }, { "elementalsoftware.net", true }, { "elementalsoftware.org", true }, + { "elementarywave.com", true }, { "elements.guide", true }, { "elena-baykova.ru", true }, { "elephants.net", true }, @@ -8732,13 +8571,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "elevateandprosper.com", true }, { "elexel.ru", true }, { "elexprimidor.com", true }, - { "elgosblanc.com", true }, + { "elgosblanc.com", false }, { "elguadia.faith", true }, { "elhall.pro", true }, { "elhall.ru", true }, { "elhamadimi.com", true }, { "elhossari.com", true }, - { "elia.cloud", true }, { "elias-nicolas.com", true }, { "elifesciences.org", true }, { "eligible.com", true }, @@ -8747,7 +8585,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "elijahgrey.com", true }, { "elinevanhaaften.nl", true }, { "elinvention.ovh", true }, - { "eliolita.com", true }, { "eliott.be", false }, { "elisa.ee", false }, { "elisabeth-kostecki.de", true }, @@ -8785,10 +8622,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "elnan.do", true }, { "elodieclerc.ch", true }, { "eloge.se", true }, - { "elonbase.com", true }, { "elosrah.com", true }, { "elosuite.com", true }, - { "eloxt.com", true }, { "elpado.de", true }, { "elpo.net", true }, { "elpoderdelespiritu.org", true }, @@ -8800,7 +8635,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "elternbeiratswahl.online", true }, { "elternforum-birmensdorf.ch", true }, { "elternverein-utzenstorf.ch", true }, - { "eltransportquevolem.org", true }, { "elucron.com", true }, { "eluhome.de", true }, { "elvidence.com.au", true }, @@ -8821,8 +8655,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "emanuelemazzotta.com", true }, { "emavok.eu", true }, { "embassycargo.eu", true }, - { "embellir-aroma.com", true }, - { "embellir-kyujin.com", true }, { "embox.net", true }, { "embraceni.org", true }, { "embracethedarkness.co.uk", true }, @@ -8844,7 +8676,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "emilong.com", true }, { "emilstahl.dk", true }, { "emilvarga.com", true }, - { "emilyjohnson.ga", true }, { "emilyshepherd.me", true }, { "eminhuseynov.com", true }, { "emirabiz.com", false }, @@ -8883,7 +8714,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "empower.net", true }, { "empowerdb.com", true }, { "emprego.pt", true }, - { "emrenovation.com", true }, { "emresaglam.com", true }, { "emultiagent.pl", true }, { "emupedia.net", true }, @@ -8918,7 +8748,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "endofnet.org", true }, { "endoftennancycleaning.co.uk", true }, { "endohaus.us", true }, - { "endspamwith.us", true }, { "enduranceday.be", true }, { "endzeit-architekten.com", false }, { "enemiesoflight.de", true }, @@ -8940,7 +8769,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "enfantsdelarue.ch", true }, { "enfield-kitchens.co.uk", true }, { "enflow.nl", true }, - { "enfoqueseguro.com", true }, { "enfu.se", true }, { "engarde.net", true }, { "engaugetools.com", true }, @@ -8977,7 +8805,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "enorekcah.com", true }, { "enot32.ru", true }, { "enotecastore.it", true }, - { "enpalmademallorca.info", true }, { "enquos.com", true }, { "enriquepiraces.com", true }, { "enrollapp.com", true }, @@ -9016,7 +8843,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "environmentkirklees.org", true }, { "enviroprobasements.com", true }, { "envoyglobal.com", true }, - { "envygeeks.io", true }, { "eocservices.co.uk", true }, { "eoitek.com", true }, { "eolme.ml", true }, @@ -9083,6 +8909,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "eppelblei.lu", true }, { "eppelpress.lu", true }, { "eprofitacademy.com", true }, + { "epsilon.dk", true }, { "epsorting.cz", true }, { "epublibre.org", true }, { "epulsar.ru", true }, @@ -9107,6 +8934,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ereader.uno", true }, { "erectiepillenwinkel.nl", true }, { "erepublik-deutschland.de", true }, + { "erethon.com", true }, { "erf-neuilly.com", true }, { "ergo-open.de", true }, { "ergobyte.eu", true }, @@ -9133,13 +8961,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "erinaceinae.com", true }, { "eriner.me", true }, { "erinn.io", true }, - { "eriser.fr", true }, { "erisrenee.com", true }, + { "erkaelderbarenaaben.dk", true }, { "ernest.ly", true }, { "eron.info", true }, { "erotic4me.ch", true }, { "eroticen.com", true }, - { "eroticforce.com", true }, { "erotpo.cz", true }, { "erp-band.ru", true }, { "erp.band", true }, @@ -9166,7 +8993,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "erwanlepape.com", true }, { "erwin.saarland", true }, { "erwinschmaeh.ch", true }, - { "erwinwensveen.nl", true }, { "erythroxylum-coca.com", true }, { "es-geenen.de", true }, { "es.search.yahoo.com", false }, @@ -9217,6 +9043,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "esono.de", true }, { "esoterik.link", true }, { "esoterikerforum.de", true }, + { "esp-berlin.de", true }, { "esp.community", true }, { "espace-caen.fr", true }, { "espace.network", true }, @@ -9266,6 +9093,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "estespr.com", true }, { "esteticanorte.com.br", true }, { "estilopack-loja.com.br", true }, + { "estoic.net", true }, { "estoniantrade.ee", true }, { "estonoentraenelexamen.com", true }, { "estoqueinformatica.com.br", true }, @@ -9294,7 +9122,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ethanlew.is", true }, { "ethercalc.com", true }, { "ethercalc.org", true }, - { "etherpad.fr", true }, { "etherpad.nl", true }, { "ethicaldata.co.uk", true }, { "ethicaltek.com", true }, @@ -9309,10 +9136,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "etiquetaunica.com.br", true }, { "etkaddict.com", true }, { "etoile-usedcars.com", true }, - { "etoto.pl", true }, { "etre-soi.ch", true }, { "etre-vivant.fr", true }, - { "ettebiz.com", true }, { "etudesbibliques.fr", true }, { "etudesbibliques.net", true }, { "etudesbibliques.org", true }, @@ -9321,7 +9146,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "etys.no", true }, { "etzi.myds.me", true }, { "euchre.us", true }, - { "eugenekay.com", true }, { "eugenetech.org", true }, { "eujuicers.bg", true }, { "eujuicers.com", true }, @@ -9365,7 +9189,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "europapier.ua", true }, { "europastudien.de", true }, { "european-agency.org", true }, - { "europeancupinline.eu", true }, { "europeantransportmanagement.com", true }, { "europeanwineresource.com", true }, { "europop.com", true }, @@ -9383,7 +9206,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "evalesc.com", true }, { "evanfiddes.com", true }, { "evangelosm.com", true }, - { "evankurniawan.com", true }, { "evantage.org", true }, { "evantageglobal.com", true }, { "evapp.org", true }, @@ -9416,7 +9238,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "everydaywot.com", true }, { "everyex.com", true }, { "everygayporn.com", true }, - { "everygayporn.xyz", true }, { "everymove.org", true }, { "everytruckjob.com", true }, { "everywhere.cloud", true }, @@ -9426,9 +9247,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "evidencebased.net", true }, { "evidenceusa.com.br", true }, { "evilarmy.com", true }, - { "evileden.com", true }, { "evilized.de", true }, - { "evilnerd.de", true }, { "evilvolcanolairs.com", true }, { "evio.com", true }, { "evion.nl", true }, @@ -9471,15 +9290,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "exceltobarcode.com", true }, { "excentos.com", true }, { "exceptionalservers.com", true }, - { "exceptionalservices.us", true }, { "excessamerica.com", true }, { "exchangecoordinator.com", true }, - { "exchangeworks.co", true }, { "exclusivebouncycastles.co.uk", true }, { "exdamo.de", true }, { "exe-boss.tech", true }, { "exebouncycastles.co.uk", true }, { "exehack.net", true }, + { "exeintel.com", true }, { "exekutori.com", true }, { "exembit.com", true }, { "exemples-de-stands.com", true }, @@ -9491,7 +9309,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "exiahost.com", true }, { "exit9wineandliquor.com", true }, { "exmoe.com", true }, - { "exo.do", true }, { "exon.io", true }, { "exoscale.ch", true }, { "exoticads.com", true }, @@ -9535,15 +9352,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "expresstinte.de", true }, { "expressvpn.com", true }, { "expresswins.co.uk", true }, + { "expxkcd.com", true }, { "exs.lv", true }, { "exside.com", true }, { "extasic.com", true }, { "extendwings.com", true }, { "extensiblewebmanifesto.org", true }, { "extensiblewebreportcard.org", true }, - { "extensiblewebsummit.org", true }, { "extensiontree.com", true }, - { "exteriorservices.io", true }, { "extradesktops.com", false }, { "extramoney.cash", true }, { "extranetpuc.com.br", true }, @@ -9556,8 +9372,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "extreme-gaming.us", true }, { "extreme-players.com", true }, { "extreme-players.de", true }, - { "extrememanual.net", false }, + { "extrememanual.net", true }, { "exvs.org", true }, + { "exyplis.com", true }, { "eydesignguidelines.com", true }, { "eyecandy.gr", true }, { "eyeglasses.com", false }, @@ -9566,7 +9383,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "eyep.me", true }, { "eyes-berg.ch", true }, { "eyes-berg.com", true }, - { "eyes-of-universe.eu", true }, { "eynio.com", true }, { "eyps.net", true }, { "ez3d.eu", true }, @@ -9647,7 +9463,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fag.wtf", true }, { "fahrenwal.de", true }, { "fahrenwalde.de", true }, - { "faidanoi.it", true }, { "fail.coach", true }, { "failover.de", true }, { "failover.eu", true }, @@ -9677,15 +9492,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fallenangelspirits.co.uk", true }, { "fallenangelspirits.com", true }, { "fallenspirits.co.uk", true }, - { "fallofthecitadel.com", true }, { "falsum.net", true }, { "fam-kreibich.de", true }, - { "fam-stemmer.de", true }, + { "fam-stemmer.de", false }, { "famcloud.de", true }, { "famdouma.nl", true }, { "fameng.nl", true }, - { "famer.me", true }, - { "fameuxhosting.co.uk", true }, { "familiaperez.net", true }, { "familie-kupschke.de", true }, { "familie-leu.ch", true }, @@ -9706,7 +9518,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "famvangelder.nl", true }, { "famvsomeren.nl", true }, { "fanboi.ch", true }, - { "fancy-bridge.com", true }, { "fander.it", true }, { "fandler.cz", true }, { "fandomservices.com", true }, @@ -9747,6 +9558,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "faroes.net", true }, { "faroes.org", true }, { "farrel-f.id", true }, + { "farsil.eu", true }, { "fascia.fit", true }, { "fasdoutreach.ca", true }, { "fashion24.de", true }, @@ -9783,12 +9595,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fastrevision.com", true }, { "fastwebsites.com.br", true }, { "faszienrollen-info.de", false }, - { "fatdoge.cn", true }, { "fatedata.com", true }, { "fathers4equalrights.org", true }, { "fatidique.com", true }, { "fatimamoldes.com.br", true }, - { "fator25.com.br", true }, { "fatowltees.com", true }, { "fatox.de", true }, { "faucetbox.com", false }, @@ -9798,7 +9608,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fawkex.me", true }, { "fawong.com", true }, { "faxite.com", true }, - { "faxreader.net", true }, { "fb.me", true }, { "fbcdn.net", true }, { "fbcfairburn.com", true }, @@ -9856,7 +9665,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "feisbed.com", true }, { "feisim.com", true }, { "feisim.org", true }, - { "feist.io", true }, { "feistyduck.com", true }, { "feitobrasilcosmeticos.com.br", true }, { "fejes.house", true }, @@ -9884,8 +9692,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fengyi.tel", true }, { "fenster-bank.at", true }, { "fenster-bank.de", true }, - { "fensterbau-mutscheller.de", true }, - { "feras-alhajjaji.com", true }, { "ferdies.co.za", true }, { "fergusoncastle.com", true }, { "ferien-netzwerk.de", true }, @@ -9904,7 +9710,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ferrolatino.ch", true }, { "ferticare.pt", true }, { "fertila.de", true }, - { "feschiyan.com", true }, { "festaprylar.se", true }, { "festival-tipps.com", true }, { "festival.house", true }, @@ -9914,7 +9719,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fettlaus.de", true }, { "feudalisten.de", true }, { "feuerwehr-dachaufsetzer.de", true }, - { "feuerwehr-heiligenberg.de", true }, { "feuerwehr-illmensee.de", true }, { "feuerwehr-oberkotzau.de", true }, { "feuerwerksmanufaktur.de", true }, @@ -9930,6 +9734,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ffis.me", true }, { "ffkoenigsberg.de", true }, { "ffl123.com", true }, + { "ffmradio.de", true }, { "ffprofile.com", true }, { "ffta.eu", true }, { "fgequipamentos.com.br", true }, @@ -9947,7 +9752,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fiam.me", true }, { "fiareapp.red", false }, { "fibrasynormasdecolombia.com", true }, - { "ficklenote.net", true }, { "fickweiler.nl", true }, { "ficlab.com", true }, { "ficus.io", true }, @@ -9964,11 +9768,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fieldtalk.co.uk", false }, { "fieldwork-paysage.com", true }, { "fierlafijn.net", true }, - { "fierman.eu", false }, - { "fierman.net", false }, - { "fierman.us", false }, { "fifichachnil.paris", true }, - { "fifieldtech.com", true }, { "fiftynorth.eu", true }, { "fiftyonetielt.be", true }, { "figan.cz", true }, @@ -9979,7 +9779,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "figura.cz", true }, { "figura.im", true }, { "figurasdelinguagem.com.br", true }, - { "figuurzagers.nl", false }, { "fiilr.com", true }, { "fiix.io", true }, { "fiken.no", true }, @@ -9988,12 +9787,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "filebox.space", true }, { "filecopa.com", true }, { "filedir.com", false }, - { "fileio.io", true }, { "filesense.com", true }, { "filestar.io", true }, { "filewall.de", true }, { "filhin.es", true }, { "filhodohomem.com", true }, + { "filhomes.ph", true }, { "fili.org", true }, { "filingsmadeeasy.com", true }, { "filip-prochazka.com", true }, @@ -10011,9 +9810,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "filme-onlines.com", true }, { "filmreviewonline.com", true }, { "filmserver.de", true }, - { "filo.xyz", true }, - { "filoitoupediou.gr", true }, { "filoo.de", true }, + { "filterflasche-kaufen.de", true }, { "filterlists.com", true }, { "finalx.nl", false }, { "financejobs.ch", true }, @@ -10050,6 +9848,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fionamcbride.com", true }, { "fiork.com", true }, { "fioulmarket.fr", true }, + { "fire-wolf.com", true }, { "fireandelectrical.co.uk", true }, { "firebaseio.com", true }, { "firebirdrangecookers.com", true }, @@ -10071,9 +9870,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "firma-cerny.cz", true }, { "firma-offshore.com", true }, { "firmale.com", true }, - { "firmament.space", true }, { "firmapi.com", true }, { "first-house.no", true }, + { "first-time-offender.com", true }, { "first.org", true }, { "first4it.com", true }, { "firstchoicebouncycastlehire.co.uk", true }, @@ -10111,10 +9910,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fitzsim.org", true }, { "fiuxy.bz", true }, { "fiuxy.co", true }, - { "fivestepfunnels.com", true }, { "fiws.net", true }, - { "fix-the-timeline.com", true }, - { "fix-the-timeline.org", true }, { "fixate.ru", true }, { "fixatom.com", true }, { "fixeaide.com", true }, @@ -10124,8 +9920,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fixhotsauce.com", true }, { "fixmyalarmpanel.co.uk", true }, { "fixmycomputerdude.com", true }, - { "fixthetimeline.com", true }, - { "fixthetimeline.org", true }, { "fixvoltage.ru", true }, { "fizz.buzz", false }, { "fj.search.yahoo.com", false }, @@ -10139,7 +9933,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "flagburningworld.com", true }, { "flagfic.com", true }, { "flagshop.jp", true }, - { "flagspot.net", true }, { "flair.co", true }, { "flam.io", true }, { "flamer-scene.com", false }, @@ -10196,7 +9989,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "flokinet.is", true }, { "floobits.com", true }, { "flood.io", true }, - { "floorball-haunwoehr.de", true }, { "flooringnightmares.com", true }, { "floort.net", false }, { "flopix.net", false }, @@ -10205,6 +9997,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "florent-tatard.fr", true }, { "florentynadawn.co.uk", true }, { "florian-bachelet.fr", true }, + { "florian-schlachter.de", true }, { "florian-thie.de", true }, { "floriankarmen.com", true }, { "floriankeller.de", true }, @@ -10226,7 +10019,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "floseed.fr", true }, { "floskelwolke.de", true }, { "floth.at", true }, - { "flow.su", true }, { "flowcom.de", true }, { "flowerandplant.org", true }, { "flowersbylegacy.com", true }, @@ -10254,7 +10046,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "flyboyfpv.com", true }, { "flybunnyfly.dk", true }, { "flygon.pink", true }, - { "flyingdoggy.net", true }, { "flyinglocksmiths.com", false }, { "flyingpackets.net", true }, { "flyingrub.me", true }, @@ -10264,12 +10055,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "flyserver.co.il", true }, { "flyspace.ga", true }, { "flyspace.ml", true }, + { "flyss.net", true }, { "flyssh.net", true }, { "flyt.online", true }, { "flytoadventures.com", true }, { "fm-cdn.de", true }, { "fm.ie", true }, - { "fm992.com", true }, { "fmapplication.com", true }, { "fmarchal.fr", true }, { "fmdance.cl", true }, @@ -10280,7 +10071,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fmovies.life", true }, { "fnb-griffinonline.com", true }, { "fndout.com", true }, - { "fniephaus.com", true }, + { "fniephaus.com", false }, { "fnof.ch", true }, { "fnordserver.eu", true }, { "fnzc.co.nz", true }, @@ -10296,11 +10087,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "foia.gov", true }, { "fojing.com", true }, { "fokan.be", true }, - { "fokan.ch", true }, { "fokkusu.fi", true }, { "fol.tf", true }, { "foliekonsulenten.dk", true }, - { "folioapp.io", true }, { "foljeton.dk", true }, { "folkadelic.de", true }, { "folkfests.org", true }, @@ -10334,7 +10123,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "foodserve.in", true }, { "foodsouvenirs.it", true }, { "foodwise.marketing", true }, - { "fooishbar.org", false }, { "foolip.org", true }, { "foolwealth.com", true }, { "foorack.com", true }, @@ -10383,7 +10171,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "forrestheller.com", true }, { "forro.info", true }, { "forsakringsarkivet.se", true }, - { "forschbach-janssen.de", true }, { "forsec.nl", true }, { "forstbetrieb-hennecke.de", true }, { "forstprodukte.de", true }, @@ -10397,7 +10184,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fortuna-s.com", true }, { "fortworth.ch", true }, { "forty-two.nl", true }, - { "forty2.eu", true }, { "forty8creates.com", true }, { "fortytwo.cloud", true }, { "forum-bonn.de", true }, @@ -10450,7 +10236,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "foxphotography.ch", true }, { "foxquill.com", true }, { "foxterrier.com.br", true }, - { "foxyslut.com", true }, { "fpc.gov", true }, { "fpersona.com", true }, { "fpki.sh", true }, @@ -10473,7 +10258,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "franchini.engineer", true }, { "francisli.net", true }, { "franckgirard.net", true }, - { "franckyz.com", true }, { "francois-occasions.be", true }, { "francoiscarrier.com", true }, { "francoislepage.com", true }, @@ -10497,9 +10281,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "frasesaniversarios.com.br", true }, { "frasesdodia.com", true }, { "frasesparaface.com.br", true }, + { "frasesytarjetas.com", true }, { "frasys.cloud", true }, { "frasys.net", true }, { "frattaroli.org", true }, + { "frau-inge.de", true }, { "frau-sucht-bauer.de", true }, { "fraudmarc.com", true }, { "frauenarzt-zinke.de", true }, @@ -10510,7 +10296,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "frdl.ch", true }, { "freaksites.dk", true }, { "frebi.org", true }, - { "frebib.net", true }, { "freddysfuncastles.co.uk", true }, { "freddythechick.uk", true }, { "frederik-braun.com", true }, @@ -10550,7 +10335,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "freeinoutboard.com", true }, { "freejasongoudlock.org", true }, { "freejeremy.net", true }, - { "freejidi.com", true }, { "freela.ch", true }, { "freelance.boutique", true }, { "freelance.guide", true }, @@ -10569,7 +10353,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "freeonplate.com", true }, { "freergform.org", true }, { "freeshell.de", true }, - { "freeshkre.li", true }, { "freesitemapgenerator.com", true }, { "freeslots.guru", true }, { "freesms-online.de", true }, @@ -10617,7 +10400,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "frickelmeister.de", true }, { "fridayfoucoud.ma", true }, { "friederes.lu", true }, - { "friedhelm-wolf.de", true }, { "friedrich-foto-art.de", true }, { "friedsamphotography.com", true }, { "friendlysiberia.com", true }, @@ -10646,8 +10428,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "froh.co.jp", true }, { "frokenblomma.se", true }, { "frolova.org", true }, + { "fromix.de", true }, { "fromscratch.rocks", true }, - { "fromthesoutherncross.com", true }, { "fronteers.nl", false }, { "frontline.cloud", true }, { "frontline6.com", true }, @@ -10665,6 +10447,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fruchtikus.net", true }, { "frugalfamilyhome.com", true }, { "frugalmechanic.com", true }, + { "frugro.be", false }, { "fruition.co.jp", true }, { "frusky.de", true }, { "frydrychit.cz", true }, @@ -10691,8 +10474,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ftgho.com", true }, { "ftng.se", true }, { "ftrsecure.com", true }, + { "fuchsy.com", true }, { "fuckav.ru", true }, - { "fuckcf.cf", true }, { "fuckcie.com", true }, { "fucklife.ch", true }, { "fuckyoupaypal.me", true }, @@ -10722,8 +10505,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fun-tasia.co.uk", true }, { "fun4kidzbouncycastles.co.uk", true }, { "fun4ubouncycastles.co.uk", true }, - { "fun9.cc", true }, - { "fun99.cc", true }, { "funandbounce.com", true }, { "funarena.com.ua", true }, { "funatic.nl", true }, @@ -10742,20 +10523,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "funfactorleeds.co.uk", true }, { "funfoodco.co.uk", true }, { "funfunmstdn.tokyo", true }, - { "fungame.eu", false }, { "funhouse-inflatables.co.uk", true }, { "funi4u.com", true }, { "funideas.org", true }, { "funinbeds.org.uk", true }, { "funken-networks.de", true }, - { "funkes-ferien.de", true }, { "funktionel.co", true }, { "funnelweb.xyz", true }, { "funniestclip.com", true }, { "funny-joke-pictures.com", true }, { "funnybikini.com", true }, { "funoverip.net", true }, - { "funspins.com", true }, { "funtastic.ie", true }, { "funtasticinflatablesdurham.co.uk", true }, { "funtime-inflatables.co.uk", true }, @@ -10787,7 +10565,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "futbolvivo.tv", true }, { "futrou.com", true }, { "futurefire.de", true }, - { "futurefundapp.com", true }, { "futurenda.com", true }, { "futureoceans.org", true }, { "futuresonline.com", true }, @@ -10797,12 +10574,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fuwafuwa.moe", true }, { "fuxwerk.de", true }, { "fuyu.moe", true }, - { "fuzoku-sodan.com", true }, { "fuzoku.jp", true }, { "fuzzing-project.org", true }, { "fveevaete.com", true }, { "fwdx.net", true }, { "fwei.tk", true }, + { "fwest.ovh", true }, + { "fwest98.ovh", true }, { "fwww7.com", true }, { "fx24.uk", true }, { "fx5.de", true }, @@ -10817,11 +10595,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fxopen.ru", true }, { "fxp.co.il", false }, { "fxpig-ib.com", true }, + { "fxtalk.cn", true }, { "fxthai.com", true }, { "fxtrade-lab.com", true }, - { "fyfywka.com", false }, { "fyn.nl", true }, - { "fyol.pw", true }, { "fysesbjerg.dk", true }, { "fysiotherapieholtenbroek.nl", true }, { "fysiotherapierossum.nl", true }, @@ -10835,6 +10612,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "g01.in.ua", true }, { "g1.ie", true }, { "g10e.ch", true }, + { "g2-inc.com", false }, { "g2links.com", true }, { "g2pla.net", true }, { "g2soft.net", true }, @@ -10842,14 +10620,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "g3rv4.com", true }, { "g4w.co", true }, { "gaanbaksho.com.au", true }, - { "gaasuper6.com", true }, { "gabemack.com", true }, + { "gabethebabetv.com", true }, { "gabrielsimonet.ch", true }, { "gachter.name", true }, { "gadabit.pl", true }, { "gadgethacks.com", true }, { "gaestehaus-monika.com", true }, - { "gafachi.com", true }, { "gaflooring.com", true }, { "gafunds.com", true }, { "gagne-enterprises.com", true }, @@ -10915,21 +10692,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gamercredo.com", true }, { "gamercredo.net", true }, { "gamerezo.com", true }, - { "gamerpoets.com", true }, { "games4theworld.org", true }, { "gameserver-sponsor.me", true }, { "gameshowchallenge.ie", true }, { "gamesplanet.com", true }, { "gamestats.gg", true }, - { "gametium.com", true }, - { "gametium.es", true }, { "gamhealth.net", true }, { "gamingexodus.com", true }, { "gamingrealms.net", true }, { "gamingreinvented.com", true }, { "gamingwithcromulent.com", true }, { "gamingzoneservers.com", true }, - { "gamoice.com", true }, + { "gamishou.fr", true }, { "gamoloco.com", true }, { "ganado.org", true }, { "gancedo.com.es", true }, @@ -10941,7 +10715,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gapdirect.com", true }, { "gapfa.org", true }, { "gaptek.id", false }, - { "gar-nich.net", true }, + { "gar-nich.net", false }, { "garage-door.pro", true }, { "garage-leone.com", true }, { "garage-meynard.com", true }, @@ -10955,6 +10729,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "garciniacambogiareviewed.co", true }, { "garda-see.mobi", true }, { "garden-life.org", true }, + { "gardencarezone.com", true }, { "gardengameshireuk.com", true }, { "garderobche.eu", true }, { "gardikagigih.com", true }, @@ -10969,7 +10744,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "garyjones.co.uk", true }, { "garystallman.com", true }, { "garywhittington.com", true }, - { "gasser-daniel.ch", false }, { "gastauftritt.net", true }, { "gastoudererenda.nl", true }, { "gate2home.com", true }, @@ -11003,18 +10777,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gboys.net", true }, { "gc-mc.de", true }, { "gc.gy", true }, - { "gc.net", true }, { "gcbit.dk", true }, { "gchp.ie", true }, { "gchq.wtf", true }, { "gcs-ventures.com", true }, { "gcsepod.com", true }, { "gdax.com", true }, + { "gdb-tutorial.net", true }, { "gdgrzeszow.pl", true }, { "gdiary.net", true }, { "gdoce.es", false }, { "gdutnic.com", true }, { "gdv.me", true }, + { "gdz-spishy.com", true }, + { "gdz.tv", true }, { "ge3k.net", false }, { "gear-acquisition-syndrome.community", true }, { "gearev.net", true }, @@ -11045,6 +10821,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "geekles.net", true }, { "geeknik.com", true }, { "geekpad.com", true }, + { "geeks.berlin", true }, { "geeks.one", true }, { "geekshirts.cz", true }, { "geektopia.es", true }, @@ -11118,7 +10895,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "genomequestlive.com", true }, { "genoog.com", true }, { "genosse-einhorn.de", true }, - { "genossen.ru", true }, { "gensend.com", true }, { "gensenwedding.jp", true }, { "genshiken-itb.org", true }, @@ -11133,7 +10909,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "genxnotes.com", true }, { "geocommunicator.gov", true }, { "geoffanderinmyers.com", true }, - { "geoffmyers.com", true }, + { "geoffmyers.com", false }, { "geofox.org", true }, { "geoip.fedoraproject.org", true }, { "geoip.stg.fedoraproject.org", true }, @@ -11180,11 +10956,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "get-it-live.de", true }, { "get-link.info", true }, { "get-on.bid", true }, + { "get-refer.com", true }, { "get4x.com", true }, - { "geta.pub", true }, { "getbox.me", true }, { "getbutterfly.com", true }, - { "getcleartouch.com", true }, { "getcloak.com", false }, { "getcolq.com", true }, { "getdash.io", true }, @@ -11235,14 +11010,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "getyourphix.tk", true }, { "geyduschek.be", true }, { "gfast.ru", true }, - { "gfbouncycastles.co.uk", true }, { "gfcleisure.co.uk", true }, - { "gfhgiro.nl", false }, { "gfk-kunststoff-luebben.de", true }, { "gflame.de", true }, { "gflclan.ru", true }, { "gforce.ninja", true }, { "gfoss.eu", true }, + { "gfournier.ca", true }, { "gfxbench.com", true }, { "ggdcpt.com", true }, { "gginin.today", true }, @@ -11263,11 +11037,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ghostcir.com", true }, { "ghrelinblocker.info", true }, { "ghrelinblocker.org", true }, - { "ghuntley.com", false }, { "giacomodrago.com", true }, { "giacomodrago.it", true }, { "giacomopelagatti.it", true }, { "gianproperties.com", true }, + { "giant-panda.com", true }, { "giant-powerfit.co.uk", true }, { "giant-tortoise.com", true }, { "gianttree.de", true }, @@ -11279,7 +11053,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "giduv.com", true }, { "gierds.de", true }, { "giftedconsortium.com", true }, - { "giftking.nl", true }, + { "giftking.nl", false }, { "giftmaniabrilhos.com.br", true }, { "gifts365.co.uk", true }, { "giftsn.com.sg", false }, @@ -11289,7 +11063,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gigawa.lt", true }, { "gigawattz.com", true }, { "giggletotz.co.uk", true }, - { "gigiscloud.servebeer.com", true }, { "giglink.club", true }, { "gigolodavid.be", true }, { "gigtroll.eu", true }, @@ -11329,11 +11102,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "girvas.ru", true }, { "gisgov.be", true }, { "gistr.io", true }, - { "git.co", true }, { "git.market", true }, { "gitep.org.uk", true }, { "gitesdeshautescourennes.com", true }, { "github.com", true }, + { "github.party", false }, { "gitla.in", true }, { "gitstuff.tk", true }, { "gittigidiyor.com", true }, @@ -11373,7 +11146,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "glasschmuck-millefiori.de", true }, { "glavsudexpertiza.ru", true }, { "glazedmag.fr", true }, - { "glbg.eu", true }, { "glcastlekings.co.uk", true }, { "gleanview.com", true }, { "glencarbide.com", true }, @@ -11383,7 +11155,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "glidingshop.de", true }, { "glidingshop.eu", true }, { "glitchsys.com", true }, - { "glittersjabloon.nl", true }, { "glloq.org", true }, { "glob-coin.com", true }, { "global-lights.ma", true }, @@ -11419,13 +11190,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "glueck-im-norden.de", true }, { "gluecksgriff-taschen.de", true }, { "glueckskindter.de", true }, - { "glutenfreelife.co.nz", true }, { "glyph.ws", true }, { "glyxins.com", true }, - { "gm-assicurazioni.it", true }, { "gm.search.yahoo.com", false }, { "gmail.com", false }, - { "gmanukyan.com", true }, { "gmbh-kiekin.de", true }, { "gmc.uy", true }, { "gmcd.co", true }, @@ -11434,7 +11202,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gmod.de", true }, { "gmpark.dk", true }, { "gmpartsdb.com", true }, - { "gmta.nl", true }, { "gmw-hannover.de", true }, { "gmw-ingenieurbuero.de", true }, { "gmx.at", true }, @@ -11451,7 +11218,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gnetwork.eu", true }, { "gnhub.org", true }, { "gnilebein.de", true }, - { "gnosticjade.net", true }, { "gnucashtoqif.us", true }, { "gnunet.org", true }, { "gnwp.eu", true }, @@ -11472,6 +11238,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gochu.se", true }, { "gocleanerslondon.co.uk", true }, { "godesigner.ru", true }, + { "godrive.ga", true }, { "godsofhell.com", true }, { "godsofhell.de", true }, { "goededoelkerstkaarten.nl", true }, @@ -11512,10 +11279,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "golfscape.com", true }, { "golik.net.pl", true }, { "golser.info", true }, + { "gomiblog.com", true }, { "gommista.roma.it", true }, { "gondawa.com", true }, { "gongjianwei.com", true }, - { "gongjuhao.com", true }, { "gonkar.com", true }, { "gonx.dk", true }, { "goo.gl", true }, @@ -11545,7 +11312,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gordonscouts.com.au", true }, { "gorf.chat", true }, { "gorf.club", true }, - { "gorgiaxx.com", true }, { "gorky.media", true }, { "gorn.ch", true }, { "gorod74.ru", false }, @@ -11570,6 +11336,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "goubi.me", true }, { "goudenharynck.be", true }, { "gouforit.com", true }, + { "goukon.ru", true }, { "gouldcooksey.com", true }, { "goup.co", true }, { "goup.com.tr", true }, @@ -11592,6 +11359,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gprs.uk.com", true }, { "gps.com.br", true }, { "gpsarena.ro", true }, + { "gpsfix.cz", true }, { "gpsolarpanels.com", true }, { "gpsvideocanada.com", true }, { "gpws.ovh", true }, @@ -11600,7 +11368,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "graasp.net", false }, { "grabi.ga", true }, { "grace-wan.com", true }, - { "gracechurchpc.net", true }, { "gracedays.org", true }, { "graceful-project.eu", true }, { "gracethrufaith.com", true }, @@ -11628,6 +11395,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "grandcapital.id", true }, { "grandcapital.ru", true }, { "grandcastles.co.uk", true }, + { "grandchamproofing.com", true }, { "grandchene.ch", true }, { "grande.coffee", true }, { "grandefratellonews.com", true }, @@ -11647,7 +11415,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "grapeintentions.com", true }, { "graphcommons.com", true }, { "graphene.software", true }, - { "graphire.io", true }, { "grapholio.net", true }, { "grasmark.com", true }, { "grassenberg.de", true }, @@ -11671,7 +11438,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "grayson.sh", true }, { "graysonsmith.co.uk", true }, { "grc.com", false }, - { "great.nagoya", true }, { "greatestwebsiteonearth.com", true }, { "greatfire.org", true }, { "greatislandarts.ca", true }, @@ -11703,9 +11469,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "greenteamtwente.nl", true }, { "greenville.ag", true }, { "greenwithdecor.com", true }, - { "greg.red", true }, { "greger.me", true }, - { "greggsfoundation.org.uk", true }, + { "gregmilton.com", true }, { "gregoirow.be", true }, { "gregorians.org", true }, { "gregorkofler.com", true }, @@ -11721,6 +11486,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "grepular.com", true }, { "gresak.io", true }, { "grettogeek.com", true }, + { "greve.xyz", true }, { "grey.house", true }, { "greybit.net", true }, { "greyhash.se", true }, @@ -11748,6 +11514,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "grinnellplans.com", true }, { "gripnijmegen.rip", true }, { "gritte.ch", true }, + { "grizzlys.com", true }, { "grmp.fr", true }, { "groben-itsolutions.de", true }, { "grocock.me.uk", true }, @@ -11766,7 +11533,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "groovygoldfish.org", true }, { "gropp.org", true }, { "grossberger-ge.org", true }, - { "grossmisconduct.news", true }, { "groszek.pl", true }, { "groth.im", true }, { "groth.xyz", true }, @@ -11776,7 +11542,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "groupe-neurologique-nord.lu", true }, { "groupebaillargeon.com", true }, { "groupghistelinck-cars.be", true }, - { "grouphomes.com.au", true }, + { "grouphomes.com.au", false }, { "groupme.com", true }, { "groups.google.com", true }, { "growingmetrics.com", true }, @@ -11825,7 +11591,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gtour.info", true }, { "gtravers-basketmaker.co.uk", true }, { "gtts.space", true }, - { "guarajubaimoveis.com.br", true }, { "guardian360.nl", true }, { "guardianproject.info", true }, { "guardiansoftheearth.org", true }, @@ -11859,10 +11624,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "guillaume-briand.fr", true }, { "guillaumecote.me", true }, { "guillaumeperrin.io", true }, - { "guillemaud.me", true }, + { "guillemaud.me", false }, { "guiltypleasuresroleplaying.com", true }, { "guim.co.uk", true }, - { "guinea-pig.co", true }, { "guineapigmustach.es", true }, { "gulchuk.com", true }, { "gulenbase.no", true }, @@ -11873,10 +11637,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gumi.ca", true }, { "gummibande.noip.me", true }, { "gunhunter.com", true }, - { "guniram.com", true }, { "gunwatch.co.uk", true }, { "guochang.xyz", true }, { "guoke.com", true }, + { "guozeyu.com", true }, { "guphi.net", false }, { "gurkan.in", true }, { "gurmel.ru", true }, @@ -11890,18 +11654,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "guts.me", true }, { "gutscheingeiz.de", true }, { "gutuia.blue", true }, + { "guus-thijssen.nl", true }, { "guusvandewal.nl", true }, { "guvernalternativa.ro", true }, { "guyot-tech.com", true }, { "gv-neumann.de", true }, { "gvatas.in", true }, - { "gvchannel.xyz", true }, { "gveh.de", true }, { "gvi-timing.ch", true }, { "gviedu.com", true }, { "gvitiming.ch", true }, { "gvobgyn.ca", true }, - { "gvpt.sk", true }, { "gvt2.com", true }, { "gvt3.com", true }, { "gw2treasures.com", true }, @@ -11912,7 +11675,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gwsec.co.uk", true }, { "gxgx.org", true }, { "gyas.nl", true }, - { "gym-old.de", true }, { "gymagine.ch", true }, { "gymhero.me", true }, { "gymkirchenfeld.ch", true }, @@ -11953,7 +11715,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "haazen.xyz", true }, { "habarisoft.com", true }, { "habbos.es", true }, - { "habeo.si", true }, { "habtium.com", true }, { "habtium.es", true }, { "haccp.roma.it", true }, @@ -11962,6 +11723,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hack.club", true }, { "hackademix.net", true }, { "hackanders.com", true }, + { "hackbarth.guru", true }, { "hackbeil.name", true }, { "hackbubble.me", true }, { "hackcraft.net", true }, @@ -12003,7 +11765,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "haens.li", true }, { "haerwu.biz", true }, { "hafniatimes.com", true }, - { "hafoda.com", true }, { "haggeluring.su", true }, { "hagueaustralia.com.au", true }, { "haha-raku.com", true }, @@ -12011,7 +11772,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hail2u.net", true }, { "hailer.com", true }, { "haircrazy.com", true }, - { "hairlossstop.net", true }, { "hairraisingphotobooths.co.uk", true }, { "hairtonic-lab.com", true }, { "hajnzic.at", true }, @@ -12019,7 +11779,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hakase.kr", true }, { "hakatabijin-mind.com", true }, { "hake.me", true }, - { "hakugin.me", true }, + { "haktec.de", true }, { "hakurei.moe", true }, { "halacs.hu", true }, { "half-logic.eu.org", true }, @@ -12027,7 +11787,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "halfwaythere.eu", true }, { "halitopuroprodutos.com.br", true }, { "halkirkbouncycastles.co.uk", true }, - { "halkyon.net", true }, { "hallelujahsoftware.com", true }, { "halletienne.fr", true }, { "hallhuber.com", true }, @@ -12050,7 +11809,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hampl.tv", true }, { "hampshiretechservices.co.uk", true }, { "hamsters-uk.org", true }, - { "hamu.blue", true }, { "hana.ondemand.com", true }, { "hanakaraku.com", true }, { "hanashi.eu", true }, @@ -12091,14 +11849,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hao-zhang.com", true }, { "haogoodair.ca", true }, { "haozhang.org", true }, + { "haozi.me", true }, { "hapissl.com", true }, { "hapivm.com", true }, - { "happist.com", false }, { "happyagain.de", true }, { "happyagain.se", true }, { "happyandrelaxeddogs.eu", false }, { "happybounce.co.uk", true }, { "happycarb.de", true }, + { "happycoder.net", false }, { "happydoq.ch", true }, { "happygadget.me", true }, { "happykidscastles.co.uk", true }, @@ -12117,7 +11876,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "harbor-light.net", true }, { "hardeman.nu", true }, { "hardenize.com", true }, - { "hardergayporn.com", true }, { "hardertimes.com", true }, { "hardesec.com", true }, { "hardfalcon.net", true }, @@ -12132,7 +11890,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hariome.com", true }, { "haritsa.co.id", true }, { "harjitbhogal.com", true }, - { "harmfarm.nl", true }, { "harmoney.co.nz", true }, { "harmoney.com", true }, { "harmoney.com.au", true }, @@ -12156,6 +11913,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "harvestapp.com", true }, { "harvester.fr", true }, { "harveyauzorst.com", true }, + { "harveymilton.com", true }, { "haschrebellen.de", true }, { "hasdf.de", true }, { "haselsteiner.me", true }, @@ -12167,7 +11925,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hashiconf.com", true }, { "hashiconf.eu", true }, { "hashicorp.com", true }, - { "hashidays.com", true }, { "hashimah.ca", true }, { "hashinteractive.com", true }, { "hashish.net", true }, @@ -12229,7 +11986,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hcbj.io", true }, { "hcfhomelottery.ca", true }, { "hcoe.fi", true }, - { "hcstr.com", true }, { "hd-gaming.com", true }, { "hd-offensive.at", false }, { "hd-only.org", true }, @@ -12240,6 +11996,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hdcenter.cc", true }, { "hdeaves.uk", true }, { "hdf.world", true }, + { "hdfgroup.org", true }, { "hdguru.com", true }, { "hdhoang.space", true }, { "hdrsource.com", true }, @@ -12264,9 +12021,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "healthmatchapp.com", true }, { "healththoroughfare.com", true }, { "healthy-map.com", true }, - { "healthyandnaturalliving.com", true }, { "healthyfitfood.com", true }, - { "hearingshofar.com", true }, + { "heap.zone", true }, { "hearmeraw.uk", true }, { "heart.taxi", true }, { "heartbeat24.de", true }, @@ -12286,7 +12042,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "heartyapp.com", true }, { "heartycraft.com", true }, { "heavenlyseals.com", true }, - { "heavenlysmokenc.com", true }, { "heavensattic.co.uk", true }, { "heavensinferno.net", true }, { "heavyequipments.org", true }, @@ -12323,18 +12078,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "heiaheia.com", true }, { "heid.ws", true }, { "heidisheroes.org", true }, - { "heijblok.com", true }, { "heikorichter.name", true }, { "heiland.io", true }, { "heiliger-gral.info", true }, { "heilpraxis-bgl.de", true }, { "heimatverein-eitensheim.de", true }, + { "heimonen.eu", true }, { "heimprofis.de", true }, { "heinpost.nl", false }, { "heinzelmann.co", true }, { "heissluft-fritteuse.com", true }, { "heitland-it.de", true }, - { "hejahanif.se", true }, { "hekeki.com", true }, { "helber-it-services.de", true }, { "helden-spielen.de", true }, @@ -12370,6 +12124,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "helpflux.com", true }, { "helpgerer.com", true }, { "helpgoabroad.com", true }, + { "helpmij.cf", true }, { "helppresta.com", true }, { "helpstarloja.com.br", true }, { "helsinki.dating", true }, @@ -12404,6 +12159,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hentschke-invest.de", true }, { "heppler.net", true }, { "heptafrogs.de", true }, + { "hepteract.us", true }, { "heptner24.de", true }, { "her25.com", true }, { "herbal-id.com", true }, @@ -12457,7 +12213,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "heycms.com", false }, { "heyfringe.com", true }, { "hfbg.nl", true }, - { "hfu.io", true }, { "hg.python.org", true }, { "hg0088.vip", true }, { "hg718.com", true }, @@ -12514,7 +12269,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hiddenmalta.net", true }, { "hiddenprocess.com", true }, { "hideallip.com", true }, - { "hidedd.com", true }, { "hideouswebsite.com", true }, { "hidroshop.com.br", true }, { "hieu.com.au", true }, @@ -12571,6 +12325,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hiqfranchise.co.uk", true }, { "hiqonline.co.uk", true }, { "hirake55.com", true }, + { "hiraku.me", false }, { "hiratake.xyz", true }, { "hire-a-coder.de", true }, { "hireabouncycastle.net", true }, @@ -12588,7 +12343,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "historia-arte.com", true }, { "history.google.com", true }, { "history.pe", true }, - { "hitchunion.org", true }, { "hiteco.com", true }, { "hitmanstat.us", true }, { "hitoapi.cc", true }, @@ -12626,10 +12380,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hm1ch.com", true }, { "hm773.net", true }, { "hmhotelec.com", false }, - { "hmksq.ae", true }, { "hmoegirl.com", true }, { "hms-waldmann.de", true }, - { "hmsseahawk.com", true }, { "hn.search.yahoo.com", false }, { "hoahau.org", true }, { "hobby-drechselei.de", true }, @@ -12726,7 +12478,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "homeyou.com", true }, { "homezhi.com.tw", true }, { "hommeatoutfaire.be", true }, - { "homoglyph.net", true }, { "homophoni.com", true }, { "hompus.nl", false }, { "honda-centrum.cz", true }, @@ -12752,7 +12503,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hoowhen.cn", true }, { "hopconseils.ch", true }, { "hopconseils.com", true }, - { "hopesb.org", true }, { "hopewellproperties.co.uk", true }, { "hopglass.eu", true }, { "hopglass.net", true }, @@ -12766,7 +12516,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "horeizai.net", true }, { "horisonttimedia.fi", true }, { "horizonhomes-samui.com", true }, - { "horizonshypnosis.ca", true }, { "horkel.cf", true }, { "hornyforhanzo.com", true }, { "horodance.dk", true }, @@ -12787,13 +12536,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hostadvice.com", true }, { "hostam.link", true }, { "hostarea51.com", true }, - { "hosted-oswa.org", true }, { "hostedbgp.net", true }, { "hostedcomments.com", true }, { "hostedtalkgadget.google.com", true }, { "hostfission.com", true }, - { "hostfuture.co.in", true }, { "hostgigz.com", true }, + { "hostingactive.it", true }, { "hostingfirst.nl", true }, { "hostinghelp.guru", true }, { "hostinginnederland.nl", true }, @@ -12811,6 +12559,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hot-spa.ch", true }, { "hotcandlestick.com", true }, { "hotchillibox.co.za", true }, + { "hotchillibox.com", true }, { "hotel-huberhof.at", true }, { "hotel-kronjuwel.de", true }, { "hotel-le-vaisseau.ch", true }, @@ -12818,7 +12567,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hotel-rosner.at", true }, { "hotelflow.com.br", true }, { "hotelident.de", true }, - { "hotelmadhuwanvihar.com", true }, { "hotelmap.com", true }, { "hotelsinformer.com", true }, { "hotelvalena.com", true }, @@ -12850,7 +12598,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "how2fsbo.com", true }, { "how2play.pl", true }, { "howa-n.net", true }, - { "howardtyson.com", true }, { "howardwatts.co.uk", true }, { "howbehealthy.com", true }, { "howbigismybuilding.com", true }, @@ -12866,7 +12613,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "howtogosolar.org", true }, { "howtolaser.com", true }, { "hozana.si", false }, - { "hp-work.net", true }, { "hp42.de", true }, { "hpac-portal.com", true }, { "hpbn.co", true }, @@ -12876,7 +12622,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hpkp-faq.de", true }, { "hpnow.com.br", true }, { "hqq.tv", true }, - { "hqwebhosting.tk", true }, + { "hqwebhosting.tk", false }, { "hr98.xyz", true }, { "hrabogados.com", true }, { "hraesvelg.net", true }, @@ -12896,7 +12642,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hs-arbeitsschutz.de", true }, { "hs-group.net", true }, { "hscorp.de", true }, - { "hserver.top", true }, { "hsivonen.com", true }, { "hsivonen.fi", true }, { "hsivonen.iki.fi", true }, @@ -12945,6 +12690,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hub385.com", true }, { "huberulrich.de", true }, { "hubok.net", true }, + { "huchet.me", true }, { "hudhaifahgoga.co.za", true }, { "hudingyuan.cn", true }, { "hudrydum.cz", true }, @@ -12965,7 +12711,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "huissier-vosges.com", true }, { "huitaodang.com", true }, { "hukaloh.com", true }, - { "hukkatavara.com", true }, { "hukutuu.com", true }, { "hulet.tech", true }, { "hulldevs.net", true }, @@ -12998,12 +12743,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "humblebeeshop.ca", true }, { "humblebeeshop.com.au", true }, { "hummy.tv", true }, - { "hump.dk", true }, { "humpen.se", true }, { "hund.io", true }, { "hundeformel.de", true }, { "hundter.com", true }, - { "hunger.im", true }, { "hunter.io", true }, { "huntingdonbouncers.co.uk", true }, { "huntingdonlifesciences.com", true }, @@ -13011,6 +12754,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hup.hu", true }, { "hupp.se", true }, { "hurd.is", true }, + { "huren.nl", true }, { "huroji.com", true }, { "hurricanelabs.com", false }, { "husakbau.at", true }, @@ -13027,7 +12771,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "huwcbjones.co.uk", true }, { "huwcbjones.uk", true }, { "huxley.net", true }, - { "huzurmetal.net", true }, { "hvdbox.de", true }, { "hverdagogkink.no", true }, { "hvh.no", true }, @@ -13096,7 +12839,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "i496.eu", true }, { "i4m1k0su.com", true }, { "i5y.co.uk", true }, - { "i879.com", true }, { "i95.me", false }, { "iaco.li", true }, { "iactu.info", true }, @@ -13140,6 +12882,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "icasnetwork.com", true }, { "icbemp.gov", true }, { "iccpublisher.com", true }, + { "icebat.dyndns.org", true }, { "iceberg.academy", true }, { "icebound.win", true }, { "icecars.net", true }, @@ -13156,6 +12899,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "iconomi.net", true }, { "icpc.pp.ua", true }, { "icpc2016.in.th", true }, + { "icq-project.net", true }, { "icsadviseurs.nl", true }, { "icsfinomornasco.gov.it", true }, { "icsfinomornasco.it", true }, @@ -13167,7 +12911,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ictinforensics.org", true }, { "ictl.eu", true }, { "ictradar.com", true }, - { "icusignature.com", true }, { "icyapril.com", true }, { "icymint.me", true }, { "icys2017.com", true }, @@ -13232,6 +12975,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "iemas.azurewebsites.net", true }, { "ienakanote.com", false }, { "ieval.ro", true }, + { "iewar.com", true }, { "iexpert9.com", true }, { "ifamily.top", false }, { "ifan.ch", true }, @@ -13240,7 +12984,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ifconfig.co", true }, { "ifelse.io", true }, { "ifengge.cn", true }, - { "ifengge.me", true }, { "ifightsurveillance.com", true }, { "ifightsurveillance.net", true }, { "ifightsurveillance.org", true }, @@ -13262,7 +13005,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "iggprivate.com", true }, { "iggsoft.com", true }, { "iggsoftware.com", true }, - { "igi.codes", true }, { "igiftcards.de", true }, { "igimusic.com", true }, { "igk.nz", true }, @@ -13280,7 +13022,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "igsmgmt.com", true }, { "iguana.com.ec", false }, { "ih8sn0w.com", true }, - { "ihacklabs.com", false }, + { "ihacklabs.com", true }, { "ihatethissh.it", true }, { "ihc.im", true }, { "ihkk.net", true }, @@ -13289,7 +13031,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ihostup.net", true }, { "ihrhost.com", true }, { "iideaz.org", true }, - { "iilin.com", true }, + { "iilin.com", false }, { "iiong.com", false }, { "iirii.com", true }, { "iix.se", true }, @@ -13308,12 +13050,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ikkatsu-satei.jp", true }, { "ikkoku.de", true }, { "iklive.org", false }, - { "ikocik.sk", true }, { "ikulist.me", true }, { "ikvts.de", true }, { "ikwilthepiratebay.org", true }, - { "ikzoekeengoedkopeauto.nl", true }, - { "ikzoekjeugdhulp.nl", true }, { "ila.fi", true }, { "ilamparas.at", true }, { "ilamparas.co.uk", true }, @@ -13386,14 +13125,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "imefuniversitario.org", true }, { "imex-dtp.com", true }, { "imforza.com", true }, - { "img.ovh", true }, { "imga.ch", true }, { "imgaa.com", true }, - { "imgencrypt.com", true }, { "imgg.es", true }, { "imgul.net", true }, { "imguoguo.com", true }, - { "imgup.co", true }, { "imguploaden.nl", true }, { "imi-rhapsody.eu", true }, { "imirhil.fr", true }, @@ -13402,10 +13138,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "imjustcreative.com", true }, { "imkerei-freilinger.de", true }, { "imkerverein-moenchswald.de", true }, - { "imlinan.cn", true }, { "imlinan.com", true }, - { "imlinan.info", true }, - { "imlinan.net", true }, { "imlonghao.com", true }, { "immanuel60.hu", true }, { "immersivewebportal.com", true }, @@ -13566,14 +13299,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "infovae-idf.com", true }, { "infovision-france.com", true }, { "infoweb.ee", true }, - { "infoworm.org", true }, { "infra-con.dk", false }, - { "infranix.eu", true }, { "infrapirtis.lt", true }, { "ingalabs.hu", true }, { "ingalls.run", true }, { "ingber.com", true }, { "inge-r.nl", true }, + { "ingeeibach.de", true }, { "ingenium.si", true }, { "ingenius.ws", true }, { "ingerhy.com", true }, @@ -13602,7 +13334,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "inkontriamoci.com", true }, { "inksay.com", true }, { "inkthemes.com", true }, - { "inkvisual.tk", true }, { "inline-sport.cz", true }, { "inlink.ee", true }, { "inmaps.xyz", true }, @@ -13642,7 +13373,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "insertcoins.net", true }, { "insgesamt.net", true }, { "inshapenutrition.com.br", true }, - { "insho.fashion", true }, + { "insho.fashion", false }, { "insideaudit.com", true }, { "insidethefirewall.tk", true }, { "insightera.co.th", true }, @@ -13661,11 +13392,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "instagram-atom.appspot.com", true }, { "instagrammernews.com", true }, { "instagramtweet.com", true }, + { "installgentoo.net", true }, { "instant-hack.io", true }, { "instant.io", true }, { "instantkhabar.com", true }, { "instantsubs.de", true }, - { "instaquiz.ru", true }, { "instava.cz", true }, { "instawi.com", true }, { "instela.com", true }, @@ -13675,7 +13406,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "instinctiveads.com", true }, { "institut-confucius-montpellier.org", true }, { "institutmaupertuis.hopto.org", true }, - { "institutolancaster.com", true }, { "institutulcultural.ro", true }, { "instrumart.ru", false }, { "insult.es", true }, @@ -13722,8 +13452,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "interlingvo.biz", true }, { "intermax.nl", true }, { "intermedinet.nl", true }, - { "intermezzo-emmerich.de", true }, - { "intermezzo-emmerich.nl", true }, { "internaluse.net", true }, { "international-arbitration-attorney.com", true }, { "internationalfashionjobs.com", true }, @@ -13742,13 +13470,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "internetoffensive.fail", true }, { "internetovehazardnihry.cz", true }, { "internetpro.me", true }, - { "internetradiocharts.de", true }, { "internetstaff.com", true }, { "internetzentrale.net", true }, - { "internshipandwork.ru", true }, { "interociter-enterprises.com", true }, { "interracial.dating", true }, - { "intersectraven.net", true }, { "interseller.io", true }, { "intertime.services", true }, { "interview-suite.com", true }, @@ -13760,7 +13485,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "intl-webs.com", true }, { "intmissioncenter.org", true }, { "into.technology", true }, - { "intocities.de", false }, { "inton.biz", true }, { "intoparking.com", false }, { "intracom.com", true }, @@ -13794,7 +13518,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "investir.ch", true }, { "investorforms.com", true }, { "investpay.ru", true }, - { "invinsec.cloud", true }, { "invinsec.com", true }, { "invioinc.com", true }, { "invis.net", true }, @@ -13854,7 +13577,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "iplog.info", true }, { "ipmonitoring.hu", true }, { "ipmotion.ca", true }, - { "ipnetworking.net", true }, { "ipo-times.com", true }, { "ipokabu.net", true }, { "ipomue.com", false }, @@ -13968,7 +13690,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "isolta.se", true }, { "isondo.com", true }, { "isonet.fr", true }, - { "isopres.de", true }, { "isoroc-nidzica.pl", true }, { "isotope.gov", true }, { "isotopes.gov", true }, @@ -14051,7 +13772,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "iteli.eu", true }, { "iterader.com", true }, { "iterror.co", true }, - { "itfaq.nl", true }, { "itfensi.net", true }, { "itfh.eu", true }, { "itfix.cz", true }, @@ -14069,9 +13789,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "itochan.jp", true }, { "itooky.com", true }, { "itpro.ua", true }, - { "itrack.in.th", true }, { "itraveille.fr", true }, - { "itring.pl", true }, + { "itring.pl", false }, { "itruss.com.tw", true }, { "its-future.com", true }, { "its-gutachten.de", true }, @@ -14093,7 +13812,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "itsok.de", true }, { "itspartytimeonline.co.uk", true }, { "itspartytimesweetinflations.com", true }, - { "itspawned.com", true }, { "itspersonaltraining.nl", true }, { "itsryan.com", true }, { "itsstefan.eu", true }, @@ -14104,7 +13822,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "itzap.com.au", true }, { "ivanbenito.com", true }, { "ivancacic.com", false }, - { "ivanilla.org", true }, { "ivanmeade.com", true }, { "ivaoru.org", true }, { "ivfausland.de", true }, @@ -14118,6 +13835,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ivi.pt", true }, { "ivinet.cl", true }, { "ivitalia.it", true }, + { "ivo.co.za", true }, { "ivor.io", true }, { "ivor.is", true }, { "ivorvanhese.com", true }, @@ -14131,7 +13849,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "iwalton.com", true }, { "iwell.de", true }, { "iwex.swiss", true }, - { "iwizerunek.pl", true }, { "iwos.io", true }, { "iww.me", true }, { "iww.mx", true }, @@ -14166,8 +13883,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ja.md", true }, { "jaakkohannikainen.fi", true }, { "jaalits.com", true }, + { "jaaxypro.com", true }, { "jaba.hosting", true }, { "jababu.cz", true }, + { "jabbari.io", true }, { "jabbas.eu", true }, { "jabber.at", true }, { "jabberfr.org", true }, @@ -14187,7 +13906,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jackyliao123.tk", true }, { "jackyyf.com", false }, { "jaco.by", true }, - { "jacobdevans.com", true }, { "jacobhaug.com", true }, { "jacobi-server.de", true }, { "jacobian.org", true }, @@ -14204,8 +13922,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jahner.xyz", true }, { "jahofmann.de", true }, { "jailbreakingisnotacrime.org", true }, - { "jaimechanaga.com", true }, - { "jaion.ml", true }, + { "jaispirit.com", false }, { "jaitnetworking.com", false }, { "jakarta.dating", true }, { "jake.eu.org", true }, @@ -14223,7 +13940,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jakobssystems.net", true }, { "jakpremyslet.cz", true }, { "jaksch.biz", true }, - { "jaksel.id", true }, { "jaksi.io", true }, { "jakub-boucek.cz", true }, { "jakubboucek.cz", true }, @@ -14235,13 +13951,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "james-loewen.com", true }, { "jamesachambers.com", true }, { "jamesaimonetti.com", true }, - { "jamesandanneke.com", true }, { "jamesbillingham.com", true }, { "jamesbradach.com", false }, { "jamesdorf.com", true }, { "jamesevans.is", true }, { "jamesgreenfield.com", true }, - { "jamesheald.com", true }, { "jameshemmings.co.uk", true }, { "jameshost.net", true }, { "jameshunt.us", false }, @@ -14259,6 +13973,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jamiemagee.co.uk", true }, { "jamiemagee.dk", true }, { "jamiepeters.nl", true }, + { "jamieweb.net", true }, { "jammucake.com", true }, { "jammysplodgers.co.uk", true }, { "jamon.ca", true }, @@ -14287,7 +14002,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "janokacer.sk", true }, { "janosh.com", true }, { "janschaumann.de", true }, - { "janssen.fm", true }, { "janssenwigman.nl", true }, { "janverlaan.nl", true }, { "jaot.info", true }, @@ -14303,7 +14017,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jardiniersduminotaure.fr", true }, { "jaredeberle.org", false }, { "jaredfernandez.com", true }, - { "jarivisual.com", true }, { "jarl.ninja", true }, { "jarniashop.se", true }, { "jaroku.com", true }, @@ -14351,12 +14064,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jbt-stl.com", true }, { "jcaicedo.com", true }, { "jcaicedo.tk", true }, - { "jccars-occasions.be", true }, - { "jcraft.us", true }, { "jcwodan.nl", true }, { "jcyz.cf", true }, { "jd-group.co.uk", true }, - { "jd1.de", true }, { "jdassets.com", true }, { "jdc.io", true }, { "jdcdirectsales.com", true }, @@ -14424,7 +14134,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jennythebaker.com", true }, { "jenolson.net", true }, { "jenprace.cz", true }, - { "jens-prangenberg.de", true }, { "jensrex.dk", true }, { "jepertinger-itconsulting.de", true }, { "jeproteste.info", true }, @@ -14432,7 +14141,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jeremy-chen.org", true }, { "jeremy.hu", true }, { "jeremybentham.com", true }, - { "jeremyc.ca", true }, { "jeremycantu.com", true }, { "jeremycrews.com", true }, { "jeremyness.com", true }, @@ -14461,7 +14169,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jetmirshatri.com", true }, { "jetsetboyz.net", true }, { "jetsieswerda.nl", true }, - { "jettlarue.com", true }, { "jetwhiz.com", true }, { "jetzt-elektromobil.de", true }, { "jeugdkans.nl", true }, @@ -14487,9 +14194,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jhollandtranslations.com", true }, { "jhuang.me", true }, { "jhwestover.com", true }, - { "jiangzm.com", true }, { "jianjia.io", false }, { "jianyuan.pro", true }, + { "jichi.io", true }, + { "jie.dance", true }, { "jigsawdevelopments.com", true }, { "jimbraaten.com", true }, { "jimbutlerkiaparts.com", true }, @@ -14515,23 +14223,21 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jira.com", true }, { "jirav.com", true }, { "jiripudil.cz", true }, - { "jisaku-homepage.com", true }, { "jiveiaktivno.bg", true }, { "jixun.moe", true }, { "jiyusu.com", true }, { "jiyuu-ni.com", true }, { "jiyuu-ni.net", true }, - { "jjf.org.au", true }, { "jjj.blog", true }, { "jjspartyhire.co.uk", true }, { "jjspartytime.co.uk", true }, { "jjvanoorschot.nl", true }, { "jk-entertainment.biz", true }, - { "jka.io", true }, { "jkchocolate.com", true }, { "jkest.cc", true }, { "jkinteriorspa.com", true }, { "jkirsche.com", true }, + { "jkng.eu", true }, { "jkrippen.com", true }, { "jlhmedia.com", true }, { "jlkhosting.com", true }, @@ -14630,6 +14336,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "johnfulgenzi.com", true }, { "johngallias.com", true }, { "johnguant.com", true }, + { "johnkastler.net", true }, { "johnmalloneemd.com", false }, { "johnmcintosh.pro", true }, { "johnmh.me", true }, @@ -14661,14 +14368,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jonas-thelemann.de", true }, { "jonas-wenk.de", true }, { "jonaskjodt.com", true }, - { "jonasmoeller.consulting", false }, { "jonaswitmer.ch", true }, { "jonathan-apps.com", true }, { "jonathancarter.org", true }, + { "jonathandowning.uk", true }, { "jonathandupree.com", true }, { "jonathanmassacand.ch", true }, { "jonathanschle.de", true }, { "jonathanwisdom.com", true }, + { "jondarby.com", true }, { "jondevin.com", true }, { "jonesborostatebank.com", false }, { "jonferwerda.net", true }, @@ -14679,10 +14387,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jonirrings.com", true }, { "jonkermedia.nl", true }, { "jonlabelle.com", true }, - { "jonnybarnes.uk", true }, { "jonnystoten.com", true }, { "jonoalderson.com", true }, + { "jonpads.com", true }, { "jonpavelich.com", true }, + { "jons.org", true }, { "jonscaife.com", true }, { "jooksuratas.ee", true }, { "joomlant.org", true }, @@ -14692,7 +14401,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jopl.org", true }, { "jopsens.de", true }, { "joran.org", true }, - { "jordanhamilton.me", true }, { "jordankmportal.com", true }, { "jordans.co.uk", true }, { "jordanscorporatelaw.com", true }, @@ -14764,7 +14472,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jreb.nl", true }, { "jreinert.com", true }, { "jross.me", true }, - { "jrtapsell.co.uk", false }, + { "jrtapsell.co.uk", true }, { "jrxpress.com", true }, { "js-online.net", false }, { "jschoi.org", true }, @@ -14797,7 +14505,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "juchit.at", true }, { "judc-ge.ch", true }, { "judoprodeti.cz", true }, - { "judosaintdenis.fr", true }, { "juegosycodigos.es", true }, { "juegosycodigos.mx", true }, { "juergen-elbert.de", true }, @@ -14810,6 +14517,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "juice.codes", true }, { "juiced.gs", true }, { "juku-info.top", true }, + { "juku-wing.jp", true }, { "julegoerke.de", true }, { "julenlanda.com", true }, { "julian-weigle.de", true }, @@ -14889,8 +14597,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "justgalak.com", true }, { "justgalak.org", true }, { "justice.gov", false }, + { "justice4assange.com", true }, { "justinellingwood.com", true }, - { "justinharrison.ca", true }, { "justinho.com", true }, { "justinstandring.com", true }, { "justnu.se", false }, @@ -14906,7 +14614,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jva-wuerzburg.de", true }, { "jvanerp.nl", true }, { "jvbouncycastlehire.co.uk", true }, - { "jvn.com", true }, + { "jvn.com", false }, { "jvphotoboothhire.co.uk", true }, { "jvwdev.nl", true }, { "jwatt.org", true }, @@ -14928,16 +14636,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "k-tube.com", true }, { "k258059.net", true }, { "k2mts.org", true }, - { "k33k00.com", true }, - { "k3nny.fr", true }, { "k82.org", true }, { "k8r.eu", true }, { "k9swx.com", true }, { "kaamoscreations.com", true }, { "kaanduman.com", true }, { "kaangenc.me", true }, - { "kaasbijwijn.nl", true }, - { "kaashosting.nl", true }, { "kaatha-kamrater.se", true }, { "kab-s.de", true }, { "kabashop.com.br", true }, @@ -14955,7 +14659,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kafoom.de", true }, { "kaheim.de", false }, { "kai-ratzeburg.de", true }, - { "kaibol.com", true }, { "kaigojj.com", true }, { "kaika-hms.de", true }, { "kaileymslusser.com", true }, @@ -14991,15 +14694,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kall.is", true }, { "kallies-net.de", true }, { "kalmar.com", true }, - { "kaloix.de", true }, { "kalsbouncies.com", true }, { "kaltenbrunner.it", true }, { "kalterersee.ch", true }, { "kamalame.co", true }, { "kamikaichimaru.com", true }, + { "kamikatse.net", true }, { "kamixa.se", true }, { "kana.me", true }, - { "kanaanonline.org", true }, { "kanaete-uranai.com", true }, { "kanagawachuo-hospital.jp", true }, { "kanal-schaefer.de", true }, @@ -15010,7 +14712,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kandec.co.jp", true }, { "kanecastles.com", true }, { "kanehusky.com", true }, - { "kanganer.com", true }, { "kangaroo-bouncycastle.co.uk", true }, { "kangarooislandholidayaccommodation.com.au", true }, { "kangaroojacks.co.uk", true }, @@ -15022,7 +14723,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kangaroovalleywoodcrafts.com.au", true }, { "kangkai.me", true }, { "kangooroule.fr", true }, - { "kangzaber.com", true }, { "kanis.ag", true }, { "kankimaru.com", true }, { "kanmitao.com", true }, @@ -15065,7 +14765,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "karit.nz", true }, { "karjala-ski.ru", true }, { "karlbowden.com", true }, - { "karlic.net", true }, { "karlis-kavacis.id.lv", true }, { "karlsmithmn.org", true }, { "karlstabo.se", true }, @@ -15080,7 +14779,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "karn.nu", true }, { "karneid.info", true }, { "karpanhellas.com", false }, - { "karsofsystems.com", true }, { "kartacha.com", true }, { "kartec.com", true }, { "kartonmodellbau.org", true }, @@ -15095,7 +14793,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kastankaoffice.cz", true }, { "kastelruth.biz", true }, { "kat.al", true }, - { "katalogakci.cz", true }, { "katalogbutikker.dk", true }, { "katata-kango.ac.jp", true }, { "katedra.de", true }, @@ -15119,7 +14816,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kattenfun.be", true }, { "kattenfun.nl", true }, { "katyl.info", false }, - { "katyusha.net", true }, { "katzspeech.com", true }, { "kau-boys.com", true }, { "kau-boys.de", true }, @@ -15128,7 +14824,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kausta.me", true }, { "kavik.no", true }, { "kavovary-kava.cz", true }, - { "kawaii.io", true }, { "kawaiii.link", true }, { "kaweus.de", true }, { "kayakabovegroundswimmingpools.com", true }, @@ -15160,7 +14855,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kcolford.com", true }, { "kcore.org", true }, { "kcptun.com", true }, - { "kcsordparticipation.org", true }, { "kd.net.nz", true }, { "kdex.de", true }, { "kdw.cloud", true }, @@ -15205,7 +14899,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kellyandantony.com", true }, { "kellygrenard.com", true }, { "kellyskastles.co.uk", true }, - { "kelm.me", true }, { "kelmarsafety.com", true }, { "kempkens.io", true }, { "kemptown.co.uk", true }, @@ -15236,10 +14929,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kensbouncycastles.co.uk", true }, { "kentec.net", true }, { "kenterlis.gr", true }, - { "kenyons.info", true }, { "keops-spine.fr", true }, { "keops-spine.us", true }, - { "kepkonyvtar.hu", true }, { "kepler-seminar.de", true }, { "kerebro.com", true }, { "kerem.xyz", true }, @@ -15261,7 +14952,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kettner.com", true }, { "ketty-voyance.com", true }, { "kevinapease.com", true }, - { "kevinbowers.me", true }, { "kevinbusse.de", true }, { "kevincox.ca", false }, { "kevinfoley.cc", true }, @@ -15288,13 +14978,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "keyinfo.io", true }, { "keypersonins.com", true }, { "keys.fedoraproject.org", true }, - { "keyserver.sexy", false }, { "keystoneok.com", true }, { "keysupport.org", true }, { "kf7joz.com", true }, - { "kfv-kiel.de", true }, + { "kfv-kiel.de", false }, { "kfz-hantschel.de", true }, - { "kgb.us", true }, { "kgnk.ru", true }, { "khanovaskola.cz", true }, { "khas.co.uk", true }, @@ -15322,7 +15010,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kiddyboom.ua", true }, { "kids-at-home.ch", true }, { "kids-castles.com", true }, - { "kids2day.in", true }, { "kidsforsavingearth.org", true }, { "kidsinwoods-interfacesouth.org", true }, { "kidsmark.net", true }, @@ -15342,17 +15029,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kielderweather.org.uk", true }, { "kienlen.org", true }, { "kiesuwkerstkaart.nl", true }, - { "kievradio.com", true }, { "kiffmarks.com", true }, { "kigmbh.com", true }, { "kikbb.com", true }, { "kiki-voice.jp", true }, { "kiku.pw", true }, - { "kikuzuki.org", false }, + { "kikuzuki.org", true }, { "kilerd.me", true }, { "kilianvalkhof.com", true }, { "kill-paff.com", true }, { "killaraapartments.com.au", true }, + { "killerit.in", true }, { "killerrobots.com", true }, { "killymoonbouncycastles.com", true }, { "kilobyte22.de", true }, @@ -15379,7 +15066,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "king-of-the-castles.com", true }, { "kingant.net", true }, { "kinganywhere.eu", true }, - { "kingbird.me", true }, { "kingdomcrc.org", true }, { "kingiescastles.co.uk", true }, { "kinglaksa.com", false }, @@ -15388,7 +15074,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kingofthecastlesentertainments.co.uk", true }, { "kingofthecastlesouthwales.co.uk", true }, { "kingofthecastlesrhyl.co.uk", true }, - { "kingopen.cn", true }, { "kingpincages.com", true }, { "kingqueen.org.uk", true }, { "kingstclinic.com", true }, @@ -15414,8 +15099,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kippenbart.gq", true }, { "kipriakipita.gr", true }, { "kiraboshi.xyz", true }, - { "kiragameforum.net", true }, - { "kirainmoe.com", true }, { "kiraku.co", true }, { "kirbear.com", true }, { "kirche-dortmund-ost.de", true }, @@ -15423,8 +15106,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kirchengemeinde-markt-erlbach.de", true }, { "kircp.com", true }, { "kirei.se", true }, - { "kirig.ph", true }, - { "kirill.ws", true }, + { "kirig.ph", false }, { "kirillpokrovsky.de", true }, { "kirinas.com", true }, { "kirkovsky.com", true }, @@ -15444,7 +15126,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kitchen-profi.by", true }, { "kitchen-profi.com.ua", true }, { "kitchen-profi.kz", true }, - { "kitchenpunx.com", false }, { "kiteadventure.nl", true }, { "kitegarage.eu", true }, { "kiteschoolamsterdam.nl", true }, @@ -15468,7 +15149,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kjaer.io", true }, { "kjarni.cc", true }, { "kjarrval.is", true }, - { "kjchernov.info", true }, { "kjellner.com", true }, { "kjellvn.net", true }, { "kk-neudorf-duissern.de", false }, @@ -15498,7 +15178,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "klebetape.de", true }, { "kledingrekken.nl", true }, { "kleidertauschpartys.de", true }, - { "kleinblogje.nl", false }, { "kleine-dingen.nl", true }, { "kleineanfragen.de", true }, { "kleinfein.co", true }, @@ -15506,7 +15185,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kleinreich.de", true }, { "kleinserienproduktion.com", true }, { "kleinsys.com", true }, - { "klempnershop.eu", true }, { "kleteckova.cz", true }, { "klickstdu.com", true }, { "kliemann.me", true }, @@ -15522,7 +15200,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "klm-huisjes.nl", true }, { "klmhouses.com", true }, { "klocker-ausserlechner.com", true }, - { "kloentrup.de", true }, { "kloia.com", true }, { "klosko.net", true }, { "klotz-labs.com", true }, @@ -15548,13 +15225,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "knep.me", true }, { "kngk-azs.ru", true }, { "kngk-group.ru", true }, + { "kngk-transavto.ru", true }, { "kngk.org", true }, { "kngkng.com", true }, { "kniga.market", true }, { "knight-industries.org", true }, { "knightsblog.de", true }, { "knightsbridge.net", true }, - { "knightsweep.com", true }, { "knip.ch", true }, { "kniwweler.com", true }, { "knnet.ch", true }, @@ -15575,8 +15252,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "koboldcraft.ch", true }, { "kobolya.hu", true }, { "kodak-ism.com", true }, - { "kodakit.com", true }, { "kodden.com.br", true }, + { "kode-it.de", true }, { "kode.ch", true }, { "koebbes.de", true }, { "koelbli.ch", true }, @@ -15588,8 +15265,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "koertner-muth.de", true }, { "koethen-markt.de", true }, { "koetjesenkanker.nl", true }, - { "koez-mangal.ch", true }, - { "koezmangal.ch", true }, { "kofler.info", true }, { "kogak.ninja", true }, { "kogi.fr", true }, @@ -15601,11 +15276,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kohsandra.com", true }, { "koi-sama.net", true }, { "koifish.org", true }, - { "kojipkgs.fedoraproject.org", true }, { "kokensupport.com", true }, { "koketteriet.se", true }, { "kokumoto.com", true }, { "koldanews.com", true }, + { "kolin.org", true }, { "kolizaskrap.bg", true }, { "kolja-engelmann.de", true }, { "kolkataflowermall.com", true }, @@ -15644,6 +15319,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "konst.se", true }, { "kontakthuman.hu", true }, { "kontaxis.org", true }, + { "kontorhaus-schlachte.de", true }, { "konyalian.com", true }, { "konzertheld.de", true }, { "koodimasin.ee", true }, @@ -15696,7 +15372,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "koyaanis.com", true }, { "kozuch.biz", true }, { "kpebetka.net", true }, - { "kpfanworld.com", false }, + { "kpfanworld.com", true }, { "kpinvest.eu", true }, { "kplasticsurgery.com", true }, { "kplnet.net", true }, @@ -15711,7 +15387,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kradalby.no", true }, { "kraft.blog", true }, { "kraft.im", true }, - { "kraftfleisch.de", true }, { "krag.be", true }, { "kraga.sk", true }, { "kraiwan.com", true }, @@ -15721,7 +15396,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kralovstvimap.cz", true }, { "kram.nz", true }, { "krambeutel.de", true }, - { "krampus-fischamend.at", true }, { "kramsj.uk", true }, { "krang.org.uk", true }, { "krasavchik.by", true }, @@ -15755,9 +15429,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kristinbailey.com", true }, { "kristofdv.be", true }, { "krizek.cc", true }, - { "krk-media.pl", false }, + { "krizevci.info", true }, { "krmeni.cz", true }, { "krokedil.se", true }, + { "krokodent.de", true }, { "kromamoveis.com.br", true }, { "kromonos.net", true }, { "kronaw.it", true }, @@ -15800,7 +15475,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kubik-rubik.de", false }, { "kubiwa.net", true }, { "kubkprf.ru", true }, - { "kubusadvocaten.nl", true }, { "kuchenschock.de", true }, { "kuchentraum.eu", true }, { "kucheryavenkovn.ru", true }, @@ -15818,10 +15492,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kukal.cz", true }, { "kuketz-blog.de", true }, { "kuketz-security.de", true }, - { "kuko-crews.org", true }, { "kulde.net", true }, { "kulivps.com", true }, - { "kultmobil.se", true }, { "kuma.es", true }, { "kumachan.biz", true }, { "kumalog.com", true }, @@ -15874,7 +15546,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kwcolville.com", true }, { "kwedo.com", true }, { "kwidz.fr", true }, - { "kwikmed.eu", false }, { "kwipi.com", true }, { "kwmr.me", true }, { "kwok.cc", true }, @@ -15903,7 +15574,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kyoto-tomikawa.jp", true }, { "kyoto-tomoshibi.jp", true }, { "kyras-castles.co.uk", true }, - { "kyujin-office.net", true }, { "kyunyuki.com", true }, { "kyusyu.org", true }, { "kyy.me", true }, @@ -15911,7 +15581,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kzsdabas.hu", true }, { "l-lab.org", true }, { "l0re.com", true }, - { "l2guru.ru", true }, { "l4n-clan.de", true }, { "l7plumbing.com.au", true }, { "l7world.com", true }, @@ -15933,10 +15602,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "laboiteanem.fr", true }, { "labouncycastlehire.co.uk", true }, { "labourreedevergheas.fr", true }, - { "laboutiquemarocaineduconvoyeur.com", true }, { "laboxfaitsoncinema.com", true }, - { "labradorpuppiesforsalebyregisteredlabradorbreeders.com", true }, - { "lacasabelucci.com", true }, + { "labradorpuppiesforsalebyregisteredlabradorbreeders.com", false }, { "lacaveducinquantenaire.com", true }, { "lacetsroses.ch", true }, { "lachainedesentrepreneurs.fr", true }, @@ -15978,7 +15645,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "laindonleisure.co.uk", true }, { "lajijonencadebarbera.com", true }, { "lak-berlin.de", true }, - { "lakarwebb.se", true }, { "lakatrop.com", true }, { "lakedavid.com.au", true }, { "lakefrontlittleelm.com", true }, @@ -15989,7 +15655,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lakehavasuhouses.com", true }, { "lakehavasuwebsites.com", true }, { "lakesherwoodelectrical.com", true }, - { "lakewoodcomputerservices.com", true }, { "lakhesis.net", true }, { "lakonia.com.br", true }, { "lalaya.fr", true }, @@ -16009,6 +15674,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lampenwelt.at", true }, { "lampenwelt.ch", true }, { "lan2k.org", true }, + { "lana.swedbank.se", true }, { "lanbroa.eu", true }, { "lanbyte.se", true }, { "lancejames.com", true }, @@ -16017,8 +15683,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lancork.net", true }, { "lancyvbc.ch", true }, { "land.nrw", false }, - { "landbetweenthelakes.us", true }, - { "landell.ml", true }, { "landflair-magazin.de", true }, { "landhaus-christmann.de", true }, { "landinfo.no", true }, @@ -16046,6 +15710,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lanzamientovirtual.es", true }, { "lanzarote-online.info", true }, { "laos.dating", true }, + { "laospage.com", true }, { "laozhu.me", true }, { "lapassiondutrading.com", true }, { "lapetition.be", true }, @@ -16113,7 +15778,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lateralsecurity.com", true }, { "latestdeals.co.uk", true }, { "latetrain.cn", true }, - { "latg.com", true }, { "lathen-wahn.de", true }, { "latino.dating", true }, { "latinphone.com", true }, @@ -16138,7 +15802,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lauraandwill.wedding", true }, { "laurakashiwase.com", true }, { "laurasplacefamilysupport.org.au", true }, - { "laurelblack.com", true }, { "laurelspaandlash.com", true }, { "laurenlobue.com", true }, { "laurent-e-levy.com", true }, @@ -16176,13 +15839,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lazytux.de", true }, { "lazytux.org", true }, { "lb-toner.de", true }, - { "lbarrios.es", true }, { "lbayer.com", true }, { "lbc.gr", true }, { "lbgconsultores.com", true }, { "lbihrhelpdesk.com", true }, { "lbls.me", true }, { "lbphacker.pw", true }, + { "lbrlh.tk", true }, + { "lbrli.tk", true }, { "lbs-logics.com", true }, { "lca-pv.de", true }, { "lce-events.com", true }, @@ -16200,6 +15864,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "le-page.info", true }, { "le-palantir.com", true }, { "le-traiteur-parisien.fr", true }, + { "le0.me", true }, { "le130rb.com", true }, { "le23.fr", true }, { "le42mars.fr", true }, @@ -16258,14 +15923,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "leech360.com", true }, { "leeclemens.net", true }, { "leedev.org", true }, - { "leefindlow.com", true }, { "leelou.wedding", true }, { "leere.me", true }, { "leerkotte.eu", true }, { "leerliga.de", true }, { "leertipp.de", true }, { "leesilvey.com", true }, - { "leet2.com", true }, { "leetcode.com", true }, { "leetcode.net", true }, { "leetgamers.asia", true }, @@ -16298,7 +15961,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "legumefederation.org", true }, { "legumeinfo.org", true }, { "lehighmathcircle.org", true }, - { "lehtinen.xyz", true }, { "leibniz-remscheid.de", false }, { "leideninternationalreview.com", true }, { "leifdreizler.com", false }, @@ -16325,12 +15987,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lemonop.com", true }, { "lemonrockbiketours.com", true }, { "lemuslimpost.com", true }, + { "lenagroben.de", true }, { "lence.net", true }, { "lenguajedeprogramacion.com", true }, { "lengzzz.com", true }, { "lenidh.de", true }, { "leninalbertop.com.ve", true }, - { "lenn1.de", true }, + { "lenkunz.me", true }, { "lennier.info", true }, { "lennyfaces.net", true }, { "lennyobez.be", true }, @@ -16347,7 +16010,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "leodaniels.com", true }, { "leola.cz", true }, { "leola.sk", true }, - { "leolana.com", true }, { "leominstercu.com", false }, { "leon-tech.com", true }, { "leon.net", true }, @@ -16361,13 +16023,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lepenetapeti.com", true }, { "lepiquillo.fr", true }, { "leponton-lorient.fr", true }, - { "leppis-it.de", true }, { "leprado.com", true }, { "lepsos.com", true }, { "lereporter.ma", true }, { "leretour.ch", true }, { "lerku.com", true }, - { "lerlivros.online", true }, { "lernenamsee.ch", true }, { "lernerspersonalinjury.ca", true }, { "lernorteuropa.com", true }, @@ -16382,7 +16042,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lesberger.ch", true }, { "lesbiansslaves.com", true }, { "lesbofight.com", true }, - { "lescomptoirsdepierrot.com", true }, { "leseditionsbraquage.com", true }, { "lesformations.net", true }, { "lesgoodnews.fr", true }, @@ -16422,7 +16081,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lettersblogatory.com", true }, { "lettland-firma.com", true }, { "lettori.club", true }, - { "leu.to", false }, { "leuenhagen.com", true }, { "leuthardtfamily.com", true }, { "levans.fr", true }, @@ -16440,7 +16098,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lewdawson.com", true }, { "lewis.li", true }, { "lewisdatasecurity.com", true }, - { "lewisjuggins.co.uk", true }, { "lewislaw.com", true }, { "lewisllewellyn.me", true }, { "lewisseals.com", true }, @@ -16452,7 +16109,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lexxyn.nl", true }, { "lezard-com.fr", true }, { "lfashion.eu", true }, - { "lfaz.org", true }, { "lfgss.com", true }, { "lfrconseil.com", true }, { "lgbt.io", true }, @@ -16461,7 +16117,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lgsg.us", true }, { "lhalbert.xyz", true }, { "lhasaapso.com.br", true }, - { "lhconsult.tk", true }, + { "lhconsult.tk", false }, { "lheinrich.com", true }, { "lheinrich.de", true }, { "lhost.su", true }, @@ -16477,14 +16133,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lianye6.cc", true }, { "liaozheqi.cn", true }, { "liaronce.win", true }, - { "liautard.fr", true }, { "lib64.net", true }, { "libbitcoin.org", true }, { "libble.eu", true }, { "libdeer.so", true }, { "liberapay.com", true }, { "libmpq.org", true }, - { "libnull.com", true }, { "librairie-asie.com", true }, { "library-quest.com", true }, { "libraryextension.com", true }, @@ -16522,13 +16176,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lidl-shop.cz", true }, { "lidl-shop.nl", true }, { "lidl-tour.ro", true }, + { "lidlovajogurteka.si", true }, { "lidogr.com", true }, { "lidong.me", true }, { "lidow.eu", true }, - { "liduan.com", true }, - { "liduan.net", true }, { "liebel.org", true }, - { "liebestarot.at", true }, { "lied8.eu", true }, { "liehuojun.com", true }, { "lifanov.com", true }, @@ -16592,7 +16244,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "limix.com", false }, { "limoairporttoronto.net", true }, { "limousineservicezurich.com", true }, - { "limpens.net", false }, { "limpid.nl", true }, { "limules.ch", true }, { "limunana.com", true }, @@ -16628,7 +16279,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "linkonaut.net", true }, { "linky.tk", true }, { "linkycat.com", true }, - { "linley.de", true }, { "linode.com", false }, { "linost.com", true }, { "linostassi.net", true }, @@ -16663,10 +16313,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lionsdeal.com", true }, { "lipartydepot.com", true }, { "lipex.com", true }, + { "lipo.lol", true }, { "lipoabaltimore.org", true }, { "liqd.net", true }, { "liquid.cz", true }, - { "liquidcomm.net", true }, { "liquidhost.co", true }, { "liquidinternet.co", true }, { "liquidradio.pro", true }, @@ -16677,7 +16327,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lisamccorrie.com", true }, { "lisamortimore.com", true }, { "lisburnhottubnbounce.co.uk", true }, - { "lisieuxarquitetura.com.br", true }, { "liskgdt.net", true }, { "lislan.org.uk", true }, { "lisowski-development.com", true }, @@ -16772,13 +16421,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "llm-guide.com", true }, { "lloyd-day.me", true }, { "llslb.com", true }, - { "llvm.us", true }, { "lm-pumpen.de", false }, { "lmcm.io", true }, { "lmddgtfy.net", true }, { "lmerza.com", true }, { "lmintlcx.com", true }, - { "lmkts.com", true }, { "lmmtfy.io", true }, { "lmsptfy.com", true }, { "lmtm.eu", true }, @@ -16794,7 +16441,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "loancompare.co.za", true }, { "loandolphin.com.au", true }, { "loanmatch.sg", true }, - { "loanstreet.be", true }, { "loanstreet.nl", true }, { "lobin21.com", true }, { "lobivia.de", true }, @@ -16812,20 +16458,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "locatorplus.gov", true }, { "locauxrama.fr", true }, { "locchat.com", true }, - { "locker.email", false }, + { "locker.email", true }, { "lockify.com", true }, { "lockpick.nl", true }, { "lockpicks.se", true }, { "lockr.io", true }, { "locksport.org.nz", true }, - { "lockyourcomputer.pw", true }, { "locomore.com", true }, { "lodash.com", false }, { "lodgesdureynou.fr", true }, { "loeildansledoigt.fr", true }, { "loenshotel.de", true }, { "loew.de", true }, - { "loforo.com", true }, { "lofttravel.com", true }, { "log.my", false }, { "logaldeveloper.com", true }, @@ -16862,7 +16506,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "logophiliapress.com", true }, { "logopoeia.com", true }, { "logostock.jp", true }, - { "logue.be", true }, { "lohanaflores.com.br", true }, { "loichot.ch", true }, { "lojadamimo.com.br", true }, @@ -16886,10 +16529,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lokaal.org", true }, { "lolcorp.pl", true }, { "lolcow.farm", true }, + { "lolhax.org", true }, { "loli.net", true }, { "loli.pet", true }, { "loli.world", true }, { "lolibrary.org", true }, + { "lolicon.eu", true }, { "lolicon.info", true }, { "lolis.stream", true }, { "lolkot.ru", true }, @@ -16904,7 +16549,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lonal.com", true }, { "lonasdigital.com", true }, { "lonbali.com", true }, - { "london-transfers.com", true }, { "london.dating", true }, { "londongynaecologist.co", true }, { "londonkan.jp", true }, @@ -16931,7 +16575,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lookastic.fr", true }, { "lookastic.mx", true }, { "lookastic.ru", true }, - { "lookatmysco.re", true }, { "lookbetweenthelines.com", true }, { "lookyman.net", true }, { "loom.no", true }, @@ -16939,6 +16582,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "loony.info", true }, { "loophost.com.br", false }, { "loopower.com", true }, + { "loopstart.org", true }, { "loovto.net", true }, { "loperetti.ch", true }, { "loqu8.com", true }, @@ -16947,15 +16591,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lore.azurewebsites.net", true }, { "lorenadumitrascu.ro", true }, { "loritaboegl.de", true }, - { "losebellyfat.pro", true }, { "losless.fr", true }, { "loss.no", true }, + { "lost.host", true }, { "lostandcash.com", true }, { "lostarq.com", true }, { "lostingames.de", true }, { "lostkeys.co.uk", true }, { "lostserver.com", true }, - { "lostwithdan.com", true }, { "loteks.de", true }, { "lothlorien.ca", true }, { "lottosonline.com", true }, @@ -16966,7 +16609,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lou.lt", true }, { "louange-reconvilier.ch", true }, { "loucanfixit.com", true }, - { "louduniverse.net", true }, { "louisvillecarguys.com", true }, { "louisvillevmug.info", true }, { "loune.net", true }, @@ -16988,10 +16630,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lovelens.ch", true }, { "lovelens.li", true }, { "lovelive-anime.tk", true }, - { "lovelive.us", true }, - { "lovelivewiki.com", true }, - { "lovelyfriends.org", true }, - { "lovelytimes.net", true }, { "lovemomiji.com", true }, { "lovemysafetynet.com", true }, { "lovenwishes.com", true }, @@ -17013,7 +16651,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lowsec.space", true }, { "lowsidetna.com", true }, { "lowson.ca", true }, - { "lowtherpavilion.co.uk", true }, { "loyaleco.it", true }, { "lp-support.nl", true }, { "lpacademy.com.br", true }, @@ -17023,7 +16660,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lra-cloud.de", true }, { "lrssystems.com", true }, { "ls-alarm.de", true }, - { "ls-reallife.de", true }, { "ls-rp.es", true }, { "lsc-dillingen.de", true }, { "lsc.gov", true }, @@ -17048,7 +16684,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lucakrebs.de", true }, { "lucasantarella.com", true }, { "lucascantor.com", true }, - { "lucascodes.com", true }, { "lucasem.com", true }, { "lucasgaland.com", true }, { "lucasgymnastics.com", true }, @@ -17065,10 +16700,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "luckyfrog.hk", true }, { "luckystarfishing.com", true }, { "lucy.science", true }, - { "lucyparsonslabs.com", true }, { "lucysan.net", true }, { "ludikovsky.name", true }, { "ludwig.im", true }, + { "ludwiggrill.de", true }, { "ludwigpro.net", true }, { "luehne.de", true }, { "luelistan.net", true }, @@ -17089,19 +16724,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "luizkowalski.net", true }, { "luk.earth", true }, { "luk.photo", true }, - { "lukas-oppermann.de", true }, { "lukas-schauer.de", true }, { "lukas.im", true }, { "lukas2511.de", true }, { "lukasberan.com", true }, { "lukasberan.cz", true }, { "lukasfunk.com", true }, - { "lukasoppermann.com", true }, { "lukasoppermann.de", true }, { "lukasschauer.de", true }, - { "lukasschick.de", true }, + { "lukasschick.de", false }, { "lukaszorn.de", true }, - { "lukasztkacz.com", true }, { "lukatz.de", true }, { "luke.ch", true }, { "lukeistschuld.de", true }, @@ -17153,7 +16785,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "luxcraft.eng.br", true }, { "luxe-it.co.uk", true }, { "luxescreenprotector.nl", true }, - { "luxinmo.com", true }, { "luxsci.com", true }, { "luxuryweddingsindonesia.com", true }, { "luxusnivoucher.cz", true }, @@ -17161,13 +16792,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "luxvacuos.net", true }, { "luxwatch.com", true }, { "luzat.com", true }, - { "luzeshomologadas.com.br", true }, { "lv.search.yahoo.com", false }, { "lv0.it", true }, { "lv5.top", true }, - { "lvmoo.com", true }, { "lvrsystems.com", true }, - { "lwl-foej-bewerbung.de", false }, { "lwl.moe", true }, { "lwl12.com", true }, { "lycee-saintjoseph-mesnieres.fr", true }, @@ -17212,7 +16840,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "m132.eu", true }, { "m2epro.com", true }, { "m2os.com", true }, - { "m4570.xyz", true }, { "m4rcus.de", true }, { "ma-eir.nl", true }, { "ma-plancha.ch", true }, @@ -17233,7 +16860,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "maceinturecuir.com", true }, { "maces-net.de", true }, { "mach-politik.ch", true }, - { "mach1club.com", true }, { "macha.cloud", true }, { "machbach.com", true }, { "machbach.net", true }, @@ -17248,7 +16874,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mackey7.net", true }, { "maclemon.at", true }, { "macleod.io", true }, - { "macleodnc.com", true }, { "macnemo.de", true }, { "macnetwork.eu", true }, { "macnetwork.fr", true }, @@ -17259,7 +16884,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "macoun.de", true }, { "macstore.pe", true }, { "mactools.com.co", true }, - { "macustar.eu", true }, { "madae.nl", true }, { "madbin.com", true }, { "madbouncycastles.co.uk", true }, @@ -17270,7 +16894,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "madeglobal.com", true }, { "madeinchezmoi.net", true }, { "madeinstudio3.com", true }, - { "madeintucson.org", true }, { "madeitwor.se", true }, { "mademoiselledemargaux.com", true }, { "mader.jp", true }, @@ -17284,7 +16907,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "madrants.net", true }, { "madreacqua.org", true }, { "madtec.de", true }, - { "madusecurity.com", true }, { "mae-berlinistanbul.com", true }, { "maedchenflohmarkt.at", true }, { "maedchenflohmarkt.de", true }, @@ -17328,17 +16950,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "magnoliadoulas.com", true }, { "magnoliastrong.com", true }, { "magwin.co.uk", true }, - { "magyarokegyhelyen.hu", true }, { "mahai.me", true }, { "mahansexcavating.com", true }, { "mahatmayoga.org", true }, - { "mahefa.co.uk", true }, { "mahjong.org", true }, { "mahrer.net", true }, { "maiaimobiliare.ro", true }, - { "maidofhonorcleaning.net", true }, { "maiebanatulfruncea.com", true }, - { "maik-mahlow.de", true }, { "mail-rotter.de", true }, { "mail-settings.google.com", true }, { "mail.com", true }, @@ -17350,6 +16968,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mailbox.mg", true }, { "mailbox.org", true }, { "mailer-dot.de", true }, + { "mailfence.com", true }, { "mailflank.com", true }, { "mailinabox.email", true }, { "mailjet.tech", true }, @@ -17377,12 +16996,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "makaleci.com", true }, { "makeaboldmove.com", true }, { "makedin.net", true }, - { "makeit-so.de", true }, + { "makeit-so.de", false }, { "makem-bounce.co.uk", true }, { "makemejob.com", true }, { "makenaiyo-fx.com", true }, { "makeuplove.nl", true }, - { "makeyourank.com", true }, { "makeyourlaws.org", true }, { "makinen.ru", true }, { "makino.games", true }, @@ -17392,14 +17010,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "maku.edu.tr", true }, { "malachiteauth.com", true }, { "malamutedoalasca.com.br", true }, - { "malash.me", true }, { "malasuk.com", true }, { "malaysia.search.yahoo.com", false }, { "malaysian.dating", true }, { "maldives.cx", true }, { "malenyflorist.com.au", true }, { "maliar.fr", true }, - { "malibubeachrecoverycenter.com", true }, { "malibuelectrical.com", true }, { "malik.id", true }, { "malikussa.id", true }, @@ -17414,6 +17030,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mall.hu", true }, { "mall.pl", true }, { "mall.sk", true }, + { "mallach.net", true }, { "mallhonda.com", true }, { "mallner.me", true }, { "mallonline.com.br", true }, @@ -17438,7 +17055,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mammaw.com", true }, { "mammeitalianeavienna.com", true }, { "mammooc.org", true }, - { "mamochka.org.ua", true }, { "mamospienas.lt", true }, { "mamot.fr", false }, { "mamout.xyz", true }, @@ -17449,6 +17065,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "management-ethics.com", true }, { "managementboek.nl", true }, { "managementfeedback.com", true }, + { "manageprojects.com", false }, { "manager-efficacement.com", true }, { "manager.linode.com", false }, { "managewp.org", true }, @@ -17471,7 +17088,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "maniorpedi.com", true }, { "maniosglass.gr", true }, { "manipil.ch", true }, - { "manipulatedtme.com", true }, { "manja-und-martin.de", true }, { "manjaro.ru", true }, { "mankans.com", true }, @@ -17479,10 +17095,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mannford.com", true }, { "mannheimbloggt.tk", true }, { "manns-solutions.co.uk", true }, - { "manns-solutions.com", true }, - { "manns-solutions.ru", true }, { "mannschafft.ch", true }, - { "mannsolutions.co.uk", true }, { "manoirdecontres.com", true }, { "manojsharan.me", true }, { "manova.cz", true }, @@ -17508,7 +17121,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "maone.net", true }, { "maorseo.com", true }, { "maosensanguentadasdejesus.net", true }, - { "maosi.xin", true }, { "maowtm.org", true }, { "maozedong.red", true }, { "map4erfurt.de", true }, @@ -17536,7 +17148,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "marcelsiegert.com", true }, { "marcgoertz.de", true }, { "marche-contre-monsanto.ch", true }, - { "marche-nordic-jorat.ch", true }, { "marciaimportados.com.br", true }, { "marcianoandtopazio.com", true }, { "marco-kretz.de", true }, @@ -17547,7 +17158,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "marcoslater.com", true }, { "marcuskoh.com", true }, { "marcusstafford.com", true }, - { "mardelcupon.com", true }, { "marek.su", true }, { "mareklecian.cz", true }, { "margagriesser.de", true }, @@ -17562,8 +17172,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mariannenan.nl", true }, { "marianwehlus.de", true }, { "mariaolesen.dk", true }, - { "marie-elisabeth.dk", false }, { "marie.club", true }, + { "mariehane.com", true }, { "mariemiramont.fr", true }, { "marikafranke.de", true }, { "marilsnijders.nl", true }, @@ -17598,10 +17208,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "marketio.co", true }, { "marketizare.ro", true }, { "marketnsight.com", true }, - { "markhaehnel.de", false }, + { "markhaehnel.de", true }, { "markido.com", true }, { "markitzeroday.com", true }, - { "marko-fenster24.de", true }, { "markoh.co.uk", true }, { "markom.rs", true }, { "markow.io", true }, @@ -17614,12 +17223,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "marksouthall.com", true }, { "markspres.org", true }, { "markt-heiligenstadt.de", false }, - { "marktcontact.com", true }, { "marktissink.nl", true }, { "markup-ua.com", true }, + { "markus-dev.com", true }, { "markus-ullmann.de", true }, { "markus.design", true }, - { "markusabraham.com", true }, { "markusehrlicher.de", true }, { "markusgran.de", true }, { "markuskeppeler.no-ip.biz", true }, @@ -17661,12 +17269,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "martinkup.cz", true }, { "martinkus.eu", true }, { "martinmuc.de", true }, - { "martinreed.net", true }, { "martins.im", true }, { "martinsfamilyappliance.com", true }, { "martonmihaly.hu", true }, - { "martynhare.co.uk", true }, - { "martynhare.uk", true }, { "maru-life.com", true }, { "maruhoi.com", true }, { "marvinkeller.de", true }, @@ -17690,7 +17295,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "masse.org", true }, { "massflix.com", true }, { "masshiro.blog", true }, - { "massivum.de", false }, { "massoni.pl", true }, { "massotherapeutique.com", true }, { "masta.ch", true }, @@ -17723,7 +17327,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mastodon.top", true }, { "mat99.dk", true }, { "matanz.de", true }, - { "matarrosabierzo.com", true }, { "matatabimix.com", true }, { "match.audio", true }, { "matcha-iga.jp", true }, @@ -17770,8 +17373,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "matthewemes.com", true }, { "matthewfells.com", true }, { "matthewgallagher.co.uk", true }, + { "matthewkenny.co.uk", true }, { "matthewohare.com", true }, - { "matthewtester.com", true }, { "matthey.nl", true }, { "matthi.coffee", true }, { "matthias-muenzner.de", true }, @@ -17780,8 +17383,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "matthiasschwab.de", true }, { "matthieuschlosser.fr", true }, { "matthijssen.info", true }, + { "mattia98.org", true }, { "mattisam.com", true }, - { "mattli.us", true }, { "mattmccutchen.net", true }, { "mattonline.me", true }, { "mattwservices.co.uk", true }, @@ -17806,6 +17409,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "maxdev72.freeboxos.fr", true }, { "maxfox.me", true }, { "maxhamon.ovh", true }, + { "maxhoechtl.at", true }, { "maxhorvath.com", true }, { "maxibanki.ovh", true }, { "maxicore.co.za", true }, @@ -17822,7 +17426,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "maxipcalls.com", true }, { "maxisito.it", true }, { "maxkaul.de", true }, - { "maxmachine.ind.br", true }, { "maxmilton.com", true }, { "maxrandolph.com", true }, { "maxtruxa.com", true }, @@ -17845,9 +17448,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mazda626.net", true }, { "maze.fr", true }, { "mazternet.ru", true }, - { "mazurlabs.tk", true }, { "mazzotta.me", true }, - { "mb-is.info", true }, { "mbaestlein.de", true }, { "mbainflatables.co.uk", true }, { "mbardot.com", true }, @@ -17857,6 +17458,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mbilker.us", true }, { "mbinf.de", false }, { "mbinformatik.de", false }, + { "mbits.solutions", true }, { "mblankhorst.nl", true }, { "mble.mg", true }, { "mbp.banking.co.at", false }, @@ -17881,7 +17483,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mcea-hld.jp", true }, { "mceconferencecentre.eu", true }, { "mcfedries.com", true }, - { "mcgarderen.nl", true }, { "mcgavocknissanwichitaparts.com", true }, { "mcgovernance.com", true }, { "mchopkins.net", true }, @@ -17891,7 +17492,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mckenry.net", true }, { "mckernan.in", true }, { "mckinley.school", true }, - { "mckinley1.com", true }, { "mckinleytk.com", true }, { "mcl.gg", true }, { "mclinflatables.co.uk", true }, @@ -17902,7 +17502,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mcrn.jp", true }, { "mcsinflatables.co.uk", true }, { "mcsniper.co", true }, - { "mctherealm.net", true }, { "mcuong.tk", false }, { "mcynews.com", true }, { "mcyukon.com", true }, @@ -17928,6 +17527,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "me-center.com", true }, { "me-groups.com", true }, { "me.net.nz", true }, + { "meadowfen.farm", true }, { "meadowviewfarms.org", true }, { "mealgoo.com", true }, { "mealz.com", false }, @@ -17966,6 +17566,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mediamarkt.pl", true }, { "mediapart.fr", true }, { "mediaselection.eu", true }, + { "mediastorm.us", true }, { "mediationculturelleclp.ch", true }, { "mediatorzy.waw.pl", true }, { "mediawiki.org", true }, @@ -17974,7 +17575,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "medicalcountermeasures.gov", true }, { "medicinesfast.com", false }, { "medicinia.com.br", true }, - { "medicinskavranje.edu.rs", true }, { "medicocompetente.it", true }, { "medicoresponde.com.br", true }, { "medifab.online", true }, @@ -17982,7 +17582,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "medireport.fr", true }, { "medium.com", true }, { "mediumraw.org", true }, - { "mediweed.tk", true }, { "medlineplus.gov", true }, { "medo64.com", true }, { "medovea.ru", true }, @@ -17997,13 +17596,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "medyotan.ga", true }, { "meedoenhartvanwestbrabant.nl", true }, { "meehle.com", true }, - { "meeko.cc", true }, { "meerutcake.com", true }, { "meet.google.com", true }, { "meetbot.fedoraproject.org", true }, { "meetingfriends.ch", true }, { "meetingmanage.nl", true }, { "meetingmanager.ovh", true }, + { "meetings2.com", true }, { "meetmibaby.co.uk", true }, { "meetmygoods.com", true }, { "meeusen-usedcars.be", true }, @@ -18019,7 +17618,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "megabouncingcastles.com", true }, { "megadrol.com", true }, { "megaflix.nl", true }, - { "megaflowers.ru", true }, { "megagifs.de", true }, { "megainflatables.co.uk", true }, { "megamarkey.de", true }, @@ -18065,7 +17663,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mekongeye.com", true }, { "melakaltenegger.at", true }, { "melaniebernhardt.com", true }, - { "melaniebilodeau.com", true }, { "melaniegruber.de", true }, { "melbourne.dating", true }, { "melbourneapartments.website", true }, @@ -18081,13 +17678,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "melikoff.es", true }, { "melina-schefczyk.de", true }, { "melissaadkins.com", true }, + { "melitopol.co.ua", false }, { "melnessgroup.com", true }, { "melnikov.ch", true }, { "melodic.com.au", true }, { "melodiouscode.net", true }, { "melodrom.de", true }, { "melody-lyrics.com", true }, - { "melpomene.me", true }, { "melted.me", true }, { "meltzow.net", true }, { "melvinlammerts.nl", true }, @@ -18139,7 +17736,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mercadoleal.com.br", true }, { "mercadopago.com", true }, { "mercamaris.es", true }, - { "mercanix.co.uk", true }, { "mercedes-benz.io", true }, { "mercedes-ig.de", true }, { "mercury-studio.com", true }, @@ -18173,10 +17769,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mesvt.com", true }, { "meta-db.com", true }, { "meta.sc", true }, + { "metachris.com", true }, { "metacoda.com", true }, { "metacode.biz", true }, { "metadatawiki.com", true }, { "metaether.net", true }, + { "metalsculpture.co.uk", true }, { "metalu.ch", true }, { "metapeen.nl", true }, { "metasquare.com.au", true }, @@ -18198,8 +17796,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "methylone.com", true }, { "metikam.pl", true }, { "metin2sepeti.com", true }, - { "metrix.design", true }, { "metroairvirtual.com", true }, + { "metrobriefs.com", true }, { "metrolush.com", true }, { "metronaut.de", true }, { "metropop.ch", true }, @@ -18214,10 +17812,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mexican.dating", true }, { "mexicanjokes.net", true }, { "mexicom.org", true }, - { "mexior.nl", true }, - { "meyeraviation.com", true }, { "mf-fischer.de", true }, - { "mfgod.com", true }, + { "mfgod.com", false }, { "mflodin.se", true }, { "mfrsgb45.org", true }, { "mft.global", true }, @@ -18231,7 +17827,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mhalfter.de", true }, { "mhatlaw.com", true }, { "mheistermann.de", true }, - { "mhermans.nl", true }, { "mhi.web.id", true }, { "mhmfoundationrepair.com", true }, { "mi-beratung.de", true }, @@ -18248,7 +17843,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "micado-software.com", true }, { "micaiahparker.com", true }, { "micalodeal.ch", true }, - { "micasamgmt.com", true }, + { "micasamgmt.com", false }, { "micbase.com", true }, { "michael-rigart.be", true }, { "michael-schefczyk.de", true }, @@ -18287,6 +17882,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mico.world", true }, { "miconcinemas.com", true }, { "micr.io", true }, + { "micr0lab.org", true }, { "microbiote-insectes-vecteurs.group", true }, { "microblading.pe", true }, { "microco.sm", true }, @@ -18328,6 +17924,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mijn-financien.be", true }, { "mijnkerstkaarten.be", true }, { "mijnreisoverzicht.nl", true }, + { "mijnsite.ovh", true }, { "mijnstembureau.nl", true }, { "mijntransacties.nl", true }, { "mika.cat", true }, @@ -18344,6 +17941,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mikegerwitz.com", true }, { "mikehamburg.com", true }, { "mikerichards.photography", true }, + { "mikes.tk", true }, { "miketabor.com", true }, { "miketheuer.com", true }, { "mikevesch.com", true }, @@ -18364,7 +17962,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mil-spec.ch", true }, { "mil0.com", true }, { "milahendri.com", true }, - { "milanpala.cz", true }, { "milcahsmusings.com", true }, { "mileme.com", true }, { "milenaria.es", true }, @@ -18373,7 +17970,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "milionshop.sk", true }, { "militaryconsumer.gov", true }, { "milkingit.co.uk", true }, - { "milktea.info", true }, { "millanova.wedding", false }, { "milldyke.com", true }, { "milldyke.nl", true }, @@ -18401,12 +17997,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mind-box.ch", true }, { "mind-hochschul-netzwerk.de", true }, { "mind-moves.es", true }, - { "mind.sh", true }, { "mindbodycontinuum.com", true }, { "mindbodytherapymn.com", true }, { "mindcoding.ro", true }, { "mindercasso.nl", true }, { "mindleaking.org", true }, + { "mindoktor.se", false }, { "mindorbs.com", true }, { "mindturbo.com", true }, { "mindwerks.net", true }, @@ -18427,10 +18023,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "minesouls.fr", true }, { "minez-nightswatch.com", false }, { "minf3-games.de", true }, - { "mingming.info", true }, { "mingram.net", true }, { "mingwah.ch", true }, - { "mingyueli.com", true }, { "minhanossasenhora.com.br", true }, { "mini2.fi", true }, { "minigames.com", true }, @@ -18446,7 +18040,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "minipainting.net", true }, { "miniskipper.at", true }, { "minitrucktalk.com", true }, - { "minkondom.nu", true }, { "minkymoon.jp", true }, { "minnesotakinkyyouth.org", true }, { "minnesotamathcorps.org", true }, @@ -18546,6 +18139,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "miyatore.com", true }, { "miyoshi-kikaku.co.jp", true }, { "miyoshi-kikaku.com", true }, + { "miyugirls.com", true }, { "mizipack.com", true }, { "mizque.ch", true }, { "mizumax.me", true }, @@ -18580,10 +18174,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mktdigital.info", true }, { "mktemp.org", true }, { "mkuznets.com", true }, + { "mkw.st", true }, { "mlcambiental.com.br", true }, { "mlcnfriends.com", true }, { "mlemay.com", true }, - { "mlpvc-rr.ml", true }, { "mlrslateroofing.com.au", true }, { "mlsrv.de", true }, { "mlundberg.se", true }, @@ -18599,7 +18193,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mmmarco.com", true }, { "mmogah.com", true }, { "mmonit.com", true }, - { "mmstick.tk", true }, { "mmt.my", true }, { "mmucha.de", true }, { "mncloud.de", true }, @@ -18617,14 +18210,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mnt9.de", true }, { "mo.nl", true }, { "moa.moe", true }, - { "moar.so", true }, { "mobal.com", true }, { "mobeforlife.com", true }, { "mobidea.com", true }, + { "mobifinans.ru", true }, { "mobil-bei-uns.de", true }, { "mobilcom-debitel-empfehlen.de", true }, { "mobilcom-debitel.de", true }, - { "mobile-gesundheit.org", true }, { "mobile.eti.br", true }, { "mobile.united.com", false }, { "mobile.usaa.com", false }, @@ -18650,7 +18242,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "modafinil.wiki", true }, { "modafo.com", true }, { "modalogi.com", true }, - { "modaperuimport.com", true }, { "modcasts.video", true }, { "modcentral.pw", true }, { "mode-hautnah.de", true }, @@ -18678,7 +18269,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "moehrke.cc", true }, { "moellers.systems", true }, { "moetrack.com", true }, - { "moeyi.xyz", false }, { "mofohome.dyndns.org", true }, { "moha-swiss.com", true }, { "mohanmekap.com", true }, @@ -18702,6 +18292,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mojzisova.com", true }, { "mokadev.com", true }, { "mokeedev.review", true }, + { "mokhtarmial.com", false }, { "mokote.com", true }, { "mokum-organics.com", true }, { "molb.org", true }, @@ -18733,8 +18324,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "moneygo.se", true }, { "moneyhouse.de", true }, { "moneytoday.se", true }, - { "mongla168.net", true }, - { "mongla88.net", true }, { "monique.io", true }, { "moniquedekermadec.com", true }, { "moniquemunhoz.com.br", true }, @@ -18762,6 +18351,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "monpermisvoiture.com", true }, { "monpetitforfait.com", true }, { "monpetitmobile.com", true }, + { "monsieurbureau.com", true }, { "monsieursavon.ch", true }, { "monstermashentertainments.co.uk", true }, { "montage-kaika.de", true }, @@ -18794,7 +18384,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "moonrhythm.io", true }, { "moonshyne.org", true }, { "moonvpn.org", true }, - { "moonysbouncycastles.co.uk", true }, { "moorewelliver.com", true }, { "moorfunevents.co.uk", true }, { "moorparkelectrical.com", true }, @@ -18815,14 +18404,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "morchino.ch", true }, { "morchstore.com", true }, { "mordor.io", false }, - { "mordrum.com", true }, { "moreapp.co.uk", true }, { "morenci.ch", true }, { "morepay.cn", true }, { "moreserviceleads.com", true }, { "morespacestorage.com.au", true }, { "moresw.com", true }, - { "morfitronik.pl", true }, { "morganino.eu", true }, { "morganino.it", true }, { "morgansleisure.co.uk", true }, @@ -18841,6 +18428,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "moshwire.com", true }, { "mosin.org", true }, { "moskeedieren.nl", true }, + { "moso.io", true }, { "mosos.de", true }, { "mosscade.com", true }, { "mosstier.com", true }, @@ -18863,7 +18451,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "motorsplus.com", true }, { "motoryachtclub-radolfzell.de", true }, { "motosikletevi.com", true }, - { "motostorie.blog", true }, + { "motostorie.blog", false }, { "motransportinfo.com", true }, { "mottomortgage.com", true }, { "moube.fr", true }, @@ -18893,14 +18481,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "movinglogistics.nl", false }, { "movingoklahoma.org", true }, { "movingtohttps.com", true }, - { "movio.ga", true }, { "movlib.org", true }, - { "moy.cat", true }, { "moyer.pub", true }, { "moylen.eu", true }, { "moyoo.net", true }, - { "mozart-game.cz", false }, - { "mozartgame.cz", false }, { "mozilla.cz", true }, { "mozillians.org", true }, { "mozzez.de", true }, @@ -18928,7 +18512,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mr-labo.jp", true }, { "mr-nachhilfe.de", true }, { "mr-wolf.nl", true }, - { "mrafrohead.com", true }, { "mrbmafrica.com", true }, { "mrbounce.com", true }, { "mrbouncescrazycastles.co.uk", true }, @@ -18938,18 +18521,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mrd.ninja", true }, { "mrdayman.com", true }, { "mrdleisure.co.uk", true }, - { "mremallin.ca", true }, { "mrevolution.eu", true }, { "mrinalpurohit.in", true }, { "mrjooz.com", true }, { "mrkapowski.com", true }, { "mrketolocksmith.com", true }, - { "mrksk.com", true }, { "mrleonardo.com", true }, + { "mrmoregame.de", true }, { "mrnh.de", true }, { "mrnh.tk", true }, { "mrpropop.com", true }, - { "mrs-labo.jp", true }, { "mrserge.lv", true }, { "mrsk.me", true }, { "mrstat.co.uk", true }, @@ -18992,7 +18573,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mtasa.com", true }, { "mtau.com", true }, { "mtb.wtf", true }, - { "mtcgf.com", true }, { "mtcq.jp", true }, { "mtd.ovh", true }, { "mtfgnettoyage.fr", true }, @@ -19021,9 +18601,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "muenchberger.com", true }, { "muenzubi.de", true }, { "muffet.pw", true }, + { "muga.space", true }, { "muguayuan.com", true }, { "muh.io", true }, - { "muj-svet.cz", true }, { "muk-kobetsu.com", true }, { "mukka.ch", true }, { "mulaccosmetics.com", true }, @@ -19058,7 +18638,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mumbaionlinegifts.com", true }, { "mumei.space", true }, { "mumolabs.com", true }, - { "munch.me", true }, { "munchcorp.com", true }, { "mundoadulto.com.br", true }, { "mundoalpha.com.br", true }, @@ -19068,7 +18647,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mundolarraz.es", true }, { "mundschenk.at", true }, { "mundtec.com.br", true }, - { "munecoscabezones.com", true }, { "munirajiwa.com", true }, { "munki.org", true }, { "munkibuilds.org", true }, @@ -19084,9 +18662,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "murmel.it", false }, { "murof.com.br", true }, { "murraycoin.org", true }, - { "murraycolin.org", true }, { "mursu.directory", true }, - { "murz.tv", true }, { "muscle-tg.com", true }, { "muscleangels.com", true }, { "musclecarresearch.com", true }, @@ -19112,7 +18688,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "musicwear.cz", true }, { "musik-mentaltraining.ch", true }, { "musikverein-elten.de", true }, - { "musikzug-bookholzberg.de", true }, { "musketonhaken.nl", false }, { "muslim.singles", true }, { "musmann.io", true }, @@ -19188,11 +18763,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "myblockchain.cloud", true }, { "mybloggedlife.com", true }, { "mybon.at", false }, - { "mycamda.com", true }, { "mycard.moe", true }, { "mycieokien.info", false }, { "mycircleworks.com", true }, - { "myclientsplus.com", true }, { "myclinicalstudybuddy.com", true }, { "mycloud-system.com", true }, { "mycofairtrade.com", true }, @@ -19237,18 +18810,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mygoldennetwork.com", true }, { "mygpsite.com", true }, { "mygreatjob.eu", true }, + { "mygreatjobs.de", true }, { "mygretchen.de", true }, { "mygrotto.org", true }, { "mygymer.ch", true }, { "myhatsuden.jp", true }, { "myhealthreviews.com", true }, { "myhostname.net", true }, - { "myicare.org", true }, { "myimds.com", true }, { "myimmitracker.com", true }, { "myjumparoo.co.uk", true }, - { "myjumpsuit.de", true }, - { "mykeepsake.xyz", false }, { "myki.co", true }, { "mykontool.de", true }, { "mylatestnews.org", true }, @@ -19262,8 +18833,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mylookout.com", false }, { "mymadina.com", true }, { "mymb.pm", true }, - { "mymed.de", true }, - { "mymed.eu", true }, { "mymommyworld.com", true }, { "mymotor.nl", true }, { "mymp3singer.co", true }, @@ -19274,7 +18843,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mymx.lu", true }, { "myna.go.jp", true }, { "myndcommunication.com", true }, - { "mynetworkingbuddy.com", true }, { "mynext.events", true }, { "mynn.io", true }, { "mynook.info", true }, @@ -19327,7 +18895,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "myschoolphoto.org", true }, { "myseatime.com", true }, { "myself5.de", true }, - { "myshirtsize.com", true }, { "mysignal.com", true }, { "mysize-condooms.nl", true }, { "mysmelly.com", true }, @@ -19361,7 +18928,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mytripcar.fr", true }, { "mytruecare.org", true }, { "mytty.net", true }, - { "mytweeps.com", true }, { "myulog.net", true }, { "myupdatestar.com", true }, { "myupdatestudio.com", true }, @@ -19379,7 +18945,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mz-mz.net", true }, { "mzh.io", true }, { "mziulu.me", false }, - { "mzlog.win", true }, { "mzorn.photography", true }, { "n-design.de", true }, { "n-kanazawa.jp", true }, @@ -19387,7 +18952,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "n-pix.com", false }, { "n-soft.info", true }, { "n-un.de", true }, - { "n0099.cf", true }, { "n0paste.tk", false }, { "n26.com", true }, { "n2servers.com", true }, @@ -19398,7 +18962,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "naam.me", true }, { "nabaleka.com", true }, { "nabankco.com", true }, - { "nabu-bad-nauheim.de", true }, { "nachsendeauftrag.net", true }, { "nachsenden.info", true }, { "nachtmuziek.info", true }, @@ -19455,7 +19018,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "namrs.net", true }, { "namu.moe", true }, { "namu.wiki", true }, - { "nan.ci", true }, { "nanami.moe", true }, { "nanarose.ch", true }, { "nanch.com", true }, @@ -19487,14 +19049,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "naro.se", true }, { "naroska.name", true }, { "narrativasdigitais.pt", true }, - { "narrenverein-wolkenschieber.de", true }, - { "narthollis.net", true }, + { "narthollis.net", false }, { "nasarawanewsonline.com", true }, { "nasbi.pl", true }, { "nasbnation.com", true }, { "nascher.org", false }, { "nasmocopati.com", true }, { "nasrsolar.com", true }, + { "nassi.me", true }, { "nastoletni.pl", true }, { "nastysclaw.com", true }, { "nataldigital.com", true }, @@ -19504,13 +19066,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "natation-nsh.com", true }, { "natatorium.org", true }, { "natchmatch.com", true }, - { "nate.sh", true }, { "natecraun.net", true }, { "natenom.com", true }, { "natenom.de", true }, { "natenom.name", true }, { "nathaliebaron.ch", true }, { "nathaliebaroncoaching.ch", true }, + { "nathan.io", true }, { "nathankonopinski.com", true }, { "nathansmetana.com", true }, { "nathumarket.com.br", true }, @@ -19528,7 +19090,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "naturalcommission.com", true }, { "naturalkitchen.co.uk", true }, { "naturalspacesdomes.com", true }, - { "naturaum.de", true }, { "natureflo.net", true }, { "naturesorganichaven.com", true }, { "naturheilpraxis-orlowsky.de", true }, @@ -19575,7 +19136,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nba2.com", true }, { "nba2k.blog", true }, { "nba2k.cc", true }, + { "nba2k.cn", true }, { "nba2k.co", true }, + { "nba2k.com.cn", true }, { "nba2k.download", true }, { "nba2k.live", true }, { "nba2k.net", true }, @@ -19596,6 +19159,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nbagirls.com", true }, { "nbaim.com", true }, { "nbaimg.com", true }, + { "nbalive.cn", true }, { "nbalivecn.com", true }, { "nbalivex.com", true }, { "nbari.com", true }, @@ -19639,6 +19203,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ne1home.dyndns.org", true }, { "neap.io", true }, { "nearby.in.th", true }, + { "neartothesky.com", true }, { "neatous.cz", true }, { "neatous.net", true }, { "neave.tv", true }, @@ -19669,7 +19234,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "neftebitum-kngk.ru", true }, { "neg9.org", false }, { "negai.moe", true }, - { "negativecurvature.net", true }, { "neglecteddiseases.gov", true }, { "negraelinda.com", true }, { "nehoupat.cz", true }, @@ -19677,12 +19241,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "neillans.com", true }, { "neilwynne.com", true }, { "neio.uk", true }, - { "nejnamc.org", true }, { "neko-nyan-nuko.com", true }, { "neko-nyan.org", true }, { "neko.li", true }, { "neko.ml", true }, { "nekodex.net", true }, + { "nekoku.io", true }, { "nekolove.jp", true }, { "nekomimi.pl", true }, { "nekosc.com", true }, @@ -19720,7 +19284,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nephos.xyz", true }, { "nepovolenainternetovahazardnihra.cz", true }, { "nercp.org.uk", true }, - { "nerdhouse.io", true }, { "nerdjokes.de", true }, { "nerdmind.de", true }, { "nerdoutstudios.tv", true }, @@ -19731,21 +19294,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nerdydev.net", true }, { "nerfroute.com", true }, { "nerot.eu", true }, - { "nerpa-club.ru", true }, { "nerull7.info", true }, { "nerven.se", false }, { "nesantuoka.lt", true }, { "nesolabs.com", true }, { "nesolabs.de", true }, { "nesterov.pw", true }, - { "nestone.ru", true }, { "nestor.nu", true }, { "neswec.org.uk", true }, { "net-safe.info", true }, - { "net2o.com", true }, - { "net2o.de", true }, - { "net2o.net", true }, - { "net4it.de", true }, { "net4visions.at", true }, { "net4visions.de", true }, { "netamia.com", true }, @@ -19775,6 +19332,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nethunter.top", true }, { "netki.com", true }, { "netlentes.com.br", true }, + { "netlocal.ru", true }, { "netmagicas.com.br", true }, { "netmeister.org", true }, { "netnik.de", true }, @@ -19784,11 +19342,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "netronix.be", true }, { "netscaler.expert", true }, { "netsight.org", true }, + { "netsigna.de", true }, { "netsite.dk", true }, { "netsoins.org", true }, { "netsparker.com", false }, - { "netsparkercloud.com", true }, - { "netsystems.pro", true }, { "nette.org", true }, { "nettia.fi", true }, { "netto-service.ch", true }, @@ -19796,6 +19353,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nettopower.dk", true }, { "nettplusultra-rhone.fr", true }, { "nettx.co.uk", true }, + { "netulo.com", true }, { "netvizura.co.uk", true }, { "netwarc.eu", true }, { "netwarc.nl", true }, @@ -19815,6 +19373,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "netzwerkwerk.de", true }, { "neuch.info", true }, { "neuflizeobc.net", true }, + { "neuhaus-city.de", true }, { "neurabyte.com", true }, { "neurexcellence.com", true }, { "neurobiology.com", true }, @@ -19920,7 +19479,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nginxyii.tk", true }, { "ngndn.jp", true }, { "ngocuong.net", true }, - { "ngtoys.com.br", true }, { "ngvf.de", true }, { "ngxpkg.com", true }, { "nhccnews.org", true }, @@ -19932,13 +19490,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ni.search.yahoo.com", false }, { "niadd.com", true }, { "niagara.ru", false }, + { "niagarafalls.ca", true }, { "niagarafallsmuseums.ca", true }, { "niagaraschoice.org", true }, { "nibb13.tech", true }, { "nic.gov", true }, { "niceb5y.net", false }, { "niceguyit.biz", true }, - { "nicesco.re", true }, { "nicestudio.co.il", false }, { "nichijou.com", true }, { "nicholaspruss.com", true }, @@ -20001,7 +19559,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nigelwakefield.com", true }, { "nigensha.co.jp", true }, { "niggemeier.cc", true }, - { "nigger.racing", true }, { "night2stay.cn", true }, { "night2stay.com", true }, { "night2stay.de", true }, @@ -20026,12 +19583,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "niklas.pw", true }, { "niklasbabel.com", true }, { "nikobradshaw.com", true }, - { "nikolaichik.photo", true }, { "nikolasgrottendieck.com", true }, { "nikomo.fi", false }, { "nikz.in", true }, { "nil.gs", true }, - { "nil2.org", true }, { "nilrem.org", true }, { "nimeshjm.com", true }, { "ninaforever.com", true }, @@ -20046,7 +19601,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ninfora.com", true }, { "ning.so", true }, { "ninja-galerie.de", true }, - { "ninjan.co", true }, { "ninofink.com", true }, { "nintendoforum.no", true }, { "ninthfloor.org", true }, @@ -20055,7 +19609,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nipe-systems.de", true }, { "nippon-oku.com", true }, { "nippon.fr", true }, - { "nirada.info", true }, { "nirna.io", true }, { "nirudo.me", true }, { "nirvanashop.com", true }, @@ -20067,6 +19620,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nitifilter.com", true }, { "nitrix.me", true }, { "nitrokey.com", true }, + { "nitropanel.com", true }, { "nitropur.com", true }, { "nitropur.de", true }, { "nitrous-networks.com", true }, @@ -20111,11 +19665,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nodefiles.com", true }, { "nodefoo.com", true }, { "nodejs.de", true }, - { "nodelab-it.de", true }, { "nodelia.com", true }, { "nodepanel.net", false }, { "nodepositcasinouk.com", true }, - { "nodeselect.com", true }, { "nodesturut.cl", true }, { "nodum.io", true }, { "noeatnosleep.me", true }, @@ -20133,6 +19685,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nohkan.fr", true }, { "nohm.eu", true }, { "nohttps.org", true }, + { "nohup.se", true }, { "nohup.xyz", true }, { "noincludesubdomains.preloaded.test", false }, { "noisebridge.social", true }, @@ -20151,7 +19704,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nomsy.net", true }, { "noname-ev.de", true }, { "noncombatant.org", true }, - { "noob-box.net", false }, + { "noob-box.net", true }, { "noobunbox.net", true }, { "noodles.net.nz", true }, { "noodleyum.com", true }, @@ -20164,7 +19717,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "noovell.com", true }, { "nopaste.xyz", true }, { "nopaynocure.com", true }, - { "norad.sytes.net", true }, { "nord-sud.be", true }, { "nordakademie.de", true }, { "nordic-survival.de", true }, @@ -20206,7 +19758,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "northwoodsfish.com", true }, { "nos-medias.fr", true }, { "nos-oignons.net", true }, - { "nosbenevolesontdutalent.com", true }, { "noscript.net", true }, { "nosfermiers.com", true }, { "noslite.nl", true }, @@ -20228,13 +19779,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "notar-glagowski.com", true }, { "notar-glagowski.de", true }, { "notar-peikert.com", true }, - { "notarobot.fr", true }, { "notarvysocina.cz", true }, { "notbolaget.se", true }, { "notboring.co.uk", true }, { "notcompletelycorrect.com", true }, { "notdienstreform-nordrhein.de", true }, - { "notevencode.com", true }, { "noticiasdehumor.com", true }, { "notificami.com", true }, { "notify.moe", true }, @@ -20283,11 +19832,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "npm.li", true }, { "npmcdn.com", true }, { "npw.net", true }, + { "nqesh.com", true }, { "nrd.li", true }, { "nrdstd.io", true }, { "nrev.ch", true }, { "nrkn.fr", true }, - { "nrnjn.xyz", true }, { "ns-frontier.com", true }, { "ns2servers.pw", true }, { "nsa.lol", true }, @@ -20295,13 +19844,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nsboston.org", true }, { "nsboutique.com", true }, { "nscnet.jp", true }, - { "nsdev.cn", true }, { "nsellier.fr", true }, { "nsfw-story.com", true }, { "nshost.ro", true }, { "nsm.ee", true }, { "nsm.stat.no", true }, - { "nsmail.cn", true }, { "nso.ie", true }, { "nsp.ua", true }, { "nspeaks.com", true }, @@ -20333,6 +19880,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nullday.de", true }, { "nullpointer.io", true }, { "nullroute.com", true }, + { "nulltime.net", true }, { "numarasorgulama.tel", true }, { "numatic.co.uk", true }, { "number.me", true }, @@ -20347,13 +19895,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "numm.fr", true }, { "numwave.nl", true }, { "nunnenmacher.net", true }, - { "nunnun.jp", true }, { "nunomoura.com", true }, + { "nuos.org", true }, { "nupef.org.br", true }, { "nuquery.com", true }, { "nursejj.com", true }, { "nurses.dating", true }, - { "nurture.be", true }, { "nuryahan.com.br", true }, { "nusku.biz", true }, { "nussadoclub.org", true }, @@ -20366,7 +19913,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nutrifyyourself.com", true }, { "nutripedia.gr", true }, { "nutrivisa.com.br", true }, - { "nuttyveg.com", true }, { "nuvechtdal.nl", true }, { "nuvini.com", true }, { "nuxer.fr", true }, @@ -20397,10 +19943,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nyronet.de", false }, { "nys-hk.com", true }, { "nystudio107.com", true }, - { "nyxi.eu", true }, { "nyyu.tk", true }, { "nzb.cat", false }, - { "nzmk.cz", false }, { "nzstudy.ac.nz", true }, { "o-loska.cz", true }, { "o-sp.com", true }, @@ -20418,7 +19962,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "oatberry.me", false }, { "oauth-dropins.appspot.com", false }, { "obamalibrary.gov", true }, - { "oberam.de", true }, { "oberhofdrinks.com", true }, { "oberhofjuice.com", true }, { "obermeiers.eu", true }, @@ -20445,6 +19988,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ocad.com.au", true }, { "ocapic.com", true }, { "occasion-impro.com", true }, + { "occentus.net", true }, { "occmon.net", true }, { "ocd2016.com", true }, { "oceandns.eu", true }, @@ -20459,11 +20003,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ocim.ch", true }, { "ockendenhemming.co.uk", true }, { "ocloud.fr", true }, - { "ocmeulebeke.be", true }, { "ocolere.ch", true }, { "ocotg.com", true }, { "ocrn.nl", true }, { "ocsigroup.fr", true }, + { "ocsr.nl", true }, { "octal.es", true }, { "octanio.com", true }, { "octav.name", false }, @@ -20477,6 +20021,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "octosys.org", true }, { "octosys.ru", true }, { "octothorpe.club", true }, + { "octothorpe.ninja", true }, { "oddnumber.ca", true }, { "oddsandevens.ca", true }, { "oddsandevensbookkeeping.ca", true }, @@ -20489,6 +20034,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "odysseyconservationtrust.com", true }, { "odysseyofthemind.eu", true }, { "odzyskaniedomeny.pl", true }, + { "oec-music.com", true }, { "oeh.ac.at", true }, { "oeko-bundesfreiwilligendienst-sh.de", true }, { "oeko-bundesfreiwilligendienst.de", true }, @@ -20509,6 +20055,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "officemovepro.com", true }, { "officeprint.co.th", true }, { "officiants.wedding", false }, + { "officium.tech", true }, { "offroadeq.com", true }, { "offshoot.rentals", true }, { "offtherails.ie", true }, @@ -20533,8 +20080,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "oheila.com", true }, { "ohhdeertrade.com", true }, { "ohiohealthfortune100.com", true }, + { "ohling.org", true }, { "ohma.ga", true }, { "ohnemusik.com", true }, + { "ohreally.de", true }, { "ohsohairy.co.uk", true }, { "oilpaintingsonly.com", true }, { "oinky.ddns.net", true }, @@ -20570,6 +20119,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "oldandyounglesbians.us", true }, { "oldbrookinflatables.co.uk", true }, { "oldbrookmarqueehire.co.uk", true }, + { "oldchaphome.nl", true }, { "oldenglishsheepdog.com.br", true }, { "oldking.net", true }, { "oldnews.news", true }, @@ -20601,7 +20151,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ollning.com", true }, { "olmari.fi", true }, { "olmsted.io", true }, - { "ols.io", true }, { "olygazoo.com", true }, { "olymp-arts.world", true }, { "olympe-transport.fr", true }, @@ -20623,7 +20172,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ommahpost.com", true }, { "omniasl.com", true }, { "omniatv.com", true }, - { "omnibot.tv", true }, { "omnienviro.com", false }, { "omnienviro.com.au", false }, { "omniscimus.net", false }, @@ -20663,6 +20211,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "onee3.org", true }, { "onefour.ga", false }, { "onelawsuit.com", true }, + { "onemid.net", true }, { "onemoonmedia.de", true }, { "oneononeonone.de", true }, { "oneononeonone.tv", true }, @@ -20672,6 +20221,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "onetech.it", true }, { "onetime.info", true }, { "oneway.ga", true }, + { "onewaymail.com", true }, { "oneweb.hu", true }, { "onfarma.it", true }, { "onguardonline.gov", true }, @@ -20688,8 +20238,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "online-results.dk", true }, { "online-scene.com", true }, { "online.marketing", true }, + { "online.swedbank.se", true }, { "online24.pt", true }, - { "onlinebillingform.com", true }, { "onlinebizdirect.com", false }, { "onlinecasino.vlaanderen", true }, { "onlinecasinobluebook.com", true }, @@ -20734,10 +20284,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "onwie.com", true }, { "onysix.net", true }, { "onyxfireinc.com", true }, - { "oo.edu.rs", true }, { "oodlessoftplay.co.uk", true }, - { "ooeste.com", true }, - { "oogami.name", true }, { "oogartsennet.nl", true }, { "ooharttemplates.com", true }, { "ooonja.de", true }, @@ -20767,7 +20314,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "opencad.io", true }, { "opencircuit.nl", true }, { "opencluster.at", true }, - { "openconcept.no", true }, { "openconnect.com.au", true }, { "opendataincubator.eu", true }, { "opendecide.com", true }, @@ -20834,7 +20380,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "opticaltest.com", true }, { "optiekzien.nl", true }, { "optik-trosdorff.de", true }, - { "optimal-e.com", true }, { "optimalsetup.com", true }, { "optimisedlabs.com", true }, { "optimist.bg", true }, @@ -20869,6 +20414,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "oref-idf.com", true }, { "oref-idf.net", true }, { "oref-idf.org", true }, + { "oreka.online", true }, { "oreshinya.xyz", true }, { "oreto.de", true }, { "orf-digitalsatkarte.at", false }, @@ -20877,16 +20423,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "organica.co.za", true }, { "organicae.com", true }, { "organisatieteam.nl", true }, - { "organisationsberatung-jacobi.de", true }, { "organix.ma", true }, { "orgasmium.com", true }, + { "orhideous.name", true }, { "orians.eu", true }, { "oribia.net", true }, { "oricejoc.com", false }, { "orientalart.nl", true }, { "origami.to", true }, { "origamika.com", true }, - { "originalmockups.com", true }, { "originalniknihy.cz", true }, { "orimex-mebel.ru", true }, { "orion-universe.com", true }, @@ -20896,6 +20441,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "orleika.io", true }, { "orlives.de", false }, { "ormer.nl", true }, + { "orovillelaw.com", true }, { "orro.ro", true }, { "orrs.de", true }, { "ortho-graz.at", true }, @@ -20903,6 +20449,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "orthotictransfers.com", true }, { "ortlepp.eu", true }, { "orui.com.br", true }, + { "orwell1984.today", true }, { "orz.uno", true }, { "os-chrome.ru", true }, { "os-s.net", true }, @@ -20926,9 +20473,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "oshinagaki.jp", true }, { "oshrc.gov", true }, { "oskrba.net", true }, + { "oskuro.net", true }, { "oslinux.net", true }, { "osm.is", true }, - { "osmanlitorunu.com", true }, { "osmosis.org", true }, { "ospree.me", true }, { "osquery.io", true }, @@ -20954,7 +20501,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "oticasaopaulo.com.br", true }, { "oticasvisao.net.br", true }, { "otmns.net", true }, - { "otokonna.com", true }, { "otorrino.pt", true }, { "otoy.com", true }, { "otoya.space", true }, @@ -20973,7 +20519,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ourcodinglives.com", true }, { "ourevents.net", true }, { "ourwedding.xyz", true }, - { "ousti.sh", false }, { "outdoorfurniture.ie", true }, { "outdoorimagingportal.com", true }, { "outerlimitsdigital.com", true }, @@ -21006,28 +20551,21 @@ static const nsSTSPreload kSTSPreloadList[] = { { "owl-stat.ch", true }, { "owl.net", true }, { "owlishmedia.com", true }, - { "owlscrap.ru", true }, { "own3d.ch", true }, { "ownc.at", true }, { "owngeek.com", true }, { "ownit.se", false }, { "ownmay.com", true }, + { "ownspec.com", true }, { "oxanababy.com", true }, { "oxborrow.ca", true }, { "oxelie.com", true }, - { "oxynux.xyz", true }, { "oxytocin.org", true }, { "oyesunn.com", true }, { "oyoony.de", true }, { "oyosoft.fr", true }, { "ozark.be", true }, { "oznamovacipovinnost.cz", true }, - { "ozonitron.com", true }, - { "ozonitron.de", true }, - { "ozonitron.eu", true }, - { "ozonytron.com", true }, - { "ozonytron.de", true }, - { "ozonytron.eu", true }, { "ozvolvo.org", true }, { "p-pc.de", true }, { "p-s-b.com", true }, @@ -21095,8 +20633,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "painlessproperty.co.uk", true }, { "painosso.org", true }, { "paint-it.pink", true }, - { "paio2-rec.com", true }, - { "paio2.com", true }, { "paipuman.jp", true }, { "paizinhovirgula.com", true }, { "pajadam.me", true }, @@ -21123,7 +20659,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pamaniqu.nl", true }, { "pamatv.hk", true }, { "pan.digital", true }, - { "panascais.io", true }, { "panaxis.ch", true }, { "panda-community.com", true }, { "panda.tf", true }, @@ -21172,7 +20707,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "paradiselost.com", true }, { "paradisenazarene.com", true }, { "paradoxdesigns.org", true }, - { "paragon.com.sg", true }, { "paragon.edu", true }, { "paragonie.com", false }, { "paragreen.net", true }, @@ -21190,7 +20724,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "parentheseardenne.be", true }, { "parentinterview.com", true }, { "parentsintouch.co.uk", true }, - { "parfum-baza.ru", true }, { "pariga.co.uk", true }, { "parisescortgirls.com", true }, { "parisfranceparking.com", true }, @@ -21252,7 +20785,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pascalmathis.com", true }, { "pascalmathis.me", true }, { "pascalmathis.net", true }, - { "pascalspoerri.ch", true }, + { "pascalspoerri.ch", false }, { "pass.org.my", true }, { "passfoto-deinfoto.ch", true }, { "passieposse.nl", true }, @@ -21289,6 +20822,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "paste.fedoraproject.org", true }, { "pastebin.co.za", true }, { "pasternok.org", true }, + { "pasteros.io", true }, { "pastoral-verbund.de", true }, { "pastorbelgagroenendael.com.br", true }, { "pastorcanadense.com.br", true }, @@ -21305,7 +20839,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "paterno-gaming.com", true }, { "pathagoras.com", true }, { "pathwaystoresilience.org", true }, - { "pathwaytofaith.com", true }, { "patikabiztositas.hu", true }, { "patouille-et-gribouille.fr", true }, { "patralos.at", false }, @@ -21333,7 +20866,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pauladamsmith.com", true }, { "paulbakaus.com", true }, { "paulbdelaat.nl", true }, - { "paulbramhall.uk", true }, { "paulchen.at", true }, { "pauldcox.com", true }, { "paulerhof.com", true }, @@ -21345,7 +20877,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "paulpetersen.dk", true }, { "paulrobertlloyd.com", true }, { "paulrotter.de", true }, - { "paulrudge.codes", true }, { "paulschreiber.com", true }, { "paulscustomauto.com", true }, { "paulswartz.net", true }, @@ -21357,7 +20888,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pautadiaria.com", true }, { "pavando.com", true }, { "paveljanda.com", true }, - { "pavelkahouseforcisco.com", true }, { "pavelrebrov.com", true }, { "paw.cloud", true }, { "paw.pt", true }, @@ -21368,6 +20898,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pay.ubuntu.com", true }, { "pay8522.com", true }, { "payboy.biz", true }, + { "payboy.rocks", true }, { "paybro.eu", true }, { "payclixpayments.com", true }, { "payfazz.com", true }, @@ -21381,7 +20912,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "paymerang.com", true }, { "paymill.com", true }, { "paymill.de", true }, - { "paymon.tj", true }, { "payoff.com", true }, { "paypal.com", false }, { "paypaq.com", true }, @@ -21483,7 +21013,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pehapkari.cz", true }, { "peifi.de", false }, { "peippo.at", true }, - { "peirong.me", true }, { "pekkapleppanen.fi", true }, { "pekoe.se", true }, { "pelanucto.cz", true }, @@ -21492,7 +21021,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pelopogrund.com", true }, { "pelopoplot.com", true }, { "pemagrid.org", true }, - { "penablog.com", true }, { "penaugustin.com", true }, { "pencepay.com", true }, { "pencillab.cn", true }, @@ -21506,7 +21034,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pensacolawinterfest.org", true }, { "pensador.com", true }, { "pensador.info", true }, - { "pensanisso.com", true }, { "pensioenfonds-ey.nl", true }, { "pension-veldzigt.nl", true }, { "pension-waldesruh.de", true }, @@ -21529,7 +21056,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "percraft.com", true }, { "percy.io", true }, { "perd.re", true }, - { "perdel.cn", false }, { "perecraft.com", true }, { "pereuda.com", true }, { "perezdecastro.org", true }, @@ -21624,7 +21150,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pfudor.tk", true }, { "pg-forum.de", true }, { "pgmann.cf", true }, - { "pgmsource.com", true }, { "pgnetwork.net", true }, { "pgpmail.cc", true }, { "pgregg.com", false }, @@ -21642,6 +21167,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pharmapolitics.com", true }, { "pharynks.com", true }, { "phasme-2016.com", true }, + { "phcimages.com", true }, { "phcmembers.com", true }, { "phcnetworks.net", true }, { "phcorner.net", true }, @@ -21655,7 +21181,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "phi-works.com", true }, { "phialo.de", true }, { "phil-phillies.com", true }, - { "phil.tw", true }, { "philadelphia.com.mx", true }, { "philadelphiadancefoundation.org", true }, { "philia-sa.com", true }, @@ -21669,6 +21194,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "philipperoose.be", true }, { "philippheenen.de", true }, { "philippkeschl.at", true }, + { "phillipgoldfarb.com", true }, { "phillippi.me", true }, { "phillprice.com", true }, { "philonas.net", true }, @@ -21695,7 +21221,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "photo.org.il", true }, { "photoancestry.com", true }, { "photoartelle.com", true }, - { "photoboothpartyhire.co.uk", true }, { "photodeal.fr", true }, { "photographe-reims.com", true }, { "photographyforchange.com", true }, @@ -21703,9 +21228,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "photolium.net", true }, { "photomodelcasting.com", true }, { "photon.sh", true }, - { "photops.fr", true }, { "phototravel.uk", true }, { "phototrio.com", true }, + { "phoxmeh.com", true }, { "php-tuning.de", true }, { "phparcade.com", true }, { "phpartners.org", true }, @@ -21735,7 +21260,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pi-dash.com", true }, { "pi-supply.com", true }, { "pianetaottica.com", true }, - { "pianetaottica.eu", true }, { "pianetaottica.info", true }, { "pianetaottica.it", true }, { "pianetatatuaggi.it", true }, @@ -21783,7 +21307,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pietawittermans.nl", true }, { "pietechsf.com", true }, { "pieterbos.nl", true }, - { "pieterhordijk.com", true }, { "pietz.uk", true }, { "pigritia.de", true }, { "piils.fr", true }, @@ -21799,7 +21322,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pimhaarsma.nl", true }, { "pimhaarsmamedia.nl", true }, { "pimpmyperf.fr", true }, - { "pimspage.nl", true }, { "pin.net.au", true }, { "pinceaux.org", true }, { "pincha.com.tw", false }, @@ -21837,10 +21359,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pinterest.ie", true }, { "pinterest.info", true }, { "pinterest.jp", true }, - { "pioche.ovh", true }, { "pipenny.net", true }, - { "pips.rocks", true }, - { "pir9.com", true }, { "piranil.com", true }, { "pirate.trade", true }, { "pirateahoy.eu", true }, @@ -21877,7 +21396,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pittmantraffic.co.uk", true }, { "pivotaltracker.com", true }, { "pivotanimation.org", true }, - { "piwko.co", true }, { "pix5.de", true }, { "pixel.facebook.com", false }, { "pixel.google.com", true }, @@ -21915,10 +21433,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pl.search.yahoo.com", false }, { "placasonline.com.br", true }, { "placassinal.com.br", true }, + { "placefade.com", true }, { "placehold.co", true }, { "placeralplato.com", true }, { "placker.com", false }, { "plae.com.au", true }, + { "plainjs.com", false }, { "plainmark.com", true }, { "plaintech.net.au", true }, { "plaintray.com", true }, @@ -21957,7 +21477,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "plassmann.ws", true }, { "plasti-pac.ch", true }, { "plasticsurgeryartist.com", true }, - { "plasvilledescartaveis.com.br", true }, { "platformadmin.com", true }, { "platinumpeek.com", true }, { "platomania.nl", true }, @@ -22000,7 +21519,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "plinc.co", true }, { "pliosoft.com", true }, { "plitu.de", true }, - { "ploader.ru", true }, + { "ploader.ru", false }, { "plochka.bg", true }, { "plomberierenga.com", true }, { "plongee-phuket.fr", true }, @@ -22046,7 +21565,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pmbc.org", true }, { "pmconference.ch", true }, { "pmctire.com", true }, - { "pmemanager.fr", true }, { "pmessage.ch", true }, { "pmg-offshore-company.com", true }, { "pmg-purchase.com", true }, @@ -22064,7 +21582,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pnmhomecheckup.com", true }, { "pnona.cz", true }, { "pnut.io", false }, - { "pnyxnet.com", true }, { "poba.fr", true }, { "pocatellonissanparts.com", true }, { "pochaneko.com", false }, @@ -22086,10 +21603,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "poeg.cz", true }, { "pogoswine.com", true }, { "pogrebisky.net", true }, - { "pogs.us", true }, { "poinsot.info", true }, { "pointaction.com", true }, { "pointhost.de", true }, + { "pointiswunderland.de", true }, { "points4unitedway.com", true }, { "pointsixtyfive.com", true }, { "pointum.com", true }, @@ -22104,19 +21621,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pokemori.jp", true }, { "pokepon.center", true }, { "pokl.cz", true }, - { "pokomichi.com", true }, - { "pol-expo.ru", true }, { "polaire.org", true }, { "polandb2b.directory", true }, { "pole-emotion.ch", true }, { "poleacademie.com", true }, { "poleartschool.com", false }, { "poles4pilots.com", true }, + { "policedriver.com", true }, { "polis.or.at", true }, { "polis.to", false }, { "polish.directory", true }, { "politeiaudesa.org", true }, - { "politic.org.ua", true }, { "politik-bei-uns.de", true }, { "polizeiwallis.ch", true }, { "polkam.go.id", false }, @@ -22145,8 +21660,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pomsinoz.com", true }, { "pondof.fish", true }, { "poneypourtous.com", true }, + { "poneytelecom.org", true }, { "ponga.se", true }, - { "ponteencima.com", true }, { "ponteus.com", true }, { "pontodogame.com.br", true }, { "pony-cl.co.jp", true }, @@ -22162,6 +21677,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "poopjournal.rocks", true }, { "pop-corn.ro", true }, { "popcornpalacefundraising.com", true }, + { "popcultureshack.com", true }, { "popinga.it", true }, { "popkins.cf", true }, { "popkins.ga", true }, @@ -22226,6 +21742,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "post4me.at", true }, { "postal.dk", true }, { "postal3.es", true }, + { "postback.io", true }, { "postblue.info", true }, { "postbox.life", true }, { "postcardpayment.com", true }, @@ -22282,7 +21799,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "powersergusercontent.com", true }, { "powershellmagic.com", true }, { "powerwellness-korecki.de", true }, - { "poy-tech.com", true }, { "pozemedicale.org", true }, { "pozytywnyplan.pl", true }, { "pozzo-balbi.com", true }, @@ -22307,6 +21823,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "praguepsychology.com", true }, { "praguepsychology.cz", true }, { "pragueswim.cz", true }, + { "prajwalkoirala.com", true }, { "prakhar.uk", true }, { "prakharprasad.com", true }, { "praxino.de", true }, @@ -22353,6 +21870,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "prenatalgeboortekaartjes.nl", true }, { "prenger.co", true }, { "prepaid-cards.xyz", true }, + { "prepaid-voip.nl", true }, { "prepaidgirl.com", true }, { "prepaidkredietkaart.be", true }, { "prepare-job-hunting.com", true }, @@ -22397,13 +21915,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "primaconsulting.net", true }, { "primalinea.pro", true }, { "primates.com", true }, - { "primecaplending.com", true }, { "primewho.org", true }, { "primordialsnooze.com", true }, { "primotiles.co.uk", true }, { "primotilesandbathrooms.co.uk", true }, { "princeagency.com", true }, { "princeofwhales.com", true }, + { "princesparktouch.com", true }, { "princessmargaretlotto.com", true }, { "principalstest.com", true }, { "principaltoolbox.com", true }, @@ -22433,7 +21951,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "privacybadger.org", true }, { "privacyforjournalists.org.au", true }, { "privacyinternational.org", true }, - { "privacymanatee.com", true }, { "privacynow.eu", true }, { "privacyscore.org", true }, { "privacyweek.at", true }, @@ -22455,7 +21972,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "privatfrei.de", true }, { "privea.fr", true }, { "priverify.com", true }, - { "privilegevisa.fr", true }, { "privu.me", true }, { "prjktruby.com", true }, { "prknje.com", true }, @@ -22537,12 +22053,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "projectsecretidentity.org", true }, { "projectte.ch", true }, { "projectunity.io", true }, - { "projectvault.ovh", true }, { "projekt-umbriel.de", true }, { "projektzentrisch.de", true }, { "projest.ch", true }, { "prok.pw", true }, - { "prolan.pw", true }, { "promedicalapplications.com", true }, { "prometheanfire.net", true }, { "prometheanfire.org", true }, @@ -22558,6 +22072,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "promotiongeeks.com", false }, { "pronto-intervento.net", true }, { "proobec.cz", true }, + { "proofwiki.org", true }, { "proos.nl", true }, { "proovn.com", true }, { "propagandablog.de", true }, @@ -22603,6 +22118,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "provectus.de", true }, { "proveits.me", false }, { "provence-appartements.com", true }, + { "providerlijst.com", true }, + { "providerlijst.nl", true }, { "provision-isr.nl", true }, { "provisionaldriving.com", true }, { "provitec.com", true }, @@ -22617,6 +22134,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "proxybay.la", true }, { "proxybay.one", true }, { "proxybay.tv", true }, + { "proxyportal.me", true }, { "proxyportal.net", true }, { "proxyportal.org", true }, { "proymaganadera.com", true }, @@ -22627,12 +22145,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pruma.com.br", true }, { "prvikvadrat.hr", true }, { "pryspry.com", true }, - { "prytkov.com", true }, { "przemas.pl", true }, { "ps-provider.co.jp", true }, { "ps-qa.com", true }, { "ps-w.ru", true }, { "ps-x.ru", true }, + { "ps4all.nl", true }, { "psa.gov", true }, { "psb.cloud", true }, { "psb1.org", true }, @@ -22664,6 +22182,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "psychedelics.org", true }, { "psychiatrie-betreuung.ch", true }, { "psychic-healer-mariya-i-petrova-boyankinska-b-borovan-bg.com", true }, + { "psychintervention.com", true }, + { "psycho-lobby.com", true }, { "psycho.space", true }, { "psychoactive.com", true }, { "psychoco.net", true }, @@ -22714,7 +22234,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pulledporkheaven.com", true }, { "pulsedursley.co.uk", true }, { "pumperszene.com", true }, - { "punchkickinteractive.com", true }, { "puneflowermall.com", true }, { "punikonta.de", true }, { "punitsheth.com", true }, @@ -22780,16 +22299,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pypi.org", true }, { "pypi.python.org", true }, { "pyrotechnologie.de", true }, - { "pysays.net", true }, { "pyspace.org", true }, { "python-hyper.org", true }, { "python.org", false }, { "pyzlnar.com", true }, { "q-inn.com", true }, { "q-inn.nl", true }, - { "q8mp3.me", true }, { "qa-brandywineglobal.com", true }, - { "qa.fedoraproject.org", true }, { "qa.stg.fedoraproject.org", true }, { "qaconstrucciones.com", true }, { "qamrulhaque.com", true }, @@ -22809,7 +22325,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "qcstyleacademy.com", false }, { "qctravelschool.com", false }, { "qe2homelottery.com", true }, - { "qedcon.org", false }, { "qelectrotech.org", true }, { "qetesh.de", true }, { "qetic.co.jp", true }, @@ -22817,38 +22332,32 @@ static const nsSTSPreload kSTSPreloadList[] = { { "qgustavor.tk", true }, { "qhse-professionals.nl", true }, { "qianalysis.com", true }, - { "qiannews.net", true }, { "qifu.me", true }, { "qifu.org.cn", true }, - { "qikan.net", true }, { "qimiao.io", true }, { "qingpat.com", true }, { "qingpei.me", false }, { "qionouu.cn", true }, + { "qirinus.com", true }, { "qitarabutrans.com", true }, { "qits.de", false }, { "qivonline.pt", true }, { "qiwi.be", true }, { "qixi.biz", true }, - { "qixxit.de", true }, { "qkka.org", true }, { "qkmortgage.com", true }, { "qldconservation.org.au", true }, { "qledtech.com", true }, { "qlrace.com", false }, { "qm-marzahnnordwest.de", true }, - { "qnatek.org", true }, { "qochealth.com", true }, { "qoohoot.com", true }, { "qotw.net", true }, { "qq-navi.com", true }, { "qqj.net", true }, - { "qqvips.com", true }, + { "qqvips.com", false }, { "qrcontagion.com", true }, - { "qredo.com", true }, - { "qrlfinancial.com", true }, { "qrpth.eu", true }, - { "qswoo.org", true }, { "qtl.me", true }, { "qto.com", true }, { "qtpass.org", true }, @@ -22887,7 +22396,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "qubes-os.org", true }, { "qubyte.codes", true }, { "quchao.com", true }, - { "queenbrownie.com.br", true }, { "queenshaflo.com", true }, { "queensrdapartments.com.au", true }, { "queer.party", true }, @@ -22917,6 +22425,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "quire.io", true }, { "quizogames.com", true }, { "qul.link", true }, + { "quli.nl", false }, { "quocdesign.ch", true }, { "quotev.com", true }, { "quppa.net", true }, @@ -22933,10 +22442,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "qwerty.work", true }, { "qwikdash.com", true }, { "qxy.ch", true }, - { "r-ay.club", true }, { "r-core.org", true }, { "r-cut.fr", true }, { "r-rwebdesign.com", true }, + { "r0t.co", true }, { "r0uzic.net", true }, { "r2d2pc.com", true }, { "r3nt3r.com", true }, @@ -22951,12 +22460,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "raah.co", true }, { "rabbit.wales", false }, { "rabbitvcactus.eu", true }, - { "rabota-x.ru", true }, { "rabotaescort.com", true }, { "rabynska.eu", true }, { "racasdecachorro.org", true }, { "raccoltarifiuti.com", true }, - { "racermaster.xyz", false }, + { "racermaster.xyz", true }, { "raceviewcycles.com", true }, { "raceviewequestrian.com", true }, { "rachaelrussell.com", true }, @@ -22975,9 +22483,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "radaravia.ru", true }, { "radcube.hu", true }, { "raddavarden.nu", true }, - { "radeticlaw.com", true }, { "radfieldhomecare.co.uk", true }, { "radfieldhomecarefranchising.co.uk", true }, + { "radical.org", true }, { "radicaloptimism.org", true }, { "radicalsub.com.br", true }, { "radins.com", true }, @@ -22991,7 +22499,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "radiopolarniki.spb.ru", true }, { "radiormi.com", true }, { "radis-adopt.com", true }, - { "radishmoon.com", true }, { "radondetectionandcontrol.com", true }, { "radreisetraumtreibstoff.de", true }, { "radtke.bayern", true }, @@ -23043,7 +22550,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ralphwoessner.com", true }, { "ram-it.nl", true }, { "ram.nl", true }, - { "ramatola.uk", true }, { "rambii.de", true }, { "ramblingrf.tech", true }, { "rametrix.com", true }, @@ -23062,7 +22568,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rangde.org", true }, { "ranking-deli.jp", true }, { "ranson.com.au", true }, - { "rantanda.com", true }, { "ranyeh.com", true }, { "ranzbak.nl", true }, { "rapenroer.com", true }, @@ -23082,6 +22587,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rascalscastlesdoncaster.co.uk", true }, { "rasebo.ro", true }, { "raspass.me", true }, + { "raspberry.us", true }, { "raspberryultradrops.com", true }, { "rastreie.net", true }, { "rasty.cz", true }, @@ -23101,13 +22607,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ravchat.com", true }, { "raven.dog", true }, { "ravenger.net", true }, - { "ravengergaming.net", true }, { "ravensbuch.de", true }, { "ravhaaglanden.org", true }, { "ravindran.me", true }, { "ravis.org", true }, { "rawsec.net", true }, - { "raxion.cf", true }, { "raxion.tk", true }, { "ray-home.de", true }, { "ray-works.de", true }, @@ -23118,7 +22622,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "raymd.de", true }, { "raymii.org", true }, { "raymondelooff.nl", true }, - { "raymondjcox.com", false }, { "rayworks.de", true }, { "razberry.kr", true }, { "rb-china.net", true }, @@ -23155,18 +22658,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "read.sc", true }, { "reades.co.uk", true }, { "readheadcopywriting.com", true }, - { "readify.com.au", true }, { "readingandmath.org", true }, { "readism.io", true }, { "readonly.de", true }, { "readouble.com", false }, { "readtldr.com", true }, - { "readydok.com", true }, { "readysell.net", true }, { "readytongue.com", true }, { "readytowear.es", true }, { "reaganlibrary.gov", true }, - { "reaiaer.com", true }, { "real-bits.com", true }, { "real-digital.co.uk", true }, { "real-it.nl", true }, @@ -23238,6 +22738,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "recreoviral.com", true }, { "recruitmade.jp", true }, { "recruitsecuritytraining.co.uk", true }, + { "recruitsecuritytraining.com", true }, { "rectoraudiparts.com", true }, { "recuerdafilms.com", true }, { "recurly.com", true }, @@ -23285,7 +22786,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "redneragenturen.org", true }, { "rednoseday.com", true }, { "rednsx.org", true }, - { "redoakmedia.net", true }, { "redperegrine.com", true }, { "redprice.by", true }, { "redshield.co", true }, @@ -23312,7 +22812,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "refactor.zone", true }, { "refficience.com", true }, { "refill-roboter.de", true }, - { "reflecton.io", true }, { "reflexions.co", true }, { "refood-cascaiscpr.eu", true }, { "reforesttheplanet.com", true }, @@ -23330,7 +22829,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "regar42.fr", false }, { "regily.com", true }, { "regime-maigrir-vite.com", true }, - { "regio-salland.nl", true }, { "regiobeveland.nl", true }, { "regionalbasementandcrawlspacerepair.com", true }, { "regionalcoalition.org", true }, @@ -23413,7 +22911,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "renearends.nl", true }, { "reneleu.ch", true }, { "renem.net", false }, - { "renemayrhofer.com", true }, { "renerehelse.no", false }, { "reneschmidt.de", true }, { "renewablefreedom.org", true }, @@ -23427,12 +22924,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rent-a-coder.de", true }, { "rentacaramerica.com", true }, { "rentasweb.gob.ar", true }, - { "rentbrowser.com", true }, { "rentinsingapore.com.sg", true }, { "rentourhomeinprovence.com", true }, { "renuo.ch", false }, { "reorz.com", true }, { "reox.at", false }, + { "repaik.com", true }, { "repair.by", true }, { "repaper.org", true }, { "repaxan.com", true }, @@ -23440,7 +22937,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "replaceits.me", true }, { "replicagunsswords.com", false }, { "replicaswiss.nl", true }, - { "report-incident.de", true }, { "report-uri.com", true }, { "reporting.gov", false }, { "reporturi.com", true }, @@ -23503,6 +22999,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "restrealitaet.de", false }, { "restrito.org", true }, { "resursedigitale.ro", true }, + { "retcor.net", true }, { "retetenoi.net", true }, { "reto.ch", true }, { "reto.com", true }, @@ -23583,7 +23080,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ricaud.me", true }, { "riccy.org", true }, { "riceadvice.info", true }, - { "riceglue.com", true }, { "richardb.me", true }, { "richardcrosby.co.uk", true }, { "richardhering.de", true }, @@ -23612,7 +23108,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ricozienke.de", true }, { "riddims.co", true }, { "ride-up.com", true }, - { "rideaudiscount.com", true }, { "ridingboutique.de", true }, { "ridingoklahoma.com", true }, { "rienasemettre.fr", true }, @@ -23657,6 +23152,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rischard.org", true }, { "rise-technologies.com", true }, { "riseup.net", true }, + { "rishikeshyoga.in", true }, { "risiinfo.com", true }, { "risingsun.red", true }, { "riskmitigation.ch", true }, @@ -23674,7 +23170,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rivalsa.cn", true }, { "rivastation.de", true }, { "riverbanktearooms.co.uk", true }, - { "rivercruiseadvisor.com", true }, { "riverford.co.uk", true }, { "rivermendhealthcenters.com", true }, { "rivermist.com.au", true }, @@ -23690,13 +23185,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rizospastis.gr", true }, { "rj-onderneemt.nl", true }, { "rjnutrition.consulting", true }, - { "rkc-hygrotherm.de", true }, { "rlalique.com", true }, { "rld.org", true }, { "rlds.ch", true }, { "rleh.de", true }, { "rlove.org", true }, - { "rlsnet.ru", true }, + { "rlsnet.ru", false }, { "rm-it.de", true }, { "rmb.li", true }, { "rmcbs.de", true }, @@ -23713,12 +23207,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rmsupply.nl", true }, { "rnag.ie", true }, { "rnb-storenbau.ch", true }, - { "rngmeme.com", true }, { "rnt.cl", true }, { "ro.search.yahoo.com", false }, { "roadguard.nl", true }, { "roadtopgm.com", true }, { "roave.com", true }, + { "rob.uk.com", true }, { "rob006.net", true }, { "robandjanine.com", true }, { "robbertt.com", true }, @@ -23726,6 +23220,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "robertabittle.com", true }, { "robertattfield.com", true }, { "robertg.me", true }, + { "robertglastra.com", true }, { "roberthurlbut.com", true }, { "robertkrueger.de", true }, { "robertlysik.com", true }, @@ -23736,7 +23231,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "robertrijnders.nl", true }, { "robertsmits.be", true }, { "robhorstmanshof.nl", true }, - { "robi-net.it", true }, { "robin-novotny.com", true }, { "robin.co.kr", true }, { "robin.info", true }, @@ -23769,7 +23263,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rockcanyonbank.com", true }, { "rockcellar.ch", true }, { "rockenfuerlachenhelfen.de", true }, - { "rocket-wars.de", true }, { "rocketr.net", true }, { "rockfax.com", true }, { "rockhounds.co.za", true }, @@ -23780,7 +23273,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rockuse.com.br", true }, { "rockymountainspice.com", true }, { "rocssti.net", true }, - { "roddis.net", true }, { "rodeobull.biz", true }, { "rodeohire.com", true }, { "rodeosales.co.uk", true }, @@ -23817,9 +23309,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "roguefinancial.com", true }, { "roguefortgame.com", true }, { "roguesignal.net", true }, + { "roguetechhub.org", true }, { "rohedaten.de", true }, { "rohitagr.com", true }, - { "rohlik.cz", true }, { "rointe.online", true }, { "roiscroll.com", true }, { "rokki.ch", true }, @@ -23827,6 +23319,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rokudenashi.de", true }, { "roland.io", true }, { "rolandkolodziej.com", true }, + { "rolandreed.cn", true }, { "rolandszabo.com", true }, { "rolliwelt.de", true }, { "rolodato.com", true }, @@ -23837,11 +23330,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "romanpavlodar.kz", true }, { "romantelychko.com", true }, { "romantic-quotes.co.uk", true }, - { "romanticschemer.com", true }, { "romanticschemermovie.com", true }, + { "romarin.es", true }, { "rome.dating", true }, { "rommelwood.de", true }, - { "ronanrbr.com", true }, { "rondommen.nl", true }, { "rondouin.fr", true }, { "rondreis-planner.nl", true }, @@ -23863,7 +23355,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "roosterpgplus.nl", true }, { "root.bg", true }, { "root.eu.org", true }, - { "rootbsd.at", false }, { "rootcamp.net", true }, { "rootcommand.com", true }, { "rootear.com", true }, @@ -23877,8 +23368,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rootscope.co.uk", true }, { "rootswitch.com", true }, { "rootusers.com", true }, - { "roquecenter.org", true }, { "roryneville.com", true }, + { "rosabellas.co.uk", true }, { "rosbass.ru", true }, { "rose-prism.org", true }, { "rosehosting.reviews", true }, @@ -23897,7 +23388,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rosewoodranch.com", true }, { "rosi-royal.com", true }, { "roslynpad.net", true }, - { "rospa100.com", true }, { "rosset.me", true }, { "rosset.net", true }, { "rossiworld.com", true }, @@ -23907,7 +23397,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rothkranz.net", true }, { "rothnater.ch", true }, { "rotol.me", true }, - { "rotterdamjazz.info", true }, { "rottweil-hilft.de", true }, { "rotunneling.net", true }, { "rotzonline.com", true }, @@ -23919,6 +23408,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "roundcube.mayfirst.org", false }, { "roussos.cc", true }, { "rout0r.org", true }, + { "routeragency.com", true }, { "routerclub.ru", true }, { "routetracker.co", true }, { "rove3d.com", true }, @@ -23940,7 +23430,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "royalrangers.fi", true }, { "royalty-market.com", true }, { "royalvisiongroup.com", true }, - { "rozalynne-dawn.ga", true }, { "rozhodce.cz", true }, { "rpadovani.com", true }, { "rpgmaker.es", true }, @@ -24012,9 +23501,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rubyquincunx.com", true }, { "rubyquincunx.org", true }, { "rubytune.com", true }, - { "rucnerobene.eu", true }, { "ruconsole.com", true }, { "rud.is", true }, + { "rudd-o.com", true }, { "rudelune.fr", true }, { "ruderverein-gelsenkirchen.de", true }, { "rudloff.pro", false }, @@ -24028,11 +23517,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ruffbeatz.com", true }, { "rugby.video", true }, { "rugk.dedyn.io", true }, - { "rugstorene.co.uk", true }, { "ruh-veit.de", true }, { "ruhrmobil-e.de", true }, { "ruhrnalist.de", true }, + { "ruht.ro", true }, { "ruigomes.me", true }, + { "ruiming.me", false }, { "ruja.dk", true }, { "ruk.ca", true }, { "rukhaiyar.com", true }, @@ -24055,7 +23545,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "runvs.io", true }, { "ruobiyi.com", true }, { "ruri.io", true }, - { "rus-trip.ru", false }, + { "rus-trip.ru", true }, { "rusempire.ru", true }, { "rushball.net", true }, { "rushiiworks.com", true }, @@ -24096,7 +23586,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ryan-goldstein.com", true }, { "ryanbritton.com", true }, { "ryanhowell.io", true }, - { "ryankearney.com", true }, + { "ryankearney.com", false }, { "ryanmcdonough.co.uk", true }, { "ryazan-region.ru", true }, { "rybox.info", true }, @@ -24108,7 +23598,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ryu22e.org", true }, { "ryuu.es", true }, { "ryzhov.me", true }, - { "rzegroup.com", true }, { "rzentarzewski.net", true }, { "s-c.se", true }, { "s-cubed.net", true }, @@ -24122,7 +23611,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "s2member.com", true }, { "s3cur3.it", true }, { "s3gfault.com", true }, - { "s3n.se", true }, { "s404.de", true }, { "s4db.net", true }, { "s4tips.com", true }, @@ -24136,8 +23624,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "saba-piserver.info", true }, { "sabahattin-gucukoglu.com", true }, { "sabatek.pl", true }, - { "sabine-forschbach.de", true }, - { "sabineforschbach.de", true }, { "sabrinajoiasprontaentrega.com.br", true }, { "sacaentradas.com", true }, { "saccani.net", true }, @@ -24164,7 +23650,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "safegold.ca", true }, { "safegroup.pl", true }, { "safeinfra.nl", true }, - { "safejourney.education", true }, { "safeme.ga", true }, { "safer-networking.org", true }, { "saferchildren.eu", false }, @@ -24174,7 +23659,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "safesecret.info", true }, { "safetext.me", true }, { "safetycloud.me", true }, - { "safetyrisk.net", true }, { "safezone.cc", true }, { "safire.ac.za", true }, { "sagedocumentmanager.com", true }, @@ -24204,7 +23688,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "saiputra.com", true }, { "saitrance.com", true }, { "saiyasu-search.com", true }, - { "sajdowski.de", true }, { "sakostacloud.de", true }, { "sakuraflores.com.br", true }, { "salaervergleich.com", true }, @@ -24214,7 +23697,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "salearnership.co.za", true }, { "salensmotors-usedcars.be", true }, { "salesflare.com", true }, - { "saleslift.pl", true }, { "salesmachine.io", true }, { "salishseawhalewatching.ca", true }, { "salixcode.com", true }, @@ -24268,12 +23750,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sammyservers.com", true }, { "samp.im", true }, { "samsonova.de", true }, - { "samsungmobile.it", true }, { "samsungphonegenerator.xyz", true }, { "samsungxoa.com", true }, { "samuelkeeley.com", true }, { "samuellaulhau.fr", true }, - { "samui-samui.de", true }, { "samuirehabcenter.com", true }, { "samvanderkris.com", true }, { "samwilberforce.com", true }, @@ -24282,7 +23762,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sana-store.com", true }, { "sana-store.cz", true }, { "sana-store.sk", true }, - { "sanael.net", true }, { "sanandreasstories.com", true }, { "sanasport.cz", true }, { "sanasport.sk", true }, @@ -24314,7 +23793,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sanex.ca", false }, { "sanglierhurlant.fr", true }, { "sangwon.io", true }, - { "sanik.my", true }, { "sanilodge.com", true }, { "sanitairwinkel.be", true }, { "sanitairwinkel.com", true }, @@ -24329,7 +23807,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "santanderideas.com", true }, { "santenatureetcie.com", true }, { "santevie.ch", true }, - { "santi.eu", true }, { "santmark.com", true }, { "santmark.eu", true }, { "santmark.fi", true }, @@ -24346,13 +23823,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "saorview.com", true }, { "saorviewconnect.ie", true }, { "saorviewconnected.ie", true }, - { "saotn.org", true }, { "sapac.es", true }, { "sapereaude.com.pl", true }, { "sapien-ci.com", true }, { "sapience.com", true }, + { "sapk.fr", true }, { "saposute-s.jp", true }, { "sapporobeer.com", true }, + { "sapprendre.ch", true }, { "sapuncheta.com", true }, { "saq.com", true }, { "sarahbeckettharpist.com", true }, @@ -24363,8 +23841,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sarariman.com", true }, { "sarasturdivant.com", true }, { "sardegnatirocini.it", true }, - { "sarindia.com", true }, - { "sarindia.de", true }, { "sarink.eu", true }, { "sarkarikhoj.com", true }, { "sarkisozleri.us", true }, @@ -24380,13 +23856,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sastd.com", true }, { "sasyabapi.com", true }, { "sat4all.com", true }, - { "sat7a-riyadh.com", true }, { "satai.dk", true }, { "saterdalen.net", true }, { "satimagingcorp.com", true }, { "satinn.pl", true }, { "satmd.de", true }, - { "satragreen.com", true }, { "saturn.pl", true }, { "saudavel.com.vc", true }, { "saudeealimentos.com", true }, @@ -24410,7 +23884,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "savannahtasteexperience.com", true }, { "save-me-aachen.de", true }, { "save-me-koeln.de", true }, - { "savecashindia.com", true }, { "savecrypto.org", true }, { "savekorea.net", true }, { "savemoneyonenergy.com", true }, @@ -24450,14 +23923,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sbirecruitment.co.in", true }, { "sbit.com.br", true }, { "sblum.de", true }, - { "sbm.cloud", true }, { "sbo-dresden.de", true }, { "sbr.red", true }, { "sbsavings.bank", true }, { "sbsnursery.co.uk", true }, { "sbssoft.ru", true }, { "sbytes.info", true }, - { "scala.click", true }, { "scalaire.com", true }, { "scalaire.fr", true }, { "scalesbiolab.com", true }, @@ -24476,15 +23947,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "scenicbyways.info", true }, { "scepticism.com", true }, { "sceptique.eu", true }, - { "schaafenstrasse.koeln", true }, { "schadevergoedingen.eu", true }, { "schalkoortbv.nl", true }, { "schallert.com", true }, { "schamlosharmlos.de", true }, { "schaper-sport.com", true }, - { "schatmeester.be", true }, { "schatzibaers.de", true }, - { "schau-rein.co.at", true }, { "schawe.me", true }, { "schd.io", true }, { "scheduleme.io", true }, @@ -24522,7 +23990,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "schmidttulskie.de", true }, { "schmitt-max.com", true }, { "schmitz.link", true }, - { "schnapke.name", true }, { "schnegg.name", true }, { "schneids.me", true }, { "schnellno.de", true }, @@ -24543,6 +24010,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "schoolotzyv.ru", true }, { "schoolze.com", true }, { "schopenhauer-institut.de", true }, + { "schorel.ovh", true }, + { "schorelweb.nl", true }, { "schraebanowicz.net", true }, { "schrauger.com", true }, { "schrauger.info", true }, @@ -24559,7 +24028,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "schrodingersscat.com", true }, { "schrodingersscat.org", true }, { "schroeder-immobilien-sundern.de", true }, - { "schroepfglas-versand.de", true }, { "schroepfi.de", true }, { "schrolm.de", true }, { "schsrch.org", true }, @@ -24578,7 +24046,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "schumanandmonnet.eu", true }, { "schummar.de", true }, { "schunako.ch", true }, - { "schuppentier.org", true }, { "schurkenstaat.net", true }, { "schutznetze24.de", true }, { "schutzwerk.com", true }, @@ -24621,7 +24088,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "scorobudem.ru", true }, { "scorocode.ru", true }, { "scorp13.com", true }, - { "scottainslie.me.uk", true }, { "scottgruber.me", true }, { "scottgthomas.com", true }, { "scotthel.me", true }, @@ -24649,7 +24115,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "scriptgates.ru", true }, { "scriptum.gr", true }, { "scrisulfacebine.ro", true }, - { "scruffymen.com", true }, { "scrumbleship.com", true }, { "scrumstack.co.uk", true }, { "scryfall.com", true }, @@ -24680,6 +24145,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sealbaker.com", true }, { "sealtitebasement.com", true }, { "seamless.no", true }, + { "seanholcroft.co.uk", true }, { "seankilgarriff.com", true }, { "seanstrout.com", true }, { "seansyardservice.com", true }, @@ -24705,7 +24171,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "seareytraining.com", true }, { "seasons.nu", false }, { "seatbeltpledge.com", true }, - { "seatshare.co.uk", true }, { "seattle-life.net", true }, { "seattlefabrication.com", true }, { "seattlemesh.net", true }, @@ -24735,7 +24200,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "seccom.ch", true }, { "seccomp.ru", true }, { "secctexasgiving.org", false }, - { "seceye.cn", true }, { "secgui.de", true }, { "sech.me", true }, { "secitem.at", true }, @@ -24745,8 +24209,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "seconfig.sytes.net", true }, { "secpatrol.de", true }, { "secretar.is", true }, - { "secretnation.net", true }, { "secretofanah.com", true }, + { "secretpanties.com", true }, { "secretsanta.fr", true }, { "secretserveronline.com", true }, { "secretum.tech", true }, @@ -24771,6 +24235,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "secureesolutions.com", true }, { "secureheaders.com", true }, { "secureideas.com", false }, + { "securejabber.me", true }, { "securelect-inspection.com", true }, { "secureonline.co", true }, { "securethe.news", true }, @@ -24784,7 +24249,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "security.gives", true }, { "security.google.com", true }, { "security.love", true }, - { "security.xn--q9jyb4c", true }, { "security201.co.uk", true }, { "security201.com", true }, { "securitybrief.asia", true }, @@ -24794,7 +24258,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "securityfest.com", true }, { "securityheaders.com", true }, { "securityheaders.io", true }, - { "securityinet.com", true }, + { "securityinet.com", false }, { "securitykey.co", true }, { "securitymap.wiki", true }, { "securitypluspro.com", true }, @@ -24817,13 +24281,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "seedalpha.com", true }, { "seedbox.fr", true }, { "seedsofangelica.net", true }, - { "seefirm.com", true }, { "seekers.ch", true }, { "seeks.ru", true }, { "seekthe.net", true }, { "seemeagain.com", true }, { "seemeasaperson.com", true }, - { "seen.life", true }, { "seesuite.com", true }, { "seewhatididhere.com", true }, { "seeworkdone.com", true }, @@ -24864,7 +24326,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "selfishness.com", true }, { "selfloath.in", true }, { "selfmade4u.de", true }, - { "selfserverx.com", false }, { "selkiemckatrick.com", true }, { "sellajoch.com", true }, { "sellguard.pl", true }, @@ -24873,6 +24334,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "semacode.com", true }, { "semaflex.it", true }, { "semaphore-studios.com", true }, + { "sementes.gratis", true }, { "semianalog.com", true }, { "seminariruum.ee", true }, { "semiocast.com", true }, @@ -24933,7 +24395,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sephr.com", true }, { "sepie.gob.es", true }, { "seppelec.com", true }, - { "seproco.com", true }, { "septakkordeon.de", true }, { "septfinance.ch", true }, { "septillion.cn", true }, @@ -24962,7 +24423,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "serve-a.com.au", true }, { "servea.com.au", true }, { "serveatechnologies.com", true }, - { "servecrypt.com", true }, { "servecrypt.net", true }, { "servecrypt.ru", true }, { "servemnaction.org", true }, @@ -24979,7 +24439,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "serverfrog.de", true }, { "serverlog.net", true }, { "serveroffline.net", false }, - { "serverpedia.de", true }, { "servers4all.co.uk", true }, { "serversftw.com", true }, { "serverstuff.info", true }, @@ -24991,6 +24450,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "serviceboss.de", true }, { "serviettenhaus.de", true }, { "servingbaby.com", true }, + { "servious.org", true }, { "serw.org", true }, { "seryox.com", true }, { "sesslerimmo.ch", true }, @@ -25020,6 +24480,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sex-education.com", true }, { "sexaki.com", true }, { "sexgarage.de", true }, + { "sexmobil.de", true }, { "sexocomgravidas.com", true }, { "sexpay.net", true }, { "sexplicit.co.uk", true }, @@ -25029,7 +24490,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sexshopsgay.com", true }, { "sexwork.net", true }, { "sexy-store.nl", true }, - { "seydaozcan.com", true }, { "seyfarth.de", true }, { "seyr.it", true }, { "seyr.me", true }, @@ -25045,7 +24505,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sg-elektro.de", true }, { "sg.search.yahoo.com", false }, { "sgb.co", true }, - { "sgcaccounts.co.uk", true }, { "sgroup-hitoduma.com", true }, { "sgroup-rec.com", true }, { "sgtcodfish.com", true }, @@ -25074,7 +24533,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "shadowsworldonline.co.uk", true }, { "shag-shag.ru", true }, { "shaharyaranjum.com", true }, - { "shahbeat.com", true }, { "shaicoleman.com", true }, { "shaitan.eu", true }, { "shakan.ch", true }, @@ -25092,7 +24550,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "shanae.nl", true }, { "shanetully.com", true }, { "shanewadleigh.com", true }, - { "shang-yu.cn", true }, { "shannoneichorn.com", true }, { "shansing.cn", true }, { "shansing.com", true }, @@ -25103,6 +24560,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "shareeri.com", true }, { "sharemessage.net", true }, { "shareoffice.ch", true }, + { "shareoine.com", true }, { "sharepointdrive.com", true }, { "sharescope.co.uk", false }, { "shareselecttools.com", true }, @@ -25112,7 +24570,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "shariahlawcenter.org", true }, { "sharialawcenter.com", true }, { "sharialawcenter.org", true }, - { "sharingcode.com", true }, { "sharperedge.pw", true }, { "sharperedgecomputers.com", true }, { "sharu.me", true }, @@ -25147,6 +24604,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "shemsconseils.ma", true }, { "shenghaiautoparts.com", true }, { "shenghaiautoparts.net", true }, + { "shentengtu.idv.tw", true }, { "shenyuqi.com", false }, { "sherbers.de", true }, { "shethbox.com", true }, @@ -25165,7 +24623,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "shiftdevices.com", true }, { "shiftj.is", true }, { "shiftleft.org", true }, - { "shiftnrg.org", true }, { "shijing.me", true }, { "shikimori.one", true }, { "shikimori.org", true }, @@ -25194,7 +24651,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "shishlik.net", true }, { "shitagi-shop.com", true }, { "shitbeast.institute", true }, - { "shitfest.info", true }, { "shitmybradsays.com", true }, { "shitposts.se", true }, { "shitproductions.org", true }, @@ -25221,9 +24677,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "shopcoupons.ph", true }, { "shopcoupons.sg", true }, { "shopdopastor.com.br", true }, + { "shopifycloud.com", true }, { "shopkini.com", true }, { "shoplandia.co", true }, - { "shopods.com", true }, { "shoppia.se", true }, { "shopping24.de", true }, { "shoppr.dk", true }, @@ -25232,22 +24688,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "shoptec.sk", true }, { "shorebreaksecurity.com", true }, { "shortdiary.me", true }, - { "shorten.ninja", true }, { "shortpath.com", true }, { "shoshin-aikido.de", true }, { "shota.vip", true }, { "shotbow.net", true }, { "shotonwhat.com", true }, { "shotpixonline.com.br", true }, - { "show-saratov.ru", true }, + { "show-saratov.ru", false }, { "showbits.net", true }, { "showdepiscinas.com.br", true }, { "shower.im", true }, { "showmax.com", true }, { "showroom.de", true }, { "showsonar.com", true }, - { "shoxmusic.net", true }, - { "shrike.me", false }, { "shrinidhiclinic.in", true }, { "shrinkhub.com", true }, { "shrub.ca", true }, @@ -25262,7 +24715,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "shux.pro", true }, { "si-benelux.nl", true }, { "si.to", true }, - { "siamega.com", true }, { "siamojo.com", true }, { "siamsnus.com", true }, { "siao-mei.com", true }, @@ -25272,7 +24724,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "siciliamconsulting.com", true }, { "sicilianbalm.com", true }, { "sicken.eu", true }, - { "sickfile.com", true }, { "sicklepod.com", true }, { "siconnect.us", true }, { "sidelka-tver.ru", true }, @@ -25285,7 +24736,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sidonge.com", true }, { "sidongkim.com", true }, { "sidpod.ru", true }, - { "siebens.net", false }, { "siegemund-frankfurt.de", true }, { "sieh.es", true }, { "sientemendoza.com.ar", true }, @@ -25309,7 +24759,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "significantbanter.com", true }, { "signing-milter.org", true }, { "signix.net", true }, - { "signosquecombinam.com.br", true }, { "signslabelstapesandmore.com", false }, { "signtul.com", false }, { "sigsegv.run", true }, @@ -25322,9 +24771,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "siku-shop.ch", true }, { "silashes.com", true }, { "silashes.ru", true }, - { "silaslova-ekb.ru", true }, { "silentexplosion.de", true }, - { "silentkernel.fr", true }, + { "silentkernel.fr", false }, { "silentmode.com", true }, { "silentundo.org", true }, { "siliconchip.me", true }, @@ -25410,6 +24858,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sim4seed.org", true }, { "simam.de", true }, { "simbeton.nl", true }, + { "simbolo.co.uk", false }, { "simeonoff.ninja", true }, { "simetal.ch", true }, { "simfed.org", true }, @@ -25468,9 +24917,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "simplystudio.com", true }, { "simpte.com", true }, { "simpul.nl", true }, - { "sims4hub.ga", true }, { "simsnieuws.nl", true }, - { "simtin-net.de", true }, { "simukti.net", true }, { "simumiehet.com", true }, { "simus.fr", true }, @@ -25481,7 +24928,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sinefili.com", true }, { "sinergy.ch", true }, { "sinfield.com", false }, - { "sinfulforums.net", true }, { "singaporemint.com", true }, { "singapurfirma.com", true }, { "singee.site", true }, @@ -25502,16 +24948,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sinonimosonline.com.br", true }, { "sinoscandinavia.se", true }, { "sinquin.eu", true }, - { "sinsojb.me", true }, { "sint-joris.nl", true }, { "sinterama.biz", true }, { "sintesysglobal.com", true }, { "sinuelovirtual.com.br", true }, - { "sinusbot.online", true }, { "sion.moe", true }, { "siraweb.org", true }, { "sirbouncealotcastles.co.uk", true }, { "sirbouncelot.co.uk", true }, + { "sirburton.com", true }, { "sirena.co.jp", true }, { "sirenslove.com", true }, { "siriuspup.com", true }, @@ -25532,14 +24977,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sitecuatui.com", true }, { "sitedrive.fi", true }, { "sitehoster.org", true }, - { "sitemaxiphilippe.ch", true }, { "siterencontre.me", true }, { "sites.google.com", true }, { "sitesko.de", true }, { "sitsy.ru", false }, - { "sittinginoblivion.com", true }, { "sivyerge.com", true }, { "sixpackholubice.cz", true }, + { "sixtwentyten.com", true }, { "sj-leisure.com", true }, { "sja-se-training.com", true }, { "sjd.is", true }, @@ -25548,11 +24992,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sjoorm.com", true }, { "sjsc.fr", true }, { "sk-net.cz", true }, - { "skalender.ch", false }, { "skanvordoff.ru", true }, - { "skaraborgsassistans.com", false }, + { "skarox.com", true }, { "skarox.ee", true }, { "skarox.eu", true }, + { "skarox.net", true }, { "skatclub-beratzhausen.de", true }, { "skates.guru", true }, { "skatingchina.com", true }, @@ -25611,6 +25055,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sktsolution.com", false }, { "skuldwyrm.no", true }, { "skwile-cafe.com", true }, + { "skyanchor.com", true }, { "skybound.link", true }, { "skydragoness.com", true }, { "skydrive.live.com", false }, @@ -25629,9 +25074,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "skyris.co", true }, { "skys-entertainment.com", true }, { "skysuite.nl", true }, - { "skyveo.ml", true }, + { "skyvault.io", true }, { "skyzimba.com.br", true }, { "sl0.us", true }, + { "sl1pkn07.wtf", true }, { "slack-files.com", true }, { "slack.com", true }, { "sladic.si", false }, @@ -25641,7 +25087,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "slane.cn", true }, { "slangbellor.com", true }, { "slapen17.nl", true }, - { "slaps.be", true }, { "slash32.co.uk", true }, { "slash64.co.uk", true }, { "slash64.com", true }, @@ -25679,6 +25124,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "slo-net.net", true }, { "slo-tech.com", true }, { "sloancom.com", true }, + { "slopeedge.com", true }, { "slotboss.co.uk", true }, { "slotcar.com", false }, { "slotfara.com", true }, @@ -25694,6 +25140,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "slpower.com", true }, { "slrd-isperih.com", true }, { "slse.ca", true }, + { "sluimann.de", true }, { "sluitkampzeist.nl", false }, { "slvh.fr", true }, { "slwilde.ca", true }, @@ -25703,7 +25150,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sm2016.ch", true }, { "sma-gift.com", true }, { "smackhappy.com", true }, - { "smallchat.nl", true }, { "smalldogbreeds.net", true }, { "smallhadroncollider.com", true }, { "smallpath.me", true }, @@ -25770,10 +25216,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "smipty.cn", true }, { "smipty.com", true }, { "smit.com.ua", true }, - { "smithandcanova.co.uk", true }, + { "smithandcanova.co.uk", false }, { "smkw.com", false }, { "smm.im", true }, - { "smol.cat", true }, { "smoo.st", true }, { "smoothgesturesplus.com", true }, { "smoothics.at", true }, @@ -25789,9 +25234,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "smsappointment.com", true }, { "smsg-dev.ch", true }, { "smskeywords.co.uk", true }, - { "smspodmena.ru", true }, { "smsprivacy.org", true }, - { "smuhelper.cn", true }, { "smuncensored.com", true }, { "smutba.se", true }, { "smutek.net", true }, @@ -25839,7 +25282,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "snight.co", true }, { "snille.com", true }, { "snip.run", true }, - { "snl.no", false }, + { "snl.no", true }, { "snod.land", true }, { "snote.io", true }, { "snoupon.com", true }, @@ -25852,7 +25295,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "snowchamps.nl", true }, { "snowcrestdesign.com", true }, { "snowdy.dk", true }, - { "snowdy.eu", true }, { "snowdy.link", true }, { "snowhaze.ch", true }, { "snowhaze.com", true }, @@ -25870,8 +25312,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sobie.ch", true }, { "sobieray.dyndns.org", true }, { "sobinski.pl", false }, - { "soboleva-pr.com.ua", true }, { "sobotkama.eu", true }, + { "soc.net", true }, { "socal-babes.com", true }, { "soccersavings.com", true }, { "soccorso-stradale.org", true }, @@ -25921,7 +25363,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "softwerk-edv.de", true }, { "sogola.com", true }, { "sogravatas.com.br", true }, - { "sogravatas.net.br", true }, { "sogutma.com.tr", true }, { "sohamroy.me", true }, { "soia.ca", true }, @@ -25932,7 +25373,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sokkenhoek.nl", true }, { "sokolkarvina.cz", true }, { "sol-computers.es", true }, - { "sol.works", true }, { "sol24.net", true }, { "solacyre.ch", true }, { "solanum-games.com", true }, @@ -25941,7 +25381,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "solariiknight.org", true }, { "solariilacheie.ro", true }, { "solarplan-berlin.de", true }, - { "soldbygold.net", true }, { "soldecom.com", true }, { "soldout-app.com", true }, { "sole-erdwaermetauscher.de", true }, @@ -25957,7 +25396,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "solihullcarnival.co.uk", true }, { "solihullinflatables.com", true }, { "solihulllionsclub.org.uk", true }, - { "solinter.com.br", true }, { "solipym.net", true }, { "solisrey.es", true }, { "solit.systems", true }, @@ -25975,13 +25413,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "solved.tips", true }, { "solvemethod.com", true }, { "solvops.com", true }, - { "solymar.co", true }, { "somaini.li", true }, { "somali-derp.com", true }, { "somaliagenda.com", true }, { "somanao.com", true }, { "somcase.com.br", true }, - { "some.rip", true }, { "somebodycares.org", true }, { "somecrazy.com", true }, { "somethingsimilar.com", true }, @@ -25991,7 +25427,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sonacupalova.cz", true }, { "sonarqube.com", false }, { "sondergaard.de", true }, - { "sonerezh.bzh", true }, { "songsmp3.co", true }, { "songsthatsavedyourlife.com", true }, { "songzhuolun.com", true }, @@ -26004,7 +25439,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "soohealthy.nl", true }, { "soomee.be", true }, { "soomee1.be", true }, - { "soondy.com", false }, { "soontm.de", false }, { "soopure.nl", true }, { "soph.us", true }, @@ -26055,6 +25489,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "soundeo.com", true }, { "soundeo.net", true }, { "soundgasm.net", true }, + { "soundhunter.xyz", false }, { "soundsecurity.io", true }, { "sour.is", true }, { "souravsaha.com", true }, @@ -26083,9 +25518,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "soybase.org", true }, { "sozai-good.com", true }, { "sozialy.com", true }, + { "sozon.ca", true }, { "sp-sephiroth.jp", true }, { "sp.com.pl", true }, - { "sp.rw", true }, { "space-it.de", true }, { "spacebaseapp.com", true }, { "spacecafe.org", true }, @@ -26145,7 +25580,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "spesys-services.fr", true }, { "sphereblur.com", true }, { "spherenix.org", true }, - { "sphinx.network", true }, { "spicydog.org", true }, { "spicydog.tk", false }, { "spicymatch.com", true }, @@ -26166,12 +25600,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "spinner.dnshome.de", true }, { "spins.fedoraproject.org", true }, { "spinspin.wtf", true }, + { "spiralschneiderkaufen.de", true }, { "spirella-shop.ch", true }, { "spiritbionic.ro", true }, { "spiritual.dating", true }, { "spiritualife.net", true }, { "spiritualregression.com.au", true }, { "spisbilligt.dk", true }, + { "spitfireuav.com", true }, { "splarty.net", true }, { "splendidspoon.com", true }, { "splendorservizi.it", true }, @@ -26251,7 +25687,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sqr-training.com", true }, { "sqroot.eu", true }, { "sqshq.de", true }, - { "squaddraft.com", true }, { "squadlinx.com", true }, { "square-gaming.org", true }, { "square-src.de", false }, @@ -26273,7 +25708,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "srchub.org", true }, { "sreeharis.tk", true }, { "srinivasan.io", true }, - { "sritest.io", true }, { "sro.center", true }, { "srolim.com", true }, { "srrdb.com", true }, @@ -26323,6 +25757,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ssrvpn.tech", true }, { "sss3s.com", true }, { "sstaging.com", true }, + { "sstewartgallus.com", true }, { "ssuiteoffice.com", true }, { "ssuitesoft.com", true }, { "st-kilian-markt-erlbach.de", true }, @@ -26358,7 +25793,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "stairlin.com", true }, { "stalder.work", true }, { "stalker-shop.com", true }, - { "stalkerteam.pl", true }, { "stalkr.net", true }, { "stalkthe.net", true }, { "stamboommuller.nl", true }, @@ -26395,7 +25829,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "starphotoboothsni.co.uk", true }, { "starplatinum.jp", true }, { "starquake.nl", true }, - { "starsam80.net", true }, { "starsbattle.net", true }, { "starstreak.net", true }, { "startaninflatablebusiness.com", true }, @@ -26421,7 +25854,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "static-myfxoau-808795.c.cdn77.org", true }, { "static-myfxouk-808795.c.cdn77.org", true }, { "static.wepay.com", false }, - { "staticisnoise.com", true }, { "stationa.ch", true }, { "stationary-traveller.eu", true }, { "stationcharlie.co.za", true }, @@ -26429,9 +25861,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "statofus.com", true }, { "stats.g.doubleclick.net", true }, { "status2u.com", true }, - { "statusbot.io", true }, { "statuscode.ch", true }, { "stav.io", true }, + { "stavebnice.net", true }, { "stavros.ovh", true }, { "staxflax.tk", true }, { "stay.black", true }, @@ -26439,10 +25871,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "stb-schefczyk.de", true }, { "stb-strzyzewski.de", true }, { "stbennett.org", true }, - { "stcable.net", true }, { "stcu.org", true }, { "std-home-test.com", true }, - { "stderr.cc", false }, + { "stderr.cc", true }, { "stdrc.cc", true }, { "steakovercooked.com", true }, { "stealsaga.net", true }, @@ -26486,7 +25917,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "stening.co", true }, { "stenzhorn-cloud.de", true }, { "stepanvanek.cz", true }, - { "steph-autoecole.ch", true }, { "steph3n.me", true }, { "stephan-matthiesen.de", true }, { "stephane-huc.net", true }, @@ -26531,11 +25961,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "stevengoodpaster.com", true }, { "stevenhumphrey.uk", true }, { "stevenkwan.me", true }, - { "stevenroddis.com", true }, { "stevens.se", true }, - { "stevensheffey.me", true }, { "stevenski.com", false }, { "steventress.com", true }, + { "stevenwooding.com", true }, { "stevenz.science", true }, { "stevenz.xyz", true }, { "stevesdrivingschooltyneside.com", true }, @@ -26552,8 +25981,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "stickies.io", true }, { "stickmanventures.com", true }, { "stift-kremsmuenster.at", true }, - { "stig.io", true }, { "stigharder.com", true }, + { "stijnbelmans.be", true }, { "stijnodink.nl", true }, { "stikic.me", true }, { "stikkie.me", true }, @@ -26590,6 +26019,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "stoianlawfirm.com", true }, { "stolina.de", false }, { "stolkpotplanten.nl", true }, + { "stolkschepen.nl", true }, { "stomadental.com", true }, { "stonedworms.de", true }, { "stonefusion.org.uk", true }, @@ -26603,7 +26033,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "stopfraud.gov", true }, { "stopthethyroidmadness.com", true }, { "stordbatlag.no", true }, - { "store-host.com", true }, { "store10.de", false }, { "storedsafe.com", true }, { "storgom.ua", false }, @@ -26633,6 +26062,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "stravers.shoes", true }, { "stream-ing.xyz", true }, { "streamchan.org", true }, + { "streamdesk.ca", true }, { "streamer.tips", true }, { "streamingeverywhere.com", true }, { "streamlineautogroup.com", true }, @@ -26664,7 +26094,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "strobotti.com", true }, { "stroginohelp.ru", true }, { "strom.family", true }, - { "strongrandom.com", true }, + { "strongrandom.com", false }, + { "strozik.de", true }, { "structurally.net", true }, { "strugee.net", true }, { "strutta.me", true }, @@ -26751,6 +26182,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "submelon.tech", true }, { "subohm.com", true }, { "suborbital.io", true }, + { "subrain.com", true }, { "subrosa.io", false }, { "subseq.net", false }, { "substitutealert.com", true }, @@ -26778,7 +26210,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "suggea.com", true }, { "suggestim.ch", true }, { "suiranfes.com", true }, - { "suitocracy.com", true }, { "sujoydhar.in", true }, { "suki.moe", true }, { "sukrie.net", true }, @@ -26788,19 +26219,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sumguy.com", true }, { "summa-prefis.com", true }, { "summa.eu", false }, - { "summer.ga", true }, { "summercampthailand.com", true }, { "summitmasters.net", true }, { "sumthing.com", true }, + { "sunboxstore.jp", true }, { "sunbritetv.com", true }, { "sundanceusa.com", true }, { "sundaycooks.com", true }, { "sundayfundayjapan.com", true }, { "sunfeathers.net", true }, - { "sunflyer.cn", false }, { "sunfox.cz", true }, { "sunfulong.me", true }, - { "sungo.wtf", true }, { "sunjaydhama.com", true }, { "sunn.ie", true }, { "sunsetwx.com", true }, @@ -26811,7 +26240,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "supastuds.com", true }, { "super-o-blog.com", true }, { "superbart.nl", true }, - { "superbdistribute.com", true }, { "superbouncebouncycastles.com", true }, { "superbowlkneel.com", true }, { "superbshare.com", true }, @@ -26831,7 +26259,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "supermarx.nl", true }, { "supermil.ch", true }, { "supern0va.net", true }, - { "supernovabrasil.com.br", true }, { "supernt.lt", true }, { "supersahnetorten.de", true }, { "supersec.es", true }, @@ -26855,7 +26282,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "supriville.com.br", true }, { "sur-v.com", true }, { "surao.cz", true }, - { "surdam.casa", false }, + { "surasak.io", true }, + { "surasak.org", true }, { "sure-it.de", true }, { "suretone.co.za", true }, { "surgenet.nl", true }, @@ -26873,7 +26301,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "susanna-komischke.de", true }, { "susastudentenjobs.de", true }, { "susc.org.uk", true }, - { "susconam.org", true }, { "suseasky.com", true }, { "sush.us", true }, { "sushi.roma.it", true }, @@ -26886,6 +26313,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sustainabilityknowledgegroup.com", true }, { "sustsol.com", true }, { "sutas.market", true }, + { "suts.co.uk", true }, { "suttonbouncycastles.co.uk", true }, { "suuria.de", true }, { "suvidhaapay.com", true }, @@ -26925,7 +26353,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sw33tp34.com", true }, { "swacp.com", true }, { "swansdoor.org", true }, - { "swanseapartyhire.co.uk", true }, { "swapadoodle.com", true }, { "swarfarm.com", true }, { "swarlys-server.de", true }, @@ -26941,7 +26368,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sweepay.ch", true }, { "sweetair.com", true }, { "sweetgood.de", true }, - { "sweetlegs.jp", true }, { "sweetll.me", false }, { "sweetvanilla.jp", true }, { "swehack.org", true }, @@ -26951,7 +26377,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "swift-devedge.de", true }, { "swiftconf.com", true }, { "swiftqueue.com", true }, - { "swiggy.com", true }, { "swilly.org", true }, { "swimbee.nl", true }, { "swimturk.com.tr", true }, @@ -27022,7 +26447,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "syndic-discount.fr", false }, { "syneart.com", true }, { "synecek11.cz", true }, - { "synergisticsoccer.com", true }, { "synergyflare.com", true }, { "synergyworkingdogclub.com", true }, { "synfin.org", true }, @@ -27039,7 +26463,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sysadmin.xyz", true }, { "sysadmins.ro", true }, { "sysctl.se", true }, - { "sysdb.io", true }, { "sysert.tv", false }, { "sysmike.de", true }, { "sysmike.net", true }, @@ -27076,6 +26499,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "t-net.org.hu", true }, { "t-point.eu", true }, { "t-shirts4less.nl", true }, + { "t-stonegroup.com", true }, { "t.facebook.com", false }, { "t0ne.net", false }, { "t12u.com", true }, @@ -27092,6 +26516,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "taartenfeesies.nl", true }, { "tab.watch", true }, { "tabernadovinho.com.br", true }, + { "taberu-fujitsubo.com", true }, { "tabino.top", true }, { "tabithawebb.co.uk", true }, { "tabla-periodica.com", true }, @@ -27100,7 +26525,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tablescraps.com", true }, { "tablet.facebook.com", false }, { "tablotv.com", false }, - { "taboragroup.com", false }, { "taborsky.cz", true }, { "tac-volley.com", true }, { "tacklog.com", true }, @@ -27143,10 +26567,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "takkaaaaa.com", true }, { "takuto.de", true }, { "takuyaphotos.com", true }, + { "talado.gr", false }, { "talentcast.nl", false }, { "talenthero.io", true }, { "talentos.pt", true }, - { "talentuar.com", true }, { "taler.net", true }, { "talideon.com", false }, { "talk.google.com", true }, @@ -27170,7 +26594,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tanak3n.xyz", true }, { "tancredi.nl", true }, { "tandblekningidag.com", true }, - { "tandem-trade.ru", true }, { "tangiblesecurity.com", true }, { "tango-cats.de", true }, { "tango-ouest.com", true }, @@ -27194,7 +26617,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tarasecurity.co.uk", true }, { "tarasecurity.com", true }, { "tarasevich.by", true }, - { "tardis.io", true }, + { "taravancil.com", false }, { "tardybaker.com", true }, { "tarek.link", true }, { "targimieszkaniowe.net", true }, @@ -27203,7 +26626,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tarsashaz-biztositas.hu", true }, { "tartaneagle.org.uk", true }, { "tartanhamedshop.com.br", true }, - { "tas2580.net", false }, { "taskin.me", true }, { "taskotron.fedoraproject.org", true }, { "taskotron.stg.fedoraproject.org", true }, @@ -27220,12 +26642,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tatort-fanpage.de", true }, { "tatsidou.gr", true }, { "tattoo.dating", true }, - { "tattvaayoga.com", true }, { "tavolaquadrada.com.br", true }, { "tavsys.net", true }, { "taxaroo.com", true }, { "taxaudit.com", true }, - { "taxi-24std.de", true }, { "taxi-chamonix.fr", true }, { "taxi-collectif.ch", true }, { "taxicollectif.ch", true }, @@ -27241,7 +26661,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "taylors-castles.co.uk", true }, { "taysonvodao.fr", true }, { "tazemama.biz", true }, - { "tazj.in", false }, { "tb-devel.de", true }, { "tb-itf.de", true }, { "tbarter.com", false }, @@ -27265,8 +26684,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tcnapplications.com", true }, { "tcptun.com", true }, { "tdchrom.com", true }, - { "tdelmas.eu", true }, - { "tdelmas.ovh", true }, { "tdfbfoundation.org", true }, { "tdrcartuchos.com.br", true }, { "tdrs.info", true }, @@ -27294,7 +26711,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "teambeam.ch", true }, { "teambeam.com", true }, { "teambeam.de", true }, - { "teambeoplay.co.uk", true }, { "teambition.com", true }, { "teamcombat.com", true }, { "teamdaylo.xyz", true }, @@ -27306,7 +26722,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "teampaddymurphy.ch", true }, { "teampaddymurphy.ie", true }, { "teamtouring.net", true }, - { "teamtrack.uk", false }, + { "teamtrack.uk", true }, { "teamupturn.com", true }, { "teamupturn.org", true }, { "teamx-gaming.de", true }, @@ -27330,7 +26746,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "techademy.nl", true }, { "techarea.fr", true }, { "techbrown.com", true }, - { "techcavern.ml", true }, { "techcentric.com", false }, { "techcracky.com", true }, { "techcultivation.de", false }, @@ -27343,7 +26758,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "techdirt.com", true }, { "techendeavors.com", true }, { "techhappy.ca", true }, - { "techiehall.com", true }, { "techinet.pl", true }, { "techjoe.co", true }, { "techmajesty.com", true }, @@ -27375,7 +26789,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "techtuts.info", true }, { "techunit.org", true }, { "techvalue.gr", true }, - { "techview.link", true }, { "techviewforum.com", true }, { "techwayz.com", true }, { "techwords.io", true }, @@ -27413,7 +26826,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "teknik.io", true }, { "teknogeek.id", true }, { "tekstschrijvers.net", true }, - { "tektoria.de", false }, { "tektuts.com", true }, { "tekuteku.jp", true }, { "tele-alarme.ch", true }, @@ -27440,8 +26852,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tellygames.com", true }, { "teloo.pl", true }, { "telos-analytics.com", true }, + { "telugu4u.net", true }, { "tem.li", true }, - { "temasa.net", true }, { "temizmama.com", true }, { "temp.pm", true }, { "tempdomain.ml", true }, @@ -27452,9 +26864,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tenable.com.au", true }, { "tenberg.com", true }, { "tenbos.ch", true }, + { "tendermaster.com.ua", true }, { "tenderstem.co.uk", true }, { "tendomag.com", true }, - { "tendoryu-aikido.org", true }, { "tenenz.com", true }, { "tengu.cloud", true }, { "tenisservis.eu", true }, @@ -27467,7 +26879,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tent.io", true }, { "tenta.com", true }, { "tentabrowser.com", true }, - { "tentations-voyages.com", true }, + { "tentations-voyages.com", false }, { "tenthousandcoffees.com", true }, { "tenyx.de", true }, { "teodio.cl", true }, @@ -27503,14 +26915,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "teschenhausen.com", true }, { "tescoirelandpayslips.com", true }, { "tescolide.cz", true }, - { "tescoludia.sk", true }, { "teskalabs.com", true }, { "tesoro.pr", true }, { "tessai.ga", true }, { "test.de", true }, - { "test02.dk", true }, { "testadren.com", true }, { "testadron.com", true }, + { "testbawks.com", true }, { "testbirds.cz", true }, { "testbirds.sk", true }, { "testgeomed.ro", true }, @@ -27519,7 +26930,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "testnode.xyz", false }, { "testomato.com", true }, { "testosterone-complex.com", true }, - { "testovaci.ml", true }, { "testpornsite.com", true }, { "testsuite.org", true }, { "testuje.net", true }, @@ -27527,9 +26937,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tetrarch.co", true }, { "tetsugakunomichi.jp", true }, { "tetsumaki.net", true }, - { "teulon.eu", true }, { "teuniz.nl", true }, - { "teunstuinposters.nl", false }, + { "teunstuinposters.nl", true }, { "teva-li.com", true }, { "tewarilab.co.uk", true }, { "tewkesburybouncycastles.co.uk", true }, @@ -27581,7 +26990,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thaianthro.com", true }, { "thaicyberpoint.com", true }, { "thaiforest.ch", true }, - { "thaigirls.xyz", true }, { "thaihomecooking.com", true }, { "thailandpharmacy.net", true }, { "thairehabassociation.com", true }, @@ -27593,6 +27001,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thamesfamilydentistry.com", true }, { "thanabh.at", true }, { "thanatoid.net", true }, + { "thanhthinhbui.com", true }, { "thatgudstuff.com", true }, { "thatpodcast.io", true }, { "thatquiz.org", true }, @@ -27600,7 +27009,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thcpbees.co.uk", true }, { "the-body-shop.hu", false }, { "the-earth-yui.net", false }, - { "the-finance-blog.com", true }, { "the-hemingway-code.de", true }, { "the-mystery.org", true }, { "the-paddies.de", true }, @@ -27611,10 +27019,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "the3musketeers.biz", true }, { "theankhlife.com", true }, { "thebakers.com.br", true }, - { "thebakingclass.com", true }, { "thebasebk.org", true }, { "thebcm.co.uk", true }, - { "thebeautifulmusic.net", true }, { "thebest.ch", true }, { "thebestfun.co.uk", true }, { "thebestsavingsplan.com", true }, @@ -27642,7 +27048,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "theclimbingunit.com", true }, { "thecloudmigrator.com", true }, { "thecloudrevolution.net", true }, - { "thecodeninja.net", true }, { "thecoffeepod.co.uk", true }, { "thecoffeesuperstore.com", true }, { "thecolumnist.net", true }, @@ -27655,7 +27060,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thecsw.com", true }, { "thecuppacakery.co.uk", true }, { "thecuriouscat.net", true }, - { "thecuriousdev.com", true }, { "thecustomizewindows.com", true }, { "thedailyupvote.com", true }, { "thedark1337.com", true }, @@ -27682,6 +27086,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "theferrarista.com", true }, { "theflyingbear.net", true }, { "thefnafarchive.org", true }, + { "thefox.com.fr", true }, { "thefrk.pw", true }, { "thefunfirm.co.uk", true }, { "thegarrowcompany.com", true }, @@ -27744,12 +27149,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thenib.com", true }, { "thenichecast.com", true }, { "thenocman.com", true }, - { "thenrdhrd.nl", true }, { "theobromos.fr", true }, { "theocharis.org", true }, { "theodorahome.co", true }, { "theodorahome.com.br", true }, { "theofleck.com", true }, + { "theojones.name", true }, { "theokonst.tk", true }, { "theokouzelis.com", true }, { "theoldbrewhouse.info", true }, @@ -27780,9 +27185,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "theploughharborne.co.uk", true }, { "theposhfudgecompany.co.uk", true }, { "thepostoffice.ro", true }, - { "theprincegame.com", true }, { "thepromisemusic.com", true }, - { "thequillmagazine.org", true }, { "theragran.co.id", true }, { "theralino.de", true }, { "theramo.re", true }, @@ -27792,6 +27195,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "therealcost.gov", true }, { "theresa-mayer.eu", true }, { "therevenge.me", true }, + { "therewill.be", true }, { "thermity.com", true }, { "thermolamina.nl", true }, { "therockawaysny.com", true }, @@ -27810,7 +27214,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "theseletarmall.com", true }, { "theseoframework.com", true }, { "theseosystem.com", true }, - { "theserver201.tk", true }, { "thesession.org", false }, { "theshadestore.com", true }, { "thesharedbrain.ch", true }, @@ -27822,7 +27225,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thesishelp.net", true }, { "thesled.net", true }, { "thesocialmediacentral.com", true }, - { "thesteins.org", true }, + { "thesteins.org", false }, { "thestoritplace.com", true }, { "thestory.ie", true }, { "thestoryshack.com", true }, @@ -27868,7 +27271,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thijsslop.nl", true }, { "thijsvanderveen.net", true }, { "thingies.site", true }, - { "thinkheaddesign.com", true }, { "thinkindifferent.net", true }, { "thinkingandcomputing.com", true }, { "thinkingplanet.net", true }, @@ -27911,13 +27313,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thomasvochten.com", true }, { "thomasvt.xyz", true }, { "thomaswoo.com", true }, - { "thompsonfamily.cloud", true }, { "thomsonscleaning.co.uk", true }, { "thomspooren.nl", true }, { "thomwiggers.nl", true }, { "thor.edu", true }, { "thorbis.com", true }, { "thorbiswebsitedesign.com", true }, + { "thorgames.nl", true }, { "thoroquel.org", true }, { "thorsten-schaefer.com", true }, { "thorstenschaefer.name", true }, @@ -27970,8 +27372,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tianeptine.com", true }, { "tianshili.me", true }, { "tianxicaipiao.com", true }, + { "tibbitshall.ca", true }, { "tibipg.com", true }, { "tibovanheule.site", true }, + { "ticfleet.com", true }, { "ticketluck.com", true }, { "ticketmates.com.au", true }, { "ticketpro.ca", true }, @@ -28049,7 +27453,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "timtaubert.de", true }, { "timtelfer.com", true }, { "timtj.ca", true }, - { "timvandekamp.nl", true }, { "timvivian.ca", true }, { "timweb.ca", true }, { "timysewyn.be", true }, @@ -28057,7 +27460,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tinf15b4.de", true }, { "tinfoilsecurity.com", false }, { "tinfoleak.com", true }, - { "tink.network", true }, { "tinker.career", true }, { "tinkerboard.org", true }, { "tinkertry.com", true }, @@ -28066,6 +27468,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tintenfix.net", true }, { "tintenfux.de", true }, { "tintenland.de", true }, + { "tintenprofi.de", true }, { "tinyhousefinance.com.au", true }, { "tinylan.com", true }, { "tinyspeck.com", true }, @@ -28113,13 +27516,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tkgpm.com", true }, { "tkjg.fi", true }, { "tkn.me", true }, - { "tkn.tokyo", true }, { "tkts.cl", true }, { "tkusano.jp", true }, { "tkw01536.de", true }, { "tlca.org", true }, { "tlcnet.info", true }, { "tlehseasyads.com", true }, + { "tlo.xyz", true }, + { "tloxygen.com", true }, { "tls-proxy.de", true }, { "tls.builders", true }, { "tls.care", true }, @@ -28155,6 +27559,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tntmobi.com", true }, { "tny.link", true }, { "toad.ga", true }, + { "toast.al", false }, { "tob-rulez.de", true }, { "tobacco.gov", true }, { "tobedo.net", true }, @@ -28214,12 +27619,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tokic.hr", true }, { "tokio.fi", true }, { "tokke.dk", true }, - { "tokkee.org", true }, { "tokobungaasryflorist.com", true }, { "tokobungadijambi.com", true }, { "tokobungadilampung.com", true }, { "tokobungadipadangflorist.com", true }, - { "tokoindo.top", true }, { "tokototech.com", true }, { "tokumei.co", true }, { "tokyo-onkyo.jp", true }, @@ -28232,10 +27635,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "toles-sur-mesure.fr", true }, { "tolle-wolke.de", true }, { "tollfreeproxy.com", true }, - { "tollsjekk.no", true }, { "tom-geiger.de", true }, { "tom-kunze.de", true }, { "tom-maxwell.com", true }, + { "tom.horse", true }, { "tomabrafix.de", true }, { "tomandshirley.com", true }, { "tomasjacik.cz", true }, @@ -28263,7 +27666,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tomjonsson.se", true }, { "tomkunze.de", true }, { "tomli.blog", true }, - { "tomm.yt", true }, { "tommic.eu", true }, { "tommy-bordas.fr", true }, { "tomnatt.com", true }, @@ -28322,7 +27724,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "toonpool.com", true }, { "toool.nl", true }, { "toool.org", true }, - { "tooolroc.org", false }, { "tooti.biz", true }, { "top-obaly.cz", true }, { "top-opakowania.pl", true }, @@ -28338,7 +27739,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "topbrakes.com", true }, { "topclassfun.ie", true }, { "topdesk.net", true }, - { "topdevbox.net", true }, { "topdogsinflatables.co.uk", true }, { "topeng-emas.com", true }, { "topfivepercent.co.uk", true }, @@ -28347,7 +27747,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "topjobs.ch", true }, { "toplist.eu", true }, { "topnotepad.com", true }, - { "topnovini.com", true }, { "topodin.com", true }, { "topprice.ua", true }, { "topshelfcommercial.com", true }, @@ -28356,7 +27755,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "toptexture.com", true }, { "toptheto.com", true }, { "topwin.la", true }, - { "tor2web.org", true }, { "toracon.org", true }, { "torbay.ga", true }, { "torbe.es", true }, @@ -28372,11 +27770,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "torrent.fedoraproject.org", true }, { "torrent.is", true }, { "torrentgamesps2.info", true }, - { "torrentpier.me", true }, { "torrentz2.eu", true }, { "torresygutierrez.com", true }, { "torretzalam.com", true }, { "torservers.net", true }, + { "torsten-schmitz.net", true }, { "torstensenf.de", true }, { "tortoises-turtles.com", true }, { "tortugan.com.br", true }, @@ -28397,11 +27795,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "totalpahire.com", true }, { "totalparts.com.au", true }, { "totalprint.hu", true }, - { "totalsystemcare.com", true }, { "totaltriathlon.com", true }, { "totem-international.com", true }, { "totobetty.com", true }, - { "totoro.pub", true }, { "touch.facebook.com", false }, { "touch.mail.ru", true }, { "touchoflife.in", true }, @@ -28465,7 +27861,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tracetracker.no", true }, { "tracfinancialservices.com", true }, { "tracinsurance.com", true }, - { "track.plus", true }, { "trackchair.com", true }, { "trackdomains.com", true }, { "trackersimulator.org", true }, @@ -28485,15 +27880,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tradingrooms.com", false }, { "traditionsvivantesenimages.ch", true }, { "tradiz.org", true }, - { "traeningsprojekt.dk", true }, + { "traeningsprojekt.dk", false }, { "trafarm.ro", true }, { "traffic.az", true }, { "trafficmanager.xxx", true }, { "trafficologyblueprint.com", true }, { "trafficpixel.tk", true }, - { "traffictigers.com", true }, { "traffixdevices.com", true }, - { "traforet.win", false }, { "tragmi.ch", true }, { "trailerparty.com", true }, { "trailforks.com", true }, @@ -28565,7 +27958,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "trask.no", true }, { "traslocare.roma.it", true }, { "trauertexte.info", true }, - { "traumhuetten.de", true }, { "traut.cloud", true }, { "travador.com", true }, { "travaux-toiture-idf.fr", true }, @@ -28589,7 +27981,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "treasurydirect.gov", true }, { "treasuryhunt.gov", true }, { "treasuryscams.gov", true }, - { "treebaglia.xyz", false }, + { "treebaglia.xyz", true }, { "treehousebydesign.com", true }, { "treehouseresort.nl", true }, { "trees.chat", true }, @@ -28624,7 +28016,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tribaldos.com", true }, { "tribut.de", true }, { "tributh.net", true }, - { "trickedguys.com", true }, { "triddi.com", true }, { "trident-online.de", true }, { "tridentflood.com", true }, @@ -28757,7 +28148,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tuberecht.de", true }, { "tubs4fun.co.uk", true }, { "tubul.net", true }, - { "tucnak.eu", true }, { "tucny.com", true }, { "tucsonfcu.com", true }, { "tucuxi.org", true }, @@ -28801,8 +28191,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "turtlepwr.com", true }, { "turtles.ga", true }, { "tutanota.com", true }, - { "tutiendaroja.com", true }, - { "tutiendarosa.com", true }, { "tuto-craft.com", true }, { "tutoragency.org", true }, { "tutorialinux.com", true }, @@ -28814,7 +28202,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tuxcloud.net", true }, { "tuxflow.de", true }, { "tuxgeo.com", false }, - { "tuxhound.org", true }, { "tuxie.com", true }, { "tuxlife.net", true }, { "tuxpeliculas.com", true }, @@ -28827,7 +28214,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tvcal.net", true }, { "tvcmarketing.com", true }, { "tver-msk.ru", true }, - { "tverdohleb.com", true }, { "tverskaya-outlet.ru", true }, { "tvoru.com.ua", true }, { "tvs-virtual.cz", true }, @@ -28842,20 +28228,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tweaktown.com", true }, { "twelve.rocks", true }, { "twelve.today", true }, - { "twelverocks.com", true }, { "twem.ddns.net", true }, { "twenty71.com", true }, { "twentymilliseconds.com", true }, { "twilleys.com", true }, { "twincitynissantxparts.com", true }, - { "twinkseason.com", true }, { "twisata.com", true }, { "twistapp.com", true }, { "twisted-brains.org", true }, { "twistedwave.com", true }, { "twisto.cz", true }, { "twit-guide.com", true }, - { "twittelzie.nl", true }, { "twitter.com", false }, { "twitteroauth.com", true }, { "twizzkidzinflatables.co.uk", true }, @@ -28884,7 +28267,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tylerdavies.net", true }, { "tylerfreedman.com", true }, { "tylerharcourt.ca", true }, - { "tylerharcourt.com", true }, { "tylerharcourt.net", true }, { "tylerharcourt.org", true }, { "tyleromeara.com", true }, @@ -28903,13 +28285,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "typing.com", true }, { "typist.tech", true }, { "typo3.com", true }, - { "tyreis.com", true }, { "tyroremotes.co.uk", true }, { "tyroremotes.es", true }, { "tyroremotes.fr", true }, { "tyroremotes.nl", true }, { "tysox.de", true }, - { "tysye.ca", true }, { "tyuo-keibi.co.jp", true }, { "tzifas.com", true }, { "u-master.net", true }, @@ -28940,6 +28320,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "uberwald.ws", true }, { "ubineering.de", true }, { "ublaboo.org", true }, + { "uborcare.com", true }, { "ubtce.com", true }, { "ucac.nz", false }, { "ucangiller.com", true }, @@ -28947,6 +28328,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ucfirst.nl", true }, { "uchargeapp.com", true }, { "uclanmasterplan.co.uk", true }, + { "ucppe.org", true }, { "ucrdatatool.gov", true }, { "uctarna.online", true }, { "udbhav.me", true }, @@ -28961,7 +28343,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ueni.com", true }, { "uerdingen.info", true }, { "uesociedadlimitada.com", true }, - { "ueu.me", false }, { "uevan.com", true }, { "uex.im", true }, { "ufanisi.mx", true }, @@ -28970,10 +28351,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ufo.moe", true }, { "ufplanets.com", true }, { "ugcdn.com", true }, + { "uggedal.com", true }, { "uhc.gg", true }, { "uhrenlux.de", true }, { "uhuru-market.com", true }, { "ui8.net", true }, + { "uicchy.com", true }, { "uiop.link", true }, { "uitgeverij-deviant.nl", true }, { "ujob.com.cn", true }, @@ -28991,14 +28374,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ukozliku.cz", true }, { "ukpirate.org", true }, { "ukrainians.ch", true }, + { "ukrigging.net", true }, { "ukrnet.co.uk", true }, { "ukwct.org.uk", true }, { "ulabox.com", true }, { "ulalau.com", true }, { "uli-eckhardt.de", true }, { "ullah.se", true }, - { "ulmer-schneesport.de", false }, { "ulrik.moe", true }, + { "ultieme.be", false }, { "ultima-ratio.at", true }, { "ultimateanu.com", true }, { "ultimatemafia.net", true }, @@ -29048,7 +28432,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "unfuddle.cn", true }, { "unga.dk", true }, { "ungegamere.dk", true }, - { "uni2share.com", true }, { "unicef-karten.at", true }, { "unicef.pl", true }, { "unicefcards.at", true }, @@ -29072,6 +28455,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "unicreditbank.ru", false }, { "unieducar.org.br", true }, { "uniekglas.nl", true }, + { "uniform-agri.com", true }, { "uniformebateriasheliar.com.br", true }, { "uniformehope.com.br", true }, { "uniformespousoalegre.com.br", true }, @@ -29086,10 +28470,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "unique-pathways.ch", true }, { "unique-pathways.com", true }, { "uniquepathways.ch", true }, + { "unirenter.ru", true }, { "unit7jazz.com", true }, { "unit7jazz.org", true }, { "unite-ka.de", true }, - { "uniteasia.org", true }, { "united-schools.net", true }, { "united.com", false }, { "unitedadmins.com", true }, @@ -29109,9 +28493,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "unixforum.org", true }, { "unixtime.date", true }, { "unlax.com", true }, + { "unleash.pw", true }, { "unli.xyz", true }, { "unlockboot.com", false }, { "unlocken.nl", true }, + { "unmanaged.space", true }, { "unmonito.red", true }, { "uno-pizza.ru", true }, { "unobrindes.com.br", true }, @@ -29253,7 +28639,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ut-addicted.com", true }, { "utahfireinfo.gov", true }, { "utahlocal.net", true }, - { "utdscanner.com", true }, { "utdsgda.com", true }, { "utepils.de", true }, { "utilia.tools", true }, @@ -29280,13 +28665,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "uwimonacs.org.jm", true }, { "uxtechnologist.com", true }, { "uy.search.yahoo.com", false }, - { "uygindir.ml", true }, { "uz.search.yahoo.com", false }, { "uzaymedya.com.tr", true }, { "v-d-p.net", true }, { "v-tek.fi", true }, { "v-u-z.ru", true }, - { "v12.co.uk", true }, { "v1sit0r.ru", true }, { "v2bv.net", true }, { "v2bv.win", true }, @@ -29298,7 +28681,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vacuumpump.co.id", true }, { "vadennissanofhiltonheadparts.com", true }, { "vadennissanofhinesvilleparts.com", true }, - { "vaeplatform.com", true }, { "vaew.com", true }, { "vagabond.fr", true }, { "vagabondgal.com", true }, @@ -29314,12 +28696,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vakantienet.nl", true }, { "vakuutuskanava.fi", true }, { "val-sec.com", true }, - { "valaeris.de", true }, { "valasi.eu", true }, { "valbonne-consulting.com", true }, { "valenciadevops.me", true }, - { "valenhub.com", true }, - { "valenhub.es", true }, { "valentin-sundermann.de", true }, { "valentinberclaz.com", true }, { "valentineapparel.com", true }, @@ -29382,19 +28761,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vannaos.net", true }, { "vanohaker.ru", true }, { "vanouwerkerk.net", true }, + { "vante.me", true }, { "vantien.com", true }, { "vantru.is", true }, { "vanvoro.us", false }, { "vanwunnik.com", true }, { "vapecom-shop.com", true }, - { "vapecraftinc.com", true }, { "vapehour.com", true }, { "vapemania.eu", true }, { "vaperolles.ch", true }, { "vapesense.co.uk", true }, - { "vapeshopsupply.com", false }, { "vaphone.co", true }, { "vapor.cloud", false }, + { "vapordepot.jp", true }, { "varcare.jp", true }, { "varden.info", true }, { "vareillefoundation.fr", true }, @@ -29447,6 +28826,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vconcept.me", true }, { "vcsjones.codes", true }, { "vcsjones.com", true }, + { "vcti.cloud", true }, { "vd42.net", true }, { "vdbongard.com", true }, { "vdcomp.cz", true }, @@ -29475,18 +28855,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vehicletax.service.gov.uk", true }, { "veii.de", true }, { "veil-framework.com", true }, - { "veilletechno-it.info", true }, { "veke.fi", true }, { "vekenz.com", true }, { "velasense.com", true }, - { "velonustraduction.com", true }, { "velotyretz.fr", true }, { "venalytics.com", true }, { "vendigital.com", true }, { "vendorconnect.nyc", true }, { "vendserve.eu", true }, { "venicecomputerrepair.com", true }, - { "venicefloridawebsitedesign.com", true }, { "venicerealdeal.com", true }, { "venirextra.com", true }, { "venirideal.com", true }, @@ -29509,7 +28886,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "verfassungsklage.at", true }, { "vergeaccessories.com", true }, { "verhovs.ky", true }, - { "verifiedinvesting.com", true }, { "verifyos.com", true }, { "veriny.tf", true }, { "veriomed.com", true }, @@ -29532,6 +28908,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vernonwintercarnival.com", true }, { "veronique-schmitz.de", true }, { "verrerie-mousseline.org", true }, + { "vers.one", true }, { "versagercloud.de", true }, { "versbeton.nl", true }, { "versicherungskontor.net", true }, @@ -29543,7 +28920,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vertner.net", true }, { "veryapt.com", true }, { "verymelon.de", true }, - { "veryyounglesbians.com", true }, { "verzick.com", true }, { "ves.vn.ua", true }, { "vescudero.net", true }, @@ -29570,8 +28946,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "viaprinto.de", true }, { "vibrant-america.com", true }, { "vibrashop.com.br", true }, - { "vicenage.com", true }, - { "viceversa.xyz", true }, { "vichiya.com", true }, { "vician.cz", false }, { "viciousflora.com", true }, @@ -29590,6 +28964,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "victornilsson.pw", true }, { "vicyu.com", true }, { "vid-immobilien.de", true }, + { "vida-it.com", true }, { "vida.es", true }, { "vidbooster.com", true }, { "vide-dressing.org", false }, @@ -29607,6 +28982,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vidlyoficial.com", true }, { "vieaw.com", true }, { "vieclam24h.vn", false }, + { "viekelis.lt", false }, { "viemeister.com", true }, { "viemontante.be", true }, { "viennan.net", true }, @@ -29621,6 +28997,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vietnamwomenveterans.org", true }, { "vieux.pro", true }, { "viewbook.com", true }, + { "viewmyrecords.com", true }, + { "viewsea.com", true }, { "viga.me", true }, { "vigenebio.com", true }, { "vigilantnow.com", true }, @@ -29634,15 +29012,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vijay-international.com", true }, { "vijverbenodigdheden.nl", true }, { "vik.im", true }, - { "vikasbabyworld.de", false }, { "vikashkumar.me", true }, { "viking-style.ru", true }, { "vikings.net", true }, { "vikodek.com", true }, { "viktorprevaric.eu", true }, { "viladochurrasco.com.br", true }, - { "vilaydin.com", true }, - { "vilight.com.br", true }, { "villa-gockel.de", true }, { "villa-romantica-zillertal.at", true }, { "villafiore.com.br", true }, @@ -29655,6 +29030,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "villek.fi", true }, { "villenavedornon.fr", true }, { "vilog.me", true }, + { "viltsu.net", true }, { "vima.ch", true }, { "vimeo.com", true }, { "vinagro.sk", true }, @@ -29663,7 +29039,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vincentpancol.com", true }, { "vincitraining.com", true }, { "vineright.com", true }, - { "vinesauce.info", true }, { "vinicius.sl", true }, { "vinilosdecorativos.net", true }, { "vinner.com.au", true }, @@ -29716,7 +29091,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "visikom.de", true }, { "visioflux-premium.com", true }, { "visionarymedia.nl", true }, - { "visiongamestudios.com", true }, { "visionless.me", false }, { "visiontree-beta.eu", true }, { "visistruct.com", true }, @@ -29744,6 +29118,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "viteoscrm.ch", true }, { "vitkausk.as", true }, { "vitkutny.cz", true }, + { "vitoye.com", true }, { "vitra-vcare.co.uk", true }, { "vitrado.de", true }, { "vitsoft.by", true }, @@ -29767,6 +29142,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vjeff.net", true }, { "vk4wip.org.au", true }, { "vkennke.org", true }, + { "vkino.com", false }, { "vkirichenko.name", true }, { "vkox.com", true }, { "vksportphoto.com", true }, @@ -29779,20 +29155,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vliegensvlug.services", true }, { "vloeck.de", true }, { "vlovgr.se", true }, - { "vlsk.eu", true }, { "vlsm.se", true }, + { "vlvvl.com", true }, { "vm-0.com", true }, { "vm-co.ch", true }, { "vmc.co.id", true }, { "vmem.jp", false }, - { "vmhydro.ru", true }, + { "vmgirls.com", true }, + { "vmhydro.ru", false }, { "vmis.nl", true }, { "vmoagents.com", false }, { "vmoe.info", true }, { "vmug.pl", true }, { "vn.search.yahoo.com", false }, { "vnd.cloud", true }, - { "vnfs-team.com", true }, { "vnvisa.center", true }, { "vnvisa.ru", true }, { "vocab.guru", true }, @@ -29802,13 +29178,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vodpay.net", true }, { "vodpay.org", true }, { "vogler.name", true }, - { "vogt.tech", true }, { "voice-of-design.com", true }, - { "voicesuk.co.uk", true }, { "voicu.ch", true }, { "void-it.nl", true }, { "void-zero.com", true }, - { "voidi.ca", true }, { "voidpay.com", true }, { "voidpay.net", true }, { "voidpay.org", true }, @@ -29821,7 +29194,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vokeapp.com", true }, { "volcanconcretos.com", true }, { "volga.us", true }, - { "volgavibes.ru", true }, + { "volgavibes.ru", false }, { "voliere-info.nl", false }, { "volker-gropp.de", true }, { "volkergropp.de", true }, @@ -29834,22 +29207,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "voltimax.com", true }, { "volto.io", true }, { "voltotc.com", true }, - { "vomitb.in", true }, { "vonauw.com", true }, { "vonborstelboerner.de", true }, { "vonedelmann.de", false }, { "vongerlach.at", true }, { "vonniehudson.com", true }, { "vonski.pl", true }, - { "vonterra.us", true }, { "voodoochile.at", true }, { "vop.li", true }, { "vorderklier.de", true }, { "vorkbaard.nl", true }, { "vorlicek.de", true }, - { "vorlif.org", true }, { "vorm2.com", true }, - { "vorodevops.com", true }, { "vos-fleurs.ch", true }, { "vos-fleurs.com", true }, { "vosgym.jp", true }, @@ -29863,7 +29232,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "votoot.com", true }, { "votre-site-internet.ch", true }, { "vow.vn", true }, - { "vowsy.club", true }, { "voxfilmeonline.net", true }, { "voxml.com", true }, { "voxographe.com", false }, @@ -29874,7 +29242,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "voyagesdetective.fr", true }, { "vozami.com", true }, { "vpc-display.com", true }, - { "vpls.co.th", true }, + { "vpn.black", true }, { "vpn.ht", true }, { "vpnservice.nl", true }, { "vpnzoom.com", true }, @@ -29911,6 +29279,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vumetric.com", true }, { "vuojolahti.fi", true }, { "vuosaarenmontessoritalo.fi", true }, + { "vuvanhon.com", true }, { "vux.li", true }, { "vuzi.fr", true }, { "vvdbronckhorst.nl", true }, @@ -29939,9 +29308,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "w10club.com", true }, { "w3ctag.org", true }, { "w3n.org", true }, + { "w4.no", true }, { "w4b.in", true }, { "w4eg.de", true }, - { "w4nvu.org", true }, { "w5gfe.org", true }, { "w7k.de", true }, { "w9rld.com", true }, @@ -29987,7 +29356,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wallethub.com", false }, { "walletnames.com", true }, { "wallingford.cc", true }, - { "wallpapers.pub", true }, { "wallpaperup.com", true }, { "walls.de", true }, { "walls.io", true }, @@ -30003,7 +29371,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wandervoll.ch", true }, { "wane.co", true }, { "wangjiatun.com.tw", true }, - { "wangqiliang.cn", true }, { "wangqiliang.com", true }, { "wangql.cn", true }, { "wangql.net", true }, @@ -30023,11 +29390,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "warhaggis.com", true }, { "warmestwishes.ca", true }, { "warmlyyours.com", false }, + { "warmservers.com", true }, { "warr.ath.cx", true }, { "warringtonkidsbouncycastles.co.uk", true }, { "warschild.org", true }, { "wartorngalaxy.com", true }, - { "warumsuchen.at", true }, { "wasatchconstables.com", true }, { "waschpark-hantschel.de", true }, { "wasema.com", true }, @@ -30066,7 +29433,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wayne.cloud", false }, { "wayohoo.com", true }, { "wayohoo.net", true }, - { "waytt.cf", false }, + { "waytt.cf", true }, { "waze.com", true }, { "wbci.us", true }, { "wbg-vs.de", true }, @@ -30091,10 +29458,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "we-bb.com", true }, { "we-run-linux.de", true }, { "we-use-linux.de", true }, - { "we.serveftp.net", true }, { "weacceptbitcoin.gr", true }, { "wealthcentral.com.au", true }, - { "wealthfactory.com", true }, + { "wealthfactory.com", false }, { "wealthprojector.com", true }, { "wealthprojector.com.au", true }, { "wealthreport.com.au", true }, @@ -30142,14 +29508,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "webcookies.org", true }, { "webcrm.com", true }, { "webdesign-st.de", true }, + { "webdesigneauclaire.com", true }, { "webdesignerinwarwickshire.co.uk", true }, { "webdesignplay.com", true }, { "webdesignplayground.io", true }, + { "webdesignssussex.co.uk", true }, { "webdev-quiz.de", true }, { "webdevops.io", true }, { "webdosh.com", true }, { "webduck.nl", true }, - { "webeau.com", true }, { "webergrillrestaurant.com", true }, { "webexp.biz", true }, { "webfilings-eu-mirror.appspot.com", true }, @@ -30163,6 +29530,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "webhostplan.info", true }, { "webinnovation.ie", true }, { "webjobposting.com", true }, + { "webkeks.org", true }, { "weblagring.se", true }, { "weblate.org", true }, { "webless.com", true }, @@ -30207,7 +29575,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "websenat.de", true }, { "websharks.org", true }, { "websiteadvice.com.au", true }, - { "websitedesign.bg", true }, { "websiteforlease.ca", true }, { "websiteout.ca", true }, { "websiteout.net", true }, @@ -30215,13 +29582,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "websites4business.ca", true }, { "websitesdallas.com", true }, { "websiteservice.pro", true }, + { "webslake.com", true }, { "webspiral.jp", true }, { "webspire.tech", true }, - { "webspotter.nl", true }, { "webstore.be", false }, { "webstu.be", true }, { "webstudio-n.com", true }, - { "webstylemedia.com", true }, { "websvetaines.lt", true }, { "webtalis.nl", true }, { "webtasarim.pw", true }, @@ -30232,7 +29598,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "webtrh.cz", true }, { "webtropia.com", false }, { "webukhost.com", true }, - { "webveloper.com", true }, { "webwinkelwestland.nl", true }, { "webwit.nl", true }, { "webwolf.co.za", true }, @@ -30247,8 +29612,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wedos.com", true }, { "weeblr.com", true }, { "weeblrpress.com", true }, - { "weebsr.us", true }, - { "weed.ren", true }, { "weedypedia.de", true }, { "week.report", true }, { "weekdone.com", true }, @@ -30274,11 +29637,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "weidmannfibertechnology.com", true }, { "weigelia.nl", true }, { "weightreviews.com", true }, - { "weiji.ga", true }, { "weils.net", true }, { "weimaraner.com.br", true }, { "weimz.com", true }, { "wein.cc", true }, + { "wein.co.kr", true }, { "weinbergerlawgroup.com", true }, { "weinhandel-preissler.de", true }, { "weirdesigns.com", true }, @@ -30286,7 +29649,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "weisse-liste.de", true }, { "weissman.agency", true }, { "weiterbildung-vdz.de", true }, - { "weiyuz.com", true }, { "weizenke.im", true }, { "weizenspr.eu", true }, { "welches-kinderfahrrad.de", true }, @@ -30306,7 +29668,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wellness-gutschein.de", true }, { "wellnesscheck.net", true }, { "wellopp.com", true }, - { "wellsolveit.com", true }, { "wellsplasticsurgery.com", true }, { "wellspringcamps.com", true }, { "welovejobs.com", true }, @@ -30341,6 +29702,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "werkenbijdfzs.nl", true }, { "werkgroepderdewereld.nl", true }, { "werkinc.de", true }, + { "werkkrew.xyz", true }, { "werkstattkinder.de", true }, { "werktor.com", true }, { "werktor.net", true }, @@ -30356,6 +29718,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wesleycabus.be", true }, { "wesreportportal.com", true }, { "wessner.co", true }, + { "wessner.org", true }, { "west-wind.net", true }, { "westcarrollton.org", true }, { "westcentenaryscouts.org.au", true }, @@ -30378,7 +29741,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wetherbyweather.org.uk", true }, { "wetofu.top", true }, { "wevenues.com", true }, - { "wevg.org", true }, { "wexfordbouncycastles.ie", true }, { "weyland-yutani.org", true }, { "weyland.tech", true }, @@ -30394,7 +29756,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wf-trial-hrd.appspot.com", true }, { "wfh.ovh", true }, { "wfh.se", true }, - { "wg-tools.de", true }, + { "wg3k.us", true }, { "wgom.org", true }, { "wgraphics.ru", true }, { "wh-guide.de", true }, @@ -30455,7 +29817,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "whitewinterwolf.com", true }, { "whitkirkartsguild.com", true }, { "whitkirkchurch.org.uk", true }, - { "whitworth.nyc", true }, { "whizzzbang.co.uk", true }, { "whmcs.hosting", true }, { "who-calledme.com", true }, @@ -30476,7 +29837,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "whyopencomputing.ch", true }, { "whyopencomputing.com", true }, { "whyworldhot.com", true }, - { "whyy.eu.org", true }, { "wiapply.com", true }, { "wibbe.link", true }, { "wiberg.nu", true }, @@ -30580,7 +29940,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "windholz.us", true }, { "windowcleaningexperts.net", true }, { "windows10insider.com", true }, - { "windowsforum.com", true }, { "windowsnerd.com", true }, { "windowstech.it", true }, { "windowwellcovers.com", true }, @@ -30678,7 +30037,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wnmed.com.au", true }, { "wnu.com", true }, { "wo-ist-elvira.net", true }, - { "wo2forum.nl", false }, + { "wo2forum.nl", true }, { "wobble.ninja", true }, { "wobblywotnotz.co.uk", true }, { "wochennummern.de", true }, @@ -30708,7 +30067,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wolfpa.ws", true }, { "wolfram.io", true }, { "wolfsden.cz", true }, - { "wolfwings.us", true }, { "wolfy1339.com", true }, { "wolkenspeicher.org", true }, { "wollekorb.de", true }, @@ -30720,7 +30078,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wombats.net", true }, { "women-only.net", true }, { "womenshairlossproject.com", true }, - { "womf.org", true }, { "wonabo.com", true }, { "wonderbill.com", true }, { "wondergorilla.com", true }, @@ -30728,6 +30085,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wonderhowto.com", true }, { "wonderlandmovies.de", true }, { "wondermags.com", true }, + { "wondershift.biz", true }, { "woodbury.io", true }, { "woodev.us", true }, { "woodlandhillselectrical.com", true }, @@ -30739,12 +30097,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "woof.gq", true }, { "woohooyeah.nl", true }, { "woontegelwinkel.nl", true }, + { "wooplagaming.com", true }, { "wootware.co.za", true }, { "worcade.net", true }, { "worcesterbouncycastlehire.co.uk", true }, { "worcesterbouncycastles.co.uk", true }, { "worcesterdance.org", true }, { "worcesterfestival.co.uk", true }, + { "word-grabber.com", true }, { "wordbits.net", true }, { "wordcounter.net", true }, { "wordher.com", true }, @@ -30759,7 +30119,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "workcelerator.com", true }, { "workcloud.jp", true }, { "workgrouptech.org", true }, - { "workingclassmedia.com", true }, { "workingmachine.info", true }, { "workplaces.online", true }, { "workraw.com", true }, @@ -30781,7 +30140,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "worldofterra.net", true }, { "worldofvnc.net", true }, { "worldofwobble.co.uk", true }, - { "worldpeacetechnology.com", true }, { "worldpovertysolutions.org", true }, { "worldsgreatestazuredemo.com", true }, { "worldsoccerclips.com", true }, @@ -30825,7 +30183,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wphostingblog.nl", true }, { "wpinfos.de", true }, { "wpinter.com", true }, - { "wplatin.com", true }, { "wpldn.uk", true }, { "wpletter.de", false }, { "wpmeetup-berlin.de", true }, @@ -30870,7 +30227,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wsa.poznan.pl", true }, { "wsb-immo.at", true }, { "wscales.com", true }, - { "wsdcap.com", true }, { "wsdcapital.com", true }, { "wselektro.de", true }, { "wsgvet.com", true }, @@ -30887,6 +30243,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wth.in", true }, { "wtpmj.com", true }, { "wtw.io", true }, + { "wubify.com", true }, { "wuerfel.wf", true }, { "wuerfelmail.de", true }, { "wufu.org", false }, @@ -30969,11 +30326,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "www.messenger.com", true }, { "www.mydigipass.com", false }, { "www.mylookout.com", false }, - { "www.noisebridge.net", false }, + { "www.noisebridge.net", true }, { "www.opsmate.com", true }, { "www.paypal.com", false }, { "www.python.org", true }, { "www.rememberthemilk.com", true }, + { "www.simbolo.co.uk", false }, { "www.simple.com", false }, { "www.theguardian.com", true }, { "www.therapynotes.com", true }, @@ -31002,7 +30360,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wyssmuller.ch", true }, { "wyu.cc", true }, { "wyzwaniemilosci.com", true }, - { "wzrd.in", true }, { "wzyboy.org", true }, { "x-iweb.ru", true }, { "x-lan.be", true }, @@ -31114,6 +30471,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xmerak.com", true }, { "xmiui.com", true }, { "xmlbeam.org", true }, + { "xmonk.org", false }, { "xmpp.dk", true }, { "xmppwocky.net", true }, { "xmr.to", true }, @@ -31132,18 +30490,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xn--8dry00a7se89ay98epsgxxq.com", true }, { "xn--8mr166hf6s.xn--fiqs8s", true }, { "xn--90accgba6bldkcbb7a.xn--p1acf", true }, - { "xn--98jm6m.jp", true }, { "xn--allgu-biker-o8a.de", true }, { "xn--aviao-dra1a.pt", true }, { "xn--baron-bonzenbru-elb.com", true }, { "xn--berwachungspaket-izb.at", true }, { "xn--brneruhr-0za.ch", true }, - { "xn--c5w27q.ml", true }, { "xn--cck4ax91r.com", true }, { "xn--cck7f515h.com", true }, { "xn--cckdrt0kwb4g3cnh.com", true }, { "xn--cckvb1cwa0c5br5e2d2711k.net", true }, { "xn--cctsgy36bnvprwpekc.com", true }, + { "xn--d1acj9c.xn--90ais", true }, { "xn--dcko6fsa5b1a8gyicbc.biz", true }, { "xn--dckya4a0bya6x.com", true }, { "xn--dckya4a0bya6x.jp", true }, @@ -31156,6 +30513,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xn--e--ig4a4c3f6bvc5et632i.com", true }, { "xn--e--k83a5h244w54gttk.xyz", true }, { "xn--ecki0cd0bu9a4nsjb.com", true }, + { "xn--erklderbarenben-slbh.dk", true }, { "xn--f9jh4f4b4993b66s.tokyo", true }, { "xn--fischereiverein-mnsterhausen-i7c.de", true }, { "xn--grnderlehrstuhl-0vb.de", true }, @@ -31184,9 +30542,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xn--n8j7dygrbu0c31a5861bq8qb.com", true }, { "xn--n8jp5083dnzs.net", true }, { "xn--n8jtcugp92n4wc738f.net", true }, - { "xn--o3cea3afbwl1da3wf0i.com", true }, { "xn--o77hka.ga", true }, - { "xn--p8jskj.jp", true }, { "xn--pbt947am3ab71g.com", true }, { "xn--pe-bka.ee", true }, { "xn--pq1a637b.xn--6qq986b3xl", true }, @@ -31206,7 +30562,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xn--seelenwchter-mcb.eu", true }, { "xn--spenijmazania-yhc.pl", true }, { "xn--t-oha.lv", true }, - { "xn--t8j2a3042d.xyz", true }, { "xn--t8j4aa4nkg1h9bwcvud.com", true }, { "xn--t8j4aa4nyhxa7duezbl49aqg5546e264d.net", true }, { "xn--t8j4aa4nzg3a5euoxcwee.xyz", true }, @@ -31215,8 +30570,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xn--tigreray-i1a.org", true }, { "xn--u9j0ia6hb7347cg8wavz0avb0e.com", true }, { "xn--u9jv84l7ea468b.com", true }, - { "xn--u9jy16ncfao19mo8i.nagoya", true }, - { "xn--uist1idrju3i.jp", true }, { "xn--uort9oqoaj00bv04d.biz", true }, { "xn--uorz58b8p0bpwa.biz", true }, { "xn--v-wfa35g.ro", true }, @@ -31224,14 +30577,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xn--vck8crc010pu14e.biz", true }, { "xn--vck8crc655y34ioha.net", true }, { "xn--vck8crcu789ajtaj92eura.xyz", true }, - { "xn--w22a.jp", true }, { "xn--werner-schffer-fib.de", true }, - { "xn--wmq.jp", false }, { "xn--xz1a.jp", true }, { "xn--y8j148r.xn--q9jyb4c", true }, { "xn--y8j2eb5631a4qf5n0h.com", true }, { "xn--y8j5gq14rbdd.net", true }, - { "xn--ykrp42k.com", true }, { "xn--zettlmeil-n1a.de", true }, { "xn5.de", true }, { "xnaas.info", true }, @@ -31291,7 +30641,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xuntier.ch", true }, { "xupeng.me", true }, { "xuri.me", false }, - { "xuwei.de", true }, { "xvt-blog.tk", true }, { "xwalck.se", true }, { "xx0r.eu", true }, @@ -31353,6 +30702,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yawnbox.com", true }, { "yaxim.org", true }, { "ybin.me", true }, + { "ybresson.com", true }, { "ybsul.com", true }, { "ybti.net", true }, { "ycaaz.com", true }, @@ -31360,10 +30710,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ychon.com", true }, { "ychong.com", true }, { "yclan.net", true }, - { "yd.io", true }, { "yeapdata.com", true }, { "yeesker.com", true }, - { "yellowcar.website", true }, { "yellowpages.ee", true }, { "yelp.at", true }, { "yelp.be", true }, @@ -31398,13 +30746,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yelp.pt", true }, { "yelp.se", true }, { "yemalu.com", true }, - { "yemekbaz.az", true }, { "yemektarifleri.com", true }, { "yennhi.co", true }, { "yep-pro.ch", true }, { "yepbitcoin.com", true }, { "yephy.com", true }, - { "yesfone.com.br", true }, { "yesiammaisey.me", true }, { "yeswehack.com", true }, { "yetii.net", true }, @@ -31427,11 +30773,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yinlei.org", true }, { "yiyuanzhong.com", true }, { "yiz96.com", true }, + { "yjsoft.me", true }, { "yjsw.sh.cn", true }, { "yksityisyydensuoja.fi", true }, { "ylilauta.org", true }, { "ylinternal.com", true }, - { "ylk.io", true }, { "ymarion.de", true }, { "ymblaw.com", true }, { "ympl.de", true }, @@ -31447,6 +30793,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yoga-sky.de", true }, { "yoga-zentrum-narayani.de", true }, { "yogabhawnamission.com", true }, + { "yogananda-roma.org", true }, { "yogaschoolrishikesh.com", true }, { "yogoeasy.com", true }, { "yoibyoin.info", true }, @@ -31508,7 +30855,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yourcopywriter.it", true }, { "yourdaddy.dk", true }, { "yourforex.org", true }, - { "yourgame.co.il", true }, { "yourgames.tv", true }, { "yoursbookstore.jp", true }, { "yourself.today", true }, @@ -31590,8 +30936,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yukonconnector.com", true }, { "yukonlip.com", true }, { "yukontec.com", true }, - { "yum0.cn", true }, { "yumeconcert.com", true }, + { "yuna.love", true }, + { "yuna.tg", true }, { "yunity.org", true }, { "yunjishou.pro", true }, { "yuricarlenzoli.it", true }, @@ -31607,6 +30954,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yuxuan.org", true }, { "yuyu.io", true }, { "yuzu.tk", true }, + { "yveshield.com", true }, { "yveslegendre.fr", true }, { "yvesx.com", true }, { "yvonnehaeusser.de", true }, @@ -31634,7 +30982,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zacharopoulos.me", false }, { "zacharopoulos.org", false }, { "zachaysan.com", true }, - { "zachbolinger.com", true }, { "zachborboa.com", true }, { "zachgibbens.org", true }, { "zachpeters.org", true }, @@ -31643,6 +30990,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zadroweb.com", true }, { "zafirus.name", true }, { "zahe.me", true }, + { "zahyantechnologies.com", false }, { "zaidan.de", true }, { "zaidan.eu", true }, { "zaidanfood.com", true }, @@ -31726,11 +31074,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zer0-day.pw", true }, { "zer0.de", true }, { "zero-sum.xyz", true }, - { "zero-x-baadf00d.com", true }, { "zerobounce.net", true }, { "zerocool.io", true }, { "zerofy.de", true }, - { "zerolab.org", true }, { "zeroling.com", true }, { "zeronet.io", true }, { "zeropush.com", true }, @@ -31746,11 +31092,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zettaplan.ru", true }, { "zettlmeissl.de", true }, { "zeug.co", true }, + { "zevelev.net", true }, { "zewtie.com", true }, { "zfast.com.br", true }, { "zfly.me", true }, { "zfo.gg", true }, { "zfree.co.nz", true }, + { "zgrep.org", true }, { "zh.search.yahoo.com", false }, { "zhang-hao.com", true }, { "zhang.nz", true }, @@ -31758,14 +31106,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zhangsidan.com", true }, { "zhangyuhao.com", true }, { "zhangzifan.com", true }, - { "zhaochen.xyz", true }, { "zhaofeng.li", true }, { "zhaoxixiangban.cc", true }, { "zhen-chen.com", true }, { "zhengjie.com", true }, + { "zhiku8.com", true }, { "zhima.io", true }, { "zhitanska.com", true }, - { "zhoujiashu.com", true }, { "zhovner.com", true }, { "zhuji.com", true }, { "zhujicaihong.com", true }, @@ -31774,12 +31121,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ziegler-heizung-frankfurt.de", true }, { "ziemlich-zackig.de", true }, { "ziemlichzackig.de", true }, - { "zifb.in", true }, { "zigi.io", true }, { "zigzagmart.com", true }, { "ziin.de", false }, { "zijung.me", true }, - { "zikirakhirzaman.com", true }, { "zillertaleralpen.net", true }, { "zilon.com.co", true }, { "zilore.com", true }, @@ -31800,9 +31145,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zivava.ge", true }, { "zivmergers.com", true }, { "zivver.com", true }, - { "zivy-ruzenec.cz", false }, { "zivyruzenec.cz", false }, { "zixiao.wang", true }, + { "zixo.sk", true }, { "zk.gd", true }, { "zk9.nl", true }, { "zkrypt.cc", true }, @@ -31811,9 +31156,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zlavomat.sk", true }, { "zlc1994.com", true }, { "zlima12.com", true }, - { "znacite.com", true }, { "znation.nl", true }, - { "znd.jp", true }, { "zning.net.cn", true }, { "zockenbiszumumfallen.de", true }, { "zodiacohouses.com", true }, @@ -31823,8 +31166,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zoigl.club", true }, { "zojadravai.com", true }, { "zoki.art", true }, - { "zokster.net", true }, { "zollihood.ch", true }, + { "zolokar.xyz", true }, { "zombiesecured.com", true }, { "zomerschoen.nl", true }, { "zonadebolsa.es", true }, @@ -31859,7 +31202,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zorz.info", true }, { "zotero.org", true }, { "zouk.info", true }, - { "zqwqz.com", true }, { "zravypapir.cz", true }, { "zrn.in", false }, { "zrniecka-pre-sny.sk", true }, @@ -31870,7 +31212,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zsrbcs.com", true }, { "zten.org", true }, { "ztjuh.tk", true }, - { "ztytian.com", true }, { "zuan-in.net", true }, { "zuckerfloh.de", true }, { "zuefle.net", true }, @@ -31885,7 +31226,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zund-app.com", true }, { "zundapp529.nl", true }, { "zundappachterhoek.nl", true }, - { "zunftmarke.de", true }, { "zuolan.me", true }, { "zup.me", true }, { "zupago.com", true }, @@ -31915,8 +31255,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zxtcode.com", true }, { "zybbo.com", true }, { "zyciedlazwierzat.pl", true }, - { "zymmm.com", false }, + { "zymmm.com", true }, { "zypern-firma.com", true }, + { "zypr.pw", true }, { "zyria.de", true }, { "zyul.ddns.net", true }, { "zyzardx.com", true }, diff --git a/startupcache/StartupCache.cpp b/startupcache/StartupCache.cpp index 5bd926245..eeaf6d229 100644 --- a/startupcache/StartupCache.cpp +++ b/startupcache/StartupCache.cpp @@ -738,6 +738,12 @@ StartupCacheWrapper* StartupCacheWrapper::gStartupCacheWrapper = nullptr; NS_IMPL_ISUPPORTS(StartupCacheWrapper, nsIStartupCache) +StartupCacheWrapper::~StartupCacheWrapper() +{ + MOZ_ASSERT(gStartupCacheWrapper == this); + gStartupCacheWrapper = nullptr; +} + StartupCacheWrapper* StartupCacheWrapper::GetSingleton() { if (!gStartupCacheWrapper) diff --git a/startupcache/StartupCache.h b/startupcache/StartupCache.h index cf874c3d1..3705fa7f8 100644 --- a/startupcache/StartupCache.h +++ b/startupcache/StartupCache.h @@ -214,7 +214,7 @@ class StartupCacheDebugOutputStream final class StartupCacheWrapper final : public nsIStartupCache { - ~StartupCacheWrapper() {} + ~StartupCacheWrapper(); NS_DECL_THREADSAFE_ISUPPORTS NS_DECL_NSISTARTUPCACHE diff --git a/toolkit/components/autocomplete/nsAutoCompleteController.cpp b/toolkit/components/autocomplete/nsAutoCompleteController.cpp index 6a5046360..51c356d9a 100644 --- a/toolkit/components/autocomplete/nsAutoCompleteController.cpp +++ b/toolkit/components/autocomplete/nsAutoCompleteController.cpp @@ -180,8 +180,9 @@ nsAutoCompleteController::StartSearch(const nsAString &aSearchString) } NS_IMETHODIMP -nsAutoCompleteController::HandleText() +nsAutoCompleteController::HandleText(bool *_retval) { + *_retval = false; // Note: the events occur in the following order when IME is used. // 1. a compositionstart event(HandleStartComposition) // 2. some input events (HandleText), eCompositionState_Composing @@ -284,6 +285,7 @@ nsAutoCompleteController::HandleText() return NS_OK; } + *_retval = true; StartSearches(); return NS_OK; @@ -610,7 +612,8 @@ nsAutoCompleteController::HandleDelete(bool *_retval) input->GetPopupOpen(&isOpen); if (!isOpen || mRowCount <= 0) { // Nothing left to delete, proceed as normal - HandleText(); + bool unused = false; + HandleText(&unused); return NS_OK; } @@ -621,7 +624,8 @@ nsAutoCompleteController::HandleDelete(bool *_retval) popup->GetSelectedIndex(&index); if (index == -1) { // No row is selected in the list - HandleText(); + bool unused = false; + HandleText(&unused); return NS_OK; } @@ -1185,7 +1189,7 @@ nsAutoCompleteController::StartSearch(uint16_t aSearchType) nsAutoString searchParam; nsresult rv = input->GetSearchParam(searchParam); if (NS_FAILED(rv)) - return rv; + return rv; // FormFill expects the searchParam to only contain the input element id, // other consumers may have other expectations, so this modifies it only @@ -1547,9 +1551,9 @@ nsAutoCompleteController::ProcessResult(int32_t aSearchIndex, nsIAutoCompleteRes if (mResults.IndexOf(aResult) == -1) { nsIAutoCompleteResult* oldResult = mResults.SafeObjectAt(aSearchIndex); if (oldResult) { - MOZ_ASSERT(false, "Passing new matches to OnSearchResult with a new " - "nsIAutoCompleteResult every time is deprecated, please " - "update the same result until the search is done"); + NS_ASSERTION(false, "Passing new matches to OnSearchResult with a new " + "nsIAutoCompleteResult every time is deprecated, please " + "update the same result until the search is done"); // Build a new nsIAutocompleteSimpleResult and merge results into it. RefPtr mergedResult = new nsAutoCompleteSimpleResult(); diff --git a/toolkit/components/autocomplete/nsIAutoCompleteController.idl b/toolkit/components/autocomplete/nsIAutoCompleteController.idl index 2e2405dcb..16b3950ef 100644 --- a/toolkit/components/autocomplete/nsIAutoCompleteController.idl +++ b/toolkit/components/autocomplete/nsIAutoCompleteController.idl @@ -37,7 +37,7 @@ interface nsIAutoCompleteController : nsISupports */ void startSearch(in AString searchString); - /* + /* * Stop all asynchronous searches */ void stopSearch(); @@ -54,8 +54,10 @@ interface nsIAutoCompleteController : nsISupports * it's not in composing mode. DOM compositionend event is not good * timing for calling handleText(). DOM input event immediately after * DOM compositionend event is the best timing to call this. + * + * @return whether this handler started a new search. */ - void handleText(); + boolean handleText(); /* * Notify the controller that the user wishes to enter the current text. If @@ -63,14 +65,16 @@ interface nsIAutoCompleteController : nsISupports * fill this value into the input field before continuing. If false, just * use the current value of the input field. * - * @return True if the controller wishes to prevent event propagation and default event + * @return Whether the controller wishes to prevent event propagation and + * default event. */ boolean handleEnter(in boolean aIsPopupSelection); /* * Notify the controller that the user wishes to revert autocomplete * - * @return True if the controller wishes to prevent event propagation and default event + * @return Whether the controller wishes to prevent event propagation and + * default event. */ boolean handleEscape(); @@ -90,7 +94,7 @@ interface nsIAutoCompleteController : nsISupports */ void handleEndComposition(); - /* + /* * Handle tab. Just closes up. */ void handleTab(); @@ -99,16 +103,19 @@ interface nsIAutoCompleteController : nsISupports * Notify the controller of the following key navigation events: * up, down, left, right, page up, page down * - * @return True if the controller wishes to prevent event propagation and default event + * @return Whether the controller wishes to prevent event propagation and + * default event */ boolean handleKeyNavigation(in unsigned long key); /* * Notify the controller that the user chose to delete the current * auto-complete result. + * + * @return Whether the controller removed a result item. */ boolean handleDelete(); - + /* * Get the value of the result at a given index in the last completed search */ diff --git a/toolkit/components/places/History.cpp b/toolkit/components/places/History.cpp index 8178b0535..6287d52ee 100644 --- a/toolkit/components/places/History.cpp +++ b/toolkit/components/places/History.cpp @@ -2574,7 +2574,16 @@ History::RegisterVisitedCallback(nsIURI* aURI, // assumes that aLink is non-nullptr, we will need to return now. if (NS_FAILED(rv) || !aLink) { // Remove our array from the hashtable so we don't keep it around. - mObservers.RemoveEntry(aURI); + // In some case calling RemoveEntry on the key obtained by PutEntry + // crashes for currently unknown reasons. Our suspect is that something + // between PutEntry and this call causes a nested loop that either removes + // the entry or reallocs the hash. + // TODO (Bug 1412647): we must figure the root cause for these issues and + // remove this stop-gap crash fix. + key = mObservers.GetEntry(aURI); + if (key) { + mObservers.RemoveEntry(key); + } return rv; } } diff --git a/toolkit/components/satchel/nsFormFillController.cpp b/toolkit/components/satchel/nsFormFillController.cpp index d69ecb1bc..4a2ac698c 100644 --- a/toolkit/components/satchel/nsFormFillController.cpp +++ b/toolkit/components/satchel/nsFormFillController.cpp @@ -501,7 +501,8 @@ NS_IMETHODIMP nsFormFillController::GetTextValue(nsAString & aTextValue) { if (mFocusedInput) { - mFocusedInput->GetValue(aTextValue); + nsCOMPtr input = mFocusedInput; + input->GetValue(aTextValue); } else { aTextValue.Truncate(); } @@ -523,24 +524,30 @@ nsFormFillController::SetTextValue(const nsAString & aTextValue) NS_IMETHODIMP nsFormFillController::GetSelectionStart(int32_t *aSelectionStart) { - if (mFocusedInput) - mFocusedInput->GetSelectionStart(aSelectionStart); + if (mFocusedInput) { + nsCOMPtr input = mFocusedInput; + input->GetSelectionStart(aSelectionStart); + } return NS_OK; } NS_IMETHODIMP nsFormFillController::GetSelectionEnd(int32_t *aSelectionEnd) { - if (mFocusedInput) - mFocusedInput->GetSelectionEnd(aSelectionEnd); + if (mFocusedInput) { + nsCOMPtr input = mFocusedInput; + input->GetSelectionEnd(aSelectionEnd); + } return NS_OK; } NS_IMETHODIMP nsFormFillController::SelectTextRange(int32_t aStartIndex, int32_t aEndIndex) { - if (mFocusedInput) - mFocusedInput->SetSelectionRange(aStartIndex, aEndIndex, EmptyString()); + if (mFocusedInput) { + nsCOMPtr input = mFocusedInput; + input->SetSelectionRange(aStartIndex, aEndIndex, EmptyString()); + } return NS_OK; } @@ -814,8 +821,9 @@ nsFormFillController::HandleEvent(nsIDOMEvent* aEvent) return KeyPress(aEvent); } if (type.EqualsLiteral("input")) { + bool unused = false; return (!mSuppressOnInput && mController && mFocusedInput) ? - mController->HandleText() : NS_OK; + mController->HandleText(&unused) : NS_OK; } if (type.EqualsLiteral("blur")) { if (mFocusedInput) @@ -925,6 +933,7 @@ nsFormFillController::KeyPress(nsIDOMEvent* aEvent) return NS_ERROR_FAILURE; bool cancel = false; + bool unused = false; uint32_t k; keyEvent->GetKeyCode(&k); @@ -934,7 +943,7 @@ nsFormFillController::KeyPress(nsIDOMEvent* aEvent) mController->HandleDelete(&cancel); break; case nsIDOMKeyEvent::DOM_VK_BACK_SPACE: - mController->HandleText(); + mController->HandleText(&unused); break; #else case nsIDOMKeyEvent::DOM_VK_BACK_SPACE: @@ -942,10 +951,11 @@ nsFormFillController::KeyPress(nsIDOMEvent* aEvent) bool isShift = false; keyEvent->GetShiftKey(&isShift); - if (isShift) + if (isShift) { mController->HandleDelete(&cancel); - else - mController->HandleText(); + } else { + mController->HandleText(&unused); + } break; } @@ -1055,7 +1065,8 @@ nsFormFillController::MouseDown(nsIDOMEvent* aEvent) if (value.Length() > 0) { // Show the popup with a filtered result set mController->SetSearchString(EmptyString()); - mController->HandleText(); + bool unused = false; + mController->HandleText(&unused); } else { // Show the popup with the complete result set. Can't use HandleText() // because it doesn't display the popup if the input is blank. diff --git a/widget/cocoa/nsNativeThemeCocoa.mm b/widget/cocoa/nsNativeThemeCocoa.mm index 146977d35..60c43c986 100644 --- a/widget/cocoa/nsNativeThemeCocoa.mm +++ b/widget/cocoa/nsNativeThemeCocoa.mm @@ -3391,6 +3391,7 @@ nsNativeThemeCocoa::DrawWidgetBackground(nsRenderingContext* aContext, // draw a focus ring if (eventState.HasState(NS_EVENT_STATE_FOCUS)) { NSGraphicsContext* savedContext = [NSGraphicsContext currentContext]; + if (MOZ_UNLIKELY(!savedContext)) break; // speculative fix issue 471 [NSGraphicsContext setCurrentContext:[NSGraphicsContext graphicsContextWithGraphicsPort:cgContext flipped:YES]]; CGContextSaveGState(cgContext); NSSetFocusRingStyle(NSFocusRingOnly);