Search

Donuts and Email Traffic

Styling

Use donuts to visualise relative volumes of email.

Donuts and Email Traffic
View live example →

This demo shows how donuts make it possible to visualise numeric proportions of data. This anonymised data analyses the email traffic of an organisation by department. Emails are sent by both external organisations and the departments themselves.

The donut on each node contains at least one colour-coded segment:

  • each colour represents the department an email was sent to.
  • each segment is sized based on the proportion of emails sent to each department.

Use the option on the right hand side to hide donuts and see department nodes more clearly. You can also filter out traffic that's of less interest, and only show nodes that send emails to multiple departments.

By listening for the 'pointer-move' event, you can show tooltips with the percentage of emails for each donut segment. Colour highlighting also makes clear which segment you’ve hovered over or tapped.

Donuts are useful in many scenarios, including:

  • Social Network Analysis - show the relative time spent in different social media networks.
  • Review Fraud - identify people who give mainly positive or negative reviews.
  • Cyber Crime - demonstrate what proportion of malware attacks have infiltrated each web browser.
  • Intelligence - display the relative number of telephone calls made to different countries.

Object format used:

Key functions used:

import KeyLines from "keylines";
import { data } from "./data.js";

// The radius of a node, in world coordinates, without enlargement
const BASE_NODE_RADIUS = 27;

// The distance the tooltip arrow protrudes from the tool tip box
const TOOLTIP_ARROW_SIZE = 11;

const colourToRoles = {
  "#FF1529": "Admin", // red - admin
  "#FF8027": "Sales", // orange - sales
  "#CA62C4": "Other", // purple - other
  "#44D161": "Ops", // green - ops
  "#29A1E7": "Tech", // blue - tech
  "#F781BF": "Marketing", // pink - marketing
  "#CB623C": "Support", // brown - support
  "#C4C4C4": "External", // grey - external
};

const highlightColours = {
  "#D22432": "#FF1529", // red - admin
  "#DD6800": "#FF8027", // orange - sales
  "#984ea3": "#CA62C4", // purple - other
  "#4daf4a": "#44D161", // green - ops
  "#377eb8": "#29A1E7", // blue - tech
  "#E77BB0": "#F781BF", // pink - marketing
  "#a65628": "#CB623C", // brown - support
  "#aaaaaa": "#C4C4C4", // grey - external
};

let chart;
let showDonuts = true;
let showNodesWithOneLink = true;
let layoutName = "structural";
let brightSegment = {
  id: null,
  donutId: null,
  originalColour: null,
};

const interactionFormElement = document.getElementById("rhsForm");

/* HELPER FUNCTIONS FOR TOOLTIP BEGIN */
const tooltipElement = document.getElementById("tooltip");

// Determines which (45 degree rotated) quadrant a position lies within
function findQuadrant(item, x, y) {
  // Calculate vector from item centre to position
  const itemCentre = chart.viewCoordinates(item.x, item.y);
  const toPositionCoords = {
    x: x - itemCentre.x,
    y: y - itemCentre.y,
  };

  // Determine quadrant using gradient. The dividing lines between quadrants have gradient +/-1
  const gradient = Math.abs(toPositionCoords.y / toPositionCoords.x);
  if (gradient <= 1 && toPositionCoords.x >= 0) return "right";
  if (gradient <= 1 && toPositionCoords.x < 0) return "left";
  if (gradient > 1 && toPositionCoords.y >= 0) return "bottom";
  return "top";
}

// Calculates the radial distance between the node centre and the donut segment centre
function distanceToTooltip(node) {
  return (BASE_NODE_RADIUS + node.donut.bw + node.donut.w / 2) * (node.e || 1);
}

// Returns the hover position shifted radially to the segment centre
function shiftToSegmentCentre(hoverX, hoverY, node) {
  // Calculate vector from node centre to hover event position
  const nodeCentre = chart.viewCoordinates(node.x, node.y);
  const toHoverCoords = {
    x: hoverX - nodeCentre.x,
    y: hoverY - nodeCentre.y,
  };

  const initialLength = Math.sqrt(toHoverCoords.x ** 2 + toHoverCoords.y ** 2);
  const scaleFactor = distanceToTooltip(node) / initialLength;

  // The correction vector from the hover event position to the segment centre
  const toCorrectedCoords = {
    x: toHoverCoords.x * scaleFactor,
    y: toHoverCoords.y * scaleFactor,
  };

  return chart.viewCoordinates(node.x + toCorrectedCoords.x, node.y + toCorrectedCoords.y);
}

// Offsets the position such that the tooltip arrow aligns correctly
function compensatePosition(tooltip, quadrant, position) {
  const newPosition = {};
  switch (quadrant) {
    case "right":
      newPosition.x = position.x + TOOLTIP_ARROW_SIZE;
      newPosition.y = position.y - tooltip.clientHeight / 2;
      break;
    case "left":
      newPosition.x = position.x - (tooltip.clientWidth + TOOLTIP_ARROW_SIZE);
      newPosition.y = position.y - tooltip.clientHeight / 2;
      break;
    case "bottom":
      newPosition.x = position.x - tooltip.clientWidth / 2;
      newPosition.y = position.y + TOOLTIP_ARROW_SIZE;
      break;
    case "top":
      newPosition.x = position.x - tooltip.clientWidth / 2;
      newPosition.y = position.y - (tooltip.clientHeight + TOOLTIP_ARROW_SIZE);
      break;
    default:
      break;
  }
  return newPosition;
}

// Populates the tooltip with hover information
function populateTooltip(label, percentage, direction) {
  // Reset the tooltip class list and append the current direction
  tooltipElement.className = "popover";
  tooltipElement.classList.add(`${direction}`);

  // Fill in label and percentage text
  document.getElementById("tooltip-label").innerText = `${label}:`;
  document.getElementById("tooltip-percentage").innerText = `${percentage}%`;
}

// Fills the tooltip with relevant details and subsequently positions it
function populateAndPositionTooltip(x, y, item, donutId) {
  const total = item.donut.v.reduce((a, b) => a + b, 0);
  const percentage = Math.round((item.donut.v[donutId] / total) * 100);
  const quadrant = findQuadrant(item, x, y);

  // Add label, percentage and quadrant information to tooltip HTML
  populateTooltip(colourToRoles[item.donut.c[donutId]], percentage, quadrant);

  // Get position of hover when snapped to segment centre
  const segmentCentrePosition = shiftToSegmentCentre(x, y, item);

  // Tweak position to ensure tooltip arrow points to segmentCentrePosition
  const position = compensatePosition(tooltipElement, quadrant, segmentCentrePosition);

  // Update tooltip position with calculated values
  tooltipElement.style.left = `${position.x}px`;
  tooltipElement.style.top = `${position.y}px`;
}

// Hides the tooltip by setting the visibility to hidden
function closeTooltip() {
  if (tooltipElement) tooltipElement.style.visibility = "hidden";
}

// Shows the tooltip by setting the visibility to visible
function openTooltip() {
  if (tooltipElement) tooltipElement.style.visibility = "visible";
}
/* HELPER FUNCTIONS FOR TOOLTIP END */

// Performs a layout
async function doLayout() {
  await chart.layout(layoutName);
}

// Reveals or hides donuts on all nodes
async function showHideDonuts() {
  const updatedProperties = [];
  chart.each({ type: "node" }, (node) => {
    updatedProperties.push({
      id: node.id,
      donut: {
        w: showDonuts ? node.d.w : 0,
        bw: showDonuts ? 2 : 0,
      },
    });
  });

  await chart.animateProperties(updatedProperties, { time: 250 });
}

// Filters the nodes based on selected options
async function filterNodes() {
  if (showNodesWithOneLink) {
    // Reveal all nodes
    await chart.filter(() => true);
  } else {
    // Filter out nodes with a degree less than or equal to 1
    const degrees = chart.graph().degrees();
    await chart.filter((node) => degrees[node.id] > 1, { type: "node" });
  }
  await doLayout();
}

// Replaces the colour of the desired donut segment with a highlight counterpart
function makeSegmentBrighter(item, donutId) {
  const donut = item.donut;
  const originalColour = donut.c[donutId];
  brightSegment = { id: item.id, donutId, originalColour };
  donut.c[donutId] = highlightColours[originalColour];
  chart.setProperties({ id: item.id, donut });
}

// Reverts the previously brightened donut segment (if any)
function clearBrightening() {
  const item = chart.getItem(brightSegment.id);
  if (item) {
    const donut = item.donut;
    donut.c[brightSegment.donutId] = brightSegment.originalColour;
    chart.setProperties({ id: brightSegment.id, donut });
  }
}

// If the provided sub item is a donut segment, it is brightened and a tooltip is shown
function highlightSegmentAndShowTooltip({ id, x, y, subItem }) {
  clearBrightening();
  const item = chart.getItem(id);
  if (item && subItem.type === "donut") {
    makeSegmentBrighter(item, subItem.index);
    populateAndPositionTooltip(x, y, item, subItem.index);
    openTooltip();
  } else {
    closeTooltip();
  }
}

// Enables or disables interaction with the chart controls
function disableInteraction(disable) {
  interactionFormElement.style.pointerEvents = disable ? "none" : "auto";
}

// Toggles any number of classes on a given element
function toggleClasses(element, ...classes) {
  classes.forEach((c) => element.classList.toggle(c));
}

// Inverts the active class name for all buttons in a parent container
function swapButtons(parentId) {
  const btns = document.getElementById(parentId).getElementsByClassName("btn");
  Array.from(btns).forEach((btn) => toggleClasses(btn, "active", "btn-kl"));
}

// Handler for donut visibility button group
async function onDonutInputChange(shouldShow) {
  if (shouldShow !== showDonuts) {
    disableInteraction(true);
    showDonuts = !showDonuts;
    swapButtons("donut-btns");
    await showHideDonuts();
    disableInteraction(false);
  }
}

// Handler for single link visibility button group
async function onOneLinkInputChange(shouldShow) {
  if (shouldShow !== showNodesWithOneLink) {
    disableInteraction(true);
    showNodesWithOneLink = !showNodesWithOneLink;
    swapButtons("onelink-btns");
    await filterNodes();
    disableInteraction(false);
  }
}

// Handler for layout selection button group
async function onLayoutInputChange(newLayout) {
  if (newLayout !== layoutName) {
    disableInteraction(true);
    layoutName = newLayout;
    swapButtons("layout-btns");
    await doLayout();
    disableInteraction(false);
  }
}

