author | Ciure Andrei <aciure@mozilla.com> |
Thu, 18 Oct 2018 19:40:31 +0300 | |
changeset 497718 | fc8ae615f7268108e364437b261bccc2ba65c1bb |
parent 497717 | 9a6b1ba0f53b8a8ab5aaa895c2de6c596ef4364a (current diff) |
parent 497701 | 733484af9034cb0372ed1fd745ec3d321d48e8b9 (diff) |
child 497719 | 6669d853e36620b01b035409ddc14ce8281ac5ae |
push id | 10002 |
push user | archaeopteryx@coole-files.de |
push date | Fri, 19 Oct 2018 23:09:29 +0000 |
treeherder | mozilla-beta@01378c910610 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | merge |
milestone | 64.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/browser/base/content/browser-customization.js +++ b/browser/base/content/browser-customization.js @@ -61,8 +61,120 @@ var CustomizationHandler = { for (let childNode of menubar.children) childNode.setAttribute("disabled", false); let cmd = document.getElementById("cmd_CustomizeToolbars"); cmd.removeAttribute("disabled"); gBrowser.selectedBrowser.focus(); }, }; + +var AutoHideMenubar = { + get _node() { + delete this._node; + return this._node = document.getElementById("toolbar-menubar"); + }, + + _contextMenuListener: { + contextMenu: null, + + get active() { + return !!this.contextMenu; + }, + + init(event) { + // Ignore mousedowns in <menupopup>s. + if (event.target.closest("menupopup")) { + return; + } + + let contextMenuId = AutoHideMenubar._node.getAttribute("context"); + this.contextMenu = document.getElementById(contextMenuId); + this.contextMenu.addEventListener("popupshown", this); + this.contextMenu.addEventListener("popuphiding", this); + AutoHideMenubar._node.addEventListener("mousemove", this); + }, + handleEvent(event) { + switch (event.type) { + case "popupshown": + AutoHideMenubar._node.removeEventListener("mousemove", this); + break; + case "popuphiding": + case "mousemove": + AutoHideMenubar._setInactiveAsync(); + AutoHideMenubar._node.removeEventListener("mousemove", this); + this.contextMenu.removeEventListener("popuphiding", this); + this.contextMenu.removeEventListener("popupshown", this); + this.contextMenu = null; + break; + } + }, + }, + + init() { + this._node.addEventListener("toolbarvisibilitychange", this); + if (this._node.getAttribute("autohide") == "true") { + this._enable(); + } + }, + + _updateState() { + if (this._node.getAttribute("autohide") == "true") { + this._enable(); + } else { + this._disable(); + } + }, + + _events: ["DOMMenuBarInactive", "DOMMenuBarActive", "popupshowing", "mousedown"], + _enable() { + this._node.setAttribute("inactive", "true"); + for (let event of this._events) { + this._node.addEventListener(event, this); + } + }, + + _disable() { + this._setActive(); + for (let event of this._events) { + this._node.removeEventListener(event, this); + } + }, + + handleEvent(event) { + switch (event.type) { + case "toolbarvisibilitychange": + this._updateState(); + break; + case "popupshowing": + // fall through + case "DOMMenuBarActive": + this._setActive(); + break; + case "mousedown": + if (event.button == 2) { + this._contextMenuListener.init(event); + } + break; + case "DOMMenuBarInactive": + if (!this._contextMenuListener.active) + this._setInactiveAsync(); + break; + } + }, + + _setInactiveAsync() { + this._inactiveTimeout = setTimeout(() => { + if (this._node.getAttribute("autohide") == "true") { + this._inactiveTimeout = null; + this._node.setAttribute("inactive", "true"); + } + }, 0); + }, + + _setActive() { + if (this._inactiveTimeout) { + clearTimeout(this._inactiveTimeout); + this._inactiveTimeout = null; + } + this._node.removeAttribute("inactive"); + }, +};
--- a/browser/base/content/browser.css +++ b/browser/base/content/browser.css @@ -71,20 +71,16 @@ toolbar[customizable="true"] { } %ifdef XP_MACOSX #toolbar-menubar { -moz-binding: url("chrome://browser/content/customizableui/toolbar.xml#toolbar-menubar-stub"); } %endif -#toolbar-menubar[autohide="true"] { - -moz-binding: url("chrome://browser/content/customizableui/toolbar.xml#toolbar-menubar-autohide"); -} - panelmultiview { -moz-box-align: start; } panelmultiview[transitioning] { pointer-events: none; }
--- a/browser/base/content/browser.js +++ b/browser/base/content/browser.js @@ -102,17 +102,17 @@ XPCOMUtils.defineLazyScriptGetter(this, XPCOMUtils.defineLazyScriptGetter(this, "gTabsPanel", "chrome://browser/content/browser-allTabsMenu.js"); XPCOMUtils.defineLazyScriptGetter(this, ["LightWeightThemeWebInstaller", "gExtensionsNotifications", "gXPInstallObserver"], "chrome://browser/content/browser-addons.js"); XPCOMUtils.defineLazyScriptGetter(this, "ctrlTab", "chrome://browser/content/browser-ctrlTab.js"); -XPCOMUtils.defineLazyScriptGetter(this, "CustomizationHandler", +XPCOMUtils.defineLazyScriptGetter(this, ["CustomizationHandler", "AutoHideMenubar"], "chrome://browser/content/browser-customization.js"); XPCOMUtils.defineLazyScriptGetter(this, ["PointerLock", "FullScreen"], "chrome://browser/content/browser-fullScreenAndPointerLock.js"); XPCOMUtils.defineLazyScriptGetter(this, ["gGestureSupport", "gHistorySwipeAnimation"], "chrome://browser/content/browser-gestureSupport.js"); XPCOMUtils.defineLazyScriptGetter(this, "gSafeBrowsing", "chrome://browser/content/browser-safebrowsing.js"); XPCOMUtils.defineLazyScriptGetter(this, "gSync", @@ -1237,16 +1237,19 @@ var gBrowserInit = { document.documentElement.setAttribute("width", width); document.documentElement.setAttribute("height", height); if (width < TARGET_WIDTH && height < TARGET_HEIGHT) { document.documentElement.setAttribute("sizemode", "maximized"); } } + // Run menubar initialization first, to avoid TabsInTitlebar code picking + // up mutations from it and causing a reflow. + AutoHideMenubar.init(); // Update the chromemargin attribute so the window can be sized correctly. window.TabBarVisibility.update(); TabsInTitlebar.init(); new LightweightThemeConsumer(document); CompactTheme.init(); if (AppConstants.platform == "win") {
--- a/browser/components/customizableui/content/toolbar.xml +++ b/browser/components/customizableui/content/toolbar.xml @@ -156,118 +156,20 @@ <method name="insertItem"> <body><![CDATA[ return null; ]]></body> </method> </implementation> </binding> - <!-- The toolbar-menubar-autohide and toolbar-drag bindings are almost - verbatim copies of their toolkit counterparts - they just inherit from - the customizableui's toolbar binding instead of toolkit's. We're currently - OK with the maintainance burden of having two copies of a binding, since - the long term goal is to move the customization framework into toolkit. --> - - <binding id="toolbar-menubar-autohide" - extends="chrome://browser/content/customizableui/toolbar.xml#toolbar"> - <implementation> - <constructor> - this._setInactive(); - </constructor> - <destructor> - this._setActive(); - </destructor> - - <field name="_inactiveTimeout">null</field> - - <field name="_contextMenuListener"><![CDATA[({ - toolbar: this, - contextMenu: null, - - get active() { - return !!this.contextMenu; - }, - - init(event) { - let node = event.target; - while (node != this.toolbar) { - if (node.localName == "menupopup") - return; - node = node.parentNode; - } - - let contextMenuId = this.toolbar.getAttribute("context"); - if (!contextMenuId) - return; - - this.contextMenu = document.getElementById(contextMenuId); - if (!this.contextMenu) - return; - - this.contextMenu.addEventListener("popupshown", this); - this.contextMenu.addEventListener("popuphiding", this); - this.toolbar.addEventListener("mousemove", this); - }, - handleEvent(event) { - switch (event.type) { - case "popupshown": - this.toolbar.removeEventListener("mousemove", this); - break; - case "popuphiding": - case "mousemove": - this.toolbar._setInactiveAsync(); - this.toolbar.removeEventListener("mousemove", this); - this.contextMenu.removeEventListener("popuphiding", this); - this.contextMenu.removeEventListener("popupshown", this); - this.contextMenu = null; - break; - } - }, - })]]></field> - - <method name="_setInactive"> - <body><![CDATA[ - this.setAttribute("inactive", "true"); - ]]></body> - </method> - - <method name="_setInactiveAsync"> - <body><![CDATA[ - this._inactiveTimeout = setTimeout(function(self) { - if (self.getAttribute("autohide") == "true") { - self._inactiveTimeout = null; - self._setInactive(); - } - }, 0, this); - ]]></body> - </method> - - <method name="_setActive"> - <body><![CDATA[ - if (this._inactiveTimeout) { - clearTimeout(this._inactiveTimeout); - this._inactiveTimeout = null; - } - this.removeAttribute("inactive"); - ]]></body> - </method> - </implementation> - - <handlers> - <handler event="DOMMenuBarActive" action="this._setActive();"/> - <handler event="popupshowing" action="this._setActive();"/> - <handler event="mousedown" button="2" action="this._contextMenuListener.init(event);"/> - <handler event="DOMMenuBarInactive"><![CDATA[ - if (!this._contextMenuListener.active) - this._setInactiveAsync(); - ]]></handler> - </handlers> - </binding> - + <!-- The toolbar-drag binding is almost a verbatim copy of its toolkit counterpart, + but it inherits from the customizableui's toolbar binding instead of toolkit's. + This functionality will move into CustomizableUI proper as part of our move + away from XBL. --> <binding id="toolbar-drag" extends="chrome://browser/content/customizableui/toolbar.xml#toolbar"> <implementation> <field name="_dragBindingAlive">true</field> <constructor><![CDATA[ if (!this._draggableStarted) { this._draggableStarted = true; try {
--- a/devtools/client/framework/moz.build +++ b/devtools/client/framework/moz.build @@ -1,15 +1,18 @@ # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # 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/. -BROWSER_CHROME_MANIFESTS += ['test/browser.ini'] +BROWSER_CHROME_MANIFESTS += [ + 'test/browser.ini', + 'test/metrics/browser_metrics_inspector.ini' +] XPCSHELL_TESTS_MANIFESTS += ['test/unit/xpcshell.ini'] DIRS += [ 'components', ] DevToolsModules( 'attach-thread.js',
--- a/devtools/client/framework/test/browser_toolbox_window_reload_target.js +++ b/devtools/client/framework/test/browser_toolbox_window_reload_target.js @@ -1,98 +1,103 @@ /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ /* vim: set ft=javascript ts=2 et sw=2 tw=80: */ /* Any copyright is dedicated to the Public Domain. * http://creativecommons.org/publicdomain/zero/1.0/ */ +// Test that pressing various page reload keyboard shortcuts always works when devtools +// has focus, no matter if it's undocked or docked, and whatever the tool selected (this +// is to avoid tools from overriding the page reload shortcuts). +// This test also serves as a safety net checking that tools just don't explode when the +// page is reloaded. +// It is therefore quite long to run. + requestLongerTimeout(10); const TEST_URL = "data:text/html;charset=utf-8," + "<html><head><title>Test reload</title></head>" + "<body><h1>Testing reload from devtools</h1></body></html>"; -var {Toolbox} = require("devtools/client/framework/toolbox"); - -const {LocalizationHelper} = require("devtools/shared/l10n"); +const { Toolbox } = require("devtools/client/framework/toolbox"); +const { LocalizationHelper } = require("devtools/shared/l10n"); const L10N = new LocalizationHelper("devtools/client/locales/toolbox.properties"); -var target, toolbox, description, reloadsSent, toolIDs; +// Track how many page reloads we've sent to the page. +var reloadsSent = 0; -function test() { - addTab(TEST_URL).then(async () => { - target = await TargetFactory.forTab(gBrowser.selectedTab); +add_task(async function() { + await addTab(TEST_URL); + const target = await TargetFactory.forTab(gBrowser.selectedTab); + // Load the frame-script-utils into the child. + loadFrameScriptUtils(); - toolIDs = gDevTools.getToolDefinitionArray() - .filter(def => def.isTargetSupported(target)) - .map(def => def.id); - gDevTools.showToolbox(target, toolIDs[0], Toolbox.HostType.BOTTOM) - .then(startReloadTest); - }); -} + info("Getting the entire list of tools supported in this tab"); + const toolIDs = gDevTools.getToolDefinitionArray() + .filter(def => def.isTargetSupported(target)) + .map(def => def.id); -function startReloadTest(aToolbox) { - loadFrameScriptUtils(); // causes frame-script-utils to be loaded into the child. - toolbox = aToolbox; + info("Display the toolbox, docked at the bottom, with the first tool selected"); + const toolbox = await gDevTools.showToolbox(target, toolIDs[0], + Toolbox.HostType.BOTTOM); - reloadsSent = 0; - let reloads = 0; - const reloadCounter = (msg) => { - reloads++; - info("Detected reload #" + reloads); - is(reloads, reloadsSent, "Reloaded from devtools window once and only for " + description + ""); + info("Listen to page reloads to check that they are indeed sent by the toolbox"); + let reloadDetected = 0; + const reloadCounter = msg => { + reloadDetected++; + info("Detected reload #" + reloadDetected); + is(reloadDetected, reloadsSent, "Detected the right number of reloads in the page"); }; gBrowser.selectedBrowser.messageManager.addMessageListener("devtools:test:load", reloadCounter); - testAllTheTools("docked", () => { - const origHostType = toolbox.hostType; - toolbox.switchHost(Toolbox.HostType.WINDOW).then(() => { - toolbox.win.focus(); - testAllTheTools("undocked", () => { - toolbox.switchHost(origHostType).then(() => { - gBrowser.selectedBrowser.messageManager.removeMessageListener("devtools:test:load", reloadCounter); - // If we finish too early, the inspector breaks promises: - toolbox.getPanel("inspector").once("new-root", finishUp); - }); - }); - }); - }, toolIDs.length - 1 /* only test 1 tool in docked mode, to cut down test time */); + info("Start testing with the toolbox docked"); + // Note that we actually only test 1 tool in docked mode, to cut down on test time. + await testOneTool(toolbox, toolIDs[toolIDs.length - 1]); + + info("Switch to undocked mode"); + await toolbox.switchHost(Toolbox.HostType.WINDOW); + toolbox.win.focus(); + + info("Now test with the toolbox undocked"); + for (const toolID of toolIDs) { + await testOneTool(toolbox, toolID); + } + + info("Switch back to docked mode"); + await toolbox.switchHost(Toolbox.HostType.BOTTOM); + + gBrowser.selectedBrowser.messageManager.removeMessageListener("devtools:test:load", reloadCounter); + + await toolbox.destroy(); + gBrowser.removeCurrentTab(); +}); + +async function testOneTool(toolbox, toolID) { + info(`Select tool ${toolID}`); + await toolbox.selectTool(toolID); + + await testReload("toolbox.reload.key", toolbox, toolID); + await testReload("toolbox.reload2.key", toolbox, toolID); + await testReload("toolbox.forceReload.key", toolbox, toolID); + await testReload("toolbox.forceReload2.key", toolbox, toolID); } -function testAllTheTools(docked, callback, toolNum = 0) { - if (toolNum >= toolIDs.length) { - return callback(); - } - toolbox.selectTool(toolIDs[toolNum]).then(() => { - testReload("toolbox.reload.key", docked, toolIDs[toolNum], () => { - testReload("toolbox.reload2.key", docked, toolIDs[toolNum], () => { - testReload("toolbox.forceReload.key", docked, toolIDs[toolNum], () => { - testReload("toolbox.forceReload2.key", docked, toolIDs[toolNum], () => { - testAllTheTools(docked, callback, toolNum + 1); - }); - }); - }); - }); +function testReload(shortcut, toolbox, toolID) { + info(`Reload with ${shortcut}`); + + const mm = gBrowser.selectedBrowser.messageManager; + + return new Promise(resolve => { + // The inspector needs some special care. + const toolUpdated = toolID === "inspector" + ? toolbox.getPanel("inspector").once("new-root") + : Promise.resolve(); + + const complete = () => { + mm.removeMessageListener("devtools:test:load", complete); + toolUpdated.then(resolve); + }; + mm.addMessageListener("devtools:test:load", complete); + + toolbox.win.focus(); + synthesizeKeyShortcut(L10N.getStr(shortcut), toolbox.win); + reloadsSent++; }); } - -function testReload(shortcut, docked, toolID, callback) { - const complete = () => { - gBrowser.selectedBrowser.messageManager.removeMessageListener("devtools:test:load", complete); - return callback(); - }; - gBrowser.selectedBrowser.messageManager.addMessageListener("devtools:test:load", complete); - - description = docked + " devtools with tool " + toolID + ", shortcut #" + shortcut; - info("Testing reload in " + description); - toolbox.win.focus(); - synthesizeKeyShortcut(L10N.getStr(shortcut), toolbox.win); - reloadsSent++; -} - -function finishUp() { - toolbox.destroy().then(() => { - gBrowser.removeCurrentTab(); - - target = toolbox = description = reloadsSent = toolIDs = null; - - finish(); - }); -}
new file mode 100644 --- /dev/null +++ b/devtools/client/framework/test/metrics/browser_metrics_inspector.ini @@ -0,0 +1,12 @@ +[DEFAULT] +tags = devtools +subsuite = devtools +support-files = + head.js + !/devtools/client/shared/test/shared-head.js + !/devtools/client/shared/test/telemetry-test-helpers.js + +# Each metrics tests is loaded in a separate .ini file. This way the test is executed +# individually, without any other test being executed before or after. +[browser_metrics_inspector.js] +skip-if = os != 'linux' || debug || asan # Results should be platform agnostic - only run on linux64-opt
new file mode 100644 --- /dev/null +++ b/devtools/client/framework/test/metrics/browser_metrics_inspector.js @@ -0,0 +1,80 @@ +/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ +/* vim: set ft=javascript ts=2 et sw=2 tw=80: */ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +/* import-globals-from ../../../shared/test/shared-head.js */ + +/** + * This test records the number of modules loaded by DevTools, as well as the total count + * of characters in those modules, when opening the inspector. These metrics are retrieved + * by perfherder via logs. + */ + +const TEST_URL = "data:text/html;charset=UTF-8,<div>Inspector modules load test</div>"; + +add_task(async function() { + await openNewTabAndToolbox(TEST_URL, "inspector"); + + const allModules = getFilteredModules(""); + const inspectorModules = getFilteredModules("devtools/client/inspector"); + + const allModulesCount = allModules.length; + const inspectorModulesCount = inspectorModules.length; + + const allModulesChars = countCharsInModules(allModules); + const inspectorModulesChars = countCharsInModules(inspectorModules); + + const PERFHERDER_DATA = { + framework: { + name: "devtools" + }, + suites: [{ + name: "inspector-metrics", + value: allModulesChars, + subtests: [ + { + name: "inspector-modules", + value: inspectorModulesCount + }, + { + name: "inspector-chars", + value: inspectorModulesChars + }, + { + name: "all-modules", + value: allModulesCount + }, + { + name: "all-chars", + value: allModulesChars + }, + ], + }] + }; + info("PERFHERDER_DATA: " + JSON.stringify(PERFHERDER_DATA)); + + // Simply check that we found valid values. + ok(allModulesCount > inspectorModulesCount && + inspectorModulesCount > 0, "Successfully recorded module count for Inspector"); + ok(allModulesChars > inspectorModulesChars && + inspectorModulesChars > 0, "Successfully recorded char count for Inspector"); +}); + +function getFilteredModules(filter) { + const modules = Object.keys(loader.provider.loader.modules); + return modules.filter(url => url.includes(filter)); +} + +function countCharsInModules(modules) { + return modules.reduce((sum, uri) => { + try { + return sum + require("raw!" + uri).length; + } catch (e) { + // Ignore failures + return sum; + } + }, 0); +}
new file mode 100644 --- /dev/null +++ b/devtools/client/framework/test/metrics/head.js @@ -0,0 +1,11 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +/* import-globals-from ../../../shared/test/shared-head.js */ +/* import-globals-from ../../../shared/test/telemetry-test-helpers.js */ + +// shared-head.js handles imports, constants, and utility functions +Services.scriptloader.loadSubScript("chrome://mochitests/content/browser/devtools/client/shared/test/shared-head.js", this); + +// So that PERFHERDER data can be extracted from the logs. +SimpleTest.requestCompleteLog();
--- a/devtools/client/inspector/animation/animation.js +++ b/devtools/client/inspector/animation/animation.js @@ -1,15 +1,14 @@ /* 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/. */ "use strict"; -const { AnimationsFront } = require("devtools/shared/fronts/animation"); const { createElement, createFactory } = require("devtools/client/shared/vendor/react"); const { Provider } = require("devtools/client/shared/vendor/react-redux"); const EventEmitter = require("devtools/shared/event-emitter"); const App = createFactory(require("./components/App")); const CurrentTimeTimer = require("./current-time-timer"); @@ -97,17 +96,17 @@ class AnimationInspector { setSelectedNode, simulateAnimation, simulateAnimationForKeyframesProgressBar, toggleElementPicker, } = this; const target = this.inspector.target; const direction = this.win.document.dir; - this.animationsFront = new AnimationsFront(target.client, target.form); + this.animationsFront = target.getFront("animations"); this.animationsFront.setWalkerActor(this.inspector.walker); this.animationsCurrentTimeListeners = []; this.isCurrentTimeSet = false; const provider = createElement(Provider, { id: "animationinspector", @@ -321,17 +320,22 @@ class AnimationInspector { animation.off("changed", this.onAnimationStateChanged); } } // Update existing other animations as well since the currentTime would be proceeded // sice the scrubber position is related the currentTime. // Also, don't update the state of removed animations since React components // may refer to the same instance still. - animations = await this.updateAnimations(animations); + try { + animations = await this.updateAnimations(animations); + } catch (_) { + console.error(`Updating Animations failed`); + return; + } this.updateState(animations.concat(addedAnimations)); } onElementPickerStarted() { this.inspector.store.dispatch(updateElementPickerEnabled(true)); }
--- a/devtools/client/inspector/animation/test/browser_animation_logic_mutations_fast.js +++ b/devtools/client/inspector/animation/test/browser_animation_logic_mutations_fast.js @@ -5,18 +5,28 @@ // Test whether the animation inspector will not crash when remove/add animations faster. add_task(async function() { const tab = await addTab(URL_ROOT + "doc_mutations_fast.html"); const { inspector } = await openAnimationInspector(); info("Check state of the animation inspector after fast mutations"); + const animationsFinished = waitForAnimations(inspector); await startFastMutations(tab); ok(inspector.panelWin.document.getElementById("animation-container"), "Animation inspector should be live"); + await animationsFinished; }); async function startFastMutations(tab) { await ContentTask.spawn(tab.linkedBrowser, {}, async function() { await content.wrappedJSObject.startFastMutations(); }); } + +function waitForAnimations(inspector) { + // wait at least once + let count = 1; + // queue any further waits + inspector.animationinspector.animationsFront.on("mutations", () => count++); + return waitForDispatch(inspector, "UPDATE_ANIMATIONS", () => count); +}
--- a/devtools/client/inspector/animation/test/head.js +++ b/devtools/client/inspector/animation/test/head.js @@ -549,16 +549,61 @@ const setStyles = async function(animati const waitForRendering = async function(animationInspector) { await Promise.all([ waitForAllAnimationTargets(animationInspector), waitForAllSummaryGraph(animationInspector), waitForAnimationDetail(animationInspector), ]); }; +// Wait until an action of `type` is dispatched. If it's part of an +// async operation, wait until the `status` field is "done" or "error" +function _afterDispatchDone(store, type) { + return new Promise(resolve => { + store.dispatch({ + // Normally we would use `services.WAIT_UNTIL`, but use the + // internal name here so tests aren't forced to always pass it + // in + type: "@@service/waitUntil", + predicate: action => { + if (action.type === type) { + return true; + } + return false; + }, + run: (dispatch, getState, action) => { + resolve(action); + } + }); + }); +} + +/** + * Wait for a specific action type to be dispatch. + * If an async action, will wait for it to be done. + * This is a custom waitForDispatch, and rather than having a number to wait on + * the function has a callback, that returns a number. This allows us to wait for + * an unknown number of dispatches. + * + * @memberof mochitest/waits + * @param {Object} inspector + * @param {String} type + * @param {Function} repeat + * @return {Promise} + * @static + */ +async function waitForDispatch(inspector, type, repeat) { + let count = 0; + + while (count < repeat()) { + await _afterDispatchDone(inspector.store, type); + count++; + } +} + /** * Wait for rendering of animation keyframes. * * @param {AnimationInspector} inspector */ const waitForAnimationDetail = async function(animationInspector) { if (animationInspector.state.selectedAnimation &&
--- a/devtools/client/inspector/rules/rules.js +++ b/devtools/client/inspector/rules/rules.js @@ -92,31 +92,29 @@ const INSET_POINT_TYPES = ["top", "right * @param {Inspector} inspector * Inspector toolbox panel * @param {Document} document * The document that will contain the rule view. * @param {Object} store * The CSS rule view can use this object to store metadata * that might outlast the rule view, particularly the current * set of disabled properties. - * @param {PageStyleFront} pageStyle - * The PageStyleFront for communicating with the remote server. */ -function CssRuleView(inspector, document, store, pageStyle) { +function CssRuleView(inspector, document, store) { EventEmitter.decorate(this); this.inspector = inspector; this.cssProperties = inspector.cssProperties; this.styleDocument = document; this.styleWindow = this.styleDocument.defaultView; this.store = store || {}; // References to rules marked by various editors where they intend to write changes. // @see selectRule(), unselectRule() this.selectedRules = new Map(); - this.pageStyle = pageStyle; + this.pageStyle = inspector.pageStyle; // Allow tests to override debouncing behavior, as this can cause intermittents. this.debounce = debounce; this._outputParser = new OutputParser(document, this.cssProperties); this._onAddRule = this._onAddRule.bind(this); this._onContextMenu = this._onContextMenu.bind(this);
--- a/devtools/client/preferences/devtools-client.js +++ b/devtools/client/preferences/devtools-client.js @@ -353,13 +353,9 @@ pref("devtools.aboutdebugging.collapsibi // about:debugging: only show system add-ons in local builds by default. #ifdef MOZILLA_OFFICIAL pref("devtools.aboutdebugging.showSystemAddons", false); #else pref("devtools.aboutdebugging.showSystemAddons", true); #endif // Map top-level await expressions in the console -#if defined(NIGHTLY_BUILD) pref("devtools.debugger.features.map-await-expression", true); -#else -pref("devtools.debugger.features.map-await-expression", false); -#endif
--- a/devtools/client/webconsole/components/JSTerm.js +++ b/devtools/client/webconsole/components/JSTerm.js @@ -545,16 +545,17 @@ class JSTerm extends Component { const inspectorSelection = this.hud.owner.getInspectorSelection(); if (inspectorSelection && inspectorSelection.nodeFront) { selectedNodeActor = inspectorSelection.nodeFront.actorID; } const { ConsoleCommand } = require("devtools/client/webconsole/types"); const cmdMessage = new ConsoleCommand({ messageText: executeString, + timeStamp: Date.now(), }); this.hud.proxy.dispatchMessageAdd(cmdMessage); let mappedExpressionRes = null; try { mappedExpressionRes = await this.hud.owner.getMappedExpression(executeString); } catch (e) { console.warn("Error when calling getMappedExpression", e);
--- a/devtools/client/webconsole/components/message-types/ConsoleCommand.js +++ b/devtools/client/webconsole/components/message-types/ConsoleCommand.js @@ -30,26 +30,28 @@ function ConsoleCommand(props) { } = props; const { indent, source, type, level, messageText, + timeStamp, } = message; // This uses a Custom Element to syntax highlight when possible. If it's not // (no CodeMirror editor), then it will just render text. const messageBody = createElement("syntax-highlighted", null, messageText); return Message({ source, type, level, topLevelClasses: [], messageBody, serviceContainer, indent, + timeStamp, timestampsVisible, }); } module.exports = ConsoleCommand;
--- a/devtools/client/webconsole/test/mochitest/browser_jsterm_await.js +++ b/devtools/client/webconsole/test/mochitest/browser_jsterm_await.js @@ -34,16 +34,27 @@ async function performTests() { ); // Check that the resulting promise of the async iife is not displayed. let messages = hud.ui.outputNode.querySelectorAll(".message .message-body"); let messagesText = Array.from(messages).map(n => n.textContent).join(" - "); is(messagesText, `${simpleAwait} - Array [ "await1" ]`, "The output contains the the expected messages"); + // Check that the timestamp of the result is accurate + const { + visibleMessages, + messagesById + } = hud.ui.consoleOutput.getStore().getState().messages; + const [commandId, resultId] = visibleMessages; + const delta = messagesById.get(resultId).timeStamp - + messagesById.get(commandId).timeStamp; + ok(delta >= 500, + `The result has a timestamp at least 500ms (${delta}ms) older than the command`); + info("Check that assigning the result of a top-level await expression works"); await executeAndWaitForResultMessage( `x = await new Promise(r => setTimeout(() => r("await2"), 500))`, `await2`, ); let message = await executeAndWaitForResultMessage( `"-" + x + "-"`,
--- a/devtools/client/webconsole/types.js +++ b/devtools/client/webconsole/types.js @@ -17,16 +17,17 @@ exports.ConsoleCommand = function(props) allowRepeating: false, messageText: null, source: MESSAGE_SOURCE.JAVASCRIPT, type: MESSAGE_TYPE.COMMAND, level: MESSAGE_LEVEL.LOG, groupId: null, indent: 0, private: false, + timeStamp: null, }, props); }; exports.ConsoleMessage = function(props) { return Object.assign({ id: null, allowRepeating: true, source: null,
--- a/devtools/server/actors/webconsole.js +++ b/devtools/server/actors/webconsole.js @@ -971,21 +971,24 @@ WebConsoleActor.prototype = * `resultID` field, and potentially a promise in the `helperResult` or in the * `awaitResult` field. * * @return object * The response packet to send to with the unique id in the * `resultID` field, with a sanitized helperResult field. */ _waitForResultAndSend: async function(response) { + let updateTimestamp = false; + // Wait for asynchronous command completion before sending back the response if ( response.helperResult && typeof response.helperResult.then == "function" ) { response.helperResult = await response.helperResult; + updateTimestamp = true; } else if (response.awaitResult && typeof response.awaitResult.then === "function") { let result; try { result = await response.awaitResult; } catch (e) { // The promise was rejected. We let the engine handle this as it will report a // `uncaught exception` error. response.topLevelAwaitRejected = true; @@ -995,16 +998,24 @@ WebConsoleActor.prototype = // `createValueGrip` expect a debuggee value, while here we have the raw object. // We need to call `makeDebuggeeValue` on it to make it work. const dbgResult = this.makeDebuggeeValue(result); response.result = this.createValueGrip(dbgResult); } // Remove the promise from the response object. delete response.awaitResult; + + updateTimestamp = true; + } + + if (updateTimestamp) { + // We need to compute the timestamp again as the one in the response was set before + // doing the evaluation, which is now innacurate since we waited for a bit. + response.timestamp = Date.now(); } // Finally, send an unsolicited evaluationResult packet with // the normal return value this.conn.sendActorEvent(this.actorID, "evaluationResult", response); }, /**
--- a/layout/ipc/RenderFrameParent.cpp +++ b/layout/ipc/RenderFrameParent.cpp @@ -434,10 +434,12 @@ nsDisplayRemote::GetRemoteLayersId() con { MOZ_ASSERT(GetRenderFrameParent()); return GetRenderFrameParent()->GetLayersId(); } mozilla::layout::RenderFrameParent* nsDisplayRemote::GetRenderFrameParent() const { - return static_cast<nsSubDocumentFrame*>(Frame())->GetRenderFrameParent(); + return mFrame + ? static_cast<nsSubDocumentFrame*>(mFrame)->GetRenderFrameParent() + : nullptr; }
--- a/layout/style/nsStyleStruct.cpp +++ b/layout/style/nsStyleStruct.cpp @@ -3903,17 +3903,18 @@ nsStyleDisplay::CalcDifference(const nsS mAnimationTimingFunctionCount != aNewData.mAnimationTimingFunctionCount || mAnimationDurationCount != aNewData.mAnimationDurationCount || mAnimationDelayCount != aNewData.mAnimationDelayCount || mAnimationNameCount != aNewData.mAnimationNameCount || mAnimationDirectionCount != aNewData.mAnimationDirectionCount || mAnimationFillModeCount != aNewData.mAnimationFillModeCount || mAnimationPlayStateCount != aNewData.mAnimationPlayStateCount || mAnimationIterationCountCount != aNewData.mAnimationIterationCountCount || - mScrollSnapCoordinate != aNewData.mScrollSnapCoordinate)) { + mScrollSnapCoordinate != aNewData.mScrollSnapCoordinate || + mWillChange != aNewData.mWillChange)) { hint |= nsChangeHint_NeutralChange; } return hint; } void nsStyleDisplay::GenerateCombinedIndividualTransform()
--- a/security/manager/ssl/StaticHPKPins.h +++ b/security/manager/ssl/StaticHPKPins.h @@ -1166,9 +1166,9 @@ static const TransportSecurityPreload kP { "za.search.yahoo.com", false, true, false, -1, &kPinset_yahoo }, { "zh.search.yahoo.com", false, true, false, -1, &kPinset_yahoo }, }; // Pinning Preload List Length = 488; static const int32_t kUnknownId = -1; -static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1548072779456000); +static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1548331423288000);
--- a/security/manager/ssl/nsSTSPreloadList.inc +++ b/security/manager/ssl/nsSTSPreloadList.inc @@ -3,17 +3,17 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ /*****************************************************************************/ /* This is an automatically generated file. If you're not */ /* nsSiteSecurityService.cpp, you shouldn't be #including it. */ /*****************************************************************************/ #include <stdint.h> -const PRTime gPreloadListExpirationTime = INT64_C(1550491974445000); +const PRTime gPreloadListExpirationTime = INT64_C(1550750617822000); %% 0-1.party, 1 00100010.net, 1 0010100.net, 1 00120012.net, 1 00130013.net, 1 00140014.net, 1 00150015.net, 1 @@ -70,17 +70,16 @@ 050.ca, 1 050media.nl, 1 0511315.net, 1 0513c.com, 1 0573wk.com, 1 06091994.xyz, 1 066318.com, 1 06se.com, 1 070709.net, 1 -07733.win, 1 0788yh.com, 1 0792112.com, 1 0809yh.com, 1 081752.com, 1 081763.com, 1 081769.com, 1 081783.com, 1 081925.com, 1 @@ -198,17 +197,16 @@ 110110110.net, 1 112112112.net, 1 112app.nl, 1 112hz.com, 1 113113113.net, 1 114514ss.com, 1 118118118.net, 1 11dzon.com, 1 11loc.de, 1 -11scc.com, 1 11thstreetcoffee.com, 1 11urss.com, 1 1212873467.rsc.cdn77.org, 1 1218641649.rsc.cdn77.org, 1 123.gg, 1 1231212.com, 1 123123q.com, 1 123123qq.com, 1 @@ -312,17 +310,16 @@ 1921958389.rsc.cdn77.org, 1 192433.com, 1 1972969867.rsc.cdn77.org, 1 1981612088.rsc.cdn77.org, 1 19hundert84.de, 1 1a-diamantscheiben.de, 1 1a-vermessung.at, 1 1a-werkstattgeraete.de, 1 1ab-machinery.com, 1 -1aim.com, 1 1b1.pl, 1 1c-power.ru, 1 1cover.co.nz, 1 1cover.com.au, 1 1day1ac.red, 1 1e9.nl, 1 1er-secours.ch, 1 1f123.net, 1 @@ -381,17 +378,16 @@ 20at.com, 1 20denier.com, 1 20zq.com, 1 215dy.net, 1 21sthammersmith.org.uk, 1 21stnc.com, 1 21x9.org, 1 2222yh.com, 1 22digital.agency, 1 -22scc.com, 1 230beats.com, 1 2333.press, 1 23333.link, 1 2333666.xyz, 1 2333blog.com, 1 233abc.com, 1 233blog.com, 1 233boy.com, 1 @@ -470,16 +466,17 @@ 2krueger.de, 1 2li.ch, 1 2manydots.nl, 1 2mb.solutions, 1 2mir.com, 1 2nains.ch, 1 2nerds1bit.com, 1 2nics.net, 1 2pay.fr, 1 +2programmers.net, 1 2rsc.com, 1 2rsc.net, 1 2stv.net, 1 2ulcceria.nl, 1 2wheel.com, 1 2y.fi, 1 3-dot-careapp1-146314.appspot.com, 1 300m.com, 0 @@ -525,17 +522,16 @@ 330.net, 1 3333yh.com, 1 33445.com, 1 33445111.com, 1 33445222.com, 1 33445333.com, 1 33445444.com, 1 33836.com, 1 338da.com, 1 -33scc.com, 1 340422.com, 1 340622.com, 1 340922.com, 1 341422.com, 1 341433.com, 1 341533.com, 1 341633.com, 1 341733.com, 1 @@ -698,17 +694,16 @@ 439050.com, 1 440887.com, 1 441jj.com, 0 442887.com, 1 443887.com, 1 4444yh.com, 1 444887.com, 1 445887.com, 1 448da.com, 1 -44scc.com, 1 451.ooo, 1 4553s.com, 1 4553vip.com, 1 4706666.com, 1 4716666.com, 1 4726666.com, 1 4736666.com, 1 4756666.com, 1 @@ -840,17 +835,16 @@ 545922.com, 1 546802.com, 1 54below.com, 1 5518k3.com, 1 5533445.com, 1 5555yh.com, 1 555xl.com, 1 55639.com, 1 55797.com, 1 -55scc.com, 1 56877.com, 1 576422.com, 1 579422.com, 1 57he.com, 1 57wilkie.net, 1 583422.com, 1 585422.com, 1 586422.com, 1 @@ -875,17 +869,16 @@ 5dwin.net, 1 5ece.de, 1 5francs.com, 1 5gb.space, 1 5h0r7.com, 1 5kraceforals.com, 1 5percentperweek.com, 1 5starbouncycastlehire.co.uk, 1 5thchichesterscouts.org.uk, 1 -5w5.la, 1 5y.fi, 1 602422.com, 1 604122.com, 1 604322.com, 1 604522.com, 1 604622.com, 1 605422.com, 1 606422.com, 1 @@ -999,17 +992,16 @@ 698da.com, 1 6997896.com, 1 69butterfly.com, 1 69fps.gg, 1 69mentor.com, 1 69wasted.net, 1 6lo.zgora.pl, 1 6pm.com, 1 6t-montjoye.org, 1 -6w6.la, 1 700.az, 1 704233.com, 1 7045.com, 1 704533.com, 1 7045h.com, 1 704633.com, 1 712433.com, 1 713433.com, 1 @@ -1164,17 +1156,16 @@ 8889809.com, 1 8889819.com, 1 8889870.com, 1 8889881.com, 1 8889890.com, 1 8889893.com, 1 8889903.com, 1 8889910.com, 1 888bwf.com, 1 -888msc.vip, 1 88bwf.com, 1 88d.com, 1 88laohu.cc, 1 88laohu.com, 1 8901178.com, 1 8901178.net, 1 8910899.com, 1 8910899.net, 1 @@ -1491,28 +1482,28 @@ abvent.net, 1 abvlbasketviganello.ch, 1 abyssproject.net, 1 ac-admin.pl, 1 ac-epmservices.com, 1 ac-town.com, 1 ac0g.dyndns.org, 1 aca-creative.co.uk, 1 academicexperts.us, 1 +academichealthscience.net, 1 academie-de-police.ch, 1 academkin.com, 1 academytv.com.au, 1 acadianapatios.com, 1 acaeum.com, 1 acaonegocios.com.br, 1 acaptureservices.com, 1 acara-yoga.de, 1 acareer.in, 1 acat.io, 1 acbrussels-used.be, 1 -accadoro.it, 1 accbay.com, 1 accelaway.com, 1 accelerate.network, 1 acceleratenetworks.com, 1 accelerateyourworld.org, 1 accelsnow.com, 1 accentthailand.com, 1 accesloges.com, 1 @@ -1850,17 +1841,16 @@ advertis.biz, 1 advertisemant.com, 1 advicepro.org.uk, 1 advocate-europe.eu, 1 advocaten-avocats.be, 1 advocatenalkmaar.org, 1 advocator.ca, 1 advocoeurdehaan.nl, 1 advogatech.com.br, 1 -advokat-romanov.com, 1 advtran.com, 1 adware.pl, 1 adwokatkosterka.pl, 1 adwokatzdunek.pl, 1 adws.io, 1 adxperience.com, 1 adzie.xyz, 1 adzuna.at, 1 @@ -1977,16 +1967,17 @@ afrodigital.uk, 1 afs-asso.org, 1 aftab-alam.de, 1 after.digital, 1 afterhate.fr, 1 afterskool.eu, 1 afterstack.net, 1 afuh.de, 1 afva.net, 1 +afzco.asia, 1 ag-websolutions.de, 1 ag8-game.com, 1 agalliasis.ch, 1 agamsecurity.ch, 1 agatajanik.de, 1 agate.pw, 1 agdalieso.com.ba, 1 age.hk, 1 @@ -2022,16 +2013,17 @@ agilecraft.com, 1 agileecommerce.com.br, 1 agileui.com, 1 agiley.se, 1 agilizing.us, 1 agilob.net, 1 aging.gov, 1 agingstats.gov, 1 agingstop.net, 1 +aginion.net, 1 agiserv.fr, 1 agliamici.it, 1 agnesk.blog, 1 agoodmind.com, 1 agoravm.tk, 1 agoravox.fr, 1 agoravox.it, 1 agoravox.tv, 1 @@ -2074,16 +2066,17 @@ agscinemas.com, 1 agscinemasapp.com, 1 agung-furniture.com, 1 agwa.name, 1 agy.cl, 1 ahcpr.gov, 0 ahd.com, 0 ahelos.tk, 1 aheng.me, 1 +ahero4all.org, 1 ahkubiak.ovh, 1 ahlaejaba.com, 1 ahlz.sk, 1 ahmad.works, 1 ahmadly.com, 1 ahmedabadflowermall.com, 1 ahmedcharles.com, 1 ahmerjamilkhan.org, 1 @@ -2222,17 +2215,16 @@ airbnb.se, 1 airbnb.tools, 1 airbnbchina.cn, 1 airbnbopen.com, 1 airborne-inflatables.co.uk, 1 airbossofamerica.com, 1 airclass.com, 1 aircomms.com, 1 airconsalberton.co.za, 1 -airconssandton.co.za, 1 airductclean.com, 0 airductcleaning-fresno.com, 1 airductcleaninggrandprairie.com, 1 airductcleaningirving.com, 1 airdur.eu, 1 aireaseleaks.org, 1 airedaleterrier.com.br, 1 airetvie.com, 1 @@ -2288,17 +2280,16 @@ ajeventhire.co.uk, 1 ajiaojr.info, 1 ajiaojr.io, 1 ajiaojr.me, 1 ajiaojr.net, 1 ajiboye.com, 1 ajnasz.hu, 1 ajsb85.com, 1 ak-varazdin.hr, 1 -ak-webit.de, 1 aka.ms, 1 akachanikuji.com, 1 akademeia.moe, 1 akademie-frankfurt.de, 1 akalashnikov.ru, 1 akamon.ac.jp, 1 akaoma.com, 1 akasha.world, 1 @@ -2590,17 +2581,16 @@ allinone-ranking150.com, 1 allis.studio, 1 allius.de, 1 alljamin.com, 1 allladyboys.com, 1 allmebel.ru, 1 allmend-ru.de, 1 allns.fr, 1 allo-credit.ch, 1 -allo-symo.fr, 1 allofthestops.com, 1 allontanamentovolatili.it, 1 allontanamentovolatili.milano.it, 1 alloutatl.com, 1 alloverthehill.com, 1 alloydevil.nl, 1 allplayer.tk, 1 allpointsblog.com, 1 @@ -2709,17 +2699,16 @@ altered.network, 1 alternative.bike, 1 alternativebit.fr, 1 alternativedev.ca, 1 alternativet.party, 1 alterspalter.de, 1 altes-sportamt.de, 1 altesses.eu, 1 altestore.com, 1 -altiacaselight.com, 1 altitudemoversdenver.com, 1 altkremsmuensterer.at, 1 altmaestrat.es, 1 altoa.cz, 1 altonblom.com, 1 altoneum.com, 1 altopartners.com, 1 altopia.com, 1 @@ -3207,16 +3196,17 @@ antennista.pavia.it, 1 antennista.roma.it, 1 antennista.tv, 1 antennisti.milano.it, 1 antennisti.roma.it, 1 anteprima.info, 1 anthedesign.fr, 1 anthisis.tv, 1 anthony-rouanet.com, 1 +anthony.codes, 1 anthonycarbonaro.com, 1 anthonyfontanez.com, 1 anthonygaidot.fr, 1 anthonyvadala.me, 1 anthropoid.ca, 1 anti-bible.com, 1 anti-radar.org, 1 antibioticshome.com, 1 @@ -3372,17 +3362,16 @@ app.simpletax.ca, 1 app.yinxiang.com, 0 app2get.de, 1 appapi.link, 1 apparelfashionwiki.com, 1 appartement-andrea.at, 1 appartement-evolene.net, 1 appartementhaus-badria.de, 1 appartementmarsum.nl, 1 -appcoins.io, 1 appdrinks.com, 1 appearance-plm.de, 1 appel-aide.ch, 1 appelboomdefilm.nl, 1 appengine.google.com, 1 apperio.com, 1 appformacpc.com, 1 appgeek.com.br, 1 @@ -3423,26 +3412,26 @@ appscloudplus.com, 1 appseccalifornia.org, 0 appshuttle.com, 1 appt.ch, 1 apptomics.com, 1 apptoutou.com, 1 appuals.com, 1 appui-de-fenetre.fr, 1 appveyor.com, 1 -appxcrypto.com, 1 appzoojoo.be, 1 apratimsaha.com, 1 aprefix.com, 1 apretatuercas.es, 1 aproposcomputing.com, 1 aprovpn.com, 1 aprr.org, 1 aprsdroid.org, 1 aprz.de, 1 +apsa.paris, 1 apstudynotes.org, 1 aptitude9.com, 1 aptitudetests.org, 1 aptive.co.uk, 1 apu-board.de, 1 apv-ollon.ch, 1 aqdun.com, 1 aqilacademy.com.au, 1 @@ -3566,17 +3555,16 @@ arima.co.ke, 1 arimarie.com, 1 arinde.ee, 1 arinflatablefun.co.uk, 1 arise19.com, 1 arisevendor.net, 1 aristocrates.co, 1 aritec-la.com, 1 arivo.com.br, 1 -arizer.com, 1 arizonaautomobileclub.com, 1 arizonabondedtitle.com, 1 arjandejong.eu, 1 arjanvaartjes.net, 1 arjunasdaughter.pub, 1 arjweb.co.uk, 1 arkacrao.org, 1 arkadiyt.com, 1 @@ -4081,17 +4069,16 @@ aurorarecordings.com, 1 aurosa.cz, 1 auroware.com, 1 auroz.tech, 1 auroz.video, 1 aus-ryugaku.info, 1 ausec.ch, 1 ausmwoid.de, 1 auspicacious.org, 1 -ausschreibungen-suedtirol.it, 1 aussiefunadvisor.com, 1 aussiegreenmarks.com.au, 1 aussieservicedown.com, 1 aussiestoresonline.com, 1 austenplumbing.com, 1 austin-pearce.com, 1 austin-security-cameras.com, 1 austincardiac.com, 1 @@ -4274,17 +4261,16 @@ awaro.net, 1 awbouncycastlehire.com, 1 awccanadianpharmacy.com, 1 awecademy.org, 1 awei.pub, 1 awen.me, 1 awesomebouncycastles.co.uk, 1 awesomesit.es, 1 awf0.xyz, 1 -awin.la, 1 awk.tw, 1 awksolutions.com, 1 awningsaboveus.com, 1 awningsatlantaga.com, 1 awomaninherprime.com, 1 awsmdev.de, 1 awsome-books.co.uk, 1 awxg.com, 1 @@ -4342,17 +4328,16 @@ azimut.fr, 1 azino777.ru, 1 azizfirat.com, 1 azizvicdan.com, 1 azlk-team.ru, 1 azort.com, 1 azrazalea.net, 1 azso.pro, 1 azsupport.com, 1 -aztraslochi.it, 1 aztrix.me, 1 azu-l.com, 1 azu-l.jp, 1 azuki.cloud, 1 azurecrimson.com, 1 azuriasky.com, 1 azuriasky.net, 1 azuxul.fr, 1 @@ -5057,17 +5042,16 @@ beeswax-orgone.com, 1 beetgroup.id, 1 beethoveninlove.com, 1 beetman.net, 1 beeutifulparties.co.uk, 1 beexfit.com, 1 beezkneezcastles.co.uk, 1 beeznest.com, 1 befoodsafe.gov, 1 -beforesunrise.de, 1 beforeyoueatoc.com, 1 beframed.ch, 1 befundonline.de, 1 begabungsfoerderung.info, 1 begbie.com, 1 beginatzero.com, 1 beginner.nl, 1 beginwp.top, 1 @@ -5125,16 +5109,17 @@ belmontgoessolar.org, 1 belouga.org, 1 belpbleibtbelp.ch, 1 belt.black, 1 belua.com, 1 belvoirbouncycastles.co.uk, 1 belwederczykow.eu, 1 bely-mishka.by, 1 belyvly.com, 1 +bemcorp.de, 1 bemindly.com, 1 bemsoft.pl, 1 ben-energy.com, 0 ben-stock.de, 1 ben.ninja, 1 ben2.co.il, 1 benabrams.it, 1 benary.org, 1 @@ -5254,16 +5239,17 @@ berndklaus.at, 1 bernhard-seidenspinner.de, 1 bernhardkau.de, 1 bernhardluginbuehl.ch, 1 bernhardluginbuehl.com, 1 bernieware.de, 1 berodes.be, 1 berr.yt, 1 berra.se, 1 +berruezoabogados.com, 1 berrus.com, 1 berry.cat, 1 berrypay.com, 1 bersierservices.ch, 1 bersotavocats.fr, 1 berst.cz, 1 berthabailey.com, 1 berthelier.me, 1 @@ -5467,16 +5453,17 @@ bfi.wien, 0 bflix.tv, 1 bforb.sk, 1 bfpg.org, 1 bfrailwayclub.cf, 1 bft-media.com, 1 bftbradio.com, 1 bfw-online.de, 1 bg-sexologia.com, 1 +bgbhsf.top, 1 bgenlisted.com, 1 bgeo.io, 1 bgfashion.net, 1 bgfoto.info, 1 bghost.xyz, 1 bgkoleda.bg, 1 bglsingles.de, 1 bgp.space, 1 @@ -5790,20 +5777,16 @@ bitfehler.net, 1 bitfence.io, 1 bitfinder.nl, 1 bitfuse.net, 1 bitgo.com, 1 bitgrapes.com, 1 bithap.com, 1 bithir.co.uk, 1 bititrain.com, 1 -bitk.co, 1 -bitk.co.uk, 1 -bitk.eu, 1 -bitk.uk, 1 bitlish.com, 1 bitlo.com, 1 bitlo.com.tr, 1 bitlo.io, 1 bitlo.org, 1 bitmain.com.ua, 1 bitmaincare.com.ua, 1 bitmaincare.ru, 1 @@ -6067,16 +6050,17 @@ bloginbeeld.nl, 1 bloglines.co.za, 1 bloglogistics.com, 1 blogom.at, 1 blogpentrusuflet.ro, 1 blogreen.org, 1 blogsdna.com, 1 blogthedayaway.com, 1 blogtroterzy.pl, 1 +blok56.nl, 1 blokmy.com, 1 blood4pets.tk, 1 bloodsports.org, 1 bloom-avenue.com, 1 bltc.co.uk, 1 bltc.com, 1 bltc.net, 1 bltc.org, 1 @@ -6122,16 +6106,17 @@ bluesunhotels.com, 1 bluetexservice.com, 1 bluewavewebdesign.com, 1 bluex.im, 1 bluex.info, 1 bluex.net, 1 bluex.org, 1 blueyed.eu, 1 blui.ml, 1 +bluiandaj.ml, 1 bluimedia.com, 1 blumen-garage.de, 1 blumenfeldart.com, 1 blumiges-fischbachtal.de, 0 blundell.wedding, 1 bluntandsnakes.com, 1 blupig.net, 1 bluproducts.com.es, 1 @@ -6215,16 +6200,17 @@ boeddhashop.nl, 1 boekenlegger.nl, 1 boem.gov, 1 boernecancerfonden.dk, 1 bogdancornianu.com, 1 bogdanepureanu.ro, 1 bogner.sh, 1 bogobeats.com, 1 bogosity.se, 1 +bohan.co, 1 bohramt.de, 1 bohyn.cz, 1 boimmobilier.ch, 1 boincstats.com, 1 boiseonlinemall.com, 1 boisewaldorf.org, 1 bokadoktorn-test.net, 1 boke112.com, 1 @@ -6284,17 +6270,17 @@ bonnyprints.fr, 1 bonobo.cz, 1 bonprix.co.uk, 1 bonqoeur.ca, 1 bonrecipe.com, 1 bonsaimedia.nl, 1 bonsi.net, 1 bonux.co, 1 boobox.xyz, 1 -boodaah.com, 1 +boodaah.com, 0 boodmo.com, 1 boof.com, 0 boogaerdtmakelaars.nl, 1 boogiebouncecastles.co.uk, 1 book-in-hotel.com, 1 booker.ly, 1 bookingapp.be, 1 bookingapp.nl, 1 @@ -6786,17 +6772,17 @@ broeselei.at, 1 brokenhands.io, 1 brokenjoysticks.net, 1 brokervalues.com, 1 brompton-cocktail.com, 1 bronevichok.ru, 1 bronwynlewis.com, 1 broodbesteld.nl, 1 brooke-fan.com, 1 -brookehatton.com, 1 +brookehatton.com, 0 brookframework.org, 1 brooklynrealestateblog.com, 1 brookworth.com, 1 brossman.it, 1 brossmanit.com, 1 brother-printsmart.nl, 1 brouillard.ch, 1 brouwerijdeblauweijsbeer.nl, 1 @@ -6852,17 +6838,16 @@ bsd.com.ro, 1 bsdes.net, 1 bsdfreak.dk, 1 bsdlab.com, 1 bsdracing.ca, 1 bsdug.org, 1 bsdunix.xyz, 1 bsee.gov, 1 bserved.de, 1 -bsg-aok-muenchen.de, 1 bsg.ro, 1 bsgamanet.ro, 1 bsidesf.com, 1 bsidesf.org, 1 bsidessf.com, 1 bsimerch.com, 1 bsktweetup.info, 1 bslim-e-boutique.com, 1 @@ -7118,17 +7103,17 @@ bwcscorecard.org, 1 bwe-seminare.de, 1 bwf11.com, 1 bwf55.com, 1 bwf6.com, 1 bwf66.com, 1 bwf77.com, 1 bwf99.com, 1 bwfc.nl, 1 -bwh1.net, 1 +bwh1.net, 0 bwilkinson.co.uk, 1 bwl-earth.club, 1 bws16.de, 1 bwwb.nu, 1 bx-n.de, 1 bxdev.me, 1 bxp40.at, 1 by.cx, 1 @@ -7149,17 +7134,16 @@ bymike.co, 1 bynder.com, 1 bynet.cz, 1 bynumlaw.net, 1 bypass.kr, 1 bypass.sh, 1 byrko.cz, 1 byrko.sk, 1 byronkg.us, 1 -byronprivaterehab.com.au, 1 byrtz.de, 1 bysb.net, 0 byte-time.com, 1 byte128.com, 1 bytearts.net, 0 bytebucket.org, 1 bytecode.no, 1 bytejail.com, 1 @@ -7348,16 +7332,17 @@ calyxinstitute.org, 0 camaradivisas.com, 1 camaras.uno, 1 camarilloelectric.com, 1 camarilloelectrical.com, 1 camarilloexteriorlighting.com, 1 camarillolandscapelighting.com, 1 camarillolighting.com, 1 camarillooutdoorlighting.com, 1 +camashop.de, 1 camastowncar.com, 1 cambier.org, 1 cambiowatch.ch, 1 cambodian.dating, 1 cambridge-security.com, 1 cambridgebouncers.co.uk, 1 cambridgesecuritygroup.org, 1 camcapital.com, 1 @@ -7452,17 +7437,16 @@ cant.at, 1 cantatio.ch, 1 canterberry.cc, 1 canterbury.ws, 1 canterburybouncycastlehire.co.uk, 1 cantrack.com, 1 canva-dev.com, 1 canva.com, 1 canx.org, 1 -canyons.media, 1 canyoupwn.me, 1 cao.gov, 1 cao.la, 1 caodecristachines.com.br, 1 caodesantohumberto.com.br, 1 caoshan60.com, 1 capachitos.cl, 1 capacityproject.org, 1 @@ -7547,17 +7531,16 @@ care4all.com, 1 careeapp.com, 1 careeroptionscoach.com, 1 careerpower.co.in, 1 careers.plus, 1 carefour.nl, 1 caremad.io, 1 carepassport.com, 1 caretta.co.uk, 1 -carey.li, 0 careyshop.cn, 1 carezone.com, 0 carfinancehelp.com, 1 carfraemill.co.uk, 1 cargobay.net, 1 cargomaps.com, 1 cargorestraintsystems.com.au, 1 carhunters.cz, 1 @@ -7575,17 +7558,16 @@ carlife-at.jp, 1 carlili.fr, 1 carlingfordapartments.com.au, 1 carlmjohnson.net, 1 carlo.mx, 0 carlobiagi.de, 1 carlocksmith--dallas.com, 1 carlocksmithbaltimore.com, 1 carlocksmithellicottcity.com, 1 -carlocksmithfallbrook.com, 1 carlocksmithlewisville.com, 1 carlocksmithmesquite.com, 1 carlocksmithtucson.com, 1 carlosfelic.io, 1 carloshmm.com, 1 carloshmm.stream, 1 carlosjeurissen.com, 1 carlot-j.com, 1 @@ -8038,16 +8020,17 @@ chabert-provence.fr, 1 chabik.com, 1 chad.ch, 1 chadstoneapartments.com.au, 1 chadtaljaardt.com, 1 chaffeyconstruction.com, 1 chaifeng.com, 1 chainedunion.info, 1 chaip.org, 1 +chaisystems.net, 1 chaletdemontagne.org, 1 chaletmanager.com, 1 chaletpierrot.ch, 1 chaleur.com, 1 chalker.io, 1 chalkfestival.org, 0 challengeblog.org, 1 challengeskins.com, 1 @@ -8369,16 +8352,17 @@ chiru.no, 1 chisago-isantidfl.com, 1 chit.search.yahoo.com, 0 chksite.com, 1 chl.la, 1 chloeallison.co.uk, 1 chloehorler.com, 1 chloescastles.co.uk, 1 chlth.com, 1 +chmielarz.it, 1 chmsoft.com.ua, 1 chmsoft.ru, 1 chmurakotori.ml, 1 choc-o-lush.co.uk, 1 chocolah.com.au, 0 chocolat-suisse.ch, 1 chocolatesandhealth.com, 1 chocolatier-tristan.ch, 1 @@ -8601,17 +8585,16 @@ cisofy.com, 1 cispeo.org, 1 ciss.ltd, 1 cisum-cycling.com, 1 cisy.me, 1 citationgurus.com, 1 citcuit.in, 1 cities.cl, 1 citimarinestore.com, 1 -citizen-cam.de, 1 citizensbankal.com, 1 citizenscience.gov, 0 citizenslasvegas.com, 1 citizensleague.org, 1 citizenspact.eu, 1 citizing.org, 1 citrusui.me, 1 cittadesign.com, 0 @@ -8852,31 +8835,33 @@ cloudup.com, 1 cloudwarez.xyz, 1 clouz.de, 1 cloveros.ga, 1 clownindeklas.nl, 1 clownish.co.il, 1 cloxy.com, 1 clr3.com, 1 clsfoundationrepairandwaterproofing.com, 1 +clsimage.com, 1 clsoft.ch, 1 clu-in.org, 1 club-adulti.ro, 1 club-climate.com, 1 club-creole.com, 1 club-duomo.com, 1 club-is.ru, 1 club-premiere.com, 1 club-reduc.com, 1 club-slow.jp, 1 club-yy.com, 1 club103.ch, 1 clubcorsavenezuela.com, 1 clubdelzapato.com, 1 clubdeslecteurs.net, 1 +clubefiel.com.br, 1 clubempleos.com, 1 clubeohara.com, 1 clubfamily.de, 1 clubgalaxy.futbol, 1 clubiconkenosha.com, 1 clubmate.rocks, 1 clubmini.jp, 1 clubnoetig-ink2g.de, 1 @@ -8929,17 +8914,17 @@ cn8522.com, 1 cna-aiic.ca, 1 cna5.cc, 1 cnam-idf.fr, 1 cnaprograms.online, 1 cnatraining.network, 1 cnbs.ch, 1 cnc-lehrgang.de, 1 cncado.net, 1 -cncbazar365.com, 0 +cncbazar365.com, 1 cncrans.ch, 1 cnet-hosting.com, 1 cnetw.xyz, 1 cni-certing.it, 1 cnlic.com, 1 cnre.eu, 1 cnvt.fr, 1 cnwage.com, 1 @@ -8989,16 +8974,18 @@ coconutoil24.com, 1 cocoscastles.co.uk, 1 cocquyt-usedcars.be, 1 cocubes.com, 1 cocyou.ooo, 1 coda.io, 1 coda.moe, 1 coda.today, 1 coda.world, 1 +codabix.com, 1 +codabix.de, 1 code-poets.co.uk, 1 code-well.com, 1 code.facebook.com, 0 code.fm, 1 code.google.com, 1 code.taxi, 1 code67.com, 1 codeandpeace.com, 1 @@ -9079,17 +9066,16 @@ coffeetocode.me, 1 cogala.eu, 1 cogent.cc, 1 cogilog.com, 1 cogitoltd.com, 1 cognicom-gaming.com, 1 cognitip.com, 1 cognitivecomputingconsortium.com, 1 cognitohq.com, 1 -cognixia.com, 1 cogsquad.house, 1 cogumelosmagicos.org, 1 coi-verify.com, 1 coiffeurschnittstelle.ch, 1 coigach-assynt.org, 1 coimmvest.com, 1 coin-quest.net, 1 coin.dance, 1 @@ -9339,16 +9325,17 @@ conceptatelier.de, 1 conception.sk, 1 concertengine.com, 1 concerto.amsterdam, 1 concertsenboite.fr, 1 concertsto.com, 1 conciliumnotaire.ca, 1 conclave.global, 1 concordsoftwareleasing.com, 1 +concretehermit.com, 0 concretelevelingsystems.com, 1 concreterepairatlanta.com, 1 concursopublico.com.br, 1 concursos.com.br, 1 concursosabertos.com.br, 1 concursuri.biz, 1 condepenalba.com, 0 condesaelectronics.com, 1 @@ -9618,17 +9605,16 @@ corsihaccpsicurezzalavoro.it, 1 cortexitrecruitment.com, 1 cortexx.nl, 1 cortis-consulting.ch, 1 cortisolsupplement.com, 1 corvax.kiev.ua, 1 corvus.eu.org, 1 coryadum.com, 1 corytyburski.com, 1 -corzntin.fr, 0 cosasque.com, 1 cosciamoos.com, 1 cosirex.com, 1 coslinker.com, 1 cosmechic.fr, 1 cosmekaitori.jp, 1 cosmeticappraisal.com, 1 cosmeticasimple.com, 1 @@ -9637,17 +9623,16 @@ cosmiatria.pe, 1 cosmic-os.org, 1 cosmicnavigator.com, 1 cosmodacollection.com, 1 cosmofunnel.com, 1 cosmundi.de, 1 cosni.co, 1 cosplayer.com, 1 cospol.ch, 1 -costa-rica-reisen.ch, 1 costa-rica-reisen.de, 1 costablanca.villas, 1 costablancavoorjou.com, 1 costcofinance.com, 1 costellofc.co.uk, 1 costinstefan.eu, 1 costreportdata.com, 0 costulessdirect.com, 1 @@ -9753,17 +9738,16 @@ craftyguy.net, 1 craftyphotons.net, 1 crag.com.tw, 1 craigary.net, 1 craigbates.co.uk, 1 craigfrancis.co.uk, 1 craigrouse.com, 1 craigwfox.com, 1 cralarm.de, 1 -crandall.io, 1 cranems.com.ua, 1 cranforddental.com, 1 crapouill.es, 1 crawcial.de, 1 crawford.cloud, 1 crawfordcountytcc.org, 1 crawler.ninja, 1 crawleybouncycastles.co.uk, 1 @@ -9821,16 +9805,17 @@ creato.top, 1 creators-design.com, 1 creators.co, 1 creators.direct, 1 creatujoya.com, 1 credential.eu, 1 credex.bg, 1 credigo.se, 1 crediteo.pl, 1 +creditkarma.com, 1 creditos-rapidos.com, 1 creditproautos.com, 0 creditscoretalk.com, 1 creditta.com, 1 credittoken.io, 1 creeks-coworking.com, 1 creep.im, 1 creepycraft.nl, 1 @@ -9879,17 +9864,16 @@ cristianhares.com, 1 critcola.com, 1 critical.today, 0 criticalaim.com, 1 criticalsurveys.co.uk, 1 crizin.io, 1 crl-autos.com, 1 crm.onlime.ch, 0 crm114d.com, 1 -croceverdevb.it, 1 crochetnerd.com, 1 croeder.net, 1 croisedanslemetro.com, 1 croixblanche-haguenau.fr, 1 cromefire.myds.me, 1 cromosomax.com, 1 cronberg.ch, 1 croncron.io, 1 @@ -9951,18 +9935,18 @@ crypalert.com, 1 crypt.is-by.us, 1 cryptagio.com, 1 cryptearth.de, 1 crypted.chat, 1 crypteianetworks.com, 1 crypticshell.co.uk, 1 crypto-armory.com, 1 crypto.cat, 0 +crypto.graphics, 1 crypto.is, 0 -crypto.tube, 1 cryptobin.co, 1 cryptocaseproject.com, 1 cryptocon.org, 1 cryptoegg.ca, 1 cryptofan.org, 1 cryptofrog.co, 1 cryptography.ch, 1 cryptography.io, 1 @@ -10249,17 +10233,17 @@ cyberpioneer.net, 0 cyberpubonline.com, 1 cyberregister.nl, 1 cyberregister.org, 1 cybersafesolutions.com, 1 cybersantri.com, 1 cyberscan.io, 1 cybersecurity.nz, 1 cybersecurity.run, 1 -cybersecuritychallenge.be, 1 +cybersecuritychallenge.be, 0 cybersecurityketen.nl, 1 cyberseguranca.com.br, 1 cyberserver.org, 1 cybersins.com, 1 cybersmartdefence.com, 1 cyberspace.community, 1 cyberspace.today, 1 cyberspect.com, 1 @@ -10335,16 +10319,17 @@ d-msg.com, 1 d-parts.de, 1 d-parts24.de, 1 d-quantum.com, 1 d-toys.com.ua, 1 d-training.de, 1 d.nf, 1 d.nr, 1 d00d.de, 1 +d0g.cc, 1 d0m41n.name, 1 d0xq.com, 1 d0xq.net, 1 d2ph.com, 1 d2s.uk, 1 d3lab.net, 1 d3x.pw, 1 d3xt3r01.tk, 1 @@ -10525,17 +10510,16 @@ danminkevitch.com, 1 danna-salary.com, 1 danny-tittel.de, 1 danny.fm, 1 dannycairns.com, 1 dannyrohde.de, 1 dannystevens.co.uk, 1 danonsecurity.com, 1 danotage.tv, 1 -danova.de, 1 danoz.net, 1 danpiel.net, 1 dansa.com.co, 1 dansage.co, 1 danscomp.com, 1 dansdiscounttools.com, 1 danselibre.net, 1 danselibre.org, 1 @@ -10658,16 +10642,17 @@ dataguidance.com, 1 dataharvest.at, 1 datahoarder.xyz, 1 datahove.no, 0 datakick.org, 1 datalife.gr, 1 datalysis.ch, 1 datamatic.ru, 1 dataprotectionadvisors.com, 1 +datapun.ch, 1 datapure.net, 1 datascience.cafe, 1 datascience.ch, 1 datascomemorativas.com.br, 1 datasharesystem.com, 1 dataskydd.net, 1 dataspace.pl, 1 datastream.re, 0 @@ -11177,17 +11162,16 @@ dersoundhunter.de, 1 derstulle.de, 1 des-hommes-et-des-clous.com, 1 desagaz.com, 1 desarrollowp.com, 1 descartes-finance.com, 1 desec.io, 1 desertsounds.org, 1 desgenst.ch, 1 -design-fu.com, 0 design-in-bad.eu, 1 design-tooning.de, 1 designanyware.com.br, 1 designdevs.eu, 1 designed-cybersecurity.com, 1 designedbygeniuses.com, 1 designedcybersecurity.com, 1 designer-drug.com, 1 @@ -11277,16 +11261,17 @@ devcast.io, 0 devcf.com, 1 devct.cz, 0 devcu.com, 1 devcu.net, 1 devdesco.com, 1 devdoodle.net, 1 devel.cz, 1 develerik.com, 0 +develop.cool, 1 developer.android.com, 1 developer.mydigipass.com, 0 developerdan.com, 1 developerfair.com, 1 developermail.io, 0 developers.facebook.com, 0 developersclub.website, 1 developfx.com, 1 @@ -11467,17 +11452,16 @@ diegorbaquero.com, 1 diehl.io, 1 diekperaiwseis.gr, 1 diem-project.org, 1 diemattels.at, 1 diemogebhardt.com, 1 dienchaninstitute.com, 1 dienstplan.cc, 1 dienstplan.one, 1 -dierabenmutti.de, 1 dierenartsdeconinck.be, 1 dieselanimals.lt, 1 dieselgalleri.com, 1 dieser.me, 1 diesteppenreiter.de, 1 dietaanticelulitica.com, 1 dietaanticelulitis.com, 1 dietacelulitis.com, 1 @@ -11760,16 +11744,17 @@ divergenz.org, 1 diversityflags.com, 1 diversityflags.com.au, 1 diversityflags.nz, 1 divi-experte.de, 1 divinasaiamodas.com.br, 1 divinegames.studio, 1 diving.photo, 1 divingwithnic.com, 1 +divorciosmurcia.com, 1 diwei.vip, 1 dixi.fi, 1 dixibox.com, 1 dixmag.com, 1 diybook.at, 1 diycc.org, 1 diygod.me, 1 diymediahome.org, 1 @@ -11868,16 +11853,17 @@ dns.google.com, 1 dns8.online, 1 dnsbird.org, 1 dnscrawler.com, 1 dnscrypt.info, 1 dnscrypt.nl, 1 dnscurve.io, 1 dnshallinta.fi, 1 dnsinfo.ml, 1 +dnsipv6.srv.br, 1 dnslog.com, 1 dnsman.se, 1 dnspod.ml, 1 dnsql.io, 1 dnstwister.report, 1 dnzz123.com, 1 do-it.cz, 1 do-prod.com, 1 @@ -12041,17 +12027,16 @@ domyzitrka.cz, 1 donabeneko.jp, 1 donaldm.co.uk, 1 donateaday.net, 1 donfelino.tk, 0 dongjingre.net, 1 dongxuwang.com, 1 donkennedyandsons.com, 1 donkeytrekkingkefalonia.com, 1 -donlydental.ca, 1 donmaldeamores.com, 1 donnacha.blog, 1 donnachie.net, 1 donner-reuschel.de, 1 donnons.org, 0 donnoval.ru, 0 donotcall.gov, 1 donotlink.it, 1 @@ -12573,17 +12558,16 @@ dusnan.com, 1 dustplanet.de, 1 dustri.org, 1 dustycloth.com, 1 dustygroove.com, 1 dustyspokesbnb.ca, 1 dutch.desi, 1 dutch1.nl, 1 dutchdare.nl, 1 -dutchessuganda.com, 1 dutchforkrunners.com, 1 dutchrank.nl, 1 dutchwanderers.nl, 1 dutchweballiance.nl, 1 duval.paris, 1 dv189.com, 1 dvbris.co.uk, 1 dvbris.com, 1 @@ -12793,17 +12777,16 @@ easymun.com, 1 easyocm.hu, 1 easyoutdoor.nl, 1 easypay.bg, 1 easyproperty.com, 1 easypv.ch, 1 easyqr.codes, 1 easyreal.ru, 1 easyroad.fr, 1 -easyschools.org, 1 easyslide.be, 1 easyssl.com.cn, 1 easystore.co, 1 easytechguides.com, 1 easytechsecurity.com, 1 easyweenies.com, 1 eat-mine.ml, 1 eat-sleep-code.com, 1 @@ -13123,16 +13106,17 @@ ehuber.info, 1 eichel.eu, 1 eichornenterprises.com, 1 eickemeyer.nl, 1 eickhof.co, 1 eickhof.us, 1 eickhofcolumbaria.com, 1 eidolons.org, 1 eifel.website, 1 +eifelindex.de, 1 eigenbubi.de, 1 eigenpul.se, 1 eigenpulse.com, 1 eighty-aid.com, 1 eightyfour.ca, 1 eigpropertyauctions.co.uk, 1 eihaikyo.com, 1 eika.as, 1 @@ -13585,16 +13569,17 @@ endangeredwatch.com, 1 ende-x.com, 1 endeal.nl, 1 ender.co.at, 1 enderbycamping.com, 1 enderszone.com, 1 endingthedocumentgame.gov, 1 endlessdiy.ca, 1 endlessvideo.com, 1 +endofinternet.goip.de, 1 endofnet.org, 1 endoftenancycleaninglondon.co.uk, 1 endoftennancycleaning.co.uk, 1 endohaus.us, 1 endpointsystems.com, 1 endspamwith.us, 1 enduranceday.be, 1 endzeit-architekten.com, 0 @@ -13684,17 +13669,17 @@ ent-london.com, 1 entabe.jp, 1 entactogen.com, 1 entactogens.com, 1 entaurus.com, 1 enteente.com, 1 entercenter.ru, 1 enterprisey.enterprises, 1 entersoftsecurity.com, 1 -entersynapse.com, 1 +entersynapse.com, 0 entheogens.com, 1 enthusiaformazione.com, 1 entradaweb.cl, 1 entrainr.com, 1 entrecieletpierres.com, 1 entreprise-toiture-clement.fr, 1 entropia.de, 0 entrusted.io, 1 @@ -13774,17 +13759,16 @@ eposcardiff.co.uk, 1 eposcloud.net, 1 eposig.net, 1 eposkent.co.uk, 1 eposleeds.co.uk, 1 eposleicester.co.uk, 1 eposliverpool.co.uk, 1 eposlondon.co.uk, 1 eposmidlands.co.uk, 1 -eposnewport.co.uk, 1 eposnottingham.co.uk, 1 eposreading.co.uk, 1 epossheffield.co.uk, 1 epossussex.co.uk, 1 eposswansea.co.uk, 1 epossystems.co.uk, 1 epostplus.li, 1 eposwales.co.uk, 1 @@ -13855,17 +13839,16 @@ erikserver2.tk, 1 erikseth.de, 1 erikwalther.eu, 1 erinaceinae.com, 1 eriner.me, 1 erinn.io, 1 erisrenee.com, 1 erixschueler.de, 1 erkaelderbarenaaben.dk, 1 -ernaehrungsberatung-rapperswil.ch, 1 ernest.ly, 1 eroimatome.com, 1 eroma.com.au, 1 eromon.net, 1 eron.info, 1 eroticforce.com, 1 erotpo.cz, 0 erp-band.ru, 1 @@ -13894,17 +13877,16 @@ erudicia.it, 1 erudicia.nl, 1 erudicia.se, 1 erudicia.uk, 1 erudikum.cz, 1 erwanlepape.com, 1 erwin.saarland, 1 erwinpaal.nl, 1 erwinschmaeh.ch, 1 -erwinvanlonden.net, 1 erwinwensveen.nl, 1 erythroxylum-coca.com, 1 es-geenen.de, 1 es.search.yahoo.com, 0 es888.net, 1 es8888.net, 1 es888999.com, 1 es999.net, 1 @@ -14289,17 +14271,16 @@ euteamo.cn, 1 eutotal.com, 1 eutram.com, 1 euvo.tk, 0 euwid.de, 1 ev-zertifikate.de, 1 eva-select.com, 1 eva.cz, 1 evaartinger.de, 1 -evades.io, 1 evafojtova.cz, 1 evailoil.ee, 1 evailoil.eu, 1 evalesc.com, 1 evamachkova.cz, 1 evamathil.de, 1 evamira.com, 1 evanfiddes.com, 1 @@ -14486,17 +14467,16 @@ expeditiegrensland.nl, 1 experienceoutdoors.org.uk, 1 experienceoz.com.au, 1 experise.fr, 1 expert-korovin.ru, 1 expert.cz, 1 experteasy.com.au, 1 expertofficefitouts.com.au, 1 expertohomestaging.com, 1 -experts-en-gestion.fr, 1 expertsverts.com, 1 expertvagabond.com, 1 expertviolinteacher.com, 1 expiscor.solutions, 1 explodie.org, 1 exploit-db.com, 1 exploit.cz, 1 exploit.party, 1 @@ -14612,17 +14592,17 @@ f-thie.de, 1 f-u-c-k.wien, 1 f00.fr, 1 f0x.es, 1 f13cybertech.cz, 1 f1bigpicture.com, 1 f1classement.com, 1 f1fever.co.uk, 1 f1fever.net, 1 -f2e.io, 1 +f1minute.com, 1 f2h.io, 1 f3nws.com, 1 f42.net, 1 f43.me, 1 f5movies.top, 1 f5nu.com, 1 f5w.de, 1 f8842.com, 1 @@ -14685,16 +14665,17 @@ facility-service-muenchen.de, 1 fackovcova.cz, 1 fackovcova.eu, 1 fackovcova.sk, 1 fackovec.cz, 1 fackovec.eu, 1 fackovec.sk, 1 factbytefactbox.com, 1 factcool.com, 1 +factor.cc, 0 factorypartsdirect.com, 1 factureenlinea.com, 1 factuur.pro, 1 factuursturen.be, 1 factuursturen.nl, 1 factys.do, 1 factys.es, 1 facua.org, 1 @@ -14905,30 +14886,29 @@ fastest-hosting.co.uk, 1 fastforwardsociety.nl, 1 fastforwardthemes.com, 1 fastlike.co, 1 fastmail.com, 0 fastonline.ro, 1 fastpresence.com, 1 fastrevision.com, 1 fastvistorias.com.br, 1 -fastwebsites.com.br, 1 faszienrollen-info.de, 0 fateandirony.com, 1 fatecdevday.com.br, 1 fatedata.com, 1 fateitalia.it, 1 fathers4equalrights.org, 1 fatidique.com, 1 fatmixx.com, 1 fator25.com.br, 1 fatowltees.com, 1 fatox.de, 1 faucetbox.com, 0 -faui2k17.de, 1 +faui2k17.de, 0 faultlines.org, 1 faulty.equipment, 1 fauvettes.be, 1 favirei.com, 1 fawong.com, 1 faxite.com, 1 faxreader.net, 1 faxvorlagen-druckvorlagen.de, 1 @@ -15023,16 +15003,17 @@ feezmodo.com, 0 fefelovalex.ru, 1 fegame.eu, 1 fegame.mobi, 1 fegame.net, 1 fegame.nl, 1 fegli.gov, 1 fehngarten.de, 1 fehnladen.de, 1 +feigling.net, 0 feildel.fr, 1 feilen.de, 1 feirlane.org, 0 feisbed.com, 1 feisim.com, 1 feisim.org, 1 feist.io, 1 feistyduck.com, 1 @@ -15262,17 +15243,16 @@ financepark.ch, 1 financniexperti.sk, 1 finansa.no, 1 finanstilsynet.dk, 1 finch.am, 1 finchi.de, 1 finchnest.co.uk, 1 find-job-in.com, 1 find-mba.com, 1 -find-your-happy-place.de, 1 findapinball.com, 1 findcarspecs.com, 1 findhoustonseniorcare.com, 1 findingkorea.com, 1 finditez.com, 1 findmybottleshop.com.au, 1 findmynudes.com, 1 findoon.de, 1 @@ -15530,16 +15510,17 @@ flixhaven.net, 1 flixports.com, 1 flmortgagebank.com, 1 floatationlocations.com, 1 floaternet.com, 1 flockbox.club, 1 flocktofedora.org, 1 floersheimer-openair.de, 1 floffi.media, 1 +floj.tech, 1 flokinet.is, 1 floless.co.uk, 1 flomeyer.de, 1 floobits.com, 1 floogulinc.com, 1 floorballpoint.cz, 1 flooringnightmares.com, 1 flooringsourcetx.com, 1 @@ -15743,17 +15724,16 @@ foregroundweb.com, 1 foreign-language-colleges.com, 1 forellenpark.com, 1 forento.be, 1 foresdon.jp, 1 forestraven.net, 1 foreverssl.com, 1 foreversummertime.com, 1 forewordreviews.com, 1 -forex-plus.com, 1 forex.ee, 1 forexchef.de, 1 forexee.com, 1 forexsignals7.com, 1 forextickler.com, 1 forextimes.ru, 0 forfunssake.co.uk, 1 forge-goerger.eu, 1 @@ -16029,17 +16009,16 @@ freelo.cz, 1 freelysurf.cf, 1 freemanning.de, 1 freemans.com, 1 freemedforms.com, 1 freemomhugs.org, 1 freemyipod.org, 1 freend.me, 0 freenetproject.org, 1 -freeonplate.com, 1 freepnglogos.com, 1 freepoints.us, 1 freepublicprofile.com, 1 freerealincest.com, 1 freergform.org, 1 freeshell.de, 1 freeshkre.li, 1 freesitemapgenerator.com, 1 @@ -16503,17 +16482,16 @@ gala.kiev.ua, 0 galabau-maurmann.de, 1 galacg.me, 1 galactic-crew.org, 1 galak.ch, 1 galanight.cz, 1 galecia.com, 1 galeria42.com, 1 galeriart.xyz, 1 -galerieautodirect.com, 1 galeries.photo, 1 galgoafegao.com.br, 1 galgoingles.com.br, 1 galgopersa.com.br, 1 galilahiskye.com, 1 galileanhome.org, 1 galilel.cloud, 1 galinas-blog.de, 1 @@ -16799,17 +16777,16 @@ geigr.de, 1 geiser-family.ch, 1 geisser-elektronikdata.de, 1 gelb-computer.de, 1 geld-im-blick.de, 1 geld24.nl, 1 geldimblick.de, 1 geldteveel.eu, 1 geleenbeekdal.nl, 1 -geleia-real.com, 1 gelis.ch, 1 gelog-software.de, 0 geloofindemocratie.nl, 0 geluidsstudio.com, 1 gem-info.fr, 1 gemeentemolenwaard.nl, 1 gemeinsam-ideen-verwirklichen.de, 1 gemgroups.in, 1 @@ -17048,17 +17025,16 @@ gflame.de, 1 gflclan.ru, 1 gfms.ru, 1 gfnetfun.cf, 1 gforce.ninja, 1 gfoss.eu, 1 gfoss.gr, 1 gfournier.ca, 1 gfw.moe, 1 -gfwno.win, 0 gfxbench.com, 1 ggdcpt.com, 1 gginin.today, 1 ggl-luzern.ch, 1 gglks.com, 1 ggma.co.uk, 1 ggmmontascale.it, 1 ggobbo.com, 1 @@ -17255,17 +17231,16 @@ glencarbide.com, 1 glencoveny.gov, 1 glendarraghbouncycastles.co.uk, 1 glenhuntlyapartments.com.au, 1 glenshere.com, 1 glevolution.com, 1 glidingshop.cz, 1 glidingshop.de, 1 glidingshop.eu, 1 -glittersjabloon.nl, 1 glitzerstuecke.de, 1 glloq.org, 1 glnpo.gov, 1 glob-coin.com, 1 global-adult-webcams.com, 1 global-lights.ma, 1 global-office.com, 1 global-village.koeln, 1 @@ -17618,17 +17593,16 @@ grailify.com, 1 graingert.co.uk, 1 graliv.net, 0 gram.tips, 1 gramati.com.br, 1 grammysgrid.com, 1 grancellconsulting.com, 1 grandcafecineac.nl, 1 grandcafetwist.nl, 1 -grandcapital.cn, 1 grandcapital.id, 1 grandcapital.net, 1 grandcapital.ru, 1 grandcastles.co.uk, 1 grandchene.ch, 1 grande.coffee, 1 grandefratellonews.com, 1 grandeto.com, 1 @@ -17643,16 +17617,17 @@ grannys-stats.com, 1 grannyshouse.de, 1 grantcooper.com, 1 grantdb.ca, 1 granth.io, 1 grantmorrison.net, 1 granular.ag, 1 grapee.jp, 1 grapeintentions.com, 1 +graphcommons.com, 1 graphene.software, 1 graphic-schools.com, 1 graphic-shot.com, 1 graphire.io, 1 graphite.org.uk, 1 grapholio.net, 1 grasmark.com, 1 grassenberg.de, 1 @@ -17664,16 +17639,17 @@ gratisgamecards.nl, 1 gratisonlinesex.com, 1 gratisrollenspieltag.de, 1 gratiswifivoorjegasten.nl, 1 gratitudeabundancepassion.com, 1 grattan.co.uk, 1 graumeier.de, 1 gravilink.com, 1 gravitascreative.net, 1 +gravitation.pro, 0 gravitechthai.com, 1 gravity-dev.de, 0 gravity-inc.net, 1 gravityformspdfextended.com, 1 gravitypdf.com, 1 grawe-blog.at, 1 grayclub.co.il, 1 grayhatter.com, 1 @@ -17682,16 +17658,17 @@ grayowlworks.com, 1 grayscale.co, 1 grayson.sh, 1 graysonsmith.co.uk, 1 grazieitalian.com, 1 grc.com, 0 great.nagoya, 1 greatagain.gov, 1 greatestwebsiteonearth.com, 1 +greatfire.kr, 1 greatfire.org, 1 greatislandarts.ca, 1 greatlakeside.de, 1 greatlengthshairextensionssalon.com, 1 greatlifeinsurancegroup.com, 1 greatskillchecks.com, 1 greboid.co.uk, 1 greboid.com, 1 @@ -17819,16 +17796,17 @@ groklearning.com, 1 grolimur.ch, 1 gronau-it-cloud-computing.de, 1 grondius.com, 1 groomershop.ru, 1 grootinadvies.nl, 1 groovydisk.com, 1 groovygoldfish.org, 1 gropp.org, 1 +groseb.net, 0 gross.business, 1 grossberger-ge.org, 1 grossell.ru, 1 grossmisconduct.news, 1 groszek.pl, 1 groth.im, 1 groth.xyz, 1 grothoff.org, 1 @@ -18452,16 +18430,17 @@ hayden.one, 0 haydenjames.io, 1 haydentomas.com, 1 hayfordoleary.com, 1 haynes-davis.com, 1 hayvid.com, 0 haz.cat, 1 haze-productions.com, 1 haze.productions, 1 +hazeltime.se, 1 hazeover.com, 1 hazloconlapix.com, 1 hazukilab.com, 1 hb8522.com, 1 hbbet.com, 1 hbcu-colleges.com, 1 hbdesign.work, 1 hbkonsult.com, 1 @@ -18787,17 +18766,19 @@ hexagon-e.com, 1 hexapt.com, 1 hexclock.io, 1 hexcode.in, 1 hexed.it, 1 hexiaohu.cn, 1 hexicurity.com, 1 hexid.me, 1 hexieshe.com, 1 +hexo.io, 0 hexobind.com, 1 +hexony.com, 1 hexr.org, 1 hexstream.net, 1 hexstream.xyz, 1 hexstreamsoft.com, 1 hexxagon.com, 1 heycms.com, 0 heyfringe.com, 1 heyjournal.com, 1 @@ -18843,16 +18824,17 @@ hidedd.com, 1 hideouswebsite.com, 1 hideout.agency, 1 hieu.com.au, 1 hig.gov, 1 higgsboson.tk, 1 higgstools.org, 1 higherpress.org, 1 highland-webcams.com, 1 +highlandparkcog.org, 1 highlatitudestravel.com, 1 highlegshop.com, 1 highlevelwoodlands.com, 1 highlightsfootball.com, 1 highlnk.com, 1 highspeed-arnsberg.de, 1 highspeedinternet.my, 1 highspeedinternetservices.ca, 1 @@ -18958,17 +18940,16 @@ hivatalinfo.hu, 1 hiverlune.net, 0 hiwiki.tk, 1 hiyacar.co.uk, 1 hiyobi.me, 1 hiyuki2578.net, 1 hizzacked.xxx, 1 hj-mosaiques.be, 1 hj.rs, 1 -hj2999.com, 1 hj3455.com, 1 hjartasmarta.se, 1 hjes.com.ve, 1 hjkbm.cn, 1 hjort.land, 1 hjortland.org, 1 hjphoto.co.uk, 1 hjtky.cn, 1 @@ -19071,17 +19052,16 @@ hollyforrest.ca, 1 hollyforrestphotography.ca, 1 holmesian.org, 1 holmq.dk, 1 holo.ovh, 1 holodeck.us, 1 holofono.com, 1 holowaty.me, 1 holoxplor.space, 1 -holstphoto.com, 1 holvonix.com, 1 holycrossphl.org, 1 holydragoon.jp, 1 holygrail.games, 1 holyhiphopdatabase.com, 1 holymartyrschurch.org, 1 holytransaction.com, 1 holywhite.com, 1 @@ -19322,17 +19302,16 @@ howmanymilesfrom.com, 1 howsecureismypassword.net, 1 howsmyssl.com, 1 howsmytls.com, 1 howsyourhealth.org, 1 howtocommunicate.com.au, 1 howtogeek.com, 1 howtogeekpro.com, 1 howtogosolar.org, 1 -howtoinstall.co, 1 howtolaser.com, 1 howtoteachviolin.com, 1 howtotech.de, 1 hozana.si, 0 hozinga.de, 1 hp-work.net, 1 hp42.de, 1 hpac-portal.com, 1 @@ -19758,17 +19737,16 @@ ibpsrecruitment.co.in, 1 ibrainmedicine.org, 1 ibrom.eu, 1 ibron.co, 0 ibsafrica.co.za, 1 ibsglobal.co.za, 1 ibstyle.tk, 1 ibuki.run, 1 ibwc.gov, 1 -ibykos.com, 1 ic-lighting.com.au, 1 ic-spares.com, 1 ic3.gov, 1 icafecash.com, 1 icake.life, 1 icanhasht.ml, 1 icarlos.net, 1 icasture.top, 1 @@ -19778,16 +19756,17 @@ ice.xyz, 1 icebat.dyndns.org, 1 iceberg.academy, 1 icebook.co.uk, 1 icebound.win, 1 icecars.net, 1 icedream.tech, 1 iceloch.com, 1 icetiger.eu, 1 +icewoman.net, 1 ich-hab-die-schnauze-voll-von-der-suche-nach-ner-kurzen-domain.de, 1 ich-tanke.de, 1 ichasco.com, 1 ichbinein.org, 1 ichbinkeinreh.de, 1 ichmachdas.net, 1 ickerseashop.com, 1 iclart.com, 1 @@ -19949,17 +19928,16 @@ iftarsaati.org, 1 iftrue.de, 1 ifttl.com, 0 ifxd.bid, 1 ifxnet.com, 1 ifyou.live, 1 ig.com, 1 iga-semi.jp, 1 igamingforums.com, 1 -igaryhe.io, 1 igcc.jp, 1 igeh-immo.at, 1 igglabs.com, 1 iggprivate.com, 1 iggsoft.com, 1 iggsoftware.com, 1 igiftcards.de, 1 igimusic.com, 1 @@ -20362,16 +20340,17 @@ inflatamania.com, 1 inflationstation.net, 1 inflexsys.com, 1 influencerchampions.com, 1 influo.com, 1 influxus.com, 0 infmed.com, 1 info-bay.com, 1 info-beamer.com, 1 +info-d-74.com, 1 info-screen-usercontent.me, 1 info-screen.me, 1 info-screw.com, 1 infobae.com, 1 infocity-tech.fr, 1 infocommsociety.com, 1 infocon.org, 1 infocusvr.net, 1 @@ -20479,17 +20458,16 @@ ink.horse, 1 inkable.com.au, 1 inkbunny.net, 0 inkeliz.com, 1 inkhor.se, 1 inkontriamoci.com, 1 inksay.com, 1 inkspire.co.uk, 1 inkthemes.com, 1 -inkurz.de, 1 inlabo.de, 1 inline-sport.cz, 1 inlink.ee, 1 inmaps.xyz, 1 inmatefinancial.com, 1 inmateintake.com, 1 inmobillium.fr, 1 inmoodforsex.com, 1 @@ -20531,16 +20509,17 @@ insblauehinein.nl, 1 inschrijfformulier.com, 1 inscomers.net, 1 inscripcionessena.com, 1 insecure.org.je, 1 insertcoins.net, 1 insgesamt.net, 1 inside19.com, 1 insideaudit.com, 1 +insidebedroom.com, 1 insideofgaming.de, 1 insidethefirewall.tk, 1 insightera.co.th, 1 insighti.com, 1 insighti.eu, 1 insighti.org, 1 insighti.sk, 1 insignificant.space, 1 @@ -20702,17 +20681,16 @@ inton.biz, 1 intoparking.com, 0 intpforum.com, 1 intracom.com, 1 intradayseasonals.com, 1 intranetsec-regionra.fr, 1 intraobes.com, 1 intrasoft.com.au, 1 intraxia.com, 1 -intreaba.xyz, 1 introverted.ninja, 1 intune.life, 1 intux.be, 0 intvonline.com, 1 intxt.net, 1 inumcoeli.com.br, 1 inup.jp, 1 inusasha.de, 1 @@ -21047,16 +21025,17 @@ isvsecwatch.org, 1 isyu.xyz, 1 isz.no, 1 iszy.me, 1 it-academy.sk, 1 it-enthusiasts.tech, 1 it-faul.de, 1 it-fernau.com, 1 it-jobbank.dk, 1 +it-kron.de, 1 it-maker.eu, 1 it-rotter.de, 1 it-schamans.de, 1 it-seems-to.work, 1 it-service24.at, 1 it-service24.ch, 1 it-service24.com, 1 it-shamans.de, 1 @@ -21090,17 +21069,16 @@ itdashboard.gov, 1 itds-consulting.com, 1 itds-consulting.cz, 1 itds-consulting.eu, 1 itecor.net, 1 iteecafe.hu, 1 iteha.de, 1 iteke.ml, 1 iteke.tk, 1 -iteli.eu, 1 iterader.com, 1 iterasoft.de, 1 iterror.co, 1 itesign.de, 1 itfh.eu, 1 itfix.cz, 1 itforge.nl, 1 itgirls.rs, 1 @@ -21340,16 +21318,17 @@ jakincode.army, 1 jakob-server.tk, 1 jakobejitblokaci.cz, 1 jakobkrigovsky.com, 1 jakobssystems.net, 1 jakpremyslet.cz, 1 jaksch.biz, 1 jaksel.id, 1 jakub-boucek.cz, 1 +jakubarbet.eu, 1 jakubboucek.cz, 1 jakubklimek.com, 1 jakubtopic.cz, 1 jakubvrba.cz, 1 jala.co.jp, 1 jaleo.cn, 1 jalogisch.de, 1 jamaat.hk, 1 @@ -21437,17 +21416,16 @@ janokacer.sk, 1 janschaumann.de, 1 janssen.fm, 1 janssenwigman.nl, 1 janterpstra.eu, 1 jantinaboelens.nl, 1 janvari.com, 1 janvaribalint.com, 1 jaot.info, 1 -japan4you.org, 1 japanbaths.com, 1 japanesemotorsports.net, 1 japangids.nl, 1 japaniac.de, 0 japansm.com, 1 japanwatches.xyz, 1 japanwide.net, 1 jape.today, 1 @@ -21479,17 +21457,16 @@ jasonian-photo.com, 0 jasonmili.online, 1 jasonrobinson.me, 1 jasonsansone.com, 1 jasonwindholz.com, 1 jasper.link, 1 jasperhammink.com, 1 jasperhuttenmedia.com, 1 jasperpatterson.me, 1 -jastrow.me, 1 jaszbereny-vechta.eu, 1 jateng.press, 1 javalestari.com, 1 javamilk.com, 1 javascriptlab.fr, 1 javfree.me, 1 javierburgos.net, 1 javierlorente.es, 1 @@ -21574,30 +21551,30 @@ jedayoshi.tk, 1 jedepannetonordi.fr, 1 jedidiah.eu, 0 jedipedia.net, 1 jediweb.com.au, 1 jedmud.com, 1 jedwarddurrett.com, 1 jeec.ist, 1 jeepeg.com, 1 -jeepmafia.com, 1 jeff.forsale, 1 jeffanderson.me, 1 jeffcasavant.com, 0 jeffcloninger.net, 1 jeffersonregan.co.uk, 1 jeffersonregan.com, 1 jeffersonregan.net, 1 jeffersonregan.org, 1 jeffhaferman.com, 1 jeffhuxley.com, 1 jeffmcneill.com, 1 jeffreyhaferman.com, 1 jeffri.me, 1 +jeffsanders.com, 1 jefftickle.com, 1 jeffwebb.com, 1 jefrydco.id, 1 jej.cz, 1 jej.sk, 1 jekhar.com, 1 jekkt.com, 0 jelena-adeli.com, 1 @@ -22145,16 +22122,17 @@ juanmaguitar.com, 1 juanxt.ddns.net, 1 jubileum.online, 1 jucca-nautica.si, 1 juch.cc, 1 juchheim-methode.de, 1 juchit.at, 1 jucktehkeinen.de, 1 judc-ge.ch, 1 +judge2020.com, 1 judge2020.me, 1 judoprodeti.cz, 1 judosaintdenis.fr, 1 judytka.cz, 1 juef.space, 1 juegosycodigos.es, 1 juegosycodigos.mx, 1 juelda.com, 1 @@ -22414,17 +22392,16 @@ kaloix.de, 1 kalolina.com, 1 kalombo.ru, 1 kalsbouncies.com, 1 kaltenbrunner.it, 1 kalterersee.ch, 1 kalwestelectric.com, 1 kam-serwis.pl, 1 kamalame.co, 1 -kamatajisyaku.tokyo.jp, 1 kamikaichimaru.com, 0 kamikatse.net, 1 kaminbau-laub.de, 1 kamitech.ch, 1 kamixa.se, 1 kamppailusali.fi, 1 kamranmirhazar.com, 1 kamui.co.uk, 1 @@ -23039,17 +23016,17 @@ kivitelezesbiztositas.hu, 1 kiwi.com, 1 kiwi.digital, 1 kiwi.global, 1 kiwi.wiki, 1 kiwico.com, 1 kiwipayment.com, 1 kiwipayments.com, 1 kiwiplace.com, 1 -kix.moe, 1 +kix.moe, 0 kiyotatsu.com, 1 kj-prince.com, 1 kj1396.net, 1 kj1397.com, 1 kjaer.io, 1 kjarni.cc, 1 kjarrval.is, 1 kjchernov.info, 1 @@ -23072,17 +23049,17 @@ kkzxak47.com, 1 kl-diaetist.dk, 1 klaim.us, 1 klamathrestoration.gov, 1 klanggut.at, 1 klares-licht.de, 1 klarika.com, 1 klarmobil-empfehlen.de, 1 klasfauseweh.de, 1 -klausbrinch.dk, 1 +klausbrinch.dk, 0 klausen.dk, 1 klaver.it, 1 klaw.xyz, 1 klaxon.me, 1 klcreations.co.uk, 1 kle.cz, 1 kleaning.by, 1 klebeband.eu, 1 @@ -23303,16 +23280,17 @@ konosuke.jp, 1 konplott.shop, 1 konpyuta.nl, 1 konsertoversikt.no, 1 konst.se, 1 kontaxis.org, 1 kontorhaus-schlachte.de, 1 konventa.net, 1 konventseliten.se, 1 +konyalian.com, 1 konzertheld.de, 1 koodaklife.com, 1 koodimasin.ee, 1 koodimasin.eu, 1 kooer.org, 1 kooli.ee, 1 koolikatsed.ee, 1 koolitee.ee, 1 @@ -23570,16 +23548,17 @@ kuma.es, 1 kumachan.biz, 1 kumalog.com, 1 kumasanda.jp, 1 kumilasvegas.com, 1 kundo.se, 1 kungerkueken.de, 1 kunra.de, 1 kunstdrucke-textildruck.de, 1 +kunstfehler.at, 1 kunstschule-krabax.de, 1 kunstundunrat.de, 1 kuoruan.com, 1 kupferstichshop.com, 1 kupid.com, 1 kupimlot.ru, 1 kupinska.pl, 1 kuponrazzi.com, 1 @@ -23724,17 +23703,16 @@ lachlan.com, 1 lachosetypo.com, 1 lacicloud.net, 1 lacigf.org, 1 laclaque.ch, 1 lacledelareussite.com, 1 lacledeslan.com, 0 lacledor.ch, 1 laclefdor.ch, 1 -lacliniquefinanciere.com, 1 lacoast.gov, 1 lacocinadelila.com, 1 lacoquette.gr, 1 lacyc3.eu, 1 ladadate.com, 1 ladbroke.net, 1 ladenzeile.at, 1 ladenzeile.de, 1 @@ -24054,16 +24032,17 @@ lavitaura.com, 1 lavitrine-une-collection.be, 1 lavoieducoeur.be, 1 lavoiepharmd.com, 1 lavolte.net, 1 lavval.com, 0 law-colleges.com, 1 law-peters.de, 1 law.co.il, 1 +lawformt.com, 1 lawn-seeds.com, 1 lawnuk.com, 1 lawrence-institute.com, 1 lawrenceberg.nl, 1 lawrencemurgatroyd.com, 1 lawrencewhiteside.com, 1 lawyerkf.com, 1 laylo.io, 0 @@ -24307,17 +24286,16 @@ lenr-forum.com, 1 lensdoctor.com, 1 lenspirations.com, 1 lensual.space, 1 lenuagebauche.org, 1 lenyip.com, 1 lenyip.me, 1 lenyip.works, 1 leoandpeto.com, 1 -leochedibracchio.com, 1 leodaniels.com, 1 leodraxler.at, 1 leola.cz, 1 leola.sk, 1 leolana.com, 1 leominstercu.com, 0 leon-tech.com, 1 leon.net, 1 @@ -24892,16 +24870,17 @@ livingforreal.com, 1 livinginhimalone.com, 1 livinglocalnashville.com, 1 livingworduk.org, 1 livnev.me, 1 livnev.xyz, 1 livolett.de, 1 livres-et-stickers.com, 1 lixtick.com, 1 +liyang.pro, 0 liyin.date, 1 liyinjia.com, 1 liyunbin.com, 1 liz.ee, 1 lizardsystems.com, 1 lizhi.io, 1 lizhi123.net, 1 lizmooredestinationweddings.com, 1 @@ -25081,16 +25060,17 @@ logue.be, 1 logze.nl, 1 lohmeier.it, 1 loichot.ch, 1 loigiai.net, 1 loihay.net, 1 lojadosomautomotivo.com.br, 1 lojahunamarcenaria.com.br, 1 lojamagicalx.com, 1 +lojavirtualfct.com.br, 1 lojix.com, 1 lojj.pt, 1 lok.space, 1 lokaal.org, 1 loket.nl, 1 lolcorp.pl, 1 lolcow.farm, 1 lolhax.org, 1 @@ -25416,16 +25396,17 @@ lunar6.ch, 1 lunarlog.com, 1 lunarshark.com, 1 lunartail.nl, 1 lunasqu.ee, 1 lunastrail.com, 1 lunchbunch.me, 1 lune-indigo.ch, 1 lungdoc.us, 0 +lungta.pro, 1 lunidea.ch, 1 lunidea.com, 1 lunight.ml, 1 lunis.net, 1 lunix.io, 1 lunorian.is, 1 luoe.me, 1 luoh.cc, 1 @@ -25641,16 +25622,17 @@ mafiaforum.de, 1 mafiapenguin.club, 1 mafiasi.de, 1 magasindejouets.com, 1 magasinsalledebain.be, 1 magasinsalledebain.fr, 1 magasinsalledebains.be, 1 magasinsalledebains.fr, 1 magasinsenfrance.com, 1 +magazin3513.com, 1 magazinedabeleza.net, 1 magdic.eu, 1 magebit.com, 1 magenbrot.net, 0 magenda.sk, 1 magentaize.net, 1 magentapinkinteriors.co.uk, 1 magentoeesti.eu, 1 @@ -25715,17 +25697,16 @@ mail4you.in, 1 mailbox.mg, 1 mailbox.org, 1 mailer-dot.de, 1 mailfence.com, 1 mailflank.com, 1 mailinabox.email, 1 mailjet.tech, 1 maillady-susume.com, 1 -maillink.store, 1 mailmag.net, 0 mailon.ga, 1 mailpenny.com, 1 mailto.space, 1 mailum.org, 0 main-unit.com, 1 mainechiro.com, 1 mainframeserver.space, 1 @@ -25842,17 +25823,16 @@ mamanecesitaungintonic.com, 1 mamastore.eu, 1 mambas.cn, 1 mamiecouscous.com, 1 mammals.net, 1 mammaw.com, 1 mammeitalianeavienna.com, 1 mammooc.org, 1 mamochka.org.ua, 1 -mamospienas.lt, 1 mamot.fr, 0 mamout.xyz, 1 mamuko.nl, 1 man3s.jp, 0 mana.ee, 1 manach.net, 1 manage.cm, 1 manage4all.de, 1 @@ -26066,16 +26046,17 @@ mariushubatschek.de, 1 mariviolin.com, 1 marix.ro, 1 marjeta-gurtner.ch, 1 marjoleindens.be, 1 marjoriecarvalho.com.br, 1 mark-armstrong-gaming.com, 1 mark-dietzer.de, 1 mark-semmler.de, 1 +mark1998.com, 1 markaconnor.com, 1 markandrosalind.co.uk, 1 markantoffice.com, 1 markbiesheuvel.nl, 1 markdain.net, 1 markdescande.com, 1 markel.com.es, 1 markepps.com, 1 @@ -26581,17 +26562,16 @@ md5file.com, 1 md5hashing.net, 1 mdazo.net, 1 mdbouncycastlehirelondon.co.uk, 1 mdek.at, 1 mdewendt.de, 1 mdf-bis.com, 1 mdg-online.de, 1 mdiv.pl, 1 -mdkr.nl, 1 mdlayher.com, 1 mdma.net, 1 mdmed.clinic, 1 mdoering.de, 1 mdosch.de, 1 mdpraha.cz, 1 mdrthmcs.io, 1 mds-paris.com, 1 @@ -26600,16 +26580,17 @@ mdwftw.com, 1 mdx.no, 1 mdxdave.de, 1 mdxn.org, 1 mdzservers.com, 1 me-center.com, 1 me-groups.com, 1 me.net.nz, 1 meadowfen.farm, 1 +meadowfenfarm.com, 1 meadowviewfarms.org, 1 mealgoo.com, 1 meamod.com, 0 meany.xyz, 1 meap.xyz, 1 measureyourpenis.today, 1 meat.org.uk, 1 meathealth.com, 1 @@ -26668,16 +26649,17 @@ mediarocks.de, 1 mediaselection.eu, 1 mediationculturelleclp.ch, 1 mediatorzy.waw.pl, 1 mediaukkies.nl, 1 mediavault.tech, 1 mediawijsheid.nl, 1 mediawijzer.net, 1 mediawiki.org, 1 +mediawin.pl, 1 medic-world.com, 1 medical-assistant-colleges.com, 1 medicalabroad.org, 1 medicalcountermeasures.gov, 1 medicare-providers.net, 1 medicarecoveragefinder.com, 1 medicareinfo.org, 1 medicinesfast.com, 0 @@ -26955,17 +26937,16 @@ mes10doigts.ovh, 1 mesappros.com, 1 mescaline.com, 1 mescaline.org, 1 mesh.gov, 1 meshok.info, 1 meshok.ru, 0 mesicka.com, 1 meskdeals.com, 1 -messagescelestes-archives.ca, 1 messagevortex.com, 1 messagevortex.net, 1 messdorferfeld.de, 1 messenger.co.tz, 1 messenger.com, 0 messengerwebbrands.com, 1 messer24.ch, 1 messymom.com, 1 @@ -27260,17 +27241,16 @@ mileme.com, 1 milenaria.es, 1 milesapart.dating, 1 milftube.tv, 1 milionshop.sk, 1 militaryconsumer.gov, 1 milkandcookies.ca, 1 milkingit.co.uk, 1 milkingit.net, 1 -milktea.info, 1 milldyke.com, 1 milldyke.nl, 1 millefleurs.eu, 1 millennium-thisiswhoweare.net, 1 millenniumweb.com, 0 millersminibarns.com, 1 millettable.com, 1 millhousenchurch.com, 1 @@ -27539,16 +27519,17 @@ miukimodafeminina.com, 1 mivestuariolaboral.com, 1 mivzak.im, 1 mivzakim.biz, 1 mivzakim.info, 1 mivzakim.mobi, 1 mivzakim.net, 1 mivzakim.org, 1 mivzakim.tv, 1 +mivzaklive.co.il, 1 miweb.cr, 0 mixinglight.com, 1 mixnshake.com, 1 mixposure.com, 1 mixtafrica.com, 1 mixtape.moe, 1 mixx.com.hk, 1 miya.io, 1 @@ -27833,17 +27814,16 @@ moneycredit.eu, 1 moneyfactory.gov, 1 moneygo.se, 1 moneyhouse.de, 1 moneypark.ch, 1 moneytoday.se, 1 mongla168.net, 1 mongla88.net, 1 mongolieenfrance.fr, 1 -monicabeckstrom.no, 1 monique.io, 1 moniquedekermadec.com, 1 moniquemunhoz.com.br, 1 monitman.com, 1 monitman.solutions, 1 monitorchain.com, 1 monitori.ng, 1 monitoring.kalisz.pl, 1 @@ -28084,17 +28064,16 @@ mozektevidi.net, 1 mozgb.ru, 1 mozilla.cz, 1 mozzez.de, 1 mozzilla.cz, 1 mp3gratuiti.com, 1 mpa-pro.fr, 1 mpc-hc.org, 1 mpcompliance.com, 1 -mpe.org, 1 mpetroff.net, 1 mpg-universal.com, 1 mpg.ovh, 1 mpgaming.pro, 1 mphoto.at, 1 mpintaamalabanna.it, 1 mpkrachtig.nl, 1 mplanetphl.fr, 1 @@ -28201,16 +28180,18 @@ msz-fotografie.de, 1 mszavodumiru.cz, 1 mt.search.yahoo.com, 0 mt2414.com, 1 mta.org.ua, 1 mtane0412.com, 1 mtasa.com, 1 mtasa.hu, 1 mtb.wtf, 1 +mtcgf.com, 1 +mtcq.jp, 1 mtd.org, 1 mtd.ovh, 1 mtfgnettoyage.fr, 1 mtg-tutor.de, 1 mtgeni.us, 1 mtgenius.com, 1 mtgsuomi.fi, 1 mthode.org, 1 @@ -28628,17 +28609,16 @@ myowndisk.com, 1 myowndisk.net, 1 myownwebinar.com, 1 mypaperdone.com, 1 mypaperwriter.com, 1 mypartybynoelia.es, 1 mypayoffloan.com, 1 mypcqq.cc, 1 myperfecthome.ca, 1 -myperfumecollection.com, 1 myperks.in, 1 myphotoshopbrushes.com, 1 mypillcard.com, 1 mypizza-bremen.de, 1 myplaceonline.com, 1 mypnu.net, 1 mypress.mx, 1 myprintcard.de, 1 @@ -28980,17 +28960,16 @@ natatorium.org, 1 natchmatch.com, 1 nate.sh, 1 natecraun.net, 1 natgeofreshwater.com, 1 nathaliebaron.ch, 1 nathaliebaroncoaching.ch, 1 nathaliedijkxhoorn.com, 1 nathaliedijkxhoorn.nl, 1 -nathan.io, 1 nathanaeldawe.com, 1 nathankonopinski.com, 1 nathanmfarrugia.com, 1 nathansmetana.com, 1 nathumarket.com.br, 1 nationalbank.gov, 1 nationalbanknet.gov, 1 nationalcentereg.org, 1 @@ -29022,31 +29001,29 @@ naturaum.de, 1 nature-et-bio.fr, 1 nature-shots.net, 1 natureflo.net, 1 naturesbest.co.uk, 1 naturesorganichaven.com, 1 natureword.com, 1 naturheilpraxis-orlowsky.de, 1 naturheilpraxis-p-grote.de, 1 -naturline.com, 1 naturtint.co.uk, 1 natuterra.com.br, 1 naude.co, 1 naughty.audio, 1 nausicaahotel.it, 1 nautiljon.com, 1 nautsch.de, 1 navarralanparty.org, 1 navdeep.ca, 1 navenlle.com, 1 navienna.com, 1 navient.com, 1 naviteq.eu, 1 -navitime.me, 1 navstevnik.sk, 1 navycs.com, 1 nawir.de, 1 nawroth.info, 1 nayahe.ru, 1 nayami64.xyz, 1 nayanaas.com, 1 nazevfirmy.cz, 1 @@ -29198,17 +29175,16 @@ nedraconsult.ru, 1 nedys.top, 1 neecist.org, 1 needemand.com, 1 needle.net.nz, 1 needle.nz, 1 needstyle.ru, 1 neeerd.org, 1 neel.ch, 1 -neels.ch, 1 neemzy.org, 1 neer.io, 1 neet-investor.biz, 1 nefertitis.cz, 1 neffat.si, 1 neflabs.com, 1 nefro-cme.de, 1 neftis.es, 1 @@ -29253,17 +29229,17 @@ nellacms.org, 1 nellafw.org, 1 nellen.it, 1 nemcd.com, 1 nemecl.eu, 1 nemez.net, 1 nemo.run, 1 nemopan.com, 1 nemopret.dk, 1 -nemplex.win, 1 +nemplex.win, 0 nems.no, 1 nemumu.com, 1 nemunai.re, 1 nenkin-kikin.jp, 1 neo2shyalien.eu, 0 neobits.nl, 1 neocities.org, 1 neoclick.io, 1 @@ -29347,17 +29323,16 @@ netducks.com, 1 netducks.space, 1 netera.se, 1 neteraser.de, 1 netexem.com, 1 netfabb.com, 1 netflixlife.com, 1 netfog.de, 1 netfuture.ch, 1 -netfxharmonics.com, 1 nethackwiki.com, 1 nethask.ru, 1 nethostingtalk.com, 1 nethruster.com, 1 nethunter.top, 1 netica.fr, 0 netki.com, 1 netlocal.ru, 1 @@ -29430,16 +29405,17 @@ neurogroove.info, 1 neurolab.no, 1 neuronasdigitales.com, 1 neuropharmacology.com, 1 neurostimtms.com, 1 neurotransmitter.net, 1 neurozentrum-zentralschweiz.ch, 1 neutralox.com, 0 neuwal.com, 1 +neva.li, 1 nevadafiber.net, 1 never.pet, 1 nevergreen.io, 1 nevermore.fi, 1 neverwetturkey.com, 1 nevntech.com, 1 nevolution.me, 1 nevoxo.com, 1 @@ -29522,16 +29498,17 @@ nextads.ch, 1 nextbranders.com, 1 nextcairn.com, 1 nextcasino.com, 1 nextcloud.co.za, 1 nextcloud.com, 1 nextcloud.li, 1 nextcloud.nerdpol.ovh, 1 nextclouddarwinkel.nl, 1 +nextend.org, 1 nextevolution.co.uk, 1 nextgen.sk, 1 nextgencel.com, 1 nextgenthemes.com, 1 nextgreatmess.com, 1 nexthop.co.jp, 1 nexthop.jp, 1 nextiot.de, 1 @@ -30564,16 +30541,17 @@ olmsted.io, 1 olygazoo.com, 1 olymp-arts.world, 1 olympeakgaming.tv, 1 olympiads.ca, 1 olympic-research.com, 1 om1.com, 1 omanko.porn, 1 omar.yt, 1 +omarh.net, 1 omdesign.cz, 1 omegahosting.net, 1 omegathermoproducts.nl, 1 omeopatiadinamica.it, 1 omertabeyond.com, 1 omertabeyond.net, 1 ometepeislandinfo.com, 1 omf.link, 1 @@ -30970,42 +30948,41 @@ orkiv.com, 1 orlandoprojects.com, 1 orleika.io, 1 orlives.de, 0 ormer.nl, 1 orocojuco.com, 1 orovillelaw.com, 1 orro.ro, 1 orrs.de, 1 -ortho-graz.at, 1 orthodontiste-geneve-docteur-rioux.com, 1 orthograph.ch, 1 orthotictransfers.com, 1 ortlepp.eu, 1 orui.com.br, 1 orum.in, 1 orwell1984.today, 1 oryva.com, 1 +orz.uno, 1 os-chrome.ru, 1 os-s.net, 1 os-t.de, 1 os24.cz, 1 osacrypt.studio, 1 osaka-onakura.com, 1 osakeannit.fi, 1 osao.org, 1 osbi.pl, 1 osborn.io, 1 osborneinn.com, 1 osburn.com, 1 oscamp.eu, 1 oscarvk.ch, 1 oscillation-services.fr, 1 oscloud.com, 1 -oscsdp.cz, 0 osdls.gov, 1 osepideasthatwork.org, 1 osereso.tn, 1 oses.mobi, 1 oshanko.de, 0 oshayr.com, 1 oshell.me, 1 oshershalom.com, 1 @@ -31305,17 +31282,16 @@ palariviera.com, 1 palary.work, 1 palatin.at, 1 palationtrade.com, 1 palava.tv, 1 palavatv.com, 1 palawan.jp, 0 palazzo.link, 1 palazzo.work, 1 -paleolowcarb.de, 1 paleosquawk.com, 1 paleotraining.com, 1 palestra.roma.it, 1 palladium46.com, 1 pallas.in, 1 palletflow.com, 1 palli.ch, 1 palmavile.us, 1 @@ -31544,16 +31520,17 @@ passport.yandex.ua, 1 passports.govt.nz, 1 passrhce.com, 1 passrhcsa.com, 1 passthepopcorn.me, 1 passumpsicbank.com, 1 passvanille-reservation.fr, 1 passvau.lt, 1 passwd.one, 1 +passwd.org, 1 password-checker.de, 1 password.codes, 1 password.consulting, 1 password.work, 1 passwordhashing.com, 1 passwordkeeperbooks.com, 1 passwords.google.com, 1 passwordscon.com, 1 @@ -31783,16 +31760,17 @@ pebbleparents.com, 1 pebbles.net.in, 1 pecker-johnson.com, 1 peda.net, 1 peddy.dyndns.org, 1 pedicurean.nl, 1 pedicureduiven.nl, 1 pedidamanosevilla.com, 1 pedikura-vitu.cz, 1 +pedimoda.com.br, 1 pedro.com.es, 1 pedrosaurus.com, 1 pedrosluiter.nl, 1 pedroventura.com, 0 peeekaaabooo.com, 1 peekier.com, 1 peen.ch, 1 peep.gq, 1 @@ -31829,17 +31807,16 @@ peg.nu, 1 pegas-studio.net, 1 pehapkari.cz, 1 peifi.de, 0 peippo.at, 1 peirong.me, 1 peka.pw, 1 pekkapleppanen.fi, 1 pekoe.se, 1 -pelanucto.cz, 1 pelican.ie, 1 pelletizermill.com, 1 pelletsprice.com, 1 pelopogrund.com, 1 pelopoplot.com, 1 pelotonimports.com, 1 pemagrid.org, 1 pems.gov.au, 1 @@ -31939,16 +31916,17 @@ personaltrainer-senti.de, 1 personcar.com.br, 1 personnedisparue.fr, 1 perspectivum.com, 1 perspektivwechsel-coaching.de, 1 persson.im, 1 persson.me, 1 perthhillsarmadale.com.au, 1 perthtrains.net, 1 +perucasestoril.com.br, 1 pervacio.hu, 1 perzeidi.hr, 1 pescadorcomunicacao.com, 1 pescadorcomunicacao.com.br, 1 pestici.de, 1 pestkill.info, 1 pesto.video, 1 pesyun.cn, 1 @@ -32048,17 +32026,17 @@ pgpmail.cc, 1 ph-blog.de, 1 ph.search.yahoo.com, 0 ph3r3tz.net, 1 phantasie.cc, 1 phantastikon.de, 1 pharma-display.com, 1 pharmaboard.de, 1 pharmaboard.org, 1 -pharmacie-fr.org, 0 +pharmacie-fr.org, 1 pharmacieplusfm.ch, 1 pharmafoto.ch, 1 pharmaphoto.ch, 1 pharmapolitics.com, 1 pharmasana.co.uk, 1 pharmasana.de, 1 pharmica.co.uk, 1 pharmica.uk, 1 @@ -32496,17 +32474,16 @@ plantezcheznous.com, 1 plantrustler.com, 1 planujemywesele.pl, 1 planup.fr, 1 planview.com, 1 plaque-funeraire.fr, 1 plassmann.ws, 1 plasticsurgeryartist.com, 1 plasticsurgerynola.com, 1 -plasticsurgeryservices.com, 1 plastiflex.it, 1 plastovelehatko.cz, 1 platformadmin.com, 1 platinumexpress.com.ar, 1 platomania.nl, 1 platschi.net, 1 platten-nach-mass.de, 1 platterlauncher.com, 1 @@ -32599,16 +32576,17 @@ plus-5.com, 1 plus.google.com, 1 plus.sandbox.google.com, 1 plus1s.site, 1 plus1s.tk, 1 pluscbdoil.com, 1 pluslink.co.jp, 1 plussizereviews.com, 1 plusstreamfeed.appspot.com, 1 +plustech.id, 1 pluta.net, 1 plutiedev.com, 1 pluto.life, 1 plutokorea.com, 1 plutopia.ch, 1 plymouthbouncycastles.co.uk, 1 plzdontpwn.me, 1 plzenskybarcamp.cz, 1 @@ -33419,17 +33397,16 @@ promozione.info, 1 pronto-intervento.net, 1 prontointerventoimmediato.it, 1 prontossl.com, 1 proobec.cz, 1 proofwiki.org, 1 proos.nl, 1 proovn.com, 1 propagandablog.de, 1 -propagandism.org, 1 propagationtools.com, 1 propepper.net, 1 properchels.com, 1 propermatches.com, 1 propershave.com, 1 properticons.com, 1 property-catalogue.eu, 1 propertygroup.pl, 1 @@ -34232,16 +34209,17 @@ rattenkot.io, 1 raucris.ro, 1 raulrivero.es, 1 rault.io, 1 raum4224.de, 1 raumzeitlabor.de, 0 rauros.net, 1 rautelow.de, 1 rautermods.net, 1 +ravchat.com, 1 raven.dog, 1 ravenger.net, 1 ravengergaming.net, 1 ravensbuch.de, 1 ravenx.me, 1 ravhaaglanden.org, 1 ravindran.me, 1 raviparekh.co.uk, 1 @@ -34439,17 +34417,16 @@ rectecforum.com, 1 rectoraudiparts.com, 1 recuerdafilms.com, 1 recuperodatiraidfastec.it, 1 recurly.com, 1 red-t-shirt.ru, 1 red-trigger.net, 1 red2fred2.com, 1 redable.hosting, 1 -redable.nl, 1 redactieco.nl, 1 redb.cz, 1 redballoonsecurity.com, 1 redburn.com, 1 redcatrampageforum.com, 1 redchat.cz, 1 redcoded.com, 1 redcone.net, 1 @@ -34718,17 +34695,17 @@ renezuo.com, 1 renkenlaw.com, 1 renlen.nl, 1 rennfire.org, 1 renov8sa.co.za, 1 renovum.es, 1 renrenche.com, 0 rens.nu, 1 renscreations.com, 1 -rent-a-c.io, 1 +rent-a-c.io, 0 rent-a-coder.de, 1 rentacaramerica.com, 1 rentasweb.gob.ar, 1 rentbrowser.com, 1 renthelper.us, 1 rentinsingapore.com.sg, 1 rentourhomeinprovence.com, 1 renuo.ch, 1 @@ -35212,17 +35189,16 @@ rodarion.pl, 1 roddis.net, 1 rodehutskors.net, 1 rodeobull.biz, 1 rodeohire.com, 1 rodeosales.co.uk, 1 rodevlaggen.nl, 1 rodichi.net, 1 rodinnebyvanie.eu, 1 -rodneybrooksjr.com, 0 rodolfo.gs, 1 rodomonte.org, 1 rodrigocarvalho.blog.br, 1 rody-design.com, 1 roeckx.be, 1 roeitijd.nl, 0 roeleveld.nl, 1 roelhollander.eu, 1 @@ -35782,16 +35758,17 @@ saastopankki.fi, 1 saba-piserver.info, 1 sabahattin-gucukoglu.com, 1 sabe.cz, 1 sabine-forschbach.de, 1 sabineforschbach.de, 1 sabtunes.com, 1 sacaentradas.com, 1 saccani.net, 1 +sacharidovejednotky.eu, 1 sachk.com, 1 sackers.com, 1 sackmesser.ch, 1 saclier.at, 1 saco-ceso.com, 1 sacprincesse.com, 1 sacred-knights.net, 1 sacrome.com, 1 @@ -35799,17 +35776,16 @@ sadbox.es, 1 sadbox.org, 1 sadbox.xyz, 1 sadeghian.us, 1 sadev.co.za, 1 sadhawkict.org, 1 sadiejanehair.com, 1 sadmansh.com, 1 sadou.kyoto.jp, 1 -sadsu.com, 1 saenforcement.agency, 1 saengsook.com, 1 saengsuk.com, 1 safar.sk, 1 safaritenten.nl, 1 safcstore.com, 1 safe.moe, 1 safe.space, 1 @@ -36150,16 +36126,17 @@ satai.dk, 1 satal.in, 1 satellites.hopto.me, 1 saterdalen.net, 1 satimagingcorp.com, 1 satinn.pl, 1 sativatunja.com, 1 satmd.de, 1 satoshinumbers.com, 1 +satragreen.com, 1 sattamatkachart.in, 1 sattamatkamobi.mobi, 1 saturn.pl, 1 saturngames.co.uk, 1 satyanarayana.xyz, 1 saudeealimentos.com, 1 saudeintimadamulher.com.br, 1 saudenoclique.com.br, 1 @@ -36411,17 +36388,16 @@ schwarz-gelbe-fuechse.de, 1 schwarzegar.de, 1 schwarzer.it, 1 schwarzes-muenchen.de, 1 schwarzhenri.ch, 1 schwarztrade.cz, 1 schwarzwald-flirt.de, 1 schwarzwaldcon.de, 1 schwedenhaus.ag, 1 -schwerkraftlabor.de, 1 schwinabart.com, 1 schwinger.me, 1 schwinnbike.ru, 1 schwuppengrillen.de, 1 sci-internet.tk, 1 scib.tk, 1 scicomm.xyz, 1 science-network.ch, 1 @@ -36839,16 +36815,17 @@ senego.com, 1 senekalstorageman.co.za, 1 sengokulife.com, 1 seniorem.eu, 1 seniors.singles, 1 senmendai-reform.com, 1 sennase.net, 1 senobio.com, 1 senorcontento.com, 1 +sens2lavie.com, 1 sensebridge.com, 1 sensebridge.net, 1 sensepixel.com, 1 senshudo.tv, 1 sensoft-int.com, 1 sensoft-int.net, 1 sensualism.com, 1 sentandsecure.com, 1 @@ -37027,16 +37004,17 @@ sexocomgravidas.com, 1 sexoyrelax.com, 1 sexpay.net, 1 sexservice.io, 1 sexshopfacil.com.br, 1 sexshopsgay.com, 1 sexwork.net, 1 sexy-store.nl, 1 sexymassageoil.com, 1 +seydaozcan.com, 1 seyfarth.de, 1 seyr.it, 1 seyr.me, 1 sfa.sk, 1 sfaparish.org, 1 sfaturiit.ro, 1 sfdev.ovh, 1 sfg-net.com, 1 @@ -37136,16 +37114,17 @@ shansing.net, 1 shansing.space, 1 shanxiapark.com, 1 shaobin.wang, 1 sharanyamunsi.net, 1 share.works, 1 sharealo.org, 1 sharedhost.de, 1 shareeri.com, 1 +sharejoy.cn, 0 sharekey.com, 0 sharelovenotsecrets.com, 1 sharemessage.net, 1 shareoffice.ch, 1 sharepointdrive.com, 1 sharescope.co.uk, 0 shareselecttools.com, 1 sharevari.com, 1 @@ -37489,16 +37468,17 @@ silentundo.org, 1 silerfamily.net, 1 silica-project.com, 1 silica-project.jp, 1 silicon-north.com, 1 silicon-vision.com, 1 siliconchip.me, 1 silkebaekken.no, 1 silkebeckmann.de, 1 +silkon.net, 1 sillisalaatti.fi, 1 sillysnapz.co.uk, 1 silo.org.br, 1 siloportem.net, 1 silqueskineyeserum.com, 1 silsha.me, 1 silv.me, 1 silvacor-ziegel.de, 1 @@ -37888,17 +37868,17 @@ skylgenet.nl, 1 skylightcreative.com.au, 1 skylinertech.com, 1 skylineservers.com, 1 skylocker.net, 1 skyloisirs.ch, 1 skyminds.net, 1 skyn3t.in, 1 skynet233.ch, 1 -skynethk.com, 1 +skynethk.com, 0 skynetnetwork.eu.org, 1 skynetz.tk, 1 skype.com, 1 skyquid.co.uk, 1 skyris.co, 1 skys-entertainment.com, 1 skyscapecanopies.com, 1 skysuite.nl, 1 @@ -38045,17 +38025,16 @@ smartlogreturns.com, 1 smartlogstock.com, 1 smartlogtower.com, 1 smartmessages.net, 1 smartmompicks.com, 1 smartmomsmartideas.com, 1 smartofficeusa.com, 1 smartphonechecker.co.uk, 1 smartpolicingplatform.com, 1 -smartrade.tech, 1 smartrecruit.ro, 1 smartservices.nl, 1 smartshiftme.com, 1 smartship.co.jp, 1 smartsparrow.com, 1 smartthursday.hu, 1 smartvideo.io, 1 smartviewing.com, 1 @@ -38144,16 +38123,17 @@ snaptier.co, 1 snaptools.io, 1 snarf.in, 1 snargol.com, 1 snatch.com.ua, 1 snazel.co.uk, 0 snazzie.nl, 1 sncdn.com, 1 sndbouncycastles.co.uk, 1 +sneak.berlin, 1 sneaker.date, 1 sneakpod.de, 1 sneakynote.com, 1 sneakypaw.com, 1 sneberger.cz, 0 sneed.company, 1 sneed.it, 1 sneedit.com, 1 @@ -38452,16 +38432,17 @@ sosko.in.rs, 1 sosoftplay.co.uk, 1 sospromotions.com.au, 1 sostacancun.com, 1 sosteam.jp, 1 sosteric.si, 1 sotadb.info, 1 sotai.tk, 1 sotar.us, 1 +sotavasara.net, 1 sotoasobi.net, 1 sotthewes.nl, 1 sou-co.jp, 1 soubriquet.org, 1 soufastnet.com.br, 1 souki.cz, 1 soukodou.jp, 1 soul-source.co.uk, 1 @@ -38909,16 +38890,17 @@ stairfallgames.com, 1 stairlin.com, 1 stakestrategy.com, 1 staklim-malang.info, 1 stako.jp, 1 staktrace.com, 1 stalder.work, 1 staljedevledder.nl, 1 stalker-shop.com, 1 +stalkerteam.pl, 1 stalkr.net, 1 stalkthe.net, 1 stameystreet.com, 1 stamkassa.nl, 1 stammtisch.domains, 1 stamonicatourandtravel.com, 1 stamparmakarije.me, 1 stampederadon.com, 1 @@ -39260,17 +39242,16 @@ stoneagehealth.com.au, 1 stonedworms.de, 1 stonefusion.org.uk, 1 stonehammerhead.org, 1 stonemain.eu, 1 stonemanbrasil.com.br, 1 stony.com, 1 stonystratford.org, 1 stopakwardhandshakes.org, 1 -stopbreakupnow.org, 1 stopbullying.gov, 1 stopfraud.gov, 0 stopthethyroidmadness.com, 1 storageideas.uk, 1 stordbatlag.no, 1 store10.de, 0 storedsafe.com, 1 storeit.co.uk, 1 @@ -39378,17 +39359,16 @@ structure.systems, 1 strugee.net, 1 strutta.me, 1 strydom.me.uk, 1 stsolarenerji.com, 1 stt.wiki, 1 stuartbell.co.uk, 1 stuarteggerton.com, 1 stuartmorris.id.au, 1 -stuartmorris.me, 1 stuartmorris.name, 1 stuartmorris.tel, 1 stuarts.xyz, 0 stubbings.eu, 1 stuco.co, 1 stucorweb.com, 1 stucydee.nl, 1 studenckiemetody.pl, 1 @@ -39678,17 +39658,16 @@ surgicalassociateswny.com, 1 suroil.com, 1 surpreem.com, 1 surreyheathyc.org.uk, 1 suruifu.com, 1 suruifu.tk, 1 survature.com, 1 surveillance104.com, 1 surveyhealthcare.com, 1 -surveyinstrumentsales.com, 1 surveymill.co.uk, 1 survivalistplanet.com, 1 survivalmonkey.com, 1 susanbpilates.co, 1 susanbpilates.com, 1 susann-kerk.de, 1 susanna-komischke.de, 1 susanvelez.com, 1 @@ -39832,16 +39811,17 @@ switcheo.rocks, 1 switzerland-family-office.com, 1 swivells.com, 1 swn-nec.de, 1 swordfeng.xyz, 1 swordfighting.net, 1 swqa.hu, 1 swuosa.org, 0 swvaux.com, 1 +swxtd.com, 1 swyn.net, 1 sx3.no, 1 sx8.ovh, 1 sxistolithos.gr, 1 sy-anduril.de, 1 sy24.ru, 1 syajvo.if.ua, 1 syamutodon.xyz, 1 @@ -40199,17 +40179,17 @@ tatara.ne.jp, 1 tateesq.com, 1 tatildukkani.com, 1 tatiloley.com, 1 tatort-fanpage.de, 1 tatsidou.gr, 1 tattoo.dating, 1 tattvaayoga.com, 1 tatuantes.com, 1 -taunhanh.us, 0 +taunhanh.us, 1 tavolaquadrada.com.br, 1 tavsys.net, 1 tax-guard.com, 1 taxaroo.com, 1 taxi-24std.de, 0 taxi-chamonix.fr, 1 taxi-collectif.ch, 1 taxi-jihlava.cz, 1 @@ -40495,16 +40475,17 @@ tellusaboutus.com, 1 telly.site, 1 tellygames.com, 1 tellyourtale.com, 1 teloo.pl, 1 telos-analytics.com, 1 teltru.com, 1 telugu4u.net, 1 tem.li, 1 +temasa.net, 1 tematicas.org, 1 temdu.com, 1 temizmama.com, 1 temnacepel.cz, 1 temp.pm, 1 tempa.com.ua, 1 tempdomain.ml, 1 tempflix.com, 1 @@ -40643,17 +40624,16 @@ textburst.com, 1 texter-linz.at, 1 texter.at, 1 texterseo.at, 1 texterseo.de, 1 textinmate.com, 1 textpedia.org, 1 textualapp.com, 0 texture.net.au, 1 -texus.me, 1 texy.info, 1 teysens.com, 1 teyssedre.ca, 1 tezcam.tk, 1 tf-network.de, 1 tf2b.com, 1 tf2calculator.com, 1 tf7879.com, 1 @@ -40919,17 +40899,16 @@ themoneyconverter.com, 1 themonkeytrail.co.uk, 1 themonthly.com.au, 1 themostexpensiveworkofart.com, 1 themusecollaborative.org, 1 themusicinnoise.net, 1 themusthaves.nl, 1 thenanfang.com, 1 thenarcissisticlife.com, 1 -theneatgadgets.com, 1 thenexwork.com, 1 thenib.com, 1 thenichecast.com, 1 thenocman.com, 1 thenovaclinic.com, 1 thenowheremen.com, 1 thenrdhrd.nl, 1 theo.me, 1 @@ -41093,16 +41072,17 @@ thewindow.com, 1 thewinstonatlyndhurst.com, 1 thewoodkid.com.au, 1 thewoolroom.com.au, 1 theworkingeye.nl, 1 theworldexchange.com, 1 theworldexchange.net, 1 theworldexchange.org, 1 theworldsend.eu, 1 +thewp.pro, 1 thexfactorgames.com, 1 thexme.de, 1 theyachtteam.com, 1 theyakshack.co.uk, 1 theyarnhookup.com, 0 theyear199x.org, 1 theyearinpictures.co.uk, 1 theyosh.nl, 1 @@ -41300,17 +41280,17 @@ ties.com, 1 tiew.pl, 1 tifan.net, 1 tiffnix.com, 1 tigerchef.com, 1 tigerdile.com, 1 tigernode.com, 1 tigernode.net, 1 tiggeriffic.com, 1 -tiggi.pw, 1 +tiggi.pw, 0 tigit.co.nz, 1 tiglitub.com, 1 tiihosen.fi, 1 tiim.technology, 1 tijden.nu, 1 tijo.ch, 1 tik.edu.ee, 1 tik.help, 1 @@ -41466,16 +41446,17 @@ tkgpm.com, 1 tkirch.de, 1 tkjg.fi, 1 tkn.me, 1 tkn.tokyo, 1 tkts.cl, 1 tkusano.jp, 1 tkw01536.de, 0 tl.gg, 1 +tlach.cz, 1 tlca.org, 1 tlcnet.info, 1 tlehseasyads.com, 1 tleng.de, 1 tlo.xyz, 1 tloxygen.com, 1 tls-proxy.de, 1 tls.builders, 1 @@ -42196,17 +42177,16 @@ tribut.de, 1 tributh.cf, 1 tributh.ga, 1 tributh.gq, 1 tributh.ml, 1 tributh.net, 1 tributh.tk, 1 tricefy4.com, 1 trickedguys.com, 0 -tricks.clothing, 1 triddi.com, 1 trident-online.de, 1 tridentflood.com, 1 trietment.com, 1 trigardon-rg.de, 1 trigular.de, 1 trik.es, 0 trillian.im, 1 @@ -42353,17 +42333,16 @@ tstrubberstamp.com, 0 tsugi.fr, 1 tsukhani.com, 1 tsuki.moe, 1 tsukuba.style, 1 tsumegumi.com, 1 tsumi.it, 1 tsumi.moe, 1 tsundere.moe, 1 -tsung.co, 1 tsura.org, 1 tsurai.work, 1 tsurezurematome.ga, 1 tsutsumi-kogyo.jp, 1 tsuyuzakihiroyuki.com, 1 tsv-1894.de, 1 tt.dog, 1 ttb.gov, 1 @@ -42459,17 +42438,16 @@ turnonsocial.com, 1 turpinpesage.fr, 1 tursiae.org, 1 turtle.ai, 0 turtleduckstudios.com, 1 turtlepwr.com, 1 turtles.ga, 1 turunculevye.com, 1 tuscanyleather.it, 1 -tusi.co, 0 tusksol.com, 1 tutanota.com, 1 tuto-craft.com, 1 tutoragency.org, 1 tutorat-tect.org, 1 tutoref.com, 1 tutorialinux.com, 1 tutorio.ga, 1 @@ -42849,17 +42827,16 @@ undeductive.media, 1 undef.in, 1 underbridgeleisure.co.uk, 1 undercovercondoms.co.uk, 1 undercovercondoms.com, 1 underfloorheating-uk.co.uk, 1 underlined.fr, 1 undernet.uy, 0 underskatten.tk, 1 -underwearoffer.com, 1 undo.co.il, 1 undone.me, 1 unearaigneeauplafond.fr, 1 unece-deta.eu, 1 unedouleur.com, 1 unefleur.be, 1 unefuite.ch, 1 unerosesurlalune.fr, 1 @@ -43514,17 +43491,17 @@ verein-kiekin.de, 1 verein-zur-pflege-der-geselligkeit.de, 1 vereinlandwege.de, 1 vereinscheck.de, 1 verfassungsklage.at, 1 verge.capital, 1 vergeaccessories.com, 1 vergelijksimonly.nl, 1 vergessen.cn, 1 -verhovs.ky, 1 +verhovs.ky, 0 verifalia.com, 1 verifiedjoseph.com, 1 verifiny.com, 1 verifyos.com, 1 verifyyourip.com, 1 veriny.tf, 1 veriomed.com, 1 verios.com.br, 1 @@ -43616,16 +43593,17 @@ viajandoporelmundo.com.ar, 1 viaje-a-china.com, 1 viaprinto.de, 1 viasinc.com, 0 vibrant-america.com, 1 vicenage.com, 1 vicentee.com, 1 vichiya.com, 1 vician.cz, 1 +vicianovi.cz, 1 vicicode.com, 1 viciousflora.com, 1 viciousviscosity.xyz, 1 vicjuwelen-annelore.be, 1 viclab.se, 1 victora.com, 1 victorcanera.com, 1 victordiaz.me, 1 @@ -43780,17 +43758,16 @@ vinsetchampagne.fr, 1 vintagebandfestival.org, 1 vintagecaskandbarrel.com, 1 vintagejeeps.net, 1 vintagemakeupguide.com, 1 vintageportgifts.co.uk, 1 vintagesouthernpicks.com, 1 vintagetrailerbuyers.com, 1 vintazh.net, 1 -vinticom.ch, 1 vintock.com, 1 vinyculture.com, 1 vinzite.com, 1 violet-letter.delivery, 1 violetraven.co.uk, 1 violin4fun.nl, 1 vionicbeach.com, 1 vionicshoes.com, 1 @@ -43808,17 +43785,17 @@ viptamin.eu, 1 viptamol.com, 1 viqo.pl, 1 vir-tec.eu, 1 vir2.me, 1 viral32111.com, 1 viralboombox.xyz, 1 viralpop.it, 1 viralsv.com, 1 -virgopolymer.com, 0 +virgopolymer.com, 1 virial.de, 1 viridis-milites.cz, 1 virtit.fr, 1 virtual.hk, 1 virtualcloud.ddns.net, 1 virtualcommodities.org, 1 virtualdesignmedia.com, 0 virtuality4d.com, 1 @@ -44035,16 +44012,17 @@ vomitb.in, 1 von-lien-aluprofile.de, 1 von-lien-dachrinnen.de, 1 von-lien-lichtplatten.de, 1 von-lien-profilbleche.de, 1 vonauw.com, 1 vonborstelboerner.de, 1 vonniehudson.com, 1 vonski.pl, 1 +vonterra.us, 1 voodoochile.at, 1 vop.li, 1 vorderklier.de, 1 vorlage-musterbriefe.de, 1 vorlage-mustervertrag.de, 1 vorlagen-geburtstagsgruesse.de, 1 vorlicek.de, 1 vorlif.org, 1 @@ -44072,16 +44050,17 @@ votewa.gov, 1 votocek.cz, 1 votockova.cz, 1 votoot.com, 1 votre-site-internet.ch, 1 votresiteweb.ch, 1 vouchinsurance.sg, 1 vovladikavkaze.ru, 1 vow.vn, 1 +vowsy.club, 1 voxfilmeonline.net, 1 voxml.com, 1 voxographe.com, 0 voya.ga, 1 voyage-martinique.fr, 1 voyageforum.com, 1 voyagesaufildespages.be, 1 voyageschine.com, 1 @@ -44215,17 +44194,16 @@ wabifoggynuts.com, 1 wachter.biz, 1 wacky-science.com, 1 wacky.one, 1 wadidi.com, 1 wadsworth.gallery, 1 wadvisor.com, 1 waelisch.de, 1 waelti.xxx, 1 -waf.ninja, 1 waf.sexy, 1 wafa4hw.com, 1 wafelland.be, 1 waffle.at, 0 wafni.com, 1 wafuton.com, 1 wagyu-bader.de, 1 wahhoi.net, 1 @@ -44459,17 +44437,16 @@ we.serveftp.net, 1 weacceptbitcoin.gr, 1 wealthfactory.com, 0 wealthprojector.com, 1 wealthprojector.com.au, 1 wealthreport.com.au, 1 wearandcare.net, 1 weare1inspirit.com, 1 wearebfi.co.uk, 1 -wearedisneyland.com, 1 wearegenki.com, 1 wearehackerone.com, 1 weareincognito.org, 1 wearepapermill.co, 1 wearesouthafricans.com, 1 wearewithyou.org, 1 wearvr.com, 1 weaspireusa.com, 1 @@ -44860,17 +44837,16 @@ westmeadapartments.com.au, 1 westmidlandsbouncycastlehire.co.uk, 1 westmidlandsinflatables.co.uk, 1 westsuburbanbank.com, 1 westtulsa.com, 1 westwood.no, 1 wesupportthebadge.org, 1 wetofu.top, 1 wetrepublic.com, 1 -wette.de, 1 wetthost.com, 1 wevenues.com, 1 wewitro.de, 1 wewitro.net, 1 wexfordbouncycastles.ie, 1 wexilapp.com, 1 weyland-yutani.org, 1 weynaphotography.com, 1 @@ -45829,17 +45805,16 @@ xerkus.pro, 1 xerownia.eu, 1 xeryus.nl, 1 xetown.com, 1 xfce.space, 1 xfcy.me, 1 xfd3.de, 1 xferion.com, 1 xfix.pw, 1 -xfrag-networks.com, 1 xgame.com.tr, 1 xgclan.com, 1 xgn.es, 1 xgzepto.cn, 1 xhadius.de, 1 xhily.com, 1 xhmikosr.io, 1 xho.me, 1 @@ -45885,16 +45860,17 @@ xin-in.com, 1 xin-in.net, 1 xing-in.net, 1 xing.ml, 1 xinj.com, 1 xinnixdeuren-shop.be, 1 xinuspeed.com, 1 xinuspeedtest.com, 1 xinuurl.com, 1 +xiongx.cn, 1 xirion.net, 1 xj8876.com, 1 xjd.vision, 1 xjf6.com, 1 xjjeeps.com, 1 xjoin.de, 1 xjpvictor.info, 1 xkblog.xyz, 1 @@ -46706,17 +46682,16 @@ z-vector.com, 1 z.ai, 1 z0rro.net, 1 z1h.de, 1 z33.co, 0 z4k.de, 1 z99944x.xyz, 1 za.search.yahoo.com, 0 zaagbaak.nl, 1 -zaalleatherwear.nl, 0 zabavno.mk, 1 zabbix.tips, 1 zabszk.net, 1 zabukovnik.net, 1 zacadam.com, 1 zacarias.com.ar, 1 zacchaeus.co.uk, 1 zacco.site, 1 @@ -46810,17 +46785,16 @@ zeal-interior.com, 1 zealworks.jp, 1 zeb.fun, 1 zebbra.ro, 1 zebedeescastles.co.uk, 1 zebulon.fr, 1 zeds-official.com, 1 zeebrieshoekvanholland.nl, 1 zeel.com, 1 -zeelynk.com, 1 zeestraten.nl, 1 zeetoppers.nl, 1 zeeuw.nl, 1 zeguigui.com, 1 zehdenick-bleibt-bunt.de, 1 zeibekiko-souvlaki.gr, 1 zeilenmethans.nl, 1 zeilles.nu, 1
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/css/css-will-change/will-change-inherit-dynamic.html @@ -0,0 +1,21 @@ +<!doctype html> +<meta charset="utf-8"> +<title>CSS Test: will-change: style changes are properly propagated to children if needed</title> +<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io"> +<link rel="author" title="Mozilla" href="https://mozilla.org"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1499991"> +<link rel="help" href="https://drafts.csswg.org/css-will-change/#will-change"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id="outer"> + <div id="inner" style="will-change: inherit"></div> +</div> +<script> + test(function() { + assert_equals(getComputedStyle(outer).willChange, "auto"); + assert_equals(getComputedStyle(inner).willChange, "auto"); + outer.style.willChange = "color"; + assert_equals(getComputedStyle(outer).willChange, "color"); + assert_equals(getComputedStyle(inner).willChange, "color"); + }, "will-change change is properly propagated to children if needed"); +</script>
--- a/toolkit/components/telemetry/core/Telemetry.cpp +++ b/toolkit/components/telemetry/core/Telemetry.cpp @@ -613,16 +613,60 @@ TelemetryImpl::AddSQLInfo(JSContext *cx, NS_IMETHODIMP TelemetryImpl::SetHistogramRecordingEnabled(const nsACString &id, bool aEnabled) { return TelemetryHistogram::SetHistogramRecordingEnabled(id, aEnabled); } NS_IMETHODIMP +TelemetryImpl::GetSnapshotForHistograms(const nsACString& aStoreName, + bool aClearStore, JSContext* aCx, + JS::MutableHandleValue aResult) +{ + unsigned int dataset = mCanRecordExtended ? + nsITelemetry::DATASET_RELEASE_CHANNEL_OPTIN : + nsITelemetry::DATASET_RELEASE_CHANNEL_OPTOUT; + return TelemetryHistogram::CreateHistogramSnapshots(aCx, aResult, dataset, aClearStore); +} + +NS_IMETHODIMP +TelemetryImpl::GetSnapshotForKeyedHistograms(const nsACString& aStoreName, + bool aClearStore, JSContext* aCx, + JS::MutableHandleValue aResult) +{ + unsigned int dataset = mCanRecordExtended ? + nsITelemetry::DATASET_RELEASE_CHANNEL_OPTIN : + nsITelemetry::DATASET_RELEASE_CHANNEL_OPTOUT; + return TelemetryHistogram::GetKeyedHistogramSnapshots(aCx, aResult, dataset, aClearStore); +} + +NS_IMETHODIMP +TelemetryImpl::GetSnapshotForScalars(const nsACString& aStoreName, + bool aClearStore, JSContext* aCx, + JS::MutableHandleValue aResult) +{ + unsigned int dataset = mCanRecordExtended ? + nsITelemetry::DATASET_RELEASE_CHANNEL_OPTIN : + nsITelemetry::DATASET_RELEASE_CHANNEL_OPTOUT; + return TelemetryScalar::CreateSnapshots(dataset, aClearStore, aCx, 1, aResult); +} + +NS_IMETHODIMP +TelemetryImpl::GetSnapshotForKeyedScalars(const nsACString& aStoreName, + bool aClearStore, JSContext* aCx, + JS::MutableHandleValue aResult) +{ + unsigned int dataset = mCanRecordExtended ? + nsITelemetry::DATASET_RELEASE_CHANNEL_OPTIN : + nsITelemetry::DATASET_RELEASE_CHANNEL_OPTOUT; + return TelemetryScalar::CreateKeyedSnapshots(dataset, aClearStore, aCx, 1, aResult); +} + +NS_IMETHODIMP TelemetryImpl::SnapshotHistograms(unsigned int aDataset, bool aClearHistograms, JSContext* aCx, JS::MutableHandleValue aResult) { return TelemetryHistogram::CreateHistogramSnapshots(aCx, aResult, aDataset, aClearHistograms); }
--- a/toolkit/components/telemetry/core/nsITelemetry.idl +++ b/toolkit/components/telemetry/core/nsITelemetry.idl @@ -47,16 +47,70 @@ interface nsITelemetry : nsISupports * DATASET_RELEASE_CHANNEL_OPTIN - the extended dataset that is opt-in on release, * opt-out on pre-release channels. */ const unsigned long DATASET_RELEASE_CHANNEL_OPTOUT = 0; const unsigned long DATASET_RELEASE_CHANNEL_OPTIN = 1; /** + * Serializes the histograms from the given store to a JSON-style object. + * The returned structure looks like: + * { "process": { "name1": histogramData1, "name2": histogramData2 }, ... } + * + * Where histogramDataN has the following properties: + * min - minimum bucket size + * max - maximum bucket size + * histogram_type - HISTOGRAM_EXPONENTIAL, HISTOGRAM_LINEAR, HISTOGRAM_BOOLEAN, + * HISTOGRAM_FLAG, HISTOGRAM_COUNT, or HISTOGRAM_CATEGORICAL + * counts - array representing contents of the buckets in the histogram + * ranges - array with calculated bucket sizes + * sum - sum of the bucket contents + * TODO(bug 1468761): Return packed histograms. + * + * @param aStoreName The name of the store to snapshot. Ignored at the moment. + * @param aClearStore Whether to clear out the histograms in the named store after snapshotting. + */ + [implicit_jscontext] + jsval getSnapshotForHistograms(in ACString aStoreName, in boolean aClearStore); + + /** + * Serializes the keyed histograms from the given store to a JSON-style object. + * The returned structure looks like: + * { "process": { "name1": { "key_1": histogramData1, "key_2": histogramData2 }, ...}, ... } + * + * @param aStoreName The name of the store to snapshot. Ignored at the moment. + * @param aClearStore Whether to clear out the keyed histograms in the named store after snapshotting. + */ + [implicit_jscontext] + jsval getSnapshotForKeyedHistograms(in ACString aStoreName, in boolean aClearStore); + + /** + * Serializes the scalars from the given store to a JSON-style object. + * The returned structure looks like: + * { "process": { "category1.probe": 1,"category1.other_probe": false, ... }, ... }. + * + * @param aStoreName The name of the store to snapshot. Ignored at the moment. + * @param aClearStore Whether to clear out the scalars in the named store after snapshotting. + */ + [implicit_jscontext] + jsval getSnapshotForScalars(in ACString aStoreName, in boolean aClearStore); + + /** + * Serializes the keyed scalars from the given store to a JSON-style object. + * The returned structure looks like: + * { "process": { "category1.probe": { "key_1": 2, "key_2": 1, ... }, ... }, ... } + * + * @param aStoreName The name of the store to snapshot. Ignored at the moment. + * @param aClearStore Whether to clear out the keyed scalars in the named store after snapshotting. + */ + [implicit_jscontext] + jsval getSnapshotForKeyedScalars(in ACString aStoreName, in boolean aClearStore); + + /** * Serializes the histograms from the given dataset to a JSON-style object. * The returned structure looks like: * { process1: {name1: {histogramData1}, name2:{histogramData2}...}} * * Where histogramDataN has the following properties: * min - minimum bucket size * max - maximum bucket size * histogram_type - HISTOGRAM_EXPONENTIAL, HISTOGRAM_LINEAR, HISTOGRAM_BOOLEAN,
--- a/toolkit/components/viewconfig/content/config.xul +++ b/toolkit/components/viewconfig/content/config.xul @@ -65,17 +65,17 @@ </hbox> </vbox> </vbox> <spacer flex="2"/> </vbox> <vbox flex="1"> <hbox id="filterRow" align="center"> <label data-l10n-id="config-search-prefs" control="textbox"/> - <textbox id="textbox" flex="1" type="search" class="compact" + <textbox id="textbox" flex="1" type="search" aria-controls="configTree" oncommand="FilterPrefs();"/> </hbox> <tree id="configTree" flex="1" seltype="single" onselect="updateCommands('select');" enableColumnDrag="true" context="configContext"> <treecols>
--- a/toolkit/themes/osx/global/textbox.css +++ b/toolkit/themes/osx/global/textbox.css @@ -69,24 +69,15 @@ textbox[type="search"] { } .textbox-search-clear { list-style-image: url(chrome://global/skin/icons/searchfield-cancel.svg); -moz-image-region: rect(0, 14px, 14px, 0); margin-bottom: 1px; } -textbox[type="search"].compact { - padding: 0; - font-size: 11px; -} - -textbox[type="search"].compact > moz-input-box > .textbox-search-icons > .textbox-search-clear { - width: 11px; -} - .textbox-search-clear:not([disabled]) { cursor: default; } .textbox-search-icons:not([selectedIndex="1"]) { visibility: hidden; }
--- a/widget/gtk/nsClipboard.cpp +++ b/widget/gtk/nsClipboard.cpp @@ -29,22 +29,26 @@ #include "imgIContainer.h" #include <gtk/gtk.h> #include <gtk/gtkx.h> #include "mozilla/Encoding.h" - using namespace mozilla; // Idle timeout for receiving selection and property notify events (microsec) const int kClipboardTimeout = 500000; +// We add this prefix to HTML markup, so that GetHTMLCharset can correctly +// detect the HTML as UTF-8 encoded. +static const char kHTMLMarkupPrefix[] = + R"(<meta http-equiv="content-type" content="text/html; charset=utf-8">)"; + // Callback when someone asks us for the data void clipboard_get_cb(GtkClipboard *aGtkClipboard, GtkSelectionData *aSelectionData, guint info, gpointer user_data); // Callback when someone asks us to clear a clipboard @@ -522,16 +526,41 @@ nsClipboard::SelectionGetEvent(GtkClipbo if (!pixbuf) return; gtk_selection_data_set_pixbuf(aSelectionData, pixbuf); g_object_unref(pixbuf); return; } + if (selectionTarget == gdk_atom_intern(kHTMLMime, FALSE)) { + rv = trans->GetTransferData(kHTMLMime, getter_AddRefs(item), &len); + if (!item || NS_FAILED(rv)) { + return; + } + + nsCOMPtr<nsISupportsString> wideString; + wideString = do_QueryInterface(item); + if (!wideString) { + return; + } + + nsAutoString ucs2string; + wideString->GetData(ucs2string); + + nsAutoCString html; + // Add the prefix so the encoding is correctly detected. + html.AppendLiteral(kHTMLMarkupPrefix); + AppendUTF16toUTF8(ucs2string, html); + + gtk_selection_data_set(aSelectionData, selectionTarget, 8, + (const guchar*)html.get(), html.Length()); + return; + } + // Try to match up the selection data target to something our // transferable provides. gchar *target_name = gdk_atom_name(selectionTarget); if (!target_name) return; rv = trans->GetTransferData(target_name, getter_AddRefs(item), &len); // nothing found? @@ -540,41 +569,20 @@ nsClipboard::SelectionGetEvent(GtkClipbo return; } void *primitive_data = nullptr; nsPrimitiveHelpers::CreateDataFromPrimitive(nsDependentCString(target_name), item, &primitive_data, len); if (primitive_data) { - // Check to see if the selection data is text/html - if (selectionTarget == gdk_atom_intern (kHTMLMime, FALSE)) { - /* - * "text/html" can be encoded UCS2. It is recommended that - * documents transmitted as UCS2 always begin with a ZERO-WIDTH - * NON-BREAKING SPACE character (hexadecimal FEFF, also called - * Byte Order Mark (BOM)). Adding BOM can help other app to - * detect mozilla use UCS2 encoding when copy-paste. - */ - guchar *buffer = (guchar *) - g_malloc((len * sizeof(guchar)) + sizeof(char16_t)); - if (!buffer) - return; - char16_t prefix = 0xFEFF; - memcpy(buffer, &prefix, sizeof(prefix)); - memcpy(buffer + sizeof(prefix), primitive_data, len); - g_free((guchar *)primitive_data); - primitive_data = (guchar *)buffer; - len += sizeof(prefix); - } - gtk_selection_data_set(aSelectionData, selectionTarget, 8, /* 8 bits in a unit */ (const guchar *)primitive_data, len); - g_free(primitive_data); + free(primitive_data); } g_free(target_name); } void nsClipboard::SelectionClearEvent(GtkClipboard *aGtkClipboard) @@ -651,43 +659,50 @@ void ConvertHTMLtoUCS2(const char* data, auto encoding = Encoding::ForLabelNoReplacement(charset); if (!encoding) { #ifdef DEBUG_CLIPBOARD g_print(" get unicode decoder error\n"); #endif outUnicodeLen = 0; return; } + + auto dataSpan = MakeSpan(data, dataLength); + // Remove kHTMLMarkupPrefix again, it won't necessarily cause any + // issues, but might confuse other users. + const size_t prefixLen = ArrayLength(kHTMLMarkupPrefix) - 1; + if (dataSpan.Length() >= prefixLen && + Substring(data, prefixLen).EqualsLiteral(kHTMLMarkupPrefix)) { + dataSpan = dataSpan.From(prefixLen); + } + auto decoder = encoding->NewDecoder(); - CheckedInt<size_t> needed = decoder->MaxUTF16BufferLength(dataLength); + CheckedInt<size_t> needed = + decoder->MaxUTF16BufferLength(dataSpan.Length()); if (!needed.isValid() || needed.value() > INT32_MAX) { outUnicodeLen = 0; return; } outUnicodeLen = 0; if (needed.value()) { *unicodeData = reinterpret_cast<char16_t*>( moz_xmalloc((needed.value() + 1) * sizeof(char16_t))); uint32_t result; size_t read; size_t written; bool hadErrors; Tie(result, read, written, hadErrors) = - decoder->DecodeToUTF16(AsBytes(MakeSpan(data, dataLength)), + decoder->DecodeToUTF16(AsBytes(dataSpan), MakeSpan(*unicodeData, needed.value()), true); MOZ_ASSERT(result == kInputEmpty); - MOZ_ASSERT(read == size_t(dataLength)); + MOZ_ASSERT(read == size_t(dataSpan.Length())); MOZ_ASSERT(written <= needed.value()); Unused << hadErrors; -#ifdef DEBUG_CLIPBOARD - if (read != dataLength) - printf("didn't consume all the bytes\n"); -#endif outUnicodeLen = written; // null terminate. (*unicodeData)[outUnicodeLen] = '\0'; } // if valid length } } /* @@ -701,17 +716,17 @@ void GetHTMLCharset(const char* data, in { // if detect "FFFE" or "FEFF", assume UTF-16 char16_t* beginChar = (char16_t*)data; if ((beginChar[0] == 0xFFFE) || (beginChar[0] == 0xFEFF)) { str.AssignLiteral("UTF-16"); return; } // no "FFFE" and "FEFF", assume ASCII first to find "charset" info - const nsDependentCString htmlStr(data, dataLength); + const nsDependentCSubstring htmlStr(data, dataLength); nsACString::const_iterator start, end; htmlStr.BeginReading(start); htmlStr.EndReading(end); nsACString::const_iterator valueStart(start), valueEnd(start); if (CaseInsensitiveFindInReadable( NS_LITERAL_CSTRING("CONTENT=\"text/html;"), start, end)) {