GithubHelp home page GithubHelp logo

cytoscape / cytoscape.js-dagre Goto Github PK

View Code? Open in Web Editor NEW
244.0 18.0 82.0 253 KB

The Dagre layout for DAGs and trees for Cytoscape.js

License: MIT License

JavaScript 86.68% HTML 13.32%
cytoscapejs cytoscapejs-extension

cytoscape.js-dagre's Introduction

cytoscape-dagre

DOI

Description

The Dagre layout for DAGs and trees for Cytoscape.js (demo)

The dagre layout organises the graph using a DAG (directed acyclic graph) system, written by Chris Pettitt. It is especially suitable for DAGs and trees. For more information, please refer to Dagre's documentation.

Dependencies

  • Cytoscape.js ^3.2.0
  • Dagre ^0.8.2

Usage instructions

Download the library:

  • via npm: npm install cytoscape-dagre,
  • via bower: bower install cytoscape-dagre, or
  • via direct download in the repository (probably from a tag).

Import the library as appropriate for your project:

ES import:

import cytoscape from 'cytoscape';
import dagre from 'cytoscape-dagre';

cytoscape.use( dagre );

CommonJS require:

let cytoscape = require('cytoscape');
let dagre = require('cytoscape-dagre');

cytoscape.use( dagre ); // register extension

AMD:

require(['cytoscape', 'cytoscape-dagre'], function( cytoscape, dagre ){
  dagre( cytoscape ); // register extension
});

Plain HTML/JS has the extension registered for you automatically, because no require() is needed.

API

Call the layout, e.g. cy.layout({ name: 'dagre', ... }).run(), with options:

var defaults = {
  // dagre algo options, uses default value on undefined
  nodeSep: undefined, // the separation between adjacent nodes in the same rank
  edgeSep: undefined, // the separation between adjacent edges in the same rank
  rankSep: undefined, // the separation between each rank in the layout
  rankDir: undefined, // 'TB' for top to bottom flow, 'LR' for left to right,
  align: undefined,  // alignment for rank nodes. Can be 'UL', 'UR', 'DL', or 'DR', where U = up, D = down, L = left, and R = right
  acyclicer: undefined, // If set to 'greedy', uses a greedy heuristic for finding a feedback arc set for a graph.
                        // A feedback arc set is a set of edges that can be removed to make a graph acyclic.
  ranker: undefined, // Type of algorithm to assign a rank to each node in the input graph. Possible values: 'network-simplex', 'tight-tree' or 'longest-path'
  minLen: function( edge ){ return 1; }, // number of ranks to keep between the source and target of the edge
  edgeWeight: function( edge ){ return 1; }, // higher weight edges are generally made shorter and straighter than lower weight edges

  // general layout options
  fit: true, // whether to fit to viewport
  padding: 30, // fit padding
  spacingFactor: undefined, // Applies a multiplicative factor (>0) to expand or compress the overall area that the nodes take up
  nodeDimensionsIncludeLabels: false, // whether labels should be included in determining the space used by a node
  animate: false, // whether to transition the node positions
  animateFilter: function( node, i ){ return true; }, // whether to animate specific nodes when animation is on; non-animated nodes immediately go to their final positions
  animationDuration: 500, // duration of animation in ms if enabled
  animationEasing: undefined, // easing of animation if enabled
  boundingBox: undefined, // constrain layout bounds; { x1, y1, x2, y2 } or { x1, y1, w, h }
  transform: function( node, pos ){ return pos; }, // a function that applies a transform to the final node position
  ready: function(){}, // on layoutready
  sort: undefined, // a sorting function to order the nodes and edges; e.g. function(a, b){ return a.data('weight') - b.data('weight') }
                   // because cytoscape dagre creates a directed graph, and directed graphs use the node order as a tie breaker when
                   // defining the topology of a graph, this sort function can help ensure the correct order of the nodes/edges.
                   // this feature is most useful when adding and removing the same nodes and edges multiple times in a graph.
  stop: function(){} // on layoutstop
};