function foregroundSelectedItems() {
  const selection = chart.selection();
  // If applicable, foreground the items neighbouring the selection
  if (selection.length > 0) {
    const nodesToForeground = chart.graph().neighbours(selection).nodes.concat(selection);
    chart.foreground((node) => nodesToForeground.includes(node.id));
  } else {
    chart.foreground(() => true);
  }
}

function attachEventHandlers() {
  // Attach event listeners for button pairs
  document
    .getElementById("btn-show-donuts")
    .addEventListener("click", () => onDonutInputChange(true));
  document
    .getElementById("btn-hide-donuts")
    .addEventListener("click", () => onDonutInputChange(false));
  document
    .getElementById("btn-show-onelink")
    .addEventListener("click", () => onOneLinkInputChange(true));
  document
    .getElementById("btn-hide-onelink")
    .addEventListener("click", () => onOneLinkInputChange(false));
  document
    .getElementById("btn-organic-layout")
    .addEventListener("click", () => onLayoutInputChange("organic"));
  document
    .getElementById("btn-structural-layout")
    .addEventListener("click", () => onLayoutInputChange("structural"));

  // Attach handler to selection change event
  chart.on("selection-change", foregroundSelectedItems);
  // Attach handler to pointer-move, so when  pointer is over a donut segment,
  // we highlight and show a tooltip
  chart.on("pointer-move", highlightSegmentAndShowTooltip);
  // Close the tooltip to prevent it from pointing to the wrong position
  chart.on("view-change", closeTooltip);
}

async function loadKeyLines() {
  const options = {
    logo: { u: "/images/Logo.png" },
    iconFontFamily: "Font Awesome 5 Free",
    handMode: true,
    hover: 5, // Trigger the hover event with a 5ms delay
  };
  chart = await KeyLines.create({ container: "klchart", options });
  chart.load(data);
  doLayout();
  attachEventHandlers();
}

function loadFontsAndStart() {
  document.fonts.load('24px "Font Awesome 5 Free"').then(loadKeyLines);
}

