Search

Social Network Analysis

Analysis

Investigate social structures and relations in complex email data.

Social Network Analysis
View live example →

This email data was collected by US federal investigators in the wake of the Enron collapse. It is a useful real data set that has been studied by many researchers.

When looking at email data from an organisation a common task is to try to work out individual roles and organisational hierarchies just from the metadata of email traffic directions.

Sub-teams within the organisation stand out as clusters of connected nodes in the chart, but identifying important individuals requires a little more analysis.

Clicking on Email Volumes sizes link widths based on the number of emails sent between individuals. This highlights a prominent individual - Bill Williams - in a group on the edge of the chart. Bill is a prolific emailer, and probably the manager of a team. The team don't seem to be engaging with him though, as hardly any of them write back.

You can follow a link from Bill to Timothy who is more central. This is probably Bill's boss. Following the thicker links from Timothy, we see that his boss was probably either John, Louise or Kevin.

Centrality Analysis

KeyLines has some useful network algorithms that can be used to score the email accounts in different ways. We can use these scores to modify the size of nodes, highlighting influential individuals.

See the Graph Centrality documentation for more detail on different centrality measures.

Degrees counts the number of directly connected nodes each node has.

Closeness measures how may steps each node is from every other node in the graph. It helps identify 'broadcasters', or people who have good influence over the network.

Betweenness counts the number of shortest paths all nodes are on, identifying important 'bridges' in the network. In sociology, this has been shown to correlate with seniority in organisations.

Eigenvector centrality is a measure of influence that takes into account the number of links each person has and the number of links their connections have, and so on throughout the network. It is an effective measure of influence in social networks and malware propagation.

PageRank identifies important nodes by counting incoming links and weighting according to the relative scores of their originating nodes. It helps identify nodes which are indirectly influential to the network.

Key functions used:

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

let chart;
let miniChart;
let restoreIds = [];

// Track UI state
const state = {
  sizeBy: "same",
  volume: "off",
  direction: "any",
};

const colourMap = {};

/**
 * debounce - This function delays execution of the passed "fn" until "timeToWait" milliseconds
 * have passed since the last time it was called.  This ensures that the function
 * runs at the end of a particular action to keep performance high.
 */
function debounce(fn, timeToWait = 100) {
  let timeoutId;
  return function debouncedFn(...args) {
    const timeoutFn = () => {
      timeoutId = undefined;
      fn.apply(this, args);
    };
    if (timeoutId !== undefined) {
      clearTimeout(timeoutId);
    }
    timeoutId = setTimeout(timeoutFn, timeToWait);
  };
}

// ensure that this doesn't get called too often when dragging the selection
// marquee
const loadMiniChart = debounce((items) => {
  miniChart.load({
    type: "LinkChart",
    items,
  });
  miniChart.layout("organic", { consistent: true });
});

function isLink(id) {
  return id.match("-");
}

function updateHighlight(itemIds) {
  const props = [];

  // Remove previous styles
  if (restoreIds) {
    props.push(
      ...restoreIds.map((id) => {
        const colour = colourMap[id] || (isLink(id) ? colours.link : colours.node);
        return {
          id,
          c: colour,
          b: colour,
          ha0: null,
        };
      })
    );
    restoreIds = [];
  }

  // Add new styles
  if (itemIds.length) {
    // Find the neighbours of the provided items
    const toHighlight = [];
    itemIds.forEach((id) => {
      if (isLink(id)) {
        const link = chart.getItem(id);
        toHighlight.push(id, link.id1, link.id2);
      } else {
        const neighbours = chart.graph().neighbours(id);
        toHighlight.push(id, ...neighbours.nodes, ...neighbours.links);
      }
    });

    // For each neighbouring item, add some styling
    toHighlight.forEach((id) => {
      // Cache the existing styles
      restoreIds.push(id);

      // Generate new styles
      const style = {
        id,
      };
      if (isLink(id)) {
        // For links, just set the colour
        style.c = colours.selected;
      } else {
        // For nodes, add a halo
        style.ha0 = {
          c: colours.selected,
          r: 34,
          w: 6,
        };
      }
      props.push(style);
    });
  }

  chart.setProperties(props);
}

async function runLayout(inconsistent, mode) {
  const packing = mode === "adaptive" ? "adaptive" : "circle";
  return chart.layout("organic", {
    time: 500,
    tightness: 4,
    consistent: !inconsistent,
    packing,
    mode,
  });
}

function klReady(charts) {
  [chart, miniChart] = charts;

  chart.load(data);
  chart.zoom("fit", { animate: false }).then(runLayout);

  // On selection change:
  //   1) add styles to the targeted and neighbouring items
  //   2) copy the selected item and its neighbours to the miniChart
  chart.on("selection-change", () => {
    const ids = chart.selection();

    updateHighlight(ids);

    const miniChartItems = [];

    if (ids.length > 0) {
      const { nodes, links } = chart.graph().neighbours(ids);

      chart.each({ type: "node" }, (node) => {
        if (ids.includes(node.id) || nodes.includes(node.id)) {
          // Clear hover styling and position
          node.x = 0;
          node.y = 0;
          delete node.ha0;
          miniChartItems.push(node);
        }
      });

      chart.each({ type: "link" }, (link) => {
        if (ids.includes(link.id) || links.includes(link.id)) {
          link.c = colours.link;
          miniChartItems.push(link);
        }
      });
    }
    loadMiniChart(miniChartItems);
  });
}

// this function picks a colour from a range of colours based on the value
function colourPicker(value) {
  const { bands, node } = colours;
  if (value > 0.75) {
    return bands[2];
  }
  if (value > 0.5) {
    return bands[1];
  }
  if (value > 0.25) {
    return bands[0];
  }
  return node;
}

function normalize(max, min, value) {
  if (max === min) {
    return min;
  }

  return (value - min) / (max - min);
}

function miniChartFilter(items) {
  return items.filter(({ id }) => miniChart.getItem(id));
}

async function animateValues(values, links) {
  const valuesArray = Object.values(values);

  const max = Math.max(...valuesArray);
  const min = Math.min(...valuesArray);

  const items = Object.entries(values)
    .map(([id, value]) => {
      // Normalize the value in the range 0 -> 1
      const normalized = normalize(max, min, value);

      // enlarge nodes with higher values
      const e = Math.max(1, normalized * 5);

      // Choose a colour (use bands if there is a range of values)
      const c = max !== min ? colourPicker(normalized) : colours.node;
      colourMap[id] = c;

      return { id, e, c, b: c };
    })
    .concat(links);

  const miniItems = miniChartFilter(items);

  // Update the main chart and miniChart concurrently
  return Promise.all([
    chart.animateProperties(items, { time: 500 }).then(() => runLayout(undefined, "adaptive")),
    miniChart
      .animateProperties(miniItems, { time: 500 })
      .then(() => miniChart.layout("organic", { consistent: true })),
  ]);
}

function same() {
  return new Promise((resolve) => {
    const sizes = {};
    chart.each({ type: "node" }, (node) => {
      sizes[node.id] = 0;
    });
    resolve(sizes);
  });
}

function wrapCallback(fn) {
  return (options) => new Promise((resolve) => resolve(fn(options)));
}

function getAnalysisFunction(name) {
  if (name.match(/^(degrees|pageRank|eigenCentrality)$/)) {
    return wrapCallback(chart.graph()[name]);
  }
  if (name.match(/^(closeness|betweenness)$/)) {
    return chart.graph()[name];
  }
  return same;
}

async function analyseChart() {
  const { sizeBy, volume } = state;

  const options = {};
  // Configure weighting
  if (volume === "on") {
    if (sizeBy.match(/^(betweenness|closeness)$/)) {
      options.weights = true;
    }
    options.value = "count";
  }
  // Configure direction options
  if (sizeBy.match(/^(betweenness|pageRank)$/)) {
    options.directed = state.direction !== "any";
  } else {
    options.direction = state.direction;
  }

  const analyse = getAnalysisFunction(sizeBy);
  const values = await analyse(options);
  const linkWidths = calculateLinkWidths(volume === "on");
  return animateValues(values, linkWidths);
}

function calculateLinkWidths(showValue) {
  const links = [];
  chart.each({ type: "link" }, (link) => {
    const linkcount = link.d.count;
    let width = 1;
    if (showValue) {
      if (linkcount > 300) {
        width = 36;
      } else if (linkcount > 200) {
        width = 27;
      } else if (linkcount > 100) {
        width = 18;
      } else if (linkcount > 50) {
        width = 9;
      }
    }
    links.push({ id: link.id, w: width });
  });
  return links;
}

function doZoom(name) {
  chart.zoom(name, { animate: true, time: 350 });
}

function registerClickHandler(id, fn) {
  document.getElementById(id).addEventListener("click", fn);
}

function updateActiveState(nodes, activeValue) {
  nodes.forEach((node) => {
    if (node.value === activeValue) {
      node.classList.add("active");
    } else {
      node.classList.remove("active");
    }
  });
}

function registerButtonGroup(className, handler) {
  const nodes = document.querySelectorAll(`.${className}`);
  nodes.forEach((node) => {
    node.addEventListener("click", () => {
      const { value } = node;
      updateActiveState(nodes, value);

      handler(value);
    });
  });
}

function initUI() {
  // Chart overlay
  registerClickHandler("home", () => {
    doZoom("fit");
  });
  registerClickHandler("zoomIn", () => {
    doZoom("in");
  });
  registerClickHandler("zoomOut", () => {
    doZoom("out");
  });
  registerClickHandler("changeMode", () => {
    const hand = !!chart.options().handMode; // be careful with undefined
    chart.options({ handMode: !hand });

    const icon = document.getElementById("iconMode");
    icon.classList.toggle("fa-arrows-alt");
    icon.classList.toggle("fa-edit");
  });
  registerClickHandler("layout", () => {
    runLayout(true, "full");
  });

  // Right hand menu
  registerButtonGroup("volume", (volume) => {
    state.volume = volume;
    analyseChart();
  });

  registerButtonGroup("size", (sizeBy) => {
    state.sizeBy = sizeBy;
    analyseChart();
  });

  registerButtonGroup("direction", (direction) => {
    state.direction = direction;
    analyseChart();
  });
}

async function loadKeyLines() {
  initUI();

  const baseOpts = {
    arrows: "normal",
    handMode: true,
    navigation: { shown: false },
    overview: { icon: false },
    selectedNode: {
      c: colours.selected,
      b: colours.selected,
      fbc: colours.selected,
    },
    selectedLink: {
      c: colours.selected,
    },
  };

  const mainChartConfig = {
    container: "klchart",
    options: Object.assign({}, baseOpts, {
      drag: {
        links: false,
      },
      logo: { u: "/images/Logo.png" },
    }),
  };

  const miniChartConfig = {
    container: "minikl",
    options: baseOpts,
  };

  const charts = await KeyLines.create([mainChartConfig, miniChartConfig]);
  klReady(charts);
}

window.addEventListener("DOMContentLoaded", loadKeyLines);
export const colours = {
  node: "#ffa726",
  link: "#bcced8",
  bands: ["#f57c00", "#ef5350", "#e91e63"],
  hover: "#62efff",
  selected: "#42a5f5",
};

