diff --git a/front/lib/AdminLTE/@eaDir/index.js.map@SynoEAStream b/front/lib/AdminLTE/@eaDir/index.js.map@SynoEAStream deleted file mode 100755 index a1a51552..00000000 Binary files a/front/lib/AdminLTE/@eaDir/index.js.map@SynoEAStream and /dev/null differ diff --git a/front/lib/AdminLTE/index.js.map b/front/lib/AdminLTE/index.js.map deleted file mode 100755 index 6fa702c1..00000000 --- a/front/lib/AdminLTE/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../node_modules/d3-hierarchy/src/cluster.js","../../node_modules/d3-hierarchy/src/hierarchy/count.js","../../node_modules/d3-hierarchy/src/hierarchy/each.js","../../node_modules/d3-hierarchy/src/hierarchy/eachBefore.js","../../node_modules/d3-hierarchy/src/hierarchy/eachAfter.js","../../node_modules/d3-hierarchy/src/hierarchy/find.js","../../node_modules/d3-hierarchy/src/hierarchy/sum.js","../../node_modules/d3-hierarchy/src/hierarchy/sort.js","../../node_modules/d3-hierarchy/src/hierarchy/path.js","../../node_modules/d3-hierarchy/src/hierarchy/ancestors.js","../../node_modules/d3-hierarchy/src/hierarchy/descendants.js","../../node_modules/d3-hierarchy/src/hierarchy/leaves.js","../../node_modules/d3-hierarchy/src/hierarchy/links.js","../../node_modules/d3-hierarchy/src/hierarchy/iterator.js","../../node_modules/d3-hierarchy/src/hierarchy/index.js","../../node_modules/d3-hierarchy/src/array.js","../../node_modules/d3-hierarchy/src/pack/enclose.js","../../node_modules/d3-hierarchy/src/pack/siblings.js","../../node_modules/d3-hierarchy/src/accessors.js","../../node_modules/d3-hierarchy/src/constant.js","../../node_modules/d3-hierarchy/src/pack/index.js","../../node_modules/d3-hierarchy/src/treemap/round.js","../../node_modules/d3-hierarchy/src/treemap/dice.js","../../node_modules/d3-hierarchy/src/partition.js","../../node_modules/d3-hierarchy/src/stratify.js","../../node_modules/d3-hierarchy/src/tree.js","../../node_modules/d3-hierarchy/src/treemap/slice.js","../../node_modules/d3-hierarchy/src/treemap/squarify.js","../../node_modules/d3-hierarchy/src/treemap/index.js","../../node_modules/d3-hierarchy/src/treemap/binary.js","../../node_modules/d3-hierarchy/src/treemap/sliceDice.js","../../node_modules/d3-hierarchy/src/treemap/resquarify.js","../../node_modules/d3-hierarchy/src/index.js","../../node_modules/d3-selection/src/namespaces.js","../../node_modules/d3-selection/src/namespace.js","../../node_modules/d3-selection/src/creator.js","../../node_modules/d3-selection/src/selector.js","../../node_modules/d3-selection/src/selection/select.js","../../node_modules/d3-selection/src/array.js","../../node_modules/d3-selection/src/selectorAll.js","../../node_modules/d3-selection/src/selection/selectAll.js","../../node_modules/d3-selection/src/matcher.js","../../node_modules/d3-selection/src/selection/selectChild.js","../../node_modules/d3-selection/src/selection/selectChildren.js","../../node_modules/d3-selection/src/selection/filter.js","../../node_modules/d3-selection/src/selection/sparse.js","../../node_modules/d3-selection/src/selection/enter.js","../../node_modules/d3-selection/src/constant.js","../../node_modules/d3-selection/src/selection/data.js","../../node_modules/d3-selection/src/selection/exit.js","../../node_modules/d3-selection/src/selection/join.js","../../node_modules/d3-selection/src/selection/merge.js","../../node_modules/d3-selection/src/selection/order.js","../../node_modules/d3-selection/src/selection/sort.js","../../node_modules/d3-selection/src/selection/call.js","../../node_modules/d3-selection/src/selection/nodes.js","../../node_modules/d3-selection/src/selection/node.js","../../node_modules/d3-selection/src/selection/size.js","../../node_modules/d3-selection/src/selection/empty.js","../../node_modules/d3-selection/src/selection/each.js","../../node_modules/d3-selection/src/selection/attr.js","../../node_modules/d3-selection/src/window.js","../../node_modules/d3-selection/src/selection/style.js","../../node_modules/d3-selection/src/selection/property.js","../../node_modules/d3-selection/src/selection/classed.js","../../node_modules/d3-selection/src/selection/text.js","../../node_modules/d3-selection/src/selection/html.js","../../node_modules/d3-selection/src/selection/raise.js","../../node_modules/d3-selection/src/selection/lower.js","../../node_modules/d3-selection/src/selection/append.js","../../node_modules/d3-selection/src/selection/insert.js","../../node_modules/d3-selection/src/selection/remove.js","../../node_modules/d3-selection/src/selection/clone.js","../../node_modules/d3-selection/src/selection/datum.js","../../node_modules/d3-selection/src/selection/on.js","../../node_modules/d3-selection/src/selection/dispatch.js","../../node_modules/d3-selection/src/selection/iterator.js","../../node_modules/d3-selection/src/selection/index.js","../../node_modules/d3-selection/src/select.js","../../node_modules/d3-selection/src/create.js","../../node_modules/d3-selection/src/local.js","../../node_modules/d3-selection/src/sourceEvent.js","../../node_modules/d3-selection/src/pointer.js","../../node_modules/d3-selection/src/pointers.js","../../node_modules/d3-selection/src/selectAll.js","../../node_modules/d3-selection/src/index.js","../../node_modules/d3-dispatch/src/dispatch.js","../../node_modules/d3-dispatch/src/index.js","../../node_modules/d3-drag/src/noevent.js","../../node_modules/d3-drag/src/nodrag.js","../../node_modules/d3-drag/src/constant.js","../../node_modules/d3-drag/src/event.js","../../node_modules/d3-drag/src/drag.js","../../node_modules/d3-drag/src/index.js","../../node_modules/d3-color/src/define.js","../../node_modules/d3-color/src/color.js","../../node_modules/d3-color/src/math.js","../../node_modules/d3-color/src/lab.js","../../node_modules/d3-color/src/cubehelix.js","../../node_modules/d3-color/src/index.js","../../node_modules/d3-interpolate/src/basis.js","../../node_modules/d3-interpolate/src/basisClosed.js","../../node_modules/d3-interpolate/src/constant.js","../../node_modules/d3-interpolate/src/color.js","../../node_modules/d3-interpolate/src/rgb.js","../../node_modules/d3-interpolate/src/numberArray.js","../../node_modules/d3-interpolate/src/array.js","../../node_modules/d3-interpolate/src/date.js","../../node_modules/d3-interpolate/src/number.js","../../node_modules/d3-interpolate/src/object.js","../../node_modules/d3-interpolate/src/string.js","../../node_modules/d3-interpolate/src/value.js","../../node_modules/d3-interpolate/src/discrete.js","../../node_modules/d3-interpolate/src/hue.js","../../node_modules/d3-interpolate/src/round.js","../../node_modules/d3-interpolate/src/transform/decompose.js","../../node_modules/d3-interpolate/src/transform/parse.js","../../node_modules/d3-interpolate/src/transform/index.js","../../node_modules/d3-interpolate/src/zoom.js","../../node_modules/d3-interpolate/src/hsl.js","../../node_modules/d3-interpolate/src/lab.js","../../node_modules/d3-interpolate/src/hcl.js","../../node_modules/d3-interpolate/src/cubehelix.js","../../node_modules/d3-interpolate/src/piecewise.js","../../node_modules/d3-interpolate/src/quantize.js","../../node_modules/d3-interpolate/src/index.js","../../node_modules/d3-timer/src/timer.js","../../node_modules/d3-timer/src/timeout.js","../../node_modules/d3-timer/src/interval.js","../../node_modules/d3-timer/src/index.js","../../node_modules/d3-transition/src/transition/schedule.js","../../node_modules/d3-transition/src/interrupt.js","../../node_modules/d3-transition/src/selection/interrupt.js","../../node_modules/d3-transition/src/transition/tween.js","../../node_modules/d3-transition/src/transition/interpolate.js","../../node_modules/d3-transition/src/transition/attr.js","../../node_modules/d3-transition/src/transition/attrTween.js","../../node_modules/d3-transition/src/transition/delay.js","../../node_modules/d3-transition/src/transition/duration.js","../../node_modules/d3-transition/src/transition/ease.js","../../node_modules/d3-transition/src/transition/easeVarying.js","../../node_modules/d3-transition/src/transition/filter.js","../../node_modules/d3-transition/src/transition/merge.js","../../node_modules/d3-transition/src/transition/on.js","../../node_modules/d3-transition/src/transition/remove.js","../../node_modules/d3-transition/src/transition/select.js","../../node_modules/d3-transition/src/transition/selectAll.js","../../node_modules/d3-transition/src/transition/selection.js","../../node_modules/d3-transition/src/transition/style.js","../../node_modules/d3-transition/src/transition/styleTween.js","../../node_modules/d3-transition/src/transition/text.js","../../node_modules/d3-transition/src/transition/textTween.js","../../node_modules/d3-transition/src/transition/transition.js","../../node_modules/d3-transition/src/transition/end.js","../../node_modules/d3-transition/src/transition/index.js","../../node_modules/d3-ease/src/linear.js","../../node_modules/d3-ease/src/quad.js","../../node_modules/d3-ease/src/cubic.js","../../node_modules/d3-ease/src/poly.js","../../node_modules/d3-ease/src/sin.js","../../node_modules/d3-ease/src/math.js","../../node_modules/d3-ease/src/exp.js","../../node_modules/d3-ease/src/circle.js","../../node_modules/d3-ease/src/bounce.js","../../node_modules/d3-ease/src/back.js","../../node_modules/d3-ease/src/elastic.js","../../node_modules/d3-ease/src/index.js","../../node_modules/d3-transition/src/selection/transition.js","../../node_modules/d3-transition/src/selection/index.js","../../node_modules/d3-transition/src/active.js","../../node_modules/d3-transition/src/index.js","../../node_modules/d3-zoom/src/constant.js","../../node_modules/d3-zoom/src/event.js","../../node_modules/d3-zoom/src/transform.js","../../node_modules/d3-zoom/src/noevent.js","../../node_modules/d3-zoom/src/zoom.js","../../node_modules/d3-zoom/src/index.js","../../src/d3.ts","../../src/utils.ts","../../src/initializeSVG.ts","../../../src/links/draw-links.ts","../../../src/links/link-enter.ts","../../../src/links/link-exit.ts","../../../src/links/link-update.ts","../../../src/nodes/node-enter.ts","../../../src/nodes/node-exit.ts","../../../src/nodes/node-update.ts","../../src/prepare-data.ts","../../src/index.ts"],"names":["defaultSeparation","a","b","parent","meanX","children","reduce","meanXReduce","length","x","c","maxY","maxYReduce","y","Math","max","leafLeft","node","leafRight","separation","dx","dy","nodeSize","cluster","root","previousNode","eachAfter","left","right","x0","x1","arguments","size","count","sum","i","value","callback","that","index","call","nodes","pop","push","n","next","data","compare","eachBefore","sort","end","start","ancestor","leastCommonAncestor","k","splice","aNodes","ancestors","bNodes","Array","from","leaves","links","each","source","target","current","reverse","hierarchy","Map","undefined","mapChildren","objectChildren","child","childs","Node","depth","computeHeight","node_copy","copyData","d","isArray","height","prototype","constructor","node_count","node_each","node_eachAfter","node_eachBefore","find","node_find","node_sum","node_sort","path","node_path","node_ancestors","descendants","node_descendants","node_leaves","node_links","copy","Symbol","iterator","node_iterator","shuffle","array","m","t","random","circles","p","e","B","enclosesWeak","encloseBasis","extendBasis","j","enclosesWeakAll","enclosesNot","encloseBasis2","encloseBasis3","Error","dr","r","encloseBasis1","y1","r1","x2","y2","r2","x21","y21","r21","l","sqrt","x3","y3","r3","a2","a3","b2","b3","c2","c3","d1","d2","d3","ab","xa","xb","ya","yb","A","C","place","intersects","score","_","circle","previous","packEnclose","aa","ca","sj","sk","pack","optional","f","required","constantZero","defaultRadius","radius","padding","radiusLeaf","packChildren","translateChild","min","round","y0","partition","positionNode","roundNode","preroot","ambiguous","defaultId","id","defaultParentId","parentId","stratify","nodeId","nodeKey","nodeByKey","set","has","get","nextLeft","v","nextRight","moveSubtree","wm","wp","shift","change","s","z","executeShifts","w","nextAncestor","vim","TreeNode","treeRoot","tree","firstWalk","secondWalk","sizeNode","bottom","tx","kx","ky","siblings","midpoint","apportion","vip","vop","vom","sip","sop","sim","som","Object","create","phi","squarifyRatio","ratio","i0","rows","row","nodeValue","sumValue","minValue","maxValue","newRatio","minRatio","alpha","beta","i1","dice","slice","custom","squarify","tile","paddingStack","paddingInner","paddingTop","paddingRight","paddingBottom","paddingLeft","treemap","paddingOuter","sums","valueOffset","valueTarget","hi","mid","valueLeft","valueRight","xk","yk","resquarify","_squarify","xhtml","svg","xlink","xml","xmlns","name","prefix","indexOf","namespaces","hasOwnProperty","space","local","creatorInherit","document","ownerDocument","uri","namespaceURI","documentElement","createElement","createElementNS","creatorFixed","fullname","none","selector","querySelector","select","groups","_groups","subgroups","subnode","group","subgroup","__data__","Selection","_parents","empty","querySelectorAll","arrayAll","apply","parents","matches","childMatcher","childFind","match","childFirst","firstElementChild","filter","childrenFilter","selectAll","update","_enter","map","sparse","EnterNode","datum","_next","_parent","appendChild","insertBefore","bindIndex","enter","exit","groupLength","dataLength","bindKey","key","keyValue","nodeByKeyValue","keyValues","delete","bind","enterGroup","updateGroup","_exit","onenter","onupdate","onexit","append","remove","merge","order","selection","groups0","groups1","m0","m1","merges","group0","group1","compareDocumentPosition","parentNode","compareNode","ascending","sortgroups","sortgroup","NaN","attrRemove","removeAttribute","attrRemoveNS","removeAttributeNS","attrConstant","setAttribute","attrConstantNS","setAttributeNS","attrFunction","attrFunctionNS","getAttributeNS","getAttribute","defaultView","styleRemove","style","removeProperty","styleConstant","priority","setProperty","styleFunction","styleValue","getPropertyValue","getComputedStyle","propertyRemove","propertyConstant","propertyFunction","classArray","string","trim","split","classList","ClassList","_node","_names","classedAdd","names","list","add","classedRemove","classedTrue","classedFalse","classedFunction","contains","join","textRemove","textContent","textConstant","textFunction","htmlRemove","innerHTML","htmlConstant","htmlFunction","raise","nextSibling","lower","previousSibling","firstChild","constantNull","before","removeChild","selection_cloneShallow","clone","cloneNode","selection_cloneDeep","deep","property","contextListener","listener","event","parseTypenames","typenames","type","onRemove","typename","on","__on","o","removeEventListener","options","onAdd","addEventListener","dispatchEvent","params","window","CustomEvent","createEvent","initEvent","bubbles","cancelable","detail","dispatchConstant","dispatchFunction","selection_selection","selection_select","selection_selectAll","selectChild","selection_selectChild","selectChildren","selection_selectChildren","selection_filter","selection_data","selection_enter","selection_exit","selection_join","selection_merge","selection_order","selection_sort","selection_call","selection_nodes","selection_node","selection_size","selection_empty","selection_each","attr","selection_attr","selection_style","selection_property","classed","selection_classed","text","selection_text","html","selection_html","selection_raise","selection_lower","selection_append","insert","selection_insert","selection_remove","selection_clone","selection_datum","selection_on","dispatch","selection_dispatch","selection_iterator","nextId","Local","toString","sourceEvent","currentTarget","ownerSVGElement","createSVGPoint","point","clientX","clientY","matrixTransform","getScreenCTM","inverse","getBoundingClientRect","rect","clientLeft","top","clientTop","pageX","pageY","events","touches","noop","test","Dispatch","types","concat","T","args","nopropagation","stopImmediatePropagation","preventDefault","view","noevent","__noselect","MozUserSelect","yesdrag","noclick","setTimeout","DragEvent","subject","identifier","active","defineProperties","enumerable","configurable","defaultFilter","ctrlKey","button","defaultContainer","defaultSubject","defaultTouchable","navigator","maxTouchPoints","mousedownx","mousedowny","mousemoving","touchending","container","touchable","gestures","listeners","clickDistance2","drag","mousedowned","touchstarted","touchmoved","touchended","gesture","beforestart","mousemoved","mouseupped","mouse","changedTouches","clearTimeout","touch","p0","clickDistance","factory","extend","definition","Color","darker","brighter","reI","reN","reP","reHex","reRgbInteger","RegExp","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","color_formatHex","rgb","formatHex","color_formatHsl","hslConvert","formatHsl","color_formatRgb","formatRgb","color","format","toLowerCase","exec","parseInt","rgbn","Rgb","rgba","hsla","g","rgbConvert","opacity","rgb_formatHex","hex","rgb_formatRgb","isNaN","h","Hsl","hsl","hsl2rgb","m2","channels","assign","displayable","pow","radians","PI","degrees","K","Xn","Yn","Zn","t0","t1","t2","t3","labConvert","Lab","Hcl","hcl2lab","rgb2lrgb","xyz2lab","lab","lab2xyz","lrgb2rgb","hclConvert","atan2","lch","hcl","cos","sin","D","E","ED","EB","BC_DA","cubehelixConvert","Cubehelix","bl","cubehelix","cosh","sinh","basis","v0","v1","v2","v3","values","floor","linear","exponential","hue","gamma","nogamma","rgbGamma","rgbSpline","spline","colors","rgbBasis","rgbBasisClosed","basisClosed","isNumberArray","ArrayBuffer","isView","DataView","numberArray","genericArray","nb","na","Date","setTime","reA","reB","zero","one","bi","am","bm","bs","lastIndex","q","number","date","valueOf","object","range","identity","translateX","translateY","rotate","skewX","scaleX","scaleY","atan","svgNode","parseCss","DOMMatrix","WebKitCSSMatrix","isIdentity","parseSvg","transform","baseVal","consolidate","matrix","interpolateTransform","parse","pxComma","pxParen","degParen","translate","scale","interpolateTransformCss","interpolateTransformSvg","epsilon2","exp","tanh","zoomRho","rho","rho2","rho4","zoom","p1","ux0","S","uy0","w0","ux1","uy1","w1","log","b0","b1","r0","coshr0","u","duration","SQRT2","_1","_2","hslLong","hclLong","cubehelixGamma","cubehelixLong","piecewise","interpolate","I","interpolator","samples","taskHead","taskTail","frame","timeout","interval","pokeDelay","clockLast","clockNow","clockSkew","clock","performance","now","setFrame","requestAnimationFrame","clearNow","Timer","_call","_time","timer","delay","time","restart","timerFlush","wake","nap","poke","Infinity","sleep","clearInterval","setInterval","TypeError","stop","elapsed","total","_restart","tick","emptyOn","emptyTween","CREATED","SCHEDULED","STARTING","STARTED","RUNNING","ENDING","ENDED","timing","schedules","__transition","tween","ease","state","init","schedule","self","tweenRemove","tween0","tween1","tweenFunction","_id","tweenValue","transition","interpolateNumber","interpolateRgb","interpolateString","value1","string00","interpolate0","string1","string0","string10","attrTween","attrInterpolate","attrInterpolateNS","attrTweenNS","_value","delayFunction","delayConstant","durationFunction","durationConstant","easeConstant","easeVarying","Transition","_name","every","onFunction","on0","on1","sit","removeFunction","inherit","styleNull","styleMaybeRemove","listener0","styleTween","styleInterpolate","textInterpolate","textTween","id0","id1","Promise","resolve","reject","cancel","interrupt","newId","selection_prototype","transition_select","transition_selectAll","transition_filter","transition_merge","transition_selection","transition_transition","transition_on","transition_attr","transition_attrTween","transition_style","transition_styleTween","transition_text","transition_textTween","transition_remove","transition_tween","transition_delay","transition_duration","transition_ease","transition_easeVarying","transition_end","quadIn","quadOut","quadInOut","cubicIn","cubicOut","cubicInOut","exponent","polyIn","polyOut","polyInOut","pi","halfPi","sinIn","sinOut","sinInOut","tpmt","expIn","expOut","expInOut","circleIn","circleOut","circleInOut","b4","b5","b6","b7","b8","b9","bounceIn","bounceOut","bounceInOut","overshoot","backIn","backOut","backInOut","tau","amplitude","period","elasticIn","asin","elasticOut","elasticInOut","defaultTiming","easeCubicInOut","selection_interrupt","selection_transition","ZoomEvent","Transform","applyX","applyY","invert","location","invertX","invertY","rescaleX","domain","rescaleY","__zoom","defaultExtent","SVGElement","hasAttribute","viewBox","width","clientWidth","clientHeight","defaultTransform","defaultWheelDelta","deltaY","deltaMode","defaultConstrain","extent","translateExtent","dx0","dx1","dy0","dy1","touchstarting","touchfirst","constrain","wheelDelta","scaleExtent","interpolateZoom","touchDelay","wheelDelay","tapDistance","wheeled","dblclicked","centroid","clean","__zooming","Gesture","taps","wheel","wheelidled","moved","k1","shiftKey","started","touch0","touch1","l0","l1","dp","dl","hypot","collection","scaleBy","scaleTo","k0","translateBy","translateTo","emit"],"mappings":"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","file":"index.js","sourceRoot":"javascript","sourcesContent":["function defaultSeparation(a, b) {\n return a.parent === b.parent ? 1 : 2;\n}\n\nfunction meanX(children) {\n return children.reduce(meanXReduce, 0) / children.length;\n}\n\nfunction meanXReduce(x, c) {\n return x + c.x;\n}\n\nfunction maxY(children) {\n return 1 + children.reduce(maxYReduce, 0);\n}\n\nfunction maxYReduce(y, c) {\n return Math.max(y, c.y);\n}\n\nfunction leafLeft(node) {\n var children;\n while (children = node.children) node = children[0];\n return node;\n}\n\nfunction leafRight(node) {\n var children;\n while (children = node.children) node = children[children.length - 1];\n return node;\n}\n\nexport default function() {\n var separation = defaultSeparation,\n dx = 1,\n dy = 1,\n nodeSize = false;\n\n function cluster(root) {\n var previousNode,\n x = 0;\n\n // First walk, computing the initial x & y values.\n root.eachAfter(function(node) {\n var children = node.children;\n if (children) {\n node.x = meanX(children);\n node.y = maxY(children);\n } else {\n node.x = previousNode ? x += separation(node, previousNode) : 0;\n node.y = 0;\n previousNode = node;\n }\n });\n\n var left = leafLeft(root),\n right = leafRight(root),\n x0 = left.x - separation(left, right) / 2,\n x1 = right.x + separation(right, left) / 2;\n\n // Second walk, normalizing x & y to the desired size.\n return root.eachAfter(nodeSize ? function(node) {\n node.x = (node.x - root.x) * dx;\n node.y = (root.y - node.y) * dy;\n } : function(node) {\n node.x = (node.x - x0) / (x1 - x0) * dx;\n node.y = (1 - (root.y ? node.y / root.y : 1)) * dy;\n });\n }\n\n cluster.separation = function(x) {\n return arguments.length ? (separation = x, cluster) : separation;\n };\n\n cluster.size = function(x) {\n return arguments.length ? (nodeSize = false, dx = +x[0], dy = +x[1], cluster) : (nodeSize ? null : [dx, dy]);\n };\n\n cluster.nodeSize = function(x) {\n return arguments.length ? (nodeSize = true, dx = +x[0], dy = +x[1], cluster) : (nodeSize ? [dx, dy] : null);\n };\n\n return cluster;\n}\n","function count(node) {\n var sum = 0,\n children = node.children,\n i = children && children.length;\n if (!i) sum = 1;\n else while (--i >= 0) sum += children[i].value;\n node.value = sum;\n}\n\nexport default function() {\n return this.eachAfter(count);\n}\n","export default function(callback, that) {\n let index = -1;\n for (const node of this) {\n callback.call(that, node, ++index, this);\n }\n return this;\n}\n","export default function(callback, that) {\n var node = this, nodes = [node], children, i, index = -1;\n while (node = nodes.pop()) {\n callback.call(that, node, ++index, this);\n if (children = node.children) {\n for (i = children.length - 1; i >= 0; --i) {\n nodes.push(children[i]);\n }\n }\n }\n return this;\n}\n","export default function(callback, that) {\n var node = this, nodes = [node], next = [], children, i, n, index = -1;\n while (node = nodes.pop()) {\n next.push(node);\n if (children = node.children) {\n for (i = 0, n = children.length; i < n; ++i) {\n nodes.push(children[i]);\n }\n }\n }\n while (node = next.pop()) {\n callback.call(that, node, ++index, this);\n }\n return this;\n}\n","export default function(callback, that) {\n let index = -1;\n for (const node of this) {\n if (callback.call(that, node, ++index, this)) {\n return node;\n }\n }\n}\n","export default function(value) {\n return this.eachAfter(function(node) {\n var sum = +value(node.data) || 0,\n children = node.children,\n i = children && children.length;\n while (--i >= 0) sum += children[i].value;\n node.value = sum;\n });\n}\n","export default function(compare) {\n return this.eachBefore(function(node) {\n if (node.children) {\n node.children.sort(compare);\n }\n });\n}\n","export default function(end) {\n var start = this,\n ancestor = leastCommonAncestor(start, end),\n nodes = [start];\n while (start !== ancestor) {\n start = start.parent;\n nodes.push(start);\n }\n var k = nodes.length;\n while (end !== ancestor) {\n nodes.splice(k, 0, end);\n end = end.parent;\n }\n return nodes;\n}\n\nfunction leastCommonAncestor(a, b) {\n if (a === b) return a;\n var aNodes = a.ancestors(),\n bNodes = b.ancestors(),\n c = null;\n a = aNodes.pop();\n b = bNodes.pop();\n while (a === b) {\n c = a;\n a = aNodes.pop();\n b = bNodes.pop();\n }\n return c;\n}\n","export default function() {\n var node = this, nodes = [node];\n while (node = node.parent) {\n nodes.push(node);\n }\n return nodes;\n}\n","export default function() {\n return Array.from(this);\n}\n","export default function() {\n var leaves = [];\n this.eachBefore(function(node) {\n if (!node.children) {\n leaves.push(node);\n }\n });\n return leaves;\n}\n","export default function() {\n var root = this, links = [];\n root.each(function(node) {\n if (node !== root) { // Don’t include the root’s parent, if any.\n links.push({source: node.parent, target: node});\n }\n });\n return links;\n}\n","export default function*() {\n var node = this, current, next = [node], children, i, n;\n do {\n current = next.reverse(), next = [];\n while (node = current.pop()) {\n yield node;\n if (children = node.children) {\n for (i = 0, n = children.length; i < n; ++i) {\n next.push(children[i]);\n }\n }\n }\n } while (next.length);\n}\n","import node_count from \"./count.js\";\nimport node_each from \"./each.js\";\nimport node_eachBefore from \"./eachBefore.js\";\nimport node_eachAfter from \"./eachAfter.js\";\nimport node_find from \"./find.js\";\nimport node_sum from \"./sum.js\";\nimport node_sort from \"./sort.js\";\nimport node_path from \"./path.js\";\nimport node_ancestors from \"./ancestors.js\";\nimport node_descendants from \"./descendants.js\";\nimport node_leaves from \"./leaves.js\";\nimport node_links from \"./links.js\";\nimport node_iterator from \"./iterator.js\";\n\nexport default function hierarchy(data, children) {\n if (data instanceof Map) {\n data = [undefined, data];\n if (children === undefined) children = mapChildren;\n } else if (children === undefined) {\n children = objectChildren;\n }\n\n var root = new Node(data),\n node,\n nodes = [root],\n child,\n childs,\n i,\n n;\n\n while (node = nodes.pop()) {\n if ((childs = children(node.data)) && (n = (childs = Array.from(childs)).length)) {\n node.children = childs;\n for (i = n - 1; i >= 0; --i) {\n nodes.push(child = childs[i] = new Node(childs[i]));\n child.parent = node;\n child.depth = node.depth + 1;\n }\n }\n }\n\n return root.eachBefore(computeHeight);\n}\n\nfunction node_copy() {\n return hierarchy(this).eachBefore(copyData);\n}\n\nfunction objectChildren(d) {\n return d.children;\n}\n\nfunction mapChildren(d) {\n return Array.isArray(d) ? d[1] : null;\n}\n\nfunction copyData(node) {\n if (node.data.value !== undefined) node.value = node.data.value;\n node.data = node.data.data;\n}\n\nexport function computeHeight(node) {\n var height = 0;\n do node.height = height;\n while ((node = node.parent) && (node.height < ++height));\n}\n\nexport function Node(data) {\n this.data = data;\n this.depth =\n this.height = 0;\n this.parent = null;\n}\n\nNode.prototype = hierarchy.prototype = {\n constructor: Node,\n count: node_count,\n each: node_each,\n eachAfter: node_eachAfter,\n eachBefore: node_eachBefore,\n find: node_find,\n sum: node_sum,\n sort: node_sort,\n path: node_path,\n ancestors: node_ancestors,\n descendants: node_descendants,\n leaves: node_leaves,\n links: node_links,\n copy: node_copy,\n [Symbol.iterator]: node_iterator\n};\n","export default function(x) {\n return typeof x === \"object\" && \"length\" in x\n ? x // Array, TypedArray, NodeList, array-like\n : Array.from(x); // Map, Set, iterable, string, or anything else\n}\n\nexport function shuffle(array) {\n var m = array.length,\n t,\n i;\n\n while (m) {\n i = Math.random() * m-- | 0;\n t = array[m];\n array[m] = array[i];\n array[i] = t;\n }\n\n return array;\n}\n","import {shuffle} from \"../array.js\";\n\nexport default function(circles) {\n var i = 0, n = (circles = shuffle(Array.from(circles))).length, B = [], p, e;\n\n while (i < n) {\n p = circles[i];\n if (e && enclosesWeak(e, p)) ++i;\n else e = encloseBasis(B = extendBasis(B, p)), i = 0;\n }\n\n return e;\n}\n\nfunction extendBasis(B, p) {\n var i, j;\n\n if (enclosesWeakAll(p, B)) return [p];\n\n // If we get here then B must have at least one element.\n for (i = 0; i < B.length; ++i) {\n if (enclosesNot(p, B[i])\n && enclosesWeakAll(encloseBasis2(B[i], p), B)) {\n return [B[i], p];\n }\n }\n\n // If we get here then B must have at least two elements.\n for (i = 0; i < B.length - 1; ++i) {\n for (j = i + 1; j < B.length; ++j) {\n if (enclosesNot(encloseBasis2(B[i], B[j]), p)\n && enclosesNot(encloseBasis2(B[i], p), B[j])\n && enclosesNot(encloseBasis2(B[j], p), B[i])\n && enclosesWeakAll(encloseBasis3(B[i], B[j], p), B)) {\n return [B[i], B[j], p];\n }\n }\n }\n\n // If we get here then something is very wrong.\n throw new Error;\n}\n\nfunction enclosesNot(a, b) {\n var dr = a.r - b.r, dx = b.x - a.x, dy = b.y - a.y;\n return dr < 0 || dr * dr < dx * dx + dy * dy;\n}\n\nfunction enclosesWeak(a, b) {\n var dr = a.r - b.r + Math.max(a.r, b.r, 1) * 1e-9, dx = b.x - a.x, dy = b.y - a.y;\n return dr > 0 && dr * dr > dx * dx + dy * dy;\n}\n\nfunction enclosesWeakAll(a, B) {\n for (var i = 0; i < B.length; ++i) {\n if (!enclosesWeak(a, B[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction encloseBasis(B) {\n switch (B.length) {\n case 1: return encloseBasis1(B[0]);\n case 2: return encloseBasis2(B[0], B[1]);\n case 3: return encloseBasis3(B[0], B[1], B[2]);\n }\n}\n\nfunction encloseBasis1(a) {\n return {\n x: a.x,\n y: a.y,\n r: a.r\n };\n}\n\nfunction encloseBasis2(a, b) {\n var x1 = a.x, y1 = a.y, r1 = a.r,\n x2 = b.x, y2 = b.y, r2 = b.r,\n x21 = x2 - x1, y21 = y2 - y1, r21 = r2 - r1,\n l = Math.sqrt(x21 * x21 + y21 * y21);\n return {\n x: (x1 + x2 + x21 / l * r21) / 2,\n y: (y1 + y2 + y21 / l * r21) / 2,\n r: (l + r1 + r2) / 2\n };\n}\n\nfunction encloseBasis3(a, b, c) {\n var x1 = a.x, y1 = a.y, r1 = a.r,\n x2 = b.x, y2 = b.y, r2 = b.r,\n x3 = c.x, y3 = c.y, r3 = c.r,\n a2 = x1 - x2,\n a3 = x1 - x3,\n b2 = y1 - y2,\n b3 = y1 - y3,\n c2 = r2 - r1,\n c3 = r3 - r1,\n d1 = x1 * x1 + y1 * y1 - r1 * r1,\n d2 = d1 - x2 * x2 - y2 * y2 + r2 * r2,\n d3 = d1 - x3 * x3 - y3 * y3 + r3 * r3,\n ab = a3 * b2 - a2 * b3,\n xa = (b2 * d3 - b3 * d2) / (ab * 2) - x1,\n xb = (b3 * c2 - b2 * c3) / ab,\n ya = (a3 * d2 - a2 * d3) / (ab * 2) - y1,\n yb = (a2 * c3 - a3 * c2) / ab,\n A = xb * xb + yb * yb - 1,\n B = 2 * (r1 + xa * xb + ya * yb),\n C = xa * xa + ya * ya - r1 * r1,\n r = -(A ? (B + Math.sqrt(B * B - 4 * A * C)) / (2 * A) : C / B);\n return {\n x: x1 + xa + xb * r,\n y: y1 + ya + yb * r,\n r: r\n };\n}\n","import array from \"../array.js\";\nimport enclose from \"./enclose.js\";\n\nfunction place(b, a, c) {\n var dx = b.x - a.x, x, a2,\n dy = b.y - a.y, y, b2,\n d2 = dx * dx + dy * dy;\n if (d2) {\n a2 = a.r + c.r, a2 *= a2;\n b2 = b.r + c.r, b2 *= b2;\n if (a2 > b2) {\n x = (d2 + b2 - a2) / (2 * d2);\n y = Math.sqrt(Math.max(0, b2 / d2 - x * x));\n c.x = b.x - x * dx - y * dy;\n c.y = b.y - x * dy + y * dx;\n } else {\n x = (d2 + a2 - b2) / (2 * d2);\n y = Math.sqrt(Math.max(0, a2 / d2 - x * x));\n c.x = a.x + x * dx - y * dy;\n c.y = a.y + x * dy + y * dx;\n }\n } else {\n c.x = a.x + c.r;\n c.y = a.y;\n }\n}\n\nfunction intersects(a, b) {\n var dr = a.r + b.r - 1e-6, dx = b.x - a.x, dy = b.y - a.y;\n return dr > 0 && dr * dr > dx * dx + dy * dy;\n}\n\nfunction score(node) {\n var a = node._,\n b = node.next._,\n ab = a.r + b.r,\n dx = (a.x * b.r + b.x * a.r) / ab,\n dy = (a.y * b.r + b.y * a.r) / ab;\n return dx * dx + dy * dy;\n}\n\nfunction Node(circle) {\n this._ = circle;\n this.next = null;\n this.previous = null;\n}\n\nexport function packEnclose(circles) {\n if (!(n = (circles = array(circles)).length)) return 0;\n\n var a, b, c, n, aa, ca, i, j, k, sj, sk;\n\n // Place the first circle.\n a = circles[0], a.x = 0, a.y = 0;\n if (!(n > 1)) return a.r;\n\n // Place the second circle.\n b = circles[1], a.x = -b.r, b.x = a.r, b.y = 0;\n if (!(n > 2)) return a.r + b.r;\n\n // Place the third circle.\n place(b, a, c = circles[2]);\n\n // Initialize the front-chain using the first three circles a, b and c.\n a = new Node(a), b = new Node(b), c = new Node(c);\n a.next = c.previous = b;\n b.next = a.previous = c;\n c.next = b.previous = a;\n\n // Attempt to place each remaining circle…\n pack: for (i = 3; i < n; ++i) {\n place(a._, b._, c = circles[i]), c = new Node(c);\n\n // Find the closest intersecting circle on the front-chain, if any.\n // “Closeness” is determined by linear distance along the front-chain.\n // “Ahead” or “behind” is likewise determined by linear distance.\n j = b.next, k = a.previous, sj = b._.r, sk = a._.r;\n do {\n if (sj <= sk) {\n if (intersects(j._, c._)) {\n b = j, a.next = b, b.previous = a, --i;\n continue pack;\n }\n sj += j._.r, j = j.next;\n } else {\n if (intersects(k._, c._)) {\n a = k, a.next = b, b.previous = a, --i;\n continue pack;\n }\n sk += k._.r, k = k.previous;\n }\n } while (j !== k.next);\n\n // Success! Insert the new circle c between a and b.\n c.previous = a, c.next = b, a.next = b.previous = b = c;\n\n // Compute the new closest circle pair to the centroid.\n aa = score(a);\n while ((c = c.next) !== b) {\n if ((ca = score(c)) < aa) {\n a = c, aa = ca;\n }\n }\n b = a.next;\n }\n\n // Compute the enclosing circle of the front chain.\n a = [b._], c = b; while ((c = c.next) !== b) a.push(c._); c = enclose(a);\n\n // Translate the circles to put the enclosing circle around the origin.\n for (i = 0; i < n; ++i) a = circles[i], a.x -= c.x, a.y -= c.y;\n\n return c.r;\n}\n\nexport default function(circles) {\n packEnclose(circles);\n return circles;\n}\n","export function optional(f) {\n return f == null ? null : required(f);\n}\n\nexport function required(f) {\n if (typeof f !== \"function\") throw new Error;\n return f;\n}\n","export function constantZero() {\n return 0;\n}\n\nexport default function(x) {\n return function() {\n return x;\n };\n}\n","import {packEnclose} from \"./siblings.js\";\nimport {optional} from \"../accessors.js\";\nimport constant, {constantZero} from \"../constant.js\";\n\nfunction defaultRadius(d) {\n return Math.sqrt(d.value);\n}\n\nexport default function() {\n var radius = null,\n dx = 1,\n dy = 1,\n padding = constantZero;\n\n function pack(root) {\n root.x = dx / 2, root.y = dy / 2;\n if (radius) {\n root.eachBefore(radiusLeaf(radius))\n .eachAfter(packChildren(padding, 0.5))\n .eachBefore(translateChild(1));\n } else {\n root.eachBefore(radiusLeaf(defaultRadius))\n .eachAfter(packChildren(constantZero, 1))\n .eachAfter(packChildren(padding, root.r / Math.min(dx, dy)))\n .eachBefore(translateChild(Math.min(dx, dy) / (2 * root.r)));\n }\n return root;\n }\n\n pack.radius = function(x) {\n return arguments.length ? (radius = optional(x), pack) : radius;\n };\n\n pack.size = function(x) {\n return arguments.length ? (dx = +x[0], dy = +x[1], pack) : [dx, dy];\n };\n\n pack.padding = function(x) {\n return arguments.length ? (padding = typeof x === \"function\" ? x : constant(+x), pack) : padding;\n };\n\n return pack;\n}\n\nfunction radiusLeaf(radius) {\n return function(node) {\n if (!node.children) {\n node.r = Math.max(0, +radius(node) || 0);\n }\n };\n}\n\nfunction packChildren(padding, k) {\n return function(node) {\n if (children = node.children) {\n var children,\n i,\n n = children.length,\n r = padding(node) * k || 0,\n e;\n\n if (r) for (i = 0; i < n; ++i) children[i].r += r;\n e = packEnclose(children);\n if (r) for (i = 0; i < n; ++i) children[i].r -= r;\n node.r = e + r;\n }\n };\n}\n\nfunction translateChild(k) {\n return function(node) {\n var parent = node.parent;\n node.r *= k;\n if (parent) {\n node.x = parent.x + k * node.x;\n node.y = parent.y + k * node.y;\n }\n };\n}\n","export default function(node) {\n node.x0 = Math.round(node.x0);\n node.y0 = Math.round(node.y0);\n node.x1 = Math.round(node.x1);\n node.y1 = Math.round(node.y1);\n}\n","export default function(parent, x0, y0, x1, y1) {\n var nodes = parent.children,\n node,\n i = -1,\n n = nodes.length,\n k = parent.value && (x1 - x0) / parent.value;\n\n while (++i < n) {\n node = nodes[i], node.y0 = y0, node.y1 = y1;\n node.x0 = x0, node.x1 = x0 += node.value * k;\n }\n}\n","import roundNode from \"./treemap/round.js\";\nimport treemapDice from \"./treemap/dice.js\";\n\nexport default function() {\n var dx = 1,\n dy = 1,\n padding = 0,\n round = false;\n\n function partition(root) {\n var n = root.height + 1;\n root.x0 =\n root.y0 = padding;\n root.x1 = dx;\n root.y1 = dy / n;\n root.eachBefore(positionNode(dy, n));\n if (round) root.eachBefore(roundNode);\n return root;\n }\n\n function positionNode(dy, n) {\n return function(node) {\n if (node.children) {\n treemapDice(node, node.x0, dy * (node.depth + 1) / n, node.x1, dy * (node.depth + 2) / n);\n }\n var x0 = node.x0,\n y0 = node.y0,\n x1 = node.x1 - padding,\n y1 = node.y1 - padding;\n if (x1 < x0) x0 = x1 = (x0 + x1) / 2;\n if (y1 < y0) y0 = y1 = (y0 + y1) / 2;\n node.x0 = x0;\n node.y0 = y0;\n node.x1 = x1;\n node.y1 = y1;\n };\n }\n\n partition.round = function(x) {\n return arguments.length ? (round = !!x, partition) : round;\n };\n\n partition.size = function(x) {\n return arguments.length ? (dx = +x[0], dy = +x[1], partition) : [dx, dy];\n };\n\n partition.padding = function(x) {\n return arguments.length ? (padding = +x, partition) : padding;\n };\n\n return partition;\n}\n","import {required} from \"./accessors.js\";\nimport {Node, computeHeight} from \"./hierarchy/index.js\";\n\nvar preroot = {depth: -1},\n ambiguous = {};\n\nfunction defaultId(d) {\n return d.id;\n}\n\nfunction defaultParentId(d) {\n return d.parentId;\n}\n\nexport default function() {\n var id = defaultId,\n parentId = defaultParentId;\n\n function stratify(data) {\n var nodes = Array.from(data),\n n = nodes.length,\n d,\n i,\n root,\n parent,\n node,\n nodeId,\n nodeKey,\n nodeByKey = new Map;\n\n for (i = 0; i < n; ++i) {\n d = nodes[i], node = nodes[i] = new Node(d);\n if ((nodeId = id(d, i, data)) != null && (nodeId += \"\")) {\n nodeKey = node.id = nodeId;\n nodeByKey.set(nodeKey, nodeByKey.has(nodeKey) ? ambiguous : node);\n }\n if ((nodeId = parentId(d, i, data)) != null && (nodeId += \"\")) {\n node.parent = nodeId;\n }\n }\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n if (nodeId = node.parent) {\n parent = nodeByKey.get(nodeId);\n if (!parent) throw new Error(\"missing: \" + nodeId);\n if (parent === ambiguous) throw new Error(\"ambiguous: \" + nodeId);\n if (parent.children) parent.children.push(node);\n else parent.children = [node];\n node.parent = parent;\n } else {\n if (root) throw new Error(\"multiple roots\");\n root = node;\n }\n }\n\n if (!root) throw new Error(\"no root\");\n root.parent = preroot;\n root.eachBefore(function(node) { node.depth = node.parent.depth + 1; --n; }).eachBefore(computeHeight);\n root.parent = null;\n if (n > 0) throw new Error(\"cycle\");\n\n return root;\n }\n\n stratify.id = function(x) {\n return arguments.length ? (id = required(x), stratify) : id;\n };\n\n stratify.parentId = function(x) {\n return arguments.length ? (parentId = required(x), stratify) : parentId;\n };\n\n return stratify;\n}\n","import {Node} from \"./hierarchy/index.js\";\n\nfunction defaultSeparation(a, b) {\n return a.parent === b.parent ? 1 : 2;\n}\n\n// function radialSeparation(a, b) {\n// return (a.parent === b.parent ? 1 : 2) / a.depth;\n// }\n\n// This function is used to traverse the left contour of a subtree (or\n// subforest). It returns the successor of v on this contour. This successor is\n// either given by the leftmost child of v or by the thread of v. The function\n// returns null if and only if v is on the highest level of its subtree.\nfunction nextLeft(v) {\n var children = v.children;\n return children ? children[0] : v.t;\n}\n\n// This function works analogously to nextLeft.\nfunction nextRight(v) {\n var children = v.children;\n return children ? children[children.length - 1] : v.t;\n}\n\n// Shifts the current subtree rooted at w+. This is done by increasing\n// prelim(w+) and mod(w+) by shift.\nfunction moveSubtree(wm, wp, shift) {\n var change = shift / (wp.i - wm.i);\n wp.c -= change;\n wp.s += shift;\n wm.c += change;\n wp.z += shift;\n wp.m += shift;\n}\n\n// All other shifts, applied to the smaller subtrees between w- and w+, are\n// performed by this function. To prepare the shifts, we have to adjust\n// change(w+), shift(w+), and change(w-).\nfunction executeShifts(v) {\n var shift = 0,\n change = 0,\n children = v.children,\n i = children.length,\n w;\n while (--i >= 0) {\n w = children[i];\n w.z += shift;\n w.m += shift;\n shift += w.s + (change += w.c);\n }\n}\n\n// If vi-’s ancestor is a sibling of v, returns vi-’s ancestor. Otherwise,\n// returns the specified (default) ancestor.\nfunction nextAncestor(vim, v, ancestor) {\n return vim.a.parent === v.parent ? vim.a : ancestor;\n}\n\nfunction TreeNode(node, i) {\n this._ = node;\n this.parent = null;\n this.children = null;\n this.A = null; // default ancestor\n this.a = this; // ancestor\n this.z = 0; // prelim\n this.m = 0; // mod\n this.c = 0; // change\n this.s = 0; // shift\n this.t = null; // thread\n this.i = i; // number\n}\n\nTreeNode.prototype = Object.create(Node.prototype);\n\nfunction treeRoot(root) {\n var tree = new TreeNode(root, 0),\n node,\n nodes = [tree],\n child,\n children,\n i,\n n;\n\n while (node = nodes.pop()) {\n if (children = node._.children) {\n node.children = new Array(n = children.length);\n for (i = n - 1; i >= 0; --i) {\n nodes.push(child = node.children[i] = new TreeNode(children[i], i));\n child.parent = node;\n }\n }\n }\n\n (tree.parent = new TreeNode(null, 0)).children = [tree];\n return tree;\n}\n\n// Node-link tree diagram using the Reingold-Tilford \"tidy\" algorithm\nexport default function() {\n var separation = defaultSeparation,\n dx = 1,\n dy = 1,\n nodeSize = null;\n\n function tree(root) {\n var t = treeRoot(root);\n\n // Compute the layout using Buchheim et al.’s algorithm.\n t.eachAfter(firstWalk), t.parent.m = -t.z;\n t.eachBefore(secondWalk);\n\n // If a fixed node size is specified, scale x and y.\n if (nodeSize) root.eachBefore(sizeNode);\n\n // If a fixed tree size is specified, scale x and y based on the extent.\n // Compute the left-most, right-most, and depth-most nodes for extents.\n else {\n var left = root,\n right = root,\n bottom = root;\n root.eachBefore(function(node) {\n if (node.x < left.x) left = node;\n if (node.x > right.x) right = node;\n if (node.depth > bottom.depth) bottom = node;\n });\n var s = left === right ? 1 : separation(left, right) / 2,\n tx = s - left.x,\n kx = dx / (right.x + s + tx),\n ky = dy / (bottom.depth || 1);\n root.eachBefore(function(node) {\n node.x = (node.x + tx) * kx;\n node.y = node.depth * ky;\n });\n }\n\n return root;\n }\n\n // Computes a preliminary x-coordinate for v. Before that, FIRST WALK is\n // applied recursively to the children of v, as well as the function\n // APPORTION. After spacing out the children by calling EXECUTE SHIFTS, the\n // node v is placed to the midpoint of its outermost children.\n function firstWalk(v) {\n var children = v.children,\n siblings = v.parent.children,\n w = v.i ? siblings[v.i - 1] : null;\n if (children) {\n executeShifts(v);\n var midpoint = (children[0].z + children[children.length - 1].z) / 2;\n if (w) {\n v.z = w.z + separation(v._, w._);\n v.m = v.z - midpoint;\n } else {\n v.z = midpoint;\n }\n } else if (w) {\n v.z = w.z + separation(v._, w._);\n }\n v.parent.A = apportion(v, w, v.parent.A || siblings[0]);\n }\n\n // Computes all real x-coordinates by summing up the modifiers recursively.\n function secondWalk(v) {\n v._.x = v.z + v.parent.m;\n v.m += v.parent.m;\n }\n\n // The core of the algorithm. Here, a new subtree is combined with the\n // previous subtrees. Threads are used to traverse the inside and outside\n // contours of the left and right subtree up to the highest common level. The\n // vertices used for the traversals are vi+, vi-, vo-, and vo+, where the\n // superscript o means outside and i means inside, the subscript - means left\n // subtree and + means right subtree. For summing up the modifiers along the\n // contour, we use respective variables si+, si-, so-, and so+. Whenever two\n // nodes of the inside contours conflict, we compute the left one of the\n // greatest uncommon ancestors using the function ANCESTOR and call MOVE\n // SUBTREE to shift the subtree and prepare the shifts of smaller subtrees.\n // Finally, we add a new thread (if necessary).\n function apportion(v, w, ancestor) {\n if (w) {\n var vip = v,\n vop = v,\n vim = w,\n vom = vip.parent.children[0],\n sip = vip.m,\n sop = vop.m,\n sim = vim.m,\n som = vom.m,\n shift;\n while (vim = nextRight(vim), vip = nextLeft(vip), vim && vip) {\n vom = nextLeft(vom);\n vop = nextRight(vop);\n vop.a = v;\n shift = vim.z + sim - vip.z - sip + separation(vim._, vip._);\n if (shift > 0) {\n moveSubtree(nextAncestor(vim, v, ancestor), v, shift);\n sip += shift;\n sop += shift;\n }\n sim += vim.m;\n sip += vip.m;\n som += vom.m;\n sop += vop.m;\n }\n if (vim && !nextRight(vop)) {\n vop.t = vim;\n vop.m += sim - sop;\n }\n if (vip && !nextLeft(vom)) {\n vom.t = vip;\n vom.m += sip - som;\n ancestor = v;\n }\n }\n return ancestor;\n }\n\n function sizeNode(node) {\n node.x *= dx;\n node.y = node.depth * dy;\n }\n\n tree.separation = function(x) {\n return arguments.length ? (separation = x, tree) : separation;\n };\n\n tree.size = function(x) {\n return arguments.length ? (nodeSize = false, dx = +x[0], dy = +x[1], tree) : (nodeSize ? null : [dx, dy]);\n };\n\n tree.nodeSize = function(x) {\n return arguments.length ? (nodeSize = true, dx = +x[0], dy = +x[1], tree) : (nodeSize ? [dx, dy] : null);\n };\n\n return tree;\n}\n","export default function(parent, x0, y0, x1, y1) {\n var nodes = parent.children,\n node,\n i = -1,\n n = nodes.length,\n k = parent.value && (y1 - y0) / parent.value;\n\n while (++i < n) {\n node = nodes[i], node.x0 = x0, node.x1 = x1;\n node.y0 = y0, node.y1 = y0 += node.value * k;\n }\n}\n","import treemapDice from \"./dice.js\";\nimport treemapSlice from \"./slice.js\";\n\nexport var phi = (1 + Math.sqrt(5)) / 2;\n\nexport function squarifyRatio(ratio, parent, x0, y0, x1, y1) {\n var rows = [],\n nodes = parent.children,\n row,\n nodeValue,\n i0 = 0,\n i1 = 0,\n n = nodes.length,\n dx, dy,\n value = parent.value,\n sumValue,\n minValue,\n maxValue,\n newRatio,\n minRatio,\n alpha,\n beta;\n\n while (i0 < n) {\n dx = x1 - x0, dy = y1 - y0;\n\n // Find the next non-empty node.\n do sumValue = nodes[i1++].value; while (!sumValue && i1 < n);\n minValue = maxValue = sumValue;\n alpha = Math.max(dy / dx, dx / dy) / (value * ratio);\n beta = sumValue * sumValue * alpha;\n minRatio = Math.max(maxValue / beta, beta / minValue);\n\n // Keep adding nodes while the aspect ratio maintains or improves.\n for (; i1 < n; ++i1) {\n sumValue += nodeValue = nodes[i1].value;\n if (nodeValue < minValue) minValue = nodeValue;\n if (nodeValue > maxValue) maxValue = nodeValue;\n beta = sumValue * sumValue * alpha;\n newRatio = Math.max(maxValue / beta, beta / minValue);\n if (newRatio > minRatio) { sumValue -= nodeValue; break; }\n minRatio = newRatio;\n }\n\n // Position and record the row orientation.\n rows.push(row = {value: sumValue, dice: dx < dy, children: nodes.slice(i0, i1)});\n if (row.dice) treemapDice(row, x0, y0, x1, value ? y0 += dy * sumValue / value : y1);\n else treemapSlice(row, x0, y0, value ? x0 += dx * sumValue / value : x1, y1);\n value -= sumValue, i0 = i1;\n }\n\n return rows;\n}\n\nexport default (function custom(ratio) {\n\n function squarify(parent, x0, y0, x1, y1) {\n squarifyRatio(ratio, parent, x0, y0, x1, y1);\n }\n\n squarify.ratio = function(x) {\n return custom((x = +x) > 1 ? x : 1);\n };\n\n return squarify;\n})(phi);\n","import roundNode from \"./round.js\";\nimport squarify from \"./squarify.js\";\nimport {required} from \"../accessors.js\";\nimport constant, {constantZero} from \"../constant.js\";\n\nexport default function() {\n var tile = squarify,\n round = false,\n dx = 1,\n dy = 1,\n paddingStack = [0],\n paddingInner = constantZero,\n paddingTop = constantZero,\n paddingRight = constantZero,\n paddingBottom = constantZero,\n paddingLeft = constantZero;\n\n function treemap(root) {\n root.x0 =\n root.y0 = 0;\n root.x1 = dx;\n root.y1 = dy;\n root.eachBefore(positionNode);\n paddingStack = [0];\n if (round) root.eachBefore(roundNode);\n return root;\n }\n\n function positionNode(node) {\n var p = paddingStack[node.depth],\n x0 = node.x0 + p,\n y0 = node.y0 + p,\n x1 = node.x1 - p,\n y1 = node.y1 - p;\n if (x1 < x0) x0 = x1 = (x0 + x1) / 2;\n if (y1 < y0) y0 = y1 = (y0 + y1) / 2;\n node.x0 = x0;\n node.y0 = y0;\n node.x1 = x1;\n node.y1 = y1;\n if (node.children) {\n p = paddingStack[node.depth + 1] = paddingInner(node) / 2;\n x0 += paddingLeft(node) - p;\n y0 += paddingTop(node) - p;\n x1 -= paddingRight(node) - p;\n y1 -= paddingBottom(node) - p;\n if (x1 < x0) x0 = x1 = (x0 + x1) / 2;\n if (y1 < y0) y0 = y1 = (y0 + y1) / 2;\n tile(node, x0, y0, x1, y1);\n }\n }\n\n treemap.round = function(x) {\n return arguments.length ? (round = !!x, treemap) : round;\n };\n\n treemap.size = function(x) {\n return arguments.length ? (dx = +x[0], dy = +x[1], treemap) : [dx, dy];\n };\n\n treemap.tile = function(x) {\n return arguments.length ? (tile = required(x), treemap) : tile;\n };\n\n treemap.padding = function(x) {\n return arguments.length ? treemap.paddingInner(x).paddingOuter(x) : treemap.paddingInner();\n };\n\n treemap.paddingInner = function(x) {\n return arguments.length ? (paddingInner = typeof x === \"function\" ? x : constant(+x), treemap) : paddingInner;\n };\n\n treemap.paddingOuter = function(x) {\n return arguments.length ? treemap.paddingTop(x).paddingRight(x).paddingBottom(x).paddingLeft(x) : treemap.paddingTop();\n };\n\n treemap.paddingTop = function(x) {\n return arguments.length ? (paddingTop = typeof x === \"function\" ? x : constant(+x), treemap) : paddingTop;\n };\n\n treemap.paddingRight = function(x) {\n return arguments.length ? (paddingRight = typeof x === \"function\" ? x : constant(+x), treemap) : paddingRight;\n };\n\n treemap.paddingBottom = function(x) {\n return arguments.length ? (paddingBottom = typeof x === \"function\" ? x : constant(+x), treemap) : paddingBottom;\n };\n\n treemap.paddingLeft = function(x) {\n return arguments.length ? (paddingLeft = typeof x === \"function\" ? x : constant(+x), treemap) : paddingLeft;\n };\n\n return treemap;\n}\n","export default function(parent, x0, y0, x1, y1) {\n var nodes = parent.children,\n i, n = nodes.length,\n sum, sums = new Array(n + 1);\n\n for (sums[0] = sum = i = 0; i < n; ++i) {\n sums[i + 1] = sum += nodes[i].value;\n }\n\n partition(0, n, parent.value, x0, y0, x1, y1);\n\n function partition(i, j, value, x0, y0, x1, y1) {\n if (i >= j - 1) {\n var node = nodes[i];\n node.x0 = x0, node.y0 = y0;\n node.x1 = x1, node.y1 = y1;\n return;\n }\n\n var valueOffset = sums[i],\n valueTarget = (value / 2) + valueOffset,\n k = i + 1,\n hi = j - 1;\n\n while (k < hi) {\n var mid = k + hi >>> 1;\n if (sums[mid] < valueTarget) k = mid + 1;\n else hi = mid;\n }\n\n if ((valueTarget - sums[k - 1]) < (sums[k] - valueTarget) && i + 1 < k) --k;\n\n var valueLeft = sums[k] - valueOffset,\n valueRight = value - valueLeft;\n\n if ((x1 - x0) > (y1 - y0)) {\n var xk = value ? (x0 * valueRight + x1 * valueLeft) / value : x1;\n partition(i, k, valueLeft, x0, y0, xk, y1);\n partition(k, j, valueRight, xk, y0, x1, y1);\n } else {\n var yk = value ? (y0 * valueRight + y1 * valueLeft) / value : y1;\n partition(i, k, valueLeft, x0, y0, x1, yk);\n partition(k, j, valueRight, x0, yk, x1, y1);\n }\n }\n}\n","import dice from \"./dice.js\";\nimport slice from \"./slice.js\";\n\nexport default function(parent, x0, y0, x1, y1) {\n (parent.depth & 1 ? slice : dice)(parent, x0, y0, x1, y1);\n}\n","import treemapDice from \"./dice.js\";\nimport treemapSlice from \"./slice.js\";\nimport {phi, squarifyRatio} from \"./squarify.js\";\n\nexport default (function custom(ratio) {\n\n function resquarify(parent, x0, y0, x1, y1) {\n if ((rows = parent._squarify) && (rows.ratio === ratio)) {\n var rows,\n row,\n nodes,\n i,\n j = -1,\n n,\n m = rows.length,\n value = parent.value;\n\n while (++j < m) {\n row = rows[j], nodes = row.children;\n for (i = row.value = 0, n = nodes.length; i < n; ++i) row.value += nodes[i].value;\n if (row.dice) treemapDice(row, x0, y0, x1, value ? y0 += (y1 - y0) * row.value / value : y1);\n else treemapSlice(row, x0, y0, value ? x0 += (x1 - x0) * row.value / value : x1, y1);\n value -= row.value;\n }\n } else {\n parent._squarify = rows = squarifyRatio(ratio, parent, x0, y0, x1, y1);\n rows.ratio = ratio;\n }\n }\n\n resquarify.ratio = function(x) {\n return custom((x = +x) > 1 ? x : 1);\n };\n\n return resquarify;\n})(phi);\n","export {default as cluster} from \"./cluster.js\";\nexport {default as hierarchy} from \"./hierarchy/index.js\";\nexport {default as pack} from \"./pack/index.js\";\nexport {default as packSiblings} from \"./pack/siblings.js\";\nexport {default as packEnclose} from \"./pack/enclose.js\";\nexport {default as partition} from \"./partition.js\";\nexport {default as stratify} from \"./stratify.js\";\nexport {default as tree} from \"./tree.js\";\nexport {default as treemap} from \"./treemap/index.js\";\nexport {default as treemapBinary} from \"./treemap/binary.js\";\nexport {default as treemapDice} from \"./treemap/dice.js\";\nexport {default as treemapSlice} from \"./treemap/slice.js\";\nexport {default as treemapSliceDice} from \"./treemap/sliceDice.js\";\nexport {default as treemapSquarify} from \"./treemap/squarify.js\";\nexport {default as treemapResquarify} from \"./treemap/resquarify.js\";\n","export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n","import namespaces from \"./namespaces.js\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name; // eslint-disable-line no-prototype-builtins\n}\n","import namespace from \"./namespace.js\";\nimport {xhtml} from \"./namespaces.js\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n","function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n","import {Selection} from \"./index.js\";\nimport selector from \"../selector.js\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","export default function(x) {\n return typeof x === \"object\" && \"length\" in x\n ? x // Array, TypedArray, NodeList, array-like\n : Array.from(x); // Map, Set, iterable, string, or anything else\n}\n","function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n","import {Selection} from \"./index.js\";\nimport array from \"../array.js\";\nimport selectorAll from \"../selectorAll.js\";\n\nfunction arrayAll(select) {\n return function() {\n var group = select.apply(this, arguments);\n return group == null ? [] : array(group);\n };\n}\n\nexport default function(select) {\n if (typeof select === \"function\") select = arrayAll(select);\n else select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n","export default function(selector) {\n return function() {\n return this.matches(selector);\n };\n}\n\nexport function childMatcher(selector) {\n return function(node) {\n return node.matches(selector);\n };\n}\n\n","import {childMatcher} from \"../matcher.js\";\n\nvar find = Array.prototype.find;\n\nfunction childFind(match) {\n return function() {\n return find.call(this.children, match);\n };\n}\n\nfunction childFirst() {\n return this.firstElementChild;\n}\n\nexport default function(match) {\n return this.select(match == null ? childFirst\n : childFind(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","import {childMatcher} from \"../matcher.js\";\n\nvar filter = Array.prototype.filter;\n\nfunction children() {\n return this.children;\n}\n\nfunction childrenFilter(match) {\n return function() {\n return filter.call(this.children, match);\n };\n}\n\nexport default function(match) {\n return this.selectAll(match == null ? children\n : childrenFilter(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","import {Selection} from \"./index.js\";\nimport matcher from \"../matcher.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","export default function(update) {\n return new Array(update.length);\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import {Selection} from \"./index.js\";\nimport {EnterNode} from \"./enter.js\";\nimport array from \"../array.js\";\nimport constant from \"../constant.js\";\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don’t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = new Map,\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + \"\";\n if (nodeByKeyValue.has(keyValue)) {\n exit[i] = node;\n } else {\n nodeByKeyValue.set(keyValue, node);\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = key.call(parent, data[i], i, data) + \"\";\n if (node = nodeByKeyValue.get(keyValue)) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue.delete(keyValue);\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue.get(keyValues[i]) === node)) {\n exit[i] = node;\n }\n }\n}\n\nfunction datum(node) {\n return node.__data__;\n}\n\nexport default function(value, key) {\n if (!arguments.length) return Array.from(this, datum);\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = array(value.call(parent, parent && parent.__data__, j, parents)),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n","export default function(onenter, onupdate, onexit) {\n var enter = this.enter(), update = this, exit = this.exit();\n enter = typeof onenter === \"function\" ? onenter(enter) : enter.append(onenter + \"\");\n if (onupdate != null) update = onupdate(update);\n if (onexit == null) exit.remove(); else onexit(exit);\n return enter && update ? enter.merge(update).order() : update;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(selection) {\n if (!(selection instanceof Selection)) throw new Error(\"invalid merge\");\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n","export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n","export default function() {\n return Array.from(this);\n}\n","export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n","export default function() {\n let size = 0;\n for (const node of this) ++size; // eslint-disable-line no-unused-vars\n return size;\n}\n","export default function() {\n return !this.node();\n}\n","export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n","import namespace from \"../namespace.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n","export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n","import defaultView from \"../window.js\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n","function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n","function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n","function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n","function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n","function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n","function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n","import creator from \"../creator.js\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n","import creator from \"../creator.js\";\nimport selector from \"../selector.js\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n","function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n","function selection_cloneShallow() {\n var clone = this.cloneNode(false), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nfunction selection_cloneDeep() {\n var clone = this.cloneNode(true), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n","export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n","function contextListener(listener) {\n return function(event) {\n listener.call(this, event, this.__data__);\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, options) {\n return function() {\n var on = this.__on, o, listener = contextListener(value);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n this.addEventListener(o.type, o.listener = listener, o.options = options);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, options);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, options: options};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, options) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options));\n return this;\n}\n","import defaultView from \"../window.js\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n","export default function*() {\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) yield node;\n }\n }\n}\n","import selection_select from \"./select.js\";\nimport selection_selectAll from \"./selectAll.js\";\nimport selection_selectChild from \"./selectChild.js\";\nimport selection_selectChildren from \"./selectChildren.js\";\nimport selection_filter from \"./filter.js\";\nimport selection_data from \"./data.js\";\nimport selection_enter from \"./enter.js\";\nimport selection_exit from \"./exit.js\";\nimport selection_join from \"./join.js\";\nimport selection_merge from \"./merge.js\";\nimport selection_order from \"./order.js\";\nimport selection_sort from \"./sort.js\";\nimport selection_call from \"./call.js\";\nimport selection_nodes from \"./nodes.js\";\nimport selection_node from \"./node.js\";\nimport selection_size from \"./size.js\";\nimport selection_empty from \"./empty.js\";\nimport selection_each from \"./each.js\";\nimport selection_attr from \"./attr.js\";\nimport selection_style from \"./style.js\";\nimport selection_property from \"./property.js\";\nimport selection_classed from \"./classed.js\";\nimport selection_text from \"./text.js\";\nimport selection_html from \"./html.js\";\nimport selection_raise from \"./raise.js\";\nimport selection_lower from \"./lower.js\";\nimport selection_append from \"./append.js\";\nimport selection_insert from \"./insert.js\";\nimport selection_remove from \"./remove.js\";\nimport selection_clone from \"./clone.js\";\nimport selection_datum from \"./datum.js\";\nimport selection_on from \"./on.js\";\nimport selection_dispatch from \"./dispatch.js\";\nimport selection_iterator from \"./iterator.js\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nfunction selection_selection() {\n return this;\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n selectChild: selection_selectChild,\n selectChildren: selection_selectChildren,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n join: selection_join,\n merge: selection_merge,\n selection: selection_selection,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch,\n [Symbol.iterator]: selection_iterator\n};\n\nexport default selection;\n","import {Selection, root} from \"./selection/index.js\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([[document.querySelector(selector)]], [document.documentElement])\n : new Selection([[selector]], root);\n}\n","import creator from \"./creator.js\";\nimport select from \"./select.js\";\n\nexport default function(name) {\n return select(creator(name).call(document.documentElement));\n}\n","var nextId = 0;\n\nexport default function local() {\n return new Local;\n}\n\nfunction Local() {\n this._ = \"@\" + (++nextId).toString(36);\n}\n\nLocal.prototype = local.prototype = {\n constructor: Local,\n get: function(node) {\n var id = this._;\n while (!(id in node)) if (!(node = node.parentNode)) return;\n return node[id];\n },\n set: function(node, value) {\n return node[this._] = value;\n },\n remove: function(node) {\n return this._ in node && delete node[this._];\n },\n toString: function() {\n return this._;\n }\n};\n","export default function(event) {\n let sourceEvent;\n while (sourceEvent = event.sourceEvent) event = sourceEvent;\n return event;\n}\n","import sourceEvent from \"./sourceEvent.js\";\n\nexport default function(event, node) {\n event = sourceEvent(event);\n if (node === undefined) node = event.currentTarget;\n if (node) {\n var svg = node.ownerSVGElement || node;\n if (svg.createSVGPoint) {\n var point = svg.createSVGPoint();\n point.x = event.clientX, point.y = event.clientY;\n point = point.matrixTransform(node.getScreenCTM().inverse());\n return [point.x, point.y];\n }\n if (node.getBoundingClientRect) {\n var rect = node.getBoundingClientRect();\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n }\n }\n return [event.pageX, event.pageY];\n}\n","import pointer from \"./pointer.js\";\nimport sourceEvent from \"./sourceEvent.js\";\n\nexport default function(events, node) {\n if (events.target) { // i.e., instanceof Event, not TouchList or iterable\n events = sourceEvent(events);\n if (node === undefined) node = events.currentTarget;\n events = events.touches || [events];\n }\n return Array.from(events, event => pointer(event, node));\n}\n","import array from \"./array.js\";\nimport {Selection, root} from \"./selection/index.js\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([document.querySelectorAll(selector)], [document.documentElement])\n : new Selection([selector == null ? [] : array(selector)], root);\n}\n","export {default as create} from \"./create.js\";\nexport {default as creator} from \"./creator.js\";\nexport {default as local} from \"./local.js\";\nexport {default as matcher} from \"./matcher.js\";\nexport {default as namespace} from \"./namespace.js\";\nexport {default as namespaces} from \"./namespaces.js\";\nexport {default as pointer} from \"./pointer.js\";\nexport {default as pointers} from \"./pointers.js\";\nexport {default as select} from \"./select.js\";\nexport {default as selectAll} from \"./selectAll.js\";\nexport {default as selection} from \"./selection/index.js\";\nexport {default as selector} from \"./selector.js\";\nexport {default as selectorAll} from \"./selectorAll.js\";\nexport {styleValue as style} from \"./selection/style.js\";\nexport {default as window} from \"./window.js\";\n","var noop = {value: () => {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _) || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\nexport default dispatch;\n","export {default as dispatch} from \"./dispatch.js\";\n","export function nopropagation(event) {\n event.stopImmediatePropagation();\n}\n\nexport default function(event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","import {select} from \"d3-selection\";\nimport noevent from \"./noevent.js\";\n\nexport default function(view) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", noevent, true);\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", noevent, true);\n } else {\n root.__noselect = root.style.MozUserSelect;\n root.style.MozUserSelect = \"none\";\n }\n}\n\nexport function yesdrag(view, noclick) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", null);\n if (noclick) {\n selection.on(\"click.drag\", noevent, true);\n setTimeout(function() { selection.on(\"click.drag\", null); }, 0);\n }\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", null);\n } else {\n root.style.MozUserSelect = root.__noselect;\n delete root.__noselect;\n }\n}\n","export default x => () => x;\n","export default function DragEvent(type, {\n sourceEvent,\n subject,\n target,\n identifier,\n active,\n x, y, dx, dy,\n dispatch\n}) {\n Object.defineProperties(this, {\n type: {value: type, enumerable: true, configurable: true},\n sourceEvent: {value: sourceEvent, enumerable: true, configurable: true},\n subject: {value: subject, enumerable: true, configurable: true},\n target: {value: target, enumerable: true, configurable: true},\n identifier: {value: identifier, enumerable: true, configurable: true},\n active: {value: active, enumerable: true, configurable: true},\n x: {value: x, enumerable: true, configurable: true},\n y: {value: y, enumerable: true, configurable: true},\n dx: {value: dx, enumerable: true, configurable: true},\n dy: {value: dy, enumerable: true, configurable: true},\n _: {value: dispatch}\n });\n}\n\nDragEvent.prototype.on = function() {\n var value = this._.on.apply(this._, arguments);\n return value === this._ ? this : value;\n};\n","import {dispatch} from \"d3-dispatch\";\nimport {select, pointer} from \"d3-selection\";\nimport nodrag, {yesdrag} from \"./nodrag.js\";\nimport noevent, {nopropagation} from \"./noevent.js\";\nimport constant from \"./constant.js\";\nimport DragEvent from \"./event.js\";\n\n// Ignore right-click, since that should open the context menu.\nfunction defaultFilter(event) {\n return !event.ctrlKey && !event.button;\n}\n\nfunction defaultContainer() {\n return this.parentNode;\n}\n\nfunction defaultSubject(event, d) {\n return d == null ? {x: event.x, y: event.y} : d;\n}\n\nfunction defaultTouchable() {\n return navigator.maxTouchPoints || (\"ontouchstart\" in this);\n}\n\nexport default function() {\n var filter = defaultFilter,\n container = defaultContainer,\n subject = defaultSubject,\n touchable = defaultTouchable,\n gestures = {},\n listeners = dispatch(\"start\", \"drag\", \"end\"),\n active = 0,\n mousedownx,\n mousedowny,\n mousemoving,\n touchending,\n clickDistance2 = 0;\n\n function drag(selection) {\n selection\n .on(\"mousedown.drag\", mousedowned)\n .filter(touchable)\n .on(\"touchstart.drag\", touchstarted)\n .on(\"touchmove.drag\", touchmoved)\n .on(\"touchend.drag touchcancel.drag\", touchended)\n .style(\"touch-action\", \"none\")\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n function mousedowned(event, d) {\n if (touchending || !filter.call(this, event, d)) return;\n var gesture = beforestart(this, container.call(this, event, d), event, d, \"mouse\");\n if (!gesture) return;\n select(event.view).on(\"mousemove.drag\", mousemoved, true).on(\"mouseup.drag\", mouseupped, true);\n nodrag(event.view);\n nopropagation(event);\n mousemoving = false;\n mousedownx = event.clientX;\n mousedowny = event.clientY;\n gesture(\"start\", event);\n }\n\n function mousemoved(event) {\n noevent(event);\n if (!mousemoving) {\n var dx = event.clientX - mousedownx, dy = event.clientY - mousedowny;\n mousemoving = dx * dx + dy * dy > clickDistance2;\n }\n gestures.mouse(\"drag\", event);\n }\n\n function mouseupped(event) {\n select(event.view).on(\"mousemove.drag mouseup.drag\", null);\n yesdrag(event.view, mousemoving);\n noevent(event);\n gestures.mouse(\"end\", event);\n }\n\n function touchstarted(event, d) {\n if (!filter.call(this, event, d)) return;\n var touches = event.changedTouches,\n c = container.call(this, event, d),\n n = touches.length, i, gesture;\n\n for (i = 0; i < n; ++i) {\n if (gesture = beforestart(this, c, event, d, touches[i].identifier, touches[i])) {\n nopropagation(event);\n gesture(\"start\", event, touches[i]);\n }\n }\n }\n\n function touchmoved(event) {\n var touches = event.changedTouches,\n n = touches.length, i, gesture;\n\n for (i = 0; i < n; ++i) {\n if (gesture = gestures[touches[i].identifier]) {\n noevent(event);\n gesture(\"drag\", event, touches[i]);\n }\n }\n }\n\n function touchended(event) {\n var touches = event.changedTouches,\n n = touches.length, i, gesture;\n\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed!\n for (i = 0; i < n; ++i) {\n if (gesture = gestures[touches[i].identifier]) {\n nopropagation(event);\n gesture(\"end\", event, touches[i]);\n }\n }\n }\n\n function beforestart(that, container, event, d, identifier, touch) {\n var dispatch = listeners.copy(),\n p = pointer(touch || event, container), dx, dy,\n s;\n\n if ((s = subject.call(that, new DragEvent(\"beforestart\", {\n sourceEvent: event,\n target: drag,\n identifier,\n active,\n x: p[0],\n y: p[1],\n dx: 0,\n dy: 0,\n dispatch\n }), d)) == null) return;\n\n dx = s.x - p[0] || 0;\n dy = s.y - p[1] || 0;\n\n return function gesture(type, event, touch) {\n var p0 = p, n;\n switch (type) {\n case \"start\": gestures[identifier] = gesture, n = active++; break;\n case \"end\": delete gestures[identifier], --active; // nobreak\n case \"drag\": p = pointer(touch || event, container), n = active; break;\n }\n dispatch.call(\n type,\n that,\n new DragEvent(type, {\n sourceEvent: event,\n subject: s,\n target: drag,\n identifier,\n active: n,\n x: p[0] + dx,\n y: p[1] + dy,\n dx: p[0] - p0[0],\n dy: p[1] - p0[1],\n dispatch\n }),\n d\n );\n };\n }\n\n drag.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), drag) : filter;\n };\n\n drag.container = function(_) {\n return arguments.length ? (container = typeof _ === \"function\" ? _ : constant(_), drag) : container;\n };\n\n drag.subject = function(_) {\n return arguments.length ? (subject = typeof _ === \"function\" ? _ : constant(_), drag) : subject;\n };\n\n drag.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), drag) : touchable;\n };\n\n drag.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? drag : value;\n };\n\n drag.clickDistance = function(_) {\n return arguments.length ? (clickDistance2 = (_ = +_) * _, drag) : Math.sqrt(clickDistance2);\n };\n\n return drag;\n}\n","export {default as drag} from \"./drag.js\";\nexport {default as dragDisable, yesdrag as dragEnable} from \"./nodrag.js\";\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(\"^rgb\\\\(\" + [reI, reI, reI] + \"\\\\)$\"),\n reRgbPercent = new RegExp(\"^rgb\\\\(\" + [reP, reP, reP] + \"\\\\)$\"),\n reRgbaInteger = new RegExp(\"^rgba\\\\(\" + [reI, reI, reI, reN] + \"\\\\)$\"),\n reRgbaPercent = new RegExp(\"^rgba\\\\(\" + [reP, reP, reP, reN] + \"\\\\)$\"),\n reHslPercent = new RegExp(\"^hsl\\\\(\" + [reN, reP, reP] + \"\\\\)$\"),\n reHslaPercent = new RegExp(\"^hsla\\\\(\" + [reN, reP, reP, reN] + \"\\\\)$\");\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy: function(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable: function() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function() {\n return this;\n },\n displayable: function() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return \"#\" + hex(this.r) + hex(this.g) + hex(this.b);\n}\n\nfunction rgb_formatRgb() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\")\n + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.b) || 0))\n + (a === 1 ? \")\" : \", \" + a + \")\");\n}\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n displayable: function() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl: function() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"hsl(\" : \"hsla(\")\n + (this.h || 0) + \", \"\n + (this.s || 0) * 100 + \"%, \"\n + (this.l || 0) * 100 + \"%\"\n + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export const radians = Math.PI / 180;\nexport const degrees = 180 / Math.PI;\n","import define, {extend} from \"./define.js\";\nimport {Color, rgbConvert, Rgb} from \"./color.js\";\nimport {degrees, radians} from \"./math.js\";\n\n// https://observablehq.com/@mbostock/lab-and-rgb\nconst K = 18,\n Xn = 0.96422,\n Yn = 1,\n Zn = 0.82521,\n t0 = 4 / 29,\n t1 = 6 / 29,\n t2 = 3 * t1 * t1,\n t3 = t1 * t1 * t1;\n\nfunction labConvert(o) {\n if (o instanceof Lab) return new Lab(o.l, o.a, o.b, o.opacity);\n if (o instanceof Hcl) return hcl2lab(o);\n if (!(o instanceof Rgb)) o = rgbConvert(o);\n var r = rgb2lrgb(o.r),\n g = rgb2lrgb(o.g),\n b = rgb2lrgb(o.b),\n y = xyz2lab((0.2225045 * r + 0.7168786 * g + 0.0606169 * b) / Yn), x, z;\n if (r === g && g === b) x = z = y; else {\n x = xyz2lab((0.4360747 * r + 0.3850649 * g + 0.1430804 * b) / Xn);\n z = xyz2lab((0.0139322 * r + 0.0971045 * g + 0.7141733 * b) / Zn);\n }\n return new Lab(116 * y - 16, 500 * (x - y), 200 * (y - z), o.opacity);\n}\n\nexport function gray(l, opacity) {\n return new Lab(l, 0, 0, opacity == null ? 1 : opacity);\n}\n\nexport default function lab(l, a, b, opacity) {\n return arguments.length === 1 ? labConvert(l) : new Lab(l, a, b, opacity == null ? 1 : opacity);\n}\n\nexport function Lab(l, a, b, opacity) {\n this.l = +l;\n this.a = +a;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Lab, lab, extend(Color, {\n brighter: function(k) {\n return new Lab(this.l + K * (k == null ? 1 : k), this.a, this.b, this.opacity);\n },\n darker: function(k) {\n return new Lab(this.l - K * (k == null ? 1 : k), this.a, this.b, this.opacity);\n },\n rgb: function() {\n var y = (this.l + 16) / 116,\n x = isNaN(this.a) ? y : y + this.a / 500,\n z = isNaN(this.b) ? y : y - this.b / 200;\n x = Xn * lab2xyz(x);\n y = Yn * lab2xyz(y);\n z = Zn * lab2xyz(z);\n return new Rgb(\n lrgb2rgb( 3.1338561 * x - 1.6168667 * y - 0.4906146 * z),\n lrgb2rgb(-0.9787684 * x + 1.9161415 * y + 0.0334540 * z),\n lrgb2rgb( 0.0719453 * x - 0.2289914 * y + 1.4052427 * z),\n this.opacity\n );\n }\n}));\n\nfunction xyz2lab(t) {\n return t > t3 ? Math.pow(t, 1 / 3) : t / t2 + t0;\n}\n\nfunction lab2xyz(t) {\n return t > t1 ? t * t * t : t2 * (t - t0);\n}\n\nfunction lrgb2rgb(x) {\n return 255 * (x <= 0.0031308 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055);\n}\n\nfunction rgb2lrgb(x) {\n return (x /= 255) <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4);\n}\n\nfunction hclConvert(o) {\n if (o instanceof Hcl) return new Hcl(o.h, o.c, o.l, o.opacity);\n if (!(o instanceof Lab)) o = labConvert(o);\n if (o.a === 0 && o.b === 0) return new Hcl(NaN, 0 < o.l && o.l < 100 ? 0 : NaN, o.l, o.opacity);\n var h = Math.atan2(o.b, o.a) * degrees;\n return new Hcl(h < 0 ? h + 360 : h, Math.sqrt(o.a * o.a + o.b * o.b), o.l, o.opacity);\n}\n\nexport function lch(l, c, h, opacity) {\n return arguments.length === 1 ? hclConvert(l) : new Hcl(h, c, l, opacity == null ? 1 : opacity);\n}\n\nexport function hcl(h, c, l, opacity) {\n return arguments.length === 1 ? hclConvert(h) : new Hcl(h, c, l, opacity == null ? 1 : opacity);\n}\n\nexport function Hcl(h, c, l, opacity) {\n this.h = +h;\n this.c = +c;\n this.l = +l;\n this.opacity = +opacity;\n}\n\nfunction hcl2lab(o) {\n if (isNaN(o.h)) return new Lab(o.l, 0, 0, o.opacity);\n var h = o.h * radians;\n return new Lab(o.l, Math.cos(h) * o.c, Math.sin(h) * o.c, o.opacity);\n}\n\ndefine(Hcl, hcl, extend(Color, {\n brighter: function(k) {\n return new Hcl(this.h, this.c, this.l + K * (k == null ? 1 : k), this.opacity);\n },\n darker: function(k) {\n return new Hcl(this.h, this.c, this.l - K * (k == null ? 1 : k), this.opacity);\n },\n rgb: function() {\n return hcl2lab(this).rgb();\n }\n}));\n","import define, {extend} from \"./define.js\";\nimport {Color, rgbConvert, Rgb, darker, brighter} from \"./color.js\";\nimport {degrees, radians} from \"./math.js\";\n\nvar A = -0.14861,\n B = +1.78277,\n C = -0.29227,\n D = -0.90649,\n E = +1.97294,\n ED = E * D,\n EB = E * B,\n BC_DA = B * C - D * A;\n\nfunction cubehelixConvert(o) {\n if (o instanceof Cubehelix) return new Cubehelix(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Rgb)) o = rgbConvert(o);\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n l = (BC_DA * b + ED * r - EB * g) / (BC_DA + ED - EB),\n bl = b - l,\n k = (E * (g - l) - C * bl) / D,\n s = Math.sqrt(k * k + bl * bl) / (E * l * (1 - l)), // NaN if l=0 or l=1\n h = s ? Math.atan2(k, bl) * degrees - 120 : NaN;\n return new Cubehelix(h < 0 ? h + 360 : h, s, l, o.opacity);\n}\n\nexport default function cubehelix(h, s, l, opacity) {\n return arguments.length === 1 ? cubehelixConvert(h) : new Cubehelix(h, s, l, opacity == null ? 1 : opacity);\n}\n\nexport function Cubehelix(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Cubehelix, cubehelix, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Cubehelix(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Cubehelix(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = isNaN(this.h) ? 0 : (this.h + 120) * radians,\n l = +this.l,\n a = isNaN(this.s) ? 0 : this.s * l * (1 - l),\n cosh = Math.cos(h),\n sinh = Math.sin(h);\n return new Rgb(\n 255 * (l + a * (A * cosh + B * sinh)),\n 255 * (l + a * (C * cosh + D * sinh)),\n 255 * (l + a * (E * cosh)),\n this.opacity\n );\n }\n}));\n","export {default as color, rgb, hsl} from \"./color.js\";\nexport {default as lab, hcl, lch, gray} from \"./lab.js\";\nexport {default as cubehelix} from \"./cubehelix.js\";\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import {basis} from \"./basis.js\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","export default function(range) {\n var n = range.length;\n return function(t) {\n return range[Math.max(0, Math.min(n - 1, Math.floor(t * n)))];\n };\n}\n","import {hue} from \"./color.js\";\n\nexport default function(a, b) {\n var i = hue(+a, +b);\n return function(t) {\n var x = i(t);\n return x - 360 * Math.floor(x / 360);\n };\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n","var degrees = 180 / Math.PI;\n\nexport var identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\n\nexport default function(a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n","import decompose, {identity} from \"./decompose.js\";\n\nvar svgNode;\n\n/* eslint-disable no-undef */\nexport function parseCss(value) {\n const m = new (typeof DOMMatrix === \"function\" ? DOMMatrix : WebKitCSSMatrix)(value + \"\");\n return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f);\n}\n\nexport function parseSvg(value) {\n if (value == null) return identity;\n if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate())) return identity;\n value = value.matrix;\n return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n","import number from \"../number.js\";\nimport {parseCss, parseSvg} from \"./parse.js\";\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path\n q.push({i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n\n return function(a, b) {\n var s = [], // string constants and placeholders\n q = []; // number interpolators\n a = parse(a), b = parse(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null; // gc\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n };\n}\n\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");\n","var epsilon2 = 1e-12;\n\nfunction cosh(x) {\n return ((x = Math.exp(x)) + 1 / x) / 2;\n}\n\nfunction sinh(x) {\n return ((x = Math.exp(x)) - 1 / x) / 2;\n}\n\nfunction tanh(x) {\n return ((x = Math.exp(2 * x)) - 1) / (x + 1);\n}\n\nexport default (function zoomRho(rho, rho2, rho4) {\n\n // p0 = [ux0, uy0, w0]\n // p1 = [ux1, uy1, w1]\n function zoom(p0, p1) {\n var ux0 = p0[0], uy0 = p0[1], w0 = p0[2],\n ux1 = p1[0], uy1 = p1[1], w1 = p1[2],\n dx = ux1 - ux0,\n dy = uy1 - uy0,\n d2 = dx * dx + dy * dy,\n i,\n S;\n\n // Special case for u0 ≅ u1.\n if (d2 < epsilon2) {\n S = Math.log(w1 / w0) / rho;\n i = function(t) {\n return [\n ux0 + t * dx,\n uy0 + t * dy,\n w0 * Math.exp(rho * t * S)\n ];\n }\n }\n\n // General case.\n else {\n var d1 = Math.sqrt(d2),\n b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1),\n b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1),\n r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0),\n r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1);\n S = (r1 - r0) / rho;\n i = function(t) {\n var s = t * S,\n coshr0 = cosh(r0),\n u = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0));\n return [\n ux0 + u * dx,\n uy0 + u * dy,\n w0 * coshr0 / cosh(rho * s + r0)\n ];\n }\n }\n\n i.duration = S * 1000 * rho / Math.SQRT2;\n\n return i;\n }\n\n zoom.rho = function(_) {\n var _1 = Math.max(1e-3, +_), _2 = _1 * _1, _4 = _2 * _2;\n return zoomRho(_1, _2, _4);\n };\n\n return zoom;\n})(Math.SQRT2, 2, 4);\n","import {hsl as colorHsl} from \"d3-color\";\nimport color, {hue} from \"./color.js\";\n\nfunction hsl(hue) {\n return function(start, end) {\n var h = hue((start = colorHsl(start)).h, (end = colorHsl(end)).h),\n s = color(start.s, end.s),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.s = s(t);\n start.l = l(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n}\n\nexport default hsl(hue);\nexport var hslLong = hsl(color);\n","import {lab as colorLab} from \"d3-color\";\nimport color from \"./color.js\";\n\nexport default function lab(start, end) {\n var l = color((start = colorLab(start)).l, (end = colorLab(end)).l),\n a = color(start.a, end.a),\n b = color(start.b, end.b),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.l = l(t);\n start.a = a(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n}\n","import {hcl as colorHcl} from \"d3-color\";\nimport color, {hue} from \"./color.js\";\n\nfunction hcl(hue) {\n return function(start, end) {\n var h = hue((start = colorHcl(start)).h, (end = colorHcl(end)).h),\n c = color(start.c, end.c),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.c = c(t);\n start.l = l(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n}\n\nexport default hcl(hue);\nexport var hclLong = hcl(color);\n","import {cubehelix as colorCubehelix} from \"d3-color\";\nimport color, {hue} from \"./color.js\";\n\nfunction cubehelix(hue) {\n return (function cubehelixGamma(y) {\n y = +y;\n\n function cubehelix(start, end) {\n var h = hue((start = colorCubehelix(start)).h, (end = colorCubehelix(end)).h),\n s = color(start.s, end.s),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.s = s(t);\n start.l = l(Math.pow(t, y));\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n cubehelix.gamma = cubehelixGamma;\n\n return cubehelix;\n })(1);\n}\n\nexport default cubehelix(hue);\nexport var cubehelixLong = cubehelix(color);\n","import {default as value} from \"./value.js\";\n\nexport default function piecewise(interpolate, values) {\n if (values === undefined) values = interpolate, interpolate = value;\n var i = 0, n = values.length - 1, v = values[0], I = new Array(n < 0 ? 0 : n);\n while (i < n) I[i] = interpolate(v, v = values[++i]);\n return function(t) {\n var i = Math.max(0, Math.min(n - 1, Math.floor(t *= n)));\n return I[i](t - i);\n };\n}\n","export default function(interpolator, n) {\n var samples = new Array(n);\n for (var i = 0; i < n; ++i) samples[i] = interpolator(i / (n - 1));\n return samples;\n}\n","export {default as interpolate} from \"./value.js\";\nexport {default as interpolateArray} from \"./array.js\";\nexport {default as interpolateBasis} from \"./basis.js\";\nexport {default as interpolateBasisClosed} from \"./basisClosed.js\";\nexport {default as interpolateDate} from \"./date.js\";\nexport {default as interpolateDiscrete} from \"./discrete.js\";\nexport {default as interpolateHue} from \"./hue.js\";\nexport {default as interpolateNumber} from \"./number.js\";\nexport {default as interpolateNumberArray} from \"./numberArray.js\";\nexport {default as interpolateObject} from \"./object.js\";\nexport {default as interpolateRound} from \"./round.js\";\nexport {default as interpolateString} from \"./string.js\";\nexport {interpolateTransformCss, interpolateTransformSvg} from \"./transform/index.js\";\nexport {default as interpolateZoom} from \"./zoom.js\";\nexport {default as interpolateRgb, rgbBasis as interpolateRgbBasis, rgbBasisClosed as interpolateRgbBasisClosed} from \"./rgb.js\";\nexport {default as interpolateHsl, hslLong as interpolateHslLong} from \"./hsl.js\";\nexport {default as interpolateLab} from \"./lab.js\";\nexport {default as interpolateHcl, hclLong as interpolateHclLong} from \"./hcl.js\";\nexport {default as interpolateCubehelix, cubehelixLong as interpolateCubehelixLong} from \"./cubehelix.js\";\nexport {default as piecewise} from \"./piecewise.js\";\nexport {default as quantize} from \"./quantize.js\";\n","var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(null, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n","import {Timer} from \"./timer.js\";\n\nexport default function(callback, delay, time) {\n var t = new Timer;\n delay = delay == null ? 0 : +delay;\n t.restart(elapsed => {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}\n","import {Timer, now} from \"./timer.js\";\n\nexport default function(callback, delay, time) {\n var t = new Timer, total = delay;\n if (delay == null) return t.restart(callback, delay, time), t;\n t._restart = t.restart;\n t.restart = function(callback, delay, time) {\n delay = +delay, time = time == null ? now() : +time;\n t._restart(function tick(elapsed) {\n elapsed += total;\n t._restart(tick, total += delay, time);\n callback(elapsed);\n }, delay, time);\n }\n t.restart(callback, delay, time);\n return t;\n}\n","export {\n now,\n timer,\n timerFlush\n} from \"./timer.js\";\n\nexport {\n default as timeout\n} from \"./timeout.js\";\n\nexport {\n default as interval\n} from \"./interval.js\";\n","import {dispatch} from \"d3-dispatch\";\nimport {timer, timeout} from \"d3-timer\";\n\nvar emptyOn = dispatch(\"start\", \"end\", \"cancel\", \"interrupt\");\nvar emptyTween = [];\n\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\n\nexport default function(node, name, id, index, group, timing) {\n var schedules = node.__transition;\n if (!schedules) node.__transition = {};\n else if (id in schedules) return;\n create(node, id, {\n name: name,\n index: index, // For context during callback.\n group: group, // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n}\n\nexport function init(node, id) {\n var schedule = get(node, id);\n if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n return schedule;\n}\n\nexport function set(node, id) {\n var schedule = get(node, id);\n if (schedule.state > STARTED) throw new Error(\"too late; already running\");\n return schedule;\n}\n\nexport function get(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n return schedule;\n}\n\nfunction create(node, id, self) {\n var schedules = node.__transition,\n tween;\n\n // Initialize the self timer when the transition is created.\n // Note the actual delay is not known until the first callback!\n schedules[id] = self;\n self.timer = timer(schedule, 0, self.time);\n\n function schedule(elapsed) {\n self.state = SCHEDULED;\n self.timer.restart(start, self.delay, self.time);\n\n // If the elapsed delay is less than our first sleep, start immediately.\n if (self.delay <= elapsed) start(elapsed - self.delay);\n }\n\n function start(elapsed) {\n var i, j, n, o;\n\n // If the state is not SCHEDULED, then we previously errored on start.\n if (self.state !== SCHEDULED) return stop();\n\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self.name) continue;\n\n // While this element already has a starting transition during this frame,\n // defer starting an interrupting transition until that transition has a\n // chance to tick (and possibly end); see d3/d3-transition#54!\n if (o.state === STARTED) return timeout(start);\n\n // Interrupt the active transition, if any.\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n\n // Cancel any pre-empted transitions.\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"cancel\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n }\n\n // Defer the first tick to end of the current frame; see d3/d3#1576.\n // Note the transition may be canceled after start and before the first tick!\n // Note this must be scheduled before the start event; see d3/d3-transition#16!\n // Assuming this is successful, subsequent callbacks go straight to tick.\n timeout(function() {\n if (self.state === STARTED) {\n self.state = RUNNING;\n self.timer.restart(tick, self.delay, self.time);\n tick(elapsed);\n }\n });\n\n // Dispatch the start event.\n // Note this must be done before the tween are initialized.\n self.state = STARTING;\n self.on.call(\"start\", node, node.__data__, self.index, self.group);\n if (self.state !== STARTING) return; // interrupted\n self.state = STARTED;\n\n // Initialize the tween, deleting null tween.\n tween = new Array(n = self.tween.length);\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n tween[++j] = o;\n }\n }\n tween.length = j + 1;\n }\n\n function tick(elapsed) {\n var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n i = -1,\n n = tween.length;\n\n while (++i < n) {\n tween[i].call(node, t);\n }\n\n // Dispatch the end event.\n if (self.state === ENDING) {\n self.on.call(\"end\", node, node.__data__, self.index, self.group);\n stop();\n }\n }\n\n function stop() {\n self.state = ENDED;\n self.timer.stop();\n delete schedules[id];\n for (var i in schedules) return; // eslint-disable-line no-unused-vars\n delete node.__transition;\n }\n}\n","import {STARTING, ENDING, ENDED} from \"./transition/schedule.js\";\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n active,\n empty = true,\n i;\n\n if (!schedules) return;\n\n name = name == null ? null : name + \"\";\n\n for (i in schedules) {\n if ((schedule = schedules[i]).name !== name) { empty = false; continue; }\n active = schedule.state > STARTING && schedule.state < ENDING;\n schedule.state = ENDED;\n schedule.timer.stop();\n schedule.on.call(active ? \"interrupt\" : \"cancel\", node, node.__data__, schedule.index, schedule.group);\n delete schedules[i];\n }\n\n if (empty) delete node.__transition;\n}\n","import interrupt from \"../interrupt.js\";\n\nexport default function(name) {\n return this.each(function() {\n interrupt(this, name);\n });\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction tweenRemove(id, name) {\n var tween0, tween1;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n\n schedule.tween = tween1;\n };\n}\n\nfunction tweenFunction(id, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\") throw new Error;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n if (i === n) tween1.push(t);\n }\n\n schedule.tween = tween1;\n };\n}\n\nexport default function(name, value) {\n var id = this._id;\n\n name += \"\";\n\n if (arguments.length < 2) {\n var tween = get(this.node(), id).tween;\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n return null;\n }\n\n return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\n\nexport function tweenValue(transition, name, value) {\n var id = transition._id;\n\n transition.each(function() {\n var schedule = set(this, id);\n (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n });\n\n return function(node) {\n return get(node, id).value[name];\n };\n}\n","import {color} from \"d3-color\";\nimport {interpolateNumber, interpolateRgb, interpolateString} from \"d3-interpolate\";\n\nexport default function(a, b) {\n var c;\n return (typeof b === \"number\" ? interpolateNumber\n : b instanceof color ? interpolateRgb\n : (c = color(b)) ? (b = c, interpolateRgb)\n : interpolateString)(a, b);\n}\n","import {interpolateTransformSvg as interpolateTransform} from \"d3-interpolate\";\nimport {namespace} from \"d3-selection\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttribute(name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttributeNS(fullname.space, fullname.local);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttribute(name);\n string0 = this.getAttribute(name);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n string0 = this.getAttributeNS(fullname.space, fullname.local);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name), i = fullname === \"transform\" ? interpolateTransform : interpolate;\n return this.attrTween(name, typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value))\n : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname)\n : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value));\n}\n","import {namespace} from \"d3-selection\";\n\nfunction attrInterpolate(name, i) {\n return function(t) {\n this.setAttribute(name, i.call(this, t));\n };\n}\n\nfunction attrInterpolateNS(fullname, i) {\n return function(t) {\n this.setAttributeNS(fullname.space, fullname.local, i.call(this, t));\n };\n}\n\nfunction attrTweenNS(fullname, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nfunction attrTween(name, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value) {\n var key = \"attr.\" + name;\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n var fullname = namespace(name);\n return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}\n","import {get, init} from \"./schedule.js\";\n\nfunction delayFunction(id, value) {\n return function() {\n init(this, id).delay = +value.apply(this, arguments);\n };\n}\n\nfunction delayConstant(id, value) {\n return value = +value, function() {\n init(this, id).delay = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? delayFunction\n : delayConstant)(id, value))\n : get(this.node(), id).delay;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction durationFunction(id, value) {\n return function() {\n set(this, id).duration = +value.apply(this, arguments);\n };\n}\n\nfunction durationConstant(id, value) {\n return value = +value, function() {\n set(this, id).duration = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? durationFunction\n : durationConstant)(id, value))\n : get(this.node(), id).duration;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction easeConstant(id, value) {\n if (typeof value !== \"function\") throw new Error;\n return function() {\n set(this, id).ease = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each(easeConstant(id, value))\n : get(this.node(), id).ease;\n}\n","import {set} from \"./schedule.js\";\n\nfunction easeVarying(id, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (typeof v !== \"function\") throw new Error;\n set(this, id).ease = v;\n };\n}\n\nexport default function(value) {\n if (typeof value !== \"function\") throw new Error;\n return this.each(easeVarying(this._id, value));\n}\n","import {matcher} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Transition(subgroups, this._parents, this._name, this._id);\n}\n","import {Transition} from \"./index.js\";\n\nexport default function(transition) {\n if (transition._id !== this._id) throw new Error;\n\n for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Transition(merges, this._parents, this._name, this._id);\n}\n","import {get, set, init} from \"./schedule.js\";\n\nfunction start(name) {\n return (name + \"\").trim().split(/^|\\s+/).every(function(t) {\n var i = t.indexOf(\".\");\n if (i >= 0) t = t.slice(0, i);\n return !t || t === \"start\";\n });\n}\n\nfunction onFunction(id, name, listener) {\n var on0, on1, sit = start(name) ? init : set;\n return function() {\n var schedule = sit(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, listener) {\n var id = this._id;\n\n return arguments.length < 2\n ? get(this.node(), id).on.on(name)\n : this.each(onFunction(id, name, listener));\n}\n","function removeFunction(id) {\n return function() {\n var parent = this.parentNode;\n for (var i in this.__transition) if (+i !== id) return;\n if (parent) parent.removeChild(this);\n };\n}\n\nexport default function() {\n return this.on(\"end.remove\", removeFunction(this._id));\n}\n","import {selector} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n }\n }\n }\n\n return new Transition(subgroups, this._parents, name, id);\n}\n","import {selectorAll} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n if (child = children[k]) {\n schedule(child, name, id, k, children, inherit);\n }\n }\n subgroups.push(children);\n parents.push(node);\n }\n }\n }\n\n return new Transition(subgroups, parents, name, id);\n}\n","import {selection} from \"d3-selection\";\n\nvar Selection = selection.prototype.constructor;\n\nexport default function() {\n return new Selection(this._groups, this._parents);\n}\n","import {interpolateTransformCss as interpolateTransform} from \"d3-interpolate\";\nimport {style} from \"d3-selection\";\nimport {set} from \"./schedule.js\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction styleNull(name, interpolate) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n string1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, string10 = string1);\n };\n}\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = style(this, name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction styleFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n value1 = value(this),\n string1 = value1 + \"\";\n if (value1 == null) string1 = value1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction styleMaybeRemove(id, name) {\n var on0, on1, listener0, key = \"style.\" + name, event = \"end.\" + key, remove;\n return function() {\n var schedule = set(this, id),\n on = schedule.on,\n listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n return value == null ? this\n .styleTween(name, styleNull(name, i))\n .on(\"end.style.\" + name, styleRemove(name))\n : typeof value === \"function\" ? this\n .styleTween(name, styleFunction(name, i, tweenValue(this, \"style.\" + name, value)))\n .each(styleMaybeRemove(this._id, name))\n : this\n .styleTween(name, styleConstant(name, i, value), priority)\n .on(\"end.style.\" + name, null);\n}\n","function styleInterpolate(name, i, priority) {\n return function(t) {\n this.style.setProperty(name, i.call(this, t), priority);\n };\n}\n\nfunction styleTween(name, value, priority) {\n var t, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);\n return t;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value, priority) {\n var key = \"style.\" + (name += \"\");\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}\n","import {tweenValue} from \"./tween.js\";\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var value1 = value(this);\n this.textContent = value1 == null ? \"\" : value1;\n };\n}\n\nexport default function(value) {\n return this.tween(\"text\", typeof value === \"function\"\n ? textFunction(tweenValue(this, \"text\", value))\n : textConstant(value == null ? \"\" : value + \"\"));\n}\n","function textInterpolate(i) {\n return function(t) {\n this.textContent = i.call(this, t);\n };\n}\n\nfunction textTween(value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && textInterpolate(i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(value) {\n var key = \"text\";\n if (arguments.length < 1) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, textTween(value));\n}\n","import {Transition, newId} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function() {\n var name = this._name,\n id0 = this._id,\n id1 = newId();\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n var inherit = get(node, id0);\n schedule(node, name, id1, i, group, {\n time: inherit.time + inherit.delay + inherit.duration,\n delay: 0,\n duration: inherit.duration,\n ease: inherit.ease\n });\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id1);\n}\n","import {set} from \"./schedule.js\";\n\nexport default function() {\n var on0, on1, that = this, id = that._id, size = that.size();\n return new Promise(function(resolve, reject) {\n var cancel = {value: reject},\n end = {value: function() { if (--size === 0) resolve(); }};\n\n that.each(function() {\n var schedule = set(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) {\n on1 = (on0 = on).copy();\n on1._.cancel.push(cancel);\n on1._.interrupt.push(cancel);\n on1._.end.push(end);\n }\n\n schedule.on = on1;\n });\n\n // The selection was empty, resolve end immediately\n if (size === 0) resolve();\n });\n}\n","import {selection} from \"d3-selection\";\nimport transition_attr from \"./attr.js\";\nimport transition_attrTween from \"./attrTween.js\";\nimport transition_delay from \"./delay.js\";\nimport transition_duration from \"./duration.js\";\nimport transition_ease from \"./ease.js\";\nimport transition_easeVarying from \"./easeVarying.js\";\nimport transition_filter from \"./filter.js\";\nimport transition_merge from \"./merge.js\";\nimport transition_on from \"./on.js\";\nimport transition_remove from \"./remove.js\";\nimport transition_select from \"./select.js\";\nimport transition_selectAll from \"./selectAll.js\";\nimport transition_selection from \"./selection.js\";\nimport transition_style from \"./style.js\";\nimport transition_styleTween from \"./styleTween.js\";\nimport transition_text from \"./text.js\";\nimport transition_textTween from \"./textTween.js\";\nimport transition_transition from \"./transition.js\";\nimport transition_tween from \"./tween.js\";\nimport transition_end from \"./end.js\";\n\nvar id = 0;\n\nexport function Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\n\nexport default function transition(name) {\n return selection().transition(name);\n}\n\nexport function newId() {\n return ++id;\n}\n\nvar selection_prototype = selection.prototype;\n\nTransition.prototype = transition.prototype = {\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n textTween: transition_textTween,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease,\n easeVarying: transition_easeVarying,\n end: transition_end,\n [Symbol.iterator]: selection_prototype[Symbol.iterator]\n};\n","export const linear = t => +t;\n","export function quadIn(t) {\n return t * t;\n}\n\nexport function quadOut(t) {\n return t * (2 - t);\n}\n\nexport function quadInOut(t) {\n return ((t *= 2) <= 1 ? t * t : --t * (2 - t) + 1) / 2;\n}\n","export function cubicIn(t) {\n return t * t * t;\n}\n\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n","var exponent = 3;\n\nexport var polyIn = (function custom(e) {\n e = +e;\n\n function polyIn(t) {\n return Math.pow(t, e);\n }\n\n polyIn.exponent = custom;\n\n return polyIn;\n})(exponent);\n\nexport var polyOut = (function custom(e) {\n e = +e;\n\n function polyOut(t) {\n return 1 - Math.pow(1 - t, e);\n }\n\n polyOut.exponent = custom;\n\n return polyOut;\n})(exponent);\n\nexport var polyInOut = (function custom(e) {\n e = +e;\n\n function polyInOut(t) {\n return ((t *= 2) <= 1 ? Math.pow(t, e) : 2 - Math.pow(2 - t, e)) / 2;\n }\n\n polyInOut.exponent = custom;\n\n return polyInOut;\n})(exponent);\n","var pi = Math.PI,\n halfPi = pi / 2;\n\nexport function sinIn(t) {\n return (+t === 1) ? 1 : 1 - Math.cos(t * halfPi);\n}\n\nexport function sinOut(t) {\n return Math.sin(t * halfPi);\n}\n\nexport function sinInOut(t) {\n return (1 - Math.cos(pi * t)) / 2;\n}\n","// tpmt is two power minus ten times t scaled to [0,1]\nexport function tpmt(x) {\n return (Math.pow(2, -10 * x) - 0.0009765625) * 1.0009775171065494;\n}\n","import {tpmt} from \"./math.js\";\n\nexport function expIn(t) {\n return tpmt(1 - +t);\n}\n\nexport function expOut(t) {\n return 1 - tpmt(t);\n}\n\nexport function expInOut(t) {\n return ((t *= 2) <= 1 ? tpmt(1 - t) : 2 - tpmt(t - 1)) / 2;\n}\n","export function circleIn(t) {\n return 1 - Math.sqrt(1 - t * t);\n}\n\nexport function circleOut(t) {\n return Math.sqrt(1 - --t * t);\n}\n\nexport function circleInOut(t) {\n return ((t *= 2) <= 1 ? 1 - Math.sqrt(1 - t * t) : Math.sqrt(1 - (t -= 2) * t) + 1) / 2;\n}\n","var b1 = 4 / 11,\n b2 = 6 / 11,\n b3 = 8 / 11,\n b4 = 3 / 4,\n b5 = 9 / 11,\n b6 = 10 / 11,\n b7 = 15 / 16,\n b8 = 21 / 22,\n b9 = 63 / 64,\n b0 = 1 / b1 / b1;\n\nexport function bounceIn(t) {\n return 1 - bounceOut(1 - t);\n}\n\nexport function bounceOut(t) {\n return (t = +t) < b1 ? b0 * t * t : t < b3 ? b0 * (t -= b2) * t + b4 : t < b6 ? b0 * (t -= b5) * t + b7 : b0 * (t -= b8) * t + b9;\n}\n\nexport function bounceInOut(t) {\n return ((t *= 2) <= 1 ? 1 - bounceOut(1 - t) : bounceOut(t - 1) + 1) / 2;\n}\n","var overshoot = 1.70158;\n\nexport var backIn = (function custom(s) {\n s = +s;\n\n function backIn(t) {\n return (t = +t) * t * (s * (t - 1) + t);\n }\n\n backIn.overshoot = custom;\n\n return backIn;\n})(overshoot);\n\nexport var backOut = (function custom(s) {\n s = +s;\n\n function backOut(t) {\n return --t * t * ((t + 1) * s + t) + 1;\n }\n\n backOut.overshoot = custom;\n\n return backOut;\n})(overshoot);\n\nexport var backInOut = (function custom(s) {\n s = +s;\n\n function backInOut(t) {\n return ((t *= 2) < 1 ? t * t * ((s + 1) * t - s) : (t -= 2) * t * ((s + 1) * t + s) + 2) / 2;\n }\n\n backInOut.overshoot = custom;\n\n return backInOut;\n})(overshoot);\n","import {tpmt} from \"./math.js\";\n\nvar tau = 2 * Math.PI,\n amplitude = 1,\n period = 0.3;\n\nexport var elasticIn = (function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticIn(t) {\n return a * tpmt(-(--t)) * Math.sin((s - t) / p);\n }\n\n elasticIn.amplitude = function(a) { return custom(a, p * tau); };\n elasticIn.period = function(p) { return custom(a, p); };\n\n return elasticIn;\n})(amplitude, period);\n\nexport var elasticOut = (function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticOut(t) {\n return 1 - a * tpmt(t = +t) * Math.sin((t + s) / p);\n }\n\n elasticOut.amplitude = function(a) { return custom(a, p * tau); };\n elasticOut.period = function(p) { return custom(a, p); };\n\n return elasticOut;\n})(amplitude, period);\n\nexport var elasticInOut = (function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticInOut(t) {\n return ((t = t * 2 - 1) < 0\n ? a * tpmt(-t) * Math.sin((s - t) / p)\n : 2 - a * tpmt(t) * Math.sin((s + t) / p)) / 2;\n }\n\n elasticInOut.amplitude = function(a) { return custom(a, p * tau); };\n elasticInOut.period = function(p) { return custom(a, p); };\n\n return elasticInOut;\n})(amplitude, period);\n","export {\n linear as easeLinear\n} from \"./linear.js\";\n\nexport {\n quadInOut as easeQuad,\n quadIn as easeQuadIn,\n quadOut as easeQuadOut,\n quadInOut as easeQuadInOut\n} from \"./quad.js\";\n\nexport {\n cubicInOut as easeCubic,\n cubicIn as easeCubicIn,\n cubicOut as easeCubicOut,\n cubicInOut as easeCubicInOut\n} from \"./cubic.js\";\n\nexport {\n polyInOut as easePoly,\n polyIn as easePolyIn,\n polyOut as easePolyOut,\n polyInOut as easePolyInOut\n} from \"./poly.js\";\n\nexport {\n sinInOut as easeSin,\n sinIn as easeSinIn,\n sinOut as easeSinOut,\n sinInOut as easeSinInOut\n} from \"./sin.js\";\n\nexport {\n expInOut as easeExp,\n expIn as easeExpIn,\n expOut as easeExpOut,\n expInOut as easeExpInOut\n} from \"./exp.js\";\n\nexport {\n circleInOut as easeCircle,\n circleIn as easeCircleIn,\n circleOut as easeCircleOut,\n circleInOut as easeCircleInOut\n} from \"./circle.js\";\n\nexport {\n bounceOut as easeBounce,\n bounceIn as easeBounceIn,\n bounceOut as easeBounceOut,\n bounceInOut as easeBounceInOut\n} from \"./bounce.js\";\n\nexport {\n backInOut as easeBack,\n backIn as easeBackIn,\n backOut as easeBackOut,\n backInOut as easeBackInOut\n} from \"./back.js\";\n\nexport {\n elasticOut as easeElastic,\n elasticIn as easeElasticIn,\n elasticOut as easeElasticOut,\n elasticInOut as easeElasticInOut\n} from \"./elastic.js\";\n","import {Transition, newId} from \"../transition/index.js\";\nimport schedule from \"../transition/schedule.js\";\nimport {easeCubicInOut} from \"d3-ease\";\nimport {now} from \"d3-timer\";\n\nvar defaultTiming = {\n time: null, // Set on use.\n delay: 0,\n duration: 250,\n ease: easeCubicInOut\n};\n\nfunction inherit(node, id) {\n var timing;\n while (!(timing = node.__transition) || !(timing = timing[id])) {\n if (!(node = node.parentNode)) {\n throw new Error(`transition ${id} not found`);\n }\n }\n return timing;\n}\n\nexport default function(name) {\n var id,\n timing;\n\n if (name instanceof Transition) {\n id = name._id, name = name._name;\n } else {\n id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n }\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n schedule(node, name, id, i, group, timing || inherit(node, id));\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id);\n}\n","import {selection} from \"d3-selection\";\nimport selection_interrupt from \"./interrupt.js\";\nimport selection_transition from \"./transition.js\";\n\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\n","import {Transition} from \"./transition/index.js\";\nimport {SCHEDULED} from \"./transition/schedule.js\";\n\nvar root = [null];\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n i;\n\n if (schedules) {\n name = name == null ? null : name + \"\";\n for (i in schedules) {\n if ((schedule = schedules[i]).state > SCHEDULED && schedule.name === name) {\n return new Transition([[node]], root, name, +i);\n }\n }\n }\n\n return null;\n}\n","import \"./selection/index.js\";\nexport {default as transition} from \"./transition/index.js\";\nexport {default as active} from \"./active.js\";\nexport {default as interrupt} from \"./interrupt.js\";\n","export default x => () => x;\n","export default function ZoomEvent(type, {\n sourceEvent,\n target,\n transform,\n dispatch\n}) {\n Object.defineProperties(this, {\n type: {value: type, enumerable: true, configurable: true},\n sourceEvent: {value: sourceEvent, enumerable: true, configurable: true},\n target: {value: target, enumerable: true, configurable: true},\n transform: {value: transform, enumerable: true, configurable: true},\n _: {value: dispatch}\n });\n}\n","export function Transform(k, x, y) {\n this.k = k;\n this.x = x;\n this.y = y;\n}\n\nTransform.prototype = {\n constructor: Transform,\n scale: function(k) {\n return k === 1 ? this : new Transform(this.k * k, this.x, this.y);\n },\n translate: function(x, y) {\n return x === 0 & y === 0 ? this : new Transform(this.k, this.x + this.k * x, this.y + this.k * y);\n },\n apply: function(point) {\n return [point[0] * this.k + this.x, point[1] * this.k + this.y];\n },\n applyX: function(x) {\n return x * this.k + this.x;\n },\n applyY: function(y) {\n return y * this.k + this.y;\n },\n invert: function(location) {\n return [(location[0] - this.x) / this.k, (location[1] - this.y) / this.k];\n },\n invertX: function(x) {\n return (x - this.x) / this.k;\n },\n invertY: function(y) {\n return (y - this.y) / this.k;\n },\n rescaleX: function(x) {\n return x.copy().domain(x.range().map(this.invertX, this).map(x.invert, x));\n },\n rescaleY: function(y) {\n return y.copy().domain(y.range().map(this.invertY, this).map(y.invert, y));\n },\n toString: function() {\n return \"translate(\" + this.x + \",\" + this.y + \") scale(\" + this.k + \")\";\n }\n};\n\nexport var identity = new Transform(1, 0, 0);\n\ntransform.prototype = Transform.prototype;\n\nexport default function transform(node) {\n while (!node.__zoom) if (!(node = node.parentNode)) return identity;\n return node.__zoom;\n}\n","export function nopropagation(event) {\n event.stopImmediatePropagation();\n}\n\nexport default function(event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {dragDisable, dragEnable} from \"d3-drag\";\nimport {interpolateZoom} from \"d3-interpolate\";\nimport {select, pointer} from \"d3-selection\";\nimport {interrupt} from \"d3-transition\";\nimport constant from \"./constant.js\";\nimport ZoomEvent from \"./event.js\";\nimport {Transform, identity} from \"./transform.js\";\nimport noevent, {nopropagation} from \"./noevent.js\";\n\n// Ignore right-click, since that should open the context menu.\n// except for pinch-to-zoom, which is sent as a wheel+ctrlKey event\nfunction defaultFilter(event) {\n return (!event.ctrlKey || event.type === 'wheel') && !event.button;\n}\n\nfunction defaultExtent() {\n var e = this;\n if (e instanceof SVGElement) {\n e = e.ownerSVGElement || e;\n if (e.hasAttribute(\"viewBox\")) {\n e = e.viewBox.baseVal;\n return [[e.x, e.y], [e.x + e.width, e.y + e.height]];\n }\n return [[0, 0], [e.width.baseVal.value, e.height.baseVal.value]];\n }\n return [[0, 0], [e.clientWidth, e.clientHeight]];\n}\n\nfunction defaultTransform() {\n return this.__zoom || identity;\n}\n\nfunction defaultWheelDelta(event) {\n return -event.deltaY * (event.deltaMode === 1 ? 0.05 : event.deltaMode ? 1 : 0.002) * (event.ctrlKey ? 10 : 1);\n}\n\nfunction defaultTouchable() {\n return navigator.maxTouchPoints || (\"ontouchstart\" in this);\n}\n\nfunction defaultConstrain(transform, extent, translateExtent) {\n var dx0 = transform.invertX(extent[0][0]) - translateExtent[0][0],\n dx1 = transform.invertX(extent[1][0]) - translateExtent[1][0],\n dy0 = transform.invertY(extent[0][1]) - translateExtent[0][1],\n dy1 = transform.invertY(extent[1][1]) - translateExtent[1][1];\n return transform.translate(\n dx1 > dx0 ? (dx0 + dx1) / 2 : Math.min(0, dx0) || Math.max(0, dx1),\n dy1 > dy0 ? (dy0 + dy1) / 2 : Math.min(0, dy0) || Math.max(0, dy1)\n );\n}\n\nexport default function() {\n var filter = defaultFilter,\n extent = defaultExtent,\n constrain = defaultConstrain,\n wheelDelta = defaultWheelDelta,\n touchable = defaultTouchable,\n scaleExtent = [0, Infinity],\n translateExtent = [[-Infinity, -Infinity], [Infinity, Infinity]],\n duration = 250,\n interpolate = interpolateZoom,\n listeners = dispatch(\"start\", \"zoom\", \"end\"),\n touchstarting,\n touchfirst,\n touchending,\n touchDelay = 500,\n wheelDelay = 150,\n clickDistance2 = 0,\n tapDistance = 10;\n\n function zoom(selection) {\n selection\n .property(\"__zoom\", defaultTransform)\n .on(\"wheel.zoom\", wheeled)\n .on(\"mousedown.zoom\", mousedowned)\n .on(\"dblclick.zoom\", dblclicked)\n .filter(touchable)\n .on(\"touchstart.zoom\", touchstarted)\n .on(\"touchmove.zoom\", touchmoved)\n .on(\"touchend.zoom touchcancel.zoom\", touchended)\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n zoom.transform = function(collection, transform, point, event) {\n var selection = collection.selection ? collection.selection() : collection;\n selection.property(\"__zoom\", defaultTransform);\n if (collection !== selection) {\n schedule(collection, transform, point, event);\n } else {\n selection.interrupt().each(function() {\n gesture(this, arguments)\n .event(event)\n .start()\n .zoom(null, typeof transform === \"function\" ? transform.apply(this, arguments) : transform)\n .end();\n });\n }\n };\n\n zoom.scaleBy = function(selection, k, p, event) {\n zoom.scaleTo(selection, function() {\n var k0 = this.__zoom.k,\n k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n return k0 * k1;\n }, p, event);\n };\n\n zoom.scaleTo = function(selection, k, p, event) {\n zoom.transform(selection, function() {\n var e = extent.apply(this, arguments),\n t0 = this.__zoom,\n p0 = p == null ? centroid(e) : typeof p === \"function\" ? p.apply(this, arguments) : p,\n p1 = t0.invert(p0),\n k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n return constrain(translate(scale(t0, k1), p0, p1), e, translateExtent);\n }, p, event);\n };\n\n zoom.translateBy = function(selection, x, y, event) {\n zoom.transform(selection, function() {\n return constrain(this.__zoom.translate(\n typeof x === \"function\" ? x.apply(this, arguments) : x,\n typeof y === \"function\" ? y.apply(this, arguments) : y\n ), extent.apply(this, arguments), translateExtent);\n }, null, event);\n };\n\n zoom.translateTo = function(selection, x, y, p, event) {\n zoom.transform(selection, function() {\n var e = extent.apply(this, arguments),\n t = this.__zoom,\n p0 = p == null ? centroid(e) : typeof p === \"function\" ? p.apply(this, arguments) : p;\n return constrain(identity.translate(p0[0], p0[1]).scale(t.k).translate(\n typeof x === \"function\" ? -x.apply(this, arguments) : -x,\n typeof y === \"function\" ? -y.apply(this, arguments) : -y\n ), e, translateExtent);\n }, p, event);\n };\n\n function scale(transform, k) {\n k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], k));\n return k === transform.k ? transform : new Transform(k, transform.x, transform.y);\n }\n\n function translate(transform, p0, p1) {\n var x = p0[0] - p1[0] * transform.k, y = p0[1] - p1[1] * transform.k;\n return x === transform.x && y === transform.y ? transform : new Transform(transform.k, x, y);\n }\n\n function centroid(extent) {\n return [(+extent[0][0] + +extent[1][0]) / 2, (+extent[0][1] + +extent[1][1]) / 2];\n }\n\n function schedule(transition, transform, point, event) {\n transition\n .on(\"start.zoom\", function() { gesture(this, arguments).event(event).start(); })\n .on(\"interrupt.zoom end.zoom\", function() { gesture(this, arguments).event(event).end(); })\n .tween(\"zoom\", function() {\n var that = this,\n args = arguments,\n g = gesture(that, args).event(event),\n e = extent.apply(that, args),\n p = point == null ? centroid(e) : typeof point === \"function\" ? point.apply(that, args) : point,\n w = Math.max(e[1][0] - e[0][0], e[1][1] - e[0][1]),\n a = that.__zoom,\n b = typeof transform === \"function\" ? transform.apply(that, args) : transform,\n i = interpolate(a.invert(p).concat(w / a.k), b.invert(p).concat(w / b.k));\n return function(t) {\n if (t === 1) t = b; // Avoid rounding error on end.\n else { var l = i(t), k = w / l[2]; t = new Transform(k, p[0] - l[0] * k, p[1] - l[1] * k); }\n g.zoom(null, t);\n };\n });\n }\n\n function gesture(that, args, clean) {\n return (!clean && that.__zooming) || new Gesture(that, args);\n }\n\n function Gesture(that, args) {\n this.that = that;\n this.args = args;\n this.active = 0;\n this.sourceEvent = null;\n this.extent = extent.apply(that, args);\n this.taps = 0;\n }\n\n Gesture.prototype = {\n event: function(event) {\n if (event) this.sourceEvent = event;\n return this;\n },\n start: function() {\n if (++this.active === 1) {\n this.that.__zooming = this;\n this.emit(\"start\");\n }\n return this;\n },\n zoom: function(key, transform) {\n if (this.mouse && key !== \"mouse\") this.mouse[1] = transform.invert(this.mouse[0]);\n if (this.touch0 && key !== \"touch\") this.touch0[1] = transform.invert(this.touch0[0]);\n if (this.touch1 && key !== \"touch\") this.touch1[1] = transform.invert(this.touch1[0]);\n this.that.__zoom = transform;\n this.emit(\"zoom\");\n return this;\n },\n end: function() {\n if (--this.active === 0) {\n delete this.that.__zooming;\n this.emit(\"end\");\n }\n return this;\n },\n emit: function(type) {\n var d = select(this.that).datum();\n listeners.call(\n type,\n this.that,\n new ZoomEvent(type, {\n sourceEvent: this.sourceEvent,\n target: zoom,\n type,\n transform: this.that.__zoom,\n dispatch: listeners\n }),\n d\n );\n }\n };\n\n function wheeled(event, ...args) {\n if (!filter.apply(this, arguments)) return;\n var g = gesture(this, args).event(event),\n t = this.__zoom,\n k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], t.k * Math.pow(2, wheelDelta.apply(this, arguments)))),\n p = pointer(event);\n\n // If the mouse is in the same location as before, reuse it.\n // If there were recent wheel events, reset the wheel idle timeout.\n if (g.wheel) {\n if (g.mouse[0][0] !== p[0] || g.mouse[0][1] !== p[1]) {\n g.mouse[1] = t.invert(g.mouse[0] = p);\n }\n clearTimeout(g.wheel);\n }\n\n // If this wheel event won’t trigger a transform change, ignore it.\n else if (t.k === k) return;\n\n // Otherwise, capture the mouse point and location at the start.\n else {\n g.mouse = [p, t.invert(p)];\n interrupt(this);\n g.start();\n }\n\n noevent(event);\n g.wheel = setTimeout(wheelidled, wheelDelay);\n g.zoom(\"mouse\", constrain(translate(scale(t, k), g.mouse[0], g.mouse[1]), g.extent, translateExtent));\n\n function wheelidled() {\n g.wheel = null;\n g.end();\n }\n }\n\n function mousedowned(event, ...args) {\n if (touchending || !filter.apply(this, arguments)) return;\n var g = gesture(this, args, true).event(event),\n v = select(event.view).on(\"mousemove.zoom\", mousemoved, true).on(\"mouseup.zoom\", mouseupped, true),\n p = pointer(event, currentTarget),\n currentTarget = event.currentTarget,\n x0 = event.clientX,\n y0 = event.clientY;\n\n dragDisable(event.view);\n nopropagation(event);\n g.mouse = [p, this.__zoom.invert(p)];\n interrupt(this);\n g.start();\n\n function mousemoved(event) {\n noevent(event);\n if (!g.moved) {\n var dx = event.clientX - x0, dy = event.clientY - y0;\n g.moved = dx * dx + dy * dy > clickDistance2;\n }\n g.event(event)\n .zoom(\"mouse\", constrain(translate(g.that.__zoom, g.mouse[0] = pointer(event, currentTarget), g.mouse[1]), g.extent, translateExtent));\n }\n\n function mouseupped(event) {\n v.on(\"mousemove.zoom mouseup.zoom\", null);\n dragEnable(event.view, g.moved);\n noevent(event);\n g.event(event).end();\n }\n }\n\n function dblclicked(event, ...args) {\n if (!filter.apply(this, arguments)) return;\n var t0 = this.__zoom,\n p0 = pointer(event.changedTouches ? event.changedTouches[0] : event, this),\n p1 = t0.invert(p0),\n k1 = t0.k * (event.shiftKey ? 0.5 : 2),\n t1 = constrain(translate(scale(t0, k1), p0, p1), extent.apply(this, args), translateExtent);\n\n noevent(event);\n if (duration > 0) select(this).transition().duration(duration).call(schedule, t1, p0, event);\n else select(this).call(zoom.transform, t1, p0, event);\n }\n\n function touchstarted(event, ...args) {\n if (!filter.apply(this, arguments)) return;\n var touches = event.touches,\n n = touches.length,\n g = gesture(this, args, event.changedTouches.length === n).event(event),\n started, i, t, p;\n\n nopropagation(event);\n for (i = 0; i < n; ++i) {\n t = touches[i], p = pointer(t, this);\n p = [p, this.__zoom.invert(p), t.identifier];\n if (!g.touch0) g.touch0 = p, started = true, g.taps = 1 + !!touchstarting;\n else if (!g.touch1 && g.touch0[2] !== p[2]) g.touch1 = p, g.taps = 0;\n }\n\n if (touchstarting) touchstarting = clearTimeout(touchstarting);\n\n if (started) {\n if (g.taps < 2) touchfirst = p[0], touchstarting = setTimeout(function() { touchstarting = null; }, touchDelay);\n interrupt(this);\n g.start();\n }\n }\n\n function touchmoved(event, ...args) {\n if (!this.__zooming) return;\n var g = gesture(this, args).event(event),\n touches = event.changedTouches,\n n = touches.length, i, t, p, l;\n\n noevent(event);\n for (i = 0; i < n; ++i) {\n t = touches[i], p = pointer(t, this);\n if (g.touch0 && g.touch0[2] === t.identifier) g.touch0[0] = p;\n else if (g.touch1 && g.touch1[2] === t.identifier) g.touch1[0] = p;\n }\n t = g.that.__zoom;\n if (g.touch1) {\n var p0 = g.touch0[0], l0 = g.touch0[1],\n p1 = g.touch1[0], l1 = g.touch1[1],\n dp = (dp = p1[0] - p0[0]) * dp + (dp = p1[1] - p0[1]) * dp,\n dl = (dl = l1[0] - l0[0]) * dl + (dl = l1[1] - l0[1]) * dl;\n t = scale(t, Math.sqrt(dp / dl));\n p = [(p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2];\n l = [(l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2];\n }\n else if (g.touch0) p = g.touch0[0], l = g.touch0[1];\n else return;\n\n g.zoom(\"touch\", constrain(translate(t, p, l), g.extent, translateExtent));\n }\n\n function touchended(event, ...args) {\n if (!this.__zooming) return;\n var g = gesture(this, args).event(event),\n touches = event.changedTouches,\n n = touches.length, i, t;\n\n nopropagation(event);\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, touchDelay);\n for (i = 0; i < n; ++i) {\n t = touches[i];\n if (g.touch0 && g.touch0[2] === t.identifier) delete g.touch0;\n else if (g.touch1 && g.touch1[2] === t.identifier) delete g.touch1;\n }\n if (g.touch1 && !g.touch0) g.touch0 = g.touch1, delete g.touch1;\n if (g.touch0) g.touch0[1] = this.__zoom.invert(g.touch0[0]);\n else {\n g.end();\n // If this was a dbltap, reroute to the (optional) dblclick.zoom handler.\n if (g.taps === 2) {\n t = pointer(t, this);\n if (Math.hypot(touchfirst[0] - t[0], touchfirst[1] - t[1]) < tapDistance) {\n var p = select(this).on(\"dblclick.zoom\");\n if (p) p.apply(this, arguments);\n }\n }\n }\n }\n\n zoom.wheelDelta = function(_) {\n return arguments.length ? (wheelDelta = typeof _ === \"function\" ? _ : constant(+_), zoom) : wheelDelta;\n };\n\n zoom.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), zoom) : filter;\n };\n\n zoom.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), zoom) : touchable;\n };\n\n zoom.extent = function(_) {\n return arguments.length ? (extent = typeof _ === \"function\" ? _ : constant([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), zoom) : extent;\n };\n\n zoom.scaleExtent = function(_) {\n return arguments.length ? (scaleExtent[0] = +_[0], scaleExtent[1] = +_[1], zoom) : [scaleExtent[0], scaleExtent[1]];\n };\n\n zoom.translateExtent = function(_) {\n return arguments.length ? (translateExtent[0][0] = +_[0][0], translateExtent[1][0] = +_[1][0], translateExtent[0][1] = +_[0][1], translateExtent[1][1] = +_[1][1], zoom) : [[translateExtent[0][0], translateExtent[0][1]], [translateExtent[1][0], translateExtent[1][1]]];\n };\n\n zoom.constrain = function(_) {\n return arguments.length ? (constrain = _, zoom) : constrain;\n };\n\n zoom.duration = function(_) {\n return arguments.length ? (duration = +_, zoom) : duration;\n };\n\n zoom.interpolate = function(_) {\n return arguments.length ? (interpolate = _, zoom) : interpolate;\n };\n\n zoom.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? zoom : value;\n };\n\n zoom.clickDistance = function(_) {\n return arguments.length ? (clickDistance2 = (_ = +_) * _, zoom) : Math.sqrt(clickDistance2);\n };\n\n zoom.tapDistance = function(_) {\n return arguments.length ? (tapDistance = +_, zoom) : tapDistance;\n };\n\n return zoom;\n}\n","export {default as zoom} from \"./zoom.js\";\nexport {default as zoomTransform, identity as zoomIdentity} from \"./transform.js\";\n","import { hierarchy, stratify, tree, treemap } from \"d3-hierarchy\";\nimport { select, selectAll } from \"d3-selection\";\nimport { zoom } from \"d3-zoom\";\n\nexport default {\n hierarchy,\n stratify,\n tree,\n treemap,\n select,\n selectAll,\n zoom,\n};\n","import { ExtendedHierarchyPointNode, ITreeConfig } from \"./typings\";\n\nexport const getAreaSize = (htmlId: string) => {\n const SVGContainer = document.querySelector(`#${htmlId}`);\n if (SVGContainer === null) {\n throw new Error(`Cannot find dom element with id:${htmlId}`);\n }\n const areaWidth = SVGContainer.clientWidth;\n const areaHeight = SVGContainer.clientHeight;\n if (areaHeight === 0 || areaWidth === 0) {\n throw new Error(\n \"The tree can't be display because the svg height or width of the container is null\"\n );\n }\n return { areaWidth, areaHeight };\n};\n\ntype Result = ExtendedHierarchyPointNode & { x0: number; y0: number };\n\nexport const getFirstDisplayedAncestor = (\n ghostNodes: ExtendedHierarchyPointNode[],\n viewableNodes: ExtendedHierarchyPointNode[],\n id: string\n): Result => {\n try {\n // @ts-ignore\n const parentNode: Result = ghostNodes.find((node) => node.id === id);\n\n // @ts-ignore\n const parentNodeId: string = parentNode.ancestors()[1].id;\n const isPresentInOldNodes = viewableNodes.some(\n (oldNode) => oldNode.id === parentNodeId\n );\n\n if (isPresentInOldNodes) {\n return parentNode.ancestors()[1];\n } else {\n return getFirstDisplayedAncestor(ghostNodes, viewableNodes, parentNodeId);\n }\n } catch (e) {\n // @ts-ignore\n return ghostNodes.find((node) => node.id === id);\n }\n};\n\nexport const setNodeLocation = (\n xPosition: number,\n yPosition: number,\n settings: ITreeConfig\n) => {\n if (settings.isHorizontal) {\n return \"translate(\" + yPosition + \",\" + xPosition + \")\";\n } else {\n return \"translate(\" + xPosition + \",\" + yPosition + \")\";\n }\n};\n\n// RefreshQueue ensures that don't run a refresh while another refresh\n// is in transition.\nexport class RefreshQueue {\n // The queue is an array that contains objects. Each object represents an\n // refresh action and only they have 2 properties:\n // {\n // callback: triggers when it's the first of queue and then it\n // becomes null to prevent that callback executes more\n // than once.\n // delayNextCallback: when callback is executed, queue will subtracts\n // milliseconds from it. When it becomes 0, the entire\n // object is destroyed (shifted) from the array and then\n // the next item (if exists) will be executed similary\n // to this.\n // }\n private static queue: Array<{\n delayNextCallback: number;\n callback: any;\n }> = [];\n\n // Contains setInterval ID\n private static runner: number;\n\n // Milliseconds of each iteration\n private static runnerSpeed: number = 100;\n\n // Developer internal magic number. Time added at end of refresh transition to\n // let DOM and d3 rest before another refresh.\n // 0 creates console and visual errors because getFirstDisplayedAncestor never\n // found the needed id and setNodeLocation receives undefined parameters.\n // Between 50 and 100 milliseconds seems enough for 10 nodes (demo example)\n private static readonly extraDelayBetweenCallbacks: number = 100;\n\n // Developer internal for debugging RefreshQueue class. Set true to see\n // console \"real time\" queue of tasks.\n // If there is a cleaner method, remove it!\n private static showQueueLog: boolean = false;\n\n // Adds one refresh action to the queue. When safe callback will be\n // triggered\n public static add(duration: number, callback: () => any) {\n this.queue.push({\n delayNextCallback: duration + this.extraDelayBetweenCallbacks,\n callback: callback,\n });\n this.log(\n this.queue.map((_) => _.delayNextCallback),\n \"<-- New task !!!\"\n );\n if (!this.runner) {\n this.runnerFunction();\n //@ts-ignore\n this.runner = setInterval(() => this.runnerFunction(), this.runnerSpeed);\n }\n }\n\n // Each this.runnerSpeed milliseconds it's executed. It stops when finish.\n private static runnerFunction() {\n if (this.queue[0]) {\n // ************************ Callback section ************************\n if (this.queue[0].callback) {\n this.log(\"Executing task, delaying next task...\");\n try {\n this.queue[0].callback();\n } catch (e) {\n console.error(e);\n } finally {\n // To prevent trigger callback more than once\n this.queue[0].callback = null;\n }\n }\n // ******************** Delay until next callback ********************\n this.queue[0].delayNextCallback -= this.runnerSpeed;\n this.log(this.queue.map((_) => _.delayNextCallback));\n if (this.queue[0].delayNextCallback <= 0) {\n this.queue.shift();\n }\n } else {\n this.log(\"No task found\");\n clearInterval(this.runner);\n this.runner = 0;\n }\n }\n\n // Print to console debug data if this.showQueueLog = true\n private static log(...msg: any) {\n if (this.showQueueLog) console.log(...msg);\n }\n}\n","// Got to import d3 two times because of an issue with Webpack/Babel with d3.event\nimport { transform } from \"typescript\";\nimport d3 from \"./d3\";\nimport { ITreeConfig } from \"./typings\";\nimport { getAreaSize } from \"./utils\";\n\nexport const initiliazeSVG = (treeConfig: ITreeConfig) => {\n const {\n htmlId,\n isHorizontal,\n hasPanAndZoom,\n hasPan,\n hasZoom,\n mainAxisNodeSpacing,\n nodeHeight,\n nodeWidth,\n marginBottom,\n marginLeft,\n marginRight,\n marginTop,\n } = treeConfig;\n const margin = {\n top: marginTop,\n right: marginRight,\n bottom: marginBottom,\n left: marginLeft,\n };\n const { areaHeight, areaWidth } = getAreaSize(treeConfig.htmlId);\n const width = areaWidth - margin.left - margin.right;\n const height = areaHeight - margin.top - margin.bottom;\n\n const svg = d3\n .select(\"#\" + htmlId)\n .append(\"svg\")\n .attr(\"width\", areaWidth)\n .attr(\"height\", areaHeight);\n\n const [allowHasPan, allowHasZoom] = getHasPanAndZoom(\n hasPanAndZoom,\n hasPan,\n hasZoom\n );\n\n if (!allowHasPan) {\n svg\n .on(\"mousedown.zoom\", null)\n .on(\"touchstart.zoom\", null)\n .on(\"touchmove.zoom\", null)\n .on(\"touchend.zoom\", null);\n }\n\n if (!allowHasZoom) {\n svg\n .on(\"wheel.zoom\", null)\n .on(\"mousewheel.zoom\", null)\n .on(\"mousemove.zoom\", null)\n .on(\"DOMMouseScroll.zoom\", null)\n .on(\"dblclick.zoom\", null);\n }\n\n // Create a G container and move it according to the Zoom Behavior attached to the main element\n const ZoomContainer = svg.append(\"g\");\n const zoom = d3.zoom().on(\"zoom\", (e) => {\n ZoomContainer.attr(\"transform\", () => e.transform);\n });\n // @ts-ignore\n svg.call(zoom);\n\n const MainG = ZoomContainer.append(\"g\").attr(\n \"transform\",\n mainAxisNodeSpacing === \"auto\"\n ? \"translate(0,0)\"\n : isHorizontal\n ? \"translate(\" +\n margin.left +\n \",\" +\n (margin.top + height / 2 - nodeHeight / 2) +\n \")\"\n : \"translate(\" +\n (margin.left + width / 2 - nodeWidth / 2) +\n \",\" +\n margin.top +\n \")\"\n );\n return MainG;\n};\n\nconst getHasPanAndZoom = (\n hasPanAndZoom?: boolean,\n hasPan?: boolean,\n hasZoom?: boolean\n): [boolean, boolean] => {\n let hasPanAndZoomResult: [boolean, boolean] = [false, false];\n if (hasPanAndZoom === true || hasPanAndZoom === false) {\n hasPanAndZoomResult = [hasPanAndZoom, hasPanAndZoom];\n }\n if (hasPan === true || hasPan === false) hasPanAndZoomResult[0] = hasPan;\n if (hasZoom === true || hasZoom === false) hasPanAndZoomResult[1] = hasZoom;\n return hasPanAndZoomResult;\n};\n","import { ITreeConfig } from \"../typings\";\n\ninterface ICoordinates {\n x: number;\n y: number;\n}\n\nexport const generateLinkLayout = (\n s: ICoordinates, // source\n d: ICoordinates, // destination\n treeConfig: ITreeConfig\n): string => {\n const { isHorizontal, nodeHeight, nodeWidth, linkShape } = treeConfig;\n if (linkShape === \"orthogonal\") {\n if (isHorizontal) {\n return `M ${s.y} ${s.x + nodeHeight / 2}\n L ${(s.y + d.y + nodeWidth) / 2} ${s.x + nodeHeight / 2}\n L ${(s.y + d.y + nodeWidth) / 2} ${d.x + nodeHeight / 2}\n ${d.y + nodeWidth} ${d.x + nodeHeight / 2}`;\n } else {\n return `M ${s.x + nodeWidth / 2} ${s.y}\n L ${s.x + nodeWidth / 2} ${(s.y + d.y + nodeHeight) / 2}\n L ${d.x + nodeWidth / 2} ${(s.y + d.y + nodeHeight) / 2}\n ${d.x + nodeWidth / 2} ${d.y + nodeHeight} `;\n }\n } else if (linkShape === \"curve\") {\n if (isHorizontal) {\n return `M ${s.y} ${s.x + nodeHeight / 2}\n L ${s.y - (s.y - d.y - nodeWidth) / 2 + 15} ${s.x + nodeHeight / 2}\n Q${s.y - (s.y - d.y - nodeWidth) / 2} ${s.x + nodeHeight / 2}\n ${s.y - (s.y - d.y - nodeWidth) / 2} ${s.x +\n nodeHeight / 2 -\n offsetPosOrNeg(s.x, d.x, 15)}\n L ${s.y - (s.y - d.y - nodeWidth) / 2} ${d.x + nodeHeight / 2}\n L ${d.y + nodeWidth} ${d.x + nodeHeight / 2}`;\n } else {\n return `M ${s.x + nodeWidth / 2} ${s.y}\n L ${s.x + nodeWidth / 2} ${s.y - (s.y - d.y - nodeHeight) / 2 + 15}\n Q${s.x + nodeWidth / 2} ${s.y - (s.y - d.y - nodeHeight) / 2}\n ${s.x + nodeWidth / 2 - offsetPosOrNeg(s.x, d.x, 15)} ${s.y -\n (s.y - d.y - nodeHeight) / 2}\n L ${d.x + nodeWidth / 2} ${s.y - (s.y - d.y - nodeHeight) / 2} \n L ${d.x + nodeWidth / 2} ${d.y + nodeHeight} `;\n }\n } else {\n if (isHorizontal) {\n return `M ${s.y} ${s.x + nodeHeight / 2}\n C ${(s.y + d.y + nodeWidth) / 2} ${s.x + nodeHeight / 2}\n ${(s.y + d.y + nodeWidth) / 2} ${d.x + nodeHeight / 2}\n ${d.y + nodeWidth} ${d.x + nodeHeight / 2}`;\n } else {\n return `M ${s.x + nodeWidth / 2} ${s.y}\n C ${s.x + nodeWidth / 2} ${(s.y + d.y + nodeHeight) / 2}\n ${d.x + nodeWidth / 2} ${(s.y + d.y + nodeHeight) / 2}\n ${d.x + nodeWidth / 2} ${d.y + nodeHeight} `;\n }\n }\n};\n\nconst offsetPosOrNeg = (val1: number, val2: number, offset: number) =>\n val1 > val2 ? offset : val1 < val2 ? -offset : 0;\n","import { HierarchyPointNode } from \"d3-hierarchy\";\nimport { BaseType, Selection } from \"d3-selection\";\nimport { ExtendedHierarchyPointNode, ITreeConfig } from \"../typings\";\nimport { getFirstDisplayedAncestor } from \"../utils\";\nimport { generateLinkLayout } from \"./draw-links\";\n\nexport const drawLinkEnter = (\n link: Selection, SVGGElement, {}>,\n settings: ITreeConfig,\n nodes: ExtendedHierarchyPointNode[],\n oldNodes: ExtendedHierarchyPointNode[]\n) =>\n link\n .enter()\n .insert(\"path\", \"g\")\n .attr(\"class\", \"link\")\n .attr(\"d\", (d: any) => {\n const firstDisplayedParentNode = getFirstDisplayedAncestor(\n nodes,\n oldNodes,\n d.id\n );\n const o = {\n x: firstDisplayedParentNode.x0,\n y: firstDisplayedParentNode.y0,\n };\n return generateLinkLayout(o, o, settings);\n })\n .attr(\"fill\", \"none\")\n .attr(\"stroke-width\", ({ data }: { data: any }) => settings.linkWidth(data))\n .attr(\"stroke\", ({ data }: { data: any }) => settings.linkColor(data));\n","import { HierarchyPointNode } from \"d3-hierarchy\";\nimport { BaseType, Selection } from \"d3-selection\";\nimport { ExtendedHierarchyPointNode, ITreeConfig } from \"../typings\";\nimport { getFirstDisplayedAncestor } from \"../utils\";\nimport { generateLinkLayout } from \"./draw-links\";\n\nexport const drawLinkExit = (\n link: Selection, SVGGElement, {}>,\n settings: ITreeConfig,\n nodes: ExtendedHierarchyPointNode[],\n oldNodes: ExtendedHierarchyPointNode[]\n) => {\n link\n .exit()\n // @ts-ignore\n .transition()\n .duration(settings.duration)\n .style(\"opacity\", 0)\n .attr(\"d\", (d: any) => {\n const firstDisplayedParentNode = getFirstDisplayedAncestor(\n oldNodes,\n nodes,\n d.id\n );\n const o = {\n x: firstDisplayedParentNode.x0,\n y: firstDisplayedParentNode.y0,\n };\n return generateLinkLayout(o, o, settings);\n })\n .remove();\n};\n","import { HierarchyPointNode } from \"d3-hierarchy\";\nimport { BaseType, Selection } from \"d3-selection\";\nimport { ITreeConfig } from \"../typings\";\nimport { generateLinkLayout } from \"./draw-links\";\n\nexport const drawLinkUpdate = (\n linkEnter: Selection, SVGGElement, {}>,\n link: Selection, SVGGElement, {}>,\n settings: ITreeConfig\n) => {\n // @ts-ignore\n const linkUpdate = linkEnter.merge(link);\n\n linkUpdate\n // @ts-ignore\n .transition()\n .duration(settings.duration)\n .attr(\"d\", (d: any) => {\n return generateLinkLayout(d, d.parent, settings);\n })\n .attr(\"fill\", \"none\")\n .attr(\"stroke-width\", ({ data }: { data: any }) => settings.linkWidth(data))\n .attr(\"stroke\", ({ data }: { data: any }) => settings.linkColor(data));\n};\n","import { BaseType, Selection } from \"d3-selection\";\nimport { ExtendedHierarchyPointNode, ITreeConfig } from \"../typings\";\nimport { getFirstDisplayedAncestor, setNodeLocation } from \"../utils\";\n\nexport const drawNodeEnter = (\n node: Selection,\n settings: ITreeConfig,\n nodes: ExtendedHierarchyPointNode[],\n oldNodes: ExtendedHierarchyPointNode[]\n) => {\n const nodeEnter = node\n .enter()\n .append(\"g\")\n .attr(\"class\", \"node\")\n .attr(\"transform\", (d: any) => {\n const firstDisplayedParentNode = getFirstDisplayedAncestor(\n nodes,\n oldNodes,\n d.id\n );\n return setNodeLocation(\n firstDisplayedParentNode.x0,\n firstDisplayedParentNode.y0,\n settings\n );\n });\n\n nodeEnter\n .append(\"foreignObject\")\n .attr(\"width\", settings.nodeWidth)\n .attr(\"height\", settings.nodeHeight);\n\n return nodeEnter;\n};\n","import { BaseType, Selection } from \"d3-selection\";\nimport { ExtendedHierarchyPointNode, ITreeConfig } from \"../typings\";\nimport { getFirstDisplayedAncestor, setNodeLocation } from \"../utils\";\n\nexport const drawNodeExit = (\n node: Selection,\n settings: ITreeConfig,\n nodes: ExtendedHierarchyPointNode[],\n oldNodes: ExtendedHierarchyPointNode[]\n) => {\n const nodeExit = node\n .exit()\n // @ts-ignore\n .transition()\n .duration(settings.duration)\n .style(\"opacity\", 0)\n .attr(\"transform\", (d: any) => {\n const firstDisplayedParentNode = getFirstDisplayedAncestor(\n oldNodes,\n nodes,\n d.id\n );\n return setNodeLocation(\n firstDisplayedParentNode.x0,\n firstDisplayedParentNode.y0,\n settings\n );\n })\n .remove();\n\n nodeExit.select(\"rect\").style(\"fill-opacity\", 1e-6);\n nodeExit.select(\"circle\").attr(\"r\", 1e-6);\n nodeExit.select(\"text\").style(\"fill-opacity\", 1e-6);\n};\n","import { BaseType, Selection } from \"d3-selection\";\nimport { ExtendedHierarchyPointNode, ITreeConfig } from \"../typings\";\n\nexport const drawNodeUpdate = (\n nodeEnter: Selection<\n SVGGElement,\n ExtendedHierarchyPointNode,\n SVGGElement,\n {}\n >,\n node: Selection,\n settings: ITreeConfig\n) => {\n // @ts-ignore\n const nodeUpdate = nodeEnter.merge(node);\n nodeUpdate\n // @ts-ignore\n .transition()\n .duration(settings.duration)\n .attr(\"transform\", (d: any) => {\n return settings.isHorizontal\n ? \"translate(\" + d.y + \",\" + d.x + \")\"\n : \"translate(\" + d.x + \",\" + d.y + \")\";\n });\n\n nodeUpdate\n .select(\"foreignObject\")\n .attr(\"width\", settings.nodeWidth)\n .attr(\"height\", settings.nodeHeight)\n .style(\"overflow\", \"visible\")\n .on(\"click\", settings.onNodeClick)\n .on(\"mouseenter\", settings.onNodeMouseEnter)\n .on(\"mouseleave\", settings.onNodeMouseLeave)\n .html((d) => settings.renderNode({ ...d, settings }));\n};\n","import { HierarchyNode } from \"d3-hierarchy\";\nimport d3 from \"./d3\";\nimport { ITreeConfig } from \"./typings\";\nimport { getAreaSize } from \"./utils\";\n\nexport const generateNestedData = (\n data: any,\n treeConfig: ITreeConfig\n): HierarchyNode => {\n const { idKey, relationnalField, hasFlatData } = treeConfig;\n return hasFlatData\n ? d3\n .stratify()\n .id((d: any) => d[idKey])\n .parentId((d: any) => d[relationnalField])(data)\n : d3.hierarchy(data, d => d[relationnalField]);\n};\n\nexport const generateBasicTreemap = (treeConfig: ITreeConfig) => {\n const { areaHeight, areaWidth } = getAreaSize(treeConfig.htmlId);\n return treeConfig.mainAxisNodeSpacing === \"auto\" && treeConfig.isHorizontal\n ? d3\n .tree()\n .size([\n areaHeight - treeConfig.nodeHeight,\n areaWidth - treeConfig.nodeWidth,\n ])\n : treeConfig.mainAxisNodeSpacing === \"auto\" && !treeConfig.isHorizontal\n ? d3\n .tree()\n .size([\n areaWidth - treeConfig.nodeWidth,\n areaHeight - treeConfig.nodeHeight,\n ])\n : treeConfig.isHorizontal === true\n ? d3\n .tree()\n .nodeSize([\n treeConfig.nodeHeight * treeConfig.secondaryAxisNodeSpacing,\n treeConfig.nodeWidth,\n ])\n : d3\n .tree()\n .nodeSize([\n treeConfig.nodeWidth * treeConfig.secondaryAxisNodeSpacing,\n treeConfig.nodeHeight,\n ]);\n};\n","import { HierarchyPointNode } from \"d3-hierarchy\";\nimport { Selection } from \"d3-selection\";\nimport { initiliazeSVG } from \"./initializeSVG\";\nimport { drawLinkEnter } from \"./links/link-enter\";\nimport { drawLinkExit } from \"./links/link-exit\";\nimport { drawLinkUpdate } from \"./links/link-update\";\nimport { drawNodeEnter } from \"./nodes/node-enter\";\nimport { drawNodeExit } from \"./nodes/node-exit\";\nimport { drawNodeUpdate } from \"./nodes/node-update\";\nimport { generateBasicTreemap, generateNestedData } from \"./prepare-data\";\nimport { ExtendedHierarchyPointNode, ITreeConfig } from \"./typings\";\nimport { RefreshQueue } from \"./utils\";\n\nexport function create(userSettings: Partial) {\n const defaultSettings: ITreeConfig = {\n htmlId: \"\",\n idKey: \"id\",\n relationnalField: \"father\",\n hasFlatData: true,\n nodeWidth: 160,\n nodeHeight: 100,\n mainAxisNodeSpacing: 300,\n renderNode: () => \"Node\",\n linkColor: () => \"#ffcc80\",\n linkWidth: () => 10,\n linkShape: \"quadraticBeziers\",\n isHorizontal: true,\n hasPanAndZoom: false,\n duration: 600,\n onNodeClick: () => undefined,\n onNodeMouseEnter: () => undefined,\n onNodeMouseLeave: () => undefined,\n marginBottom: 0,\n marginLeft: 0,\n marginRight: 0,\n marginTop: 0,\n secondaryAxisNodeSpacing: 1.25,\n };\n let settings: ITreeConfig = {\n ...defaultSettings,\n ...userSettings,\n };\n if (typeof userSettings.hasPanAndZoom !== \"undefined\") {\n console.warn(\n \"[DEPRECATED] hasPanAndZoom is deprecated and will be removed in treeviz version 3. Use hasPan and hasZoom instead\"\n );\n }\n let oldNodes: ExtendedHierarchyPointNode[] = [];\n\n function draw(\n svg: Selection,\n computedTree: HierarchyPointNode<{}>\n ) {\n const nodes = computedTree.descendants() as ExtendedHierarchyPointNode[];\n\n const links = computedTree.descendants().slice(1);\n\n const { mainAxisNodeSpacing: mainAxisNodeSpacing } = settings;\n if (mainAxisNodeSpacing !== \"auto\") {\n // Normalize for fixed-depth.\n nodes.forEach((d: any) => {\n d.y = d.depth * settings.nodeWidth * mainAxisNodeSpacing;\n });\n }\n\n nodes.forEach((currentNode: ExtendedHierarchyPointNode) => {\n const currentNodeOldPosition = oldNodes.find(\n (node) => node.id === currentNode.id\n );\n currentNode.x0 = currentNodeOldPosition\n ? currentNodeOldPosition.x0\n : currentNode.x;\n currentNode.y0 = currentNodeOldPosition\n ? currentNodeOldPosition.y0\n : currentNode.y;\n });\n\n // ****************** Nodes section ***************************\n const node = svg.selectAll(\"g.node\").data(nodes, (d: any) => {\n return d[settings.idKey];\n });\n\n const nodeEnter = drawNodeEnter(node, settings, nodes, oldNodes);\n drawNodeUpdate(nodeEnter, node, settings);\n drawNodeExit(node, settings, nodes, oldNodes);\n\n // ****************** links section ***************************\n\n const link = svg.selectAll(\"path.link\").data(links, (d: any) => {\n return d.id;\n });\n\n const linkEnter = drawLinkEnter(link, settings, nodes, oldNodes);\n drawLinkUpdate(linkEnter, link, settings);\n drawLinkExit(link, settings, nodes, oldNodes);\n\n oldNodes = [...nodes];\n }\n\n function refresh(data: any, newSettings?: Partial) {\n RefreshQueue.add(settings.duration, () => {\n if (newSettings) {\n settings = { ...settings, ...newSettings };\n }\n const nestedData = generateNestedData(data, settings);\n const treemap = generateBasicTreemap(settings);\n const computedTree = treemap(nestedData); // mutation\n\n // @ts-ignore\n draw(svg, computedTree);\n });\n }\n\n function clean(keepConfig: boolean) {\n const myNode = keepConfig\n ? document.querySelector(`#${settings.htmlId} svg g`)\n : document.querySelector(`#${settings.htmlId}`);\n if (myNode) {\n while (myNode.firstChild) {\n myNode.removeChild(myNode.firstChild);\n }\n }\n oldNodes = [];\n }\n\n const treeObject = { refresh, clean };\n\n const svg = initiliazeSVG(settings);\n return treeObject;\n}\n"]} \ No newline at end of file diff --git a/front/lib/AdminLTE/@eaDir/index.js@SynoEAStream b/front/lib/treeviz/@eaDir/index.js@SynoEAStream similarity index 100% rename from front/lib/AdminLTE/@eaDir/index.js@SynoEAStream rename to front/lib/treeviz/@eaDir/index.js@SynoEAStream diff --git a/front/lib/AdminLTE/@eaDir/require.js@SynoEAStream b/front/lib/treeviz/@eaDir/require.js@SynoEAStream similarity index 100% rename from front/lib/AdminLTE/@eaDir/require.js@SynoEAStream rename to front/lib/treeviz/@eaDir/require.js@SynoEAStream diff --git a/front/lib/AdminLTE/index.js b/front/lib/treeviz/index.js similarity index 100% rename from front/lib/AdminLTE/index.js rename to front/lib/treeviz/index.js diff --git a/front/lib/AdminLTE/require.js b/front/lib/treeviz/require.js similarity index 100% rename from front/lib/AdminLTE/require.js rename to front/lib/treeviz/require.js diff --git a/front/network.php b/front/network.php index e055e1d0..2a75362c 100755 --- a/front/network.php +++ b/front/network.php @@ -449,8 +449,8 @@ require 'php/templates/footer.php'; ?> - - + +