Build targets

  • npm run test : Run Mocha tests in ./test
  • npm run build : Build ./src/** into cytoscape-dagre.js
  • npm run watch : Automatically build on changes with live reloading (N.b. you must already have an HTTP server running)
  • npm run dev : Automatically build on changes with live reloading with webpack dev server
  • npm run lint : Run eslint on the source

N.b. all builds use babel, so modern ES features can be used in the src.

Publishing instructions

This project is set up to automatically be published to npm and bower. To publish:

  1. Build the extension : npm run build:release
  2. Commit the build : git commit -am "Build for release"
  3. Bump the version number and tag: npm version major|minor|patch
  4. Push to origin: git push && git push --tags
  5. Publish to npm: npm publish .
  6. If publishing to bower for the first time, you'll need to run bower register cytoscape-dagre https://github.com/cytoscape/cytoscape.js-dagre.git
  7. Make a new release for Zenodo.

cytoscape.js-dagre's People

Contributors

alexcli avatar dependabot[bot] avatar fjukstad avatar harryadel avatar jaschaephraim avatar maxkfranz avatar n8th8n8el avatar skortchmark9 avatar treardon17 avatar yikaj avatar zach-blumenfeld avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cytoscape.js-dagre's Issues

Requires windows since 2.3.1

While upgrading from 2.2.1 to 2.3.1 I realized that this line

const dagre = require('cytoscape-dagre');

does no longer work in an headless node environment. My workaround was

if (typeof (window) !== 'undefined') {
  const dagre = require('cytoscape-dagre');
  cytoscape.use(dagre);
}

Cytoscape Dagre shows connected Children when there are multiple children.

I am using Cytoscape Dagre extension to show hierarchical graph from left to right. It has 14 children and one parent 1 and main parent. All children are connected to parent 1 but whenever I use dagre to draw a graph, it seems like children are connected between each other. They do not have any edges between them but Dagre still shows that.

Here is the stackblitz example: https://stackblitz.com/edit/dagre-childrenconnected

Arrange itens side by side

Feature Request

Instead of arrange stand alone itens one above another, do it side by side (left-right).

Current behavior
Captura de Tela 2020-01-14 às 22 03 44

Desired

Captura de Tela 2020-01-14 às 22 03 57

Layout on a collection of nodes is different than on entire graph

I first create a graph with 100's of connected nodes. After all the nodes have been added I call
cy.layout({name: "dagre"});

Next, I'm creating 5 or so additional connected nodes I call layout on the nodes added but it doesn't lay them out as expected. Instead of being more like a tree all the nodes are in a straight line.

It looks like this:
layout1

collection.layout({ name: "dagre", fit: false, boundingBox: { x1: mousex - width / 2, y1: mousey - height / 2, x2: mousex + width, y2: mousey + height }, nodeSep: 30 }).run();

But I expect it to look like the image below.
layout2

In order to get it to look like the above, I call layout shown below.

'cy.layout({name: "dagre"});'

I can't call cy.layout because it lays out the entire graph which is not what I want.

I've looked through all the options for a dagre layout and can't find anything to make it create the tree.

undefined - cytoscape.util.requestAnimationFrame with v2.5.0 cytoscape and navigator

Using cytoscape 2.5 and darge layout. It throws null / undefined on the cytoscape.util.requestAnimationFrame. in this case the util seems to be undefined. Something changed / broke in 2.5? I've tried to find release notes for 2.5 with breaking changes, didnt find it.

From Chrome:
Uncaught TypeError: Cannot read property 'requestAnimationFrame' of undefined
Navigator._updateThumbnailImage @ cytoscape.js-navigator.js:548
Navigator._setupThumbnail @ cytoscape.js-navigator.js:138
Navigator._initThumbnail @ cytoscape.js-navigator.js:116
(anonymous function) @ cytoscape.js-navigator.js:36
triggerImpl @ cytoscape.js:8341(anonymous function) @ cytoscape.js:6615
triggerImpl @ cytoscape.js:8341(anonymous function) @ cytoscape.js:5795
triggerImpl @ cytoscape.js:8341triggerImpl @ cytoscape.js:8365
elesfn.layoutPositions @ cytoscape.js:4693
DagreLayout.run @ cytoscape-dagre.js:162
corefn.layout @ cytoscape.js:6910
callback @ cytoscape.js:5804

Edge overlap

Not sure if this issue is related to cytoscape, cytoscape.js-dagre, or the underlying dagre library. My guess is with dagre, but just incase:

In the following example an edge is being hidden behind another edge. See the code in this JSFiddle.

degree-hidden-edge

If we move nodes C, D, E, and F you can see the hidden edge.

dagre-hidden-edge-2

Cross posted this issue in dagre as well: Issue #211

Dagre Not Registering as an Extension

I'm not sure if it's all extensions or just Dagre, but "cytoscape.use(dagre)" seems to not be working. This is combined with the react-cytoscape library.
Below is a censored sample of the code

import cytoscape from 'cytoscape'
import dagre from 'cytoscape-dagre'
import CytoscapeComponent from 'react-cytoscapejs/src/component'
import React, { useState, useEffect } from 'react'

dagre(cytoscape) //I tried used both of these in different combinations, different locations
cytoscape.use(dagre)

const MyComponent = () => {
    let cyto
    useEffect(() => {
       //Problem line below - also a problem if it's in the component. 
       cyto.layout({
          name: 'dagre',
          animate: true,
          animationDuration: 1500,
        }) 
    }, [cyto])
   
    return () { 
        <CytoscapeComponent
                cy={(cy) => {
                  cyto = cy
                }}
                elements={CytoscapeComponent.normalizeElements(myElements)}
                panningEnabled
                style={{ width: '2000px', height: '1000px' }}
       />
    } 

}

What's especially weird is that I had this same bug in another app, and while trying to fix it, it seemingly magically disappeared. It comes back sometimes in the other app, and I don't know how it gets fixed. So for this new app, I made sure to follow the docs again to a T, but the evil bug reappeared. It works fine without using dagre as a layout. Let me know if I can provide some more information.
My dependency versions:

"cytoscape": "3.17.0",
"cytoscape-dagre": "2.3.1",
"dagre": "^0.8.5",   
"graphlib": "2.1.8",
"react-cytoscapejs": "1.2.1"
"react": "16.13.1"

I made sure that cytoscape.use() is being called before this too. Thanks in advance

**No such layout `dagre` found.  Did you forget to import it and `cytoscape.use()` it?**
    at error (cytoscape.cjs.js:874)
    at Core.layout (cytoscape.cjs.js:14322)
    at ActionHierarchy.js:149
    at commitHookEffectListMount (react-dom.development.js:19610)
    at commitPassiveHookEffects (react-dom.development.js:19647)
    at HTMLUnknownElement.callCallback (react-dom.development.js:189)
    at Object.invokeGuardedCallbackDev (react-dom.development.js:238)
    at invokeGuardedCallback (react-dom.development.js:291)
    at flushPassiveEffectsImpl (react-dom.development.js:22711)
    at unstable_runWithPriority (scheduler.development.js:659)
    at runWithPriority$1 (react-dom.development.js:11077)
    at flushPassiveEffects (react-dom.development.js:22679)
    at performSyncWorkOnRoot (react-dom.development.js:21594)
    at react-dom.development.js:11131
    at unstable_runWithPriority (scheduler.development.js:659)
    at runWithPriority$1 (react-dom.development.js:11077)
    at flushSyncCallbackQueueImpl (react-dom.development.js:11126)
    at flushSyncCallbackQueue (react-dom.development.js:11114)
    at discreteUpdates$1 (react-dom.development.js:21752)
    at discreteUpdates (react-dom.development.js:811)
    at dispatchDiscreteEvent (react-dom.development.js:4211)`

Performance issue

Hello,
I'm trying to visualize big graphs with thousands of nodes.

I noticed that when using breadthfirst layout the graph is generated about 40x faster than with dagre layout. I was testing on graph with 1k nodes and 2k edges (5 sec vs. 3 min depending on the layout). Is that expected performance?

I am using Angular 11 and I test the simplest graph with no styling etc. like in the code snippet below.

    let cy = cytoscape({
      container: document.getElementById('cy'),
      elements: {
        nodes: this.nodes,
        edges: this.edges
      },
      layout: {
        name: 'breadthfirst',
        // name: 'dagre',
      }
    });

dagre need to be update

There is a mistake which cause by dagre's dependency graphlib@^1.0.5,.

here is the wrong code

in graphlib@^1.0.5

Graph.prototype.sources = function() {
  return _.filter(this.nodes(), function(v) {
    return _.isEmpty(this._in[v]);  // Uncaught TypeError: Cannot read property '_in' of undefined                
  }, this);
};

And In graphlib@^2.1.5, it had already fix it.

Graph.prototype.sources = function() {
  var self = this;
  return _.filter(this.nodes(), function(v) {
    return _.isEmpty(self._in[v]);  // use self to fix the 'this' problem
  });
};

It's dagre's mistake, but I think this lib should update it to avoid the error causes.I have try to update dagre@^v0.8.2 by myself, and it works well by now, maybe your team can do more test on it.

Thanks a lot for your team to provide such a great project.

Iteratee is not a function ? Please help me figure out the root cause.

Here is my react component that renders the graph on the DOM.

import PropTypes from "prop-types";
import React, { Component} from "react";
import cytoscape from "cytoscape";
import dagre from "cytoscape-dagre";
import CytoscapeComponent from "react-cytoscapejs";

const _ = {
get: require("lodash/get"),
isEqual: require("lodash/isEqual")
};

          class EditNewGraph extends Component{
                constructor(props){
                    super(props);
                    this.state={
                        rendered: false
                    }
                    this.renderedGraph = this.renderGraph.bind(this);
                    this.graphInstance = null;    
                  }
          
                    UNSAFE_componentWillReceiveProps(){
                      
                  }

            componentDidMount(){
                this.setUpListeners();
                this.setState({ 
                    layout : {
                        name: 'dagre',
                        directed: true,
                        roots: '#a',
                        padding: 10,
                        animate: true
                    }
                }) 
                 
            }
                setUpListeners(){
                    console.log(this.cy); 
                    this.cy.on('click', 'node', (event)=>{
                        console.log(event.target['_private']['data']);
                    }) 
                    this.cy.on('cxttap', "node", function(event) {console.log("Right clicked"); });
                    // this.cy.animate=true;
                }
    
    
            renderGraph(){
                this.props.actions.tasks.updateGraphRenderState("pending");
                this.graphInstance.attach("TaskGraphEditor");
            }
    
            render(){
                cytoscape.use(dagre);
                const elements = [
                    { data: { id: 'one', label: 'Node 1', customData:"alfamale" } },
                    { data: { id: 'two', label: 'Node 2', customData: 'alfaFemale' } },
                    { data: { id: 'three', label: 'Node 3', customData: 'alfajigolo' }},
                    { data: { source: 'one', target: 'two', label: 'Edge from Node1 to Node2' } },
                    { data: { source: 'two', target: 'three', label: 'Edge from Node1 to Node3' } }
                 ];
                return ( 
                         <CytoscapeComponent elements={elements} style={{ width: '100vw', height : '100vh'}} cy={(cy)=>{this.cy=cy}} layout={this.state.layout}/>
                    
                )
            }
      }
    
      
    EditNewGraph.propTypes = {
        states: PropTypes.shape({
          tasks: PropTypes.object.isRequired,
          settings: PropTypes.object.isRequired
        }),
        actions: PropTypes.shape({
          global: PropTypes.object.isRequired,
          tasks: PropTypes.object.isRequired
        })
      };
      
      EditNewGraph.defaultProps = {};
      
      export default EditNewGraph;

And I am unable to figure out what is causing this error:
image

How to find node level?

How can we find node level or rank in the canvas or a group of nodes in each level.

DagreIssue

In the above image
Level 1 - C1
Level 2 - R1, I1
Level 3 - C2

weird placement of leaves

Do you have an idea why this leaf is placed so far off one would expect it to?

screen_shot_2015-11-20_at_02_49_09

The settings are:

layout: {
    name: 'dagre', 
    rankDir: 'LR'
}

The same effect happens with rankdir: 'TB' to a few leaves.

Bounding box issue

Trying to draw the following graph:

{
  "elements" : {
  "nodes": [
      { "data": { "id": "top", "label": "top"} },
      { "data": { "id": "foo", "label": "foo", "parent": "top"} },
      { "data": { "id": "bar", "label": "bar", "parent": "top"} },
      { "data": { "id": "baz", "label": "baz", "parent": "top"} }
    ],
    "edges": [
    ]
  }
}

,with the following layout:

var dagreLayout = {
  name: 'dagre',
  rankDir: 'TB',
  fit: true,
  boundingBox: {
    x1: 0, y1: 0, x2: 560, y2: 376, w: 560, h: 376
  }
};

results in only the top compound node being draw, with no child elements:
top

(Note: The effect of having the label of the compound element inside the node was achieved by simply setting padding-top: "50px" for compound nodes, so that cannot be the cause of this issue.)

If I remove the boundingBox restriction from the layout the result is correct:
correct

Also, if I add an edge between two child nodes, without removing the boundingBox restriction, the result is correct:
correct2

The problem seems to be caused by how the dagreBB bounding box object is computed in cytoscape-dagre.js. If I print the dagreBB object when the display problem occurs I get:
dagreBB: {"x1":56.25,"x2":244.25,"y1":43.25,"y2":43.25,"w":188,"h":0}. It looks like since the three child nodes have the same y coordinate the dagreBB.h field ends up being 0.

A simple workaround is to test if dagreBB.h is 0, then give it a positive value and also update dagreBB.y2:

        if(dagreBB.h === 0) {
          var h = nodes.first().height();
          dagreBB.h = h;
          dagreBB.y2 = dagreBB.y1 + h;
        }

, in this case I use the height of the first node in the collection. The result is:
correct3

As a side node, it looks like the boundingBox layout functionality forces the graph to occupy the entire area of the specified box. When I learned about this feature I thought it was a maximal bounding box, i.e., the graph takes as much space as it needs between the specified bounds. Maybe such a feature would be useful too.

Upgrade webpack to 4.32.2

I import cytoscape-dagre in ember.js and cannot work after the build. The error is Not possible to find intersection inside of the rectangle.

After upgrade webpack to 4.32.2 version. cytoscape-dagre works well.

So I suggest to Upgrade webpack to 4.32.2.

error

hello I don't succeed to use dagre layout I have this error

image

no issue with others like cola

best regards

please forgive my approximate English I'm not ...

Use Weaver.js

Is it possible to use Weaver with the dagre layout? I don't see it as an option in the code, and I would like to be able to offload the work into a thread to not block the main thread.

Bounding box error when initializing a graph

With Cytoscape v3.4.2 and cytoscape-dagre v2.2.2, I'm getting the following error when initializing a fairly large, compound graph:

ERROR TypeError: Cannot read property 'x1' of undefined
    at updateBoundsFromBox (cytoscape.cjs.js:8653)
    at cachedBoundingBoxImpl (cytoscape.cjs.js:9172)
    at Collection.push../node_modules/cytoscape/dist/cytoscape.cjs.js.elesfn$j.boundingBox (cytoscape.cjs.js:9233)
    at update (cytoscape.cjs.js:8507)
    at Element.push../node_modules/cytoscape/dist/cytoscape.cjs.js.elesfn$j.updateCompoundBounds (cytoscape.cjs.js:8614)
    at Element.dimImpl [as width] (cytoscape.cjs.js:9342)
    at Element.outerDimImpl [as outerWidth] (cytoscape.cjs.js:9370)
    at Element.layoutDimensions (cytoscape.cjs.js:10602)
    at Layout.DagreLayout.run (cytoscape-dagre.js:158)
    at setElesAndLayout (cytoscape.cjs.js:17611)

The graph is not rendered and the "ready" event is never emitted. This happens consistently in Firefox 65 but only rarely in Chrome 72.

Unfortunately I cannot attach the graph for reproduction as the data is under an NDA, but if you need specific information I'll try my best to provide it. When reducing the number of elements (from 102 nodes and 135 edges), the error doesn't seem to occur.

Left aligning node edges

Is there a way to Left or Right align node edges? By default they are center aligned (up and down). Thanks!

EDIT: I should add, I am using 'text-valign': 'center', so the nodes contain the labels: 'width': 'label',
'height': 'label',

How to use nodeSep option

Thank you for this plugin!

Can you provide an example how to use the nodeSep option? Also, is there a way to reduce the vertical distance between nodes in a TB flow?

Reversing DAG direction

I understand how to make the DAG go from top -> bottom, based on #4, but what if I want to go bottom -> top -- so that the arrows are all pointing upwards?

nodes are undefined

I am getting this issue when creating a production ready application (minified/uglified/etc):
image
. I found the source of the issue to be this:
image
. Some elements are undefined when being iterated over. I found the issue here:
image
, and fixed it by doing this:
image I added the if statements to check for nullness/undefinedness.

I thought this would be the only fix I needed to do but there were MANY more after that. The thing is, this never happened with the dev server running, it only happened when I built for production. If it means anything I am using preact-cli and am to the mercy of whatever minifier/uglifier they are using. Would it be better to manually add the null checks in the dagre code and submit a pull request or take another course of action?

Updating dagre dependency

Hey Guys,

I have just noticed that the dependency for the dagre library is set on 0.7.4 which has been released over 2 years ago.
It seems like the project was recently picked up again and it got a few updates over the last couple of months, especially updating their dependencies to newer versions.
Wouldn't it be a good idea to update the dependency to this new version?

Best regards,
Jan-Niclas

Can not apply layout: No such layoutdagrefound; did you include its JS file?

Ref: cytoscape/cytoscape.js#1738


I get this error when I'm trying to use the dagre layout

Can not apply layout: No such layout dagrefound; did you include its JS file?

import cytoscape from 'cytoscape'
import cydagre from 'cytoscape-dagre'
cydagre( cytoscape )

...
    var cy = cytoscape({
      container: document.getElementById('cy'),
      elements:{ nodes:graph.nodes, edges: graph.edges},
      layout: {
        name: 'dagre',
      },
    })

If I use the default layouts works fine.

Organize only new object added to canvas

I am using this plugin to organize elements on canvas box. I am using it with the code below.

            const layout = this.cy.layout({
                name: 'dagre',
                directed: true,
                rankDir: 'LR',
                fit: false
            });
            layout.run();

This will apply dagre on ever object on the cytoscape canvas. I would like use the cytoscape.js-dagre function that apply dagre layout only on specific elements (recently added).

Controlling nodes positions

I'm currently working on a project that has been using the Cytoscape Dagre implementation for a long time. The lib is fantastic and always met the project needs until now but there is one new feature that i'm currently unable to implement.
I would like to know if in the current version of the lib is there any way i can control the position of nodes to keep them aligned.
For example:
image
I would like to keep some of the nodes in the graph above aligned like in the picture below:
image
I think this would improve greatly the understanding of some graphs, even if it increased the number of crossing edges as a side effect.
Is there anyway i can achieve that with the current version of the lib ?
If not, how could i contribute changing the lib to achieve that ?

large set doesn't produce a TB look

Hi,

attached is my test-file of using dagre and cytoscape.
for some reason, this graph is look rather strange.
I expect more visible hierachy, but instead it's just 1 row graph.
even though I have set it to TB.

what am I doing wrong?
(please not that level is my custom attribute, is it by any chance a reserved word? )

testdagre.zip

Add missing options in dagre layout

Dear,

It would be great if you could add the missing dagre options such as e.g., 'align'. They are quite useful and I believe it would make cytoscape.js-dagre more "complete".

I guess you would just need to explicitely specify the options in the layout.js file.

These are the options that are given on dagre's (deprecated) repo wiki:

Object Attribute Default Description
graph rankdir TB Direction for rank nodes. Can be TB, BT, LR, or RL, where T = top, B = bottom, L = left, and R = right.
graph align undefined Alignment for rank nodes. Can be UL, UR, DL, or DR, where U = up, D = down, L = left, and R = right.
graph nodesep 50 Number of pixels that separate nodes horizontally in the layout.
graph edgesep 10 Number of pixels that separate edges horizontally in the layout.
graph ranksep 50 Number of pixels between each rank in the layout.
graph marginx 0 Number of pixels to use as a margin around the left and right of the graph.
graph marginy 0 Number of pixels to use as a margin around the top and bottom of the graph.
graph acyclicer undefined If set to greedy, uses a greedy heuristic for finding a feedback arc set for a graph. A feedback arc set is a set of edges that can be removed to make a graph acyclic.
graph ranker network-simplex Type of algorithm to assigns a rank to each node in the input graph. Possible values: network-simplex, tight-tree or longest-path

Thank you and happy holidays!
Ethan

complete Graph disapperars on certain zoom level

Hello,
im using the cytoscape dagre layout. Unfortunately there occurs a problem on certain zoom levels: The complete graphical graph output disappears on those zooming levels. If I change the zoom (more or less) the graph is showing again.

Is this a problem that you know about and if yes is there a fix for that? If not I´ll try to provide a demo for that.
best regards

Graph doesn't occupy all the available width

Hi,
First, thank you for this adaptation of DAGRE in Cytoscape, it is great and very useful.

I'm using it to display a simple 5 nodes/7 edges DAG. The graph occupies all the available height, however it stays constraint in a very narrow width, preventing me from seeing the edges and edges' labels clearly. I tried to tweak with nodeSep, edgeSep and rankSep but I cannot achieve a convenient result.

I'd like the graph to occupy all the available width if possible. Is there a way to do so ? I don't know if I should play with "transform", a ranker algorithm, "boudingBox" and I'm looking for the easiest way to do it.

Find my algo options and the graph display I currently have. I enabled nodeDimensionsIncludeLabels even though I don't have any labels here (privacy reasons).

var layout_options = {
  name: 'dagre',

  // dagre algo options, uses default value on undefined
  nodeSep: undefined, // the separation between adjacent nodes in the same rank
  edgeSep: undefined, // the separation between adjacent edges in the same rank
  rankSep: undefined, // the separation between each rank in the layout
  rankDir: 'TB', // 'TB' for top to bottom flow, 'LR' for left to right,
  ranker: undefined, // Type of algorithm to assign a rank to each node in the input graph. Possible values: 'network-simplex', 'tight-tree' or 'longest-path'
  minLen: function( edge ){ return 1; }, // number of ranks to keep between the source and target of the edge
  edgeWeight: function( edge ){ return 1; }, // higher weight edges are generally made shorter and straighter than lower weight edges

  // general layout options
  fit: true, // whether to fit to viewport
  padding: 30, // fit padding
  spacingFactor: undefined, // Applies a multiplicative factor (>0) to expand or compress the overall area that the nodes take up
  nodeDimensionsIncludeLabels: true, // whether labels should be included in determining the space used by a node
  animate: false, // whether to transition the node positions
  animateFilter: function( node, i ){ return true; }, // whether to animate specific nodes when animation is on; non-animated nodes immediately go to their final positions
  animationDuration: 500, // duration of animation in ms if enabled
  animationEasing: undefined, // easing of animation if enabled
  boundingBox: undefined, // constrain layout bounds; { x1, y1, x2, y2 } or { x1, y1, w, h }
  transform: function( node, pos ){ return pos; }, // a function that applies a transform to the final node position
  ready: function(){}, // on layoutready
  stop: function(){} // on layoutstop
};

Capture

Best regards,

No render edges when use the newer Cytoscape-v3.1.0

Hi,
Now I have a graph app works fine ( cytoscape-2.7.17 , dagre-0.7.4 and cytoscape-dagre-1.5.0 )
Recently I have tried to upgrade Cytoscape to newer version 3.0.0 or 3.1.0. But using this latest versions the graph is wrong. Any error is displayed by the console , however the edges are hidden and all nodes are drawn in the same position.

Could you review it. I think that can be necesary to update "cytoscape-dagree".

Regards,

Cannot set property 'order' of undefined

Problem description

Hi there, I have come across the same issue as described in https://github.com/dagrejs/dagre/issues/234#issuecomment-399488074.
Fortunately, I was able to sketch out a simple html page to reproduce the bug.
The data part below is quite big since I can not reproduce the bug with only a small amount of data.
Precisely speaking, I dont know which part of the data triggers the error.

Context

I am using cytoscape, so this snippet contains code of cytoscape, cytoscape.dagre as well as dagre.
Three kinds of entities are drawn on the canvas, which are normal nodes, compound nodes(which are the parents of the normal node, in cytoscape's jargon) and also edges.

The interesting thing is that if I opt out of using "dagre" layout and choose to use "breadfirst", "grid" provided by cytoscape, everything renders fine.
Also, If I remove "edges" from the elements to be drawn, no error occurs.

Please check my code snippet below since it is runnable if you throw it into any browser.

code

<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="https://unpkg.com/cytoscape/dist/cytoscape.min.js"></script>
    <script src="https://unpkg.com/[email protected]/dist/dagre.js"></script>
    <script src="https://cytoscape.org/cytoscape.js-dagre/cytoscape-dagre.js"></script>
    <style>
        #cyto-container {
            width: 1000px;
            height: 1000px;
            border: 1px solid red;
        }
    </style>
</head>
<body>
<div id="cyto-container">

</div>
<script>
    // normal nodes
    const nodes = [
        {
            "data": {
                "id": "User10411150860",
                "label": "M",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User11384089212",
                "label": "F",
                "weight": 1,
                "parent": "bucket20",
                "bgColor": "#bedfef"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User1154546535",
                "label": "M",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User12332307155",
                "label": "F",
                "weight": 1,
                "parent": "bucket18",
                "bgColor": "#c70417"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User12336487339",
                "label": "F",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User1338991329",
                "label": "F",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User13808939975",
                "label": "F",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User15298741781",
                "label": "M",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User15623098142",
                "label": "M",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User18233149726",
                "label": "F",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User19465812307",
                "label": "M",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User20257487423",
                "label": "F",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User21855328286",
                "label": "M",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User22191713967",
                "label": "F",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User23206934191",
                "label": "F",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User2322385561",
                "label": "M",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User23828492857",
                "label": "F",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User2416567700",
                "label": "M",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User25157514637",
                "label": "F",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User256294575",
                "label": "F",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User25643663851",
                "label": "F",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User26144548824",
                "label": "F",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User261639016",
                "label": "M",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User2625221192",
                "label": "F",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User26439915127",
                "label": "M",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User27885110355",
                "label": "F",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User28438106231",
                "label": "F",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User28603513",
                "label": "F",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User28735131690",
                "label": "M",
                "weight": 1,
                "parent": "bucket20",
                "bgColor": "#bedfef"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User293762323",
                "label": "F",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User29924716274",
                "label": "F",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User3180199940",
                "label": "F",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User32144051382",
                "label": "F",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User32425070124",
                "label": "F",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User32472416121",
                "label": "M",
                "weight": 1,
                "parent": "bucket20",
                "bgColor": "#bedfef"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User33709067778",
                "label": "F",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User34584495727",
                "label": "F",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User3475299385",
                "label": "F",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User36339516347",
                "label": "M",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User36682711297",
                "label": "F",
                "weight": 1,
                "parent": "bucket17",
                "bgColor": "#ff7f28"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User36819058528",
                "label": "M",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User37113403599",
                "label": "F",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User37281709224",
                "label": "M",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User3805175111",
                "label": "M",
                "weight": 1,
                "parent": "bucket18",
                "bgColor": "#c70417"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User38091772615",
                "label": "F",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User38257960581",
                "label": "F",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User3833350617",
                "label": "F",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User40098645967",
                "label": "M",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User40187824606",
                "label": "M",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User40918253166",
                "label": "M",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User40964148873",
                "label": "F",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User41105187380",
                "label": "M",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User4123536243",
                "label": "M",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User42304258491",
                "label": "F",
                "weight": 1,
                "parent": "bucket20",
                "bgColor": "#bedfef"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User43867865559",
                "label": "M",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User45118509813",
                "label": "F",
                "weight": 1,
                "parent": "bucket20",
                "bgColor": "#bedfef"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User4581200328",
                "label": "F",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User46095408287",
                "label": "M",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User47683947153",
                "label": "F",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User4983624913",
                "label": "M",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User50666499864",
                "label": "F",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User5126362940",
                "label": "F",
                "weight": 1,
                "parent": "bucket20",
                "bgColor": "#bedfef"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User52196041437",
                "label": "F",
                "weight": 1,
                "parent": "bucket20",
                "bgColor": "#bedfef"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User52748164551",
                "label": "M",
                "weight": 1,
                "parent": "bucket18",
                "bgColor": "#c70417"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User5477190372",
                "label": "M",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User55646331854",
                "label": "F",
                "weight": 1,
                "parent": "bucket17",
                "bgColor": "#ff7f28"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User57261767359",
                "label": "F",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User57471572929",
                "label": "M",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User57936392816",
                "label": "F",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User58874246140",
                "label": "M",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User5924773331",
                "label": "M",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User6038459236",
                "label": "F",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User60767338825",
                "label": "F",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User60862680236",
                "label": "M",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User6106306432",
                "label": "M",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User62095164674",
                "label": "F",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User63651845565",
                "label": "F",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User64072328549",
                "label": "M",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User6423852888",
                "label": "F",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User65866758175",
                "label": "F",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User67291496597",
                "label": "M",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User67446961453",
                "label": "F",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User69175434156",
                "label": "F",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User69555367974",
                "label": "M",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User72298213987",
                "label": "M",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User7256106667",
                "label": "F",
                "weight": 1,
                "parent": "bucket17",
                "bgColor": "#ff7f28"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User73478828652",
                "label": "M",
                "weight": 1,
                "parent": "bucket20",
                "bgColor": "#bedfef"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User7397437572",
                "label": "F",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User75559240336",
                "label": "M",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User75931642183",
                "label": "F",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User76277081457",
                "label": "M",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User76614064292",
                "label": "F",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User78731633820",
                "label": "F",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User79343196919",
                "label": "F",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User79938656746",
                "label": "M",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User81624937692",
                "label": "M",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User82285178232",
                "label": "F",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User82423689609",
                "label": "F",
                "weight": 1,
                "parent": "bucket18",
                "bgColor": "#c70417"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User82798020277",
                "label": "F",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User82954658737",
                "label": "M",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User8314137580",
                "label": "M",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User836026752",
                "label": "F",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User85804844829",
                "label": "M",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User86137636598",
                "label": "F",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User86788690688",
                "label": "M",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User87006728130",
                "label": "F",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User87202354184",
                "label": "F",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User8878975183",
                "label": "F",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User89358216205",
                "label": "M",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User89412074471",
                "label": "M",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User8951411908",
                "label": "M",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User92582440125",
                "label": "F",
                "weight": 1,
                "parent": "bucket20",
                "bgColor": "#bedfef"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User93629426434",
                "label": "M",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User93989640158",
                "label": "M",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User94448623653",
                "label": "M",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User94729013415",
                "label": "M",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User9601718871",
                "label": "F",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User97387700182",
                "label": "F",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User9757605520",
                "label": "M",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User97623800794",
                "label": "F",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User97674269184",
                "label": "F",
                "weight": 1,
                "parent": "bucket18",
                "bgColor": "#c70417"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User98003306539",
                "label": "M",
                "weight": 1,
                "parent": "bucket18",
                "bgColor": "#c70417"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User98049402967",
                "label": "F",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User9839018362",
                "label": "M",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User10004825100",
                "label": "F",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User100916049",
                "label": "M",
                "weight": 1,
                "parent": "bucket20",
                "bgColor": "#bedfef"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User10136609507",
                "label": "M",
                "weight": 1,
                "parent": "bucket20",
                "bgColor": "#bedfef"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User1016832578",
                "label": "M",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User10186938826",
                "label": "M",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User10222690248",
                "label": "F",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User10224899888",
                "label": "M",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User10287284378",
                "label": "M",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User10336797950",
                "label": "M",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User10364311",
                "label": "M",
                "weight": 1,
                "parent": "bucket20",
                "bgColor": "#bedfef"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User1074280486",
                "label": "F",
                "weight": 1,
                "parent": "bucket20",
                "bgColor": "#bedfef"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User10756630682",
                "label": "F",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User11469229192",
                "label": "M",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User11767121986",
                "label": "M",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User1242908396",
                "label": "M",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User12928243190",
                "label": "M",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User13519455970",
                "label": "M",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User15735840743",
                "label": "M",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User16012213831",
                "label": "M",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User1608576301",
                "label": "F",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User19823774324",
                "label": "F",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User22579922746",
                "label": "M",
                "weight": 1,
                "parent": "bucket20",
                "bgColor": "#bedfef"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User25514149302",
                "label": "F",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User2564209383",
                "label": "M",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User25918290594",
                "label": "M",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User26657005602",
                "label": "F",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User2679329821",
                "label": "M",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User2769364771",
                "label": "M",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User27827985609",
                "label": "F",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User28452912536",
                "label": "F",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User28649280282",
                "label": "F",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User2905384412",
                "label": "F",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User3045365641",
                "label": "M",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User30829323404",
                "label": "F",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User31127143625",
                "label": "F",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User31135724672",
                "label": "M",
                "weight": 1,
                "parent": "bucket18",
                "bgColor": "#c70417"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User33526736194",
                "label": "M",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User3411358812",
                "label": "F",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User3421862141",
                "label": "M",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User34411182998",
                "label": "F",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User35256935498",
                "label": "M",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User3568113310",
                "label": "M",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User37548659894",
                "label": "M",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User37711991117",
                "label": "M",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User37713520450",
                "label": "F",
                "weight": 1,
                "parent": "bucket20",
                "bgColor": "#bedfef"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User40241239912",
                "label": "F",
                "weight": 1,
                "parent": "bucket18",
                "bgColor": "#c70417"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User40342572456",
                "label": "M",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User42517911616",
                "label": "F",
                "weight": 1,
                "parent": "bucket20",
                "bgColor": "#bedfef"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User42824474476",
                "label": "F",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User4541290443",
                "label": "F",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User45432831372",
                "label": "M",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User45947306181",
                "label": "F",
                "weight": 1,
                "parent": "bucket20",
                "bgColor": "#bedfef"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User46038049916",
                "label": "F",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User47496377513",
                "label": "F",
                "weight": 1,
                "parent": "bucket17",
                "bgColor": "#ff7f28"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User4753788476",
                "label": "M",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User47636254106",
                "label": "M",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User49211923915",
                "label": "M",
                "weight": 1,
                "parent": "bucket20",
                "bgColor": "#bedfef"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User49879997815",
                "label": "F",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User50513203829",
                "label": "M",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User51534806514",
                "label": "M",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User52601390664",
                "label": "F",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User53252294490",
                "label": "M",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User53819046492",
                "label": "M",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User54713696106",
                "label": "F",
                "weight": 1,
                "parent": "bucket18",
                "bgColor": "#c70417"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User5628207225",
                "label": "M",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User5749131633",
                "label": "M",
                "weight": 1,
                "parent": "bucket17",
                "bgColor": "#ff7f28"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User5797958685",
                "label": "M",
                "weight": 1,
                "parent": "bucket17",
                "bgColor": "#ff7f28"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User61881675330",
                "label": "F",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User62427559786",
                "label": "M",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User63447868328",
                "label": "M",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User6346185963",
                "label": "F",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User64432813877",
                "label": "F",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User65844369164",
                "label": "M",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User66407553414",
                "label": "F",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User66726859276",
                "label": "F",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User68071422266",
                "label": "F",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User7067724358",
                "label": "F",
                "weight": 1,
                "parent": "bucket17",
                "bgColor": "#ff7f28"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User7090522559",
                "label": "F",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User71404492765",
                "label": "F",
                "weight": 1,
                "parent": "bucket17",
                "bgColor": "#ff7f28"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User7189918243",
                "label": "M",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User72623175924",
                "label": "F",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User7340875961",
                "label": "M",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User74038779586",
                "label": "F",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User79491587236",
                "label": "F",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User80171964596",
                "label": "M",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User80621730721",
                "label": "M",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User81081930906",
                "label": "F",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User81383013629",
                "label": "F",
                "weight": 1,
                "parent": "bucket17",
                "bgColor": "#ff7f28"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User82208634775",
                "label": "M",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User82688436173",
                "label": "F",
                "weight": 1,
                "parent": "bucket17",
                "bgColor": "#ff7f28"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User83081980749",
                "label": "M",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User83843494931",
                "label": "F",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User84302240370",
                "label": "M",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User84742086625",
                "label": "M",
                "weight": 1,
                "parent": "bucket18",
                "bgColor": "#c70417"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User85914891243",
                "label": "F",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User86812700531",
                "label": "M",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User8760840467",
                "label": "M",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User87841856823",
                "label": "M",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User88026598827",
                "label": "M",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User8847332184",
                "label": "F",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User88869736822",
                "label": "F",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User90386439396",
                "label": "F",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User90812849359",
                "label": "F",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User94565362806",
                "label": "M",
                "weight": 1,
                "parent": "bucket18",
                "bgColor": "#c70417"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User95559867485",
                "label": "M",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User95882953982",
                "label": "M",
                "weight": 1,
                "parent": "bucket20",
                "bgColor": "#bedfef"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User96641305532",
                "label": "M",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User97741217677",
                "label": "M",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User97871957830",
                "label": "M",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User98184686548",
                "label": "M",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User98329821490",
                "label": "F",
                "weight": 1,
                "parent": "bucket20",
                "bgColor": "#bedfef"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User988090490",
                "label": "M",
                "weight": 1,
                "parent": "bucket17",
                "bgColor": "#ff7f28"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User98894745301",
                "label": "M",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User10981261402",
                "label": "M",
                "weight": 1,
                "parent": "bucket17",
                "bgColor": "#ff7f28"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User11081596713",
                "label": "F",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User1136389466",
                "label": "F",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User11665235147",
                "label": "M",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User11689950614",
                "label": "M",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User1223972969",
                "label": "M",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User15026039223",
                "label": "F",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User17158271141",
                "label": "F",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User1812205911",
                "label": "F",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User19244265312",
                "label": "F",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User20447823839",
                "label": "F",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User20545259155",
                "label": "F",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User22872927699",
                "label": "F",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User25434558838",
                "label": "M",
                "weight": 1,
                "parent": "bucket17",
                "bgColor": "#ff7f28"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User278281693",
                "label": "M",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User28513717919",
                "label": "M",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User29299813191",
                "label": "M",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User298267938",
                "label": "F",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User31105959507",
                "label": "F",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User316357476",
                "label": "F",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User32055433578",
                "label": "F",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User321528778",
                "label": "F",
                "weight": 1,
                "parent": "bucket18",
                "bgColor": "#c70417"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User32211618663",
                "label": "M",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User35304324218",
                "label": "M",
                "weight": 1,
                "parent": "bucket18",
                "bgColor": "#c70417"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User3532369862",
                "label": "M",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User35726073436",
                "label": "F",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User36779286163",
                "label": "M",
                "weight": 1,
                "parent": "bucket17",
                "bgColor": "#ff7f28"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User3704407570",
                "label": "F",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User37461257307",
                "label": "M",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User37839261742",
                "label": "F",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User38336442170",
                "label": "M",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User38618661425",
                "label": "F",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User43808262150",
                "label": "M",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User44577129850",
                "label": "M",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User45271739230",
                "label": "M",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User4555499666",
                "label": "M",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User4588301749",
                "label": "M",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User45887230779",
                "label": "M",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User47666089385",
                "label": "F",
                "weight": 1,
                "parent": "bucket17",
                "bgColor": "#ff7f28"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User47874940490",
                "label": "F",
                "weight": 1,
                "parent": "bucket17",
                "bgColor": "#ff7f28"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User47956669823",
                "label": "F",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User4818420322",
                "label": "F",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User49495447607",
                "label": "M",
                "weight": 1,
                "parent": "bucket18",
                "bgColor": "#c70417"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User49555199995",
                "label": "F",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User5035226671",
                "label": "F",
                "weight": 1,
                "parent": "bucket20",
                "bgColor": "#bedfef"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User50703199668",
                "label": "F",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User5208423932",
                "label": "F",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User52667704795",
                "label": "F",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User53099121469",
                "label": "M",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User5331613802",
                "label": "F",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User540433689",
                "label": "F",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User5408311524",
                "label": "F",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User5423183854",
                "label": "F",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User55375111237",
                "label": "F",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User5549260687",
                "label": "M",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User55525436568",
                "label": "F",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User5555155532",
                "label": "F",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User5594618276",
                "label": "F",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User5759847151",
                "label": "M",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User58048279629",
                "label": "M",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User58164603956",
                "label": "M",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User60339404201",
                "label": "M",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User60459055986",
                "label": "F",
                "weight": 1,
                "parent": "bucket20",
                "bgColor": "#bedfef"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User6065531122",
                "label": "F",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User61729850944",
                "label": "F",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User62204114360",
                "label": "M",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User6248320466",
                "label": "F",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User64121729280",
                "label": "F",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User6562383183",
                "label": "F",
                "weight": 1,
                "parent": "bucket18",
                "bgColor": "#c70417"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User66034130891",
                "label": "M",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User67429699725",
                "label": "F",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User68231899858",
                "label": "F",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User6833965921",
                "label": "F",
                "weight": 1,
                "parent": "bucket20",
                "bgColor": "#bedfef"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User68663111196",
                "label": "F",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User69161860149",
                "label": "F",
                "weight": 1,
                "parent": "bucket20",
                "bgColor": "#bedfef"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User73899452206",
                "label": "F",
                "weight": 1,
                "parent": "bucket18",
                "bgColor": "#c70417"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User73928673243",
                "label": "M",
                "weight": 1,
                "parent": "bucket11",
                "bgColor": "#f74671"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User74849021663",
                "label": "F",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User75521487643",
                "label": "F",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User75742409544",
                "label": "F",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User76245126620",
                "label": "F",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User78358465466",
                "label": "M",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User79427970813",
                "label": "F",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User7972545510",
                "label": "F",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User8505550356",
                "label": "M",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User854427925",
                "label": "F",
                "weight": 1,
                "parent": "bucket20",
                "bgColor": "#bedfef"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User85868669650",
                "label": "M",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User86016450429",
                "label": "F",
                "weight": 1,
                "parent": "bucket18",
                "bgColor": "#c70417"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User86409545779",
                "label": "M",
                "weight": 1,
                "parent": "bucket17",
                "bgColor": "#ff7f28"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User88241672256",
                "label": "M",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User88518425519",
                "label": "M",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User88569394735",
                "label": "F",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User88935500475",
                "label": "M",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User90022839174",
                "label": "M",
                "weight": 1,
                "parent": "bucket18",
                "bgColor": "#c70417"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User90679086826",
                "label": "M",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User90686415193",
                "label": "M",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User91422098470",
                "label": "M",
                "weight": 1,
                "parent": "bucket16",
                "bgColor": "#5f68cc"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User92347582883",
                "label": "F",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User92761933456",
                "label": "F",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User92881280722",
                "label": "M",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User9306937400",
                "label": "F",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User93869316408",
                "label": "F",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User94744005806",
                "label": "F",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User94784101946",
                "label": "M",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User94788830925",
                "label": "F",
                "weight": 1,
                "parent": "bucket19",
                "bgColor": "#3f0053"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User94962286439",
                "label": "M",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User95759852915",
                "label": "M",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User96634248652",
                "label": "F",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User9672801757",
                "label": "F",
                "weight": 1,
                "parent": "bucket18",
                "bgColor": "#c70417"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User97057115483",
                "label": "F",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User971719430",
                "label": "M",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User9740466546",
                "label": "F",
                "weight": 1,
                "parent": "bucket20",
                "bgColor": "#bedfef"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User98079256611",
                "label": "M",
                "weight": 1,
                "parent": "bucket14",
                "bgColor": "#008ebf"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User9848036165",
                "label": "M",
                "weight": 1,
                "parent": "bucket12",
                "bgColor": "#ffd171"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User98905182942",
                "label": "F",
                "weight": 1,
                "parent": "bucket13",
                "bgColor": "#00d6a2"
            },
            "classes": "normal"
        },
        {
            "data": {
                "id": "User99699436260",
                "label": "M",
                "weight": 1,
                "parent": "bucket15",
                "bgColor": "#002d56"
            },
            "classes": "normal"
        }

    ];

    // nodes parent, compound node
    const groups = [
        {
            "data": {
                "id": "bucket11",
                "label": "Age=18~22 (User)",
                "isBucket": true
            }
        },
        {
            "data": {
                "id": "bucket12",
                "label": "Age=23~27 (User)",
                "isBucket": true
            }
        },
        {
            "data": {
                "id": "bucket13",
                "label": "Age=28~32 (User)",
                "isBucket": true
            }
        },
        {
            "data": {
                "id": "bucket14",
                "label": "Age=33~37 (User)",
                "isBucket": true
            }
        },
        {
            "data": {
                "id": "bucket15",
                "label": "Age=38~42 (User)",
                "isBucket": true
            }
        },
        {
            "data": {
                "id": "bucket16",
                "label": "Age=43~47 (User)",
                "isBucket": true
            }
        },
        {
            "data": {
                "id": "bucket17",
                "label": "Age=48~52 (User)",
                "isBucket": true
            }
        },
        {
            "data": {
                "id": "bucket18",
                "label": "Age=53~57 (User)",
                "isBucket": true
            }
        },
        {
            "data": {
                "id": "bucket19",
                "label": "Age=58~63 (User)",
                "isBucket": true
            }
        },
        {
            "data": {
                "id": "bucket20",
                "label": "Age=64~70 (User)",
                "isBucket": true
            }
        }
    ];

    // edges only exist between normal nodes,
    // we dont have edges between "compound nodes" and other nodes.
    const edges = [
        {
            "data": {
                "id": "User316357476User10004825100",
                "source": "User316357476",
                "target": "User10004825100",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User37461257307User10004825100",
                "source": "User37461257307",
                "target": "User10004825100",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User6248320466User10004825100",
                "source": "User6248320466",
                "target": "User10004825100",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User1136389466User100916049",
                "source": "User1136389466",
                "target": "User100916049",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User17158271141User100916049",
                "source": "User17158271141",
                "target": "User100916049",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User22872927699User100916049",
                "source": "User22872927699",
                "target": "User100916049",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User298267938User100916049",
                "source": "User298267938",
                "target": "User100916049",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User38618661425User100916049",
                "source": "User38618661425",
                "target": "User100916049",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User5555155532User100916049",
                "source": "User5555155532",
                "target": "User100916049",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User61729850944User100916049",
                "source": "User61729850944",
                "target": "User100916049",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User68663111196User100916049",
                "source": "User68663111196",
                "target": "User100916049",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User94784101946User100916049",
                "source": "User94784101946",
                "target": "User100916049",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User76245126620User10136609507",
                "source": "User76245126620",
                "target": "User10136609507",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User90686415193User10136609507",
                "source": "User90686415193",
                "target": "User10136609507",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User95759852915User10136609507",
                "source": "User95759852915",
                "target": "User10136609507",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User11081596713User1016832578",
                "source": "User11081596713",
                "target": "User1016832578",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User36779286163User1016832578",
                "source": "User36779286163",
                "target": "User1016832578",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User5423183854User1016832578",
                "source": "User5423183854",
                "target": "User1016832578",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User75521487643User1016832578",
                "source": "User75521487643",
                "target": "User1016832578",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User90679086826User1016832578",
                "source": "User90679086826",
                "target": "User1016832578",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User92347582883User1016832578",
                "source": "User92347582883",
                "target": "User1016832578",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User9672801757User1016832578",
                "source": "User9672801757",
                "target": "User1016832578",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User58048279629User10186938826",
                "source": "User58048279629",
                "target": "User10186938826",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User11665235147User10222690248",
                "source": "User11665235147",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User11689950614User10222690248",
                "source": "User11689950614",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User20447823839User10222690248",
                "source": "User20447823839",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User4588301749User10222690248",
                "source": "User4588301749",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User52667704795User10222690248",
                "source": "User52667704795",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User5408311524User10222690248",
                "source": "User5408311524",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User60459055986User10222690248",
                "source": "User60459055986",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User6065531122User10222690248",
                "source": "User6065531122",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User62204114360User10222690248",
                "source": "User62204114360",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User854427925User10222690248",
                "source": "User854427925",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User86409545779User10222690248",
                "source": "User86409545779",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User88569394735User10222690248",
                "source": "User88569394735",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User92761933456User10222690248",
                "source": "User92761933456",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User97057115483User10224899888",
                "source": "User97057115483",
                "target": "User10224899888",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User98079256611User10224899888",
                "source": "User98079256611",
                "target": "User10224899888",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User9848036165User10224899888",
                "source": "User9848036165",
                "target": "User10224899888",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User25434558838User10287284378",
                "source": "User25434558838",
                "target": "User10287284378",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User8505550356User10287284378",
                "source": "User8505550356",
                "target": "User10287284378",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User9306937400User10287284378",
                "source": "User9306937400",
                "target": "User10287284378",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User29299813191User10336797950",
                "source": "User29299813191",
                "target": "User10336797950",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User321528778User10336797950",
                "source": "User321528778",
                "target": "User10336797950",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User43808262150User10336797950",
                "source": "User43808262150",
                "target": "User10336797950",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User4818420322User10336797950",
                "source": "User4818420322",
                "target": "User10336797950",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User50703199668User10336797950",
                "source": "User50703199668",
                "target": "User10336797950",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User5759847151User10336797950",
                "source": "User5759847151",
                "target": "User10336797950",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User75742409544User10336797950",
                "source": "User75742409544",
                "target": "User10336797950",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User7972545510User10336797950",
                "source": "User7972545510",
                "target": "User10336797950",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User86016450429User10336797950",
                "source": "User86016450429",
                "target": "User10336797950",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10981261402User10364311",
                "source": "User10981261402",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User20447823839User10364311",
                "source": "User20447823839",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User20545259155User10364311",
                "source": "User20545259155",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User278281693User10364311",
                "source": "User278281693",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User35726073436User10364311",
                "source": "User35726073436",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User49495447607User10364311",
                "source": "User49495447607",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User5208423932User10364311",
                "source": "User5208423932",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User5331613802User10364311",
                "source": "User5331613802",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User6562383183User10364311",
                "source": "User6562383183",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User79427970813User10364311",
                "source": "User79427970813",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User90022839174User10364311",
                "source": "User90022839174",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User94962286439User10364311",
                "source": "User94962286439",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User28603513User100916049",
                "source": "User28603513",
                "target": "User100916049",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User45118509813User100916049",
                "source": "User45118509813",
                "target": "User100916049",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User58874246140User100916049",
                "source": "User58874246140",
                "target": "User100916049",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User75559240336User100916049",
                "source": "User75559240336",
                "target": "User100916049",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User78731633820User100916049",
                "source": "User78731633820",
                "target": "User100916049",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User82798020277User100916049",
                "source": "User82798020277",
                "target": "User100916049",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User33709067778User10136609507",
                "source": "User33709067778",
                "target": "User10136609507",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User3805175111User10136609507",
                "source": "User3805175111",
                "target": "User10136609507",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User63651845565User10136609507",
                "source": "User63651845565",
                "target": "User10136609507",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User7256106667User10136609507",
                "source": "User7256106667",
                "target": "User10136609507",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User93989640158User10136609507",
                "source": "User93989640158",
                "target": "User10136609507",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User98003306539User10136609507",
                "source": "User98003306539",
                "target": "User10136609507",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User26439915127User1016832578",
                "source": "User26439915127",
                "target": "User1016832578",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User52196041437User1016832578",
                "source": "User52196041437",
                "target": "User1016832578",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User5924773331User1016832578",
                "source": "User5924773331",
                "target": "User1016832578",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User7397437572User1016832578",
                "source": "User7397437572",
                "target": "User1016832578",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User8951411908User1016832578",
                "source": "User8951411908",
                "target": "User1016832578",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User21855328286User10186938826",
                "source": "User21855328286",
                "target": "User10186938826",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User33709067778User10186938826",
                "source": "User33709067778",
                "target": "User10186938826",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User1154546535User10222690248",
                "source": "User1154546535",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User13808939975User10222690248",
                "source": "User13808939975",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User18233149726User10222690248",
                "source": "User18233149726",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User2322385561User10222690248",
                "source": "User2322385561",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User3475299385User10222690248",
                "source": "User3475299385",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User41105187380User10222690248",
                "source": "User41105187380",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User46095408287User10222690248",
                "source": "User46095408287",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User47683947153User10222690248",
                "source": "User47683947153",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User52748164551User10222690248",
                "source": "User52748164551",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User60767338825User10222690248",
                "source": "User60767338825",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User6423852888User10222690248",
                "source": "User6423852888",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User81624937692User10222690248",
                "source": "User81624937692",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User82954658737User10222690248",
                "source": "User82954658737",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User8314137580User10222690248",
                "source": "User8314137580",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User86788690688User10222690248",
                "source": "User86788690688",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User97623800794User10222690248",
                "source": "User97623800794",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User20257487423User10224899888",
                "source": "User20257487423",
                "target": "User10224899888",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User22191713967User10224899888",
                "source": "User22191713967",
                "target": "User10224899888",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User5126362940User10224899888",
                "source": "User5126362940",
                "target": "User10224899888",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User62095164674User10224899888",
                "source": "User62095164674",
                "target": "User10224899888",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User64072328549User10224899888",
                "source": "User64072328549",
                "target": "User10224899888",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User69555367974User10224899888",
                "source": "User69555367974",
                "target": "User10224899888",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User86137636598User10224899888",
                "source": "User86137636598",
                "target": "User10224899888",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User97674269184User10287284378",
                "source": "User97674269184",
                "target": "User10287284378",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User9839018362User10287284378",
                "source": "User9839018362",
                "target": "User10287284378",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User13808939975User10336797950",
                "source": "User13808939975",
                "target": "User10336797950",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User4983624913User10336797950",
                "source": "User4983624913",
                "target": "User10336797950",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User57936392816User10336797950",
                "source": "User57936392816",
                "target": "User10336797950",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User85804844829User10336797950",
                "source": "User85804844829",
                "target": "User10336797950",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User97623800794User10336797950",
                "source": "User97623800794",
                "target": "User10336797950",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User15623098142User10364311",
                "source": "User15623098142",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User23828492857User10364311",
                "source": "User23828492857",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User2416567700User10364311",
                "source": "User2416567700",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User261639016User10364311",
                "source": "User261639016",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User2625221192User10364311",
                "source": "User2625221192",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User37281709224User10364311",
                "source": "User37281709224",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User40918253166User10364311",
                "source": "User40918253166",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User4581200328User10364311",
                "source": "User4581200328",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User60862680236User10364311",
                "source": "User60862680236",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User6106306432User10364311",
                "source": "User6106306432",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User72298213987User10364311",
                "source": "User72298213987",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User79938656746User10364311",
                "source": "User79938656746",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10004825100User16012213831",
                "source": "User10004825100",
                "target": "User16012213831",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10004825100User37711991117",
                "source": "User10004825100",
                "target": "User37711991117",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10004825100User4123536243",
                "source": "User10004825100",
                "target": "User4123536243",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10004825100User57261767359",
                "source": "User10004825100",
                "target": "User57261767359",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10004825100User7067724358",
                "source": "User10004825100",
                "target": "User7067724358",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10004825100User7189918243",
                "source": "User10004825100",
                "target": "User7189918243",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10004825100User87006728130",
                "source": "User10004825100",
                "target": "User87006728130",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10004825100User94744005806",
                "source": "User10004825100",
                "target": "User94744005806",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User37548659894User10004825100",
                "source": "User37548659894",
                "target": "User10004825100",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User100916049User1223972969",
                "source": "User100916049",
                "target": "User1223972969",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User100916049User12928243190",
                "source": "User100916049",
                "target": "User12928243190",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User100916049User1812205911",
                "source": "User100916049",
                "target": "User1812205911",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User100916049User19823774324",
                "source": "User100916049",
                "target": "User19823774324",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User100916049User256294575",
                "source": "User100916049",
                "target": "User256294575",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User100916049User25643663851",
                "source": "User100916049",
                "target": "User25643663851",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User100916049User28513717919",
                "source": "User100916049",
                "target": "User28513717919",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User100916049User293762323",
                "source": "User100916049",
                "target": "User293762323",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User100916049User31105959507",
                "source": "User100916049",
                "target": "User31105959507",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User100916049User3421862141",
                "source": "User100916049",
                "target": "User3421862141",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User100916049User37113403599",
                "source": "User100916049",
                "target": "User37113403599",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User100916049User40098645967",
                "source": "User100916049",
                "target": "User40098645967",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User100916049User47496377513",
                "source": "User100916049",
                "target": "User47496377513",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User100916049User5628207225",
                "source": "User100916049",
                "target": "User5628207225",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User100916049User62427559786",
                "source": "User100916049",
                "target": "User62427559786",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User100916049User74849021663",
                "source": "User100916049",
                "target": "User74849021663",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User100916049User87841856823",
                "source": "User100916049",
                "target": "User87841856823",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User100916049User89412074471",
                "source": "User100916049",
                "target": "User89412074471",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User100916049User90812849359",
                "source": "User100916049",
                "target": "User90812849359",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User100916049User92881280722",
                "source": "User100916049",
                "target": "User92881280722",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User100916049User971719430",
                "source": "User100916049",
                "target": "User971719430",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User100916049User99699436260",
                "source": "User100916049",
                "target": "User99699436260",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User31127143625User100916049",
                "source": "User31127143625",
                "target": "User100916049",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User3568113310User100916049",
                "source": "User3568113310",
                "target": "User100916049",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User52601390664User100916049",
                "source": "User52601390664",
                "target": "User100916049",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User66726859276User100916049",
                "source": "User66726859276",
                "target": "User100916049",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User90386439396User100916049",
                "source": "User90386439396",
                "target": "User100916049",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User98894745301User100916049",
                "source": "User98894745301",
                "target": "User100916049",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10136609507User19244265312",
                "source": "User10136609507",
                "target": "User19244265312",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10136609507User47666089385",
                "source": "User10136609507",
                "target": "User47666089385",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10136609507User55375111237",
                "source": "User10136609507",
                "target": "User55375111237",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10136609507User5797958685",
                "source": "User10136609507",
                "target": "User5797958685",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10136609507User68071422266",
                "source": "User10136609507",
                "target": "User68071422266",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10136609507User80621730721",
                "source": "User10136609507",
                "target": "User80621730721",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10136609507User88869736822",
                "source": "User10136609507",
                "target": "User88869736822",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10136609507User93869316408",
                "source": "User10136609507",
                "target": "User93869316408",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10136609507User93989640158",
                "source": "User10136609507",
                "target": "User93989640158",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User8847332184User10136609507",
                "source": "User8847332184",
                "target": "User10136609507",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User1016832578User23206934191",
                "source": "User1016832578",
                "target": "User23206934191",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User1016832578User43867865559",
                "source": "User1016832578",
                "target": "User43867865559",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User1016832578User49555199995",
                "source": "User1016832578",
                "target": "User49555199995",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User1016832578User5549260687",
                "source": "User1016832578",
                "target": "User5549260687",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User1016832578User65866758175",
                "source": "User1016832578",
                "target": "User65866758175",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User1016832578User67291496597",
                "source": "User1016832578",
                "target": "User67291496597",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User1016832578User75931642183",
                "source": "User1016832578",
                "target": "User75931642183",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User1016832578User78358465466",
                "source": "User1016832578",
                "target": "User78358465466",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User1016832578User83843494931",
                "source": "User1016832578",
                "target": "User83843494931",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User1016832578User86788690688",
                "source": "User1016832578",
                "target": "User86788690688",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User1016832578User9740466546",
                "source": "User1016832578",
                "target": "User9740466546",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User82688436173User1016832578",
                "source": "User82688436173",
                "target": "User1016832578",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User88026598827User1016832578",
                "source": "User88026598827",
                "target": "User1016832578",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10186938826User28452912536",
                "source": "User10186938826",
                "target": "User28452912536",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10186938826User37839261742",
                "source": "User10186938826",
                "target": "User37839261742",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10186938826User45887230779",
                "source": "User10186938826",
                "target": "User45887230779",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10186938826User53099121469",
                "source": "User10186938826",
                "target": "User53099121469",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10186938826User80171964596",
                "source": "User10186938826",
                "target": "User80171964596",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10186938826User81383013629",
                "source": "User10186938826",
                "target": "User81383013629",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10186938826User86812700531",
                "source": "User10186938826",
                "target": "User86812700531",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10186938826User87202354184",
                "source": "User10186938826",
                "target": "User87202354184",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User2769364771User10186938826",
                "source": "User2769364771",
                "target": "User10186938826",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User45432831372User10186938826",
                "source": "User45432831372",
                "target": "User10186938826",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User65844369164User10186938826",
                "source": "User65844369164",
                "target": "User10186938826",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10222690248User12336487339",
                "source": "User10222690248",
                "target": "User12336487339",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10222690248User15298741781",
                "source": "User10222690248",
                "target": "User15298741781",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10222690248User26657005602",
                "source": "User10222690248",
                "target": "User26657005602",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10222690248User27885110355",
                "source": "User10222690248",
                "target": "User27885110355",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10222690248User28735131690",
                "source": "User10222690248",
                "target": "User28735131690",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10222690248User40187824606",
                "source": "User10222690248",
                "target": "User40187824606",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10222690248User42824474476",
                "source": "User10222690248",
                "target": "User42824474476",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10222690248User44577129850",
                "source": "User10222690248",
                "target": "User44577129850",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10222690248User45271739230",
                "source": "User10222690248",
                "target": "User45271739230",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10222690248User47956669823",
                "source": "User10222690248",
                "target": "User47956669823",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10222690248User5477190372",
                "source": "User10222690248",
                "target": "User5477190372",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10222690248User5594618276",
                "source": "User10222690248",
                "target": "User5594618276",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10222690248User66407553414",
                "source": "User10222690248",
                "target": "User66407553414",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10222690248User69161860149",
                "source": "User10222690248",
                "target": "User69161860149",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10222690248User71404492765",
                "source": "User10222690248",
                "target": "User71404492765",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10222690248User73899452206",
                "source": "User10222690248",
                "target": "User73899452206",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10222690248User76277081457",
                "source": "User10222690248",
                "target": "User76277081457",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10222690248User76614064292",
                "source": "User10222690248",
                "target": "User76614064292",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10222690248User81081930906",
                "source": "User10222690248",
                "target": "User81081930906",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10222690248User82208634775",
                "source": "User10222690248",
                "target": "User82208634775",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10222690248User82954658737",
                "source": "User10222690248",
                "target": "User82954658737",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10222690248User89358216205",
                "source": "User10222690248",
                "target": "User89358216205",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10222690248User91422098470",
                "source": "User10222690248",
                "target": "User91422098470",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10222690248User94729013415",
                "source": "User10222690248",
                "target": "User94729013415",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10222690248User94788830925",
                "source": "User10222690248",
                "target": "User94788830925",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10222690248User98905182942",
                "source": "User10222690248",
                "target": "User98905182942",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User13519455970User10222690248",
                "source": "User13519455970",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User1608576301User10222690248",
                "source": "User1608576301",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User2679329821User10222690248",
                "source": "User2679329821",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User28649280282User10222690248",
                "source": "User28649280282",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User31135724672User10222690248",
                "source": "User31135724672",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User34411182998User10222690248",
                "source": "User34411182998",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User40342572456User10222690248",
                "source": "User40342572456",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User49879997815User10222690248",
                "source": "User49879997815",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User53819046492User10222690248",
                "source": "User53819046492",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User7090522559User10222690248",
                "source": "User7090522559",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User94565362806User10222690248",
                "source": "User94565362806",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User95559867485User10222690248",
                "source": "User95559867485",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User96641305532User10222690248",
                "source": "User96641305532",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User97741217677User10222690248",
                "source": "User97741217677",
                "target": "User10222690248",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10224899888User11384089212",
                "source": "User10224899888",
                "target": "User11384089212",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10224899888User11767121986",
                "source": "User10224899888",
                "target": "User11767121986",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10224899888User1338991329",
                "source": "User10224899888",
                "target": "User1338991329",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10224899888User22579922746",
                "source": "User10224899888",
                "target": "User22579922746",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10224899888User3180199940",
                "source": "User10224899888",
                "target": "User3180199940",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10224899888User35304324218",
                "source": "User10224899888",
                "target": "User35304324218",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10224899888User3532369862",
                "source": "User10224899888",
                "target": "User3532369862",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10224899888User36339516347",
                "source": "User10224899888",
                "target": "User36339516347",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10224899888User38336442170",
                "source": "User10224899888",
                "target": "User38336442170",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10224899888User40241239912",
                "source": "User10224899888",
                "target": "User40241239912",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10224899888User40964148873",
                "source": "User10224899888",
                "target": "User40964148873",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10224899888User4541290443",
                "source": "User10224899888",
                "target": "User4541290443",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10224899888User46038049916",
                "source": "User10224899888",
                "target": "User46038049916",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10224899888User47874940490",
                "source": "User10224899888",
                "target": "User47874940490",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10224899888User540433689",
                "source": "User10224899888",
                "target": "User540433689",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10224899888User63447868328",
                "source": "User10224899888",
                "target": "User63447868328",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10224899888User64121729280",
                "source": "User10224899888",
                "target": "User64121729280",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10224899888User66034130891",
                "source": "User10224899888",
                "target": "User66034130891",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10224899888User69555367974",
                "source": "User10224899888",
                "target": "User69555367974",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10224899888User73478828652",
                "source": "User10224899888",
                "target": "User73478828652",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10224899888User79343196919",
                "source": "User10224899888",
                "target": "User79343196919",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10224899888User82423689609",
                "source": "User10224899888",
                "target": "User82423689609",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10224899888User836026752",
                "source": "User10224899888",
                "target": "User836026752",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10224899888User86812700531",
                "source": "User10224899888",
                "target": "User86812700531",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10224899888User88241672256",
                "source": "User10224899888",
                "target": "User88241672256",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10224899888User92582440125",
                "source": "User10224899888",
                "target": "User92582440125",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10224899888User99699436260",
                "source": "User10224899888",
                "target": "User99699436260",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User61881675330User10224899888",
                "source": "User61881675330",
                "target": "User10224899888",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User7340875961User10224899888",
                "source": "User7340875961",
                "target": "User10224899888",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User85914891243User10224899888",
                "source": "User85914891243",
                "target": "User10224899888",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User98329821490User10224899888",
                "source": "User98329821490",
                "target": "User10224899888",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10287284378User15026039223",
                "source": "User10287284378",
                "target": "User15026039223",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10287284378User19465812307",
                "source": "User10287284378",
                "target": "User19465812307",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10287284378User26144548824",
                "source": "User10287284378",
                "target": "User26144548824",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10287284378User36819058528",
                "source": "User10287284378",
                "target": "User36819058528",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10287284378User38091772615",
                "source": "User10287284378",
                "target": "User38091772615",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10287284378User49211923915",
                "source": "User10287284378",
                "target": "User49211923915",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10287284378User55525436568",
                "source": "User10287284378",
                "target": "User55525436568",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10287284378User55646331854",
                "source": "User10287284378",
                "target": "User55646331854",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10287284378User69175434156",
                "source": "User10287284378",
                "target": "User69175434156",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10287284378User9601718871",
                "source": "User10287284378",
                "target": "User9601718871",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User54713696106User10287284378",
                "source": "User54713696106",
                "target": "User10287284378",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10336797950User10411150860",
                "source": "User10336797950",
                "target": "User10411150860",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10336797950User10756630682",
                "source": "User10336797950",
                "target": "User10756630682",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10336797950User28438106231",
                "source": "User10336797950",
                "target": "User28438106231",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10336797950User29924716274",
                "source": "User10336797950",
                "target": "User29924716274",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10336797950User32055433578",
                "source": "User10336797950",
                "target": "User32055433578",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10336797950User32211618663",
                "source": "User10336797950",
                "target": "User32211618663",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10336797950User32472416121",
                "source": "User10336797950",
                "target": "User32472416121",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10336797950User3411358812",
                "source": "User10336797950",
                "target": "User3411358812",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10336797950User34584495727",
                "source": "User10336797950",
                "target": "User34584495727",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10336797950User35256935498",
                "source": "User10336797950",
                "target": "User35256935498",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10336797950User3704407570",
                "source": "User10336797950",
                "target": "User3704407570",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10336797950User38257960581",
                "source": "User10336797950",
                "target": "User38257960581",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10336797950User3833350617",
                "source": "User10336797950",
                "target": "User3833350617",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10336797950User4555499666",
                "source": "User10336797950",
                "target": "User4555499666",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10336797950User50666499864",
                "source": "User10336797950",
                "target": "User50666499864",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10336797950User57471572929",
                "source": "User10336797950",
                "target": "User57471572929",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10336797950User5749131633",
                "source": "User10336797950",
                "target": "User5749131633",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10336797950User58164603956",
                "source": "User10336797950",
                "target": "User58164603956",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10336797950User64432813877",
                "source": "User10336797950",
                "target": "User64432813877",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10336797950User67446961453",
                "source": "User10336797950",
                "target": "User67446961453",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10336797950User6833965921",
                "source": "User10336797950",
                "target": "User6833965921",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10336797950User74038779586",
                "source": "User10336797950",
                "target": "User74038779586",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10336797950User83081980749",
                "source": "User10336797950",
                "target": "User83081980749",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10336797950User85868669650",
                "source": "User10336797950",
                "target": "User85868669650",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10336797950User8878975183",
                "source": "User10336797950",
                "target": "User8878975183",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10336797950User97387700182",
                "source": "User10336797950",
                "target": "User97387700182",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10336797950User9757605520",
                "source": "User10336797950",
                "target": "User9757605520",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10336797950User98184686548",
                "source": "User10336797950",
                "target": "User98184686548",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10336797950User988090490",
                "source": "User10336797950",
                "target": "User988090490",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10364311User10336797950",
                "source": "User10364311",
                "target": "User10336797950",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User25514149302User10336797950",
                "source": "User25514149302",
                "target": "User10336797950",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User3045365641User10336797950",
                "source": "User3045365641",
                "target": "User10336797950",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User33526736194User10336797950",
                "source": "User33526736194",
                "target": "User10336797950",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User42517911616User10336797950",
                "source": "User42517911616",
                "target": "User10336797950",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User4753788476User10336797950",
                "source": "User4753788476",
                "target": "User10336797950",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User47636254106User10336797950",
                "source": "User47636254106",
                "target": "User10336797950",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User50513203829User10336797950",
                "source": "User50513203829",
                "target": "User10336797950",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User79491587236User10336797950",
                "source": "User79491587236",
                "target": "User10336797950",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User97871957830User10336797950",
                "source": "User97871957830",
                "target": "User10336797950",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10364311User10336797950",
                "source": "User10364311",
                "target": "User10336797950",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10364311User12332307155",
                "source": "User10364311",
                "target": "User12332307155",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10364311User1242908396",
                "source": "User10364311",
                "target": "User1242908396",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10364311User15735840743",
                "source": "User10364311",
                "target": "User15735840743",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10364311User25157514637",
                "source": "User10364311",
                "target": "User25157514637",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10364311User25918290594",
                "source": "User10364311",
                "target": "User25918290594",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10364311User2905384412",
                "source": "User10364311",
                "target": "User2905384412",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10364311User30829323404",
                "source": "User10364311",
                "target": "User30829323404",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10364311User32144051382",
                "source": "User10364311",
                "target": "User32144051382",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10364311User32425070124",
                "source": "User10364311",
                "target": "User32425070124",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10364311User33526736194",
                "source": "User10364311",
                "target": "User33526736194",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10364311User36682711297",
                "source": "User10364311",
                "target": "User36682711297",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10364311User42304258491",
                "source": "User10364311",
                "target": "User42304258491",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10364311User5035226671",
                "source": "User10364311",
                "target": "User5035226671",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10364311User60339404201",
                "source": "User10364311",
                "target": "User60339404201",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10364311User6038459236",
                "source": "User10364311",
                "target": "User6038459236",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10364311User67429699725",
                "source": "User10364311",
                "target": "User67429699725",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10364311User68231899858",
                "source": "User10364311",
                "target": "User68231899858",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10364311User73928673243",
                "source": "User10364311",
                "target": "User73928673243",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10364311User82285178232",
                "source": "User10364311",
                "target": "User82285178232",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10364311User84302240370",
                "source": "User10364311",
                "target": "User84302240370",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10364311User84742086625",
                "source": "User10364311",
                "target": "User84742086625",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10364311User88241672256",
                "source": "User10364311",
                "target": "User88241672256",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10364311User88518425519",
                "source": "User10364311",
                "target": "User88518425519",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10364311User88935500475",
                "source": "User10364311",
                "target": "User88935500475",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10364311User93629426434",
                "source": "User10364311",
                "target": "User93629426434",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10364311User94448623653",
                "source": "User10364311",
                "target": "User94448623653",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10364311User95882953982",
                "source": "User10364311",
                "target": "User95882953982",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10364311User96634248652",
                "source": "User10364311",
                "target": "User96634248652",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User10364311User98049402967",
                "source": "User10364311",
                "target": "User98049402967",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User1074280486User10364311",
                "source": "User1074280486",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User11469229192User10364311",
                "source": "User11469229192",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User2564209383User10364311",
                "source": "User2564209383",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User27827985609User10364311",
                "source": "User27827985609",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User37713520450User10364311",
                "source": "User37713520450",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User42517911616User10364311",
                "source": "User42517911616",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User45947306181User10364311",
                "source": "User45947306181",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User51534806514User10364311",
                "source": "User51534806514",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User53252294490User10364311",
                "source": "User53252294490",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User6346185963User10364311",
                "source": "User6346185963",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User72623175924User10364311",
                "source": "User72623175924",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User84302240370User10364311",
                "source": "User84302240370",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        },
        {
            "data": {
                "id": "User8760840467User10364311",
                "source": "User8760840467",
                "target": "User10364311",
                "name": "Transfer (1)",
                "weight": 1
            }
        }
    ];

    const cytoConfig = {
        container: document.getElementById('cyto-container'),
        // elements: nodes.concat(groups),// if you use dagre layout and omit edges, it will run without error.
        elements: nodes.concat(groups).concat(edges),
        style: [ // the stylesheet for the graph
            {
                selector: 'node.normal',
                style: {
                    'background-color': 'data(bgColor)',
                    'label': 'data(label)',
                    "text-valign": "center",
                    "text-halign": "center",
                    width: 30,
                    height: 30,
                    color: "white",
                    "font-size": 14,
                    "text-outline-color": 'data(bgColor)',
                    "text-outline-width": "2px",
                }
            },
            {
                selector: '$node > node',
                css: {
                    'padding-top': '10px',
                    'label': 'data(label)',
                    'padding-left': '10px',
                    'padding-bottom': '10px',
                    'padding-right': '10px',
                    'text-valign': 'top',
                    'text-halign': 'center',
                    'border-color': '#bbb',
                    'border-width': 2,
                    'border-opacity': .3,
                    'background-color': '#FFF',
                    'background-opacity': 0,
                }
            },
            {
                selector: 'node:selected',
                style: {
                    "border-width": 5,
                    "border-color": "#333",
                    "border-opacity": .8,
                }
            },
            {
                selector: 'edge',
                style: {
                    'width': 1,
                    'font-size': 10,
                    'line-color': '#549BE7',
                    'target-arrow-color': '#549BE7',
                    'target-arrow-shape': 'triangle',
                    'curve-style': 'bezier',
                    'label': 'data(name)',
                    color: '#333',
                    'font-weight': 'bold'
                }
            },
            {
                selector: 'edge:selected',
                style: {
                    "width": 3,
                    "line-color": "#333",
                    "line-style": "dashed",
                    'target-arrow-color': '#333',
                }
            }
        ],
        layout: {
            name: "breadthfirst",
            // name: "dagre", // if you change it to "dagre", the error described in this thread will hapen, https://github.com/dagrejs/dagre/issues/234#issuecomment-399488074
            fit: true,
        },
        // hideEdgesOnViewport: true,
        // motionBlur: true,
        // motionBlurOpacity: .3,
        wheelSensitivity: .5,
    };
    cytoscape(cytoConfig);

</script>
</body>
</html>

not captable with vite in esModule system

as I tried

import cytoscape from 'cytoscape';
import dagre from 'cytoscape-dagre';

cytoscape.use( dagre );

I got this Error in browser:

Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'Graph')
    at ../../node_modules/.pnpm/[email protected][email protected]/node_modules/cytoscape-dagre/node_modules/dagre/lib/greedy-fas.js (greedy-fas.js:2:13)
    at __require2 (chunk-S5KM4IGW.js?v=03374713:18:50)
    at ../../node_modules/.pnpm/[email protected][email protected]/node_modules/cytoscape-dagre/node_modules/dagre/lib/acyclic.js (acyclic.js:4:17)
    at __require2 (chunk-S5KM4IGW.js?v=03374713:18:50)
    at ../../node_modules/.pnpm/[email protected][email protected]/node_modules/cytoscape-dagre/node_modules/dagre/lib/layout.js (layout.js:4:15)
    at __require2 (chunk-S5KM4IGW.js?v=03374713:18:50)
    at ../../node_modules/.pnpm/[email protected][email protected]/node_modules/cytoscape-dagre/node_modules/dagre/index.js (index.js:26:11)
    at __require2 (chunk-S5KM4IGW.js?v=03374713:18:50)
    at webpackUniversalModuleDefinition (cytoscape-dagre.js:3:28)
    at ../../node_modules/.pnpm/[email protected][email protected]/node_modules/cytoscape-dagre/cytoscape-dagre.js (cytoscape-dagre.js:10:1)

I set the weight of nodes, but it does't alter the appearance.

environment: chrome browser
code:
<script type="text/javascript"> var cy = cytoscape({ container: document.getElementById("cy"), autolock: true, userPanningEnabled: true }); cy.add([{ group: "nodes", data: {weight: 10, id: "13177345979"}, position: {x: 200, y: 200} }, {group: "nodes", data: {weight: 10, id: "15801094535"}, position: {x: 100, y: 250}} , {group: "edges", data: {id: "e0", source: "13177345979", target: "15801094535"}}]); </script>
I have set the weight of two nodes in the code, but it turnes out that, both nodes share the same weight.

Generate unminified distribution file during build file

In the switch between version 2.2.2 and version 2.3.0, the distributed file became minified. It would be great if the release process generated both minified and unminified files, as unminified files are useful for debugging, and it is not possible to run the npm pipeline for release on some systems due to restrictions.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.