export const data = {
  type: "LinkChart",
  items: [
    {
      id: "343116-343246",
      type: "link",
      id1: "343116",
      id2: "343246",
      d: {
        count: 200,
      },
      a2: true,
    },
    {
      id: "343116-343244",
      type: "link",
      id1: "343116",
      id2: "343244",
      d: {
        count: 199,
      },
      a2: true,
    },
    {
      id: "343116-343229",
      type: "link",
      id1: "343116",
      id2: "343229",
      d: {
        count: 175,
      },
      a2: true,
    },
    {
      id: "343116-343213",
      type: "link",
      id1: "343116",
      id2: "343213",
      d: {
        count: 196,
      },
      a2: true,
    },
    {
      id: "343116-343212",
      type: "link",
      id1: "343116",
      id2: "343212",
      d: {
        count: 47,
      },
      a2: true,
    },
    {
      id: "343116-343178",
      type: "link",
      id1: "343116",
      id2: "343178",
      d: {
        count: 175,
      },
      a2: true,
    },
    {
      id: "343116-343175",
      type: "link",
      id1: "343116",
      id2: "343175",
      d: {
        count: 203,
      },
      a2: true,
    },
    {
      id: "343116-343149",
      type: "link",
      id1: "343116",
      id2: "343149",
      d: {
        count: 191,
      },
      a2: true,
    },
    {
      id: "343116-343200",
      type: "link",
      id1: "343116",
      id2: "343200",
      d: {
        count: 171,
      },
      a2: true,
    },
    {
      id: "343116-343115",
      type: "link",
      id1: "343116",
      id2: "343115",
      d: {
        count: 127,
      },
      a2: true,
    },
    {
      id: "343121-343116",
      type: "link",
      id1: "343121",
      id2: "343116",
      d: {
        count: 39,
      },
      a2: true,
    },
    {
      id: "343213-343116",
      type: "link",
      id1: "343213",
      id2: "343116",
      d: {
        count: 25,
      },
      a2: true,
    },
    {
      id: "343121-343216",
      type: "link",
      id1: "343121",
      id2: "343216",
      d: {
        count: 38,
      },
      a2: true,
    },
    {
      id: "343121-343146",
      type: "link",
      id1: "343121",
      id2: "343146",
      d: {
        count: 46,
      },
      a2: true,
    },
    {
      id: "343121-343120",
      type: "link",
      id1: "343121",
      id2: "343120",
      d: {
        count: 43,
      },
      a2: true,
    },
    {
      id: "343121-343253",
      type: "link",
      id1: "343121",
      id2: "343253",
      d: {
        count: 39,
      },
      a2: true,
    },
    {
      id: "343121-343241",
      type: "link",
      id1: "343121",
      id2: "343241",
      d: {
        count: 40,
      },
      a2: true,
    },
    {
      id: "343121-343130",
      type: "link",
      id1: "343121",
      id2: "343130",
      d: {
        count: 60,
      },
      a2: true,
    },
    {
      id: "343121-343112",
      type: "link",
      id1: "343121",
      id2: "343112",
      d: {
        count: 50,
      },
      a2: true,
    },
    {
      id: "343241-343146",
      type: "link",
      id1: "343241",
      id2: "343146",
      d: {
        count: 39,
      },
      a2: true,
    },
    {
      id: "343134-343150",
      type: "link",
      id1: "343134",
      id2: "343150",
      d: {
        count: 29,
      },
      a2: true,
    },
    {
      id: "343119-343263",
      type: "link",
      id1: "343119",
      id2: "343263",
      d: {
        count: 54,
      },
      a2: true,
    },
    {
      id: "343119-343126",
      type: "link",
      id1: "343119",
      id2: "343126",
      d: {
        count: 28,
      },
      a2: true,
    },
    {
      id: "343134-343129",
      type: "link",
      id1: "343134",
      id2: "343129",
      d: {
        count: 21,
      },
      a2: true,
    },
    {
      id: "343134-343236",
      type: "link",
      id1: "343134",
      id2: "343236",
      d: {
        count: 22,
      },
      a2: true,
    },
    {
      id: "343134-343263",
      type: "link",
      id1: "343134",
      id2: "343263",
      d: {
        count: 31,
      },
      a2: true,
    },
    {
      id: "343134-343258",
      type: "link",
      id1: "343134",
      id2: "343258",
      d: {
        count: 28,
      },
      a2: true,
    },
    {
      id: "343134-343250",
      type: "link",
      id1: "343134",
      id2: "343250",
      d: {
        count: 28,
      },
      a2: true,
    },
    {
      id: "343134-343249",
      type: "link",
      id1: "343134",
      id2: "343249",
      d: {
        count: 28,
      },
      a2: true,
    },
    {
      id: "343134-343238",
      type: "link",
      id1: "343134",
      id2: "343238",
      d: {
        count: 28,
      },
      a2: true,
    },
    {
      id: "343134-343231",
      type: "link",
      id1: "343134",
      id2: "343231",
      d: {
        count: 28,
      },
      a2: true,
    },
    {
      id: "343134-343119",
      type: "link",
      id1: "343134",
      id2: "343119",
      d: {
        count: 26,
      },
      a2: true,
    },
    {
      id: "343134-343221",
      type: "link",
      id1: "343134",
      id2: "343221",
      d: {
        count: 28,
      },
      a2: true,
    },
    {
      id: "343134-343201",
      type: "link",
      id1: "343134",
      id2: "343201",
      d: {
        count: 28,
      },
      a2: true,
    },
    {
      id: "343134-343192",
      type: "link",
      id1: "343134",
      id2: "343192",
      d: {
        count: 28,
      },
      a2: true,
    },
    {
      id: "343134-343191",
      type: "link",
      id1: "343134",
      id2: "343191",
      d: {
        count: 29,
      },
      a2: true,
    },
    {
      id: "343134-343144",
      type: "link",
      id1: "343134",
      id2: "343144",
      d: {
        count: 29,
      },
      a2: true,
    },
    {
      id: "343134-343184",
      type: "link",
      id1: "343134",
      id2: "343184",
      d: {
        count: 29,
      },
      a2: true,
    },
    {
      id: "343134-343126",
      type: "link",
      id1: "343134",
      id2: "343126",
      d: {
        count: 29,
      },
      a2: true,
    },
    {
      id: "343134-343157",
      type: "link",
      id1: "343134",
      id2: "343157",
      d: {
        count: 28,
      },
      a2: true,
    },
    {
      id: "343134-343154",
      type: "link",
      id1: "343134",
      id2: "343154",
      d: {
        count: 28,
      },
      a2: true,
    },
    {
      id: "343134-343132",
      type: "link",
      id1: "343134",
      id2: "343132",
      d: {
        count: 29,
      },
      a2: true,
    },
    {
      id: "343134-343143",
      type: "link",
      id1: "343134",
      id2: "343143",
      d: {
        count: 29,
      },
      a2: true,
    },
    {
      id: "343134-343142",
      type: "link",
      id1: "343134",
      id2: "343142",
      d: {
        count: 30,
      },
      a2: true,
    },
    {
      id: "343134-343131",
      type: "link",
      id1: "343134",
      id2: "343131",
      d: {
        count: 28,
      },
      a2: true,
    },
    {
      id: "343134-343133",
      type: "link",
      id1: "343134",
      id2: "343133",
      d: {
        count: 28,
      },
      a2: true,
    },
    {
      id: "343134-343128",
      type: "link",
      id1: "343134",
      id2: "343128",
      d: {
        count: 30,
      },
      a2: true,
    },
    {
      id: "343134-343125",
      type: "link",
      id1: "343134",
      id2: "343125",
      d: {
        count: 28,
      },
      a2: true,
    },
    {
      id: "343230-343177",
      type: "link",
      id1: "343230",
      id2: "343177",
      d: {
        count: 24,
      },
      a2: true,
    },
    {
      id: "343222-343265",
      type: "link",
      id1: "343222",
      id2: "343265",
      d: {
        count: 26,
      },
      a2: true,
    },
    {
      id: "343222-343124",
      type: "link",
      id1: "343222",
      id2: "343124",
      d: {
        count: 100,
      },
      a2: true,
    },
    {
      id: "343222-343243",
      type: "link",
      id1: "343222",
      id2: "343243",
      d: {
        count: 166,
      },
      a2: true,
    },
    {
      id: "343222-343119",
      type: "link",
      id1: "343222",
      id2: "343119",
      d: {
        count: 27,
      },
      a2: true,
    },
    {
      id: "343222-343230",
      type: "link",
      id1: "343222",
      id2: "343230",
      d: {
        count: 22,
      },
      a2: true,
    },
    {
      id: "343222-343218",
      type: "link",
      id1: "343222",
      id2: "343218",
      d: {
        count: 34,
      },
      a2: true,
    },
    {
      id: "343222-343215",
      type: "link",
      id1: "343222",
      id2: "343215",
      d: {
        count: 32,
      },
      a2: true,
    },
    {
      id: "343222-343206",
      type: "link",
      id1: "343222",
      id2: "343206",
      d: {
        count: 25,
      },
      a2: true,
    },
    {
      id: "343222-343226",
      type: "link",
      id1: "343222",
      id2: "343226",
      d: {
        count: 31,
      },
      a2: true,
    },
    {
      id: "343222-343193",
      type: "link",
      id1: "343222",
      id2: "343193",
      d: {
        count: 55,
      },
      a2: true,
    },
    {
      id: "343222-343183",
      type: "link",
      id1: "343222",
      id2: "343183",
      d: {
        count: 109,
      },
      a2: true,
    },
    {
      id: "343222-343176",
      type: "link",
      id1: "343222",
      id2: "343176",
      d: {
        count: 29,
      },
      a2: true,
    },
    {
      id: "343222-343145",
      type: "link",
      id1: "343222",
      id2: "343145",
      d: {
        count: 100,
      },
      a2: true,
    },
    {
      id: "343222-343123",
      type: "link",
      id1: "343222",
      id2: "343123",
      d: {
        count: 129,
      },
      a2: true,
    },
    {
      id: "343130-343169",
      type: "link",
      id1: "343130",
      id2: "343169",
      d: {
        count: 28,
      },
      a2: true,
    },
    {
      id: "343130-343112",
      type: "link",
      id1: "343130",
      id2: "343112",
      d: {
        count: 113,
      },
      a2: true,
    },
    {
      id: "343130-343148",
      type: "link",
      id1: "343130",
      id2: "343148",
      d: {
        count: 32,
      },
      a2: true,
    },
    {
      id: "343130-343119",
      type: "link",
      id1: "343130",
      id2: "343119",
      d: {
        count: 41,
      },
      a2: true,
    },
    {
      id: "343130-343121",
      type: "link",
      id1: "343130",
      id2: "343121",
      d: {
        count: 37,
      },
      a2: true,
    },
    {
      id: "343130-343124",
      type: "link",
      id1: "343130",
      id2: "343124",
      d: {
        count: 67,
      },
      a2: true,
    },
    {
      id: "343130-343140",
      type: "link",
      id1: "343130",
      id2: "343140",
      d: {
        count: 27,
      },
      a2: true,
    },
    {
      id: "343130-343260",
      type: "link",
      id1: "343130",
      id2: "343260",
      d: {
        count: 27,
      },
      a2: true,
    },
    {
      id: "343130-343141",
      type: "link",
      id1: "343130",
      id2: "343141",
      d: {
        count: 80,
      },
      a2: true,
    },
    {
      id: "343130-343266",
      type: "link",
      id1: "343130",
      id2: "343266",
      d: {
        count: 23,
      },
      a2: true,
    },
    {
      id: "343130-343203",
      type: "link",
      id1: "343130",
      id2: "343203",
      d: {
        count: 34,
      },
      a2: true,
    },
    {
      id: "343130-343155",
      type: "link",
      id1: "343130",
      id2: "343155",
      d: {
        count: 21,
      },
      a2: true,
    },
    {
      id: "343112-343130",
      type: "link",
      id1: "343112",
      id2: "343130",
      d: {
        count: 91,
      },
      a2: true,
    },
    {
      id: "343148-343251",
      type: "link",
      id1: "343148",
      id2: "343251",
      d: {
        count: 21,
      },
      a2: true,
    },
    {
      id: "343188-343112",
      type: "link",
      id1: "343188",
      id2: "343112",
      d: {
        count: 21,
      },
      a2: true,
    },
    {
      id: "343188-343254",
      type: "link",
      id1: "343188",
      id2: "343254",
      d: {
        count: 88,
      },
      a2: true,
    },
    {
      id: "343188-343247",
      type: "link",
      id1: "343188",
      id2: "343247",
      d: {
        count: 71,
      },
      a2: true,
    },
    {
      id: "343188-343233",
      type: "link",
      id1: "343188",
      id2: "343233",
      d: {
        count: 76,
      },
      a2: true,
    },
    {
      id: "343188-343198",
      type: "link",
      id1: "343188",
      id2: "343198",
      d: {
        count: 80,
      },
      a2: true,
    },
    {
      id: "343188-343186",
      type: "link",
      id1: "343188",
      id2: "343186",
      d: {
        count: 84,
      },
      a2: true,
    },
    {
      id: "343188-343164",
      type: "link",
      id1: "343188",
      id2: "343164",
      d: {
        count: 74,
      },
      a2: true,
    },
    {
      id: "343188-343156",
      type: "link",
      id1: "343188",
      id2: "343156",
      d: {
        count: 64,
      },
      a2: true,
    },
    {
      id: "343188-343111",
      type: "link",
      id1: "343188",
      id2: "343111",
      d: {
        count: 85,
      },
      a2: true,
    },
    {
      id: "343119-343112",
      type: "link",
      id1: "343119",
      id2: "343112",
      d: {
        count: 62,
      },
      a2: true,
    },
    {
      id: "343112-343119",
      type: "link",
      id1: "343112",
      id2: "343119",
      d: {
        count: 87,
      },
      a2: true,
    },
    {
      id: "343112-343148",
      type: "link",
      id1: "343112",
      id2: "343148",
      d: {
        count: 43,
      },
      a2: true,
    },
    {
      id: "343114-343148",
      type: "link",
      id1: "343114",
      id2: "343148",
      d: {
        count: 26,
      },
      a2: true,
    },
    {
      id: "343119-343130",
      type: "link",
      id1: "343119",
      id2: "343130",
      d: {
        count: 44,
      },
      a2: true,
    },
    {
      id: "343119-343121",
      type: "link",
      id1: "343119",
      id2: "343121",
      d: {
        count: 33,
      },
      a2: true,
    },
    {
      id: "343112-343121",
      type: "link",
      id1: "343112",
      id2: "343121",
      d: {
        count: 69,
      },
      a2: true,
    },
    {
      id: "343112-343141",
      type: "link",
      id1: "343112",
      id2: "343141",
      d: {
        count: 36,
      },
      a2: true,
    },
    {
      id: "343141-343130",
      type: "link",
      id1: "343141",
      id2: "343130",
      d: {
        count: 170,
      },
      a2: true,
    },
    {
      id: "343141-343112",
      type: "link",
      id1: "343141",
      id2: "343112",
      d: {
        count: 31,
      },
      a2: true,
    },
    {
      id: "343203-343130",
      type: "link",
      id1: "343203",
      id2: "343130",
      d: {
        count: 50,
      },
      a2: true,
    },
    {
      id: "343112-343140",
      type: "link",
      id1: "343112",
      id2: "343140",
      d: {
        count: 30,
      },
      a2: true,
    },
    {
      id: "343112-343129",
      type: "link",
      id1: "343112",
      id2: "343129",
      d: {
        count: 23,
      },
      a2: true,
    },
    {
      id: "343112-343114",
      type: "link",
      id1: "343112",
      id2: "343114",
      d: {
        count: 27,
      },
      a2: true,
    },
    {
      id: "343112-343211",
      type: "link",
      id1: "343112",
      id2: "343211",
      d: {
        count: 28,
      },
      a2: true,
    },
    {
      id: "343112-343159",
      type: "link",
      id1: "343112",
      id2: "343159",
      d: {
        count: 26,
      },
      a2: true,
    },
    {
      id: "343112-343144",
      type: "link",
      id1: "343112",
      id2: "343144",
      d: {
        count: 27,
      },
      a2: true,
    },
    {
      id: "343112-343117",
      type: "link",
      id1: "343112",
      id2: "343117",
      d: {
        count: 100,
      },
      a2: true,
    },
    {
      id: "343112-343111",
      type: "link",
      id1: "343112",
      id2: "343111",
      d: {
        count: 33,
      },
      a2: true,
    },
    {
      id: "343127-343225",
      type: "link",
      id1: "343127",
      id2: "343225",
      d: {
        count: 29,
      },
      a2: true,
    },
    {
      id: "343127-343210",
      type: "link",
      id1: "343127",
      id2: "343210",
      d: {
        count: 30,
      },
      a2: true,
    },
    {
      id: "343127-343138",
      type: "link",
      id1: "343127",
      id2: "343138",
      d: {
        count: 29,
      },
      a2: true,
    },
    {
      id: "343127-343256",
      type: "link",
      id1: "343127",
      id2: "343256",
      d: {
        count: 30,
      },
      a2: true,
    },
    {
      id: "343127-343165",
      type: "link",
      id1: "343127",
      id2: "343165",
      d: {
        count: 30,
      },
      a2: true,
    },
    {
      id: "343127-343167",
      type: "link",
      id1: "343127",
      id2: "343167",
      d: {
        count: 28,
      },
      a2: true,
    },
    {
      id: "343127-343185",
      type: "link",
      id1: "343127",
      id2: "343185",
      d: {
        count: 31,
      },
      a2: true,
    },
    {
      id: "343127-343114",
      type: "link",
      id1: "343127",
      id2: "343114",
      d: {
        count: 42,
      },
      a2: true,
    },
    {
      id: "343127-343234",
      type: "link",
      id1: "343127",
      id2: "343234",
      d: {
        count: 30,
      },
      a2: true,
    },
    {
      id: "343127-343223",
      type: "link",
      id1: "343127",
      id2: "343223",
      d: {
        count: 30,
      },
      a2: true,
    },
    {
      id: "343148-343163",
      type: "link",
      id1: "343148",
      id2: "343163",
      d: {
        count: 29,
      },
      a2: true,
    },
    {
      id: "343148-343112",
      type: "link",
      id1: "343148",
      id2: "343112",
      d: {
        count: 28,
      },
      a2: true,
    },
    {
      id: "343198-343233",
      type: "link",
      id1: "343198",
      id2: "343233",
      d: {
        count: 45,
      },
      a2: true,
    },
    {
      id: "343198-343242",
      type: "link",
      id1: "343198",
      id2: "343242",
      d: {
        count: 23,
      },
      a2: true,
    },
    {
      id: "343198-343196",
      type: "link",
      id1: "343198",
      id2: "343196",
      d: {
        count: 21,
      },
      a2: true,
    },
    {
      id: "343198-343202",
      type: "link",
      id1: "343198",
      id2: "343202",
      d: {
        count: 27,
      },
      a2: true,
    },
    {
      id: "343128-343197",
      type: "link",
      id1: "343128",
      id2: "343197",
      d: {
        count: 25,
      },
      a2: true,
    },
    {
      id: "343128-343232",
      type: "link",
      id1: "343128",
      id2: "343232",
      d: {
        count: 23,
      },
      a2: true,
    },
    {
      id: "343128-343207",
      type: "link",
      id1: "343128",
      id2: "343207",
      d: {
        count: 22,
      },
      a2: true,
    },
    {
      id: "343128-343171",
      type: "link",
      id1: "343128",
      id2: "343171",
      d: {
        count: 29,
      },
      a2: true,
    },
    {
      id: "343128-343157",
      type: "link",
      id1: "343128",
      id2: "343157",
      d: {
        count: 61,
      },
      a2: true,
    },
    {
      id: "343128-343135",
      type: "link",
      id1: "343128",
      id2: "343135",
      d: {
        count: 31,
      },
      a2: true,
    },
    {
      id: "343128-343250",
      type: "link",
      id1: "343128",
      id2: "343250",
      d: {
        count: 53,
      },
      a2: true,
    },
    {
      id: "343128-343142",
      type: "link",
      id1: "343128",
      id2: "343142",
      d: {
        count: 40,
      },
      a2: true,
    },
    {
      id: "343128-343191",
      type: "link",
      id1: "343128",
      id2: "343191",
      d: {
        count: 25,
      },
      a2: true,
    },
    {
      id: "343263-343128",
      type: "link",
      id1: "343263",
      id2: "343128",
      d: {
        count: 26,
      },
      a2: true,
    },
    {
      id: "343160-343238",
      type: "link",
      id1: "343160",
      id2: "343238",
      d: {
        count: 75,
      },
      a2: true,
    },
    {
      id: "343160-343157",
      type: "link",
      id1: "343160",
      id2: "343157",
      d: {
        count: 76,
      },
      a2: true,
    },
    {
      id: "343128-343192",
      type: "link",
      id1: "343128",
      id2: "343192",
      d: {
        count: 61,
      },
      a2: true,
    },
    {
      id: "343128-343221",
      type: "link",
      id1: "343128",
      id2: "343221",
      d: {
        count: 26,
      },
      a2: true,
    },
    {
      id: "343119-343129",
      type: "link",
      id1: "343119",
      id2: "343129",
      d: {
        count: 24,
      },
      a2: true,
    },
    {
      id: "343194-343195",
      type: "link",
      id1: "343194",
      id2: "343195",
      d: {
        count: 22,
      },
      a2: true,
    },
    {
      id: "343211-343112",
      type: "link",
      id1: "343211",
      id2: "343112",
      d: {
        count: 23,
      },
      a2: true,
    },
    {
      id: "343144-343119",
      type: "link",
      id1: "343144",
      id2: "343119",
      d: {
        count: 41,
      },
      a2: true,
    },
    {
      id: "343119-343144",
      type: "link",
      id1: "343119",
      id2: "343144",
      d: {
        count: 133,
      },
      a2: true,
    },
    {
      id: "343154-343186",
      type: "link",
      id1: "343154",
      id2: "343186",
      d: {
        count: 21,
      },
      a2: true,
    },
    {
      id: "343114-343138",
      type: "link",
      id1: "343114",
      id2: "343138",
      d: {
        count: 29,
      },
      a2: true,
    },
    {
      id: "343114-343234",
      type: "link",
      id1: "343114",
      id2: "343234",
      d: {
        count: 23,
      },
      a2: true,
    },
    {
      id: "343114-343260",
      type: "link",
      id1: "343114",
      id2: "343260",
      d: {
        count: 25,
      },
      a2: true,
    },
    {
      id: "343127-343259",
      type: "link",
      id1: "343127",
      id2: "343259",
      d: {
        count: 29,
      },
      a2: true,
    },
    {
      id: "343127-343240",
      type: "link",
      id1: "343127",
      id2: "343240",
      d: {
        count: 23,
      },
      a2: true,
    },
    {
      id: "343127-343211",
      type: "link",
      id1: "343127",
      id2: "343211",
      d: {
        count: 24,
      },
      a2: true,
    },
    {
      id: "343127-343113",
      type: "link",
      id1: "343127",
      id2: "343113",
      d: {
        count: 22,
      },
      a2: true,
    },
    {
      id: "343252-343165",
      type: "link",
      id1: "343252",
      id2: "343165",
      d: {
        count: 31,
      },
      a2: true,
    },
    {
      id: "343167-343165",
      type: "link",
      id1: "343167",
      id2: "343165",
      d: {
        count: 26,
      },
      a2: true,
    },
    {
      id: "343123-343243",
      type: "link",
      id1: "343123",
      id2: "343243",
      d: {
        count: 73,
      },
      a2: true,
    },
    {
      id: "343123-343222",
      type: "link",
      id1: "343123",
      id2: "343222",
      d: {
        count: 38,
      },
      a2: true,
    },
    {
      id: "343165-343228",
      type: "link",
      id1: "343165",
      id2: "343228",
      d: {
        count: 31,
      },
      a2: true,
    },
    {
      id: "343165-343206",
      type: "link",
      id1: "343165",
      id2: "343206",
      d: {
        count: 30,
      },
      a2: true,
    },
    {
      id: "343165-343167",
      type: "link",
      id1: "343165",
      id2: "343167",
      d: {
        count: 185,
      },
      a2: true,
    },
    {
      id: "343165-343182",
      type: "link",
      id1: "343165",
      id2: "343182",
      d: {
        count: 110,
      },
      a2: true,
    },
    {
      id: "343165-343259",
      type: "link",
      id1: "343165",
      id2: "343259",
      d: {
        count: 108,
      },
      a2: true,
    },
    {
      id: "343165-343256",
      type: "link",
      id1: "343165",
      id2: "343256",
      d: {
        count: 138,
      },
      a2: true,
    },
    {
      id: "343165-343252",
      type: "link",
      id1: "343165",
      id2: "343252",
      d: {
        count: 58,
      },
      a2: true,
    },
    {
      id: "343165-343114",
      type: "link",
      id1: "343165",
      id2: "343114",
      d: {
        count: 31,
      },
      a2: true,
    },
    {
      id: "343114-343210",
      type: "link",
      id1: "343114",
      id2: "343210",
      d: {
        count: 21,
      },
      a2: true,
    },
    {
      id: "343177-343230",
      type: "link",
      id1: "343177",
      id2: "343230",
      d: {
        count: 58,
      },
      a2: true,
    },
    {
      id: "343160-343209",
      type: "link",
      id1: "343160",
      id2: "343209",
      d: {
        count: 85,
      },
      a2: true,
    },
    {
      id: "343172-343208",
      type: "link",
      id1: "343172",
      id2: "343208",
      d: {
        count: 22,
      },
      a2: true,
    },
    {
      id: "343117-343172",
      type: "link",
      id1: "343117",
      id2: "343172",
      d: {
        count: 26,
      },
      a2: true,
    },
    {
      id: "343117-343266",
      type: "link",
      id1: "343117",
      id2: "343266",
      d: {
        count: 36,
      },
      a2: true,
    },
    {
      id: "343117-343205",
      type: "link",
      id1: "343117",
      id2: "343205",
      d: {
        count: 69,
      },
      a2: true,
    },
    {
      id: "343145-343218",
      type: "link",
      id1: "343145",
      id2: "343218",
      d: {
        count: 35,
      },
      a2: true,
    },
    {
      id: "343145-343152",
      type: "link",
      id1: "343145",
      id2: "343152",
      d: {
        count: 43,
      },
      a2: true,
    },
    {
      id: "343145-343177",
      type: "link",
      id1: "343145",
      id2: "343177",
      d: {
        count: 62,
      },
      a2: true,
    },
    {
      id: "343145-343124",
      type: "link",
      id1: "343145",
      id2: "343124",
      d: {
        count: 102,
      },
      a2: true,
    },
    {
      id: "343181-343226",
      type: "link",
      id1: "343181",
      id2: "343226",
      d: {
        count: 40,
      },
      a2: true,
    },
    {
      id: "343181-343218",
      type: "link",
      id1: "343181",
      id2: "343218",
      d: {
        count: 23,
      },
      a2: true,
    },
    {
      id: "343181-343183",
      type: "link",
      id1: "343181",
      id2: "343183",
      d: {
        count: 36,
      },
      a2: true,
    },
    {
      id: "343181-343193",
      type: "link",
      id1: "343181",
      id2: "343193",
      d: {
        count: 38,
      },
      a2: true,
    },
    {
      id: "343181-343168",
      type: "link",
      id1: "343181",
      id2: "343168",
      d: {
        count: 47,
      },
      a2: true,
    },
    {
      id: "343181-343243",
      type: "link",
      id1: "343181",
      id2: "343243",
      d: {
        count: 55,
      },
      a2: true,
    },
    {
      id: "343189-343181",
      type: "link",
      id1: "343189",
      id2: "343181",
      d: {
        count: 392,
      },
      a2: true,
    },
    {
      id: "343189-343152",
      type: "link",
      id1: "343189",
      id2: "343152",
      d: {
        count: 400,
      },
      a2: true,
    },
    {
      id: "343206-343152",
      type: "link",
      id1: "343206",
      id2: "343152",
      d: {
        count: 102,
      },
      a2: true,
    },
    {
      id: "343220-343140",
      type: "link",
      id1: "343220",
      id2: "343140",
      d: {
        count: 70,
      },
      a2: true,
    },
    {
      id: "343124-343152",
      type: "link",
      id1: "343124",
      id2: "343152",
      d: {
        count: 30,
      },
      a2: true,
    },
    {
      id: "343124-343177",
      type: "link",
      id1: "343124",
      id2: "343177",
      d: {
        count: 28,
      },
      a2: true,
    },
    {
      id: "343124-343189",
      type: "link",
      id1: "343124",
      id2: "343189",
      d: {
        count: 163,
      },
      a2: true,
    },
    {
      id: "343243-343145",
      type: "link",
      id1: "343243",
      id2: "343145",
      d: {
        count: 132,
      },
      a2: true,
    },
    {
      id: "343145-343243",
      type: "link",
      id1: "343145",
      id2: "343243",
      d: {
        count: 163,
      },
      a2: true,
    },
    {
      id: "343145-343230",
      type: "link",
      id1: "343145",
      id2: "343230",
      d: {
        count: 29,
      },
      a2: true,
    },
    {
      id: "343145-343220",
      type: "link",
      id1: "343145",
      id2: "343220",
      d: {
        count: 38,
      },
      a2: true,
    },
    {
      id: "343145-343226",
      type: "link",
      id1: "343145",
      id2: "343226",
      d: {
        count: 39,
      },
      a2: true,
    },
    {
      id: "343145-343193",
      type: "link",
      id1: "343145",
      id2: "343193",
      d: {
        count: 48,
      },
      a2: true,
    },
    {
      id: "343145-343189",
      type: "link",
      id1: "343145",
      id2: "343189",
      d: {
        count: 125,
      },
      a2: true,
    },
    {
      id: "343145-343183",
      type: "link",
      id1: "343145",
      id2: "343183",
      d: {
        count: 73,
      },
      a2: true,
    },
    {
      id: "343145-343181",
      type: "link",
      id1: "343145",
      id2: "343181",
      d: {
        count: 70,
      },
      a2: true,
    },
    {
      id: "343145-343176",
      type: "link",
      id1: "343145",
      id2: "343176",
      d: {
        count: 32,
      },
      a2: true,
    },
    {
      id: "343145-343168",
      type: "link",
      id1: "343145",
      id2: "343168",
      d: {
        count: 40,
      },
      a2: true,
    },
    {
      id: "343181-343189",
      type: "link",
      id1: "343181",
      id2: "343189",
      d: {
        count: 91,
      },
      a2: true,
    },
    {
      id: "343181-343145",
      type: "link",
      id1: "343181",
      id2: "343145",
      d: {
        count: 36,
      },
      a2: true,
    },
    {
      id: "343189-343176",
      type: "link",
      id1: "343189",
      id2: "343176",
      d: {
        count: 370,
      },
      a2: true,
    },
    {
      id: "343169-343124",
      type: "link",
      id1: "343169",
      id2: "343124",
      d: {
        count: 58,
      },
      a2: true,
    },
    {
      id: "343169-343137",
      type: "link",
      id1: "343169",
      id2: "343137",
      d: {
        count: 36,
      },
      a2: true,
    },
    {
      id: "343169-343152",
      type: "link",
      id1: "343169",
      id2: "343152",
      d: {
        count: 43,
      },
      a2: true,
    },
    {
      id: "343169-343177",
      type: "link",
      id1: "343169",
      id2: "343177",
      d: {
        count: 47,
      },
      a2: true,
    },
    {
      id: "343169-343257",
      type: "link",
      id1: "343169",
      id2: "343257",
      d: {
        count: 30,
      },
      a2: true,
    },
    {
      id: "343206-343177",
      type: "link",
      id1: "343206",
      id2: "343177",
      d: {
        count: 27,
      },
      a2: true,
    },
    {
      id: "343206-343257",
      type: "link",
      id1: "343206",
      id2: "343257",
      d: {
        count: 207,
      },
      a2: true,
    },
    {
      id: "343177-343152",
      type: "link",
      id1: "343177",
      id2: "343152",
      d: {
        count: 28,
      },
      a2: true,
    },
    {
      id: "343189-343219",
      type: "link",
      id1: "343189",
      id2: "343219",
      d: {
        count: 38,
      },
      a2: true,
    },
    {
      id: "343189-343222",
      type: "link",
      id1: "343189",
      id2: "343222",
      d: {
        count: 104,
      },
      a2: true,
    },
    {
      id: "343189-343145",
      type: "link",
      id1: "343189",
      id2: "343145",
      d: {
        count: 103,
      },
      a2: true,
    },
    {
      id: "343189-343123",
      type: "link",
      id1: "343189",
      id2: "343123",
      d: {
        count: 171,
      },
      a2: true,
    },
    {
      id: "343189-343124",
      type: "link",
      id1: "343189",
      id2: "343124",
      d: {
        count: 328,
      },
      a2: true,
    },
    {
      id: "343189-343243",
      type: "link",
      id1: "343189",
      id2: "343243",
      d: {
        count: 203,
      },
      a2: true,
    },
    {
      id: "343189-343183",
      type: "link",
      id1: "343189",
      id2: "343183",
      d: {
        count: 156,
      },
      a2: true,
    },
    {
      id: "343169-343130",
      type: "link",
      id1: "343169",
      id2: "343130",
      d: {
        count: 28,
      },
      a2: true,
    },
    {
      id: "343260-343130",
      type: "link",
      id1: "343260",
      id2: "343130",
      d: {
        count: 24,
      },
      a2: true,
    },
    {
      id: "343217-343130",
      type: "link",
      id1: "343217",
      id2: "343130",
      d: {
        count: 62,
      },
      a2: true,
    },
    {
      id: "343124-343130",
      type: "link",
      id1: "343124",
      id2: "343130",
      d: {
        count: 68,
      },
      a2: true,
    },
    {
      id: "343137-343169",
      type: "link",
      id1: "343137",
      id2: "343169",
      d: {
        count: 70,
      },
      a2: true,
    },
    {
      id: "343176-343124",
      type: "link",
      id1: "343176",
      id2: "343124",
      d: {
        count: 34,
      },
      a2: true,
    },
    {
      id: "343177-343265",
      type: "link",
      id1: "343177",
      id2: "343265",
      d: {
        count: 81,
      },
      a2: true,
    },
    {
      id: "343177-343176",
      type: "link",
      id1: "343177",
      id2: "343176",
      d: {
        count: 42,
      },
      a2: true,
    },
    {
      id: "343177-343169",
      type: "link",
      id1: "343177",
      id2: "343169",
      d: {
        count: 41,
      },
      a2: true,
    },
    {
      id: "343224-343151",
      type: "link",
      id1: "343224",
      id2: "343151",
      d: {
        count: 96,
      },
      a2: true,
    },
    {
      id: "343114-343127",
      type: "link",
      id1: "343114",
      id2: "343127",
      d: {
        count: 24,
      },
      a2: true,
    },
    {
      id: "343189-343117",
      type: "link",
      id1: "343189",
      id2: "343117",
      d: {
        count: 35,
      },
      a2: true,
    },
    {
      id: "343177-343119",
      type: "link",
      id1: "343177",
      id2: "343119",
      d: {
        count: 23,
      },
      a2: true,
    },
    {
      id: "343248-343243",
      type: "link",
      id1: "343248",
      id2: "343243",
      d: {
        count: 127,
      },
      a2: true,
    },
    {
      id: "343248-343123",
      type: "link",
      id1: "343248",
      id2: "343123",
      d: {
        count: 89,
      },
      a2: true,
    },
    {
      id: "343248-343189",
      type: "link",
      id1: "343248",
      id2: "343189",
      d: {
        count: 78,
      },
      a2: true,
    },
    {
      id: "343248-343124",
      type: "link",
      id1: "343248",
      id2: "343124",
      d: {
        count: 101,
      },
      a2: true,
    },
    {
      id: "343248-343177",
      type: "link",
      id1: "343248",
      id2: "343177",
      d: {
        count: 27,
      },
      a2: true,
    },
    {
      id: "343248-343176",
      type: "link",
      id1: "343248",
      id2: "343176",
      d: {
        count: 29,
      },
      a2: true,
    },
    {
      id: "343248-343145",
      type: "link",
      id1: "343248",
      id2: "343145",
      d: {
        count: 50,
      },
      a2: true,
    },
    {
      id: "343145-343123",
      type: "link",
      id1: "343145",
      id2: "343123",
      d: {
        count: 53,
      },
      a2: true,
    },
    {
      id: "343145-343248",
      type: "link",
      id1: "343145",
      id2: "343248",
      d: {
        count: 43,
      },
      a2: true,
    },
    {
      id: "343177-343248",
      type: "link",
      id1: "343177",
      id2: "343248",
      d: {
        count: 41,
      },
      a2: true,
    },
    {
      id: "343243-343219",
      type: "link",
      id1: "343243",
      id2: "343219",
      d: {
        count: 95,
      },
      a2: true,
    },
    {
      id: "343243-343222",
      type: "link",
      id1: "343243",
      id2: "343222",
      d: {
        count: 191,
      },
      a2: true,
    },
    {
      id: "343243-343189",
      type: "link",
      id1: "343243",
      id2: "343189",
      d: {
        count: 168,
      },
      a2: true,
    },
    {
      id: "343243-343123",
      type: "link",
      id1: "343243",
      id2: "343123",
      d: {
        count: 253,
      },
      a2: true,
    },
    {
      id: "343243-343248",
      type: "link",
      id1: "343243",
      id2: "343248",
      d: {
        count: 167,
      },
      a2: true,
    },
    {
      id: "343243-343183",
      type: "link",
      id1: "343243",
      id2: "343183",
      d: {
        count: 196,
      },
      a2: true,
    },
    {
      id: "343243-343124",
      type: "link",
      id1: "343243",
      id2: "343124",
      d: {
        count: 238,
      },
      a2: true,
    },
    {
      id: "343123-343248",
      type: "link",
      id1: "343123",
      id2: "343248",
      d: {
        count: 32,
      },
      a2: true,
    },
    {
      id: "343222-343248",
      type: "link",
      id1: "343222",
      id2: "343248",
      d: {
        count: 52,
      },
      a2: true,
    },
    {
      id: "343248-343222",
      type: "link",
      id1: "343248",
      id2: "343222",
      d: {
        count: 28,
      },
      a2: true,
    },
    {
      id: "343224-343152",
      type: "link",
      id1: "343224",
      id2: "343152",
      d: {
        count: 53,
      },
      a2: true,
    },
    {
      id: "343224-343220",
      type: "link",
      id1: "343224",
      id2: "343220",
      d: {
        count: 56,
      },
      a2: true,
    },
    {
      id: "343220-343224",
      type: "link",
      id1: "343220",
      id2: "343224",
      d: {
        count: 35,
      },
      a2: true,
    },
    {
      id: "343220-343242",
      type: "link",
      id1: "343220",
      id2: "343242",
      d: {
        count: 23,
      },
      a2: true,
    },
    {
      id: "343220-343214",
      type: "link",
      id1: "343220",
      id2: "343214",
      d: {
        count: 46,
      },
      a2: true,
    },
    {
      id: "343220-343180",
      type: "link",
      id1: "343220",
      id2: "343180",
      d: {
        count: 82,
      },
      a2: true,
    },
    {
      id: "343214-343220",
      type: "link",
      id1: "343214",
      id2: "343220",
      d: {
        count: 63,
      },
      a2: true,
    },
    {
      id: "343168-343220",
      type: "link",
      id1: "343168",
      id2: "343220",
      d: {
        count: 21,
      },
      a2: true,
    },
    {
      id: "343180-343220",
      type: "link",
      id1: "343180",
      id2: "343220",
      d: {
        count: 56,
      },
      a2: true,
    },
    {
      id: "343220-343179",
      type: "link",
      id1: "343220",
      id2: "343179",
      d: {
        count: 24,
      },
      a2: true,
    },
    {
      id: "343180-343202",
      type: "link",
      id1: "343180",
      id2: "343202",
      d: {
        count: 47,
      },
      a2: true,
    },
    {
      id: "343220-343202",
      type: "link",
      id1: "343220",
      id2: "343202",
      d: {
        count: 32,
      },
      a2: true,
    },
    {
      id: "343179-343220",
      type: "link",
      id1: "343179",
      id2: "343220",
      d: {
        count: 23,
      },
      a2: true,
    },
    {
      id: "343170-343189",
      type: "link",
      id1: "343170",
      id2: "343189",
      d: {
        count: 74,
      },
      a2: true,
    },
    {
      id: "343170-343124",
      type: "link",
      id1: "343170",
      id2: "343124",
      d: {
        count: 29,
      },
      a2: true,
    },
    {
      id: "343124-343222",
      type: "link",
      id1: "343124",
      id2: "343222",
      d: {
        count: 29,
      },
      a2: true,
    },
    {
      id: "343124-343123",
      type: "link",
      id1: "343124",
      id2: "343123",
      d: {
        count: 42,
      },
      a2: true,
    },
    {
      id: "343124-343248",
      type: "link",
      id1: "343124",
      id2: "343248",
      d: {
        count: 85,
      },
      a2: true,
    },
    {
      id: "343124-343243",
      type: "link",
      id1: "343124",
      id2: "343243",
      d: {
        count: 148,
      },
      a2: true,
    },
    {
      id: "343124-343219",
      type: "link",
      id1: "343124",
      id2: "343219",
      d: {
        count: 24,
      },
      a2: true,
    },
    {
      id: "343124-343193",
      type: "link",
      id1: "343124",
      id2: "343193",
      d: {
        count: 37,
      },
      a2: true,
    },
    {
      id: "343124-343183",
      type: "link",
      id1: "343124",
      id2: "343183",
      d: {
        count: 88,
      },
      a2: true,
    },
    {
      id: "343124-343176",
      type: "link",
      id1: "343124",
      id2: "343176",
      d: {
        count: 38,
      },
      a2: true,
    },
    {
      id: "343124-343170",
      type: "link",
      id1: "343124",
      id2: "343170",
      d: {
        count: 26,
      },
      a2: true,
    },
    {
      id: "343124-343168",
      type: "link",
      id1: "343124",
      id2: "343168",
      d: {
        count: 34,
      },
      a2: true,
    },
    {
      id: "343124-343151",
      type: "link",
      id1: "343124",
      id2: "343151",
      d: {
        count: 21,
      },
      a2: true,
    },
    {
      id: "343124-343145",
      type: "link",
      id1: "343124",
      id2: "343145",
      d: {
        count: 48,
      },
      a2: true,
    },
    {
      id: "343180-343140",
      type: "link",
      id1: "343180",
      id2: "343140",
      d: {
        count: 70,
      },
      a2: true,
    },
    {
      id: "343180-343179",
      type: "link",
      id1: "343180",
      id2: "343179",
      d: {
        count: 37,
      },
      a2: true,
    },
    {
      id: "343140-343220",
      type: "link",
      id1: "343140",
      id2: "343220",
      d: {
        count: 44,
      },
      a2: true,
    },
    {
      id: "343179-343140",
      type: "link",
      id1: "343179",
      id2: "343140",
      d: {
        count: 27,
      },
      a2: true,
    },
    {
      id: "343179-343180",
      type: "link",
      id1: "343179",
      id2: "343180",
      d: {
        count: 29,
      },
      a2: true,
    },
    {
      id: "343214-343140",
      type: "link",
      id1: "343214",
      id2: "343140",
      d: {
        count: 35,
      },
      a2: true,
    },
    {
      id: "343140-343214",
      type: "link",
      id1: "343140",
      id2: "343214",
      d: {
        count: 36,
      },
      a2: true,
    },
    {
      id: "343140-343180",
      type: "link",
      id1: "343140",
      id2: "343180",
      d: {
        count: 45,
      },
      a2: true,
    },
    {
      id: "343162-343140",
      type: "link",
      id1: "343162",
      id2: "343140",
      d: {
        count: 25,
      },
      a2: true,
    },
    {
      id: "343140-343162",
      type: "link",
      id1: "343140",
      id2: "343162",
      d: {
        count: 25,
      },
      a2: true,
    },
    {
      id: "343265-343177",
      type: "link",
      id1: "343265",
      id2: "343177",
      d: {
        count: 55,
      },
      a2: true,
    },
    {
      id: "343254-343188",
      type: "link",
      id1: "343254",
      id2: "343188",
      d: {
        count: 22,
      },
      a2: true,
    },
    {
      id: "343111-343245",
      type: "link",
      id1: "343111",
      id2: "343245",
      d: {
        count: 23,
      },
      a2: true,
    },
    {
      id: "343198-343188",
      type: "link",
      id1: "343198",
      id2: "343188",
      d: {
        count: 25,
      },
      a2: true,
    },
    {
      id: "343111-343198",
      type: "link",
      id1: "343111",
      id2: "343198",
      d: {
        count: 23,
      },
      a2: true,
    },
    {
      id: "343188-343140",
      type: "link",
      id1: "343188",
      id2: "343140",
      d: {
        count: 52,
      },
      a2: true,
    },
    {
      id: "343188-343245",
      type: "link",
      id1: "343188",
      id2: "343245",
      d: {
        count: 69,
      },
      a2: true,
    },
    {
      id: "343188-343242",
      type: "link",
      id1: "343188",
      id2: "343242",
      d: {
        count: 64,
      },
      a2: true,
    },
    {
      id: "343188-343196",
      type: "link",
      id1: "343188",
      id2: "343196",
      d: {
        count: 79,
      },
      a2: true,
    },
    {
      id: "343188-343187",
      type: "link",
      id1: "343188",
      id2: "343187",
      d: {
        count: 36,
      },
      a2: true,
    },
    {
      id: "343188-343239",
      type: "link",
      id1: "343188",
      id2: "343239",
      d: {
        count: 86,
      },
      a2: true,
    },
    {
      id: "343111-343186",
      type: "link",
      id1: "343111",
      id2: "343186",
      d: {
        count: 56,
      },
      a2: true,
    },
    {
      id: "343111-343156",
      type: "link",
      id1: "343111",
      id2: "343156",
      d: {
        count: 24,
      },
      a2: true,
    },
    {
      id: "343111-343188",
      type: "link",
      id1: "343111",
      id2: "343188",
      d: {
        count: 51,
      },
      a2: true,
    },
    {
      id: "343243-343181",
      type: "link",
      id1: "343243",
      id2: "343181",
      d: {
        count: 152,
      },
      a2: true,
    },
    {
      id: "343183-343243",
      type: "link",
      id1: "343183",
      id2: "343243",
      d: {
        count: 43,
      },
      a2: true,
    },
    {
      id: "343183-343189",
      type: "link",
      id1: "343183",
      id2: "343189",
      d: {
        count: 29,
      },
      a2: true,
    },
    {
      id: "343123-343183",
      type: "link",
      id1: "343123",
      id2: "343183",
      d: {
        count: 45,
      },
      a2: true,
    },
    {
      id: "343183-343123",
      type: "link",
      id1: "343183",
      id2: "343123",
      d: {
        count: 21,
      },
      a2: true,
    },
    {
      id: "343189-343248",
      type: "link",
      id1: "343189",
      id2: "343248",
      d: {
        count: 187,
      },
      a2: true,
    },
    {
      id: "343189-343177",
      type: "link",
      id1: "343189",
      id2: "343177",
      d: {
        count: 163,
      },
      a2: true,
    },
    {
      id: "343189-343151",
      type: "link",
      id1: "343189",
      id2: "343151",
      d: {
        count: 272,
      },
      a2: true,
    },
    {
      id: "343145-343222",
      type: "link",
      id1: "343145",
      id2: "343222",
      d: {
        count: 30,
      },
      a2: true,
    },
    {
      id: "343183-343124",
      type: "link",
      id1: "343183",
      id2: "343124",
      d: {
        count: 56,
      },
      a2: true,
    },
    {
      id: "343222-343219",
      type: "link",
      id1: "343222",
      id2: "343219",
      d: {
        count: 75,
      },
      a2: true,
    },
    {
      id: "343222-343189",
      type: "link",
      id1: "343222",
      id2: "343189",
      d: {
        count: 102,
      },
      a2: true,
    },
    {
      id: "343243-343193",
      type: "link",
      id1: "343243",
      id2: "343193",
      d: {
        count: 27,
      },
      a2: true,
    },
    {
      id: "343248-343183",
      type: "link",
      id1: "343248",
      id2: "343183",
      d: {
        count: 22,
      },
      a2: true,
    },
    {
      id: "343219-343243",
      type: "link",
      id1: "343219",
      id2: "343243",
      d: {
        count: 131,
      },
      a2: true,
    },
    {
      id: "343219-343189",
      type: "link",
      id1: "343219",
      id2: "343189",
      d: {
        count: 30,
      },
      a2: true,
    },
    {
      id: "343219-343222",
      type: "link",
      id1: "343219",
      id2: "343222",
      d: {
        count: 69,
      },
      a2: true,
    },
    {
      id: "343219-343124",
      type: "link",
      id1: "343219",
      id2: "343124",
      d: {
        count: 31,
      },
      a2: true,
    },
    {
      id: "343189-343170",
      type: "link",
      id1: "343189",
      id2: "343170",
      d: {
        count: 61,
      },
      a2: true,
    },
    {
      id: "343219-343181",
      type: "link",
      id1: "343219",
      id2: "343181",
      d: {
        count: 21,
      },
      a2: true,
    },
    {
      id: "343123-343219",
      type: "link",
      id1: "343123",
      id2: "343219",
      d: {
        count: 36,
      },
      a2: true,
    },
    {
      id: "343123-343145",
      type: "link",
      id1: "343123",
      id2: "343145",
      d: {
        count: 35,
      },
      a2: true,
    },
    {
      id: "343123-343189",
      type: "link",
      id1: "343123",
      id2: "343189",
      d: {
        count: 47,
      },
      a2: true,
    },
    {
      id: "343123-343124",
      type: "link",
      id1: "343123",
      id2: "343124",
      d: {
        count: 51,
      },
      a2: true,
    },
    {
      id: "343181-343124",
      type: "link",
      id1: "343181",
      id2: "343124",
      d: {
        count: 31,
      },
      a2: true,
    },
    {
      id: "343181-343222",
      type: "link",
      id1: "343181",
      id2: "343222",
      d: {
        count: 25,
      },
      a2: true,
    },
    {
      id: "343181-343123",
      type: "link",
      id1: "343181",
      id2: "343123",
      d: {
        count: 35,
      },
      a2: true,
    },
    {
      id: "343222-343181",
      type: "link",
      id1: "343222",
      id2: "343181",
      d: {
        count: 36,
      },
      a2: true,
    },
    {
      id: "343123-343193",
      type: "link",
      id1: "343123",
      id2: "343193",
      d: {
        count: 31,
      },
      a2: true,
    },
    {
      id: "343123-343181",
      type: "link",
      id1: "343123",
      id2: "343181",
      d: {
        count: 25,
      },
      a2: true,
    },
    {
      id: "343124-343226",
      type: "link",
      id1: "343124",
      id2: "343226",
      d: {
        count: 22,
      },
      a2: true,
    },
    {
      id: "343257-343206",
      type: "link",
      id1: "343257",
      id2: "343206",
      d: {
        count: 23,
      },
      a2: true,
    },
    {
      id: "343124-343181",
      type: "link",
      id1: "343124",
      id2: "343181",
      d: {
        count: 38,
      },
      a2: true,
    },
    {
      id: "343177-343137",
      type: "link",
      id1: "343177",
      id2: "343137",
      d: {
        count: 29,
      },
      a2: true,
    },
    {
      id: "343124-343169",
      type: "link",
      id1: "343124",
      id2: "343169",
      d: {
        count: 24,
      },
      a2: true,
    },
    {
      id: "343111-343112",
      type: "link",
      id1: "343111",
      id2: "343112",
      d: {
        count: 28,
      },
      a2: true,
    },
    {
      id: "343117-343112",
      type: "link",
      id1: "343117",
      id2: "343112",
      d: {
        count: 67,
      },
      a2: true,
    },
    {
      id: "343206-343168",
      type: "link",
      id1: "343206",
      id2: "343168",
      d: {
        count: 60,
      },
      a2: true,
    },
    {
      id: "343242-343239",
      type: "link",
      id1: "343242",
      id2: "343239",
      d: {
        count: 83,
      },
      a2: true,
    },
    {
      id: "343189-343130",
      type: "link",
      id1: "343189",
      id2: "343130",
      d: {
        count: 53,
      },
      a2: true,
    },
    {
      id: "343189-343230",
      type: "link",
      id1: "343189",
      id2: "343230",
      d: {
        count: 159,
      },
      a2: true,
    },
    {
      id: "343176-343189",
      type: "link",
      id1: "343176",
      id2: "343189",
      d: {
        count: 271,
      },
      a2: true,
    },
    {
      id: "343189-343266",
      type: "link",
      id1: "343189",
      id2: "343266",
      d: {
        count: 24,
      },
      a2: true,
    },
    {
      id: "343128-343184",
      type: "link",
      id1: "343128",
      id2: "343184",
      d: {
        count: 50,
      },
      a2: true,
    },
    {
      id: "343128-343236",
      type: "link",
      id1: "343128",
      id2: "343236",
      d: {
        count: 23,
      },
      a2: true,
    },
    {
      id: "343228-343140",
      type: "link",
      id1: "343228",
      id2: "343140",
      d: {
        count: 21,
      },
      a2: true,
    },
    {
      id: "343202-343180",
      type: "link",
      id1: "343202",
      id2: "343180",
      d: {
        count: 22,
      },
      a2: true,
    },
    {
      id: "343177-343218",
      type: "link",
      id1: "343177",
      id2: "343218",
      d: {
        count: 26,
      },
      a2: true,
    },
    {
      id: "343177-343215",
      type: "link",
      id1: "343177",
      id2: "343215",
      d: {
        count: 26,
      },
      a2: true,
    },
    {
      id: "343177-343264",
      type: "link",
      id1: "343177",
      id2: "343264",
      d: {
        count: 48,
      },
      a2: true,
    },
    {
      id: "343202-343179",
      type: "link",
      id1: "343202",
      id2: "343179",
      d: {
        count: 21,
      },
      a2: true,
    },
    {
      type: "node",
      id: "343111",
      t: "Tamara Williams",
      d: {
        email: "[email protected]",
        reports: "Joshua Cervantes",
        sent: 213,
      },
    },
    {
      type: "node",
      id: "343112",
      t: "Joshua Cervantes",
      d: {
        email: "[email protected]",
        sent: 447,
      },
    },
    {
      type: "node",
      id: "343113",
      t: "Larry Anderson",
      d: {
        email: "[email protected]",
        reports: "Michael Solis",
        sent: 6,
      },
    },
    {
      type: "node",
      id: "343114",
      t: "Michael Solis",
      d: {
        email: "[email protected]",
        reports: "Joshua Cervantes",
        sent: 189,
      },
    },
    {
      type: "node",
      id: "343115",
      t: "Maria Barker",
      d: {
        email: "[email protected]",
        reports: "Justin Patel",
        sent: 4,
      },
    },
    {
      type: "node",
      id: "343116",
      t: "Justin Patel",
      d: {
        email: "[email protected]",
        sent: 311,
      },
    },
    {
      type: "node",
      id: "343117",
      t: "Richard Evans",
      d: {
        email: "[email protected]",
        reports: "Joshua Cervantes",
        sent: 233,
      },
    },
    {
      type: "node",
      id: "343118",
      t: "Julie Chavez",
      d: {
        email: "[email protected]",
        reports: "Denise Wheeler",
        sent: 23,
      },
    },
    {
      type: "node",
      id: "343119",
      t: "Denise Wheeler",
      d: {
        email: "[email protected]",
        reports: "Debbie McConnell",
        sent: 385,
      },
    },
    {
      type: "node",
      id: "343120",
      t: "Tracy Fisher",
      d: {
        email: "[email protected]",
        reports: "Alicia Smith",
        sent: 16,
      },
    },
    {
      type: "node",
      id: "343121",
      t: "Alicia Smith",
      d: {
        email: "[email protected]",
        reports: "Debbie McConnell",
        sent: 147,
      },
    },
    {
      type: "node",
      id: "343122",
      t: "Malik Powell",
      d: {
        email: "[email protected]",
        reports: "Denise Wheeler",
        sent: 33,
      },
    },
    {
      type: "node",
      id: "343123",
      t: "Amy Brady",
      d: {
        email: "[email protected]",
        reports: "Angela Campbell",
        sent: 103,
      },
    },
    {
      type: "node",
      id: "343124",
      t: "Angela Campbell",
      d: {
        email: "[email protected]",
        reports: "Brandon Jackson",
        sent: 753,
      },
    },
    {
      type: "node",
      id: "343125",
      t: "Kimberly Williams",
      d: {
        email: "[email protected]",
        reports: "Tina Burton",
        sent: 5,
      },
    },
    {
      type: "node",
      id: "343126",
      t: "Tina Burton",
      d: {
        email: "[email protected]",
        reports: "Denise Wheeler",
        sent: 38,
      },
    },
    {
      type: "node",
      id: "343127",
      t: "Michael Nicholson",
      d: {
        email: "[email protected]",
        reports: "Michael Solis",
        sent: 55,
      },
    },
    {
      type: "node",
      id: "343128",
      t: "John Becker",
      d: {
        email: "[email protected]",
        reports: "Cindy Jenkins",
        sent: 96,
      },
    },
    {
      type: "node",
      id: "343129",
      t: "Cindy Jenkins",
      d: {
        email: "[email protected]",
        reports: "Denise Wheeler",
        sent: 72,
      },
    },
    {
      type: "node",
      id: "343130",
      t: "Debbie McConnell",
      d: {
        email: "[email protected]",
        sent: 420,
      },
    },
    {
      type: "node",
      id: "343131",
      t: "Robert Mckenzie",
      d: {
        email: "[email protected]",
        reports: "Michael Osborn",
      },
    },
    {
      type: "node",
      id: "343132",
      t: "Michael Osborn",
      d: {
        email: "[email protected]",
        reports: "Denise Wheeler",
        sent: 3,
      },
    },
    {
      type: "node",
      id: "343133",
      t: "Sandra Bush",
      d: {
        email: "[email protected]",
        reports: "Denise Wheeler",
        sent: 13,
      },
    },
    {
      type: "node",
      id: "343134",
      t: "Kyle Garcia",
      d: {
        email: "[email protected]",
        reports: "Denise Wheeler",
        sent: 38,
      },
    },
    {
      type: "node",
      id: "343135",
      t: "Terrence Fitzgerald",
      d: {
        email: "[email protected]",
        reports: "Denise Wheeler",
        sent: 9,
      },
    },
    {
      type: "node",
      id: "343136",
      t: "Kerry Wilson",
      d: {
        email: "[email protected]",
        reports: "Jason Wilson",
        sent: 15,
      },
    },
    {
      type: "node",
      id: "343137",
      t: "Jason Wilson",
      d: {
        email: "[email protected]",
        sent: 217,
      },
    },
    {
      type: "node",
      id: "343138",
      t: "Kenneth Davis",
      d: {
        email: "[email protected]",
        reports: "Michael Solis",
        sent: 19,
      },
    },
    {
      type: "node",
      id: "343139",
      t: "Lucas Lucero",
      d: {
        email: "[email protected]",
        reports: "Jesse Hudson",
        sent: 13,
      },
    },
    {
      type: "node",
      id: "343140",
      t: "Jesse Hudson",
      d: {
        email: "[email protected]",
        reports: "Joshua Cervantes",
        sent: 231,
      },
    },
    {
      type: "node",
      id: "343141",
      t: "David Osborne",
      d: {
        email: "[email protected]",
        reports: "Debbie McConnell",
        sent: 217,
      },
    },
    {
      type: "node",
      id: "343142",
      t: "Anthony Shannon",
      d: {
        email: "[email protected]",
        reports: "Michael Osborn",
        sent: 29,
      },
    },
    {
      type: "node",
      id: "343143",
      t: "Joseph Lopez",
      d: {
        email: "[email protected]",
        reports: "Pamela Gilbert",
        sent: 19,
      },
    },
    {
      type: "node",
      id: "343144",
      t: "Pamela Gilbert",
      d: {
        email: "[email protected]",
        reports: "Denise Wheeler",
        sent: 56,
      },
    },
    {
      type: "node",
      id: "343145",
      t: "Victoria Aguirre",
      d: {
        email: "[email protected]",
        reports: "Angela Campbell",
        sent: 338,
      },
    },
    {
      type: "node",
      id: "343146",
      t: "Kristie Hawkins",
      d: {
        email: "[email protected]",
        reports: "Alicia Smith",
        sent: 30,
      },
    },
    {
      type: "node",
      id: "343147",
      t: "Daniel Chavez",
      d: {
        email: "[email protected]",
        reports: "Kelsey Mitchell",
        sent: 44,
      },
    },
    {
      type: "node",
      id: "343148",
      t: "Kelsey Mitchell",
      d: {
        email: "[email protected]",
        reports: "Joshua Cervantes",
        sent: 134,
      },
    },
    {
      type: "node",
      id: "343149",
      t: "Kristen Taylor",
      d: {
        email: "[email protected]",
        reports: "Justin Patel",
        sent: 4,
      },
    },
    {
      type: "node",
      id: "343150",
      t: "Kristen Rodriguez",
      d: {
        email: "[email protected]",
        reports: "Tina Burton",
        sent: 11,
      },
    },
    {
      type: "node",
      id: "343151",
      t: "Tara Marquez",
      d: {
        email: "[email protected]",
        reports: "James Lewis",
        sent: 62,
      },
    },
    {
      type: "node",
      id: "343152",
      t: "James Lewis",
      d: {
        email: "[email protected]",
        reports: "Brandon Jackson",
        sent: 97,
      },
    },
    {
      type: "node",
      id: "343153",
      t: "Anthony Robinson",
      d: {
        email: "[email protected]",
        reports: "Kelsey Mitchell",
        sent: 4,
      },
    },
    {
      type: "node",
      id: "343154",
      t: "Alexandra Perez",
      d: {
        email: "[email protected]",
        reports: "Cindy Jenkins",
        sent: 107,
      },
    },
    {
      type: "node",
      id: "343155",
      t: "Steven Wallace",
      d: {
        email: "[email protected]",
        reports: "Debbie McConnell",
        sent: 13,
      },
    },
    {
      type: "node",
      id: "343156",
      t: "Jennifer Valdez",
      d: {
        email: "[email protected]",
        reports: "Tamara Williams",
        sent: 13,
      },
    },
    {
      type: "node",
      id: "343157",
      t: "Benjamin Erickson",
      d: {
        email: "[email protected]",
        reports: "Tina Burton",
        sent: 9,
      },
    },
    {
      type: "node",
      id: "343158",
      t: "Travis Chen",
      d: {
        email: "[email protected]",
        reports: "Jeffrey Kelley",
        sent: 13,
      },
    },
    {
      type: "node",
      id: "343159",
      t: "Jeffrey Kelley",
      d: {
        email: "[email protected]",
        sent: 47,
      },
    },
    {
      type: "node",
      id: "343160",
      t: "Andrew Stout",
      d: {
        email: "[email protected]",
        reports: "Pamela Gilbert",
        sent: 154,
      },
    },
    {
      type: "node",
      id: "343161",
      t: "Philip Larson",
      d: {
        email: "[email protected]",
        reports: "Andrew Stout",
        sent: 1,
      },
    },
    {
      type: "node",
      id: "343162",
      t: "Sharon Miller",
      d: {
        email: "[email protected]",
        reports: "Jesse Hudson",
        sent: 48,
      },
    },
    {
      type: "node",
      id: "343163",
      t: "Micheal King",
      d: {
        email: "[email protected]",
        reports: "Kelsey Mitchell",
        sent: 42,
      },
    },
    {
      type: "node",
      id: "343164",
      t: "Daniel Farmer",
      d: {
        email: "[email protected]",
        reports: "Tamara Williams",
        sent: 23,
      },
    },
    {
      type: "node",
      id: "343165",
      t: "Hector Stewart",
      d: {
        email: "[email protected]",
        reports: "Michael Solis",
        sent: 606,
      },
    },
    {
      type: "node",
      id: "343166",
      t: "Joseph McCoy",
      d: {
        email: "[email protected]",
        reports: "Debbie McConnell",
        sent: 32,
      },
    },
    {
      type: "node",
      id: "343167",
      t: "Michael Mathews",
      d: {
        email: "[email protected]",
        reports: "Michael Solis",
        sent: 40,
      },
    },
    {
      type: "node",
      id: "343168",
      t: "Jose Ellison",
      d: {
        email: "[email protected]",
        reports: "Brandon Jackson",
        sent: 56,
      },
    },
    {
      type: "node",
      id: "343169",
      t: "Brandon Jackson",
      d: {
        email: "[email protected]",
        sent: 196,
      },
    },
    {
      type: "node",
      id: "343170",
      t: "Edward Hernandez",
      d: {
        email: "[email protected]",
        reports: "Angela Campbell",
        sent: 143,
      },
    },
    {
      type: "node",
      id: "343171",
      t: "Gina Miller",
      d: {
        email: "[email protected]",
        reports: "John Becker",
        sent: 3,
      },
    },
    {
      type: "node",
      id: "343172",
      t: "Eric Garcia",
      d: {
        email: "[email protected]",
        reports: "Richard Evans",
        sent: 59,
      },
    },
    {
      type: "node",
      id: "343173",
      t: "John Bailey",
      d: {
        email: "[email protected]",
        reports: "Tamara Williams",
      },
    },
    {
      type: "node",
      id: "343174",
      t: "Gary Harrison",
      d: {
        email: "[email protected]",
        reports: "Julie Chavez",
        sent: 32,
      },
    },
    {
      type: "node",
      id: "343175",
      t: "Patrick Newman",
      d: {
        email: "[email protected]",
        reports: "Justin Patel",
        sent: 34,
      },
    },
    {
      type: "node",
      id: "343176",
      t: "Rodney Sampson",
      d: {
        email: "[email protected]",
        reports: "Andrea Carter",
        sent: 358,
      },
    },
    {
      type: "node",
      id: "343177",
      t: "Andrea Carter",
      d: {
        email: "[email protected]",
        reports: "Brandon Jackson",
        sent: 427,
      },
    },
    {
      type: "node",
      id: "343178",
      t: "Rhonda Johnson",
      d: {
        email: "[email protected]",
        reports: "Justin Patel",
        sent: 1,
      },
    },
    {
      type: "node",
      id: "343179",
      t: "Elizabeth Price",
      d: {
        email: "[email protected]",
        reports: "Ricky Maddox",
        sent: 70,
      },
    },
    {
      type: "node",
      id: "343180",
      t: "Ricky Maddox",
      d: {
        email: "[email protected]",
        reports: "Jesse Hudson",
        sent: 195,
      },
    },
    {
      type: "node",
      id: "343181",
      t: "Michael Griffin",
      d: {
        email: "[email protected]",
        reports: "Angela Campbell",
        sent: 185,
      },
    },
    {
      type: "node",
      id: "343182",
      t: "Anthony Myers",
      d: {
        email: "[email protected]",
        reports: "Michael Solis",
        sent: 6,
      },
    },
    {
      type: "node",
      id: "343183",
      t: "Jeremy Burke",
      d: {
        email: "[email protected]",
        reports: "Angela Campbell",
        sent: 110,
      },
    },
    {
      type: "node",
      id: "343184",
      t: "Tina Reynolds",
      d: {
        email: "[email protected]",
        reports: "Pamela Gilbert",
        sent: 17,
      },
    },
    {
      type: "node",
      id: "343185",
      t: "Matthew Banks",
      d: {
        email: "[email protected]",
        reports: "Michael Solis",
        sent: 19,
      },
    },
    {
      type: "node",
      id: "343186",
      t: "Brian Rocha",
      d: {
        email: "[email protected]",
        reports: "Tamara Williams",
        sent: 12,
      },
    },
    {
      type: "node",
      id: "343187",
      t: "Michelle Adams",
      d: {
        email: "[email protected]",
        reports: "Ronald Clark",
        sent: 2,
      },
    },
    {
      type: "node",
      id: "343188",
      t: "Ronald Clark",
      d: {
        email: "[email protected]",
        sent: 296,
      },
    },
    {
      type: "node",
      id: "343189",
      t: "Kimberly Jones",
      d: {
        email: "[email protected]",
        reports: "Angela Campbell",
        sent: 1265,
      },
    },
    {
      type: "node",
      id: "343190",
      t: "Michele Lyons",
      d: {
        email: "[email protected]",
        reports: "Michael Solis",
        sent: 12,
      },
    },
    {
      type: "node",
      id: "343191",
      t: "Debbie Lamb",
      d: {
        email: "[email protected]",
        reports: "Cindy Jenkins",
        sent: 8,
      },
    },
    {
      type: "node",
      id: "343192",
      t: "Sandra Wilson",
      d: {
        email: "[email protected]",
        reports: "Cindy Jenkins",
        sent: 2,
      },
    },
    {
      type: "node",
      id: "343193",
      t: "Peggy Hicks",
      d: {
        email: "[email protected]",
        reports: "Angela Campbell",
        sent: 47,
      },
    },
    {
      type: "node",
      id: "343194",
      t: "David King",
      d: {
        email: "[email protected]",
        reports: "Kristopher Lynch",
        sent: 22,
      },
    },
    {
      type: "node",
      id: "343195",
      t: "Kristopher Lynch",
      d: {
        email: "[email protected]",
        sent: 166,
      },
    },
    {
      type: "node",
      id: "343196",
      t: "Steven Perez",
      d: {
        email: "[email protected]",
        reports: "Tamara Williams",
        sent: 31,
      },
    },
    {
      type: "node",
      id: "343197",
      t: "Michael Wyatt",
      d: {
        email: "[email protected]",
        reports: "John Becker",
        sent: 7,
      },
    },
    {
      type: "node",
      id: "343198",
      t: "Cody Guerrero",
      d: {
        email: "[email protected]",
        reports: "Tamara Williams",
        sent: 142,
      },
    },
    {
      type: "node",
      id: "343199",
      t: "Molly Compton",
      d: {
        email: "[email protected]",
        reports: "Kelsey Mitchell",
        sent: 4,
      },
    },
    {
      type: "node",
      id: "343200",
      t: "Michael Smith",
      d: {
        email: "[email protected]",
        reports: "Justin Patel",
        sent: 6,
      },
    },
    {
      type: "node",
      id: "343201",
      t: "Teresa Winters",
      d: {
        email: "[email protected]",
        reports: "Cindy Jenkins",
        sent: 2,
      },
    },
    {
      type: "node",
      id: "343202",
      t: "Christopher Lawson",
      d: {
        email: "[email protected]",
        reports: "Ricky Maddox",
        sent: 72,
      },
    },
    {
      type: "node",
      id: "343203",
      t: "Stephanie Bell",
      d: {
        email: "[email protected]",
        reports: "Joshua Cervantes",
        sent: 89,
      },
    },
    {
      type: "node",
      id: "343204",
      t: "Devon Johnson",
      d: {
        email: "[email protected]",
        reports: "Julie Chavez",
        sent: 23,
      },
    },
    {
      type: "node",
      id: "343205",
      t: "Eddie Sullivan",
      d: {
        email: "[email protected]",
        reports: "Richard Evans",
        sent: 17,
      },
    },
    {
      type: "node",
      id: "343206",
      t: "Benjamin Mitchell",
      d: {
        email: "[email protected]",
        reports: "Andrea Carter",
        sent: 463,
      },
    },
    {
      type: "node",
      id: "343207",
      t: "Sarah Garner",
      d: {
        email: "[email protected]",
        reports: "Tina Reynolds",
        sent: 1,
      },
    },
    {
      type: "node",
      id: "343208",
      t: "Lisa Miles",
      d: {
        email: "[email protected]",
        reports: "Richard Evans",
        sent: 21,
      },
    },
    {
      type: "node",
      id: "343209",
      t: "Lisa Wallace",
      d: {
        email: "[email protected]",
        reports: "John Becker",
        sent: 5,
      },
    },
    {
      type: "node",
      id: "343210",
      t: "Alex Ross",
      d: {
        email: "[email protected]",
        reports: "Michael Solis",
        sent: 5,
      },
    },
    {
      type: "node",
      id: "343211",
      t: "Kenneth Dunlap",
      d: {
        email: "[email protected]",
        reports: "Michael Solis",
        sent: 60,
      },
    },
    {
      type: "node",
      id: "343212",
      t: "Juan Rangel",
      d: {
        email: "[email protected]",
        reports: "Justin Patel",
        sent: 1,
      },
    },
    {
      type: "node",
      id: "343213",
      t: "Kristin Cook",
      d: {
        email: "[email protected]",
        reports: "Justin Patel",
        sent: 39,
      },
    },
    {
      type: "node",
      id: "343214",
      t: "Tami Orozco",
      d: {
        email: "[email protected]",
        reports: "Jesse Hudson",
        sent: 125,
      },
    },
    {
      type: "node",
      id: "343215",
      t: "Julie Sanchez",
      d: {
        email: "[email protected]",
        reports: "Andrea Carter",
        sent: 13,
      },
    },
    {
      type: "node",
      id: "343216",
      t: "Tiffany Page",
      d: {
        email: "[email protected]",
        reports: "Alicia Smith",
        sent: 7,
      },
    },
    {
      type: "node",
      id: "343217",
      t: "Elizabeth Warner",
      d: {
        email: "[email protected]",
        reports: "Debbie McConnell",
        sent: 86,
      },
    },
    {
      type: "node",
      id: "343218",
      t: "Kayla Bruce",
      d: {
        email: "[email protected]",
        reports: "Andrea Carter",
        sent: 32,
      },
    },
    {
      type: "node",
      id: "343219",
      t: "Patricia Carroll",
      d: {
        email: "[email protected]",
        reports: "Angela Campbell",
        sent: 194,
      },
    },
    {
      type: "node",
      id: "343220",
      t: "Mark Edwards",
      d: {
        email: "[email protected]",
        reports: "Jose Ellison",
        sent: 406,
      },
    },
    {
      type: "node",
      id: "343221",
      t: "David Williams",
      d: {
        email: "[email protected]",
        reports: "Cindy Jenkins",
        sent: 6,
      },
    },
    {
      type: "node",
      id: "343222",
      t: "Billy Owen",
      d: {
        email: "[email protected]",
        reports: "Angela Campbell",
        sent: 249,
      },
    },
    {
      type: "node",
      id: "343223",
      t: "Todd Bright",
      d: {
        email: "[email protected]",
        reports: "Michael Solis",
        sent: 12,
      },
    },
    {
      type: "node",
      id: "343224",
      t: "Lisa Burnett",
      d: {
        email: "[email protected]",
        reports: "James Lewis",
        sent: 320,
      },
    },
    {
      type: "node",
      id: "343225",
      t: "Jeffrey Henry",
      d: {
        email: "[email protected]",
        reports: "Michael Solis",
        sent: 21,
      },
    },
    {
      type: "node",
      id: "343226",
      t: "David Cooper",
      d: {
        email: "[email protected]",
        reports: "Angela Campbell",
        sent: 20,
      },
    },
    {
      type: "node",
      id: "343227",
      t: "Jeremy Simon",
      d: {
        email: "[email protected]",
        reports: "Kelsey Mitchell",
        sent: 3,
      },
    },
    {
      type: "node",
      id: "343228",
      t: "Kimberly Martinez",
      d: {
        email: "[email protected]",
        reports: "Jesse Hudson",
        sent: 41,
      },
    },
    {
      type: "node",
      id: "343229",
      t: "Karen Brown",
      d: {
        email: "[email protected]",
        reports: "Justin Patel",
        sent: 11,
      },
    },
    {
      type: "node",
      id: "343230",
      t: "Linda Lyons",
      d: {
        email: "[email protected]",
        reports: "Andrea Carter",
        sent: 79,
      },
    },
    {
      type: "node",
      id: "343231",
      t: "James Lutz",
      d: {
        email: "[email protected]",
        reports: "Michael Osborn",
        sent: 3,
      },
    },
    {
      type: "node",
      id: "343232",
      t: "Martha Gomez",
      d: {
        email: "[email protected]",
        reports: "John Becker",
        sent: 10,
      },
    },
    {
      type: "node",
      id: "343233",
      t: "Haley Miller",
      d: {
        email: "[email protected]",
        reports: "Tamara Williams",
        sent: 23,
      },
    },
    {
      type: "node",
      id: "343234",
      t: "Melissa Reynolds",
      d: {
        email: "[email protected]",
        reports: "Michael Solis",
        sent: 26,
      },
    },
    {
      type: "node",
      id: "343235",
      t: "Philip Kaufman",
      d: {
        email: "[email protected]",
        reports: "Stephanie Bell",
        sent: 17,
      },
    },
    {
      type: "node",
      id: "343236",
      t: "Dwayne Robinson",
      d: {
        email: "[email protected]",
        reports: "Michael Osborn",
        sent: 30,
      },
    },
    {
      type: "node",
      id: "343237",
      t: "Michael MacDonald",
      d: {
        email: "[email protected]",
        reports: "Kelsey Mitchell",
        sent: 9,
      },
    },
    {
      type: "node",
      id: "343238",
      t: "Frank Dean",
      d: {
        email: "[email protected]",
        reports: "Tina Burton",
        sent: 9,
      },
    },
    {
      type: "node",
      id: "343239",
      t: "Thomas Guerra",
      d: {
        email: "[email protected]",
        reports: "Tamara Williams",
        sent: 31,
      },
    },
    {
      type: "node",
      id: "343240",
      t: "Harold McBride",
      d: {
        email: "[email protected]",
        reports: "Michael Solis",
        sent: 1,
      },
    },
    {
      type: "node",
      id: "343241",
      t: "Jason Livingston",
      d: {
        email: "[email protected]",
        reports: "Alicia Smith",
        sent: 65,
      },
    },
    {
      type: "node",
      id: "343242",
      t: "Cameron Willis",
      d: {
        email: "[email protected]",
        reports: "John Bailey",
        sent: 186,
      },
    },
    {
      type: "node",
      id: "343243",
      t: "Kristin Welch",
      d: {
        email: "[email protected]",
        reports: "Angela Campbell",
        sent: 1212,
      },
    },
    {
      type: "node",
      id: "343244",
      t: "Donald Hahn",
      d: {
        email: "[email protected]",
        reports: "Justin Patel",
        sent: 23,
      },
    },
    {
      type: "node",
      id: "343245",
      t: "Jodi Phillips",
      d: {
        email: "[email protected]",
        reports: "Micheal King",
        sent: 25,
      },
    },
    {
      type: "node",
      id: "343246",
      t: "Jessica Wright",
      d: {
        email: "[email protected]",
        reports: "Justin Patel",
        sent: 24,
      },
    },
    {
      type: "node",
      id: "343247",
      t: "Jason Marks",
      d: {
        email: "[email protected]",
        reports: "Tamara Williams",
        sent: 11,
      },
    },
    {
      type: "node",
      id: "343248",
      t: "Cynthia Juarez",
      d: {
        email: "[email protected]",
        reports: "Andrea Carter",
        sent: 383,
      },
    },
    {
      type: "node",
      id: "343249",
      t: "Marc Ramsey",
      d: {
        email: "[email protected]",
        reports: "Julie Chavez",
        sent: 6,
      },
    },
    {
      type: "node",
      id: "343250",
      t: "James Lindsey",
      d: {
        email: "[email protected]",
        reports: "Michael Osborn",
        sent: 21,
      },
    },
    {
      type: "node",
      id: "343251",
      t: "Donna English",
      d: {
        email: "[email protected]",
        reports: "Kelsey Mitchell",
        sent: 22,
      },
    },
    {
      type: "node",
      id: "343252",
      t: "Chris Dennis",
      d: {
        email: "[email protected]",
        reports: "Debbie McConnell",
        sent: 55,
      },
    },
    {
      type: "node",
      id: "343253",
      t: "Mariah Murray",
      d: {
        email: "[email protected]",
        reports: "Alicia Smith",
        sent: 18,
      },
    },
    {
      type: "node",
      id: "343254",
      t: "Calvin Holland",
      d: {
        email: "[email protected]",
        reports: "Tamara Williams",
        sent: 63,
      },
    },
    {
      type: "node",
      id: "343255",
      t: "Tyler Hines",
      d: {
        email: "[email protected]",
        reports: "Michael Osborn",
        sent: 19,
      },
    },
    {
      type: "node",
      id: "343256",
      t: "Keith Snyder",
      d: {
        email: "[email protected]",
        reports: "Michael Solis",
        sent: 17,
      },
    },
    {
      type: "node",
      id: "343257",
      t: "Julie Griffith",
      d: {
        email: "[email protected]",
        reports: "Brandon Jackson",
        sent: 57,
      },
    },
    {
      type: "node",
      id: "343258",
      t: "Daniel Yu",
      d: {
        email: "[email protected]",
        reports: "Cindy Jenkins",
        sent: 6,
      },
    },
    {
      type: "node",
      id: "343259",
      t: "Desiree Smith",
      d: {
        email: "[email protected]",
        reports: "Michael Solis",
        sent: 7,
      },
    },
    {
      type: "node",
      id: "343260",
      t: "Anthony Morales",
      d: {
        email: "[email protected]",
        reports: "Joshua Cervantes",
        sent: 65,
      },
    },
    {
      type: "node",
      id: "343261",
      t: "Timothy Taylor",
      d: {
        email: "[email protected]",
        reports: "Julie Chavez",
        sent: 1,
      },
    },
    {
      type: "node",
      id: "343262",
      t: "Sara Hernandez",
      d: {
        email: "[email protected]",
        reports: "Jesse Hudson",
        sent: 15,
      },
    },
    {
      type: "node",
      id: "343263",
      t: "Tammy Bright",
      d: {
        email: "[email protected]",
        reports: "Denise Wheeler",
        sent: 78,
      },
    },
    {
      type: "node",
      id: "343264",
      t: "Leah Foster",
      d: {
        email: "[email protected]",
        reports: "Andrea Carter",
        sent: 30,
      },
    },
    {
      type: "node",
      id: "343265",
      t: "Dana Adams",
      d: {
        email: "[email protected]",
        reports: "Andrea Carter",
        sent: 89,
      },
    },
    {
      type: "node",
      id: "343266",
      t: "Andrea Tucker",
      d: {
        email: "[email protected]",
        reports: "Richard Evans",
        sent: 66,
      },
    },
  ],
};