window.addEventListener("DOMContentLoaded", loadFontsAndStart);
export const data = {
  type: "LinkChart",
  items: [
    {
      type: "link",
      id: "sales:xinhuanet.com",
      id1: "sales",
      id2: "xinhuanet.com",
    },
    {
      type: "link",
      id: "sales:usnews.com",
      id1: "sales",
      id2: "usnews.com",
    },
    {
      type: "link",
      id: "sales:tech",
      id1: "sales",
      id2: "tech",
    },
    {
      type: "link",
      id: "sales:slashdot.org",
      id1: "sales",
      id2: "slashdot.org",
    },
    {
      type: "link",
      id: "sales:youku.com",
      id1: "sales",
      id2: "youku.com",
    },
    {
      type: "link",
      id: "sales:shutterfly.com",
      id1: "sales",
      id2: "shutterfly.com",
    },
    {
      type: "link",
      id: "sales:support",
      id1: "sales",
      id2: "support",
    },
    {
      type: "link",
      id: "sales:seesaa.net",
      id1: "sales",
      id2: "seesaa.net",
    },
    {
      type: "link",
      id: "sales:slate.com",
      id1: "sales",
      id2: "slate.com",
    },
    {
      type: "link",
      id: "sales:umn.edu",
      id1: "sales",
      id2: "umn.edu",
    },
    {
      type: "link",
      id: "sales:valeroenergy.com",
      id1: "sales",
      id2: "valeroenergy.com",
    },
    {
      type: "link",
      id: "sales:squarespace.com",
      id1: "sales",
      id2: "squarespace.com",
    },
    {
      type: "link",
      id: "sales:whitehouse.gov",
      id1: "sales",
      id2: "whitehouse.gov",
    },
    {
      type: "link",
      id: "sales:xe.com",
      id1: "sales",
      id2: "xe.com",
    },
    {
      type: "link",
      id: "sales:verizoncommunications.com",
      id1: "sales",
      id2: "verizoncommunications.com",
    },
    {
      type: "link",
      id: "sales:symantec.com",
      id1: "sales",
      id2: "symantec.com",
    },
    {
      type: "link",
      id: "sales:time.com",
      id1: "sales",
      id2: "time.com",
    },
    {
      type: "link",
      id: "sales:walmartstores.com",
      id1: "sales",
      id2: "walmartstores.com",
    },
    {
      type: "link",
      id: "sales:salon.com",
      id1: "sales",
      id2: "salon.com",
    },
    {
      type: "link",
      id: "sales:timesonline.co.uk",
      id1: "sales",
      id2: "timesonline.co.uk",
    },
    {
      type: "link",
      id: "sales:wikia.com",
      id1: "sales",
      id2: "wikia.com",
    },
    {
      type: "link",
      id: "sales:ucsd.edu",
      id1: "sales",
      id2: "ucsd.edu",
    },
    {
      type: "link",
      id: "sales:sina.com.cn",
      id1: "sales",
      id2: "sina.com.cn",
    },
    {
      type: "link",
      id: "sales:teennick.com",
      id1: "sales",
      id2: "teennick.com",
    },
    {
      type: "link",
      id: "sales:zanox.com",
      id1: "sales",
      id2: "zanox.com",
    },
    {
      type: "link",
      id: "sales:thedailybeast.com",
      id1: "sales",
      id2: "thedailybeast.com",
    },
    {
      type: "link",
      id: "sales:unitedparcelservice.com",
      id1: "sales",
      id2: "unitedparcelservice.com",
    },
    {
      type: "link",
      id: "sales:toplist.cz",
      id1: "sales",
      id2: "toplist.cz",
    },
    {
      type: "link",
      id: "sales:sphinn.com",
      id1: "sales",
      id2: "sphinn.com",
    },
    {
      type: "link",
      id: "sales:senderbase.org",
      id1: "sales",
      id2: "senderbase.org",
    },
    {
      type: "link",
      id: "sales:webs.com",
      id1: "sales",
      id2: "webs.com",
    },
    {
      type: "link",
      id: "sales:ucla.edu",
      id1: "sales",
      id2: "ucla.edu",
    },
    {
      type: "link",
      id: "sales:soundcloud.com",
      id1: "sales",
      id2: "soundcloud.com",
    },
    {
      type: "link",
      id: "sales:singtel.com",
      id1: "sales",
      id2: "singtel.com",
    },
    {
      type: "link",
      id: "sales:yahoo.com.au",
      id1: "sales",
      id2: "yahoo.com.au",
    },
    {
      type: "link",
      id: "sales:umich.edu",
      id1: "sales",
      id2: "umich.edu",
    },
    {
      type: "link",
      id: "sales:stumbleupon.com",
      id1: "sales",
      id2: "stumbleupon.com",
    },
    {
      type: "link",
      id: "tech:ufl.edu",
      id1: "tech",
      id2: "ufl.edu",
    },
    {
      type: "link",
      id: "tech:zanox.com",
      id1: "tech",
      id2: "zanox.com",
    },
    {
      type: "link",
      id: "tech:virginaustralia.com",
      id1: "tech",
      id2: "virginaustralia.com",
    },
    {
      type: "link",
      id: "tech:techcrunch.com",
      id1: "tech",
      id2: "techcrunch.com",
    },
    {
      type: "link",
      id: "tech:yellowbook.com",
      id1: "tech",
      id2: "yellowbook.com",
    },
    {
      type: "link",
      id: "tech:toplist.cz",
      id1: "tech",
      id2: "toplist.cz",
    },
    {
      type: "link",
      id: "tech:youku.com",
      id1: "tech",
      id2: "youku.com",
    },
    {
      type: "link",
      id: "tech:unesco.org",
      id1: "tech",
      id2: "unesco.org",
    },
    {
      type: "link",
      id: "tech:vimeo.com",
      id1: "tech",
      id2: "vimeo.com",
    },
    {
      type: "link",
      id: "tech:thedailybeast.com",
      id1: "tech",
      id2: "thedailybeast.com",
    },
    {
      type: "link",
      id: "tech:time.com",
      id1: "tech",
      id2: "time.com",
    },
    {
      type: "link",
      id: "tech:unc.edu",
      id1: "tech",
      id2: "unc.edu",
    },
    {
      type: "link",
      id: "tech:umd.edu",
      id1: "tech",
      id2: "umd.edu",
    },
    {
      type: "link",
      id: "ops:zendesk.com",
      id1: "ops",
      id2: "zendesk.com",
    },
    {
      type: "link",
      id: "ops:sales",
      id1: "ops",
      id2: "sales",
    },
    {
      type: "link",
      id: "ops:tech",
      id1: "ops",
      id2: "tech",
    },
    {
      type: "link",
      id: "ops:other",
      id1: "ops",
      id2: "other",
    },
    {
      type: "link",
      id: "ops:support",
      id1: "ops",
      id2: "support",
    },
    {
      type: "link",
      id: "ops:youku.com",
      id1: "ops",
      id2: "youku.com",
    },
    {
      type: "link",
      id: "ops:zanox.com",
      id1: "ops",
      id2: "zanox.com",
    },
    {
      type: "link",
      id: "ops:time.com",
      id1: "ops",
      id2: "time.com",
    },
    {
      type: "link",
      id: "ops:senate.gov",
      id1: "ops",
      id2: "senate.gov",
    },
    {
      type: "link",
      id: "ops:senderbase.org",
      id1: "ops",
      id2: "senderbase.org",
    },
    {
      type: "link",
      id: "ops:squarespace.com",
      id1: "ops",
      id2: "squarespace.com",
    },
    {
      type: "link",
      id: "ops:qantas.com.au",
      id1: "ops",
      id2: "qantas.com.au",
    },
    {
      type: "link",
      id: "admin:tudou.com",
      id1: "admin",
      id2: "tudou.com",
    },
    {
      type: "link",
      id: "admin:nortelgroup.com",
      id1: "admin",
      id2: "nortelgroup.com",
    },
    {
      type: "link",
      id: "admin:sales",
      id1: "admin",
      id2: "sales",
    },
    {
      type: "link",
      id: "admin:nealsyarddairy.co.uk",
      id1: "admin",
      id2: "nealsyarddairy.co.uk",
    },
    {
      type: "link",
      id: "admin:tech",
      id1: "admin",
      id2: "tech",
    },
    {
      type: "link",
      id: "admin:xinhuanet.com",
      id1: "admin",
      id2: "xinhuanet.com",
    },
    {
      type: "link",
      id: "admin:sendmail.com",
      id1: "admin",
      id2: "sendmail.com",
    },
    {
      type: "link",
      id: "admin:ops",
      id1: "admin",
      id2: "ops",
    },
    {
      type: "link",
      id: "admin:reference.com",
      id1: "admin",
      id2: "reference.com",
    },
    {
      type: "link",
      id: "admin:slate.com",
      id1: "admin",
      id2: "slate.com",
    },
    {
      type: "link",
      id: "admin:globalsources.com",
      id1: "admin",
      id2: "globalsources.com",
    },
    {
      type: "link",
      id: "admin:blinklist.com",
      id1: "admin",
      id2: "blinklist.com",
    },
    {
      type: "link",
      id: "admin:dupont.com",
      id1: "admin",
      id2: "dupont.com",
    },
    {
      type: "link",
      id: "admin:gnu.org",
      id1: "admin",
      id2: "gnu.org",
    },
    {
      type: "link",
      id: "admin:seesaa.net",
      id1: "admin",
      id2: "seesaa.net",
    },
    {
      type: "link",
      id: "admin:support",
      id1: "admin",
      id2: "support",
    },
    {
      type: "link",
      id: "admin:furl.net",
      id1: "admin",
      id2: "furl.net",
    },
    {
      type: "link",
      id: "admin:youku.com",
      id1: "admin",
      id2: "youku.com",
    },
    {
      type: "link",
      id: "admin:marketing",
      id1: "admin",
      id2: "marketing",
    },
    {
      type: "link",
      id: "admin:ucsd.edu",
      id1: "admin",
      id2: "ucsd.edu",
    },
    {
      type: "link",
      id: "admin:indiatimes.com",
      id1: "admin",
      id2: "indiatimes.com",
    },
    {
      type: "link",
      id: "admin:senderbase.org",
      id1: "admin",
      id2: "senderbase.org",
    },
    {
      type: "link",
      id: "admin:archerdanielsmidland.com",
      id1: "admin",
      id2: "archerdanielsmidland.com",
    },
    {
      type: "link",
      id: "admin:t-online.de",
      id1: "admin",
      id2: "t-online.de",
    },
    {
      type: "link",
      id: "admin:comcast.com",
      id1: "admin",
      id2: "comcast.com",
    },
    {
      type: "link",
      id: "admin:businessweek.com",
      id1: "admin",
      id2: "businessweek.com",
    },
    {
      type: "link",
      id: "admin:other",
      id1: "admin",
      id2: "other",
    },
    {
      type: "link",
      id: "admin:metacafe.com",
      id1: "admin",
      id2: "metacafe.com",
    },
    {
      type: "link",
      id: "admin:nydailynews.com",
      id1: "admin",
      id2: "nydailynews.com",
    },
    {
      type: "link",
      id: "admin:xe.com",
      id1: "admin",
      id2: "xe.com",
    },
    {
      type: "link",
      id: "admin:goos.com",
      id1: "admin",
      id2: "goos.com",
    },
    {
      type: "link",
      id: "admin:google.com",
      id1: "admin",
      id2: "google.com",
    },
    {
      type: "link",
      id: "admin:intermedia.com.au",
      id1: "admin",
      id2: "intermedia.com.au",
    },
    {
      type: "link",
      id: "admin:toplist.cz",
      id1: "admin",
      id2: "toplist.cz",
    },
    {
      type: "link",
      id: "admin:oracle.com",
      id1: "admin",
      id2: "oracle.com",
    },
    {
      type: "link",
      id: "admin:dataflex.com.au",
      id1: "admin",
      id2: "dataflex.com.au",
    },
    {
      type: "link",
      id: "admin:honeywellinternational.com",
      id1: "admin",
      id2: "honeywellinternational.com",
    },
    {
      type: "link",
      id: "admin:networkadvertising.org",
      id1: "admin",
      id2: "networkadvertising.org",
    },
    {
      type: "link",
      id: "admin:shareasale.com",
      id1: "admin",
      id2: "shareasale.com",
    },
    {
      type: "link",
      id: "admin:google.cn",
      id1: "admin",
      id2: "google.cn",
    },
    {
      type: "link",
      id: "admin:timesonline.co.uk",
      id1: "admin",
      id2: "timesonline.co.uk",
    },
    {
      type: "link",
      id: "admin:dropbox.com",
      id1: "admin",
      id2: "dropbox.com",
    },
    {
      type: "link",
      id: "admin:bettybegin.com",
      id1: "admin",
      id2: "bettybegin.com",
    },
    {
      type: "link",
      id: "admin:printfriendly.com",
      id1: "admin",
      id2: "printfriendly.com",
    },
    {
      type: "link",
      id: "admin:formspring.me",
      id1: "admin",
      id2: "formspring.me",
    },
    {
      type: "link",
      id: "admin:valeroenergy.com",
      id1: "admin",
      id2: "valeroenergy.com",
    },
    {
      type: "link",
      id: "admin:multimap.com",
      id1: "admin",
      id2: "multimap.com",
    },
    {
      type: "link",
      id: "admin:twitpic.com",
      id1: "admin",
      id2: "twitpic.com",
    },
    {
      type: "link",
      id: "admin:hhs.gov",
      id1: "admin",
      id2: "hhs.gov",
    },
    {
      type: "link",
      id: "admin:cornell.edu",
      id1: "admin",
      id2: "cornell.edu",
    },
    {
      type: "link",
      id: "bing.com:ops",
      id1: "bing.com",
      id2: "ops",
    },
    {
      type: "link",
      id: "bing.com:tech",
      id1: "bing.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "bing.com:sales",
      id1: "bing.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "cardinalhealth.com:tech",
      id1: "cardinalhealth.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "cardinalhealth.com:sales",
      id1: "cardinalhealth.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "nba.com:tech",
      id1: "nba.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "nba.com:sales",
      id1: "nba.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "nortelgroup.com:ops",
      id1: "nortelgroup.com",
      id2: "ops",
    },
    {
      type: "link",
      id: "nortelgroup.com:tech",
      id1: "nortelgroup.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "nortelgroup.com:sales",
      id1: "nortelgroup.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "nortelgroup.com:support",
      id1: "nortelgroup.com",
      id2: "support",
    },
    {
      type: "link",
      id: "support:tech",
      id1: "support",
      id2: "tech",
    },
    {
      type: "link",
      id: "support:thedailybeast.com",
      id1: "support",
      id2: "thedailybeast.com",
    },
    {
      type: "link",
      id: "support:time.com",
      id1: "support",
      id2: "time.com",
    },
    {
      type: "link",
      id: "support:xe.com",
      id1: "support",
      id2: "xe.com",
    },
    {
      type: "link",
      id: "marketing:nortelgroup.com",
      id1: "marketing",
      id2: "nortelgroup.com",
    },
    {
      type: "link",
      id: "marketing:tudou.com",
      id1: "marketing",
      id2: "tudou.com",
    },
    {
      type: "link",
      id: "marketing:people.com.cn",
      id1: "marketing",
      id2: "people.com.cn",
    },
    {
      type: "link",
      id: "marketing:sales",
      id1: "marketing",
      id2: "sales",
    },
    {
      type: "link",
      id: "marketing:tech",
      id1: "marketing",
      id2: "tech",
    },
    {
      type: "link",
      id: "marketing:rakuten.co.jp",
      id1: "marketing",
      id2: "rakuten.co.jp",
    },
    {
      type: "link",
      id: "marketing:ops",
      id1: "marketing",
      id2: "ops",
    },
    {
      type: "link",
      id: "marketing:state.gov",
      id1: "marketing",
      id2: "state.gov",
    },
    {
      type: "link",
      id: "marketing:senate.gov",
      id1: "marketing",
      id2: "senate.gov",
    },
    {
      type: "link",
      id: "marketing:other",
      id1: "marketing",
      id2: "other",
    },
    {
      type: "link",
      id: "marketing:salon.com",
      id1: "marketing",
      id2: "salon.com",
    },
    {
      type: "link",
      id: "marketing:servcorp.com",
      id1: "marketing",
      id2: "servcorp.com",
    },
    {
      type: "link",
      id: "marketing:t-online.de",
      id1: "marketing",
      id2: "t-online.de",
    },
    {
      type: "link",
      id: "marketing:printfriendly.com",
      id1: "marketing",
      id2: "printfriendly.com",
    },
    {
      type: "link",
      id: "marketing:redherring.com",
      id1: "marketing",
      id2: "redherring.com",
    },
    {
      type: "link",
      id: "marketing:support",
      id1: "marketing",
      id2: "support",
    },
    {
      type: "link",
      id: "marketing:prweb.com",
      id1: "marketing",
      id2: "prweb.com",
    },
    {
      type: "link",
      id: "marketing:youku.com",
      id1: "marketing",
      id2: "youku.com",
    },
    {
      type: "link",
      id: "marketing:roytanck.com",
      id1: "marketing",
      id2: "roytanck.com",
    },
    {
      type: "link",
      id: "marketing:salesforce.com",
      id1: "marketing",
      id2: "salesforce.com",
    },
    {
      type: "link",
      id: "marketing:mixx.com",
      id1: "marketing",
      id2: "mixx.com",
    },
    {
      type: "link",
      id: "marketing:sciencedaily.com",
      id1: "marketing",
      id2: "sciencedaily.com",
    },
    {
      type: "link",
      id: "marketing:yolasite.com",
      id1: "marketing",
      id2: "yolasite.com",
    },
    {
      type: "link",
      id: "marketing:wordpress.com",
      id1: "marketing",
      id2: "wordpress.com",
    },
    {
      type: "link",
      id: "marketing:verizoncommunications.com",
      id1: "marketing",
      id2: "verizoncommunications.com",
    },
    {
      type: "link",
      id: "marketing:metacafe.com",
      id1: "marketing",
      id2: "metacafe.com",
    },
    {
      type: "link",
      id: "marketing:unc.edu",
      id1: "marketing",
      id2: "unc.edu",
    },
    {
      type: "link",
      id: "marketing:westpac.com.au",
      id1: "marketing",
      id2: "westpac.com.au",
    },
    {
      type: "link",
      id: "marketing:microsoft.com",
      id1: "marketing",
      id2: "microsoft.com",
    },
    {
      type: "link",
      id: "marketing:nokia.com",
      id1: "marketing",
      id2: "nokia.com",
    },
    {
      type: "link",
      id: "marketing:senderbase.org",
      id1: "marketing",
      id2: "senderbase.org",
    },
    {
      type: "link",
      id: "cjb.net:tech",
      id1: "cjb.net",
      id2: "tech",
    },
    {
      type: "link",
      id: "cjb.net:sales",
      id1: "cjb.net",
      id2: "sales",
    },
    {
      type: "link",
      id: "csmonitor.com:sales",
      id1: "csmonitor.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "csmonitor.com:marketing",
      id1: "csmonitor.com",
      id2: "marketing",
    },
    {
      type: "link",
      id: "geocities.com:marketing",
      id1: "geocities.com",
      id2: "marketing",
    },
    {
      type: "link",
      id: "globalsources.com:tech",
      id1: "globalsources.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "globalsources.com:sales",
      id1: "globalsources.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "globalsources.com:support",
      id1: "globalsources.com",
      id2: "support",
    },
    {
      type: "link",
      id: "globalsources.com:marketing",
      id1: "globalsources.com",
      id2: "marketing",
    },
    {
      type: "link",
      id: "google.com.au:marketing",
      id1: "google.com.au",
      id2: "marketing",
    },
    {
      type: "link",
      id: "google.com.au:sales",
      id1: "google.com.au",
      id2: "sales",
    },
    {
      type: "link",
      id: "dailymail.co.uk:marketing",
      id1: "dailymail.co.uk",
      id2: "marketing",
    },
    {
      type: "link",
      id: "dailymail.co.uk:tech",
      id1: "dailymail.co.uk",
      id2: "tech",
    },
    {
      type: "link",
      id: "dyndns.org:sales",
      id1: "dyndns.org",
      id2: "sales",
    },
    {
      type: "link",
      id: "ign.com:tech",
      id1: "ign.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "ign.com:sales",
      id1: "ign.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "people.com.cn:sales",
      id1: "people.com.cn",
      id2: "sales",
    },
    {
      type: "link",
      id: "people.com.cn:tech",
      id1: "people.com.cn",
      id2: "tech",
    },
    {
      type: "link",
      id: "blogs.com:sales",
      id1: "blogs.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "other:sales",
      id1: "other",
      id2: "sales",
    },
    {
      type: "link",
      id: "other:tech",
      id1: "other",
      id2: "tech",
    },
    {
      type: "link",
      id: "other:support",
      id1: "other",
      id2: "support",
    },
    {
      type: "link",
      id: "other:senderbase.org",
      id1: "other",
      id2: "senderbase.org",
    },
    {
      type: "link",
      id: "bluehost.com:sales",
      id1: "bluehost.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "shutterfly.com:tech",
      id1: "shutterfly.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "qantas.com.au:sales",
      id1: "qantas.com.au",
      id2: "sales",
    },
    {
      type: "link",
      id: "indiatimes.com:sales",
      id1: "indiatimes.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "indiatimes.com:ops",
      id1: "indiatimes.com",
      id2: "ops",
    },
    {
      type: "link",
      id: "indiatimes.com:other",
      id1: "indiatimes.com",
      id2: "other",
    },
    {
      type: "link",
      id: "indiatimes.com:marketing",
      id1: "indiatimes.com",
      id2: "marketing",
    },
    {
      type: "link",
      id: "indiatimes.com:tech",
      id1: "indiatimes.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "indiatimes.com:support",
      id1: "indiatimes.com",
      id2: "support",
    },
    {
      type: "link",
      id: "kroger.com:sales",
      id1: "kroger.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "chron.com:tech",
      id1: "chron.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "chron.com:sales",
      id1: "chron.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "godaddy.com:tech",
      id1: "godaddy.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "cocacola.com:sales",
      id1: "cocacola.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "humana.com:ops",
      id1: "humana.com",
      id2: "ops",
    },
    {
      type: "link",
      id: "dell.com:sales",
      id1: "dell.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "dell.com:tech",
      id1: "dell.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "fordmotor.com:sales",
      id1: "fordmotor.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "fordmotor.com:tech",
      id1: "fordmotor.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "cam.ac.uk:sales",
      id1: "cam.ac.uk",
      id2: "sales",
    },
    {
      type: "link",
      id: "freewebs.com:sales",
      id1: "freewebs.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "reverbnation.com:sales",
      id1: "reverbnation.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "alipay.com:sales",
      id1: "alipay.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "jalbum.net:marketing",
      id1: "jalbum.net",
      id2: "marketing",
    },
    {
      type: "link",
      id: "netbanker.com:sales",
      id1: "netbanker.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "rakuten.co.jp:sales",
      id1: "rakuten.co.jp",
      id2: "sales",
    },
    {
      type: "link",
      id: "berkeley.edu:tech",
      id1: "berkeley.edu",
      id2: "tech",
    },
    {
      type: "link",
      id: "formspring.me:sales",
      id1: "formspring.me",
      id2: "sales",
    },
    {
      type: "link",
      id: "formspring.me:ops",
      id1: "formspring.me",
      id2: "ops",
    },
    {
      type: "link",
      id: "seesaa.net:tech",
      id1: "seesaa.net",
      id2: "tech",
    },
    {
      type: "link",
      id: "amazon.com:tech",
      id1: "amazon.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "sendmail.com:tech",
      id1: "sendmail.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "metacafe.com:ops",
      id1: "metacafe.com",
      id2: "ops",
    },
    {
      type: "link",
      id: "metacafe.com:sales",
      id1: "metacafe.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "goos.com:ops",
      id1: "goos.com",
      id2: "ops",
    },
    {
      type: "link",
      id: "goos.com:tech",
      id1: "goos.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "reference.com:sales",
      id1: "reference.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "slate.com:tech",
      id1: "slate.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "about.com:sales",
      id1: "about.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "me.com:sales",
      id1: "me.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "squarespace.com:tech",
      id1: "squarespace.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "creativecommons.org:sales",
      id1: "creativecommons.org",
      id2: "sales",
    },
    {
      type: "link",
      id: "huffingtonpost.com:sales",
      id1: "huffingtonpost.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "liveinternet.ru:marketing",
      id1: "liveinternet.ru",
      id2: "marketing",
    },
    {
      type: "link",
      id: "liveinternet.ru:tech",
      id1: "liveinternet.ru",
      id2: "tech",
    },
    {
      type: "link",
      id: "liveinternet.ru:sales",
      id1: "liveinternet.ru",
      id2: "sales",
    },
    {
      type: "link",
      id: "mssupport.microsoft.com:tech",
      id1: "mssupport.microsoft.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "blinklist.com:sales",
      id1: "blinklist.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "blinklist.com:tech",
      id1: "blinklist.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "dupont.com:sales",
      id1: "dupont.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "gnu.org:tech",
      id1: "gnu.org",
      id2: "tech",
    },
    {
      type: "link",
      id: "gnu.org:sales",
      id1: "gnu.org",
      id2: "sales",
    },
    {
      type: "link",
      id: "gnu.org:marketing",
      id1: "gnu.org",
      id2: "marketing",
    },
    {
      type: "link",
      id: "blog.com:marketing",
      id1: "blog.com",
      id2: "marketing",
    },
    {
      type: "link",
      id: "hud.gov:sales",
      id1: "hud.gov",
      id2: "sales",
    },
    {
      type: "link",
      id: "microsoft.com:sales",
      id1: "microsoft.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "furl.net:sales",
      id1: "furl.net",
      id2: "sales",
    },
    {
      type: "link",
      id: "senderbase.org:tech",
      id1: "senderbase.org",
      id2: "tech",
    },
    {
      type: "link",
      id: "elegantthemes.com:sales",
      id1: "elegantthemes.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "phpbb.com:sales",
      id1: "phpbb.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "mckesson.com:sales",
      id1: "mckesson.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "roytanck.com:sales",
      id1: "roytanck.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "netvibes.com:sales",
      id1: "netvibes.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "netvibes.com:support",
      id1: "netvibes.com",
      id2: "support",
    },
    {
      type: "link",
      id: "printfriendly.com:sales",
      id1: "printfriendly.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "printfriendly.com:tech",
      id1: "printfriendly.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "disqus.com:sales",
      id1: "disqus.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "disqus.com:marketing",
      id1: "disqus.com",
      id2: "marketing",
    },
    {
      type: "link",
      id: "deliciousdays.com:sales",
      id1: "deliciousdays.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "haymarketmedia.com:sales",
      id1: "haymarketmedia.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "rr.com:sales",
      id1: "rr.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "rr.com:tech",
      id1: "rr.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "friendfeed.com:sales",
      id1: "friendfeed.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "redcross.org:sales",
      id1: "redcross.org",
      id2: "sales",
    },
    {
      type: "link",
      id: "cdbaby.com:sales",
      id1: "cdbaby.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "github.com:sales",
      id1: "github.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "google.co.jp:sales",
      id1: "google.co.jp",
      id2: "sales",
    },
    {
      type: "link",
      id: "comcast.com:sales",
      id1: "comcast.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "dropbox.com:marketing",
      id1: "dropbox.com",
      id2: "marketing",
    },
    {
      type: "link",
      id: "chryslergroup.com:sales",
      id1: "chryslergroup.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "quantcast.com:sales",
      id1: "quantcast.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "exxonmobil.com:marketing",
      id1: "exxonmobil.com",
      id2: "marketing",
    },
    {
      type: "link",
      id: "exxonmobil.com:tech",
      id1: "exxonmobil.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "exxonmobil.com:sales",
      id1: "exxonmobil.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "apple.com:marketing",
      id1: "apple.com",
      id2: "marketing",
    },
    {
      type: "link",
      id: "china.com.cn:marketing",
      id1: "china.com.cn",
      id2: "marketing",
    },
    {
      type: "link",
      id: "china.com.cn:tech",
      id1: "china.com.cn",
      id2: "tech",
    },
    {
      type: "link",
      id: "cdc.gov:marketing",
      id1: "cdc.gov",
      id2: "marketing",
    },
    {
      type: "link",
      id: "cbslocal.com:marketing",
      id1: "cbslocal.com",
      id2: "marketing",
    },
    {
      type: "link",
      id: "cbslocal.com:sales",
      id1: "cbslocal.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "cbslocal.com:tech",
      id1: "cbslocal.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "redherring.com:sales",
      id1: "redherring.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "intlfcstone.com:marketing",
      id1: "intlfcstone.com",
      id2: "marketing",
    },
    {
      type: "link",
      id: "independent.co.uk:marketing",
      id1: "independent.co.uk",
      id2: "marketing",
    },
    {
      type: "link",
      id: "economist.com:marketing",
      id1: "economist.com",
      id2: "marketing",
    },
    {
      type: "link",
      id: "abc.net.au:tech",
      id1: "abc.net.au",
      id2: "tech",
    },
    {
      type: "link",
      id: "paginegialle.it:tech",
      id1: "paginegialle.it",
      id2: "tech",
    },
    {
      type: "link",
      id: "paginegialle.it:sales",
      id1: "paginegialle.it",
      id2: "sales",
    },
    {
      type: "link",
      id: "lycos.com:sales",
      id1: "lycos.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "pcworld.com:sales",
      id1: "pcworld.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "drupal.org:sales",
      id1: "drupal.org",
      id2: "sales",
    },
    {
      type: "link",
      id: "google.com:sales",
      id1: "google.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "google.com:marketing",
      id1: "google.com",
      id2: "marketing",
    },
    {
      type: "link",
      id: "co.cc:sales",
      id1: "co.cc",
      id2: "sales",
    },
    {
      type: "link",
      id: "dataflex.com.au:sales",
      id1: "dataflex.com.au",
      id2: "sales",
    },
    {
      type: "link",
      id: "mlb.com:sales",
      id1: "mlb.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "marathonoil.com:sales",
      id1: "marathonoil.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "sphinn.com:tech",
      id1: "sphinn.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "ed.gov:sales",
      id1: "ed.gov",
      id2: "sales",
    },
    {
      type: "link",
      id: "posterous.com:sales",
      id1: "posterous.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "instagr.am:sales",
      id1: "instagr.am",
      id2: "sales",
    },
    {
      type: "link",
      id: "instagr.am:tech",
      id1: "instagr.am",
      id2: "tech",
    },
    {
      type: "link",
      id: "lulu.com:sales",
      id1: "lulu.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "intel.com:sales",
      id1: "intel.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "intoidc.net:sales",
      id1: "intoidc.net",
      id2: "sales",
    },
    {
      type: "link",
      id: "mtv.com:sales",
      id1: "mtv.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "gmx.co.uk:tech",
      id1: "gmx.co.uk",
      id2: "tech",
    },
    {
      type: "link",
      id: "morganstanley.com:tech",
      id1: "morganstanley.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "morganstanley.com:sales",
      id1: "morganstanley.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "hotmail.com:sales",
      id1: "hotmail.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "myspace.com:tech",
      id1: "myspace.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "myspace.com:sales",
      id1: "myspace.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "mac.com:tech",
      id1: "mac.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "searsholdings.com:tech",
      id1: "searsholdings.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "last.fm:tech",
      id1: "last.fm",
      id2: "tech",
    },
    {
      type: "link",
      id: "bettybegin.com:marketing",
      id1: "bettybegin.com",
      id2: "marketing",
    },
    {
      type: "link",
      id: "frost.com:marketing",
      id1: "frost.com",
      id2: "marketing",
    },
    {
      type: "link",
      id: "linkedin.com:marketing",
      id1: "linkedin.com",
      id2: "marketing",
    },
    {
      type: "link",
      id: "linkedin.com:sales",
      id1: "linkedin.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "hubpages.com:marketing",
      id1: "hubpages.com",
      id2: "marketing",
    },
    {
      type: "link",
      id: "army.mil:marketing",
      id1: "army.mil",
      id2: "marketing",
    },
    {
      type: "link",
      id: "sciencedaily.com:tech",
      id1: "sciencedaily.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "google.com.hk:marketing",
      id1: "google.com.hk",
      id2: "marketing",
    },
    {
      type: "link",
      id: "ibm.com:marketing",
      id1: "ibm.com",
      id2: "marketing",
    },
    {
      type: "link",
      id: "110mb.com:marketing",
      id1: "110mb.com",
      id2: "marketing",
    },
    {
      type: "link",
      id: "privacy.gov.au:tech",
      id1: "privacy.gov.au",
      id2: "tech",
    },
    {
      type: "link",
      id: "privacy.gov.au:sales",
      id1: "privacy.gov.au",
      id2: "sales",
    },
    {
      type: "link",
      id: "emc.com:tech",
      id1: "emc.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "emc.com:sales",
      id1: "emc.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "goo.gl:sales",
      id1: "goo.gl",
      id2: "sales",
    },
    {
      type: "link",
      id: "directi.com:tech",
      id1: "directi.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "singtel.com:tech",
      id1: "singtel.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "guardian.co.uk:tech",
      id1: "guardian.co.uk",
      id2: "tech",
    },
    {
      type: "link",
      id: "1and1.com:tech",
      id1: "1and1.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "google.it:sales",
      id1: "google.it",
      id2: "sales",
    },
    {
      type: "link",
      id: "honeywellinternational.com:ops",
      id1: "honeywellinternational.com",
      id2: "ops",
    },
    {
      type: "link",
      id: "joomlatune.com:sales",
      id1: "joomlatune.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "google.cn:marketing",
      id1: "google.cn",
      id2: "marketing",
    },
    {
      type: "link",
      id: "google.cn:sales",
      id1: "google.cn",
      id2: "sales",
    },
    {
      type: "link",
      id: "expressscripts.com:sales",
      id1: "expressscripts.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "cornell.edu:tech",
      id1: "cornell.edu",
      id2: "tech",
    },
    {
      type: "link",
      id: "cbsnews.com:tech",
      id1: "cbsnews.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "megaupload.com:sales",
      id1: "megaupload.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "chronoengine.com:sales",
      id1: "chronoengine.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "exblog.jp:sales",
      id1: "exblog.jp",
      id2: "sales",
    },
    {
      type: "link",
      id: "meetup.com:sales",
      id1: "meetup.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "newyorklifeinsurance.com:sales",
      id1: "newyorklifeinsurance.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "kpmg.com.au:tech",
      id1: "kpmg.com.au",
      id2: "tech",
    },
    {
      type: "link",
      id: "barnesandnoble.com:tech",
      id1: "barnesandnoble.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "hhs.gov:sales",
      id1: "hhs.gov",
      id2: "sales",
    },
    {
      type: "link",
      id: "m.com:sales",
      id1: "m.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "openoffice.org:sales",
      id1: "openoffice.org",
      id2: "sales",
    },
    {
      type: "link",
      id: "jpmchase.com:sales",
      id1: "jpmchase.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "nih.gov:tech",
      id1: "nih.gov",
      id2: "tech",
    },
    {
      type: "link",
      id: "bigpond.com:sales",
      id1: "bigpond.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "boeing.com:marketing",
      id1: "boeing.com",
      id2: "marketing",
    },
    {
      type: "link",
      id: "discovery.com:tech",
      id1: "discovery.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "gov.uk:tech",
      id1: "gov.uk",
      id2: "tech",
    },
    {
      type: "link",
      id: "bigpond.net.au:tech",
      id1: "bigpond.net.au",
      id2: "tech",
    },
    {
      type: "link",
      id: "btopenworld.com:tech",
      id1: "btopenworld.com",
      id2: "tech",
    },
    {
      type: "link",
      id: "nationalgeographic.com:sales",
      id1: "nationalgeographic.com",
      id2: "sales",
    },
    {
      type: "link",
      id: "opensource.org:sales",
      id1: "opensource.org",
      id2: "sales",
    },
    {
      type: "link",
      id: "auda.org.au:sales",
      id1: "auda.org.au",
      id2: "sales",
    },
    {
      type: "node",
      id: "tudou.com",
      t: "tudou.com",
      tc: false,
      donut: {
        v: [48, 16],
        c: ["#D22432", "#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "bing.com",
      t: "bing.com",
      tc: false,
      donut: {
        v: [152, 6, 32],
        c: ["#4daf4a", "#377eb8", "#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "cardinalhealth.com",
      t: "cardinalhealth.com",
      tc: false,
      donut: {
        v: [14, 328],
        c: ["#377eb8", "#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "nba.com",
      t: "nba.com",
      tc: false,
      donut: {
        v: [241, 302],
        c: ["#377eb8", "#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "nortelgroup.com",
      t: "nortelgroup.com",
      tc: false,
      donut: {
        v: [6, 20, 59, 4, 2, 2],
        c: ["#4daf4a", "#377eb8", "#DD6800", "#D22432", "#a65628", "#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "cjb.net",
      t: "cjb.net",
      tc: false,
      donut: {
        v: [598, 122],
        c: ["#377eb8", "#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "csmonitor.com",
      t: "csmonitor.com",
      tc: false,
      donut: {
        v: [126, 52],
        c: ["#DD6800", "#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "geocities.com",
      t: "geocities.com",
      tc: false,
      donut: {
        v: [12],
        c: ["#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "globalsources.com",
      t: "globalsources.com",
      tc: false,
      donut: {
        v: [42, 295, 38, 100, 126],
        c: ["#377eb8", "#DD6800", "#a65628", "#D22432", "#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "google.com.au",
      t: "google.com.au",
      tc: false,
      donut: {
        v: [23, 92],
        c: ["#E77BB0", "#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "xinhuanet.com",
      t: "xinhuanet.com",
      tc: false,
      donut: {
        v: [45, 185],
        c: ["#DD6800", "#D22432"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "dailymail.co.uk",
      t: "dailymail.co.uk",
      tc: false,
      donut: {
        v: [7, 24],
        c: ["#E77BB0", "#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "dyndns.org",
      t: "dyndns.org",
      tc: false,
      donut: {
        v: [40],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "ign.com",
      t: "ign.com",
      tc: false,
      donut: {
        v: [36, 41],
        c: ["#377eb8", "#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "people.com.cn",
      t: "people.com.cn",
      tc: false,
      donut: {
        v: [31, 79, 62],
        c: ["#DD6800", "#E77BB0", "#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "usnews.com",
      t: "usnews.com",
      tc: false,
      donut: {
        v: [19],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "zendesk.com",
      t: "zendesk.com",
      tc: false,
      donut: {
        v: [3],
        c: ["#4daf4a"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "sales",
      t: "sales",
      e: 2,
      tc: false,
      donut: {
        v: [10661, 3767, 5980, 1499, 1226, 583, 2756, 208],
        c: ["#aaaaaa", "#377eb8", "#DD6800", "#4daf4a", "#D22432", "#984ea3", "#E77BB0", "#a65628"],
        w: 8,
      },
      d: {
        w: 8,
      },
      c: "#ffdfc0",
      fi: {
        t: "fas fa-users",
        c: "#DD6800",
      },
    },
    {
      type: "node",
      id: "kroger.com",
      t: "kroger.com",
      tc: false,
      donut: {
        v: [6],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "nealsyarddairy.co.uk",
      t: "nealsyarddairy.co.uk",
      tc: false,
      donut: {
        v: [2],
        c: ["#D22432"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "tech",
      t: "tech",
      e: 2,
      tc: false,
      donut: {
        v: [2231, 3767, 920, 4680, 3807, 899, 1938, 1130],
        c: ["#aaaaaa", "#DD6800", "#984ea3", "#377eb8", "#E77BB0", "#D22432", "#a65628", "#4daf4a"],
        w: 8,
      },
      d: {
        w: 8,
      },
      c: "#cedfed",
      fi: {
        t: "fas fa-users",
        c: "#377eb8",
      },
    },
    {
      type: "node",
      id: "cocacola.com",
      t: "cocacola.com",
      tc: false,
      donut: {
        v: [9],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "humana.com",
      t: "humana.com",
      tc: false,
      donut: {
        v: [37],
        c: ["#4daf4a"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "qantas.com.au",
      t: "qantas.com.au",
      tc: false,
      donut: {
        v: [117, 2],
        c: ["#DD6800", "#4daf4a"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "chron.com",
      t: "chron.com",
      tc: false,
      donut: {
        v: [2, 1],
        c: ["#377eb8", "#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "freewebs.com",
      t: "freewebs.com",
      tc: false,
      donut: {
        v: [35],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "reverbnation.com",
      t: "reverbnation.com",
      tc: false,
      donut: {
        v: [3],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "alipay.com",
      t: "alipay.com",
      tc: false,
      donut: {
        v: [2],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "ufl.edu",
      t: "ufl.edu",
      tc: false,
      donut: {
        v: [1],
        c: ["#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "jalbum.net",
      t: "jalbum.net",
      tc: false,
      donut: {
        v: [2],
        c: ["#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "netbanker.com",
      t: "netbanker.com",
      tc: false,
      donut: {
        v: [1],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "rakuten.co.jp",
      t: "rakuten.co.jp",
      tc: false,
      donut: {
        v: [8, 5],
        c: ["#E77BB0", "#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "berkeley.edu",
      t: "berkeley.edu",
      tc: false,
      donut: {
        v: [74],
        c: ["#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "cam.ac.uk",
      t: "cam.ac.uk",
      tc: false,
      donut: {
        v: [65],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "formspring.me",
      t: "formspring.me",
      tc: false,
      donut: {
        v: [17, 23, 3],
        c: ["#DD6800", "#4daf4a", "#D22432"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "seesaa.net",
      t: "seesaa.net",
      tc: false,
      donut: {
        v: [6, 24, 32],
        c: ["#377eb8", "#DD6800", "#D22432"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "amazon.com",
      t: "amazon.com",
      tc: false,
      donut: {
        v: [20],
        c: ["#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "sendmail.com",
      t: "sendmail.com",
      tc: false,
      donut: {
        v: [12, 13],
        c: ["#D22432", "#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "ops",
      t: "ops",
      e: 2,
      tc: false,
      donut: {
        v: [409, 1499, 1130, 1282, 396, 204, 652, 132],
        c: ["#aaaaaa", "#DD6800", "#377eb8", "#4daf4a", "#D22432", "#984ea3", "#E77BB0", "#a65628"],
        w: 8,
      },
      d: {
        w: 8,
      },
      c: "#d3ebd2",
      fi: {
        t: "fas fa-users",
        c: "#4daf4a",
      },
    },
    {
      type: "node",
      id: "reference.com",
      t: "reference.com",
      tc: false,
      donut: {
        v: [20, 4],
        c: ["#DD6800", "#D22432"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "slate.com",
      t: "slate.com",
      tc: false,
      donut: {
        v: [12, 10, 7],
        c: ["#DD6800", "#D22432", "#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "metacafe.com",
      t: "metacafe.com",
      tc: false,
      donut: {
        v: [31, 82, 6, 11],
        c: ["#4daf4a", "#DD6800", "#D22432", "#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "state.gov",
      t: "state.gov",
      tc: false,
      donut: {
        v: [1],
        c: ["#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "umn.edu",
      t: "umn.edu",
      tc: false,
      donut: {
        v: [14],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "about.com",
      t: "about.com",
      tc: false,
      donut: {
        v: [12],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "me.com",
      t: "me.com",
      tc: false,
      donut: {
        v: [416],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "senate.gov",
      t: "senate.gov",
      tc: false,
      donut: {
        v: [2, 1],
        c: ["#E77BB0", "#4daf4a"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "valeroenergy.com",
      t: "valeroenergy.com",
      tc: false,
      donut: {
        v: [19, 8],
        c: ["#DD6800", "#D22432"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "squarespace.com",
      t: "squarespace.com",
      tc: false,
      donut: {
        v: [81, 5, 61],
        c: ["#DD6800", "#377eb8", "#4daf4a"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "whitehouse.gov",
      t: "whitehouse.gov",
      tc: false,
      donut: {
        v: [37],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "xe.com",
      t: "xe.com",
      tc: false,
      donut: {
        v: [32, 2, 3],
        c: ["#DD6800", "#D22432", "#a65628"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "creativecommons.org",
      t: "creativecommons.org",
      tc: false,
      donut: {
        v: [7],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "huffingtonpost.com",
      t: "huffingtonpost.com",
      tc: false,
      donut: {
        v: [111],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "verizoncommunications.com",
      t: "verizoncommunications.com",
      tc: false,
      donut: {
        v: [74, 6],
        c: ["#DD6800", "#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "liveinternet.ru",
      t: "liveinternet.ru",
      tc: false,
      donut: {
        v: [4, 14, 3],
        c: ["#E77BB0", "#377eb8", "#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "mssupport.microsoft.com",
      t: "mssupport.microsoft.com",
      tc: false,
      donut: {
        v: [1],
        c: ["#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "other",
      t: "other",
      e: 2,
      tc: false,
      donut: {
        v: [583, 920, 204, 110, 175, 124, 64],
        c: ["#DD6800", "#377eb8", "#4daf4a", "#E77BB0", "#aaaaaa", "#a65628", "#D22432"],
        w: 8,
      },
      d: {
        w: 8,
      },
      c: "#e6d3e8",
      fi: {
        t: "fas fa-users",
        c: "#984ea3",
      },
    },
    {
      type: "node",
      id: "blinklist.com",
      t: "blinklist.com",
      tc: false,
      donut: {
        v: [22, 5, 11],
        c: ["#D22432", "#DD6800", "#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "salon.com",
      t: "salon.com",
      tc: false,
      donut: {
        v: [7, 5],
        c: ["#E77BB0", "#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "dupont.com",
      t: "dupont.com",
      tc: false,
      donut: {
        v: [24, 10],
        c: ["#D22432", "#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "blog.com",
      t: "blog.com",
      tc: false,
      donut: {
        v: [7],
        c: ["#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "blogs.com",
      t: "blogs.com",
      tc: false,
      donut: {
        v: [7],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "servcorp.com",
      t: "servcorp.com",
      tc: false,
      donut: {
        v: [15],
        c: ["#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "hud.gov",
      t: "hud.gov",
      tc: false,
      donut: {
        v: [86],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "gnu.org",
      t: "gnu.org",
      tc: false,
      donut: {
        v: [1, 121, 364, 68],
        c: ["#377eb8", "#D22432", "#DD6800", "#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "microsoft.com",
      t: "microsoft.com",
      tc: false,
      donut: {
        v: [2, 12],
        c: ["#DD6800", "#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "symantec.com",
      t: "symantec.com",
      tc: false,
      donut: {
        v: [36],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "time.com",
      t: "time.com",
      tc: false,
      donut: {
        v: [105, 49, 4, 4],
        c: ["#DD6800", "#377eb8", "#4daf4a", "#a65628"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "walmartstores.com",
      t: "walmartstores.com",
      tc: false,
      donut: {
        v: [32],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "admin",
      t: "admin",
      e: 2,
      tc: false,
      donut: {
        v: [1271, 1226, 899, 396, 82, 2315, 1354, 64],
        c: ["#aaaaaa", "#DD6800", "#377eb8", "#4daf4a", "#a65628", "#E77BB0", "#D22432", "#984ea3"],
        w: 8,
      },
      d: {
        w: 8,
      },
      c: "#f8c6c7",
      fi: {
        t: "fas fa-users",
        c: "#D22432",
      },
    },
    {
      type: "node",
      id: "comcast.com",
      t: "comcast.com",
      tc: false,
      donut: {
        v: [1, 10],
        c: ["#D22432", "#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "dell.com",
      t: "dell.com",
      tc: false,
      donut: {
        v: [56, 44],
        c: ["#DD6800", "#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "zanox.com",
      t: "zanox.com",
      tc: false,
      donut: {
        v: [59, 76, 21],
        c: ["#377eb8", "#DD6800", "#4daf4a"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "businessweek.com",
      t: "businessweek.com",
      tc: false,
      donut: {
        v: [7],
        c: ["#D22432"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "dropbox.com",
      t: "dropbox.com",
      tc: false,
      donut: {
        v: [9, 82],
        c: ["#E77BB0", "#D22432"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "virginaustralia.com",
      t: "virginaustralia.com",
      tc: false,
      donut: {
        v: [1],
        c: ["#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "chryslergroup.com",
      t: "chryslergroup.com",
      tc: false,
      donut: {
        v: [8],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "quantcast.com",
      t: "quantcast.com",
      tc: false,
      donut: {
        v: [4],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "rr.com",
      t: "rr.com",
      tc: false,
      donut: {
        v: [3, 40],
        c: ["#DD6800", "#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "marketing",
      t: "marketing",
      e: 2,
      tc: false,
      donut: {
        v: [3792, 2756, 3807, 652, 110, 2315, 8026, 3042],
        c: ["#aaaaaa", "#DD6800", "#377eb8", "#4daf4a", "#984ea3", "#D22432", "#E77BB0", "#a65628"],
        w: 8,
      },
      d: {
        w: 8,
      },
      c: "#fde0ef",
      fi: {
        t: "fas fa-users",
        c: "#E77BB0",
      },
    },
    {
      type: "node",
      id: "techcrunch.com",
      t: "techcrunch.com",
      tc: false,
      donut: {
        v: [2],
        c: ["#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "timesonline.co.uk",
      t: "timesonline.co.uk",
      tc: false,
      donut: {
        v: [42, 26],
        c: ["#DD6800", "#D22432"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "elegantthemes.com",
      t: "elegantthemes.com",
      tc: false,
      donut: {
        v: [4],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "abc.net.au",
      t: "abc.net.au",
      tc: false,
      donut: {
        v: [3],
        c: ["#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "yellowbook.com",
      t: "yellowbook.com",
      tc: false,
      donut: {
        v: [27],
        c: ["#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "prweb.com",
      t: "prweb.com",
      tc: false,
      donut: {
        v: [26],
        c: ["#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "paginegialle.it",
      t: "paginegialle.it",
      tc: false,
      donut: {
        v: [1, 7],
        c: ["#377eb8", "#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "exxonmobil.com",
      t: "exxonmobil.com",
      tc: false,
      donut: {
        v: [51, 32, 72],
        c: ["#E77BB0", "#377eb8", "#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "t-online.de",
      t: "t-online.de",
      tc: false,
      donut: {
        v: [8, 50],
        c: ["#D22432", "#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "youku.com",
      t: "youku.com",
      tc: false,
      donut: {
        v: [139, 24, 272, 14, 50],
        c: ["#DD6800", "#4daf4a", "#D22432", "#377eb8", "#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "thedailybeast.com",
      t: "thedailybeast.com",
      tc: false,
      donut: {
        v: [11, 5, 22],
        c: ["#DD6800", "#a65628", "#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "toplist.cz",
      t: "toplist.cz",
      tc: false,
      donut: {
        v: [41, 40, 5],
        c: ["#DD6800", "#377eb8", "#D22432"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "lycos.com",
      t: "lycos.com",
      tc: false,
      donut: {
        v: [91],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "nydailynews.com",
      t: "nydailynews.com",
      tc: false,
      donut: {
        v: [2],
        c: ["#D22432"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "unitedparcelservice.com",
      t: "unitedparcelservice.com",
      tc: false,
      donut: {
        v: [220],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "support",
      t: "support",
      e: 2,
      tc: false,
      donut: {
        v: [85, 208, 1938, 132, 82, 124, 3042, 3864],
        c: ["#aaaaaa", "#DD6800", "#377eb8", "#4daf4a", "#D22432", "#984ea3", "#E77BB0", "#a65628"],
        w: 8,
      },
      d: {
        w: 8,
      },
      c: "#e9d5ca",
      fi: {
        t: "fas fa-users",
        c: "#a65628",
      },
    },
    {
      type: "node",
      id: "phpbb.com",
      t: "phpbb.com",
      tc: false,
      donut: {
        v: [1],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "slashdot.org",
      t: "slashdot.org",
      tc: false,
      donut: {
        v: [117],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "hotmail.com",
      t: "hotmail.com",
      tc: false,
      donut: {
        v: [27],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "bluehost.com",
      t: "bluehost.com",
      tc: false,
      donut: {
        v: [54],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "gmx.co.uk",
      t: "gmx.co.uk",
      tc: false,
      donut: {
        v: [2],
        c: ["#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "last.fm",
      t: "last.fm",
      tc: false,
      donut: {
        v: [17],
        c: ["#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "mlb.com",
      t: "mlb.com",
      tc: false,
      donut: {
        v: [89],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "bettybegin.com",
      t: "bettybegin.com",
      tc: false,
      donut: {
        v: [15, 2],
        c: ["#E77BB0", "#D22432"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "frost.com",
      t: "frost.com",
      tc: false,
      donut: {
        v: [52],
        c: ["#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "google.com",
      t: "google.com",
      tc: false,
      donut: {
        v: [79, 9, 79],
        c: ["#DD6800", "#E77BB0", "#D22432"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "pcworld.com",
      t: "pcworld.com",
      tc: false,
      donut: {
        v: [19],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "apple.com",
      t: "apple.com",
      tc: false,
      donut: {
        v: [2],
        c: ["#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "goos.com",
      t: "goos.com",
      tc: false,
      donut: {
        v: [8, 2, 7],
        c: ["#4daf4a", "#377eb8", "#D22432"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "linkedin.com",
      t: "linkedin.com",
      tc: false,
      donut: {
        v: [21, 18],
        c: ["#E77BB0", "#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "china.com.cn",
      t: "china.com.cn",
      tc: false,
      donut: {
        v: [578, 39],
        c: ["#E77BB0", "#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "drupal.org",
      t: "drupal.org",
      tc: false,
      donut: {
        v: [171],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "furl.net",
      t: "furl.net",
      tc: false,
      donut: {
        v: [45, 76],
        c: ["#D22432", "#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "intermedia.com.au",
      t: "intermedia.com.au",
      tc: false,
      donut: {
        v: [2],
        c: ["#D22432"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "hubpages.com",
      t: "hubpages.com",
      tc: false,
      donut: {
        v: [39],
        c: ["#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "fordmotor.com",
      t: "fordmotor.com",
      tc: false,
      donut: {
        v: [28, 13],
        c: ["#DD6800", "#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "mckesson.com",
      t: "mckesson.com",
      tc: false,
      donut: {
        v: [1],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "shutterfly.com",
      t: "shutterfly.com",
      tc: false,
      donut: {
        v: [22, 10],
        c: ["#DD6800", "#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "co.cc",
      t: "co.cc",
      tc: false,
      donut: {
        v: [9],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "goo.gl",
      t: "goo.gl",
      tc: false,
      donut: {
        v: [6],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "wikia.com",
      t: "wikia.com",
      tc: false,
      donut: {
        v: [12],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "google.it",
      t: "google.it",
      tc: false,
      donut: {
        v: [6],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "morganstanley.com",
      t: "morganstanley.com",
      tc: false,
      donut: {
        v: [100, 31],
        c: ["#377eb8", "#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "oracle.com",
      t: "oracle.com",
      tc: false,
      donut: {
        v: [4],
        c: ["#D22432"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "roytanck.com",
      t: "roytanck.com",
      tc: false,
      donut: {
        v: [4650, 253],
        c: ["#DD6800", "#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "dataflex.com.au",
      t: "dataflex.com.au",
      tc: false,
      donut: {
        v: [17, 3],
        c: ["#DD6800", "#D22432"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "honeywellinternational.com",
      t: "honeywellinternational.com",
      tc: false,
      donut: {
        v: [6, 6],
        c: ["#D22432", "#4daf4a"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "networkadvertising.org",
      t: "networkadvertising.org",
      tc: false,
      donut: {
        v: [4],
        c: ["#D22432"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "army.mil",
      t: "army.mil",
      tc: false,
      donut: {
        v: [32],
        c: ["#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "netvibes.com",
      t: "netvibes.com",
      tc: false,
      donut: {
        v: [27, 15],
        c: ["#DD6800", "#a65628"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "directi.com",
      t: "directi.com",
      tc: false,
      donut: {
        v: [29],
        c: ["#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "cdc.gov",
      t: "cdc.gov",
      tc: false,
      donut: {
        v: [881],
        c: ["#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "joomlatune.com",
      t: "joomlatune.com",
      tc: false,
      donut: {
        v: [4],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "shareasale.com",
      t: "shareasale.com",
      tc: false,
      donut: {
        v: [6],
        c: ["#D22432"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "ucla.edu",
      t: "ucla.edu",
      tc: false,
      donut: {
        v: [29],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "posterous.com",
      t: "posterous.com",
      tc: false,
      donut: {
        v: [130],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "soundcloud.com",
      t: "soundcloud.com",
      tc: false,
      donut: {
        v: [3],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "salesforce.com",
      t: "salesforce.com",
      tc: false,
      donut: {
        v: [106],
        c: ["#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "expressscripts.com",
      t: "expressscripts.com",
      tc: false,
      donut: {
        v: [3],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "cornell.edu",
      t: "cornell.edu",
      tc: false,
      donut: {
        v: [22, 10],
        c: ["#377eb8", "#D22432"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "cbslocal.com",
      t: "cbslocal.com",
      tc: false,
      donut: {
        v: [117, 161, 59],
        c: ["#E77BB0", "#DD6800", "#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "google.cn",
      t: "google.cn",
      tc: false,
      donut: {
        v: [15, 4, 4],
        c: ["#D22432", "#E77BB0", "#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "printfriendly.com",
      t: "printfriendly.com",
      tc: false,
      donut: {
        v: [1, 521, 14, 17],
        c: ["#DD6800", "#E77BB0", "#377eb8", "#D22432"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "mixx.com",
      t: "mixx.com",
      tc: false,
      donut: {
        v: [1],
        c: ["#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "marathonoil.com",
      t: "marathonoil.com",
      tc: false,
      donut: {
        v: [1],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "nokia.com",
      t: "nokia.com",
      tc: false,
      donut: {
        v: [2],
        c: ["#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "multimap.com",
      t: "multimap.com",
      tc: false,
      donut: {
        v: [2],
        c: ["#D22432"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "sciencedaily.com",
      t: "sciencedaily.com",
      tc: false,
      donut: {
        v: [6, 29],
        c: ["#E77BB0", "#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "singtel.com",
      t: "singtel.com",
      tc: false,
      donut: {
        v: [11, 2],
        c: ["#377eb8", "#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "yahoo.com.au",
      t: "yahoo.com.au",
      tc: false,
      donut: {
        v: [2],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "myspace.com",
      t: "myspace.com",
      tc: false,
      donut: {
        v: [2, 3],
        c: ["#377eb8", "#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "sphinn.com",
      t: "sphinn.com",
      tc: false,
      donut: {
        v: [12, 71],
        c: ["#DD6800", "#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "cbsnews.com",
      t: "cbsnews.com",
      tc: false,
      donut: {
        v: [1],
        c: ["#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "disqus.com",
      t: "disqus.com",
      tc: false,
      donut: {
        v: [13, 117],
        c: ["#DD6800", "#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "privacy.gov.au",
      t: "privacy.gov.au",
      tc: false,
      donut: {
        v: [2, 4],
        c: ["#377eb8", "#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "megaupload.com",
      t: "megaupload.com",
      tc: false,
      donut: {
        v: [1],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "newyorklifeinsurance.com",
      t: "newyorklifeinsurance.com",
      tc: false,
      donut: {
        v: [10],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "kpmg.com.au",
      t: "kpmg.com.au",
      tc: false,
      donut: {
        v: [1],
        c: ["#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "barnesandnoble.com",
      t: "barnesandnoble.com",
      tc: false,
      donut: {
        v: [2],
        c: ["#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "yolasite.com",
      t: "yolasite.com",
      tc: false,
      donut: {
        v: [2],
        c: ["#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "deliciousdays.com",
      t: "deliciousdays.com",
      tc: false,
      donut: {
        v: [1],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "mac.com",
      t: "mac.com",
      tc: false,
      donut: {
        v: [1],
        c: ["#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "senderbase.org",
      t: "senderbase.org",
      tc: false,
      donut: {
        v: [10, 48, 13, 12, 3, 3],
        c: ["#D22432", "#DD6800", "#377eb8", "#984ea3", "#E77BB0", "#4daf4a"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "sina.com.cn",
      t: "sina.com.cn",
      tc: false,
      donut: {
        v: [57],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "ed.gov",
      t: "ed.gov",
      tc: false,
      donut: {
        v: [6],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "instagr.am",
      t: "instagr.am",
      tc: false,
      donut: {
        v: [62, 2],
        c: ["#DD6800", "#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "m.com",
      t: "m.com",
      tc: false,
      donut: {
        v: [3],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "ucsd.edu",
      t: "ucsd.edu",
      tc: false,
      donut: {
        v: [2, 53],
        c: ["#D22432", "#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "wordpress.com",
      t: "wordpress.com",
      tc: false,
      donut: {
        v: [8],
        c: ["#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "openoffice.org",
      t: "openoffice.org",
      tc: false,
      donut: {
        v: [8],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "redherring.com",
      t: "redherring.com",
      tc: false,
      donut: {
        v: [37, 21],
        c: ["#E77BB0", "#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "haymarketmedia.com",
      t: "haymarketmedia.com",
      tc: false,
      donut: {
        v: [4],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "intlfcstone.com",
      t: "intlfcstone.com",
      tc: false,
      donut: {
        v: [62],
        c: ["#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "indiatimes.com",
      t: "indiatimes.com",
      tc: false,
      donut: {
        v: [41, 27, 38, 163, 102, 186, 18],
        c: ["#DD6800", "#4daf4a", "#D22432", "#984ea3", "#E77BB0", "#377eb8", "#a65628"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "nih.gov",
      t: "nih.gov",
      tc: false,
      donut: {
        v: [2],
        c: ["#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "bigpond.com",
      t: "bigpond.com",
      tc: false,
      donut: {
        v: [9],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "webs.com",
      t: "webs.com",
      tc: false,
      donut: {
        v: [1],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "archerdanielsmidland.com",
      t: "archerdanielsmidland.com",
      tc: false,
      donut: {
        v: [27],
        c: ["#D22432"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "twitpic.com",
      t: "twitpic.com",
      tc: false,
      donut: {
        v: [4],
        c: ["#D22432"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "chronoengine.com",
      t: "chronoengine.com",
      tc: false,
      donut: {
        v: [2],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "searsholdings.com",
      t: "searsholdings.com",
      tc: false,
      donut: {
        v: [1],
        c: ["#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "exblog.jp",
      t: "exblog.jp",
      tc: false,
      donut: {
        v: [49],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "hhs.gov",
      t: "hhs.gov",
      tc: false,
      donut: {
        v: [2, 6],
        c: ["#D22432", "#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "independent.co.uk",
      t: "independent.co.uk",
      tc: false,
      donut: {
        v: [3],
        c: ["#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "lulu.com",
      t: "lulu.com",
      tc: false,
      donut: {
        v: [10],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "guardian.co.uk",
      t: "guardian.co.uk",
      tc: false,
      donut: {
        v: [1],
        c: ["#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "friendfeed.com",
      t: "friendfeed.com",
      tc: false,
      donut: {
        v: [2],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "google.com.hk",
      t: "google.com.hk",
      tc: false,
      donut: {
        v: [97],
        c: ["#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "boeing.com",
      t: "boeing.com",
      tc: false,
      donut: {
        v: [19],
        c: ["#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "discovery.com",
      t: "discovery.com",
      tc: false,
      donut: {
        v: [2],
        c: ["#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "redcross.org",
      t: "redcross.org",
      tc: false,
      donut: {
        v: [129],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "unesco.org",
      t: "unesco.org",
      tc: false,
      donut: {
        v: [2],
        c: ["#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "cdbaby.com",
      t: "cdbaby.com",
      tc: false,
      donut: {
        v: [16],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "1and1.com",
      t: "1and1.com",
      tc: false,
      donut: {
        v: [2],
        c: ["#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "intel.com",
      t: "intel.com",
      tc: false,
      donut: {
        v: [37],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "gov.uk",
      t: "gov.uk",
      tc: false,
      donut: {
        v: [5],
        c: ["#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "ibm.com",
      t: "ibm.com",
      tc: false,
      donut: {
        v: [4],
        c: ["#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "nationalgeographic.com",
      t: "nationalgeographic.com",
      tc: false,
      donut: {
        v: [2],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "teennick.com",
      t: "teennick.com",
      tc: false,
      donut: {
        v: [25],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "umich.edu",
      t: "umich.edu",
      tc: false,
      donut: {
        v: [5],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "unc.edu",
      t: "unc.edu",
      tc: false,
      donut: {
        v: [29, 2],
        c: ["#E77BB0", "#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "bigpond.net.au",
      t: "bigpond.net.au",
      tc: false,
      donut: {
        v: [1],
        c: ["#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "opensource.org",
      t: "opensource.org",
      tc: false,
      donut: {
        v: [2],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "vimeo.com",
      t: "vimeo.com",
      tc: false,
      donut: {
        v: [5],
        c: ["#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "jpmchase.com",
      t: "jpmchase.com",
      tc: false,
      donut: {
        v: [2],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "westpac.com.au",
      t: "westpac.com.au",
      tc: false,
      donut: {
        v: [17],
        c: ["#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "btopenworld.com",
      t: "btopenworld.com",
      tc: false,
      donut: {
        v: [15],
        c: ["#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "intoidc.net",
      t: "intoidc.net",
      tc: false,
      donut: {
        v: [18],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "auda.org.au",
      t: "auda.org.au",
      tc: false,
      donut: {
        v: [7],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "umd.edu",
      t: "umd.edu",
      tc: false,
      donut: {
        v: [6],
        c: ["#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "github.com",
      t: "github.com",
      tc: false,
      donut: {
        v: [1],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "meetup.com",
      t: "meetup.com",
      tc: false,
      donut: {
        v: [4],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "110mb.com",
      t: "110mb.com",
      tc: false,
      donut: {
        v: [5],
        c: ["#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "emc.com",
      t: "emc.com",
      tc: false,
      donut: {
        v: [26, 5],
        c: ["#377eb8", "#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "stumbleupon.com",
      t: "stumbleupon.com",
      tc: false,
      donut: {
        v: [2],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "economist.com",
      t: "economist.com",
      tc: false,
      donut: {
        v: [2],
        c: ["#E77BB0"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "google.co.jp",
      t: "google.co.jp",
      tc: false,
      donut: {
        v: [6],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "godaddy.com",
      t: "godaddy.com",
      tc: false,
      donut: {
        v: [1],
        c: ["#377eb8"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
    {
      type: "node",
      id: "mtv.com",
      t: "mtv.com",
      tc: false,
      donut: {
        v: [1],
        c: ["#DD6800"],
        w: 12,
      },
      d: {
        w: 12,
      },
      c: "#aaaaaa",
    },
  ],
};
<!doctype html>
<html lang="en" style="background-color: #2d383f">
  <head>
    <meta charset="utf-8" />
    <title>Donuts and Email Traffic</title>
    <link rel="stylesheet" type="text/css" href="@ci/theme/kl/css/keylines.css" />
    <link rel="stylesheet" type="text/css" href="@ci/theme/kl/css/minimalsdk.css" />
    <link rel="stylesheet" type="text/css" href="@ci/theme/kl/css/sdk-layout.css" />
    <link rel="stylesheet" type="text/css" href="@ci/theme/kl/css/demo.css" />
    <link
      rel="stylesheet"
      type="text/css"
      href="@fortawesome/[email protected]/css/fontawesome.css"
    />
    <link
      rel="stylesheet"
      type="text/css"
      href="@fortawesome/[email protected]/css/solid.css"
    />
    <link rel="stylesheet" href="./style.css" />
  </head>
  <body>
    <div id="klchart" class="klchart"></div>
    <script type="module" src="./code.js"></script>
  </body>
</html>
.klchart {
  overflow: hidden;
}

.popover {
  display: block;
  position: absolute;
  min-width: 50px;
  margin: 0;
  pointer-events: none;
  visibility: hidden;
  background-color: #fff;
  border: 1px solid #ccc;
}

.popover-content {
  z-index: 1;
}

Terms of use

These terms do not alter or supersede any existing agreements between you (or your employer) and us.

By accessing or using any Content you agree to be bound by these Terms of Use. Please review these terms carefully before using the website.

The contents of this website, including but not limited to any text, code samples, API references, schemas, interactive tools, and other materials (collectively, the 'Content'), are made available for informational and internal evaluation purposes only. All intellectual property rights in the Content are reserved. No licence is granted to use the Content for any commercial purpose, or to copy, distribute, modify, reverse-engineer, or incorporate any part of the Content into any product or service, without our prior written consent.

This Content is provided “as is” and “as available,” without any representations, warranties, or guarantees of any kind, whether express or implied, including but not limited to implied warranties of merchantability, fitness for a particular purpose, non-infringement, or accuracy. To the fullest extent permitted by applicable law, we expressly exclude and disclaim all implied warranties, conditions, and other terms that might otherwise be implied.

We disclaim all liability for any loss or damage, whether direct, indirect, incidental, consequential, or otherwise, arising from any reliance placed on the Content or from your use of it, to the fullest extent permitted by applicable law. By continuing to access or use the Content, you acknowledge and agree to these terms.