// Add styling props to items
data.items.forEach(function (item) {
  if (item.type === "node") {
    // Split names over two lines for a better fit
    const t = item.t;
    item.t = { t, fs: "auto", textWrap: "normal" };
    item.fbc = "rgba(0,0,0,0)";
    item.fc = "white";

    // Set the color
    item.c = colours.node;
    item.b = colours.node;
  } else {
    item.c = colours.link;
    item.w = 4;
  }
});
<!doctype html>
<html lang="en" style="background-color: #2d383f">
  <head>
    <meta charset="utf-8" />
    <title>Social Network Analysis</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="font-awesome/css/font-awesome.css" />
    <link rel="stylesheet" href="./style.css" />
  </head>
  <body>
    <div id="klchart" class="klchart">
      <div class="controloverlay">
        <ul>
          <li>
            <a id="home" rel="tooltip" title="Home"><i class="fa fa-home"></i></a>
          </li>
          <li>
            <a id="layout" rel="tooltip" title="Layout chart"><i class="fa fa-random"></i></a>
          </li>
          <li>
            <a id="changeMode" rel="tooltip" title="Drag mode"
              ><i class="fa fa-arrows-alt" id="iconMode"></i
            ></a>
          </li>
          <li>
            <a id="zoomIn" rel="tooltip" title="Zoom in"><i class="fa fa-plus-square"></i></a>
          </li>
          <li>
            <a id="zoomOut" rel="tooltip" title="Zoom out"><i class="fa fa-minus-square"></i></a>
          </li>
        </ul>
      </div>
    </div>
    <script type="module" src="./code.js"></script>
  </body>
</html>
#miniContainer {
  background-color: #fff;
  margin: 10px;
}
#miniContainer canvas {
  margin: 0 auto;
}
#minikl {
  height: 232px;
}
.controloverlay {
  position: absolute;
  left: 12px;
  top: 10px;
  padding: 0;
  margin: 0;
  font-size: 28px;
  z-index: 9001;

  background-color: rgba(250, 250, 250, 0.8);

  border: solid 1px #ededed;
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1);
}

.controloverlay ul {
  list-style-type: none;
  margin: 0;
  padding: 6px;
}

.controloverlay li {
  margin-bottom: 3px;
  text-align: center;
  font-size: 24px;
}

.controloverlay li:last-child {
  margin-bottom: 0;
}

.controloverlay a i {
  color: #2d383f;
  text-decoration: none;
  cursor: pointer;
}

.btn-row {
  overflow: auto;
  display: flex;
  justify-content: space-between;
  gap: 5px;
}
.size-btn button.btn,
.size-btn button.btn.active {
  min-width: 80px;
  margin-top: 4px;
}

.btn-group.size-btn {
  width: 100%;
  display: flex;
  justify-content: end;
  flex-wrap: wrap;
  gap: 5px;
}

#analysis-control {
  margin-top: 10px;
  width: 100%;
}

@media (max-width: 1023px) {
  .btn-group button.size {
    width: calc((100% / 2) + 2px);
  }
}

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.