@carbon/charts-react 1.13.7 → 1.13.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/index.mjs +114 -121
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +88 -0
- package/dist/styles.css.map +1 -1
- package/dist/styles.min.css +1 -1
- package/dist/styles.min.css.map +1 -1
- package/package.json +17 -24
- package/dist/index.js +0 -114
- package/dist/index.js.map +0 -1
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../core/dist/enums-a96ef472.mjs","../../../node_modules/d3-array/src/ascending.js","../../../node_modules/d3-array/src/descending.js","../../../node_modules/d3-array/src/bisector.js","../../../node_modules/d3-array/src/number.js","../../../node_modules/d3-array/src/bisect.js","../../../node_modules/d3-array/src/count.js","../../../node_modules/d3-array/src/extent.js","../../../node_modules/d3-array/src/fsum.js","../../../node_modules/d3-array/node_modules/internmap/src/index.js","../../../node_modules/d3-array/src/identity.js","../../../node_modules/d3-array/src/sort.js","../../../node_modules/d3-array/src/array.js","../../../node_modules/d3-array/src/constant.js","../../../node_modules/d3-array/src/ticks.js","../../../node_modules/d3-array/src/nice.js","../../../node_modules/d3-array/src/threshold/sturges.js","../../../node_modules/d3-array/src/bin.js","../../../node_modules/d3-array/src/max.js","../../../node_modules/d3-array/src/min.js","../../../node_modules/d3-array/src/quickselect.js","../../../node_modules/d3-array/src/quantile.js","../../../node_modules/d3-array/src/merge.js","../../../node_modules/d3-array/src/range.js","../../../node_modules/d3-axis/src/identity.js","../../../node_modules/d3-axis/src/axis.js","../../../node_modules/d3-dispatch/src/dispatch.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/sourceEvent.js","../../../node_modules/d3-selection/src/pointer.js","../../../node_modules/d3-drag/src/noevent.js","../../../node_modules/d3-drag/src/nodrag.js","../../../node_modules/d3-color/src/define.js","../../../node_modules/d3-color/src/color.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/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/quantize.js","../../../node_modules/d3-timer/src/timer.js","../../../node_modules/d3-timer/src/timeout.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/cubic.js","../../../node_modules/d3-transition/src/selection/transition.js","../../../node_modules/d3-transition/src/selection/index.js","../../../node_modules/d3-brush/src/constant.js","../../../node_modules/d3-brush/src/event.js","../../../node_modules/d3-brush/src/noevent.js","../../../node_modules/d3-brush/src/brush.js","../../../node_modules/d3-path/src/path.js","../../../node_modules/d3-format/src/formatDecimal.js","../../../node_modules/d3-format/src/exponent.js","../../../node_modules/d3-format/src/formatGroup.js","../../../node_modules/d3-format/src/formatNumerals.js","../../../node_modules/d3-format/src/formatSpecifier.js","../../../node_modules/d3-format/src/formatTrim.js","../../../node_modules/d3-format/src/formatPrefixAuto.js","../../../node_modules/d3-format/src/formatRounded.js","../../../node_modules/d3-format/src/formatTypes.js","../../../node_modules/d3-format/src/identity.js","../../../node_modules/d3-format/src/locale.js","../../../node_modules/d3-format/src/defaultLocale.js","../../../node_modules/d3-format/src/precisionFixed.js","../../../node_modules/d3-format/src/precisionPrefix.js","../../../node_modules/d3-format/src/precisionRound.js","../../../node_modules/d3-geo/src/math.js","../../../node_modules/d3-geo/src/noop.js","../../../node_modules/d3-geo/src/stream.js","../../../node_modules/d3-geo/src/cartesian.js","../../../node_modules/d3-geo/src/compose.js","../../../node_modules/d3-geo/src/rotation.js","../../../node_modules/d3-geo/src/circle.js","../../../node_modules/d3-geo/src/clip/buffer.js","../../../node_modules/d3-geo/src/pointEqual.js","../../../node_modules/d3-geo/src/clip/rejoin.js","../../../node_modules/d3-geo/src/polygonContains.js","../../../node_modules/d3-geo/src/clip/index.js","../../../node_modules/d3-geo/src/clip/antimeridian.js","../../../node_modules/d3-geo/src/clip/circle.js","../../../node_modules/d3-geo/src/clip/line.js","../../../node_modules/d3-geo/src/clip/rectangle.js","../../../node_modules/d3-geo/src/identity.js","../../../node_modules/d3-geo/src/path/area.js","../../../node_modules/d3-geo/src/path/bounds.js","../../../node_modules/d3-geo/src/path/centroid.js","../../../node_modules/d3-geo/src/path/context.js","../../../node_modules/d3-geo/src/path/measure.js","../../../node_modules/d3-geo/src/path/string.js","../../../node_modules/d3-geo/src/path/index.js","../../../node_modules/d3-geo/src/transform.js","../../../node_modules/d3-geo/src/projection/fit.js","../../../node_modules/d3-geo/src/projection/resample.js","../../../node_modules/d3-geo/src/projection/index.js","../../../node_modules/d3-geo/src/projection/conic.js","../../../node_modules/d3-geo/src/projection/cylindricalEqualArea.js","../../../node_modules/d3-geo/src/projection/conicEqualArea.js","../../../node_modules/d3-geo/src/projection/albers.js","../../../node_modules/d3-geo/src/projection/mercator.js","../../../node_modules/d3-geo/src/projection/equirectangular.js","../../../node_modules/d3-geo/src/projection/conicEquidistant.js","../../../node_modules/d3-geo/src/projection/equalEarth.js","../../../node_modules/d3-geo/src/projection/naturalEarth1.js","../../../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/accessors.js","../../../node_modules/d3-hierarchy/src/constant.js","../../../node_modules/d3-hierarchy/src/lcg.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/pack/index.js","../../../node_modules/d3-hierarchy/src/treemap/round.js","../../../node_modules/d3-hierarchy/src/treemap/dice.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-scale/src/init.js","../../../node_modules/d3-scale/src/ordinal.js","../../../node_modules/d3-scale/src/band.js","../../../node_modules/d3-scale/src/constant.js","../../../node_modules/d3-scale/src/number.js","../../../node_modules/d3-scale/src/continuous.js","../../../node_modules/d3-scale/src/tickFormat.js","../../../node_modules/d3-scale/src/linear.js","../../../node_modules/d3-scale/src/nice.js","../../../node_modules/d3-scale/src/log.js","../../../node_modules/d3-scale/src/quantize.js","../../../node_modules/d3-time/src/interval.js","../../../node_modules/d3-time/src/millisecond.js","../../../node_modules/d3-time/src/duration.js","../../../node_modules/d3-time/src/second.js","../../../node_modules/d3-time/src/minute.js","../../../node_modules/d3-time/src/hour.js","../../../node_modules/d3-time/src/day.js","../../../node_modules/d3-time/src/week.js","../../../node_modules/d3-time/src/month.js","../../../node_modules/d3-time/src/year.js","../../../node_modules/d3-time/src/ticks.js","../../../node_modules/d3-time-format/src/locale.js","../../../node_modules/d3-time-format/src/defaultLocale.js","../../../node_modules/d3-scale/src/time.js","../../../node_modules/d3/node_modules/d3-shape/src/constant.js","../../../node_modules/d3/node_modules/d3-shape/src/math.js","../../../node_modules/d3/node_modules/d3-shape/src/path.js","../../../node_modules/d3/node_modules/d3-shape/src/arc.js","../../../node_modules/d3/node_modules/d3-shape/src/array.js","../../../node_modules/d3/node_modules/d3-shape/src/curve/linear.js","../../../node_modules/d3/node_modules/d3-shape/src/point.js","../../../node_modules/d3/node_modules/d3-shape/src/line.js","../../../node_modules/d3/node_modules/d3-shape/src/area.js","../../../node_modules/d3/node_modules/d3-shape/src/descending.js","../../../node_modules/d3/node_modules/d3-shape/src/identity.js","../../../node_modules/d3/node_modules/d3-shape/src/pie.js","../../../node_modules/d3/node_modules/d3-shape/src/curve/radial.js","../../../node_modules/d3/node_modules/d3-shape/src/lineRadial.js","../../../node_modules/d3/node_modules/d3-shape/src/curve/bump.js","../../../node_modules/d3/node_modules/d3-shape/src/link.js","../../../node_modules/d3/node_modules/d3-shape/src/noop.js","../../../node_modules/d3/node_modules/d3-shape/src/curve/basis.js","../../../node_modules/d3/node_modules/d3-shape/src/curve/basisClosed.js","../../../node_modules/d3/node_modules/d3-shape/src/curve/basisOpen.js","../../../node_modules/d3/node_modules/d3-shape/src/curve/bundle.js","../../../node_modules/d3/node_modules/d3-shape/src/curve/cardinal.js","../../../node_modules/d3/node_modules/d3-shape/src/curve/cardinalClosed.js","../../../node_modules/d3/node_modules/d3-shape/src/curve/cardinalOpen.js","../../../node_modules/d3/node_modules/d3-shape/src/curve/catmullRom.js","../../../node_modules/d3/node_modules/d3-shape/src/curve/catmullRomClosed.js","../../../node_modules/d3/node_modules/d3-shape/src/curve/catmullRomOpen.js","../../../node_modules/d3/node_modules/d3-shape/src/curve/linearClosed.js","../../../node_modules/d3/node_modules/d3-shape/src/curve/monotone.js","../../../node_modules/d3/node_modules/d3-shape/src/curve/natural.js","../../../node_modules/d3/node_modules/d3-shape/src/curve/step.js","../../../node_modules/d3/node_modules/d3-shape/src/offset/none.js","../../../node_modules/d3/node_modules/d3-shape/src/order/none.js","../../../node_modules/d3/node_modules/d3-shape/src/stack.js","../../../node_modules/d3/node_modules/d3-shape/src/offset/diverging.js","../../../node_modules/d3-zoom/src/transform.js","../../core/dist/color-scale-utils-2eb80bd2.mjs","../../core/dist/a11y-7bad4f48.mjs","../../core/dist/_baseEach-8433307e.mjs","../../core/dist/model/index.mjs","../../core/dist/angle-utils-8034b0e5.mjs","../../../node_modules/d3-sankey/node_modules/d3-array/src/max.js","../../../node_modules/d3-sankey/node_modules/d3-array/src/min.js","../../../node_modules/d3-sankey/node_modules/d3-array/src/sum.js","../../../node_modules/d3-sankey/src/align.js","../../../node_modules/d3-sankey/src/constant.js","../../../node_modules/d3-sankey/src/sankey.js","../../../node_modules/d3-shape/node_modules/d3-path/src/path.js","../../../node_modules/d3-shape/src/constant.js","../../../node_modules/d3-shape/src/point.js","../../../node_modules/d3-shape/src/array.js","../../../node_modules/d3-shape/src/link/index.js","../../../node_modules/d3-sankey/src/sankeyLinkHorizontal.js","../../../node_modules/d3-cloud/node_modules/d3-dispatch/src/dispatch.js","../../../node_modules/d3-cloud/index.js","../../core/dist/choropleth-d532597d.mjs","../../core/dist/index-e91144ae.mjs","../../core/dist/index.mjs","../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/react/jsx-runtime.js","../src/charts/BaseChart.tsx","../src/charts/AlluvialChart.tsx","../src/charts/AreaChart.tsx","../src/charts/BoxplotChart.tsx","../src/charts/BubbleChart.tsx","../src/charts/BulletChart.tsx","../src/charts/ChoroplethChart.tsx","../src/charts/CirclePackChart.tsx","../src/charts/ComboChart.tsx","../src/charts/DonutChart.tsx","../src/charts/GaugeChart.tsx","../src/charts/GroupedBarChart.tsx","../src/charts/HeatmapChart.tsx","../src/charts/HistogramChart.tsx","../src/charts/LineChart.tsx","../src/charts/LollipopChart.tsx","../src/charts/MeterChart.tsx","../src/charts/PieChart.tsx","../src/charts/RadarChart.tsx","../src/charts/ScatterChart.tsx","../src/charts/SimpleBarChart.tsx","../src/charts/StackedAreaChart.tsx","../src/charts/StackedBarChart.tsx","../src/charts/TreeChart.tsx","../src/charts/TreemapChart.tsx","../src/charts/WordCloudChart.tsx","../../../node_modules/classnames/index.js","../src/diagrams/utils.ts","../src/diagrams/CardNode.tsx","../src/diagrams/CardNodeColumn.tsx","../src/diagrams/CardNodeLabel.tsx","../src/diagrams/CardNodeSubtitle.tsx","../src/diagrams/CardNodeTitle.tsx","../src/diagrams/Edge.tsx","../src/diagrams/Marker.tsx","../src/diagrams/ShapeNode.tsx"],"sourcesContent":["var r = /* @__PURE__ */ ((E) => (E.RENDER_FINISHED = \"render-finished\", E.RESIZE = \"chart-resize\", E.MOUSEOVER = \"chart-mouseover\", E.MOUSEOUT = \"chart-mouseout\", E))(r || {}), e = /* @__PURE__ */ ((E) => (E.SHOW = \"show-modal\", E.HIDE = \"hide-modal\", E))(e || {}), O = /* @__PURE__ */ ((E) => (E.UPDATE = \"model-update\", E))(O || {}), a = /* @__PURE__ */ ((E) => (E.SHOW_OVERFLOW_MENU = \"show-toolbar-overflow-menu\", E.HIDE_OVERFLOW_MENU = \"hide-toolbar-overflow-menu\", E.BUTTON_CLICK = \"toolbar-button-click\", E))(a || {}), u = /* @__PURE__ */ ((E) => (E.UPDATE = \"zoom-bar-update\", E.SELECTION_START = \"zoom-bar-selection-start\", E.SELECTION_IN_PROGRESS = \"zoom-bar-selection-in-progress\", E.SELECTION_END = \"zoom-bar-selection-end\", E))(u || {}), o = /* @__PURE__ */ ((E) => (E.CHANGE = \"zoom-domain-change\", E))(o || {}), _ = /* @__PURE__ */ ((E) => (E.CANVAS_ZOOM_IN = \"canvas-zoom-in\", E.CANVAS_ZOOM_OUT = \"canvas-zoom-out\", E))(_ || {}), t = /* @__PURE__ */ ((E) => (E.LABEL_MOUSEOVER = \"axis-label-mouseover\", E.LABEL_MOUSEMOVE = \"axis-label-mousemove\", E.LABEL_CLICK = \"axis-label-click\", E.LABEL_MOUSEOUT = \"axis-label-mouseout\", E.LABEL_FOCUS = \"axis-label-focus\", E.LABEL_BLUR = \"axis-label-blur\", E.RENDER_COMPLETE = \"axis-render-complete\", E))(t || {}), R = /* @__PURE__ */ ((E) => (E.POINT_MOUSEOVER = \"scatter-mouseover\", E.POINT_MOUSEMOVE = \"scatter-mousemove\", E.POINT_CLICK = \"scatter-click\", E.POINT_MOUSEOUT = \"scatter-mouseout\", E))(R || {}), s = /* @__PURE__ */ ((E) => (E.WORD_MOUSEOVER = \"wordcloud-word-mouseover\", E.WORD_MOUSEMOVE = \"wordcloud-word-mousemove\", E.WORD_CLICK = \"wordcloud-word-click\", E.WORD_MOUSEOUT = \"wordcloud-word-mouseout\", E))(s || {}), M = /* @__PURE__ */ ((E) => (E.SLICE_MOUSEOVER = \"pie-slice-mouseover\", E.SLICE_MOUSEMOVE = \"pie-slice-mousemove\", E.SLICE_CLICK = \"pie-slice-click\", E.SLICE_MOUSEOUT = \"pie-slice-mouseout\", E))(M || {}), v = /* @__PURE__ */ ((E) => (E.ARC_MOUSEOVER = \"gauge-arc-mouseover\", E.ARC_MOUSEMOVE = \"gauge-arc-mousemove\", E.ARC_CLICK = \"gauge-arc-click\", E.ARC_MOUSEOUT = \"gauge-arc-mouseout\", E))(v || {}), U = /* @__PURE__ */ ((E) => (E.BAR_MOUSEOVER = \"bar-mouseover\", E.BAR_MOUSEMOVE = \"bar-mousemove\", E.BAR_CLICK = \"bar-click\", E.BAR_MOUSEOUT = \"bar-mouseout\", E))(U || {}), S = /* @__PURE__ */ ((E) => (E.BOX_MOUSEOVER = \"box-mouseover\", E.BOX_MOUSEMOVE = \"box-mousemove\", E.BOX_CLICK = \"box-click\", E.BOX_MOUSEOUT = \"box-mouseout\", E.OUTLIER_MOUSEOVER = \"outlier-mouseover\", E.OUTLIER_MOUSEMOVE = \"outlier-mousemove\", E.OUTLIER_CLICK = \"outlier-click\", E.OUTLIER_MOUSEOUT = \"outlier-mouseout\", E))(S || {}), I = /* @__PURE__ */ ((E) => (E.SCATTER_MOUSEOVER = \"scatter-mouseover\", E.SCATTER_MOUSEMOVE = \"scatter-mousemove\", E.SCATTER_CLICK = \"scatter-click\", E.SCATTER_MOUSEOUT = \"scatter-mouseout\", E))(I || {}), m = /* @__PURE__ */ ((E) => (E.POINT_MOUSEOVER = \"scatter-mouseover\", E.POINT_MOUSEMOVE = \"scatter-mousemove\", E.POINT_CLICK = \"scatter-click\", E.POINT_MOUSEOUT = \"scatter-mouseout\", E))(m || {}), l = /* @__PURE__ */ ((E) => (E.X_AXIS_MOUSEOVER = \"radar-x-axis-mouseover\", E.X_AXIS_MOUSEMOVE = \"radar-x-axis-mousemove\", E.X_AXIS_CLICK = \"radar-x-axis-click\", E.X_AXIS_MOUSEOUT = \"radar-x-axis-mouseout\", E))(l || {}), c = /* @__PURE__ */ ((E) => (E.NODE_MOUSEOVER = \"tree-node-mouseover\", E.NODE_CLICK = \"tree-node-click\", E.NODE_MOUSEOUT = \"tree-node-mouseout\", E))(c || {}), L = /* @__PURE__ */ ((E) => (E.LEAF_MOUSEOVER = \"leaf-mouseover\", E.LEAF_MOUSEMOVE = \"leaf-mousemove\", E.LEAF_CLICK = \"leaf-click\", E.LEAF_MOUSEOUT = \"leaf-mouseout\", E))(L || {}), N = /* @__PURE__ */ ((E) => (E.SHOW = \"show-tooltip\", E.MOVE = \"move-tooltip\", E.HIDE = \"hide-tooltip\", E))(N || {}), n = /* @__PURE__ */ ((E) => (E.SHOW = \"show-threshold\", E.HIDE = \"hide-threshold\", E))(n || {}), A = /* @__PURE__ */ ((E) => (E.ITEM_HOVER = \"legend-item-onhover\", E.ITEM_CLICK = \"legend-item-onclick\", E.ITEM_MOUSEOUT = \"legend-item-onmouseout\", E.ITEMS_UPDATE = \"legend-items-update\", E))(A || {}), C = /* @__PURE__ */ ((E) => (E.CIRCLE_MOUSEOVER = \"circle-leaf-mouseover\", E.CIRCLE_CLICK = \"circle-leaf-click\", E.CIRCLE_MOUSEOUT = \"circle-leaf-mouseout\", E.CIRCLE_MOUSEMOVE = \"circle-leaf-mousemove\", E))(C || {}), T = /* @__PURE__ */ ((E) => (E.NODE_MOUSEOVER = \"alluvial-node-mouseover\", E.NODE_CLICK = \"alluvial-node-click\", E.NODE_MOUSEOUT = \"alluvial-node-mouseout\", E.NODE_MOUSEMOVE = \"alluvial-node-mousemove\", E.LINE_MOUSEOVER = \"alluvial-line-mouseover\", E.LINE_CLICK = \"alluvial-line-click\", E.LINE_MOUSEOUT = \"alluvial-line-mouseout\", E.LINE_MOUSEMOVE = \"alluvial-line-mousemove\", E))(T || {}), V = /* @__PURE__ */ ((E) => (E.METER_MOUSEOVER = \"meter-mouseover\", E.METER_CLICK = \"meter-click\", E.METER_MOUSEOUT = \"meter-mouseout\", E.METER_MOUSEMOVE = \"meter-mousemove\", E))(V || {}), i = /* @__PURE__ */ ((E) => (E.HEATMAP_MOUSEOVER = \"heatmap-mouseover\", E.HEATMAP_CLICK = \"heatmap-click\", E.HEATMAP_MOUSEOUT = \"heatmap-mouseout\", E.HEATMAP_MOUSEMOVE = \"hetmap-mousemove\", E))(i || {}), d = /* @__PURE__ */ ((E) => (E.CHOROPLETH_MOUSEOVER = \"choropleth-mouseover\", E.CHOROPLETH_CLICK = \"choropleth-click\", E.CHOROPLETH_MOUSEOUT = \"choropleth-mouseout\", E.CHOROPLETH_MOUSEMOVE = \"choropleth-mousemove\", E))(d || {});\nconst H = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n Alluvial: T,\n Area: R,\n Axis: t,\n Bar: U,\n Boxplot: S,\n CanvasZoom: _,\n Chart: r,\n Choropleth: d,\n CirclePack: C,\n Gauge: v,\n Heatmap: i,\n Legend: A,\n Line: m,\n Meter: V,\n Modal: e,\n Model: O,\n Pie: M,\n Radar: l,\n Scatter: I,\n Threshold: n,\n Toolbar: a,\n Tooltip: N,\n Tree: c,\n Treemap: L,\n WordCloud: s,\n ZoomBar: u,\n ZoomDomain: o\n}, Symbol.toStringTag, { value: \"Module\" })), oE = H;\nvar D = /* @__PURE__ */ ((E) => (E.HTML = \"html\", E.SVG = \"svg\", E))(D || {}), g = /* @__PURE__ */ ((E) => (E.WHITE = \"white\", E.G100 = \"g100\", E.G90 = \"g90\", E.G10 = \"g10\", E))(g || {}), b = /* @__PURE__ */ ((E) => (E.BACKGROUND = \"background\", E.FILL = \"fill\", E.STROKE = \"stroke\", E.TOOLTIP = \"tooltip\", E))(b || {}), f = /* @__PURE__ */ ((E) => (E.LEFT = \"left\", E.RIGHT = \"right\", E.TOP = \"top\", E.BOTTOM = \"bottom\", E))(f || {}), K = /* @__PURE__ */ ((E) => (E.GRAPH_VIEW = \"graph_view\", E.SLIDER_VIEW = \"slider_view\", E))(K || {}), h = /* @__PURE__ */ ((E) => (E.END_LINE = \"end_line\", E.MID_LINE = \"mid_line\", E.FRONT_LINE = \"front_line\", E.NONE = \"none\", E))(h || {}), F = /* @__PURE__ */ ((E) => (E.VERTICAL = \"vertical\", E.HORIZONTAL = \"horizontal\", E))(F || {}), w = /* @__PURE__ */ ((E) => (E.TIME = \"time\", E.LINEAR = \"linear\", E.LOG = \"log\", E.LABELS = \"labels\", E.LABELS_RATIO = \"labels-ratio\", E))(w || {}), P = /* @__PURE__ */ ((E) => (E.RIGHT = \"right\", E.LEFT = \"left\", E.TOP = \"top\", E.BOTTOM = \"bottom\", E))(P || {}), k = /* @__PURE__ */ ((E) => (E.LEFT = \"left\", E.CENTER = \"center\", E.RIGHT = \"right\", E))(k || {}), G = /* @__PURE__ */ ((E) => (E.HORIZONTAL = \"horizontal\", E.VERTICAL = \"vertical\", E))(G || {}), X = /* @__PURE__ */ ((E) => (E.TREE = \"tree\", E.DENDROGRAM = \"dendrogram\", E))(X || {}), z = /* @__PURE__ */ ((E) => (E.ROW = \"row\", E.COLUMN = \"column\", E.ROW_REVERSE = \"row-reverse\", E.COLUMN_REVERSE = \"column-reverse\", E))(z || {}), W = /* @__PURE__ */ ((E) => (E.FIXED = \"fixed\", E.PREFERRED = \"preferred\", E.STRETCH = \"stretch\", E))(W || {}), B = /* @__PURE__ */ ((E) => (E.CENTER = \"center\", E))(B || {}), q = /* @__PURE__ */ ((E) => (E.LEFT = \"left\", E.RIGHT = \"right\", E))(q || {}), Z = /* @__PURE__ */ ((E) => (E.GRID = \"grid\", E.VERT_OR_HORIZ = \"vertOrHoriz\", E.PIE = \"pie\", E.DONUT = \"donut\", E))(Z || {}), x = /* @__PURE__ */ ((E) => (E.START = \"start\", E.MIDDLE = \"middle\", E.END = \"end\", E))(x || {}), J = /* @__PURE__ */ ((E) => (E.BASELINE = \"baseline\", E.MIDDLE = \"middle\", E.HANGING = \"hanging\", E))(J || {}), Q = /* @__PURE__ */ ((E) => (E.SEMI = \"semi\", E.FULL = \"full\", E))(Q || {}), Y = /* @__PURE__ */ ((E) => (E.UP = \"up\", E.DOWN = \"down\", E))(Y || {}), $ = /* @__PURE__ */ ((E) => (E.SUCCESS = \"success\", E.WARNING = \"warning\", E.DANGER = \"danger\", E))($ || {}), j = /* @__PURE__ */ ((E) => (E.ALWAYS = \"always\", E.AUTO = \"auto\", E.NEVER = \"never\", E))(j || {}), p = /* @__PURE__ */ ((E) => (E.SCATTER = \"scatter\", E.LINE = \"line\", E.SIMPLE_BAR = \"simple-bar\", E.STACKED_BAR = \"stacked-bar\", E.GROUPED_BAR = \"grouped-bar\", E.AREA = \"area\", E.STACKED_AREA = \"stacked-area\", E))(p || {}), y = /* @__PURE__ */ ((E) => (E.EXPORT_CSV = \"Export as CSV\", E.EXPORT_PNG = \"Export as PNG\", E.EXPORT_JPG = \"Export as JPG\", E.ZOOM_IN = \"Zoom in\", E.ZOOM_OUT = \"Zoom out\", E.RESET_ZOOM = \"Reset zoom\", E.MAKE_FULLSCREEN = \"Make fullscreen\", E.SHOW_AS_DATATABLE = \"Show as data-table\", E.CUSTOM = \"Custom\", E))(y || {}), EE = /* @__PURE__ */ ((E) => (E.LEFT = \"left\", E.RIGHT = \"right\", E))(EE || {}), rE = /* @__PURE__ */ ((E) => (E.CHECKBOX = \"checkbox\", E.RADIUS = \"radius\", E.AREA = \"area\", E.SIZE = \"size\", E.LINE = \"line\", E.QUARTILE = \"quartile\", E.ZOOM = \"zoom\", E))(rE || {}), eE = /* @__PURE__ */ ((E) => (E.LINEAR = \"linear\", E.QUANTIZE = \"quantize\", E))(eE || {}), OE = /* @__PURE__ */ ((E) => (E.ON = \"on\", E.AUTO = \"auto\", E.OFF = \"off\", E))(OE || {}), aE = /* @__PURE__ */ ((E) => (E.DEFAULT = \"default\", E.HOVERABLE = \"hoverable\", E))(aE || {}), uE = /* @__PURE__ */ ((E) => (E.geoEqualEarth = \"geoEqualEarth\", E.geoAlbers = \"geoAlbers\", E.geoConicEqualArea = \"geoConicEqualArea\", E.geoConicEquidistant = \"geoConicEquidistant\", E.geoEquirectangular = \"geoEquirectangular\", E.geoMercator = \"geoMercator\", E.geoNaturalEarth1 = \"geoNaturalEarth1\", E))(uE || {});\nexport {\n d as $,\n k as A,\n U as B,\n q as C,\n OE as D,\n H as E,\n Z as F,\n v as G,\n $ as H,\n n as I,\n j as J,\n y as K,\n B as L,\n e as M,\n N,\n c as O,\n M as P,\n X as Q,\n l as R,\n w as S,\n x as T,\n L as U,\n h as V,\n s as W,\n o as X,\n u as Y,\n K as Z,\n oE as _,\n R as a,\n Y as b,\n t as c,\n aE as d,\n f as e,\n EE as f,\n S as g,\n _ as h,\n F as i,\n r as j,\n g as k,\n p as l,\n b as m,\n eE as n,\n J as o,\n Q as p,\n z as q,\n W as r,\n rE as s,\n G as t,\n P as u,\n m as v,\n O as w,\n uE as x,\n D as y,\n I as z\n};\n//# sourceMappingURL=enums-a96ef472.mjs.map\n","export default function ascending(a, b) {\n return a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function descending(a, b) {\n return a == null || b == null ? NaN\n : b < a ? -1\n : b > a ? 1\n : b >= a ? 0\n : NaN;\n}\n","import ascending from \"./ascending.js\";\nimport descending from \"./descending.js\";\n\nexport default function bisector(f) {\n let compare1, compare2, delta;\n\n // If an accessor is specified, promote it to a comparator. In this case we\n // can test whether the search value is (self-) comparable. We can’t do this\n // for a comparator (except for specific, known comparators) because we can’t\n // tell if the comparator is symmetric, and an asymmetric comparator can’t be\n // used to test whether a single value is comparable.\n if (f.length !== 2) {\n compare1 = ascending;\n compare2 = (d, x) => ascending(f(d), x);\n delta = (d, x) => f(d) - x;\n } else {\n compare1 = f === ascending || f === descending ? f : zero;\n compare2 = f;\n delta = f;\n }\n\n function left(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function right(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) <= 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function center(a, x, lo = 0, hi = a.length) {\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction zero() {\n return 0;\n}\n","export default function number(x) {\n return x === null ? NaN : +x;\n}\n\nexport function* numbers(values, valueof) {\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n}\n","import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\n\nconst ascendingBisect = bisector(ascending);\nexport const bisectRight = ascendingBisect.right;\nexport const bisectLeft = ascendingBisect.left;\nexport const bisectCenter = bisector(number).center;\nexport default bisectRight;\n","export default function count(values, valueof) {\n let count = 0;\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n ++count;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n ++count;\n }\n }\n }\n return count;\n}\n","export default function extent(values, valueof) {\n let min;\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null) {\n if (min === undefined) {\n if (value >= value) min = max = value;\n } else {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null) {\n if (min === undefined) {\n if (value >= value) min = max = value;\n } else {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n }\n return [min, max];\n}\n","// https://github.com/python/cpython/blob/a74eea238f5baba15797e2e8b570d153bc8690a7/Modules/mathmodule.c#L1423\nexport class Adder {\n constructor() {\n this._partials = new Float64Array(32);\n this._n = 0;\n }\n add(x) {\n const p = this._partials;\n let i = 0;\n for (let j = 0; j < this._n && j < 32; j++) {\n const y = p[j],\n hi = x + y,\n lo = Math.abs(x) < Math.abs(y) ? x - (hi - y) : y - (hi - x);\n if (lo) p[i++] = lo;\n x = hi;\n }\n p[i] = x;\n this._n = i + 1;\n return this;\n }\n valueOf() {\n const p = this._partials;\n let n = this._n, x, y, lo, hi = 0;\n if (n > 0) {\n hi = p[--n];\n while (n > 0) {\n x = hi;\n y = p[--n];\n hi = x + y;\n lo = y - (hi - x);\n if (lo) break;\n }\n if (n > 0 && ((lo < 0 && p[n - 1] < 0) || (lo > 0 && p[n - 1] > 0))) {\n y = lo * 2;\n x = hi + y;\n if (y == x - hi) hi = x;\n }\n }\n return hi;\n }\n}\n\nexport function fsum(values, valueof) {\n const adder = new Adder();\n if (valueof === undefined) {\n for (let value of values) {\n if (value = +value) {\n adder.add(value);\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if (value = +valueof(value, ++index, values)) {\n adder.add(value);\n }\n }\n }\n return +adder;\n}\n\nexport function fcumsum(values, valueof) {\n const adder = new Adder();\n let index = -1;\n return Float64Array.from(values, valueof === undefined\n ? v => adder.add(+v || 0)\n : v => adder.add(+valueof(v, ++index, values) || 0)\n );\n}\n","export class InternMap extends Map {\n constructor(entries, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (entries != null) for (const [key, value] of entries) this.set(key, value);\n }\n get(key) {\n return super.get(intern_get(this, key));\n }\n has(key) {\n return super.has(intern_get(this, key));\n }\n set(key, value) {\n return super.set(intern_set(this, key), value);\n }\n delete(key) {\n return super.delete(intern_delete(this, key));\n }\n}\n\nexport class InternSet extends Set {\n constructor(values, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (values != null) for (const value of values) this.add(value);\n }\n has(value) {\n return super.has(intern_get(this, value));\n }\n add(value) {\n return super.add(intern_set(this, value));\n }\n delete(value) {\n return super.delete(intern_delete(this, value));\n }\n}\n\nfunction intern_get({_intern, _key}, value) {\n const key = _key(value);\n return _intern.has(key) ? _intern.get(key) : value;\n}\n\nfunction intern_set({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) return _intern.get(key);\n _intern.set(key, value);\n return value;\n}\n\nfunction intern_delete({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) {\n value = _intern.get(key);\n _intern.delete(key);\n }\n return value;\n}\n\nfunction keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}\n","export default function identity(x) {\n return x;\n}\n","import ascending from \"./ascending.js\";\nimport permute from \"./permute.js\";\n\nexport default function sort(values, ...F) {\n if (typeof values[Symbol.iterator] !== \"function\") throw new TypeError(\"values is not iterable\");\n values = Array.from(values);\n let [f] = F;\n if ((f && f.length !== 2) || F.length > 1) {\n const index = Uint32Array.from(values, (d, i) => i);\n if (F.length > 1) {\n F = F.map(f => values.map(f));\n index.sort((i, j) => {\n for (const f of F) {\n const c = ascendingDefined(f[i], f[j]);\n if (c) return c;\n }\n });\n } else {\n f = values.map(f);\n index.sort((i, j) => ascendingDefined(f[i], f[j]));\n }\n return permute(values, index);\n }\n return values.sort(compareDefined(f));\n}\n\nexport function compareDefined(compare = ascending) {\n if (compare === ascending) return ascendingDefined;\n if (typeof compare !== \"function\") throw new TypeError(\"compare is not a function\");\n return (a, b) => {\n const x = compare(a, b);\n if (x || x === 0) return x;\n return (compare(b, b) === 0) - (compare(a, a) === 0);\n };\n}\n\nexport function ascendingDefined(a, b) {\n return (a == null || !(a >= a)) - (b == null || !(b >= b)) || (a < b ? -1 : a > b ? 1 : 0);\n}\n","var array = Array.prototype;\n\nexport var slice = array.slice;\nexport var map = array.map;\n","export default function constant(x) {\n return () => x;\n}\n","const e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nfunction tickSpec(start, stop, count) {\n const step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log10(step)),\n error = step / Math.pow(10, power),\n factor = error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1;\n let i1, i2, inc;\n if (power < 0) {\n inc = Math.pow(10, -power) / factor;\n i1 = Math.round(start * inc);\n i2 = Math.round(stop * inc);\n if (i1 / inc < start) ++i1;\n if (i2 / inc > stop) --i2;\n inc = -inc;\n } else {\n inc = Math.pow(10, power) * factor;\n i1 = Math.round(start / inc);\n i2 = Math.round(stop / inc);\n if (i1 * inc < start) ++i1;\n if (i2 * inc > stop) --i2;\n }\n if (i2 < i1 && 0.5 <= count && count < 2) return tickSpec(start, stop, count * 2);\n return [i1, i2, inc];\n}\n\nexport default function ticks(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n if (!(count > 0)) return [];\n if (start === stop) return [start];\n const reverse = stop < start, [i1, i2, inc] = reverse ? tickSpec(stop, start, count) : tickSpec(start, stop, count);\n if (!(i2 >= i1)) return [];\n const n = i2 - i1 + 1, ticks = new Array(n);\n if (reverse) {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) * inc;\n } else {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) * inc;\n }\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n return tickSpec(start, stop, count)[2];\n}\n\nexport function tickStep(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n const reverse = stop < start, inc = reverse ? tickIncrement(stop, start, count) : tickIncrement(start, stop, count);\n return (reverse ? -1 : 1) * (inc < 0 ? 1 / -inc : inc);\n}\n","import {tickIncrement} from \"./ticks.js\";\n\nexport default function nice(start, stop, count) {\n let prestep;\n while (true) {\n const step = tickIncrement(start, stop, count);\n if (step === prestep || step === 0 || !isFinite(step)) {\n return [start, stop];\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n }\n prestep = step;\n }\n}\n","import count from \"../count.js\";\n\nexport default function thresholdSturges(values) {\n return Math.max(1, Math.ceil(Math.log(count(values)) / Math.LN2) + 1);\n}\n","import {slice} from \"./array.js\";\nimport bisect from \"./bisect.js\";\nimport constant from \"./constant.js\";\nimport extent from \"./extent.js\";\nimport identity from \"./identity.js\";\nimport nice from \"./nice.js\";\nimport ticks, {tickIncrement} from \"./ticks.js\";\nimport sturges from \"./threshold/sturges.js\";\n\nexport default function bin() {\n var value = identity,\n domain = extent,\n threshold = sturges;\n\n function histogram(data) {\n if (!Array.isArray(data)) data = Array.from(data);\n\n var i,\n n = data.length,\n x,\n step,\n values = new Array(n);\n\n for (i = 0; i < n; ++i) {\n values[i] = value(data[i], i, data);\n }\n\n var xz = domain(values),\n x0 = xz[0],\n x1 = xz[1],\n tz = threshold(values, x0, x1);\n\n // Convert number of thresholds into uniform thresholds, and nice the\n // default domain accordingly.\n if (!Array.isArray(tz)) {\n const max = x1, tn = +tz;\n if (domain === extent) [x0, x1] = nice(x0, x1, tn);\n tz = ticks(x0, x1, tn);\n\n // If the domain is aligned with the first tick (which it will by\n // default), then we can use quantization rather than bisection to bin\n // values, which is substantially faster.\n if (tz[0] <= x0) step = tickIncrement(x0, x1, tn);\n\n // If the last threshold is coincident with the domain’s upper bound, the\n // last bin will be zero-width. If the default domain is used, and this\n // last threshold is coincident with the maximum input value, we can\n // extend the niced upper bound by one tick to ensure uniform bin widths;\n // otherwise, we simply remove the last threshold. Note that we don’t\n // coerce values or the domain to numbers, and thus must be careful to\n // compare order (>=) rather than strict equality (===)!\n if (tz[tz.length - 1] >= x1) {\n if (max >= x1 && domain === extent) {\n const step = tickIncrement(x0, x1, tn);\n if (isFinite(step)) {\n if (step > 0) {\n x1 = (Math.floor(x1 / step) + 1) * step;\n } else if (step < 0) {\n x1 = (Math.ceil(x1 * -step) + 1) / -step;\n }\n }\n } else {\n tz.pop();\n }\n }\n }\n\n // Remove any thresholds outside the domain.\n // Be careful not to mutate an array owned by the user!\n var m = tz.length, a = 0, b = m;\n while (tz[a] <= x0) ++a;\n while (tz[b - 1] > x1) --b;\n if (a || b < m) tz = tz.slice(a, b), m = b - a;\n\n var bins = new Array(m + 1),\n bin;\n\n // Initialize bins.\n for (i = 0; i <= m; ++i) {\n bin = bins[i] = [];\n bin.x0 = i > 0 ? tz[i - 1] : x0;\n bin.x1 = i < m ? tz[i] : x1;\n }\n\n // Assign data to bins by value, ignoring any outside the domain.\n if (isFinite(step)) {\n if (step > 0) {\n for (i = 0; i < n; ++i) {\n if ((x = values[i]) != null && x0 <= x && x <= x1) {\n bins[Math.min(m, Math.floor((x - x0) / step))].push(data[i]);\n }\n }\n } else if (step < 0) {\n for (i = 0; i < n; ++i) {\n if ((x = values[i]) != null && x0 <= x && x <= x1) {\n const j = Math.floor((x0 - x) * step);\n bins[Math.min(m, j + (tz[j] <= x))].push(data[i]); // handle off-by-one due to rounding\n }\n }\n }\n } else {\n for (i = 0; i < n; ++i) {\n if ((x = values[i]) != null && x0 <= x && x <= x1) {\n bins[bisect(tz, x, 0, m)].push(data[i]);\n }\n }\n }\n\n return bins;\n }\n\n histogram.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(_), histogram) : value;\n };\n\n histogram.domain = function(_) {\n return arguments.length ? (domain = typeof _ === \"function\" ? _ : constant([_[0], _[1]]), histogram) : domain;\n };\n\n histogram.thresholds = function(_) {\n return arguments.length ? (threshold = typeof _ === \"function\" ? _ : constant(Array.isArray(_) ? slice.call(_) : _), histogram) : threshold;\n };\n\n return histogram;\n}\n","export default function max(values, valueof) {\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n }\n return max;\n}\n","export default function min(values, valueof) {\n let min;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n }\n return min;\n}\n","import {ascendingDefined, compareDefined} from \"./sort.js\";\n\n// Based on https://github.com/mourner/quickselect\n// ISC license, Copyright 2018 Vladimir Agafonkin.\nexport default function quickselect(array, k, left = 0, right = Infinity, compare) {\n k = Math.floor(k);\n left = Math.floor(Math.max(0, left));\n right = Math.floor(Math.min(array.length - 1, right));\n\n if (!(left <= k && k <= right)) return array;\n\n compare = compare === undefined ? ascendingDefined : compareDefined(compare);\n\n while (right > left) {\n if (right - left > 600) {\n const n = right - left + 1;\n const m = k - left + 1;\n const z = Math.log(n);\n const s = 0.5 * Math.exp(2 * z / 3);\n const sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1);\n const newLeft = Math.max(left, Math.floor(k - m * s / n + sd));\n const newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd));\n quickselect(array, k, newLeft, newRight, compare);\n }\n\n const t = array[k];\n let i = left;\n let j = right;\n\n swap(array, left, k);\n if (compare(array[right], t) > 0) swap(array, left, right);\n\n while (i < j) {\n swap(array, i, j), ++i, --j;\n while (compare(array[i], t) < 0) ++i;\n while (compare(array[j], t) > 0) --j;\n }\n\n if (compare(array[left], t) === 0) swap(array, left, j);\n else ++j, swap(array, j, right);\n\n if (j <= k) left = j + 1;\n if (k <= j) right = j - 1;\n }\n\n return array;\n}\n\nfunction swap(array, i, j) {\n const t = array[i];\n array[i] = array[j];\n array[j] = t;\n}\n","import max from \"./max.js\";\nimport maxIndex from \"./maxIndex.js\";\nimport min from \"./min.js\";\nimport minIndex from \"./minIndex.js\";\nimport quickselect from \"./quickselect.js\";\nimport number, {numbers} from \"./number.js\";\nimport {ascendingDefined} from \"./sort.js\";\nimport greatest from \"./greatest.js\";\n\nexport default function quantile(values, p, valueof) {\n values = Float64Array.from(numbers(values, valueof));\n if (!(n = values.length) || isNaN(p = +p)) return;\n if (p <= 0 || n < 2) return min(values);\n if (p >= 1) return max(values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = max(quickselect(values, i0).subarray(0, i0 + 1)),\n value1 = min(values.subarray(i0 + 1));\n return value0 + (value1 - value0) * (i - i0);\n}\n\nexport function quantileSorted(values, p, valueof = number) {\n if (!(n = values.length) || isNaN(p = +p)) return;\n if (p <= 0 || n < 2) return +valueof(values[0], 0, values);\n if (p >= 1) return +valueof(values[n - 1], n - 1, values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = +valueof(values[i0], i0, values),\n value1 = +valueof(values[i0 + 1], i0 + 1, values);\n return value0 + (value1 - value0) * (i - i0);\n}\n\nexport function quantileIndex(values, p, valueof = number) {\n if (isNaN(p = +p)) return;\n numbers = Float64Array.from(values, (_, i) => number(valueof(values[i], i, values)));\n if (p <= 0) return minIndex(numbers);\n if (p >= 1) return maxIndex(numbers);\n var numbers,\n index = Uint32Array.from(values, (_, i) => i),\n j = numbers.length - 1,\n i = Math.floor(j * p);\n quickselect(index, i, 0, j, (i, j) => ascendingDefined(numbers[i], numbers[j]));\n i = greatest(index.subarray(0, i + 1), (i) => numbers[i]);\n return i >= 0 ? i : -1;\n}\n","function* flatten(arrays) {\n for (const array of arrays) {\n yield* array;\n }\n}\n\nexport default function merge(arrays) {\n return Array.from(flatten(arrays));\n}\n","export default function range(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n}\n","export default function(x) {\n return x;\n}\n","import identity from \"./identity.js\";\n\nvar top = 1,\n right = 2,\n bottom = 3,\n left = 4,\n epsilon = 1e-6;\n\nfunction translateX(x) {\n return \"translate(\" + x + \",0)\";\n}\n\nfunction translateY(y) {\n return \"translate(0,\" + y + \")\";\n}\n\nfunction number(scale) {\n return d => +scale(d);\n}\n\nfunction center(scale, offset) {\n offset = Math.max(0, scale.bandwidth() - offset * 2) / 2;\n if (scale.round()) offset = Math.round(offset);\n return d => +scale(d) + offset;\n}\n\nfunction entering() {\n return !this.__axis;\n}\n\nfunction axis(orient, scale) {\n var tickArguments = [],\n tickValues = null,\n tickFormat = null,\n tickSizeInner = 6,\n tickSizeOuter = 6,\n tickPadding = 3,\n offset = typeof window !== \"undefined\" && window.devicePixelRatio > 1 ? 0 : 0.5,\n k = orient === top || orient === left ? -1 : 1,\n x = orient === left || orient === right ? \"x\" : \"y\",\n transform = orient === top || orient === bottom ? translateX : translateY;\n\n function axis(context) {\n var values = tickValues == null ? (scale.ticks ? scale.ticks.apply(scale, tickArguments) : scale.domain()) : tickValues,\n format = tickFormat == null ? (scale.tickFormat ? scale.tickFormat.apply(scale, tickArguments) : identity) : tickFormat,\n spacing = Math.max(tickSizeInner, 0) + tickPadding,\n range = scale.range(),\n range0 = +range[0] + offset,\n range1 = +range[range.length - 1] + offset,\n position = (scale.bandwidth ? center : number)(scale.copy(), offset),\n selection = context.selection ? context.selection() : context,\n path = selection.selectAll(\".domain\").data([null]),\n tick = selection.selectAll(\".tick\").data(values, scale).order(),\n tickExit = tick.exit(),\n tickEnter = tick.enter().append(\"g\").attr(\"class\", \"tick\"),\n line = tick.select(\"line\"),\n text = tick.select(\"text\");\n\n path = path.merge(path.enter().insert(\"path\", \".tick\")\n .attr(\"class\", \"domain\")\n .attr(\"stroke\", \"currentColor\"));\n\n tick = tick.merge(tickEnter);\n\n line = line.merge(tickEnter.append(\"line\")\n .attr(\"stroke\", \"currentColor\")\n .attr(x + \"2\", k * tickSizeInner));\n\n text = text.merge(tickEnter.append(\"text\")\n .attr(\"fill\", \"currentColor\")\n .attr(x, k * spacing)\n .attr(\"dy\", orient === top ? \"0em\" : orient === bottom ? \"0.71em\" : \"0.32em\"));\n\n if (context !== selection) {\n path = path.transition(context);\n tick = tick.transition(context);\n line = line.transition(context);\n text = text.transition(context);\n\n tickExit = tickExit.transition(context)\n .attr(\"opacity\", epsilon)\n .attr(\"transform\", function(d) { return isFinite(d = position(d)) ? transform(d + offset) : this.getAttribute(\"transform\"); });\n\n tickEnter\n .attr(\"opacity\", epsilon)\n .attr(\"transform\", function(d) { var p = this.parentNode.__axis; return transform((p && isFinite(p = p(d)) ? p : position(d)) + offset); });\n }\n\n tickExit.remove();\n\n path\n .attr(\"d\", orient === left || orient === right\n ? (tickSizeOuter ? \"M\" + k * tickSizeOuter + \",\" + range0 + \"H\" + offset + \"V\" + range1 + \"H\" + k * tickSizeOuter : \"M\" + offset + \",\" + range0 + \"V\" + range1)\n : (tickSizeOuter ? \"M\" + range0 + \",\" + k * tickSizeOuter + \"V\" + offset + \"H\" + range1 + \"V\" + k * tickSizeOuter : \"M\" + range0 + \",\" + offset + \"H\" + range1));\n\n tick\n .attr(\"opacity\", 1)\n .attr(\"transform\", function(d) { return transform(position(d) + offset); });\n\n line\n .attr(x + \"2\", k * tickSizeInner);\n\n text\n .attr(x, k * spacing)\n .text(format);\n\n selection.filter(entering)\n .attr(\"fill\", \"none\")\n .attr(\"font-size\", 10)\n .attr(\"font-family\", \"sans-serif\")\n .attr(\"text-anchor\", orient === right ? \"start\" : orient === left ? \"end\" : \"middle\");\n\n selection\n .each(function() { this.__axis = position; });\n }\n\n axis.scale = function(_) {\n return arguments.length ? (scale = _, axis) : scale;\n };\n\n axis.ticks = function() {\n return tickArguments = Array.from(arguments), axis;\n };\n\n axis.tickArguments = function(_) {\n return arguments.length ? (tickArguments = _ == null ? [] : Array.from(_), axis) : tickArguments.slice();\n };\n\n axis.tickValues = function(_) {\n return arguments.length ? (tickValues = _ == null ? null : Array.from(_), axis) : tickValues && tickValues.slice();\n };\n\n axis.tickFormat = function(_) {\n return arguments.length ? (tickFormat = _, axis) : tickFormat;\n };\n\n axis.tickSize = function(_) {\n return arguments.length ? (tickSizeInner = tickSizeOuter = +_, axis) : tickSizeInner;\n };\n\n axis.tickSizeInner = function(_) {\n return arguments.length ? (tickSizeInner = +_, axis) : tickSizeInner;\n };\n\n axis.tickSizeOuter = function(_) {\n return arguments.length ? (tickSizeOuter = +_, axis) : tickSizeOuter;\n };\n\n axis.tickPadding = function(_) {\n return arguments.length ? (tickPadding = +_, axis) : tickPadding;\n };\n\n axis.offset = function(_) {\n return arguments.length ? (offset = +_, axis) : offset;\n };\n\n return axis;\n}\n\nexport function axisTop(scale) {\n return axis(top, scale);\n}\n\nexport function axisRight(scale) {\n return axis(right, scale);\n}\n\nexport function axisBottom(scale) {\n return axis(bottom, scale);\n}\n\nexport function axisLeft(scale) {\n return axis(left, scale);\n}\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 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","// Given something array like (or null), returns something that is strictly an\n// array. This is used to ensure that array-like objects passed to d3.selectAll\n// or selection.selectAll are converted into proper arrays when creating a\n// selection; we don’t ever want to create a selection backed by a live\n// HTMLCollection or NodeList. However, note that selection.selectAll will use a\n// static NodeList as a group, since it safely derived from querySelectorAll.\nexport default function array(x) {\n return x == null ? [] : Array.isArray(x) ? x : Array.from(x);\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 return array(select.apply(this, arguments));\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 Array.from(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 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 = arraylike(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\n// Given some data, this returns an array-like view of it: an object that\n// exposes a length property and allows numeric indexing. Note that unlike\n// selectAll, this isn’t worried about “live” collections because the resulting\n// array will only be used briefly while data is being bound. (It is possible to\n// cause the data to change while iterating by using a key function, but please\n// don’t; we’d rather avoid a gratuitous copy.)\nfunction arraylike(data) {\n return typeof data === \"object\" && \"length\" in data\n ? data // Array, TypedArray, NodeList, array-like\n : Array.from(data); // Map, Set, iterable, string, or anything else\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 if (typeof onenter === \"function\") {\n enter = onenter(enter);\n if (enter) enter = enter.selection();\n } else {\n enter = enter.append(onenter + \"\");\n }\n if (onupdate != null) {\n update = onupdate(update);\n if (update) update = update.selection();\n }\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(context) {\n var selection = context.selection ? context.selection() : context;\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","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","// These are typically used in conjunction with noevent to ensure that we can\n// preventDefault on the event.\nexport const nonpassive = {passive: false};\nexport const nonpassivecapture = {capture: true, passive: false};\n\nexport 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, {nonpassivecapture} from \"./noevent.js\";\n\nexport default function(view) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", noevent, nonpassivecapture);\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", noevent, nonpassivecapture);\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, nonpassivecapture);\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 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(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHex8: color_formatHex8,\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_formatHex8() {\n return this.rgb().formatHex8();\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(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(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() {\n return this;\n },\n clamp() {\n return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));\n },\n displayable() {\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 formatHex8: rgb_formatHex8,\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_formatHex8() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;\n}\n\nfunction rgb_formatRgb() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"rgb(\" : \"rgba(\"}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? \")\" : `, ${a})`}`;\n}\n\nfunction clampa(opacity) {\n return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));\n}\n\nfunction clampi(value) {\n return Math.max(0, Math.min(255, Math.round(value) || 0));\n}\n\nfunction hex(value) {\n value = clampi(value);\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(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(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() {\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 clamp() {\n return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));\n },\n displayable() {\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() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"hsl(\" : \"hsla(\"}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? \")\" : `, ${a})`}`;\n }\n}));\n\nfunction clamph(value) {\n value = (value || 0) % 360;\n return value < 0 ? value + 360 : value;\n}\n\nfunction clampt(value) {\n return Math.max(0, Math.min(1, value || 0));\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 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(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","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","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(undefined, 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 {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 selectChild: selection_prototype.selectChild,\n selectChildren: selection_prototype.selectChildren,\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 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","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","export default x => () => x;\n","export default function BrushEvent(type, {\n sourceEvent,\n target,\n selection,\n mode,\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 selection: {value: selection, enumerable: true, configurable: true},\n mode: {value: mode, enumerable: true, configurable: true},\n _: {value: dispatch}\n });\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 {interpolate} from \"d3-interpolate\";\nimport {pointer, select} from \"d3-selection\";\nimport {interrupt} from \"d3-transition\";\nimport constant from \"./constant.js\";\nimport BrushEvent from \"./event.js\";\nimport noevent, {nopropagation} from \"./noevent.js\";\n\nvar MODE_DRAG = {name: \"drag\"},\n MODE_SPACE = {name: \"space\"},\n MODE_HANDLE = {name: \"handle\"},\n MODE_CENTER = {name: \"center\"};\n\nconst {abs, max, min} = Math;\n\nfunction number1(e) {\n return [+e[0], +e[1]];\n}\n\nfunction number2(e) {\n return [number1(e[0]), number1(e[1])];\n}\n\nvar X = {\n name: \"x\",\n handles: [\"w\", \"e\"].map(type),\n input: function(x, e) { return x == null ? null : [[+x[0], e[0][1]], [+x[1], e[1][1]]]; },\n output: function(xy) { return xy && [xy[0][0], xy[1][0]]; }\n};\n\nvar Y = {\n name: \"y\",\n handles: [\"n\", \"s\"].map(type),\n input: function(y, e) { return y == null ? null : [[e[0][0], +y[0]], [e[1][0], +y[1]]]; },\n output: function(xy) { return xy && [xy[0][1], xy[1][1]]; }\n};\n\nvar XY = {\n name: \"xy\",\n handles: [\"n\", \"w\", \"e\", \"s\", \"nw\", \"ne\", \"sw\", \"se\"].map(type),\n input: function(xy) { return xy == null ? null : number2(xy); },\n output: function(xy) { return xy; }\n};\n\nvar cursors = {\n overlay: \"crosshair\",\n selection: \"move\",\n n: \"ns-resize\",\n e: \"ew-resize\",\n s: \"ns-resize\",\n w: \"ew-resize\",\n nw: \"nwse-resize\",\n ne: \"nesw-resize\",\n se: \"nwse-resize\",\n sw: \"nesw-resize\"\n};\n\nvar flipX = {\n e: \"w\",\n w: \"e\",\n nw: \"ne\",\n ne: \"nw\",\n se: \"sw\",\n sw: \"se\"\n};\n\nvar flipY = {\n n: \"s\",\n s: \"n\",\n nw: \"sw\",\n ne: \"se\",\n se: \"ne\",\n sw: \"nw\"\n};\n\nvar signsX = {\n overlay: +1,\n selection: +1,\n n: null,\n e: +1,\n s: null,\n w: -1,\n nw: -1,\n ne: +1,\n se: +1,\n sw: -1\n};\n\nvar signsY = {\n overlay: +1,\n selection: +1,\n n: -1,\n e: null,\n s: +1,\n w: null,\n nw: -1,\n ne: -1,\n se: +1,\n sw: +1\n};\n\nfunction type(t) {\n return {type: t};\n}\n\n// Ignore right-click, since that should open the context menu.\nfunction defaultFilter(event) {\n return !event.ctrlKey && !event.button;\n}\n\nfunction defaultExtent() {\n var svg = this.ownerSVGElement || this;\n if (svg.hasAttribute(\"viewBox\")) {\n svg = svg.viewBox.baseVal;\n return [[svg.x, svg.y], [svg.x + svg.width, svg.y + svg.height]];\n }\n return [[0, 0], [svg.width.baseVal.value, svg.height.baseVal.value]];\n}\n\nfunction defaultTouchable() {\n return navigator.maxTouchPoints || (\"ontouchstart\" in this);\n}\n\n// Like d3.local, but with the name “__brush” rather than auto-generated.\nfunction local(node) {\n while (!node.__brush) if (!(node = node.parentNode)) return;\n return node.__brush;\n}\n\nfunction empty(extent) {\n return extent[0][0] === extent[1][0]\n || extent[0][1] === extent[1][1];\n}\n\nexport function brushSelection(node) {\n var state = node.__brush;\n return state ? state.dim.output(state.selection) : null;\n}\n\nexport function brushX() {\n return brush(X);\n}\n\nexport function brushY() {\n return brush(Y);\n}\n\nexport default function() {\n return brush(XY);\n}\n\nfunction brush(dim) {\n var extent = defaultExtent,\n filter = defaultFilter,\n touchable = defaultTouchable,\n keys = true,\n listeners = dispatch(\"start\", \"brush\", \"end\"),\n handleSize = 6,\n touchending;\n\n function brush(group) {\n var overlay = group\n .property(\"__brush\", initialize)\n .selectAll(\".overlay\")\n .data([type(\"overlay\")]);\n\n overlay.enter().append(\"rect\")\n .attr(\"class\", \"overlay\")\n .attr(\"pointer-events\", \"all\")\n .attr(\"cursor\", cursors.overlay)\n .merge(overlay)\n .each(function() {\n var extent = local(this).extent;\n select(this)\n .attr(\"x\", extent[0][0])\n .attr(\"y\", extent[0][1])\n .attr(\"width\", extent[1][0] - extent[0][0])\n .attr(\"height\", extent[1][1] - extent[0][1]);\n });\n\n group.selectAll(\".selection\")\n .data([type(\"selection\")])\n .enter().append(\"rect\")\n .attr(\"class\", \"selection\")\n .attr(\"cursor\", cursors.selection)\n .attr(\"fill\", \"#777\")\n .attr(\"fill-opacity\", 0.3)\n .attr(\"stroke\", \"#fff\")\n .attr(\"shape-rendering\", \"crispEdges\");\n\n var handle = group.selectAll(\".handle\")\n .data(dim.handles, function(d) { return d.type; });\n\n handle.exit().remove();\n\n handle.enter().append(\"rect\")\n .attr(\"class\", function(d) { return \"handle handle--\" + d.type; })\n .attr(\"cursor\", function(d) { return cursors[d.type]; });\n\n group\n .each(redraw)\n .attr(\"fill\", \"none\")\n .attr(\"pointer-events\", \"all\")\n .on(\"mousedown.brush\", started)\n .filter(touchable)\n .on(\"touchstart.brush\", started)\n .on(\"touchmove.brush\", touchmoved)\n .on(\"touchend.brush touchcancel.brush\", touchended)\n .style(\"touch-action\", \"none\")\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n brush.move = function(group, selection, event) {\n if (group.tween) {\n group\n .on(\"start.brush\", function(event) { emitter(this, arguments).beforestart().start(event); })\n .on(\"interrupt.brush end.brush\", function(event) { emitter(this, arguments).end(event); })\n .tween(\"brush\", function() {\n var that = this,\n state = that.__brush,\n emit = emitter(that, arguments),\n selection0 = state.selection,\n selection1 = dim.input(typeof selection === \"function\" ? selection.apply(this, arguments) : selection, state.extent),\n i = interpolate(selection0, selection1);\n\n function tween(t) {\n state.selection = t === 1 && selection1 === null ? null : i(t);\n redraw.call(that);\n emit.brush();\n }\n\n return selection0 !== null && selection1 !== null ? tween : tween(1);\n });\n } else {\n group\n .each(function() {\n var that = this,\n args = arguments,\n state = that.__brush,\n selection1 = dim.input(typeof selection === \"function\" ? selection.apply(that, args) : selection, state.extent),\n emit = emitter(that, args).beforestart();\n\n interrupt(that);\n state.selection = selection1 === null ? null : selection1;\n redraw.call(that);\n emit.start(event).brush(event).end(event);\n });\n }\n };\n\n brush.clear = function(group, event) {\n brush.move(group, null, event);\n };\n\n function redraw() {\n var group = select(this),\n selection = local(this).selection;\n\n if (selection) {\n group.selectAll(\".selection\")\n .style(\"display\", null)\n .attr(\"x\", selection[0][0])\n .attr(\"y\", selection[0][1])\n .attr(\"width\", selection[1][0] - selection[0][0])\n .attr(\"height\", selection[1][1] - selection[0][1]);\n\n group.selectAll(\".handle\")\n .style(\"display\", null)\n .attr(\"x\", function(d) { return d.type[d.type.length - 1] === \"e\" ? selection[1][0] - handleSize / 2 : selection[0][0] - handleSize / 2; })\n .attr(\"y\", function(d) { return d.type[0] === \"s\" ? selection[1][1] - handleSize / 2 : selection[0][1] - handleSize / 2; })\n .attr(\"width\", function(d) { return d.type === \"n\" || d.type === \"s\" ? selection[1][0] - selection[0][0] + handleSize : handleSize; })\n .attr(\"height\", function(d) { return d.type === \"e\" || d.type === \"w\" ? selection[1][1] - selection[0][1] + handleSize : handleSize; });\n }\n\n else {\n group.selectAll(\".selection,.handle\")\n .style(\"display\", \"none\")\n .attr(\"x\", null)\n .attr(\"y\", null)\n .attr(\"width\", null)\n .attr(\"height\", null);\n }\n }\n\n function emitter(that, args, clean) {\n var emit = that.__brush.emitter;\n return emit && (!clean || !emit.clean) ? emit : new Emitter(that, args, clean);\n }\n\n function Emitter(that, args, clean) {\n this.that = that;\n this.args = args;\n this.state = that.__brush;\n this.active = 0;\n this.clean = clean;\n }\n\n Emitter.prototype = {\n beforestart: function() {\n if (++this.active === 1) this.state.emitter = this, this.starting = true;\n return this;\n },\n start: function(event, mode) {\n if (this.starting) this.starting = false, this.emit(\"start\", event, mode);\n else this.emit(\"brush\", event);\n return this;\n },\n brush: function(event, mode) {\n this.emit(\"brush\", event, mode);\n return this;\n },\n end: function(event, mode) {\n if (--this.active === 0) delete this.state.emitter, this.emit(\"end\", event, mode);\n return this;\n },\n emit: function(type, event, mode) {\n var d = select(this.that).datum();\n listeners.call(\n type,\n this.that,\n new BrushEvent(type, {\n sourceEvent: event,\n target: brush,\n selection: dim.output(this.state.selection),\n mode,\n dispatch: listeners\n }),\n d\n );\n }\n };\n\n function started(event) {\n if (touchending && !event.touches) return;\n if (!filter.apply(this, arguments)) return;\n\n var that = this,\n type = event.target.__data__.type,\n mode = (keys && event.metaKey ? type = \"overlay\" : type) === \"selection\" ? MODE_DRAG : (keys && event.altKey ? MODE_CENTER : MODE_HANDLE),\n signX = dim === Y ? null : signsX[type],\n signY = dim === X ? null : signsY[type],\n state = local(that),\n extent = state.extent,\n selection = state.selection,\n W = extent[0][0], w0, w1,\n N = extent[0][1], n0, n1,\n E = extent[1][0], e0, e1,\n S = extent[1][1], s0, s1,\n dx = 0,\n dy = 0,\n moving,\n shifting = signX && signY && keys && event.shiftKey,\n lockX,\n lockY,\n points = Array.from(event.touches || [event], t => {\n const i = t.identifier;\n t = pointer(t, that);\n t.point0 = t.slice();\n t.identifier = i;\n return t;\n });\n\n interrupt(that);\n var emit = emitter(that, arguments, true).beforestart();\n\n if (type === \"overlay\") {\n if (selection) moving = true;\n const pts = [points[0], points[1] || points[0]];\n state.selection = selection = [[\n w0 = dim === Y ? W : min(pts[0][0], pts[1][0]),\n n0 = dim === X ? N : min(pts[0][1], pts[1][1])\n ], [\n e0 = dim === Y ? E : max(pts[0][0], pts[1][0]),\n s0 = dim === X ? S : max(pts[0][1], pts[1][1])\n ]];\n if (points.length > 1) move(event);\n } else {\n w0 = selection[0][0];\n n0 = selection[0][1];\n e0 = selection[1][0];\n s0 = selection[1][1];\n }\n\n w1 = w0;\n n1 = n0;\n e1 = e0;\n s1 = s0;\n\n var group = select(that)\n .attr(\"pointer-events\", \"none\");\n\n var overlay = group.selectAll(\".overlay\")\n .attr(\"cursor\", cursors[type]);\n\n if (event.touches) {\n emit.moved = moved;\n emit.ended = ended;\n } else {\n var view = select(event.view)\n .on(\"mousemove.brush\", moved, true)\n .on(\"mouseup.brush\", ended, true);\n if (keys) view\n .on(\"keydown.brush\", keydowned, true)\n .on(\"keyup.brush\", keyupped, true)\n\n dragDisable(event.view);\n }\n\n redraw.call(that);\n emit.start(event, mode.name);\n\n function moved(event) {\n for (const p of event.changedTouches || [event]) {\n for (const d of points)\n if (d.identifier === p.identifier) d.cur = pointer(p, that);\n }\n if (shifting && !lockX && !lockY && points.length === 1) {\n const point = points[0];\n if (abs(point.cur[0] - point[0]) > abs(point.cur[1] - point[1]))\n lockY = true;\n else\n lockX = true;\n }\n for (const point of points)\n if (point.cur) point[0] = point.cur[0], point[1] = point.cur[1];\n moving = true;\n noevent(event);\n move(event);\n }\n\n function move(event) {\n const point = points[0], point0 = point.point0;\n var t;\n\n dx = point[0] - point0[0];\n dy = point[1] - point0[1];\n\n switch (mode) {\n case MODE_SPACE:\n case MODE_DRAG: {\n if (signX) dx = max(W - w0, min(E - e0, dx)), w1 = w0 + dx, e1 = e0 + dx;\n if (signY) dy = max(N - n0, min(S - s0, dy)), n1 = n0 + dy, s1 = s0 + dy;\n break;\n }\n case MODE_HANDLE: {\n if (points[1]) {\n if (signX) w1 = max(W, min(E, points[0][0])), e1 = max(W, min(E, points[1][0])), signX = 1;\n if (signY) n1 = max(N, min(S, points[0][1])), s1 = max(N, min(S, points[1][1])), signY = 1;\n } else {\n if (signX < 0) dx = max(W - w0, min(E - w0, dx)), w1 = w0 + dx, e1 = e0;\n else if (signX > 0) dx = max(W - e0, min(E - e0, dx)), w1 = w0, e1 = e0 + dx;\n if (signY < 0) dy = max(N - n0, min(S - n0, dy)), n1 = n0 + dy, s1 = s0;\n else if (signY > 0) dy = max(N - s0, min(S - s0, dy)), n1 = n0, s1 = s0 + dy;\n }\n break;\n }\n case MODE_CENTER: {\n if (signX) w1 = max(W, min(E, w0 - dx * signX)), e1 = max(W, min(E, e0 + dx * signX));\n if (signY) n1 = max(N, min(S, n0 - dy * signY)), s1 = max(N, min(S, s0 + dy * signY));\n break;\n }\n }\n\n if (e1 < w1) {\n signX *= -1;\n t = w0, w0 = e0, e0 = t;\n t = w1, w1 = e1, e1 = t;\n if (type in flipX) overlay.attr(\"cursor\", cursors[type = flipX[type]]);\n }\n\n if (s1 < n1) {\n signY *= -1;\n t = n0, n0 = s0, s0 = t;\n t = n1, n1 = s1, s1 = t;\n if (type in flipY) overlay.attr(\"cursor\", cursors[type = flipY[type]]);\n }\n\n if (state.selection) selection = state.selection; // May be set by brush.move!\n if (lockX) w1 = selection[0][0], e1 = selection[1][0];\n if (lockY) n1 = selection[0][1], s1 = selection[1][1];\n\n if (selection[0][0] !== w1\n || selection[0][1] !== n1\n || selection[1][0] !== e1\n || selection[1][1] !== s1) {\n state.selection = [[w1, n1], [e1, s1]];\n redraw.call(that);\n emit.brush(event, mode.name);\n }\n }\n\n function ended(event) {\n nopropagation(event);\n if (event.touches) {\n if (event.touches.length) return;\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed!\n } else {\n dragEnable(event.view, moving);\n view.on(\"keydown.brush keyup.brush mousemove.brush mouseup.brush\", null);\n }\n group.attr(\"pointer-events\", \"all\");\n overlay.attr(\"cursor\", cursors.overlay);\n if (state.selection) selection = state.selection; // May be set by brush.move (on start)!\n if (empty(selection)) state.selection = null, redraw.call(that);\n emit.end(event, mode.name);\n }\n\n function keydowned(event) {\n switch (event.keyCode) {\n case 16: { // SHIFT\n shifting = signX && signY;\n break;\n }\n case 18: { // ALT\n if (mode === MODE_HANDLE) {\n if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;\n if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;\n mode = MODE_CENTER;\n move(event);\n }\n break;\n }\n case 32: { // SPACE; takes priority over ALT\n if (mode === MODE_HANDLE || mode === MODE_CENTER) {\n if (signX < 0) e0 = e1 - dx; else if (signX > 0) w0 = w1 - dx;\n if (signY < 0) s0 = s1 - dy; else if (signY > 0) n0 = n1 - dy;\n mode = MODE_SPACE;\n overlay.attr(\"cursor\", cursors.selection);\n move(event);\n }\n break;\n }\n default: return;\n }\n noevent(event);\n }\n\n function keyupped(event) {\n switch (event.keyCode) {\n case 16: { // SHIFT\n if (shifting) {\n lockX = lockY = shifting = false;\n move(event);\n }\n break;\n }\n case 18: { // ALT\n if (mode === MODE_CENTER) {\n if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1;\n if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1;\n mode = MODE_HANDLE;\n move(event);\n }\n break;\n }\n case 32: { // SPACE\n if (mode === MODE_SPACE) {\n if (event.altKey) {\n if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;\n if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;\n mode = MODE_CENTER;\n } else {\n if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1;\n if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1;\n mode = MODE_HANDLE;\n }\n overlay.attr(\"cursor\", cursors[type]);\n move(event);\n }\n break;\n }\n default: return;\n }\n noevent(event);\n }\n }\n\n function touchmoved(event) {\n emitter(this, arguments).moved(event);\n }\n\n function touchended(event) {\n emitter(this, arguments).ended(event);\n }\n\n function initialize() {\n var state = this.__brush || {selection: null};\n state.extent = number2(extent.apply(this, arguments));\n state.dim = dim;\n return state;\n }\n\n brush.extent = function(_) {\n return arguments.length ? (extent = typeof _ === \"function\" ? _ : constant(number2(_)), brush) : extent;\n };\n\n brush.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), brush) : filter;\n };\n\n brush.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), brush) : touchable;\n };\n\n brush.handleSize = function(_) {\n return arguments.length ? (handleSize = +_, brush) : handleSize;\n };\n\n brush.keyModifiers = function(_) {\n return arguments.length ? (keys = !!_, brush) : keys;\n };\n\n brush.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? brush : value;\n };\n\n return brush;\n}\n","const pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction append(strings) {\n this._ += strings[0];\n for (let i = 1, n = strings.length; i < n; ++i) {\n this._ += arguments[i] + strings[i];\n }\n}\n\nfunction appendRound(digits) {\n let d = Math.floor(digits);\n if (!(d >= 0)) throw new Error(`invalid digits: ${digits}`);\n if (d > 15) return append;\n const k = 10 ** d;\n return function(strings) {\n this._ += strings[0];\n for (let i = 1, n = strings.length; i < n; ++i) {\n this._ += Math.round(arguments[i] * k) / k + strings[i];\n }\n };\n}\n\nexport class Path {\n constructor(digits) {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n this._append = digits == null ? append : appendRound(digits);\n }\n moveTo(x, y) {\n this._append`M${this._x0 = this._x1 = +x},${this._y0 = this._y1 = +y}`;\n }\n closePath() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._append`Z`;\n }\n }\n lineTo(x, y) {\n this._append`L${this._x1 = +x},${this._y1 = +y}`;\n }\n quadraticCurveTo(x1, y1, x, y) {\n this._append`Q${+x1},${+y1},${this._x1 = +x},${this._y1 = +y}`;\n }\n bezierCurveTo(x1, y1, x2, y2, x, y) {\n this._append`C${+x1},${+y1},${+x2},${+y2},${this._x1 = +x},${this._y1 = +y}`;\n }\n arcTo(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(`negative radius: ${r}`);\n\n let x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._append`M${this._x1 = x1},${this._y1 = y1}`;\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._append`L${this._x1 = x1},${this._y1 = y1}`;\n }\n\n // Otherwise, draw an arc!\n else {\n let x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._append`L${x1 + t01 * x01},${y1 + t01 * y01}`;\n }\n\n this._append`A${r},${r},0,0,${+(y01 * x20 > x01 * y20)},${this._x1 = x1 + t21 * x21},${this._y1 = y1 + t21 * y21}`;\n }\n }\n arc(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(`negative radius: ${r}`);\n\n let dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._append`M${x0},${y0}`;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._append`L${x0},${y0}`;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._append`A${r},${r},0,1,${cw},${x - dx},${y - dy}A${r},${r},0,1,${cw},${this._x1 = x0},${this._y1 = y0}`;\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._append`A${r},${r},0,${+(da >= pi)},${cw},${this._x1 = x + r * Math.cos(a1)},${this._y1 = y + r * Math.sin(a1)}`;\n }\n }\n rect(x, y, w, h) {\n this._append`M${this._x0 = this._x1 = +x},${this._y0 = this._y1 = +y}h${w = +w}v${+h}h${-w}Z`;\n }\n toString() {\n return this._;\n }\n}\n\nexport function path() {\n return new Path;\n}\n\n// Allow instanceof d3.path\npath.prototype = Path.prototype;\n\nexport function pathRound(digits = 3) {\n return new Path(+digits);\n}\n","export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": (x, p) => (x * 100).toFixed(p),\n \"b\": (x) => Math.round(x).toString(2),\n \"c\": (x) => x + \"\",\n \"d\": formatDecimal,\n \"e\": (x, p) => x.toExponential(p),\n \"f\": (x, p) => x.toFixed(p),\n \"g\": (x, p) => x.toPrecision(p),\n \"o\": (x) => Math.round(x).toString(8),\n \"p\": (x, p) => formatRounded(x * 100, p),\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": (x) => Math.round(x).toString(16).toUpperCase(),\n \"x\": (x) => Math.round(x).toString(16)\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"−\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","export var epsilon = 1e-6;\nexport var epsilon2 = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var quarterPi = pi / 4;\nexport var tau = pi * 2;\n\nexport var degrees = 180 / pi;\nexport var radians = pi / 180;\n\nexport var abs = Math.abs;\nexport var atan = Math.atan;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var ceil = Math.ceil;\nexport var exp = Math.exp;\nexport var floor = Math.floor;\nexport var hypot = Math.hypot;\nexport var log = Math.log;\nexport var pow = Math.pow;\nexport var sin = Math.sin;\nexport var sign = Math.sign || function(x) { return x > 0 ? 1 : x < 0 ? -1 : 0; };\nexport var sqrt = Math.sqrt;\nexport var tan = Math.tan;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x > 1 ? halfPi : x < -1 ? -halfPi : Math.asin(x);\n}\n\nexport function haversin(x) {\n return (x = sin(x / 2)) * x;\n}\n","export default function noop() {}\n","function streamGeometry(geometry, stream) {\n if (geometry && streamGeometryType.hasOwnProperty(geometry.type)) {\n streamGeometryType[geometry.type](geometry, stream);\n }\n}\n\nvar streamObjectType = {\n Feature: function(object, stream) {\n streamGeometry(object.geometry, stream);\n },\n FeatureCollection: function(object, stream) {\n var features = object.features, i = -1, n = features.length;\n while (++i < n) streamGeometry(features[i].geometry, stream);\n }\n};\n\nvar streamGeometryType = {\n Sphere: function(object, stream) {\n stream.sphere();\n },\n Point: function(object, stream) {\n object = object.coordinates;\n stream.point(object[0], object[1], object[2]);\n },\n MultiPoint: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) object = coordinates[i], stream.point(object[0], object[1], object[2]);\n },\n LineString: function(object, stream) {\n streamLine(object.coordinates, stream, 0);\n },\n MultiLineString: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) streamLine(coordinates[i], stream, 0);\n },\n Polygon: function(object, stream) {\n streamPolygon(object.coordinates, stream);\n },\n MultiPolygon: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) streamPolygon(coordinates[i], stream);\n },\n GeometryCollection: function(object, stream) {\n var geometries = object.geometries, i = -1, n = geometries.length;\n while (++i < n) streamGeometry(geometries[i], stream);\n }\n};\n\nfunction streamLine(coordinates, stream, closed) {\n var i = -1, n = coordinates.length - closed, coordinate;\n stream.lineStart();\n while (++i < n) coordinate = coordinates[i], stream.point(coordinate[0], coordinate[1], coordinate[2]);\n stream.lineEnd();\n}\n\nfunction streamPolygon(coordinates, stream) {\n var i = -1, n = coordinates.length;\n stream.polygonStart();\n while (++i < n) streamLine(coordinates[i], stream, 1);\n stream.polygonEnd();\n}\n\nexport default function(object, stream) {\n if (object && streamObjectType.hasOwnProperty(object.type)) {\n streamObjectType[object.type](object, stream);\n } else {\n streamGeometry(object, stream);\n }\n}\n","import {asin, atan2, cos, sin, sqrt} from \"./math.js\";\n\nexport function spherical(cartesian) {\n return [atan2(cartesian[1], cartesian[0]), asin(cartesian[2])];\n}\n\nexport function cartesian(spherical) {\n var lambda = spherical[0], phi = spherical[1], cosPhi = cos(phi);\n return [cosPhi * cos(lambda), cosPhi * sin(lambda), sin(phi)];\n}\n\nexport function cartesianDot(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n}\n\nexport function cartesianCross(a, b) {\n return [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]];\n}\n\n// TODO return a\nexport function cartesianAddInPlace(a, b) {\n a[0] += b[0], a[1] += b[1], a[2] += b[2];\n}\n\nexport function cartesianScale(vector, k) {\n return [vector[0] * k, vector[1] * k, vector[2] * k];\n}\n\n// TODO return d\nexport function cartesianNormalizeInPlace(d) {\n var l = sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);\n d[0] /= l, d[1] /= l, d[2] /= l;\n}\n","export default function(a, b) {\n\n function compose(x, y) {\n return x = a(x, y), b(x[0], x[1]);\n }\n\n if (a.invert && b.invert) compose.invert = function(x, y) {\n return x = b.invert(x, y), x && a.invert(x[0], x[1]);\n };\n\n return compose;\n}\n","import compose from \"./compose.js\";\nimport {abs, asin, atan2, cos, degrees, pi, radians, sin, tau} from \"./math.js\";\n\nfunction rotationIdentity(lambda, phi) {\n if (abs(lambda) > pi) lambda -= Math.round(lambda / tau) * tau;\n return [lambda, phi];\n}\n\nrotationIdentity.invert = rotationIdentity;\n\nexport function rotateRadians(deltaLambda, deltaPhi, deltaGamma) {\n return (deltaLambda %= tau) ? (deltaPhi || deltaGamma ? compose(rotationLambda(deltaLambda), rotationPhiGamma(deltaPhi, deltaGamma))\n : rotationLambda(deltaLambda))\n : (deltaPhi || deltaGamma ? rotationPhiGamma(deltaPhi, deltaGamma)\n : rotationIdentity);\n}\n\nfunction forwardRotationLambda(deltaLambda) {\n return function(lambda, phi) {\n lambda += deltaLambda;\n if (abs(lambda) > pi) lambda -= Math.round(lambda / tau) * tau;\n return [lambda, phi];\n };\n}\n\nfunction rotationLambda(deltaLambda) {\n var rotation = forwardRotationLambda(deltaLambda);\n rotation.invert = forwardRotationLambda(-deltaLambda);\n return rotation;\n}\n\nfunction rotationPhiGamma(deltaPhi, deltaGamma) {\n var cosDeltaPhi = cos(deltaPhi),\n sinDeltaPhi = sin(deltaPhi),\n cosDeltaGamma = cos(deltaGamma),\n sinDeltaGamma = sin(deltaGamma);\n\n function rotation(lambda, phi) {\n var cosPhi = cos(phi),\n x = cos(lambda) * cosPhi,\n y = sin(lambda) * cosPhi,\n z = sin(phi),\n k = z * cosDeltaPhi + x * sinDeltaPhi;\n return [\n atan2(y * cosDeltaGamma - k * sinDeltaGamma, x * cosDeltaPhi - z * sinDeltaPhi),\n asin(k * cosDeltaGamma + y * sinDeltaGamma)\n ];\n }\n\n rotation.invert = function(lambda, phi) {\n var cosPhi = cos(phi),\n x = cos(lambda) * cosPhi,\n y = sin(lambda) * cosPhi,\n z = sin(phi),\n k = z * cosDeltaGamma - y * sinDeltaGamma;\n return [\n atan2(y * cosDeltaGamma + z * sinDeltaGamma, x * cosDeltaPhi + k * sinDeltaPhi),\n asin(k * cosDeltaPhi - x * sinDeltaPhi)\n ];\n };\n\n return rotation;\n}\n\nexport default function(rotate) {\n rotate = rotateRadians(rotate[0] * radians, rotate[1] * radians, rotate.length > 2 ? rotate[2] * radians : 0);\n\n function forward(coordinates) {\n coordinates = rotate(coordinates[0] * radians, coordinates[1] * radians);\n return coordinates[0] *= degrees, coordinates[1] *= degrees, coordinates;\n }\n\n forward.invert = function(coordinates) {\n coordinates = rotate.invert(coordinates[0] * radians, coordinates[1] * radians);\n return coordinates[0] *= degrees, coordinates[1] *= degrees, coordinates;\n };\n\n return forward;\n}\n","import {cartesian, cartesianNormalizeInPlace, spherical} from \"./cartesian.js\";\nimport constant from \"./constant.js\";\nimport {acos, cos, degrees, epsilon, radians, sin, tau} from \"./math.js\";\nimport {rotateRadians} from \"./rotation.js\";\n\n// Generates a circle centered at [0°, 0°], with a given radius and precision.\nexport function circleStream(stream, radius, delta, direction, t0, t1) {\n if (!delta) return;\n var cosRadius = cos(radius),\n sinRadius = sin(radius),\n step = direction * delta;\n if (t0 == null) {\n t0 = radius + direction * tau;\n t1 = radius - step / 2;\n } else {\n t0 = circleRadius(cosRadius, t0);\n t1 = circleRadius(cosRadius, t1);\n if (direction > 0 ? t0 < t1 : t0 > t1) t0 += direction * tau;\n }\n for (var point, t = t0; direction > 0 ? t > t1 : t < t1; t -= step) {\n point = spherical([cosRadius, -sinRadius * cos(t), -sinRadius * sin(t)]);\n stream.point(point[0], point[1]);\n }\n}\n\n// Returns the signed angle of a cartesian point relative to [cosRadius, 0, 0].\nfunction circleRadius(cosRadius, point) {\n point = cartesian(point), point[0] -= cosRadius;\n cartesianNormalizeInPlace(point);\n var radius = acos(-point[1]);\n return ((-point[2] < 0 ? -radius : radius) + tau - epsilon) % tau;\n}\n\nexport default function() {\n var center = constant([0, 0]),\n radius = constant(90),\n precision = constant(6),\n ring,\n rotate,\n stream = {point: point};\n\n function point(x, y) {\n ring.push(x = rotate(x, y));\n x[0] *= degrees, x[1] *= degrees;\n }\n\n function circle() {\n var c = center.apply(this, arguments),\n r = radius.apply(this, arguments) * radians,\n p = precision.apply(this, arguments) * radians;\n ring = [];\n rotate = rotateRadians(-c[0] * radians, -c[1] * radians, 0).invert;\n circleStream(stream, r, p, 1);\n c = {type: \"Polygon\", coordinates: [ring]};\n ring = rotate = null;\n return c;\n }\n\n circle.center = function(_) {\n return arguments.length ? (center = typeof _ === \"function\" ? _ : constant([+_[0], +_[1]]), circle) : center;\n };\n\n circle.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), circle) : radius;\n };\n\n circle.precision = function(_) {\n return arguments.length ? (precision = typeof _ === \"function\" ? _ : constant(+_), circle) : precision;\n };\n\n return circle;\n}\n","import noop from \"../noop.js\";\n\nexport default function() {\n var lines = [],\n line;\n return {\n point: function(x, y, m) {\n line.push([x, y, m]);\n },\n lineStart: function() {\n lines.push(line = []);\n },\n lineEnd: noop,\n rejoin: function() {\n if (lines.length > 1) lines.push(lines.pop().concat(lines.shift()));\n },\n result: function() {\n var result = lines;\n lines = [];\n line = null;\n return result;\n }\n };\n}\n","import {abs, epsilon} from \"./math.js\";\n\nexport default function(a, b) {\n return abs(a[0] - b[0]) < epsilon && abs(a[1] - b[1]) < epsilon;\n}\n","import pointEqual from \"../pointEqual.js\";\nimport {epsilon} from \"../math.js\";\n\nfunction Intersection(point, points, other, entry) {\n this.x = point;\n this.z = points;\n this.o = other; // another intersection\n this.e = entry; // is an entry?\n this.v = false; // visited\n this.n = this.p = null; // next & previous\n}\n\n// A generalized polygon clipping algorithm: given a polygon that has been cut\n// into its visible line segments, and rejoins the segments by interpolating\n// along the clip edge.\nexport default function(segments, compareIntersection, startInside, interpolate, stream) {\n var subject = [],\n clip = [],\n i,\n n;\n\n segments.forEach(function(segment) {\n if ((n = segment.length - 1) <= 0) return;\n var n, p0 = segment[0], p1 = segment[n], x;\n\n if (pointEqual(p0, p1)) {\n if (!p0[2] && !p1[2]) {\n stream.lineStart();\n for (i = 0; i < n; ++i) stream.point((p0 = segment[i])[0], p0[1]);\n stream.lineEnd();\n return;\n }\n // handle degenerate cases by moving the point\n p1[0] += 2 * epsilon;\n }\n\n subject.push(x = new Intersection(p0, segment, null, true));\n clip.push(x.o = new Intersection(p0, null, x, false));\n subject.push(x = new Intersection(p1, segment, null, false));\n clip.push(x.o = new Intersection(p1, null, x, true));\n });\n\n if (!subject.length) return;\n\n clip.sort(compareIntersection);\n link(subject);\n link(clip);\n\n for (i = 0, n = clip.length; i < n; ++i) {\n clip[i].e = startInside = !startInside;\n }\n\n var start = subject[0],\n points,\n point;\n\n while (1) {\n // Find first unvisited intersection.\n var current = start,\n isSubject = true;\n while (current.v) if ((current = current.n) === start) return;\n points = current.z;\n stream.lineStart();\n do {\n current.v = current.o.v = true;\n if (current.e) {\n if (isSubject) {\n for (i = 0, n = points.length; i < n; ++i) stream.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.n.x, 1, stream);\n }\n current = current.n;\n } else {\n if (isSubject) {\n points = current.p.z;\n for (i = points.length - 1; i >= 0; --i) stream.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.p.x, -1, stream);\n }\n current = current.p;\n }\n current = current.o;\n points = current.z;\n isSubject = !isSubject;\n } while (!current.v);\n stream.lineEnd();\n }\n}\n\nfunction link(array) {\n if (!(n = array.length)) return;\n var n,\n i = 0,\n a = array[0],\n b;\n while (++i < n) {\n a.n = b = array[i];\n b.p = a;\n a = b;\n }\n a.n = b = array[0];\n b.p = a;\n}\n","import {Adder} from \"d3-array\";\nimport {cartesian, cartesianCross, cartesianNormalizeInPlace} from \"./cartesian.js\";\nimport {abs, asin, atan2, cos, epsilon, epsilon2, halfPi, pi, quarterPi, sign, sin, tau} from \"./math.js\";\n\nfunction longitude(point) {\n return abs(point[0]) <= pi ? point[0] : sign(point[0]) * ((abs(point[0]) + pi) % tau - pi);\n}\n\nexport default function(polygon, point) {\n var lambda = longitude(point),\n phi = point[1],\n sinPhi = sin(phi),\n normal = [sin(lambda), -cos(lambda), 0],\n angle = 0,\n winding = 0;\n\n var sum = new Adder();\n\n if (sinPhi === 1) phi = halfPi + epsilon;\n else if (sinPhi === -1) phi = -halfPi - epsilon;\n\n for (var i = 0, n = polygon.length; i < n; ++i) {\n if (!(m = (ring = polygon[i]).length)) continue;\n var ring,\n m,\n point0 = ring[m - 1],\n lambda0 = longitude(point0),\n phi0 = point0[1] / 2 + quarterPi,\n sinPhi0 = sin(phi0),\n cosPhi0 = cos(phi0);\n\n for (var j = 0; j < m; ++j, lambda0 = lambda1, sinPhi0 = sinPhi1, cosPhi0 = cosPhi1, point0 = point1) {\n var point1 = ring[j],\n lambda1 = longitude(point1),\n phi1 = point1[1] / 2 + quarterPi,\n sinPhi1 = sin(phi1),\n cosPhi1 = cos(phi1),\n delta = lambda1 - lambda0,\n sign = delta >= 0 ? 1 : -1,\n absDelta = sign * delta,\n antimeridian = absDelta > pi,\n k = sinPhi0 * sinPhi1;\n\n sum.add(atan2(k * sign * sin(absDelta), cosPhi0 * cosPhi1 + k * cos(absDelta)));\n angle += antimeridian ? delta + sign * tau : delta;\n\n // Are the longitudes either side of the point’s meridian (lambda),\n // and are the latitudes smaller than the parallel (phi)?\n if (antimeridian ^ lambda0 >= lambda ^ lambda1 >= lambda) {\n var arc = cartesianCross(cartesian(point0), cartesian(point1));\n cartesianNormalizeInPlace(arc);\n var intersection = cartesianCross(normal, arc);\n cartesianNormalizeInPlace(intersection);\n var phiArc = (antimeridian ^ delta >= 0 ? -1 : 1) * asin(intersection[2]);\n if (phi > phiArc || phi === phiArc && (arc[0] || arc[1])) {\n winding += antimeridian ^ delta >= 0 ? 1 : -1;\n }\n }\n }\n }\n\n // First, determine whether the South pole is inside or outside:\n //\n // It is inside if:\n // * the polygon winds around it in a clockwise direction.\n // * the polygon does not (cumulatively) wind around it, but has a negative\n // (counter-clockwise) area.\n //\n // Second, count the (signed) number of times a segment crosses a lambda\n // from the point to the South pole. If it is zero, then the point is the\n // same side as the South pole.\n\n return (angle < -epsilon || angle < epsilon && sum < -epsilon2) ^ (winding & 1);\n}\n","import clipBuffer from \"./buffer.js\";\nimport clipRejoin from \"./rejoin.js\";\nimport {epsilon, halfPi} from \"../math.js\";\nimport polygonContains from \"../polygonContains.js\";\nimport {merge} from \"d3-array\";\n\nexport default function(pointVisible, clipLine, interpolate, start) {\n return function(sink) {\n var line = clipLine(sink),\n ringBuffer = clipBuffer(),\n ringSink = clipLine(ringBuffer),\n polygonStarted = false,\n polygon,\n segments,\n ring;\n\n var clip = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n clip.point = pointRing;\n clip.lineStart = ringStart;\n clip.lineEnd = ringEnd;\n segments = [];\n polygon = [];\n },\n polygonEnd: function() {\n clip.point = point;\n clip.lineStart = lineStart;\n clip.lineEnd = lineEnd;\n segments = merge(segments);\n var startInside = polygonContains(polygon, start);\n if (segments.length) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n clipRejoin(segments, compareIntersection, startInside, interpolate, sink);\n } else if (startInside) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n sink.lineStart();\n interpolate(null, null, 1, sink);\n sink.lineEnd();\n }\n if (polygonStarted) sink.polygonEnd(), polygonStarted = false;\n segments = polygon = null;\n },\n sphere: function() {\n sink.polygonStart();\n sink.lineStart();\n interpolate(null, null, 1, sink);\n sink.lineEnd();\n sink.polygonEnd();\n }\n };\n\n function point(lambda, phi) {\n if (pointVisible(lambda, phi)) sink.point(lambda, phi);\n }\n\n function pointLine(lambda, phi) {\n line.point(lambda, phi);\n }\n\n function lineStart() {\n clip.point = pointLine;\n line.lineStart();\n }\n\n function lineEnd() {\n clip.point = point;\n line.lineEnd();\n }\n\n function pointRing(lambda, phi) {\n ring.push([lambda, phi]);\n ringSink.point(lambda, phi);\n }\n\n function ringStart() {\n ringSink.lineStart();\n ring = [];\n }\n\n function ringEnd() {\n pointRing(ring[0][0], ring[0][1]);\n ringSink.lineEnd();\n\n var clean = ringSink.clean(),\n ringSegments = ringBuffer.result(),\n i, n = ringSegments.length, m,\n segment,\n point;\n\n ring.pop();\n polygon.push(ring);\n ring = null;\n\n if (!n) return;\n\n // No intersections.\n if (clean & 1) {\n segment = ringSegments[0];\n if ((m = segment.length - 1) > 0) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n sink.lineStart();\n for (i = 0; i < m; ++i) sink.point((point = segment[i])[0], point[1]);\n sink.lineEnd();\n }\n return;\n }\n\n // Rejoin connected segments.\n // TODO reuse ringBuffer.rejoin()?\n if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));\n\n segments.push(ringSegments.filter(validSegment));\n }\n\n return clip;\n };\n}\n\nfunction validSegment(segment) {\n return segment.length > 1;\n}\n\n// Intersections are sorted along the clip edge. For both antimeridian cutting\n// and circle clipping, the same comparison is used.\nfunction compareIntersection(a, b) {\n return ((a = a.x)[0] < 0 ? a[1] - halfPi - epsilon : halfPi - a[1])\n - ((b = b.x)[0] < 0 ? b[1] - halfPi - epsilon : halfPi - b[1]);\n}\n","import clip from \"./index.js\";\nimport {abs, atan, cos, epsilon, halfPi, pi, sin} from \"../math.js\";\n\nexport default clip(\n function() { return true; },\n clipAntimeridianLine,\n clipAntimeridianInterpolate,\n [-pi, -halfPi]\n);\n\n// Takes a line and cuts into visible segments. Return values: 0 - there were\n// intersections or the line was empty; 1 - no intersections; 2 - there were\n// intersections, and the first and last segments should be rejoined.\nfunction clipAntimeridianLine(stream) {\n var lambda0 = NaN,\n phi0 = NaN,\n sign0 = NaN,\n clean; // no intersections\n\n return {\n lineStart: function() {\n stream.lineStart();\n clean = 1;\n },\n point: function(lambda1, phi1) {\n var sign1 = lambda1 > 0 ? pi : -pi,\n delta = abs(lambda1 - lambda0);\n if (abs(delta - pi) < epsilon) { // line crosses a pole\n stream.point(lambda0, phi0 = (phi0 + phi1) / 2 > 0 ? halfPi : -halfPi);\n stream.point(sign0, phi0);\n stream.lineEnd();\n stream.lineStart();\n stream.point(sign1, phi0);\n stream.point(lambda1, phi0);\n clean = 0;\n } else if (sign0 !== sign1 && delta >= pi) { // line crosses antimeridian\n if (abs(lambda0 - sign0) < epsilon) lambda0 -= sign0 * epsilon; // handle degeneracies\n if (abs(lambda1 - sign1) < epsilon) lambda1 -= sign1 * epsilon;\n phi0 = clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1);\n stream.point(sign0, phi0);\n stream.lineEnd();\n stream.lineStart();\n stream.point(sign1, phi0);\n clean = 0;\n }\n stream.point(lambda0 = lambda1, phi0 = phi1);\n sign0 = sign1;\n },\n lineEnd: function() {\n stream.lineEnd();\n lambda0 = phi0 = NaN;\n },\n clean: function() {\n return 2 - clean; // if intersections, rejoin first and last segments\n }\n };\n}\n\nfunction clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1) {\n var cosPhi0,\n cosPhi1,\n sinLambda0Lambda1 = sin(lambda0 - lambda1);\n return abs(sinLambda0Lambda1) > epsilon\n ? atan((sin(phi0) * (cosPhi1 = cos(phi1)) * sin(lambda1)\n - sin(phi1) * (cosPhi0 = cos(phi0)) * sin(lambda0))\n / (cosPhi0 * cosPhi1 * sinLambda0Lambda1))\n : (phi0 + phi1) / 2;\n}\n\nfunction clipAntimeridianInterpolate(from, to, direction, stream) {\n var phi;\n if (from == null) {\n phi = direction * halfPi;\n stream.point(-pi, phi);\n stream.point(0, phi);\n stream.point(pi, phi);\n stream.point(pi, 0);\n stream.point(pi, -phi);\n stream.point(0, -phi);\n stream.point(-pi, -phi);\n stream.point(-pi, 0);\n stream.point(-pi, phi);\n } else if (abs(from[0] - to[0]) > epsilon) {\n var lambda = from[0] < to[0] ? pi : -pi;\n phi = direction * lambda / 2;\n stream.point(-lambda, phi);\n stream.point(0, phi);\n stream.point(lambda, phi);\n } else {\n stream.point(to[0], to[1]);\n }\n}\n","import {cartesian, cartesianAddInPlace, cartesianCross, cartesianDot, cartesianScale, spherical} from \"../cartesian.js\";\nimport {circleStream} from \"../circle.js\";\nimport {abs, cos, epsilon, pi, radians, sqrt} from \"../math.js\";\nimport pointEqual from \"../pointEqual.js\";\nimport clip from \"./index.js\";\n\nexport default function(radius) {\n var cr = cos(radius),\n delta = 6 * radians,\n smallRadius = cr > 0,\n notHemisphere = abs(cr) > epsilon; // TODO optimise for this common case\n\n function interpolate(from, to, direction, stream) {\n circleStream(stream, radius, delta, direction, from, to);\n }\n\n function visible(lambda, phi) {\n return cos(lambda) * cos(phi) > cr;\n }\n\n // Takes a line and cuts into visible segments. Return values used for polygon\n // clipping: 0 - there were intersections or the line was empty; 1 - no\n // intersections 2 - there were intersections, and the first and last segments\n // should be rejoined.\n function clipLine(stream) {\n var point0, // previous point\n c0, // code for previous point\n v0, // visibility of previous point\n v00, // visibility of first point\n clean; // no intersections\n return {\n lineStart: function() {\n v00 = v0 = false;\n clean = 1;\n },\n point: function(lambda, phi) {\n var point1 = [lambda, phi],\n point2,\n v = visible(lambda, phi),\n c = smallRadius\n ? v ? 0 : code(lambda, phi)\n : v ? code(lambda + (lambda < 0 ? pi : -pi), phi) : 0;\n if (!point0 && (v00 = v0 = v)) stream.lineStart();\n if (v !== v0) {\n point2 = intersect(point0, point1);\n if (!point2 || pointEqual(point0, point2) || pointEqual(point1, point2))\n point1[2] = 1;\n }\n if (v !== v0) {\n clean = 0;\n if (v) {\n // outside going in\n stream.lineStart();\n point2 = intersect(point1, point0);\n stream.point(point2[0], point2[1]);\n } else {\n // inside going out\n point2 = intersect(point0, point1);\n stream.point(point2[0], point2[1], 2);\n stream.lineEnd();\n }\n point0 = point2;\n } else if (notHemisphere && point0 && smallRadius ^ v) {\n var t;\n // If the codes for two points are different, or are both zero,\n // and there this segment intersects with the small circle.\n if (!(c & c0) && (t = intersect(point1, point0, true))) {\n clean = 0;\n if (smallRadius) {\n stream.lineStart();\n stream.point(t[0][0], t[0][1]);\n stream.point(t[1][0], t[1][1]);\n stream.lineEnd();\n } else {\n stream.point(t[1][0], t[1][1]);\n stream.lineEnd();\n stream.lineStart();\n stream.point(t[0][0], t[0][1], 3);\n }\n }\n }\n if (v && (!point0 || !pointEqual(point0, point1))) {\n stream.point(point1[0], point1[1]);\n }\n point0 = point1, v0 = v, c0 = c;\n },\n lineEnd: function() {\n if (v0) stream.lineEnd();\n point0 = null;\n },\n // Rejoin first and last segments if there were intersections and the first\n // and last points were visible.\n clean: function() {\n return clean | ((v00 && v0) << 1);\n }\n };\n }\n\n // Intersects the great circle between a and b with the clip circle.\n function intersect(a, b, two) {\n var pa = cartesian(a),\n pb = cartesian(b);\n\n // We have two planes, n1.p = d1 and n2.p = d2.\n // Find intersection line p(t) = c1 n1 + c2 n2 + t (n1 ⨯ n2).\n var n1 = [1, 0, 0], // normal\n n2 = cartesianCross(pa, pb),\n n2n2 = cartesianDot(n2, n2),\n n1n2 = n2[0], // cartesianDot(n1, n2),\n determinant = n2n2 - n1n2 * n1n2;\n\n // Two polar points.\n if (!determinant) return !two && a;\n\n var c1 = cr * n2n2 / determinant,\n c2 = -cr * n1n2 / determinant,\n n1xn2 = cartesianCross(n1, n2),\n A = cartesianScale(n1, c1),\n B = cartesianScale(n2, c2);\n cartesianAddInPlace(A, B);\n\n // Solve |p(t)|^2 = 1.\n var u = n1xn2,\n w = cartesianDot(A, u),\n uu = cartesianDot(u, u),\n t2 = w * w - uu * (cartesianDot(A, A) - 1);\n\n if (t2 < 0) return;\n\n var t = sqrt(t2),\n q = cartesianScale(u, (-w - t) / uu);\n cartesianAddInPlace(q, A);\n q = spherical(q);\n\n if (!two) return q;\n\n // Two intersection points.\n var lambda0 = a[0],\n lambda1 = b[0],\n phi0 = a[1],\n phi1 = b[1],\n z;\n\n if (lambda1 < lambda0) z = lambda0, lambda0 = lambda1, lambda1 = z;\n\n var delta = lambda1 - lambda0,\n polar = abs(delta - pi) < epsilon,\n meridian = polar || delta < epsilon;\n\n if (!polar && phi1 < phi0) z = phi0, phi0 = phi1, phi1 = z;\n\n // Check that the first point is between a and b.\n if (meridian\n ? polar\n ? phi0 + phi1 > 0 ^ q[1] < (abs(q[0] - lambda0) < epsilon ? phi0 : phi1)\n : phi0 <= q[1] && q[1] <= phi1\n : delta > pi ^ (lambda0 <= q[0] && q[0] <= lambda1)) {\n var q1 = cartesianScale(u, (-w + t) / uu);\n cartesianAddInPlace(q1, A);\n return [q, spherical(q1)];\n }\n }\n\n // Generates a 4-bit vector representing the location of a point relative to\n // the small circle's bounding box.\n function code(lambda, phi) {\n var r = smallRadius ? radius : pi - radius,\n code = 0;\n if (lambda < -r) code |= 1; // left\n else if (lambda > r) code |= 2; // right\n if (phi < -r) code |= 4; // below\n else if (phi > r) code |= 8; // above\n return code;\n }\n\n return clip(visible, clipLine, interpolate, smallRadius ? [0, -radius] : [-pi, radius - pi]);\n}\n","export default function(a, b, x0, y0, x1, y1) {\n var ax = a[0],\n ay = a[1],\n bx = b[0],\n by = b[1],\n t0 = 0,\n t1 = 1,\n dx = bx - ax,\n dy = by - ay,\n r;\n\n r = x0 - ax;\n if (!dx && r > 0) return;\n r /= dx;\n if (dx < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dx > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = x1 - ax;\n if (!dx && r < 0) return;\n r /= dx;\n if (dx < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dx > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n r = y0 - ay;\n if (!dy && r > 0) return;\n r /= dy;\n if (dy < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dy > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = y1 - ay;\n if (!dy && r < 0) return;\n r /= dy;\n if (dy < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dy > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n if (t0 > 0) a[0] = ax + t0 * dx, a[1] = ay + t0 * dy;\n if (t1 < 1) b[0] = ax + t1 * dx, b[1] = ay + t1 * dy;\n return true;\n}\n","import {abs, epsilon} from \"../math.js\";\nimport clipBuffer from \"./buffer.js\";\nimport clipLine from \"./line.js\";\nimport clipRejoin from \"./rejoin.js\";\nimport {merge} from \"d3-array\";\n\nvar clipMax = 1e9, clipMin = -clipMax;\n\n// TODO Use d3-polygon’s polygonContains here for the ring check?\n// TODO Eliminate duplicate buffering in clipBuffer and polygon.push?\n\nexport default function clipRectangle(x0, y0, x1, y1) {\n\n function visible(x, y) {\n return x0 <= x && x <= x1 && y0 <= y && y <= y1;\n }\n\n function interpolate(from, to, direction, stream) {\n var a = 0, a1 = 0;\n if (from == null\n || (a = corner(from, direction)) !== (a1 = corner(to, direction))\n || comparePoint(from, to) < 0 ^ direction > 0) {\n do stream.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0);\n while ((a = (a + direction + 4) % 4) !== a1);\n } else {\n stream.point(to[0], to[1]);\n }\n }\n\n function corner(p, direction) {\n return abs(p[0] - x0) < epsilon ? direction > 0 ? 0 : 3\n : abs(p[0] - x1) < epsilon ? direction > 0 ? 2 : 1\n : abs(p[1] - y0) < epsilon ? direction > 0 ? 1 : 0\n : direction > 0 ? 3 : 2; // abs(p[1] - y1) < epsilon\n }\n\n function compareIntersection(a, b) {\n return comparePoint(a.x, b.x);\n }\n\n function comparePoint(a, b) {\n var ca = corner(a, 1),\n cb = corner(b, 1);\n return ca !== cb ? ca - cb\n : ca === 0 ? b[1] - a[1]\n : ca === 1 ? a[0] - b[0]\n : ca === 2 ? a[1] - b[1]\n : b[0] - a[0];\n }\n\n return function(stream) {\n var activeStream = stream,\n bufferStream = clipBuffer(),\n segments,\n polygon,\n ring,\n x__, y__, v__, // first point\n x_, y_, v_, // previous point\n first,\n clean;\n\n var clipStream = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: polygonStart,\n polygonEnd: polygonEnd\n };\n\n function point(x, y) {\n if (visible(x, y)) activeStream.point(x, y);\n }\n\n function polygonInside() {\n var winding = 0;\n\n for (var i = 0, n = polygon.length; i < n; ++i) {\n for (var ring = polygon[i], j = 1, m = ring.length, point = ring[0], a0, a1, b0 = point[0], b1 = point[1]; j < m; ++j) {\n a0 = b0, a1 = b1, point = ring[j], b0 = point[0], b1 = point[1];\n if (a1 <= y1) { if (b1 > y1 && (b0 - a0) * (y1 - a1) > (b1 - a1) * (x0 - a0)) ++winding; }\n else { if (b1 <= y1 && (b0 - a0) * (y1 - a1) < (b1 - a1) * (x0 - a0)) --winding; }\n }\n }\n\n return winding;\n }\n\n // Buffer geometry within a polygon and then clip it en masse.\n function polygonStart() {\n activeStream = bufferStream, segments = [], polygon = [], clean = true;\n }\n\n function polygonEnd() {\n var startInside = polygonInside(),\n cleanInside = clean && startInside,\n visible = (segments = merge(segments)).length;\n if (cleanInside || visible) {\n stream.polygonStart();\n if (cleanInside) {\n stream.lineStart();\n interpolate(null, null, 1, stream);\n stream.lineEnd();\n }\n if (visible) {\n clipRejoin(segments, compareIntersection, startInside, interpolate, stream);\n }\n stream.polygonEnd();\n }\n activeStream = stream, segments = polygon = ring = null;\n }\n\n function lineStart() {\n clipStream.point = linePoint;\n if (polygon) polygon.push(ring = []);\n first = true;\n v_ = false;\n x_ = y_ = NaN;\n }\n\n // TODO rather than special-case polygons, simply handle them separately.\n // Ideally, coincident intersection points should be jittered to avoid\n // clipping issues.\n function lineEnd() {\n if (segments) {\n linePoint(x__, y__);\n if (v__ && v_) bufferStream.rejoin();\n segments.push(bufferStream.result());\n }\n clipStream.point = point;\n if (v_) activeStream.lineEnd();\n }\n\n function linePoint(x, y) {\n var v = visible(x, y);\n if (polygon) ring.push([x, y]);\n if (first) {\n x__ = x, y__ = y, v__ = v;\n first = false;\n if (v) {\n activeStream.lineStart();\n activeStream.point(x, y);\n }\n } else {\n if (v && v_) activeStream.point(x, y);\n else {\n var a = [x_ = Math.max(clipMin, Math.min(clipMax, x_)), y_ = Math.max(clipMin, Math.min(clipMax, y_))],\n b = [x = Math.max(clipMin, Math.min(clipMax, x)), y = Math.max(clipMin, Math.min(clipMax, y))];\n if (clipLine(a, b, x0, y0, x1, y1)) {\n if (!v_) {\n activeStream.lineStart();\n activeStream.point(a[0], a[1]);\n }\n activeStream.point(b[0], b[1]);\n if (!v) activeStream.lineEnd();\n clean = false;\n } else if (v) {\n activeStream.lineStart();\n activeStream.point(x, y);\n clean = false;\n }\n }\n }\n x_ = x, y_ = y, v_ = v;\n }\n\n return clipStream;\n };\n}\n","export default x => x;\n","import {Adder} from \"d3-array\";\nimport {abs} from \"../math.js\";\nimport noop from \"../noop.js\";\n\nvar areaSum = new Adder(),\n areaRingSum = new Adder(),\n x00,\n y00,\n x0,\n y0;\n\nvar areaStream = {\n point: noop,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: function() {\n areaStream.lineStart = areaRingStart;\n areaStream.lineEnd = areaRingEnd;\n },\n polygonEnd: function() {\n areaStream.lineStart = areaStream.lineEnd = areaStream.point = noop;\n areaSum.add(abs(areaRingSum));\n areaRingSum = new Adder();\n },\n result: function() {\n var area = areaSum / 2;\n areaSum = new Adder();\n return area;\n }\n};\n\nfunction areaRingStart() {\n areaStream.point = areaPointFirst;\n}\n\nfunction areaPointFirst(x, y) {\n areaStream.point = areaPoint;\n x00 = x0 = x, y00 = y0 = y;\n}\n\nfunction areaPoint(x, y) {\n areaRingSum.add(y0 * x - x0 * y);\n x0 = x, y0 = y;\n}\n\nfunction areaRingEnd() {\n areaPoint(x00, y00);\n}\n\nexport default areaStream;\n","import noop from \"../noop.js\";\n\nvar x0 = Infinity,\n y0 = x0,\n x1 = -x0,\n y1 = x1;\n\nvar boundsStream = {\n point: boundsPoint,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: noop,\n polygonEnd: noop,\n result: function() {\n var bounds = [[x0, y0], [x1, y1]];\n x1 = y1 = -(y0 = x0 = Infinity);\n return bounds;\n }\n};\n\nfunction boundsPoint(x, y) {\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n if (y < y0) y0 = y;\n if (y > y1) y1 = y;\n}\n\nexport default boundsStream;\n","import {sqrt} from \"../math.js\";\n\n// TODO Enforce positive area for exterior, negative area for interior?\n\nvar X0 = 0,\n Y0 = 0,\n Z0 = 0,\n X1 = 0,\n Y1 = 0,\n Z1 = 0,\n X2 = 0,\n Y2 = 0,\n Z2 = 0,\n x00,\n y00,\n x0,\n y0;\n\nvar centroidStream = {\n point: centroidPoint,\n lineStart: centroidLineStart,\n lineEnd: centroidLineEnd,\n polygonStart: function() {\n centroidStream.lineStart = centroidRingStart;\n centroidStream.lineEnd = centroidRingEnd;\n },\n polygonEnd: function() {\n centroidStream.point = centroidPoint;\n centroidStream.lineStart = centroidLineStart;\n centroidStream.lineEnd = centroidLineEnd;\n },\n result: function() {\n var centroid = Z2 ? [X2 / Z2, Y2 / Z2]\n : Z1 ? [X1 / Z1, Y1 / Z1]\n : Z0 ? [X0 / Z0, Y0 / Z0]\n : [NaN, NaN];\n X0 = Y0 = Z0 =\n X1 = Y1 = Z1 =\n X2 = Y2 = Z2 = 0;\n return centroid;\n }\n};\n\nfunction centroidPoint(x, y) {\n X0 += x;\n Y0 += y;\n ++Z0;\n}\n\nfunction centroidLineStart() {\n centroidStream.point = centroidPointFirstLine;\n}\n\nfunction centroidPointFirstLine(x, y) {\n centroidStream.point = centroidPointLine;\n centroidPoint(x0 = x, y0 = y);\n}\n\nfunction centroidPointLine(x, y) {\n var dx = x - x0, dy = y - y0, z = sqrt(dx * dx + dy * dy);\n X1 += z * (x0 + x) / 2;\n Y1 += z * (y0 + y) / 2;\n Z1 += z;\n centroidPoint(x0 = x, y0 = y);\n}\n\nfunction centroidLineEnd() {\n centroidStream.point = centroidPoint;\n}\n\nfunction centroidRingStart() {\n centroidStream.point = centroidPointFirstRing;\n}\n\nfunction centroidRingEnd() {\n centroidPointRing(x00, y00);\n}\n\nfunction centroidPointFirstRing(x, y) {\n centroidStream.point = centroidPointRing;\n centroidPoint(x00 = x0 = x, y00 = y0 = y);\n}\n\nfunction centroidPointRing(x, y) {\n var dx = x - x0,\n dy = y - y0,\n z = sqrt(dx * dx + dy * dy);\n\n X1 += z * (x0 + x) / 2;\n Y1 += z * (y0 + y) / 2;\n Z1 += z;\n\n z = y0 * x - x0 * y;\n X2 += z * (x0 + x);\n Y2 += z * (y0 + y);\n Z2 += z * 3;\n centroidPoint(x0 = x, y0 = y);\n}\n\nexport default centroidStream;\n","import {tau} from \"../math.js\";\nimport noop from \"../noop.js\";\n\nexport default function PathContext(context) {\n this._context = context;\n}\n\nPathContext.prototype = {\n _radius: 4.5,\n pointRadius: function(_) {\n return this._radius = _, this;\n },\n polygonStart: function() {\n this._line = 0;\n },\n polygonEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line === 0) this._context.closePath();\n this._point = NaN;\n },\n point: function(x, y) {\n switch (this._point) {\n case 0: {\n this._context.moveTo(x, y);\n this._point = 1;\n break;\n }\n case 1: {\n this._context.lineTo(x, y);\n break;\n }\n default: {\n this._context.moveTo(x + this._radius, y);\n this._context.arc(x, y, this._radius, 0, tau);\n break;\n }\n }\n },\n result: noop\n};\n","import {Adder} from \"d3-array\";\nimport {sqrt} from \"../math.js\";\nimport noop from \"../noop.js\";\n\nvar lengthSum = new Adder(),\n lengthRing,\n x00,\n y00,\n x0,\n y0;\n\nvar lengthStream = {\n point: noop,\n lineStart: function() {\n lengthStream.point = lengthPointFirst;\n },\n lineEnd: function() {\n if (lengthRing) lengthPoint(x00, y00);\n lengthStream.point = noop;\n },\n polygonStart: function() {\n lengthRing = true;\n },\n polygonEnd: function() {\n lengthRing = null;\n },\n result: function() {\n var length = +lengthSum;\n lengthSum = new Adder();\n return length;\n }\n};\n\nfunction lengthPointFirst(x, y) {\n lengthStream.point = lengthPoint;\n x00 = x0 = x, y00 = y0 = y;\n}\n\nfunction lengthPoint(x, y) {\n x0 -= x, y0 -= y;\n lengthSum.add(sqrt(x0 * x0 + y0 * y0));\n x0 = x, y0 = y;\n}\n\nexport default lengthStream;\n","// Simple caching for constant-radius points.\nlet cacheDigits, cacheAppend, cacheRadius, cacheCircle;\n\nexport default class PathString {\n constructor(digits) {\n this._append = digits == null ? append : appendRound(digits);\n this._radius = 4.5;\n this._ = \"\";\n }\n pointRadius(_) {\n this._radius = +_;\n return this;\n }\n polygonStart() {\n this._line = 0;\n }\n polygonEnd() {\n this._line = NaN;\n }\n lineStart() {\n this._point = 0;\n }\n lineEnd() {\n if (this._line === 0) this._ += \"Z\";\n this._point = NaN;\n }\n point(x, y) {\n switch (this._point) {\n case 0: {\n this._append`M${x},${y}`;\n this._point = 1;\n break;\n }\n case 1: {\n this._append`L${x},${y}`;\n break;\n }\n default: {\n this._append`M${x},${y}`;\n if (this._radius !== cacheRadius || this._append !== cacheAppend) {\n const r = this._radius;\n const s = this._;\n this._ = \"\"; // stash the old string so we can cache the circle path fragment\n this._append`m0,${r}a${r},${r} 0 1,1 0,${-2 * r}a${r},${r} 0 1,1 0,${2 * r}z`;\n cacheRadius = r;\n cacheAppend = this._append;\n cacheCircle = this._;\n this._ = s;\n }\n this._ += cacheCircle;\n break;\n }\n }\n }\n result() {\n const result = this._;\n this._ = \"\";\n return result.length ? result : null;\n }\n}\n\nfunction append(strings) {\n let i = 1;\n this._ += strings[0];\n for (const j = strings.length; i < j; ++i) {\n this._ += arguments[i] + strings[i];\n }\n}\n\nfunction appendRound(digits) {\n const d = Math.floor(digits);\n if (!(d >= 0)) throw new RangeError(`invalid digits: ${digits}`);\n if (d > 15) return append;\n if (d !== cacheDigits) {\n const k = 10 ** d;\n cacheDigits = d;\n cacheAppend = function append(strings) {\n let i = 1;\n this._ += strings[0];\n for (const j = strings.length; i < j; ++i) {\n this._ += Math.round(arguments[i] * k) / k + strings[i];\n }\n };\n }\n return cacheAppend;\n}\n","import identity from \"../identity.js\";\nimport stream from \"../stream.js\";\nimport pathArea from \"./area.js\";\nimport pathBounds from \"./bounds.js\";\nimport pathCentroid from \"./centroid.js\";\nimport PathContext from \"./context.js\";\nimport pathMeasure from \"./measure.js\";\nimport PathString from \"./string.js\";\n\nexport default function(projection, context) {\n let digits = 3,\n pointRadius = 4.5,\n projectionStream,\n contextStream;\n\n function path(object) {\n if (object) {\n if (typeof pointRadius === \"function\") contextStream.pointRadius(+pointRadius.apply(this, arguments));\n stream(object, projectionStream(contextStream));\n }\n return contextStream.result();\n }\n\n path.area = function(object) {\n stream(object, projectionStream(pathArea));\n return pathArea.result();\n };\n\n path.measure = function(object) {\n stream(object, projectionStream(pathMeasure));\n return pathMeasure.result();\n };\n\n path.bounds = function(object) {\n stream(object, projectionStream(pathBounds));\n return pathBounds.result();\n };\n\n path.centroid = function(object) {\n stream(object, projectionStream(pathCentroid));\n return pathCentroid.result();\n };\n\n path.projection = function(_) {\n if (!arguments.length) return projection;\n projectionStream = _ == null ? (projection = null, identity) : (projection = _).stream;\n return path;\n };\n\n path.context = function(_) {\n if (!arguments.length) return context;\n contextStream = _ == null ? (context = null, new PathString(digits)) : new PathContext(context = _);\n if (typeof pointRadius !== \"function\") contextStream.pointRadius(pointRadius);\n return path;\n };\n\n path.pointRadius = function(_) {\n if (!arguments.length) return pointRadius;\n pointRadius = typeof _ === \"function\" ? _ : (contextStream.pointRadius(+_), +_);\n return path;\n };\n\n path.digits = function(_) {\n if (!arguments.length) return digits;\n if (_ == null) digits = null;\n else {\n const d = Math.floor(_);\n if (!(d >= 0)) throw new RangeError(`invalid digits: ${_}`);\n digits = d;\n }\n if (context === null) contextStream = new PathString(digits);\n return path;\n };\n\n return path.projection(projection).digits(digits).context(context);\n}\n","export default function(methods) {\n return {\n stream: transformer(methods)\n };\n}\n\nexport function transformer(methods) {\n return function(stream) {\n var s = new TransformStream;\n for (var key in methods) s[key] = methods[key];\n s.stream = stream;\n return s;\n };\n}\n\nfunction TransformStream() {}\n\nTransformStream.prototype = {\n constructor: TransformStream,\n point: function(x, y) { this.stream.point(x, y); },\n sphere: function() { this.stream.sphere(); },\n lineStart: function() { this.stream.lineStart(); },\n lineEnd: function() { this.stream.lineEnd(); },\n polygonStart: function() { this.stream.polygonStart(); },\n polygonEnd: function() { this.stream.polygonEnd(); }\n};\n","import {default as geoStream} from \"../stream.js\";\nimport boundsStream from \"../path/bounds.js\";\n\nfunction fit(projection, fitBounds, object) {\n var clip = projection.clipExtent && projection.clipExtent();\n projection.scale(150).translate([0, 0]);\n if (clip != null) projection.clipExtent(null);\n geoStream(object, projection.stream(boundsStream));\n fitBounds(boundsStream.result());\n if (clip != null) projection.clipExtent(clip);\n return projection;\n}\n\nexport function fitExtent(projection, extent, object) {\n return fit(projection, function(b) {\n var w = extent[1][0] - extent[0][0],\n h = extent[1][1] - extent[0][1],\n k = Math.min(w / (b[1][0] - b[0][0]), h / (b[1][1] - b[0][1])),\n x = +extent[0][0] + (w - k * (b[1][0] + b[0][0])) / 2,\n y = +extent[0][1] + (h - k * (b[1][1] + b[0][1])) / 2;\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n\nexport function fitSize(projection, size, object) {\n return fitExtent(projection, [[0, 0], size], object);\n}\n\nexport function fitWidth(projection, width, object) {\n return fit(projection, function(b) {\n var w = +width,\n k = w / (b[1][0] - b[0][0]),\n x = (w - k * (b[1][0] + b[0][0])) / 2,\n y = -k * b[0][1];\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n\nexport function fitHeight(projection, height, object) {\n return fit(projection, function(b) {\n var h = +height,\n k = h / (b[1][1] - b[0][1]),\n x = -k * b[0][0],\n y = (h - k * (b[1][1] + b[0][1])) / 2;\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n","import {cartesian} from \"../cartesian.js\";\nimport {abs, asin, atan2, cos, epsilon, radians, sqrt} from \"../math.js\";\nimport {transformer} from \"../transform.js\";\n\nvar maxDepth = 16, // maximum depth of subdivision\n cosMinDistance = cos(30 * radians); // cos(minimum angular distance)\n\nexport default function(project, delta2) {\n return +delta2 ? resample(project, delta2) : resampleNone(project);\n}\n\nfunction resampleNone(project) {\n return transformer({\n point: function(x, y) {\n x = project(x, y);\n this.stream.point(x[0], x[1]);\n }\n });\n}\n\nfunction resample(project, delta2) {\n\n function resampleLineTo(x0, y0, lambda0, a0, b0, c0, x1, y1, lambda1, a1, b1, c1, depth, stream) {\n var dx = x1 - x0,\n dy = y1 - y0,\n d2 = dx * dx + dy * dy;\n if (d2 > 4 * delta2 && depth--) {\n var a = a0 + a1,\n b = b0 + b1,\n c = c0 + c1,\n m = sqrt(a * a + b * b + c * c),\n phi2 = asin(c /= m),\n lambda2 = abs(abs(c) - 1) < epsilon || abs(lambda0 - lambda1) < epsilon ? (lambda0 + lambda1) / 2 : atan2(b, a),\n p = project(lambda2, phi2),\n x2 = p[0],\n y2 = p[1],\n dx2 = x2 - x0,\n dy2 = y2 - y0,\n dz = dy * dx2 - dx * dy2;\n if (dz * dz / d2 > delta2 // perpendicular projected distance\n || abs((dx * dx2 + dy * dy2) / d2 - 0.5) > 0.3 // midpoint close to an end\n || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) { // angular distance\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x2, y2, lambda2, a /= m, b /= m, c, depth, stream);\n stream.point(x2, y2);\n resampleLineTo(x2, y2, lambda2, a, b, c, x1, y1, lambda1, a1, b1, c1, depth, stream);\n }\n }\n }\n return function(stream) {\n var lambda00, x00, y00, a00, b00, c00, // first point\n lambda0, x0, y0, a0, b0, c0; // previous point\n\n var resampleStream = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() { stream.polygonStart(); resampleStream.lineStart = ringStart; },\n polygonEnd: function() { stream.polygonEnd(); resampleStream.lineStart = lineStart; }\n };\n\n function point(x, y) {\n x = project(x, y);\n stream.point(x[0], x[1]);\n }\n\n function lineStart() {\n x0 = NaN;\n resampleStream.point = linePoint;\n stream.lineStart();\n }\n\n function linePoint(lambda, phi) {\n var c = cartesian([lambda, phi]), p = project(lambda, phi);\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x0 = p[0], y0 = p[1], lambda0 = lambda, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream);\n stream.point(x0, y0);\n }\n\n function lineEnd() {\n resampleStream.point = point;\n stream.lineEnd();\n }\n\n function ringStart() {\n lineStart();\n resampleStream.point = ringPoint;\n resampleStream.lineEnd = ringEnd;\n }\n\n function ringPoint(lambda, phi) {\n linePoint(lambda00 = lambda, phi), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0;\n resampleStream.point = linePoint;\n }\n\n function ringEnd() {\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x00, y00, lambda00, a00, b00, c00, maxDepth, stream);\n resampleStream.lineEnd = lineEnd;\n lineEnd();\n }\n\n return resampleStream;\n };\n}\n","import clipAntimeridian from \"../clip/antimeridian.js\";\nimport clipCircle from \"../clip/circle.js\";\nimport clipRectangle from \"../clip/rectangle.js\";\nimport compose from \"../compose.js\";\nimport identity from \"../identity.js\";\nimport {cos, degrees, radians, sin, sqrt} from \"../math.js\";\nimport {rotateRadians} from \"../rotation.js\";\nimport {transformer} from \"../transform.js\";\nimport {fitExtent, fitSize, fitWidth, fitHeight} from \"./fit.js\";\nimport resample from \"./resample.js\";\n\nvar transformRadians = transformer({\n point: function(x, y) {\n this.stream.point(x * radians, y * radians);\n }\n});\n\nfunction transformRotate(rotate) {\n return transformer({\n point: function(x, y) {\n var r = rotate(x, y);\n return this.stream.point(r[0], r[1]);\n }\n });\n}\n\nfunction scaleTranslate(k, dx, dy, sx, sy) {\n function transform(x, y) {\n x *= sx; y *= sy;\n return [dx + k * x, dy - k * y];\n }\n transform.invert = function(x, y) {\n return [(x - dx) / k * sx, (dy - y) / k * sy];\n };\n return transform;\n}\n\nfunction scaleTranslateRotate(k, dx, dy, sx, sy, alpha) {\n if (!alpha) return scaleTranslate(k, dx, dy, sx, sy);\n var cosAlpha = cos(alpha),\n sinAlpha = sin(alpha),\n a = cosAlpha * k,\n b = sinAlpha * k,\n ai = cosAlpha / k,\n bi = sinAlpha / k,\n ci = (sinAlpha * dy - cosAlpha * dx) / k,\n fi = (sinAlpha * dx + cosAlpha * dy) / k;\n function transform(x, y) {\n x *= sx; y *= sy;\n return [a * x - b * y + dx, dy - b * x - a * y];\n }\n transform.invert = function(x, y) {\n return [sx * (ai * x - bi * y + ci), sy * (fi - bi * x - ai * y)];\n };\n return transform;\n}\n\nexport default function projection(project) {\n return projectionMutator(function() { return project; })();\n}\n\nexport function projectionMutator(projectAt) {\n var project,\n k = 150, // scale\n x = 480, y = 250, // translate\n lambda = 0, phi = 0, // center\n deltaLambda = 0, deltaPhi = 0, deltaGamma = 0, rotate, // pre-rotate\n alpha = 0, // post-rotate angle\n sx = 1, // reflectX\n sy = 1, // reflectX\n theta = null, preclip = clipAntimeridian, // pre-clip angle\n x0 = null, y0, x1, y1, postclip = identity, // post-clip extent\n delta2 = 0.5, // precision\n projectResample,\n projectTransform,\n projectRotateTransform,\n cache,\n cacheStream;\n\n function projection(point) {\n return projectRotateTransform(point[0] * radians, point[1] * radians);\n }\n\n function invert(point) {\n point = projectRotateTransform.invert(point[0], point[1]);\n return point && [point[0] * degrees, point[1] * degrees];\n }\n\n projection.stream = function(stream) {\n return cache && cacheStream === stream ? cache : cache = transformRadians(transformRotate(rotate)(preclip(projectResample(postclip(cacheStream = stream)))));\n };\n\n projection.preclip = function(_) {\n return arguments.length ? (preclip = _, theta = undefined, reset()) : preclip;\n };\n\n projection.postclip = function(_) {\n return arguments.length ? (postclip = _, x0 = y0 = x1 = y1 = null, reset()) : postclip;\n };\n\n projection.clipAngle = function(_) {\n return arguments.length ? (preclip = +_ ? clipCircle(theta = _ * radians) : (theta = null, clipAntimeridian), reset()) : theta * degrees;\n };\n\n projection.clipExtent = function(_) {\n return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, identity) : clipRectangle(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n };\n\n projection.scale = function(_) {\n return arguments.length ? (k = +_, recenter()) : k;\n };\n\n projection.translate = function(_) {\n return arguments.length ? (x = +_[0], y = +_[1], recenter()) : [x, y];\n };\n\n projection.center = function(_) {\n return arguments.length ? (lambda = _[0] % 360 * radians, phi = _[1] % 360 * radians, recenter()) : [lambda * degrees, phi * degrees];\n };\n\n projection.rotate = function(_) {\n return arguments.length ? (deltaLambda = _[0] % 360 * radians, deltaPhi = _[1] % 360 * radians, deltaGamma = _.length > 2 ? _[2] % 360 * radians : 0, recenter()) : [deltaLambda * degrees, deltaPhi * degrees, deltaGamma * degrees];\n };\n\n projection.angle = function(_) {\n return arguments.length ? (alpha = _ % 360 * radians, recenter()) : alpha * degrees;\n };\n\n projection.reflectX = function(_) {\n return arguments.length ? (sx = _ ? -1 : 1, recenter()) : sx < 0;\n };\n\n projection.reflectY = function(_) {\n return arguments.length ? (sy = _ ? -1 : 1, recenter()) : sy < 0;\n };\n\n projection.precision = function(_) {\n return arguments.length ? (projectResample = resample(projectTransform, delta2 = _ * _), reset()) : sqrt(delta2);\n };\n\n projection.fitExtent = function(extent, object) {\n return fitExtent(projection, extent, object);\n };\n\n projection.fitSize = function(size, object) {\n return fitSize(projection, size, object);\n };\n\n projection.fitWidth = function(width, object) {\n return fitWidth(projection, width, object);\n };\n\n projection.fitHeight = function(height, object) {\n return fitHeight(projection, height, object);\n };\n\n function recenter() {\n var center = scaleTranslateRotate(k, 0, 0, sx, sy, alpha).apply(null, project(lambda, phi)),\n transform = scaleTranslateRotate(k, x - center[0], y - center[1], sx, sy, alpha);\n rotate = rotateRadians(deltaLambda, deltaPhi, deltaGamma);\n projectTransform = compose(project, transform);\n projectRotateTransform = compose(rotate, projectTransform);\n projectResample = resample(projectTransform, delta2);\n return reset();\n }\n\n function reset() {\n cache = cacheStream = null;\n return projection;\n }\n\n return function() {\n project = projectAt.apply(this, arguments);\n projection.invert = project.invert && invert;\n return recenter();\n };\n}\n","import {degrees, pi, radians} from \"../math.js\";\nimport {projectionMutator} from \"./index.js\";\n\nexport function conicProjection(projectAt) {\n var phi0 = 0,\n phi1 = pi / 3,\n m = projectionMutator(projectAt),\n p = m(phi0, phi1);\n\n p.parallels = function(_) {\n return arguments.length ? m(phi0 = _[0] * radians, phi1 = _[1] * radians) : [phi0 * degrees, phi1 * degrees];\n };\n\n return p;\n}\n","import {asin, cos, sin} from \"../math.js\";\n\nexport function cylindricalEqualAreaRaw(phi0) {\n var cosPhi0 = cos(phi0);\n\n function forward(lambda, phi) {\n return [lambda * cosPhi0, sin(phi) / cosPhi0];\n }\n\n forward.invert = function(x, y) {\n return [x / cosPhi0, asin(y * cosPhi0)];\n };\n\n return forward;\n}\n","import {abs, asin, atan2, cos, epsilon, pi, sign, sin, sqrt} from \"../math.js\";\nimport {conicProjection} from \"./conic.js\";\nimport {cylindricalEqualAreaRaw} from \"./cylindricalEqualArea.js\";\n\nexport function conicEqualAreaRaw(y0, y1) {\n var sy0 = sin(y0), n = (sy0 + sin(y1)) / 2;\n\n // Are the parallels symmetrical around the Equator?\n if (abs(n) < epsilon) return cylindricalEqualAreaRaw(y0);\n\n var c = 1 + sy0 * (2 * n - sy0), r0 = sqrt(c) / n;\n\n function project(x, y) {\n var r = sqrt(c - 2 * n * sin(y)) / n;\n return [r * sin(x *= n), r0 - r * cos(x)];\n }\n\n project.invert = function(x, y) {\n var r0y = r0 - y,\n l = atan2(x, abs(r0y)) * sign(r0y);\n if (r0y * n < 0)\n l -= pi * sign(x) * sign(r0y);\n return [l / n, asin((c - (x * x + r0y * r0y) * n * n) / (2 * n))];\n };\n\n return project;\n}\n\nexport default function() {\n return conicProjection(conicEqualAreaRaw)\n .scale(155.424)\n .center([0, 33.6442]);\n}\n","import conicEqualArea from \"./conicEqualArea.js\";\n\nexport default function() {\n return conicEqualArea()\n .parallels([29.5, 45.5])\n .scale(1070)\n .translate([480, 250])\n .rotate([96, 0])\n .center([-0.6, 38.7]);\n}\n","import {atan, exp, halfPi, log, pi, tan, tau} from \"../math.js\";\nimport rotation from \"../rotation.js\";\nimport projection from \"./index.js\";\n\nexport function mercatorRaw(lambda, phi) {\n return [lambda, log(tan((halfPi + phi) / 2))];\n}\n\nmercatorRaw.invert = function(x, y) {\n return [x, 2 * atan(exp(y)) - halfPi];\n};\n\nexport default function() {\n return mercatorProjection(mercatorRaw)\n .scale(961 / tau);\n}\n\nexport function mercatorProjection(project) {\n var m = projection(project),\n center = m.center,\n scale = m.scale,\n translate = m.translate,\n clipExtent = m.clipExtent,\n x0 = null, y0, x1, y1; // clip extent\n\n m.scale = function(_) {\n return arguments.length ? (scale(_), reclip()) : scale();\n };\n\n m.translate = function(_) {\n return arguments.length ? (translate(_), reclip()) : translate();\n };\n\n m.center = function(_) {\n return arguments.length ? (center(_), reclip()) : center();\n };\n\n m.clipExtent = function(_) {\n return arguments.length ? ((_ == null ? x0 = y0 = x1 = y1 = null : (x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1])), reclip()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n };\n\n function reclip() {\n var k = pi * scale(),\n t = m(rotation(m.rotate()).invert([0, 0]));\n return clipExtent(x0 == null\n ? [[t[0] - k, t[1] - k], [t[0] + k, t[1] + k]] : project === mercatorRaw\n ? [[Math.max(t[0] - k, x0), y0], [Math.min(t[0] + k, x1), y1]]\n : [[x0, Math.max(t[1] - k, y0)], [x1, Math.min(t[1] + k, y1)]]);\n }\n\n return reclip();\n}\n","import projection from \"./index.js\";\n\nexport function equirectangularRaw(lambda, phi) {\n return [lambda, phi];\n}\n\nequirectangularRaw.invert = equirectangularRaw;\n\nexport default function() {\n return projection(equirectangularRaw)\n .scale(152.63);\n}\n","import {abs, atan2, cos, epsilon, pi, sign, sin, sqrt} from \"../math.js\";\nimport {conicProjection} from \"./conic.js\";\nimport {equirectangularRaw} from \"./equirectangular.js\";\n\nexport function conicEquidistantRaw(y0, y1) {\n var cy0 = cos(y0),\n n = y0 === y1 ? sin(y0) : (cy0 - cos(y1)) / (y1 - y0),\n g = cy0 / n + y0;\n\n if (abs(n) < epsilon) return equirectangularRaw;\n\n function project(x, y) {\n var gy = g - y, nx = n * x;\n return [gy * sin(nx), g - gy * cos(nx)];\n }\n\n project.invert = function(x, y) {\n var gy = g - y,\n l = atan2(x, abs(gy)) * sign(gy);\n if (gy * n < 0)\n l -= pi * sign(x) * sign(gy);\n return [l / n, g - sign(n) * sqrt(x * x + gy * gy)];\n };\n\n return project;\n}\n\nexport default function() {\n return conicProjection(conicEquidistantRaw)\n .scale(131.154)\n .center([0, 13.9389]);\n}\n","import projection from \"./index.js\";\nimport {abs, asin, cos, epsilon2, sin, sqrt} from \"../math.js\";\n\nvar A1 = 1.340264,\n A2 = -0.081106,\n A3 = 0.000893,\n A4 = 0.003796,\n M = sqrt(3) / 2,\n iterations = 12;\n\nexport function equalEarthRaw(lambda, phi) {\n var l = asin(M * sin(phi)), l2 = l * l, l6 = l2 * l2 * l2;\n return [\n lambda * cos(l) / (M * (A1 + 3 * A2 * l2 + l6 * (7 * A3 + 9 * A4 * l2))),\n l * (A1 + A2 * l2 + l6 * (A3 + A4 * l2))\n ];\n}\n\nequalEarthRaw.invert = function(x, y) {\n var l = y, l2 = l * l, l6 = l2 * l2 * l2;\n for (var i = 0, delta, fy, fpy; i < iterations; ++i) {\n fy = l * (A1 + A2 * l2 + l6 * (A3 + A4 * l2)) - y;\n fpy = A1 + 3 * A2 * l2 + l6 * (7 * A3 + 9 * A4 * l2);\n l -= delta = fy / fpy, l2 = l * l, l6 = l2 * l2 * l2;\n if (abs(delta) < epsilon2) break;\n }\n return [\n M * x * (A1 + 3 * A2 * l2 + l6 * (7 * A3 + 9 * A4 * l2)) / cos(l),\n asin(sin(l) / M)\n ];\n};\n\nexport default function() {\n return projection(equalEarthRaw)\n .scale(177.158);\n}\n","import projection from \"./index.js\";\nimport {abs, epsilon} from \"../math.js\";\n\nexport function naturalEarth1Raw(lambda, phi) {\n var phi2 = phi * phi, phi4 = phi2 * phi2;\n return [\n lambda * (0.8707 - 0.131979 * phi2 + phi4 * (-0.013791 + phi4 * (0.003971 * phi2 - 0.001529 * phi4))),\n phi * (1.007226 + phi2 * (0.015085 + phi4 * (-0.044475 + 0.028874 * phi2 - 0.005916 * phi4)))\n ];\n}\n\nnaturalEarth1Raw.invert = function(x, y) {\n var phi = y, i = 25, delta;\n do {\n var phi2 = phi * phi, phi4 = phi2 * phi2;\n phi -= delta = (phi * (1.007226 + phi2 * (0.015085 + phi4 * (-0.044475 + 0.028874 * phi2 - 0.005916 * phi4))) - y) /\n (1.007226 + phi2 * (0.015085 * 3 + phi4 * (-0.044475 * 7 + 0.028874 * 9 * phi2 - 0.005916 * 11 * phi4)));\n } while (abs(delta) > epsilon && --i > 0);\n return [\n x / (0.8707 + (phi2 = phi * phi) * (-0.131979 + phi2 * (-0.013791 + phi2 * phi2 * phi2 * (0.003971 - 0.001529 * phi2)))),\n phi\n ];\n};\n\nexport default function() {\n return projection(naturalEarth1Raw)\n .scale(175.295);\n}\n","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 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","// https://en.wikipedia.org/wiki/Linear_congruential_generator#Parameters_in_common_use\nconst a = 1664525;\nconst c = 1013904223;\nconst m = 4294967296; // 2^32\n\nexport default function() {\n let s = 1;\n return () => (s = (a * s + c) % m) / m;\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, random) {\n let m = array.length,\n t,\n i;\n\n while (m) {\n i = 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\";\nimport lcg from \"../lcg.js\";\n\nexport default function(circles) {\n return packEncloseRandom(circles, lcg());\n}\n\nexport function packEncloseRandom(circles, random) {\n var i = 0, n = (circles = shuffle(Array.from(circles), random)).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 = -(Math.abs(A) > 1e-6 ? (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 lcg from \"../lcg.js\";\nimport {packEncloseRandom} 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 packSiblingsRandom(circles, random) {\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 = packEncloseRandom(a, random);\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 packSiblingsRandom(circles, lcg());\n return circles;\n}\n","import {optional} from \"../accessors.js\";\nimport constant, {constantZero} from \"../constant.js\";\nimport lcg from \"../lcg.js\";\nimport {packSiblingsRandom} from \"./siblings.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 const random = lcg();\n root.x = dx / 2, root.y = dy / 2;\n if (radius) {\n root.eachBefore(radiusLeaf(radius))\n .eachAfter(packChildrenRandom(padding, 0.5, random))\n .eachBefore(translateChild(1));\n } else {\n root.eachBefore(radiusLeaf(defaultRadius))\n .eachAfter(packChildrenRandom(constantZero, 1, random))\n .eachAfter(packChildrenRandom(padding, root.r / Math.min(dx, dy), random))\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 packChildrenRandom(padding, k, random) {\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 = packSiblingsRandom(children, random);\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 {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 function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n}\n","import {InternMap} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport const implicit = Symbol(\"implicit\");\n\nexport default function ordinal() {\n var index = new InternMap(),\n domain = [],\n range = [],\n unknown = implicit;\n\n function scale(d) {\n let i = index.get(d);\n if (i === undefined) {\n if (unknown !== implicit) return unknown;\n index.set(d, i = domain.push(d) - 1);\n }\n return range[i % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = new InternMap();\n for (const value of _) {\n if (index.has(value)) continue;\n index.set(value, domain.push(value) - 1);\n }\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal(domain, range).unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n","import {range as sequence} from \"d3-array\";\nimport {initRange} from \"./init.js\";\nimport ordinal from \"./ordinal.js\";\n\nexport default function band() {\n var scale = ordinal().unknown(undefined),\n domain = scale.domain,\n ordinalRange = scale.range,\n r0 = 0,\n r1 = 1,\n step,\n bandwidth,\n round = false,\n paddingInner = 0,\n paddingOuter = 0,\n align = 0.5;\n\n delete scale.unknown;\n\n function rescale() {\n var n = domain().length,\n reverse = r1 < r0,\n start = reverse ? r1 : r0,\n stop = reverse ? r0 : r1;\n step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);\n if (round) step = Math.floor(step);\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);\n var values = sequence(n).map(function(i) { return start + step * i; });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? ([r0, r1] = _, r0 = +r0, r1 = +r1, rescale()) : [r0, r1];\n };\n\n scale.rangeRound = function(_) {\n return [r0, r1] = _, r0 = +r0, r1 = +r1, round = true, rescale();\n };\n\n scale.bandwidth = function() {\n return bandwidth;\n };\n\n scale.step = function() {\n return step;\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, rescale()) : round;\n };\n\n scale.padding = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, paddingOuter = +_), rescale()) : paddingInner;\n };\n\n scale.paddingInner = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, _), rescale()) : paddingInner;\n };\n\n scale.paddingOuter = function(_) {\n return arguments.length ? (paddingOuter = +_, rescale()) : paddingOuter;\n };\n\n scale.align = function(_) {\n return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;\n };\n\n scale.copy = function() {\n return band(domain(), [r0, r1])\n .round(round)\n .paddingInner(paddingInner)\n .paddingOuter(paddingOuter)\n .align(align);\n };\n\n return initRange.apply(rescale(), arguments);\n}\n\nfunction pointish(scale) {\n var copy = scale.copy;\n\n scale.padding = scale.paddingOuter;\n delete scale.paddingInner;\n delete scale.paddingOuter;\n\n scale.copy = function() {\n return pointish(copy());\n };\n\n return scale;\n}\n\nexport function point() {\n return pointish(band.apply(null, arguments).paddingInner(1));\n}\n","export default function constants(x) {\n return function() {\n return x;\n };\n}\n","export default function number(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous() {\n return transformer()(identity, identity);\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function tickFormat(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","export default function nice(domain, interval) {\n domain = domain.slice();\n\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}\n","import {ticks} from \"d3-array\";\nimport {format, formatSpecifier} from \"d3-format\";\nimport nice from \"./nice.js\";\nimport {copy, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformLog(x) {\n return Math.log(x);\n}\n\nfunction transformExp(x) {\n return Math.exp(x);\n}\n\nfunction transformLogn(x) {\n return -Math.log(-x);\n}\n\nfunction transformExpn(x) {\n return -Math.exp(-x);\n}\n\nfunction pow10(x) {\n return isFinite(x) ? +(\"1e\" + x) : x < 0 ? 0 : x;\n}\n\nfunction powp(base) {\n return base === 10 ? pow10\n : base === Math.E ? Math.exp\n : x => Math.pow(base, x);\n}\n\nfunction logp(base) {\n return base === Math.E ? Math.log\n : base === 10 && Math.log10\n || base === 2 && Math.log2\n || (base = Math.log(base), x => Math.log(x) / base);\n}\n\nfunction reflect(f) {\n return (x, k) => -f(-x, k);\n}\n\nexport function loggish(transform) {\n const scale = transform(transformLog, transformExp);\n const domain = scale.domain;\n let base = 10;\n let logs;\n let pows;\n\n function rescale() {\n logs = logp(base), pows = powp(base);\n if (domain()[0] < 0) {\n logs = reflect(logs), pows = reflect(pows);\n transform(transformLogn, transformExpn);\n } else {\n transform(transformLog, transformExp);\n }\n return scale;\n }\n\n scale.base = function(_) {\n return arguments.length ? (base = +_, rescale()) : base;\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.ticks = count => {\n const d = domain();\n let u = d[0];\n let v = d[d.length - 1];\n const r = v < u;\n\n if (r) ([u, v] = [v, u]);\n\n let i = logs(u);\n let j = logs(v);\n let k;\n let t;\n const n = count == null ? 10 : +count;\n let z = [];\n\n if (!(base % 1) && j - i < n) {\n i = Math.floor(i), j = Math.ceil(j);\n if (u > 0) for (; i <= j; ++i) {\n for (k = 1; k < base; ++k) {\n t = i < 0 ? k / pows(-i) : k * pows(i);\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n } else for (; i <= j; ++i) {\n for (k = base - 1; k >= 1; --k) {\n t = i > 0 ? k / pows(-i) : k * pows(i);\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n }\n if (z.length * 2 < n) z = ticks(u, v, n);\n } else {\n z = ticks(i, j, Math.min(j - i, n)).map(pows);\n }\n return r ? z.reverse() : z;\n };\n\n scale.tickFormat = (count, specifier) => {\n if (count == null) count = 10;\n if (specifier == null) specifier = base === 10 ? \"s\" : \",\";\n if (typeof specifier !== \"function\") {\n if (!(base % 1) && (specifier = formatSpecifier(specifier)).precision == null) specifier.trim = true;\n specifier = format(specifier);\n }\n if (count === Infinity) return specifier;\n const k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate?\n return d => {\n let i = d / pows(Math.round(logs(d)));\n if (i * base < base - 0.5) i *= base;\n return i <= k ? specifier(d) : \"\";\n };\n };\n\n scale.nice = () => {\n return domain(nice(domain(), {\n floor: x => pows(Math.floor(logs(x))),\n ceil: x => pows(Math.ceil(logs(x)))\n }));\n };\n\n return scale;\n}\n\nexport default function log() {\n const scale = loggish(transformer()).domain([1, 10]);\n scale.copy = () => copy(scale, log()).base(scale.base());\n initRange.apply(scale, arguments);\n return scale;\n}\n","import {bisect} from \"d3-array\";\nimport {linearish} from \"./linear.js\";\nimport {initRange} from \"./init.js\";\n\nexport default function quantize() {\n var x0 = 0,\n x1 = 1,\n n = 1,\n domain = [0.5],\n range = [0, 1],\n unknown;\n\n function scale(x) {\n return x != null && x <= x ? range[bisect(domain, x, 0, n)] : unknown;\n }\n\n function rescale() {\n var i = -1;\n domain = new Array(n);\n while (++i < n) domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1);\n return scale;\n }\n\n scale.domain = function(_) {\n return arguments.length ? ([x0, x1] = _, x0 = +x0, x1 = +x1, rescale()) : [x0, x1];\n };\n\n scale.range = function(_) {\n return arguments.length ? (n = (range = Array.from(_)).length - 1, rescale()) : range.slice();\n };\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN]\n : i < 1 ? [x0, domain[0]]\n : i >= n ? [domain[n - 1], x1]\n : [domain[i - 1], domain[i]];\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : scale;\n };\n\n scale.thresholds = function() {\n return domain.slice();\n };\n\n scale.copy = function() {\n return quantize()\n .domain([x0, x1])\n .range(range)\n .unknown(unknown);\n };\n\n return initRange.apply(linearish(scale), arguments);\n}\n","const t0 = new Date, t1 = new Date;\n\nexport function timeInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = (date) => {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = (date) => {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = (date) => {\n const d0 = interval(date), d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = (date, step) => {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = (start, stop, step) => {\n const range = [];\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n let previous;\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = (test) => {\n return timeInterval((date) => {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, (date, step) => {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = (start, end) => {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = (step) => {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? (d) => field(d) % step === 0\n : (d) => interval.count(0, d) % step === 0);\n };\n }\n\n return interval;\n}\n","import {timeInterval} from \"./interval.js\";\n\nexport const millisecond = timeInterval(() => {\n // noop\n}, (date, step) => {\n date.setTime(+date + step);\n}, (start, end) => {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = (k) => {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return timeInterval((date) => {\n date.setTime(Math.floor(date / k) * k);\n }, (date, step) => {\n date.setTime(+date + step * k);\n }, (start, end) => {\n return (end - start) / k;\n });\n};\n\nexport const milliseconds = millisecond.range;\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","import {timeInterval} from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\nexport const second = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds());\n}, (date, step) => {\n date.setTime(+date + step * durationSecond);\n}, (start, end) => {\n return (end - start) / durationSecond;\n}, (date) => {\n return date.getUTCSeconds();\n});\n\nexport const seconds = second.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationMinute, durationSecond} from \"./duration.js\";\n\nexport const timeMinute = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\n}, (date, step) => {\n date.setTime(+date + step * durationMinute);\n}, (start, end) => {\n return (end - start) / durationMinute;\n}, (date) => {\n return date.getMinutes();\n});\n\nexport const timeMinutes = timeMinute.range;\n\nexport const utcMinute = timeInterval((date) => {\n date.setUTCSeconds(0, 0);\n}, (date, step) => {\n date.setTime(+date + step * durationMinute);\n}, (start, end) => {\n return (end - start) / durationMinute;\n}, (date) => {\n return date.getUTCMinutes();\n});\n\nexport const utcMinutes = utcMinute.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationHour, durationMinute, durationSecond} from \"./duration.js\";\n\nexport const timeHour = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\n}, (date, step) => {\n date.setTime(+date + step * durationHour);\n}, (start, end) => {\n return (end - start) / durationHour;\n}, (date) => {\n return date.getHours();\n});\n\nexport const timeHours = timeHour.range;\n\nexport const utcHour = timeInterval((date) => {\n date.setUTCMinutes(0, 0, 0);\n}, (date, step) => {\n date.setTime(+date + step * durationHour);\n}, (start, end) => {\n return (end - start) / durationHour;\n}, (date) => {\n return date.getUTCHours();\n});\n\nexport const utcHours = utcHour.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nexport const timeDay = timeInterval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport const timeDays = timeDay.range;\n\nexport const utcDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return date.getUTCDate() - 1;\n});\n\nexport const utcDays = utcDay.range;\n\nexport const unixDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return Math.floor(date / durationDay);\n});\n\nexport const unixDays = unixDay.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction timeWeekday(i) {\n return timeInterval((date) => {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setDate(date.getDate() + step * 7);\n }, (start, end) => {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport const timeSunday = timeWeekday(0);\nexport const timeMonday = timeWeekday(1);\nexport const timeTuesday = timeWeekday(2);\nexport const timeWednesday = timeWeekday(3);\nexport const timeThursday = timeWeekday(4);\nexport const timeFriday = timeWeekday(5);\nexport const timeSaturday = timeWeekday(6);\n\nexport const timeSundays = timeSunday.range;\nexport const timeMondays = timeMonday.range;\nexport const timeTuesdays = timeTuesday.range;\nexport const timeWednesdays = timeWednesday.range;\nexport const timeThursdays = timeThursday.range;\nexport const timeFridays = timeFriday.range;\nexport const timeSaturdays = timeSaturday.range;\n\nfunction utcWeekday(i) {\n return timeInterval((date) => {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, (start, end) => {\n return (end - start) / durationWeek;\n });\n}\n\nexport const utcSunday = utcWeekday(0);\nexport const utcMonday = utcWeekday(1);\nexport const utcTuesday = utcWeekday(2);\nexport const utcWednesday = utcWeekday(3);\nexport const utcThursday = utcWeekday(4);\nexport const utcFriday = utcWeekday(5);\nexport const utcSaturday = utcWeekday(6);\n\nexport const utcSundays = utcSunday.range;\nexport const utcMondays = utcMonday.range;\nexport const utcTuesdays = utcTuesday.range;\nexport const utcWednesdays = utcWednesday.range;\nexport const utcThursdays = utcThursday.range;\nexport const utcFridays = utcFriday.range;\nexport const utcSaturdays = utcSaturday.range;\n","import {timeInterval} from \"./interval.js\";\n\nexport const timeMonth = timeInterval((date) => {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setMonth(date.getMonth() + step);\n}, (start, end) => {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, (date) => {\n return date.getMonth();\n});\n\nexport const timeMonths = timeMonth.range;\n\nexport const utcMonth = timeInterval((date) => {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, (start, end) => {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, (date) => {\n return date.getUTCMonth();\n});\n\nexport const utcMonths = utcMonth.range;\n","import {timeInterval} from \"./interval.js\";\n\nexport const timeYear = timeInterval((date) => {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setFullYear(date.getFullYear() + step);\n}, (start, end) => {\n return end.getFullYear() - start.getFullYear();\n}, (date) => {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\ntimeYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport const timeYears = timeYear.range;\n\nexport const utcYear = timeInterval((date) => {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, (start, end) => {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, (date) => {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport const utcYears = utcYear.range;\n","import {bisector, tickStep} from \"d3-array\";\nimport {durationDay, durationHour, durationMinute, durationMonth, durationSecond, durationWeek, durationYear} from \"./duration.js\";\nimport {millisecond} from \"./millisecond.js\";\nimport {second} from \"./second.js\";\nimport {timeMinute, utcMinute} from \"./minute.js\";\nimport {timeHour, utcHour} from \"./hour.js\";\nimport {timeDay, unixDay} from \"./day.js\";\nimport {timeSunday, utcSunday} from \"./week.js\";\nimport {timeMonth, utcMonth} from \"./month.js\";\nimport {timeYear, utcYear} from \"./year.js\";\n\nfunction ticker(year, month, week, day, hour, minute) {\n\n const tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [ hour, 1, durationHour ],\n [ hour, 3, 3 * durationHour ],\n [ hour, 6, 6 * durationHour ],\n [ hour, 12, 12 * durationHour ],\n [ day, 1, durationDay ],\n [ day, 2, 2 * durationDay ],\n [ week, 1, durationWeek ],\n [ month, 1, durationMonth ],\n [ month, 3, 3 * durationMonth ],\n [ year, 1, durationYear ]\n ];\n\n function ticks(start, stop, count) {\n const reverse = stop < start;\n if (reverse) [start, stop] = [stop, start];\n const interval = count && typeof count.range === \"function\" ? count : tickInterval(start, stop, count);\n const ticks = interval ? interval.range(start, +stop + 1) : []; // inclusive stop\n return reverse ? ticks.reverse() : ticks;\n }\n\n function tickInterval(start, stop, count) {\n const target = Math.abs(stop - start) / count;\n const i = bisector(([,, step]) => step).right(tickIntervals, target);\n if (i === tickIntervals.length) return year.every(tickStep(start / durationYear, stop / durationYear, count));\n if (i === 0) return millisecond.every(Math.max(tickStep(start, stop, count), 1));\n const [t, step] = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n return t.every(step);\n }\n\n return [ticks, tickInterval];\n}\n\nconst [utcTicks, utcTickInterval] = ticker(utcYear, utcMonth, utcSunday, unixDay, utcHour, utcMinute);\nconst [timeTicks, timeTickInterval] = ticker(timeYear, timeMonth, timeSunday, timeDay, timeHour, timeMinute);\n\nexport {utcTicks, utcTickInterval, timeTicks, timeTickInterval};\n","import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function(string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0));\n\n // If this is utcParse, never use the local timezone.\n if (Z && !(\"Z\" in d)) d.Z = 0;\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // If the month was not specified, inherit from the quarter.\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n return new Map(names.map((name, i) => [name.toLowerCase(), i]));\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n","import {timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeTicks, timeTickInterval} from \"d3-time\";\nimport {timeFormat} from \"d3-time-format\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport nice from \"./nice.js\";\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nexport function calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format) {\n var scale = continuous(),\n invert = scale.invert,\n domain = scale.domain;\n\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond\n : minute(date) < date ? formatSecond\n : hour(date) < date ? formatMinute\n : day(date) < date ? formatHour\n : month(date) < date ? (week(date) < date ? formatDay : formatWeek)\n : year(date) < date ? formatMonth\n : formatYear)(date);\n }\n\n scale.invert = function(y) {\n return new Date(invert(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? domain(Array.from(_, number)) : domain().map(date);\n };\n\n scale.ticks = function(interval) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], interval == null ? 10 : interval);\n };\n\n scale.tickFormat = function(count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function(interval) {\n var d = domain();\n if (!interval || typeof interval.range !== \"function\") interval = tickInterval(d[0], d[d.length - 1], interval == null ? 10 : interval);\n return interval ? domain(nice(d, interval)) : scale;\n };\n\n scale.copy = function() {\n return copy(scale, calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format));\n };\n\n return scale;\n}\n\nexport default function time() {\n return initRange.apply(calendar(timeTicks, timeTickInterval, timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);\n}\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","export const abs = Math.abs;\nexport const atan2 = Math.atan2;\nexport const cos = Math.cos;\nexport const max = Math.max;\nexport const min = Math.min;\nexport const sin = Math.sin;\nexport const sqrt = Math.sqrt;\n\nexport const epsilon = 1e-12;\nexport const pi = Math.PI;\nexport const halfPi = pi / 2;\nexport const tau = 2 * pi;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n","import {Path} from \"d3-path\";\n\nexport function withPath(shape) {\n let digits = 3;\n\n shape.digits = function(_) {\n if (!arguments.length) return digits;\n if (_ == null) {\n digits = null;\n } else {\n const d = Math.floor(_);\n if (!(d >= 0)) throw new RangeError(`invalid digits: ${_}`);\n digits = d;\n }\n return shape;\n };\n\n return () => new Path(digits);\n}\n","import constant from \"./constant.js\";\nimport {abs, acos, asin, atan2, cos, epsilon, halfPi, max, min, pi, sin, sqrt, tau} from \"./math.js\";\nimport {withPath} from \"./path.js\";\n\nfunction arcInnerRadius(d) {\n return d.innerRadius;\n}\n\nfunction arcOuterRadius(d) {\n return d.outerRadius;\n}\n\nfunction arcStartAngle(d) {\n return d.startAngle;\n}\n\nfunction arcEndAngle(d) {\n return d.endAngle;\n}\n\nfunction arcPadAngle(d) {\n return d && d.padAngle; // Note: optional!\n}\n\nfunction intersect(x0, y0, x1, y1, x2, y2, x3, y3) {\n var x10 = x1 - x0, y10 = y1 - y0,\n x32 = x3 - x2, y32 = y3 - y2,\n t = y32 * x10 - x32 * y10;\n if (t * t < epsilon) return;\n t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / t;\n return [x0 + t * x10, y0 + t * y10];\n}\n\n// Compute perpendicular offset line of length rc.\n// http://mathworld.wolfram.com/Circle-LineIntersection.html\nfunction cornerTangents(x0, y0, x1, y1, r1, rc, cw) {\n var x01 = x0 - x1,\n y01 = y0 - y1,\n lo = (cw ? rc : -rc) / sqrt(x01 * x01 + y01 * y01),\n ox = lo * y01,\n oy = -lo * x01,\n x11 = x0 + ox,\n y11 = y0 + oy,\n x10 = x1 + ox,\n y10 = y1 + oy,\n x00 = (x11 + x10) / 2,\n y00 = (y11 + y10) / 2,\n dx = x10 - x11,\n dy = y10 - y11,\n d2 = dx * dx + dy * dy,\n r = r1 - rc,\n D = x11 * y10 - x10 * y11,\n d = (dy < 0 ? -1 : 1) * sqrt(max(0, r * r * d2 - D * D)),\n cx0 = (D * dy - dx * d) / d2,\n cy0 = (-D * dx - dy * d) / d2,\n cx1 = (D * dy + dx * d) / d2,\n cy1 = (-D * dx + dy * d) / d2,\n dx0 = cx0 - x00,\n dy0 = cy0 - y00,\n dx1 = cx1 - x00,\n dy1 = cy1 - y00;\n\n // Pick the closer of the two intersection points.\n // TODO Is there a faster way to determine which intersection to use?\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n\n return {\n cx: cx0,\n cy: cy0,\n x01: -ox,\n y01: -oy,\n x11: cx0 * (r1 / r - 1),\n y11: cy0 * (r1 / r - 1)\n };\n}\n\nexport default function() {\n var innerRadius = arcInnerRadius,\n outerRadius = arcOuterRadius,\n cornerRadius = constant(0),\n padRadius = null,\n startAngle = arcStartAngle,\n endAngle = arcEndAngle,\n padAngle = arcPadAngle,\n context = null,\n path = withPath(arc);\n\n function arc() {\n var buffer,\n r,\n r0 = +innerRadius.apply(this, arguments),\n r1 = +outerRadius.apply(this, arguments),\n a0 = startAngle.apply(this, arguments) - halfPi,\n a1 = endAngle.apply(this, arguments) - halfPi,\n da = abs(a1 - a0),\n cw = a1 > a0;\n\n if (!context) context = buffer = path();\n\n // Ensure that the outer radius is always larger than the inner radius.\n if (r1 < r0) r = r1, r1 = r0, r0 = r;\n\n // Is it a point?\n if (!(r1 > epsilon)) context.moveTo(0, 0);\n\n // Or is it a circle or annulus?\n else if (da > tau - epsilon) {\n context.moveTo(r1 * cos(a0), r1 * sin(a0));\n context.arc(0, 0, r1, a0, a1, !cw);\n if (r0 > epsilon) {\n context.moveTo(r0 * cos(a1), r0 * sin(a1));\n context.arc(0, 0, r0, a1, a0, cw);\n }\n }\n\n // Or is it a circular or annular sector?\n else {\n var a01 = a0,\n a11 = a1,\n a00 = a0,\n a10 = a1,\n da0 = da,\n da1 = da,\n ap = padAngle.apply(this, arguments) / 2,\n rp = (ap > epsilon) && (padRadius ? +padRadius.apply(this, arguments) : sqrt(r0 * r0 + r1 * r1)),\n rc = min(abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments)),\n rc0 = rc,\n rc1 = rc,\n t0,\n t1;\n\n // Apply padding? Note that since r1 ≥ r0, da1 ≥ da0.\n if (rp > epsilon) {\n var p0 = asin(rp / r0 * sin(ap)),\n p1 = asin(rp / r1 * sin(ap));\n if ((da0 -= p0 * 2) > epsilon) p0 *= (cw ? 1 : -1), a00 += p0, a10 -= p0;\n else da0 = 0, a00 = a10 = (a0 + a1) / 2;\n if ((da1 -= p1 * 2) > epsilon) p1 *= (cw ? 1 : -1), a01 += p1, a11 -= p1;\n else da1 = 0, a01 = a11 = (a0 + a1) / 2;\n }\n\n var x01 = r1 * cos(a01),\n y01 = r1 * sin(a01),\n x10 = r0 * cos(a10),\n y10 = r0 * sin(a10);\n\n // Apply rounded corners?\n if (rc > epsilon) {\n var x11 = r1 * cos(a11),\n y11 = r1 * sin(a11),\n x00 = r0 * cos(a00),\n y00 = r0 * sin(a00),\n oc;\n\n // Restrict the corner radius according to the sector angle. If this\n // intersection fails, it’s probably because the arc is too small, so\n // disable the corner radius entirely.\n if (da < pi) {\n if (oc = intersect(x01, y01, x00, y00, x11, y11, x10, y10)) {\n var ax = x01 - oc[0],\n ay = y01 - oc[1],\n bx = x11 - oc[0],\n by = y11 - oc[1],\n kc = 1 / sin(acos((ax * bx + ay * by) / (sqrt(ax * ax + ay * ay) * sqrt(bx * bx + by * by))) / 2),\n lc = sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = min(rc, (r0 - lc) / (kc - 1));\n rc1 = min(rc, (r1 - lc) / (kc + 1));\n } else {\n rc0 = rc1 = 0;\n }\n }\n }\n\n // Is the sector collapsed to a line?\n if (!(da1 > epsilon)) context.moveTo(x01, y01);\n\n // Does the sector’s outer ring have rounded corners?\n else if (rc1 > epsilon) {\n t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw);\n t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw);\n\n context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r1, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), !cw);\n context.arc(t1.cx, t1.cy, rc1, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the outer ring just a circular arc?\n else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw);\n\n // Is there no inner ring, and it’s a circular sector?\n // Or perhaps it’s an annular sector collapsed due to padding?\n if (!(r0 > epsilon) || !(da0 > epsilon)) context.lineTo(x10, y10);\n\n // Does the sector’s inner ring (or point) have rounded corners?\n else if (rc0 > epsilon) {\n t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw);\n t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw);\n\n context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r0, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), cw);\n context.arc(t1.cx, t1.cy, rc0, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the inner ring just a circular arc?\n else context.arc(0, 0, r0, a10, a00, cw);\n }\n\n context.closePath();\n\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n arc.centroid = function() {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2,\n a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi / 2;\n return [cos(a) * r, sin(a) * r];\n };\n\n arc.innerRadius = function(_) {\n return arguments.length ? (innerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : innerRadius;\n };\n\n arc.outerRadius = function(_) {\n return arguments.length ? (outerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : outerRadius;\n };\n\n arc.cornerRadius = function(_) {\n return arguments.length ? (cornerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : cornerRadius;\n };\n\n arc.padRadius = function(_) {\n return arguments.length ? (padRadius = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), arc) : padRadius;\n };\n\n arc.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : startAngle;\n };\n\n arc.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : endAngle;\n };\n\n arc.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : padAngle;\n };\n\n arc.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), arc) : context;\n };\n\n return arc;\n}\n","export var slice = Array.prototype.slice;\n\nexport 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 Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // falls through\n default: this._context.lineTo(x, y); break;\n }\n }\n};\n\nexport default function(context) {\n return new Linear(context);\n}\n","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport {withPath} from \"./path.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function(x, y) {\n var defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null,\n path = withPath(line);\n\n x = typeof x === \"function\" ? x : (x === undefined) ? pointX : constant(x);\n y = typeof y === \"function\" ? y : (y === undefined) ? pointY : constant(y);\n\n function line(data) {\n var i,\n n = (data = array(data)).length,\n d,\n defined0 = false,\n buffer;\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();\n else output.lineEnd();\n }\n if (defined0) output.point(+x(d, i, data), +y(d, i, data));\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n line.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), line) : x;\n };\n\n line.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), line) : y;\n };\n\n line.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), line) : defined;\n };\n\n line.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n\n line.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n\n return line;\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport line from \"./line.js\";\nimport {withPath} from \"./path.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function(x0, y0, y1) {\n var x1 = null,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null,\n path = withPath(area);\n\n x0 = typeof x0 === \"function\" ? x0 : (x0 === undefined) ? pointX : constant(+x0);\n y0 = typeof y0 === \"function\" ? y0 : (y0 === undefined) ? constant(0) : constant(+y0);\n y1 = typeof y1 === \"function\" ? y1 : (y1 === undefined) ? pointY : constant(+y1);\n\n function area(data) {\n var i,\n j,\n k,\n n = (data = array(data)).length,\n d,\n defined0 = false,\n buffer,\n x0z = new Array(n),\n y0z = new Array(n);\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) {\n j = i;\n output.areaStart();\n output.lineStart();\n } else {\n output.lineEnd();\n output.lineStart();\n for (k = i - 1; k >= j; --k) {\n output.point(x0z[k], y0z[k]);\n }\n output.lineEnd();\n output.areaEnd();\n }\n }\n if (defined0) {\n x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data);\n output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]);\n }\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n function arealine() {\n return line().defined(defined).curve(curve).context(context);\n }\n\n area.x = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), x1 = null, area) : x0;\n };\n\n area.x0 = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), area) : x0;\n };\n\n area.x1 = function(_) {\n return arguments.length ? (x1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : x1;\n };\n\n area.y = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), y1 = null, area) : y0;\n };\n\n area.y0 = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), area) : y0;\n };\n\n area.y1 = function(_) {\n return arguments.length ? (y1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : y1;\n };\n\n area.lineX0 =\n area.lineY0 = function() {\n return arealine().x(x0).y(y0);\n };\n\n area.lineY1 = function() {\n return arealine().x(x0).y(y1);\n };\n\n area.lineX1 = function() {\n return arealine().x(x1).y(y0);\n };\n\n area.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), area) : defined;\n };\n\n area.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), area) : curve;\n };\n\n area.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context;\n };\n\n return area;\n}\n","export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n","export default function(d) {\n return d;\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport descending from \"./descending.js\";\nimport identity from \"./identity.js\";\nimport {tau} from \"./math.js\";\n\nexport default function() {\n var value = identity,\n sortValues = descending,\n sort = null,\n startAngle = constant(0),\n endAngle = constant(tau),\n padAngle = constant(0);\n\n function pie(data) {\n var i,\n n = (data = array(data)).length,\n j,\n k,\n sum = 0,\n index = new Array(n),\n arcs = new Array(n),\n a0 = +startAngle.apply(this, arguments),\n da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)),\n a1,\n p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),\n pa = p * (da < 0 ? -1 : 1),\n v;\n\n for (i = 0; i < n; ++i) {\n if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {\n sum += v;\n }\n }\n\n // Optionally sort the arcs by previously-computed values or by data.\n if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); });\n else if (sort != null) index.sort(function(i, j) { return sort(data[i], data[j]); });\n\n // Compute the arcs! They are stored in the original data's order.\n for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {\n j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {\n data: data[j],\n index: i,\n value: v,\n startAngle: a0,\n endAngle: a1,\n padAngle: p\n };\n }\n\n return arcs;\n }\n\n pie.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), pie) : value;\n };\n\n pie.sortValues = function(_) {\n return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;\n };\n\n pie.sort = function(_) {\n return arguments.length ? (sort = _, sortValues = null, pie) : sort;\n };\n\n pie.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : startAngle;\n };\n\n pie.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : endAngle;\n };\n\n pie.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : padAngle;\n };\n\n return pie;\n}\n","import curveLinear from \"./linear.js\";\n\nexport var curveRadialLinear = curveRadial(curveLinear);\n\nfunction Radial(curve) {\n this._curve = curve;\n}\n\nRadial.prototype = {\n areaStart: function() {\n this._curve.areaStart();\n },\n areaEnd: function() {\n this._curve.areaEnd();\n },\n lineStart: function() {\n this._curve.lineStart();\n },\n lineEnd: function() {\n this._curve.lineEnd();\n },\n point: function(a, r) {\n this._curve.point(r * Math.sin(a), r * -Math.cos(a));\n }\n};\n\nexport default function curveRadial(curve) {\n\n function radial(context) {\n return new Radial(curve(context));\n }\n\n radial._curve = curve;\n\n return radial;\n}\n","import curveRadial, {curveRadialLinear} from \"./curve/radial.js\";\nimport line from \"./line.js\";\n\nexport function lineRadial(l) {\n var c = l.curve;\n\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n\n l.curve = function(_) {\n return arguments.length ? c(curveRadial(_)) : c()._curve;\n };\n\n return l;\n}\n\nexport default function() {\n return lineRadial(line().curve(curveRadialLinear));\n}\n","import pointRadial from \"../pointRadial.js\";\n\nclass Bump {\n constructor(context, x) {\n this._context = context;\n this._x = x;\n }\n areaStart() {\n this._line = 0;\n }\n areaEnd() {\n this._line = NaN;\n }\n lineStart() {\n this._point = 0;\n }\n lineEnd() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n }\n point(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: {\n this._point = 1;\n if (this._line) this._context.lineTo(x, y);\n else this._context.moveTo(x, y);\n break;\n }\n case 1: this._point = 2; // falls through\n default: {\n if (this._x) this._context.bezierCurveTo(this._x0 = (this._x0 + x) / 2, this._y0, this._x0, y, x, y);\n else this._context.bezierCurveTo(this._x0, this._y0 = (this._y0 + y) / 2, x, this._y0, x, y);\n break;\n }\n }\n this._x0 = x, this._y0 = y;\n }\n}\n\nclass BumpRadial {\n constructor(context) {\n this._context = context;\n }\n lineStart() {\n this._point = 0;\n }\n lineEnd() {}\n point(x, y) {\n x = +x, y = +y;\n if (this._point === 0) {\n this._point = 1;\n } else {\n const p0 = pointRadial(this._x0, this._y0);\n const p1 = pointRadial(this._x0, this._y0 = (this._y0 + y) / 2);\n const p2 = pointRadial(x, this._y0);\n const p3 = pointRadial(x, y);\n this._context.moveTo(...p0);\n this._context.bezierCurveTo(...p1, ...p2, ...p3);\n }\n this._x0 = x, this._y0 = y;\n }\n}\n\nexport function bumpX(context) {\n return new Bump(context, true);\n}\n\nexport function bumpY(context) {\n return new Bump(context, false);\n}\n\nexport function bumpRadial(context) {\n return new BumpRadial(context);\n}\n","import {slice} from \"./array.js\";\nimport constant from \"./constant.js\";\nimport {bumpX, bumpY, bumpRadial} from \"./curve/bump.js\";\nimport {withPath} from \"./path.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nfunction linkSource(d) {\n return d.source;\n}\n\nfunction linkTarget(d) {\n return d.target;\n}\n\nexport function link(curve) {\n let source = linkSource,\n target = linkTarget,\n x = pointX,\n y = pointY,\n context = null,\n output = null,\n path = withPath(link);\n\n function link() {\n let buffer;\n const argv = slice.call(arguments);\n const s = source.apply(this, argv);\n const t = target.apply(this, argv);\n if (context == null) output = curve(buffer = path());\n output.lineStart();\n argv[0] = s, output.point(+x.apply(this, argv), +y.apply(this, argv));\n argv[0] = t, output.point(+x.apply(this, argv), +y.apply(this, argv));\n output.lineEnd();\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n link.source = function(_) {\n return arguments.length ? (source = _, link) : source;\n };\n\n link.target = function(_) {\n return arguments.length ? (target = _, link) : target;\n };\n\n link.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), link) : x;\n };\n\n link.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), link) : y;\n };\n\n link.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), link) : context;\n };\n\n return link;\n}\n\nexport function linkHorizontal() {\n return link(bumpX);\n}\n\nexport function linkVertical() {\n return link(bumpY);\n}\n\nexport function linkRadial() {\n const l = link(bumpRadial);\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n return l;\n}\n","export default function() {}\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n (2 * that._x0 + that._x1) / 3,\n (2 * that._y0 + that._y1) / 3,\n (that._x0 + 2 * that._x1) / 3,\n (that._y0 + 2 * that._y1) / 3,\n (that._x0 + 4 * that._x1 + x) / 6,\n (that._y0 + 4 * that._y1 + y) / 6\n );\n}\n\nexport function Basis(context) {\n this._context = context;\n}\n\nBasis.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 3: point(this, this._x1, this._y1); // falls through\n case 2: this._context.lineTo(this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); // falls through\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new Basis(context);\n}\n","import noop from \"../noop.js\";\nimport {point} from \"./basis.js\";\n\nfunction BasisClosed(context) {\n this._context = context;\n}\n\nBasisClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x2, this._y2);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3);\n this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x2, this._y2);\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x2 = x, this._y2 = y; break;\n case 1: this._point = 2; this._x3 = x, this._y3 = y; break;\n case 2: this._point = 3; this._x4 = x, this._y4 = y; this._context.moveTo((this._x0 + 4 * this._x1 + x) / 6, (this._y0 + 4 * this._y1 + y) / 6); break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisClosed(context);\n}\n","import {point} from \"./basis.js\";\n\nfunction BasisOpen(context) {\n this._context = context;\n}\n\nBasisOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; var x0 = (this._x0 + 4 * this._x1 + x) / 6, y0 = (this._y0 + 4 * this._y1 + y) / 6; this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0); break;\n case 3: this._point = 4; // falls through\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisOpen(context);\n}\n","import {Basis} from \"./basis.js\";\n\nfunction Bundle(context, beta) {\n this._basis = new Basis(context);\n this._beta = beta;\n}\n\nBundle.prototype = {\n lineStart: function() {\n this._x = [];\n this._y = [];\n this._basis.lineStart();\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n j = x.length - 1;\n\n if (j > 0) {\n var x0 = x[0],\n y0 = y[0],\n dx = x[j] - x0,\n dy = y[j] - y0,\n i = -1,\n t;\n\n while (++i <= j) {\n t = i / j;\n this._basis.point(\n this._beta * x[i] + (1 - this._beta) * (x0 + t * dx),\n this._beta * y[i] + (1 - this._beta) * (y0 + t * dy)\n );\n }\n }\n\n this._x = this._y = null;\n this._basis.lineEnd();\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\nexport default (function custom(beta) {\n\n function bundle(context) {\n return beta === 1 ? new Basis(context) : new Bundle(context, beta);\n }\n\n bundle.beta = function(beta) {\n return custom(+beta);\n };\n\n return bundle;\n})(0.85);\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n that._x1 + that._k * (that._x2 - that._x0),\n that._y1 + that._k * (that._y2 - that._y0),\n that._x2 + that._k * (that._x1 - x),\n that._y2 + that._k * (that._y1 - y),\n that._x2,\n that._y2\n );\n}\n\nexport function Cardinal(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinal.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: point(this, this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; this._x1 = x, this._y1 = y; break;\n case 2: this._point = 3; // falls through\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new Cardinal(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import noop from \"../noop.js\";\nimport {point} from \"./cardinal.js\";\n\nexport function CardinalClosed(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new CardinalClosed(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import {point} from \"./cardinal.js\";\n\nexport function CardinalOpen(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // falls through\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new CardinalOpen(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import {epsilon} from \"../math.js\";\nimport {Cardinal} from \"./cardinal.js\";\n\nexport function point(that, x, y) {\n var x1 = that._x1,\n y1 = that._y1,\n x2 = that._x2,\n y2 = that._y2;\n\n if (that._l01_a > epsilon) {\n var a = 2 * that._l01_2a + 3 * that._l01_a * that._l12_a + that._l12_2a,\n n = 3 * that._l01_a * (that._l01_a + that._l12_a);\n x1 = (x1 * a - that._x0 * that._l12_2a + that._x2 * that._l01_2a) / n;\n y1 = (y1 * a - that._y0 * that._l12_2a + that._y2 * that._l01_2a) / n;\n }\n\n if (that._l23_a > epsilon) {\n var b = 2 * that._l23_2a + 3 * that._l23_a * that._l12_a + that._l12_2a,\n m = 3 * that._l23_a * (that._l23_a + that._l12_a);\n x2 = (x2 * b + that._x1 * that._l23_2a - x * that._l12_2a) / m;\n y2 = (y2 * b + that._y1 * that._l23_2a - y * that._l12_2a) / m;\n }\n\n that._context.bezierCurveTo(x1, y1, x2, y2, that._x2, that._y2);\n}\n\nfunction CatmullRom(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRom.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: this.point(this._x2, this._y2); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; // falls through\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRom(context, alpha) : new Cardinal(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import {CardinalClosed} from \"./cardinalClosed.js\";\nimport noop from \"../noop.js\";\nimport {point} from \"./catmullRom.js\";\n\nfunction CatmullRomClosed(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomClosed(context, alpha) : new CardinalClosed(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import {CardinalOpen} from \"./cardinalOpen.js\";\nimport {point} from \"./catmullRom.js\";\n\nfunction CatmullRomOpen(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // falls through\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomOpen(context, alpha) : new CardinalOpen(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import noop from \"../noop.js\";\n\nfunction LinearClosed(context) {\n this._context = context;\n}\n\nLinearClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._point) this._context.closePath();\n },\n point: function(x, y) {\n x = +x, y = +y;\n if (this._point) this._context.lineTo(x, y);\n else this._point = 1, this._context.moveTo(x, y);\n }\n};\n\nexport default function(context) {\n return new LinearClosed(context);\n}\n","function sign(x) {\n return x < 0 ? -1 : 1;\n}\n\n// Calculate the slopes of the tangents (Hermite-type interpolation) based on\n// the following paper: Steffen, M. 1990. A Simple Method for Monotonic\n// Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO.\n// NOV(II), P. 443, 1990.\nfunction slope3(that, x2, y2) {\n var h0 = that._x1 - that._x0,\n h1 = x2 - that._x1,\n s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0),\n s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0),\n p = (s0 * h1 + s1 * h0) / (h0 + h1);\n return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n}\n\n// Calculate a one-sided slope.\nfunction slope2(that, t) {\n var h = that._x1 - that._x0;\n return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;\n}\n\n// According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations\n// \"you can express cubic Hermite interpolation in terms of cubic Bézier curves\n// with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1\".\nfunction point(that, t0, t1) {\n var x0 = that._x0,\n y0 = that._y0,\n x1 = that._x1,\n y1 = that._y1,\n dx = (x1 - x0) / 3;\n that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);\n}\n\nfunction MonotoneX(context) {\n this._context = context;\n}\n\nMonotoneX.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 =\n this._t0 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x1, this._y1); break;\n case 3: point(this, this._t0, slope2(this, this._t0)); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n var t1 = NaN;\n\n x = +x, y = +y;\n if (x === this._x1 && y === this._y1) return; // Ignore coincident points.\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; point(this, slope2(this, t1 = slope3(this, x, y)), t1); break;\n default: point(this, this._t0, t1 = slope3(this, x, y)); break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n this._t0 = t1;\n }\n}\n\nfunction MonotoneY(context) {\n this._context = new ReflectContext(context);\n}\n\n(MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) {\n MonotoneX.prototype.point.call(this, y, x);\n};\n\nfunction ReflectContext(context) {\n this._context = context;\n}\n\nReflectContext.prototype = {\n moveTo: function(x, y) { this._context.moveTo(y, x); },\n closePath: function() { this._context.closePath(); },\n lineTo: function(x, y) { this._context.lineTo(y, x); },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._context.bezierCurveTo(y1, x1, y2, x2, y, x); }\n};\n\nexport function monotoneX(context) {\n return new MonotoneX(context);\n}\n\nexport function monotoneY(context) {\n return new MonotoneY(context);\n}\n","function Natural(context) {\n this._context = context;\n}\n\nNatural.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = [];\n this._y = [];\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n n = x.length;\n\n if (n) {\n this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]);\n if (n === 2) {\n this._context.lineTo(x[1], y[1]);\n } else {\n var px = controlPoints(x),\n py = controlPoints(y);\n for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) {\n this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]);\n }\n }\n }\n\n if (this._line || (this._line !== 0 && n === 1)) this._context.closePath();\n this._line = 1 - this._line;\n this._x = this._y = null;\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\n// See https://www.particleincell.com/2012/bezier-splines/ for derivation.\nfunction controlPoints(x) {\n var i,\n n = x.length - 1,\n m,\n a = new Array(n),\n b = new Array(n),\n r = new Array(n);\n a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1];\n for (i = 1; i < n - 1; ++i) a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1];\n a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n];\n for (i = 1; i < n; ++i) m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1];\n a[n - 1] = r[n - 1] / b[n - 1];\n for (i = n - 2; i >= 0; --i) a[i] = (r[i] - a[i + 1]) / b[i];\n b[n - 1] = (x[n] + a[n - 1]) / 2;\n for (i = 0; i < n - 1; ++i) b[i] = 2 * x[i + 1] - a[i + 1];\n return [a, b];\n}\n\nexport default function(context) {\n return new Natural(context);\n}\n","function Step(context, t) {\n this._context = context;\n this._t = t;\n}\n\nStep.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = this._y = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y);\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // falls through\n default: {\n if (this._t <= 0) {\n this._context.lineTo(this._x, y);\n this._context.lineTo(x, y);\n } else {\n var x1 = this._x * (1 - this._t) + x * this._t;\n this._context.lineTo(x1, this._y);\n this._context.lineTo(x1, y);\n }\n break;\n }\n }\n this._x = x, this._y = y;\n }\n};\n\nexport default function(context) {\n return new Step(context, 0.5);\n}\n\nexport function stepBefore(context) {\n return new Step(context, 0);\n}\n\nexport function stepAfter(context) {\n return new Step(context, 1);\n}\n","export default function(series, order) {\n if (!((n = series.length) > 1)) return;\n for (var i = 1, j, s0, s1 = series[order[0]], n, m = s1.length; i < n; ++i) {\n s0 = s1, s1 = series[order[i]];\n for (j = 0; j < m; ++j) {\n s1[j][1] += s1[j][0] = isNaN(s0[j][1]) ? s0[j][0] : s0[j][1];\n }\n }\n}\n","export default function(series) {\n var n = series.length, o = new Array(n);\n while (--n >= 0) o[n] = n;\n return o;\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport offsetNone from \"./offset/none.js\";\nimport orderNone from \"./order/none.js\";\n\nfunction stackValue(d, key) {\n return d[key];\n}\n\nfunction stackSeries(key) {\n const series = [];\n series.key = key;\n return series;\n}\n\nexport default function() {\n var keys = constant([]),\n order = orderNone,\n offset = offsetNone,\n value = stackValue;\n\n function stack(data) {\n var sz = Array.from(keys.apply(this, arguments), stackSeries),\n i, n = sz.length, j = -1,\n oz;\n\n for (const d of data) {\n for (i = 0, ++j; i < n; ++i) {\n (sz[i][j] = [0, +value(d, sz[i].key, j, data)]).data = d;\n }\n }\n\n for (i = 0, oz = array(order(sz)); i < n; ++i) {\n sz[oz[i]].index = i;\n }\n\n offset(sz, oz);\n return sz;\n }\n\n stack.keys = function(_) {\n return arguments.length ? (keys = typeof _ === \"function\" ? _ : constant(Array.from(_)), stack) : keys;\n };\n\n stack.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), stack) : value;\n };\n\n stack.order = function(_) {\n return arguments.length ? (order = _ == null ? orderNone : typeof _ === \"function\" ? _ : constant(Array.from(_)), stack) : order;\n };\n\n stack.offset = function(_) {\n return arguments.length ? (offset = _ == null ? offsetNone : _, stack) : offset;\n };\n\n return stack;\n}\n","export default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var i, j = 0, d, dy, yp, yn, n, m = series[order[0]].length; j < m; ++j) {\n for (yp = yn = 0, i = 0; i < n; ++i) {\n if ((dy = (d = series[order[i]][j])[1] - d[0]) > 0) {\n d[0] = yp, d[1] = yp += dy;\n } else if (dy < 0) {\n d[1] = yn, d[0] = yn += dy;\n } else {\n d[0] = 0, d[1] = dy;\n }\n }\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","import { Z as Xe, s as x, V as Pe, u as Vr, A as ae, k as Zr, K as se, x as Jr, p as en, Q as tn, D as rn, S as wt, i as Jt } from \"./enums-a96ef472.mjs\";\nimport { easeCubicInOut as nn, pointer as an, min as on, extent as sn, scaleLinear as un, scaleQuantize as ln } from \"d3\";\nfunction Be(e) {\n return function() {\n var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, r = t.width ? String(t.width) : e.defaultWidth, n = e.formats[r] || e.formats[e.defaultWidth];\n return n;\n };\n}\nfunction ue(e) {\n return function(t, r) {\n var n = r != null && r.context ? String(r.context) : \"standalone\", a;\n if (n === \"formatting\" && e.formattingValues) {\n var i = e.defaultFormattingWidth || e.defaultWidth, o = r != null && r.width ? String(r.width) : i;\n a = e.formattingValues[o] || e.formattingValues[i];\n } else {\n var s = e.defaultWidth, u = r != null && r.width ? String(r.width) : e.defaultWidth;\n a = e.values[u] || e.values[s];\n }\n var l = e.argumentCallback ? e.argumentCallback(t) : t;\n return a[l];\n };\n}\nfunction le(e) {\n return function(t) {\n var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = r.width, a = n && e.matchPatterns[n] || e.matchPatterns[e.defaultMatchWidth], i = t.match(a);\n if (!i)\n return null;\n var o = i[0], s = n && e.parsePatterns[n] || e.parsePatterns[e.defaultParseWidth], u = Array.isArray(s) ? fn(s, function(c) {\n return c.test(o);\n }) : cn(s, function(c) {\n return c.test(o);\n }), l;\n l = e.valueCallback ? e.valueCallback(u) : u, l = r.valueCallback ? r.valueCallback(l) : l;\n var f = t.slice(o.length);\n return {\n value: l,\n rest: f\n };\n };\n}\nfunction cn(e, t) {\n for (var r in e)\n if (e.hasOwnProperty(r) && t(e[r]))\n return r;\n}\nfunction fn(e, t) {\n for (var r = 0; r < e.length; r++)\n if (t(e[r]))\n return r;\n}\nfunction dn(e) {\n return function(t) {\n var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = t.match(e.matchPattern);\n if (!n)\n return null;\n var a = n[0], i = t.match(e.parsePattern);\n if (!i)\n return null;\n var o = e.valueCallback ? e.valueCallback(i[0]) : i[0];\n o = r.valueCallback ? r.valueCallback(o) : o;\n var s = t.slice(a.length);\n return {\n value: o,\n rest: s\n };\n };\n}\nfunction Me(e) {\n \"@babel/helpers - typeof\";\n return Me = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(t) {\n return typeof t;\n } : function(t) {\n return t && typeof Symbol == \"function\" && t.constructor === Symbol && t !== Symbol.prototype ? \"symbol\" : typeof t;\n }, Me(e);\n}\nfunction B(e) {\n if (e === null || e === !0 || e === !1)\n return NaN;\n var t = Number(e);\n return isNaN(t) ? t : t < 0 ? Math.ceil(t) : Math.floor(t);\n}\nfunction O(e, t) {\n if (t.length < e)\n throw new TypeError(e + \" argument\" + (e > 1 ? \"s\" : \"\") + \" required, but only \" + t.length + \" present\");\n}\nfunction E(e) {\n O(1, arguments);\n var t = Object.prototype.toString.call(e);\n return e instanceof Date || Me(e) === \"object\" && t === \"[object Date]\" ? new Date(e.getTime()) : typeof e == \"number\" || t === \"[object Number]\" ? new Date(e) : ((typeof e == \"string\" || t === \"[object String]\") && typeof console < \"u\" && (console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments\"), console.warn(new Error().stack)), /* @__PURE__ */ new Date(NaN));\n}\nfunction hn(e, t) {\n O(2, arguments);\n var r = E(e).getTime(), n = B(t);\n return new Date(r + n);\n}\nvar gn = {};\nfunction Le() {\n return gn;\n}\nfunction mn(e) {\n var t = new Date(Date.UTC(e.getFullYear(), e.getMonth(), e.getDate(), e.getHours(), e.getMinutes(), e.getSeconds(), e.getMilliseconds()));\n return t.setUTCFullYear(e.getFullYear()), e.getTime() - t.getTime();\n}\nfunction pn(e) {\n return O(1, arguments), e instanceof Date || Me(e) === \"object\" && Object.prototype.toString.call(e) === \"[object Date]\";\n}\nfunction vn(e) {\n if (O(1, arguments), !pn(e) && typeof e != \"number\")\n return !1;\n var t = E(e);\n return !isNaN(Number(t));\n}\nfunction yn(e, t) {\n O(2, arguments);\n var r = B(t);\n return hn(e, -r);\n}\nvar bn = 864e5;\nfunction wn(e) {\n O(1, arguments);\n var t = E(e), r = t.getTime();\n t.setUTCMonth(0, 1), t.setUTCHours(0, 0, 0, 0);\n var n = t.getTime(), a = r - n;\n return Math.floor(a / bn) + 1;\n}\nfunction xe(e) {\n O(1, arguments);\n var t = 1, r = E(e), n = r.getUTCDay(), a = (n < t ? 7 : 0) + n - t;\n return r.setUTCDate(r.getUTCDate() - a), r.setUTCHours(0, 0, 0, 0), r;\n}\nfunction er(e) {\n O(1, arguments);\n var t = E(e), r = t.getUTCFullYear(), n = /* @__PURE__ */ new Date(0);\n n.setUTCFullYear(r + 1, 0, 4), n.setUTCHours(0, 0, 0, 0);\n var a = xe(n), i = /* @__PURE__ */ new Date(0);\n i.setUTCFullYear(r, 0, 4), i.setUTCHours(0, 0, 0, 0);\n var o = xe(i);\n return t.getTime() >= a.getTime() ? r + 1 : t.getTime() >= o.getTime() ? r : r - 1;\n}\nfunction Tn(e) {\n O(1, arguments);\n var t = er(e), r = /* @__PURE__ */ new Date(0);\n r.setUTCFullYear(t, 0, 4), r.setUTCHours(0, 0, 0, 0);\n var n = xe(r);\n return n;\n}\nvar _n = 6048e5;\nfunction On(e) {\n O(1, arguments);\n var t = E(e), r = xe(t).getTime() - Tn(t).getTime();\n return Math.round(r / _n) + 1;\n}\nfunction Ae(e, t) {\n var r, n, a, i, o, s, u, l;\n O(1, arguments);\n var f = Le(), c = B((r = (n = (a = (i = t == null ? void 0 : t.weekStartsOn) !== null && i !== void 0 ? i : t == null || (o = t.locale) === null || o === void 0 || (s = o.options) === null || s === void 0 ? void 0 : s.weekStartsOn) !== null && a !== void 0 ? a : f.weekStartsOn) !== null && n !== void 0 ? n : (u = f.locale) === null || u === void 0 || (l = u.options) === null || l === void 0 ? void 0 : l.weekStartsOn) !== null && r !== void 0 ? r : 0);\n if (!(c >= 0 && c <= 6))\n throw new RangeError(\"weekStartsOn must be between 0 and 6 inclusively\");\n var d = E(e), g = d.getUTCDay(), m = (g < c ? 7 : 0) + g - c;\n return d.setUTCDate(d.getUTCDate() - m), d.setUTCHours(0, 0, 0, 0), d;\n}\nfunction tr(e, t) {\n var r, n, a, i, o, s, u, l;\n O(1, arguments);\n var f = E(e), c = f.getUTCFullYear(), d = Le(), g = B((r = (n = (a = (i = t == null ? void 0 : t.firstWeekContainsDate) !== null && i !== void 0 ? i : t == null || (o = t.locale) === null || o === void 0 || (s = o.options) === null || s === void 0 ? void 0 : s.firstWeekContainsDate) !== null && a !== void 0 ? a : d.firstWeekContainsDate) !== null && n !== void 0 ? n : (u = d.locale) === null || u === void 0 || (l = u.options) === null || l === void 0 ? void 0 : l.firstWeekContainsDate) !== null && r !== void 0 ? r : 1);\n if (!(g >= 1 && g <= 7))\n throw new RangeError(\"firstWeekContainsDate must be between 1 and 7 inclusively\");\n var m = /* @__PURE__ */ new Date(0);\n m.setUTCFullYear(c + 1, 0, g), m.setUTCHours(0, 0, 0, 0);\n var T = Ae(m, t), y = /* @__PURE__ */ new Date(0);\n y.setUTCFullYear(c, 0, g), y.setUTCHours(0, 0, 0, 0);\n var w = Ae(y, t);\n return f.getTime() >= T.getTime() ? c + 1 : f.getTime() >= w.getTime() ? c : c - 1;\n}\nfunction Sn(e, t) {\n var r, n, a, i, o, s, u, l;\n O(1, arguments);\n var f = Le(), c = B((r = (n = (a = (i = t == null ? void 0 : t.firstWeekContainsDate) !== null && i !== void 0 ? i : t == null || (o = t.locale) === null || o === void 0 || (s = o.options) === null || s === void 0 ? void 0 : s.firstWeekContainsDate) !== null && a !== void 0 ? a : f.firstWeekContainsDate) !== null && n !== void 0 ? n : (u = f.locale) === null || u === void 0 || (l = u.options) === null || l === void 0 ? void 0 : l.firstWeekContainsDate) !== null && r !== void 0 ? r : 1), d = tr(e, t), g = /* @__PURE__ */ new Date(0);\n g.setUTCFullYear(d, 0, c), g.setUTCHours(0, 0, 0, 0);\n var m = Ae(g, t);\n return m;\n}\nvar $n = 6048e5;\nfunction Pn(e, t) {\n O(1, arguments);\n var r = E(e), n = Ae(r, t).getTime() - Sn(r, t).getTime();\n return Math.round(n / $n) + 1;\n}\nfunction p(e, t) {\n for (var r = e < 0 ? \"-\" : \"\", n = Math.abs(e).toString(); n.length < t; )\n n = \"0\" + n;\n return r + n;\n}\nvar Cn = {\n // Year\n y: function(t, r) {\n var n = t.getUTCFullYear(), a = n > 0 ? n : 1 - n;\n return p(r === \"yy\" ? a % 100 : a, r.length);\n },\n // Month\n M: function(t, r) {\n var n = t.getUTCMonth();\n return r === \"M\" ? String(n + 1) : p(n + 1, 2);\n },\n // Day of the month\n d: function(t, r) {\n return p(t.getUTCDate(), r.length);\n },\n // AM or PM\n a: function(t, r) {\n var n = t.getUTCHours() / 12 >= 1 ? \"pm\" : \"am\";\n switch (r) {\n case \"a\":\n case \"aa\":\n return n.toUpperCase();\n case \"aaa\":\n return n;\n case \"aaaaa\":\n return n[0];\n case \"aaaa\":\n default:\n return n === \"am\" ? \"a.m.\" : \"p.m.\";\n }\n },\n // Hour [1-12]\n h: function(t, r) {\n return p(t.getUTCHours() % 12 || 12, r.length);\n },\n // Hour [0-23]\n H: function(t, r) {\n return p(t.getUTCHours(), r.length);\n },\n // Minute\n m: function(t, r) {\n return p(t.getUTCMinutes(), r.length);\n },\n // Second\n s: function(t, r) {\n return p(t.getUTCSeconds(), r.length);\n },\n // Fraction of second\n S: function(t, r) {\n var n = r.length, a = t.getUTCMilliseconds(), i = Math.floor(a * Math.pow(10, n - 3));\n return p(i, r.length);\n }\n};\nconst N = Cn;\nvar V = {\n am: \"am\",\n pm: \"pm\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n}, Mn = {\n // Era\n G: function(t, r, n) {\n var a = t.getUTCFullYear() > 0 ? 1 : 0;\n switch (r) {\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return n.era(a, {\n width: \"abbreviated\"\n });\n case \"GGGGG\":\n return n.era(a, {\n width: \"narrow\"\n });\n case \"GGGG\":\n default:\n return n.era(a, {\n width: \"wide\"\n });\n }\n },\n // Year\n y: function(t, r, n) {\n if (r === \"yo\") {\n var a = t.getUTCFullYear(), i = a > 0 ? a : 1 - a;\n return n.ordinalNumber(i, {\n unit: \"year\"\n });\n }\n return N.y(t, r);\n },\n // Local week-numbering year\n Y: function(t, r, n, a) {\n var i = tr(t, a), o = i > 0 ? i : 1 - i;\n if (r === \"YY\") {\n var s = o % 100;\n return p(s, 2);\n }\n return r === \"Yo\" ? n.ordinalNumber(o, {\n unit: \"year\"\n }) : p(o, r.length);\n },\n // ISO week-numbering year\n R: function(t, r) {\n var n = er(t);\n return p(n, r.length);\n },\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function(t, r) {\n var n = t.getUTCFullYear();\n return p(n, r.length);\n },\n // Quarter\n Q: function(t, r, n) {\n var a = Math.ceil((t.getUTCMonth() + 1) / 3);\n switch (r) {\n case \"Q\":\n return String(a);\n case \"QQ\":\n return p(a, 2);\n case \"Qo\":\n return n.ordinalNumber(a, {\n unit: \"quarter\"\n });\n case \"QQQ\":\n return n.quarter(a, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"QQQQQ\":\n return n.quarter(a, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"QQQQ\":\n default:\n return n.quarter(a, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Stand-alone quarter\n q: function(t, r, n) {\n var a = Math.ceil((t.getUTCMonth() + 1) / 3);\n switch (r) {\n case \"q\":\n return String(a);\n case \"qq\":\n return p(a, 2);\n case \"qo\":\n return n.ordinalNumber(a, {\n unit: \"quarter\"\n });\n case \"qqq\":\n return n.quarter(a, {\n width: \"abbreviated\",\n context: \"standalone\"\n });\n case \"qqqqq\":\n return n.quarter(a, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"qqqq\":\n default:\n return n.quarter(a, {\n width: \"wide\",\n context: \"standalone\"\n });\n }\n },\n // Month\n M: function(t, r, n) {\n var a = t.getUTCMonth();\n switch (r) {\n case \"M\":\n case \"MM\":\n return N.M(t, r);\n case \"Mo\":\n return n.ordinalNumber(a + 1, {\n unit: \"month\"\n });\n case \"MMM\":\n return n.month(a, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"MMMMM\":\n return n.month(a, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"MMMM\":\n default:\n return n.month(a, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Stand-alone month\n L: function(t, r, n) {\n var a = t.getUTCMonth();\n switch (r) {\n case \"L\":\n return String(a + 1);\n case \"LL\":\n return p(a + 1, 2);\n case \"Lo\":\n return n.ordinalNumber(a + 1, {\n unit: \"month\"\n });\n case \"LLL\":\n return n.month(a, {\n width: \"abbreviated\",\n context: \"standalone\"\n });\n case \"LLLLL\":\n return n.month(a, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"LLLL\":\n default:\n return n.month(a, {\n width: \"wide\",\n context: \"standalone\"\n });\n }\n },\n // Local week of year\n w: function(t, r, n, a) {\n var i = Pn(t, a);\n return r === \"wo\" ? n.ordinalNumber(i, {\n unit: \"week\"\n }) : p(i, r.length);\n },\n // ISO week of year\n I: function(t, r, n) {\n var a = On(t);\n return r === \"Io\" ? n.ordinalNumber(a, {\n unit: \"week\"\n }) : p(a, r.length);\n },\n // Day of the month\n d: function(t, r, n) {\n return r === \"do\" ? n.ordinalNumber(t.getUTCDate(), {\n unit: \"date\"\n }) : N.d(t, r);\n },\n // Day of year\n D: function(t, r, n) {\n var a = wn(t);\n return r === \"Do\" ? n.ordinalNumber(a, {\n unit: \"dayOfYear\"\n }) : p(a, r.length);\n },\n // Day of week\n E: function(t, r, n) {\n var a = t.getUTCDay();\n switch (r) {\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return n.day(a, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"EEEEE\":\n return n.day(a, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"EEEEEE\":\n return n.day(a, {\n width: \"short\",\n context: \"formatting\"\n });\n case \"EEEE\":\n default:\n return n.day(a, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Local day of week\n e: function(t, r, n, a) {\n var i = t.getUTCDay(), o = (i - a.weekStartsOn + 8) % 7 || 7;\n switch (r) {\n case \"e\":\n return String(o);\n case \"ee\":\n return p(o, 2);\n case \"eo\":\n return n.ordinalNumber(o, {\n unit: \"day\"\n });\n case \"eee\":\n return n.day(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"eeeee\":\n return n.day(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"eeeeee\":\n return n.day(i, {\n width: \"short\",\n context: \"formatting\"\n });\n case \"eeee\":\n default:\n return n.day(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Stand-alone local day of week\n c: function(t, r, n, a) {\n var i = t.getUTCDay(), o = (i - a.weekStartsOn + 8) % 7 || 7;\n switch (r) {\n case \"c\":\n return String(o);\n case \"cc\":\n return p(o, r.length);\n case \"co\":\n return n.ordinalNumber(o, {\n unit: \"day\"\n });\n case \"ccc\":\n return n.day(i, {\n width: \"abbreviated\",\n context: \"standalone\"\n });\n case \"ccccc\":\n return n.day(i, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"cccccc\":\n return n.day(i, {\n width: \"short\",\n context: \"standalone\"\n });\n case \"cccc\":\n default:\n return n.day(i, {\n width: \"wide\",\n context: \"standalone\"\n });\n }\n },\n // ISO day of week\n i: function(t, r, n) {\n var a = t.getUTCDay(), i = a === 0 ? 7 : a;\n switch (r) {\n case \"i\":\n return String(i);\n case \"ii\":\n return p(i, r.length);\n case \"io\":\n return n.ordinalNumber(i, {\n unit: \"day\"\n });\n case \"iii\":\n return n.day(a, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"iiiii\":\n return n.day(a, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"iiiiii\":\n return n.day(a, {\n width: \"short\",\n context: \"formatting\"\n });\n case \"iiii\":\n default:\n return n.day(a, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // AM or PM\n a: function(t, r, n) {\n var a = t.getUTCHours(), i = a / 12 >= 1 ? \"pm\" : \"am\";\n switch (r) {\n case \"a\":\n case \"aa\":\n return n.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"aaa\":\n return n.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n }).toLowerCase();\n case \"aaaaa\":\n return n.dayPeriod(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"aaaa\":\n default:\n return n.dayPeriod(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // AM, PM, midnight, noon\n b: function(t, r, n) {\n var a = t.getUTCHours(), i;\n switch (a === 12 ? i = V.noon : a === 0 ? i = V.midnight : i = a / 12 >= 1 ? \"pm\" : \"am\", r) {\n case \"b\":\n case \"bb\":\n return n.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"bbb\":\n return n.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n }).toLowerCase();\n case \"bbbbb\":\n return n.dayPeriod(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"bbbb\":\n default:\n return n.dayPeriod(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // in the morning, in the afternoon, in the evening, at night\n B: function(t, r, n) {\n var a = t.getUTCHours(), i;\n switch (a >= 17 ? i = V.evening : a >= 12 ? i = V.afternoon : a >= 4 ? i = V.morning : i = V.night, r) {\n case \"B\":\n case \"BB\":\n case \"BBB\":\n return n.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"BBBBB\":\n return n.dayPeriod(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"BBBB\":\n default:\n return n.dayPeriod(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Hour [1-12]\n h: function(t, r, n) {\n if (r === \"ho\") {\n var a = t.getUTCHours() % 12;\n return a === 0 && (a = 12), n.ordinalNumber(a, {\n unit: \"hour\"\n });\n }\n return N.h(t, r);\n },\n // Hour [0-23]\n H: function(t, r, n) {\n return r === \"Ho\" ? n.ordinalNumber(t.getUTCHours(), {\n unit: \"hour\"\n }) : N.H(t, r);\n },\n // Hour [0-11]\n K: function(t, r, n) {\n var a = t.getUTCHours() % 12;\n return r === \"Ko\" ? n.ordinalNumber(a, {\n unit: \"hour\"\n }) : p(a, r.length);\n },\n // Hour [1-24]\n k: function(t, r, n) {\n var a = t.getUTCHours();\n return a === 0 && (a = 24), r === \"ko\" ? n.ordinalNumber(a, {\n unit: \"hour\"\n }) : p(a, r.length);\n },\n // Minute\n m: function(t, r, n) {\n return r === \"mo\" ? n.ordinalNumber(t.getUTCMinutes(), {\n unit: \"minute\"\n }) : N.m(t, r);\n },\n // Second\n s: function(t, r, n) {\n return r === \"so\" ? n.ordinalNumber(t.getUTCSeconds(), {\n unit: \"second\"\n }) : N.s(t, r);\n },\n // Fraction of second\n S: function(t, r) {\n return N.S(t, r);\n },\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function(t, r, n, a) {\n var i = a._originalDate || t, o = i.getTimezoneOffset();\n if (o === 0)\n return \"Z\";\n switch (r) {\n case \"X\":\n return _t(o);\n case \"XXXX\":\n case \"XX\":\n return j(o);\n case \"XXXXX\":\n case \"XXX\":\n default:\n return j(o, \":\");\n }\n },\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function(t, r, n, a) {\n var i = a._originalDate || t, o = i.getTimezoneOffset();\n switch (r) {\n case \"x\":\n return _t(o);\n case \"xxxx\":\n case \"xx\":\n return j(o);\n case \"xxxxx\":\n case \"xxx\":\n default:\n return j(o, \":\");\n }\n },\n // Timezone (GMT)\n O: function(t, r, n, a) {\n var i = a._originalDate || t, o = i.getTimezoneOffset();\n switch (r) {\n case \"O\":\n case \"OO\":\n case \"OOO\":\n return \"GMT\" + Tt(o, \":\");\n case \"OOOO\":\n default:\n return \"GMT\" + j(o, \":\");\n }\n },\n // Timezone (specific non-location)\n z: function(t, r, n, a) {\n var i = a._originalDate || t, o = i.getTimezoneOffset();\n switch (r) {\n case \"z\":\n case \"zz\":\n case \"zzz\":\n return \"GMT\" + Tt(o, \":\");\n case \"zzzz\":\n default:\n return \"GMT\" + j(o, \":\");\n }\n },\n // Seconds timestamp\n t: function(t, r, n, a) {\n var i = a._originalDate || t, o = Math.floor(i.getTime() / 1e3);\n return p(o, r.length);\n },\n // Milliseconds timestamp\n T: function(t, r, n, a) {\n var i = a._originalDate || t, o = i.getTime();\n return p(o, r.length);\n }\n};\nfunction Tt(e, t) {\n var r = e > 0 ? \"-\" : \"+\", n = Math.abs(e), a = Math.floor(n / 60), i = n % 60;\n if (i === 0)\n return r + String(a);\n var o = t || \"\";\n return r + String(a) + o + p(i, 2);\n}\nfunction _t(e, t) {\n if (e % 60 === 0) {\n var r = e > 0 ? \"-\" : \"+\";\n return r + p(Math.abs(e) / 60, 2);\n }\n return j(e, t);\n}\nfunction j(e, t) {\n var r = t || \"\", n = e > 0 ? \"-\" : \"+\", a = Math.abs(e), i = p(Math.floor(a / 60), 2), o = p(a % 60, 2);\n return n + i + r + o;\n}\nconst xn = Mn;\nvar Ot = function(t, r) {\n switch (t) {\n case \"P\":\n return r.date({\n width: \"short\"\n });\n case \"PP\":\n return r.date({\n width: \"medium\"\n });\n case \"PPP\":\n return r.date({\n width: \"long\"\n });\n case \"PPPP\":\n default:\n return r.date({\n width: \"full\"\n });\n }\n}, rr = function(t, r) {\n switch (t) {\n case \"p\":\n return r.time({\n width: \"short\"\n });\n case \"pp\":\n return r.time({\n width: \"medium\"\n });\n case \"ppp\":\n return r.time({\n width: \"long\"\n });\n case \"pppp\":\n default:\n return r.time({\n width: \"full\"\n });\n }\n}, An = function(t, r) {\n var n = t.match(/(P+)(p+)?/) || [], a = n[1], i = n[2];\n if (!i)\n return Ot(t, r);\n var o;\n switch (a) {\n case \"P\":\n o = r.dateTime({\n width: \"short\"\n });\n break;\n case \"PP\":\n o = r.dateTime({\n width: \"medium\"\n });\n break;\n case \"PPP\":\n o = r.dateTime({\n width: \"long\"\n });\n break;\n case \"PPPP\":\n default:\n o = r.dateTime({\n width: \"full\"\n });\n break;\n }\n return o.replace(\"{{date}}\", Ot(a, r)).replace(\"{{time}}\", rr(i, r));\n}, En = {\n p: rr,\n P: An\n};\nconst Dn = En;\nvar In = [\"D\", \"DD\"], Ln = [\"YY\", \"YYYY\"];\nfunction Fn(e) {\n return In.indexOf(e) !== -1;\n}\nfunction Rn(e) {\n return Ln.indexOf(e) !== -1;\n}\nfunction St(e, t, r) {\n if (e === \"YYYY\")\n throw new RangeError(\"Use `yyyy` instead of `YYYY` (in `\".concat(t, \"`) for formatting years to the input `\").concat(r, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n if (e === \"YY\")\n throw new RangeError(\"Use `yy` instead of `YY` (in `\".concat(t, \"`) for formatting years to the input `\").concat(r, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n if (e === \"D\")\n throw new RangeError(\"Use `d` instead of `D` (in `\".concat(t, \"`) for formatting days of the month to the input `\").concat(r, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n if (e === \"DD\")\n throw new RangeError(\"Use `dd` instead of `DD` (in `\".concat(t, \"`) for formatting days of the month to the input `\").concat(r, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n}\nvar Un = {\n lessThanXSeconds: {\n one: \"less than a second\",\n other: \"less than {{count}} seconds\"\n },\n xSeconds: {\n one: \"1 second\",\n other: \"{{count}} seconds\"\n },\n halfAMinute: \"half a minute\",\n lessThanXMinutes: {\n one: \"less than a minute\",\n other: \"less than {{count}} minutes\"\n },\n xMinutes: {\n one: \"1 minute\",\n other: \"{{count}} minutes\"\n },\n aboutXHours: {\n one: \"about 1 hour\",\n other: \"about {{count}} hours\"\n },\n xHours: {\n one: \"1 hour\",\n other: \"{{count}} hours\"\n },\n xDays: {\n one: \"1 day\",\n other: \"{{count}} days\"\n },\n aboutXWeeks: {\n one: \"about 1 week\",\n other: \"about {{count}} weeks\"\n },\n xWeeks: {\n one: \"1 week\",\n other: \"{{count}} weeks\"\n },\n aboutXMonths: {\n one: \"about 1 month\",\n other: \"about {{count}} months\"\n },\n xMonths: {\n one: \"1 month\",\n other: \"{{count}} months\"\n },\n aboutXYears: {\n one: \"about 1 year\",\n other: \"about {{count}} years\"\n },\n xYears: {\n one: \"1 year\",\n other: \"{{count}} years\"\n },\n overXYears: {\n one: \"over 1 year\",\n other: \"over {{count}} years\"\n },\n almostXYears: {\n one: \"almost 1 year\",\n other: \"almost {{count}} years\"\n }\n}, Nn = function(t, r, n) {\n var a, i = Un[t];\n return typeof i == \"string\" ? a = i : r === 1 ? a = i.one : a = i.other.replace(\"{{count}}\", r.toString()), n != null && n.addSuffix ? n.comparison && n.comparison > 0 ? \"in \" + a : a + \" ago\" : a;\n};\nconst Wn = Nn;\nvar jn = {\n full: \"EEEE, MMMM do, y\",\n long: \"MMMM do, y\",\n medium: \"MMM d, y\",\n short: \"MM/dd/yyyy\"\n}, Yn = {\n full: \"h:mm:ss a zzzz\",\n long: \"h:mm:ss a z\",\n medium: \"h:mm:ss a\",\n short: \"h:mm a\"\n}, Gn = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\"\n}, Bn = {\n date: Be({\n formats: jn,\n defaultWidth: \"full\"\n }),\n time: Be({\n formats: Yn,\n defaultWidth: \"full\"\n }),\n dateTime: Be({\n formats: Gn,\n defaultWidth: \"full\"\n })\n};\nconst Hn = Bn;\nvar qn = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: \"P\"\n}, zn = function(t, r, n, a) {\n return qn[t];\n};\nconst Qn = zn;\nvar Xn = {\n narrow: [\"B\", \"A\"],\n abbreviated: [\"BC\", \"AD\"],\n wide: [\"Before Christ\", \"Anno Domini\"]\n}, kn = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"]\n}, Kn = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"],\n wide: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"]\n}, Vn = {\n narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n wide: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"]\n}, Zn = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n }\n}, Jn = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\"\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\"\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\"\n }\n}, ea = function(t, r) {\n var n = Number(t), a = n % 100;\n if (a > 20 || a < 10)\n switch (a % 10) {\n case 1:\n return n + \"st\";\n case 2:\n return n + \"nd\";\n case 3:\n return n + \"rd\";\n }\n return n + \"th\";\n}, ta = {\n ordinalNumber: ea,\n era: ue({\n values: Xn,\n defaultWidth: \"wide\"\n }),\n quarter: ue({\n values: kn,\n defaultWidth: \"wide\",\n argumentCallback: function(t) {\n return t - 1;\n }\n }),\n month: ue({\n values: Kn,\n defaultWidth: \"wide\"\n }),\n day: ue({\n values: Vn,\n defaultWidth: \"wide\"\n }),\n dayPeriod: ue({\n values: Zn,\n defaultWidth: \"wide\",\n formattingValues: Jn,\n defaultFormattingWidth: \"wide\"\n })\n};\nconst ra = ta;\nvar na = /^(\\d+)(th|st|nd|rd)?/i, aa = /\\d+/i, ia = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i\n}, oa = {\n any: [/^b/i, /^(a|c)/i]\n}, sa = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n}, ua = {\n any: [/1/i, /2/i, /3/i, /4/i]\n}, la = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n}, ca = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n}, fa = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n}, da = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n}, ha = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n}, ga = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n}, ma = {\n ordinalNumber: dn({\n matchPattern: na,\n parsePattern: aa,\n valueCallback: function(t) {\n return parseInt(t, 10);\n }\n }),\n era: le({\n matchPatterns: ia,\n defaultMatchWidth: \"wide\",\n parsePatterns: oa,\n defaultParseWidth: \"any\"\n }),\n quarter: le({\n matchPatterns: sa,\n defaultMatchWidth: \"wide\",\n parsePatterns: ua,\n defaultParseWidth: \"any\",\n valueCallback: function(t) {\n return t + 1;\n }\n }),\n month: le({\n matchPatterns: la,\n defaultMatchWidth: \"wide\",\n parsePatterns: ca,\n defaultParseWidth: \"any\"\n }),\n day: le({\n matchPatterns: fa,\n defaultMatchWidth: \"wide\",\n parsePatterns: da,\n defaultParseWidth: \"any\"\n }),\n dayPeriod: le({\n matchPatterns: ha,\n defaultMatchWidth: \"any\",\n parsePatterns: ga,\n defaultParseWidth: \"any\"\n })\n};\nconst pa = ma;\nvar va = {\n code: \"en-US\",\n formatDistance: Wn,\n formatLong: Hn,\n formatRelative: Qn,\n localize: ra,\n match: pa,\n options: {\n weekStartsOn: 0,\n firstWeekContainsDate: 1\n }\n};\nconst nr = va;\nvar ya = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g, ba = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, wa = /^'([^]*?)'?$/, Ta = /''/g, _a = /[a-zA-Z]/;\nfunction ke(e, t, r) {\n var n, a, i, o, s, u, l, f, c, d, g, m, T, y, w, C, k, R;\n O(2, arguments);\n var K = String(t), ie = Le(), oe = (n = (a = r == null ? void 0 : r.locale) !== null && a !== void 0 ? a : ie.locale) !== null && n !== void 0 ? n : nr, Ye = B((i = (o = (s = (u = r == null ? void 0 : r.firstWeekContainsDate) !== null && u !== void 0 ? u : r == null || (l = r.locale) === null || l === void 0 || (f = l.options) === null || f === void 0 ? void 0 : f.firstWeekContainsDate) !== null && s !== void 0 ? s : ie.firstWeekContainsDate) !== null && o !== void 0 ? o : (c = ie.locale) === null || c === void 0 || (d = c.options) === null || d === void 0 ? void 0 : d.firstWeekContainsDate) !== null && i !== void 0 ? i : 1);\n if (!(Ye >= 1 && Ye <= 7))\n throw new RangeError(\"firstWeekContainsDate must be between 1 and 7 inclusively\");\n var Ge = B((g = (m = (T = (y = r == null ? void 0 : r.weekStartsOn) !== null && y !== void 0 ? y : r == null || (w = r.locale) === null || w === void 0 || (C = w.options) === null || C === void 0 ? void 0 : C.weekStartsOn) !== null && T !== void 0 ? T : ie.weekStartsOn) !== null && m !== void 0 ? m : (k = ie.locale) === null || k === void 0 || (R = k.options) === null || R === void 0 ? void 0 : R.weekStartsOn) !== null && g !== void 0 ? g : 0);\n if (!(Ge >= 0 && Ge <= 6))\n throw new RangeError(\"weekStartsOn must be between 0 and 6 inclusively\");\n if (!oe.localize)\n throw new RangeError(\"locale must contain localize property\");\n if (!oe.formatLong)\n throw new RangeError(\"locale must contain formatLong property\");\n var _e = E(e);\n if (!vn(_e))\n throw new RangeError(\"Invalid time value\");\n var Qr = mn(_e), Xr = yn(_e, Qr), kr = {\n firstWeekContainsDate: Ye,\n weekStartsOn: Ge,\n locale: oe,\n _originalDate: _e\n }, Kr = K.match(ba).map(function($) {\n var U = $[0];\n if (U === \"p\" || U === \"P\") {\n var Oe = Dn[U];\n return Oe($, oe.formatLong);\n }\n return $;\n }).join(\"\").match(ya).map(function($) {\n if ($ === \"''\")\n return \"'\";\n var U = $[0];\n if (U === \"'\")\n return Oa($);\n var Oe = xn[U];\n if (Oe)\n return !(r != null && r.useAdditionalWeekYearTokens) && Rn($) && St($, t, String(e)), !(r != null && r.useAdditionalDayOfYearTokens) && Fn($) && St($, t, String(e)), Oe(Xr, $, oe.localize, kr);\n if (U.match(_a))\n throw new RangeError(\"Format string contains an unescaped latin alphabet character `\" + U + \"`\");\n return $;\n }).join(\"\");\n return Kr;\n}\nfunction Oa(e) {\n var t = e.match(wa);\n return t ? t[1].replace(Ta, \"'\") : e;\n}\nvar Sa = typeof global == \"object\" && global && global.Object === Object && global;\nconst ar = Sa;\nvar $a = typeof self == \"object\" && self && self.Object === Object && self, Pa = ar || $a || Function(\"return this\")();\nconst D = Pa;\nvar Ca = D.Symbol;\nconst P = Ca;\nvar ir = Object.prototype, Ma = ir.hasOwnProperty, xa = ir.toString, ce = P ? P.toStringTag : void 0;\nfunction Aa(e) {\n var t = Ma.call(e, ce), r = e[ce];\n try {\n e[ce] = void 0;\n var n = !0;\n } catch {\n }\n var a = xa.call(e);\n return n && (t ? e[ce] = r : delete e[ce]), a;\n}\nvar Ea = Object.prototype, Da = Ea.toString;\nfunction Ia(e) {\n return Da.call(e);\n}\nvar La = \"[object Null]\", Fa = \"[object Undefined]\", $t = P ? P.toStringTag : void 0;\nfunction z(e) {\n return e == null ? e === void 0 ? Fa : La : $t && $t in Object(e) ? Aa(e) : Ia(e);\n}\nfunction A(e) {\n return e != null && typeof e == \"object\";\n}\nvar Ra = \"[object Symbol]\";\nfunction nt(e) {\n return typeof e == \"symbol\" || A(e) && z(e) == Ra;\n}\nfunction Ua(e, t) {\n for (var r = -1, n = e == null ? 0 : e.length, a = Array(n); ++r < n; )\n a[r] = t(e[r], r, e);\n return a;\n}\nvar Na = Array.isArray;\nconst S = Na;\nvar Wa = 1 / 0, Pt = P ? P.prototype : void 0, Ct = Pt ? Pt.toString : void 0;\nfunction or(e) {\n if (typeof e == \"string\")\n return e;\n if (S(e))\n return Ua(e, or) + \"\";\n if (nt(e))\n return Ct ? Ct.call(e) : \"\";\n var t = e + \"\";\n return t == \"0\" && 1 / e == -Wa ? \"-0\" : t;\n}\nfunction I(e) {\n var t = typeof e;\n return e != null && (t == \"object\" || t == \"function\");\n}\nfunction at(e) {\n return e;\n}\nvar ja = \"[object AsyncFunction]\", Ya = \"[object Function]\", Ga = \"[object GeneratorFunction]\", Ba = \"[object Proxy]\";\nfunction it(e) {\n if (!I(e))\n return !1;\n var t = z(e);\n return t == Ya || t == Ga || t == ja || t == Ba;\n}\nvar Ha = D[\"__core-js_shared__\"];\nconst He = Ha;\nvar Mt = function() {\n var e = /[^.]+$/.exec(He && He.keys && He.keys.IE_PROTO || \"\");\n return e ? \"Symbol(src)_1.\" + e : \"\";\n}();\nfunction qa(e) {\n return !!Mt && Mt in e;\n}\nvar za = Function.prototype, Qa = za.toString;\nfunction Q(e) {\n if (e != null) {\n try {\n return Qa.call(e);\n } catch {\n }\n try {\n return e + \"\";\n } catch {\n }\n }\n return \"\";\n}\nvar Xa = /[\\\\^$.*+?()[\\]{}|]/g, ka = /^\\[object .+?Constructor\\]$/, Ka = Function.prototype, Va = Object.prototype, Za = Ka.toString, Ja = Va.hasOwnProperty, ei = RegExp(\n \"^\" + Za.call(Ja).replace(Xa, \"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, \"$1.*?\") + \"$\"\n);\nfunction ti(e) {\n if (!I(e) || qa(e))\n return !1;\n var t = it(e) ? ei : ka;\n return t.test(Q(e));\n}\nfunction ri(e, t) {\n return e == null ? void 0 : e[t];\n}\nfunction X(e, t) {\n var r = ri(e, t);\n return ti(r) ? r : void 0;\n}\nvar ni = X(D, \"WeakMap\");\nconst Ke = ni;\nvar xt = Object.create, ai = function() {\n function e() {\n }\n return function(t) {\n if (!I(t))\n return {};\n if (xt)\n return xt(t);\n e.prototype = t;\n var r = new e();\n return e.prototype = void 0, r;\n };\n}();\nconst ii = ai;\nfunction oi(e, t, r) {\n switch (r.length) {\n case 0:\n return e.call(t);\n case 1:\n return e.call(t, r[0]);\n case 2:\n return e.call(t, r[0], r[1]);\n case 3:\n return e.call(t, r[0], r[1], r[2]);\n }\n return e.apply(t, r);\n}\nfunction si() {\n}\nfunction sr(e, t) {\n var r = -1, n = e.length;\n for (t || (t = Array(n)); ++r < n; )\n t[r] = e[r];\n return t;\n}\nvar ui = 800, li = 16, ci = Date.now;\nfunction fi(e) {\n var t = 0, r = 0;\n return function() {\n var n = ci(), a = li - (n - r);\n if (r = n, a > 0) {\n if (++t >= ui)\n return arguments[0];\n } else\n t = 0;\n return e.apply(void 0, arguments);\n };\n}\nfunction di(e) {\n return function() {\n return e;\n };\n}\nvar hi = function() {\n try {\n var e = X(Object, \"defineProperty\");\n return e({}, \"\", {}), e;\n } catch {\n }\n}();\nconst Ee = hi;\nvar gi = Ee ? function(e, t) {\n return Ee(e, \"toString\", {\n configurable: !0,\n enumerable: !1,\n value: di(t),\n writable: !0\n });\n} : at;\nconst mi = gi;\nvar pi = fi(mi);\nconst vi = pi;\nfunction yi(e, t) {\n for (var r = -1, n = e == null ? 0 : e.length; ++r < n && t(e[r], r, e) !== !1; )\n ;\n return e;\n}\nfunction bi(e, t, r, n) {\n for (var a = e.length, i = r + (n ? 1 : -1); n ? i-- : ++i < a; )\n if (t(e[i], i, e))\n return i;\n return -1;\n}\nfunction wi(e) {\n return e !== e;\n}\nfunction Ti(e, t, r) {\n for (var n = r - 1, a = e.length; ++n < a; )\n if (e[n] === t)\n return n;\n return -1;\n}\nfunction _i(e, t, r) {\n return t === t ? Ti(e, t, r) : bi(e, wi, r);\n}\nfunction Oi(e, t) {\n var r = e == null ? 0 : e.length;\n return !!r && _i(e, t, 0) > -1;\n}\nvar Si = 9007199254740991, $i = /^(?:0|[1-9]\\d*)$/;\nfunction ot(e, t) {\n var r = typeof e;\n return t = t ?? Si, !!t && (r == \"number\" || r != \"symbol\" && $i.test(e)) && e > -1 && e % 1 == 0 && e < t;\n}\nfunction st(e, t, r) {\n t == \"__proto__\" && Ee ? Ee(e, t, {\n configurable: !0,\n enumerable: !0,\n value: r,\n writable: !0\n }) : e[t] = r;\n}\nfunction pe(e, t) {\n return e === t || e !== e && t !== t;\n}\nvar Pi = Object.prototype, Ci = Pi.hasOwnProperty;\nfunction ur(e, t, r) {\n var n = e[t];\n (!(Ci.call(e, t) && pe(n, r)) || r === void 0 && !(t in e)) && st(e, t, r);\n}\nfunction ve(e, t, r, n) {\n var a = !r;\n r || (r = {});\n for (var i = -1, o = t.length; ++i < o; ) {\n var s = t[i], u = n ? n(r[s], e[s], s, r, e) : void 0;\n u === void 0 && (u = e[s]), a ? st(r, s, u) : ur(r, s, u);\n }\n return r;\n}\nvar At = Math.max;\nfunction Mi(e, t, r) {\n return t = At(t === void 0 ? e.length - 1 : t, 0), function() {\n for (var n = arguments, a = -1, i = At(n.length - t, 0), o = Array(i); ++a < i; )\n o[a] = n[t + a];\n a = -1;\n for (var s = Array(t + 1); ++a < t; )\n s[a] = n[a];\n return s[t] = r(o), oi(e, this, s);\n };\n}\nfunction lr(e, t) {\n return vi(Mi(e, t, at), e + \"\");\n}\nvar xi = 9007199254740991;\nfunction ut(e) {\n return typeof e == \"number\" && e > -1 && e % 1 == 0 && e <= xi;\n}\nfunction ye(e) {\n return e != null && ut(e.length) && !it(e);\n}\nfunction Ai(e, t, r) {\n if (!I(r))\n return !1;\n var n = typeof t;\n return (n == \"number\" ? ye(r) && ot(t, r.length) : n == \"string\" && t in r) ? pe(r[t], e) : !1;\n}\nfunction Ei(e) {\n return lr(function(t, r) {\n var n = -1, a = r.length, i = a > 1 ? r[a - 1] : void 0, o = a > 2 ? r[2] : void 0;\n for (i = e.length > 3 && typeof i == \"function\" ? (a--, i) : void 0, o && Ai(r[0], r[1], o) && (i = a < 3 ? void 0 : i, a = 1), t = Object(t); ++n < a; ) {\n var s = r[n];\n s && e(t, s, n, i);\n }\n return t;\n });\n}\nvar Di = Object.prototype;\nfunction Fe(e) {\n var t = e && e.constructor, r = typeof t == \"function\" && t.prototype || Di;\n return e === r;\n}\nfunction Ii(e, t) {\n for (var r = -1, n = Array(e); ++r < e; )\n n[r] = t(r);\n return n;\n}\nvar Li = \"[object Arguments]\";\nfunction Et(e) {\n return A(e) && z(e) == Li;\n}\nvar cr = Object.prototype, Fi = cr.hasOwnProperty, Ri = cr.propertyIsEnumerable, Ui = Et(function() {\n return arguments;\n}()) ? Et : function(e) {\n return A(e) && Fi.call(e, \"callee\") && !Ri.call(e, \"callee\");\n};\nconst ee = Ui;\nfunction Ni() {\n return !1;\n}\nvar fr = typeof exports == \"object\" && exports && !exports.nodeType && exports, Dt = fr && typeof module == \"object\" && module && !module.nodeType && module, Wi = Dt && Dt.exports === fr, It = Wi ? D.Buffer : void 0, ji = It ? It.isBuffer : void 0, Yi = ji || Ni;\nconst te = Yi;\nvar Gi = \"[object Arguments]\", Bi = \"[object Array]\", Hi = \"[object Boolean]\", qi = \"[object Date]\", zi = \"[object Error]\", Qi = \"[object Function]\", Xi = \"[object Map]\", ki = \"[object Number]\", Ki = \"[object Object]\", Vi = \"[object RegExp]\", Zi = \"[object Set]\", Ji = \"[object String]\", eo = \"[object WeakMap]\", to = \"[object ArrayBuffer]\", ro = \"[object DataView]\", no = \"[object Float32Array]\", ao = \"[object Float64Array]\", io = \"[object Int8Array]\", oo = \"[object Int16Array]\", so = \"[object Int32Array]\", uo = \"[object Uint8Array]\", lo = \"[object Uint8ClampedArray]\", co = \"[object Uint16Array]\", fo = \"[object Uint32Array]\", b = {};\nb[no] = b[ao] = b[io] = b[oo] = b[so] = b[uo] = b[lo] = b[co] = b[fo] = !0;\nb[Gi] = b[Bi] = b[to] = b[Hi] = b[ro] = b[qi] = b[zi] = b[Qi] = b[Xi] = b[ki] = b[Ki] = b[Vi] = b[Zi] = b[Ji] = b[eo] = !1;\nfunction ho(e) {\n return A(e) && ut(e.length) && !!b[z(e)];\n}\nfunction lt(e) {\n return function(t) {\n return e(t);\n };\n}\nvar dr = typeof exports == \"object\" && exports && !exports.nodeType && exports, de = dr && typeof module == \"object\" && module && !module.nodeType && module, go = de && de.exports === dr, qe = go && ar.process, mo = function() {\n try {\n var e = de && de.require && de.require(\"util\").types;\n return e || qe && qe.binding && qe.binding(\"util\");\n } catch {\n }\n}();\nconst re = mo;\nvar Lt = re && re.isTypedArray, po = Lt ? lt(Lt) : ho;\nconst Re = po;\nvar vo = Object.prototype, yo = vo.hasOwnProperty;\nfunction hr(e, t) {\n var r = S(e), n = !r && ee(e), a = !r && !n && te(e), i = !r && !n && !a && Re(e), o = r || n || a || i, s = o ? Ii(e.length, String) : [], u = s.length;\n for (var l in e)\n (t || yo.call(e, l)) && !(o && // Safari 9 has enumerable `arguments.length` in strict mode.\n (l == \"length\" || // Node.js 0.10 has enumerable non-index properties on buffers.\n a && (l == \"offset\" || l == \"parent\") || // PhantomJS 2 has enumerable non-index properties on typed arrays.\n i && (l == \"buffer\" || l == \"byteLength\" || l == \"byteOffset\") || // Skip index properties.\n ot(l, u))) && s.push(l);\n return s;\n}\nfunction gr(e, t) {\n return function(r) {\n return e(t(r));\n };\n}\nvar bo = gr(Object.keys, Object);\nconst wo = bo;\nvar To = Object.prototype, _o = To.hasOwnProperty;\nfunction mr(e) {\n if (!Fe(e))\n return wo(e);\n var t = [];\n for (var r in Object(e))\n _o.call(e, r) && r != \"constructor\" && t.push(r);\n return t;\n}\nfunction Ue(e) {\n return ye(e) ? hr(e) : mr(e);\n}\nfunction Oo(e) {\n var t = [];\n if (e != null)\n for (var r in Object(e))\n t.push(r);\n return t;\n}\nvar So = Object.prototype, $o = So.hasOwnProperty;\nfunction Po(e) {\n if (!I(e))\n return Oo(e);\n var t = Fe(e), r = [];\n for (var n in e)\n n == \"constructor\" && (t || !$o.call(e, n)) || r.push(n);\n return r;\n}\nfunction be(e) {\n return ye(e) ? hr(e, !0) : Po(e);\n}\nvar Co = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/, Mo = /^\\w*$/;\nfunction ct(e, t) {\n if (S(e))\n return !1;\n var r = typeof e;\n return r == \"number\" || r == \"symbol\" || r == \"boolean\" || e == null || nt(e) ? !0 : Mo.test(e) || !Co.test(e) || t != null && e in Object(t);\n}\nvar xo = X(Object, \"create\");\nconst he = xo;\nfunction Ao() {\n this.__data__ = he ? he(null) : {}, this.size = 0;\n}\nfunction Eo(e) {\n var t = this.has(e) && delete this.__data__[e];\n return this.size -= t ? 1 : 0, t;\n}\nvar Do = \"__lodash_hash_undefined__\", Io = Object.prototype, Lo = Io.hasOwnProperty;\nfunction Fo(e) {\n var t = this.__data__;\n if (he) {\n var r = t[e];\n return r === Do ? void 0 : r;\n }\n return Lo.call(t, e) ? t[e] : void 0;\n}\nvar Ro = Object.prototype, Uo = Ro.hasOwnProperty;\nfunction No(e) {\n var t = this.__data__;\n return he ? t[e] !== void 0 : Uo.call(t, e);\n}\nvar Wo = \"__lodash_hash_undefined__\";\nfunction jo(e, t) {\n var r = this.__data__;\n return this.size += this.has(e) ? 0 : 1, r[e] = he && t === void 0 ? Wo : t, this;\n}\nfunction H(e) {\n var t = -1, r = e == null ? 0 : e.length;\n for (this.clear(); ++t < r; ) {\n var n = e[t];\n this.set(n[0], n[1]);\n }\n}\nH.prototype.clear = Ao;\nH.prototype.delete = Eo;\nH.prototype.get = Fo;\nH.prototype.has = No;\nH.prototype.set = jo;\nfunction Yo() {\n this.__data__ = [], this.size = 0;\n}\nfunction Ne(e, t) {\n for (var r = e.length; r--; )\n if (pe(e[r][0], t))\n return r;\n return -1;\n}\nvar Go = Array.prototype, Bo = Go.splice;\nfunction Ho(e) {\n var t = this.__data__, r = Ne(t, e);\n if (r < 0)\n return !1;\n var n = t.length - 1;\n return r == n ? t.pop() : Bo.call(t, r, 1), --this.size, !0;\n}\nfunction qo(e) {\n var t = this.__data__, r = Ne(t, e);\n return r < 0 ? void 0 : t[r][1];\n}\nfunction zo(e) {\n return Ne(this.__data__, e) > -1;\n}\nfunction Qo(e, t) {\n var r = this.__data__, n = Ne(r, e);\n return n < 0 ? (++this.size, r.push([e, t])) : r[n][1] = t, this;\n}\nfunction L(e) {\n var t = -1, r = e == null ? 0 : e.length;\n for (this.clear(); ++t < r; ) {\n var n = e[t];\n this.set(n[0], n[1]);\n }\n}\nL.prototype.clear = Yo;\nL.prototype.delete = Ho;\nL.prototype.get = qo;\nL.prototype.has = zo;\nL.prototype.set = Qo;\nvar Xo = X(D, \"Map\");\nconst ge = Xo;\nfunction ko() {\n this.size = 0, this.__data__ = {\n hash: new H(),\n map: new (ge || L)(),\n string: new H()\n };\n}\nfunction Ko(e) {\n var t = typeof e;\n return t == \"string\" || t == \"number\" || t == \"symbol\" || t == \"boolean\" ? e !== \"__proto__\" : e === null;\n}\nfunction We(e, t) {\n var r = e.__data__;\n return Ko(t) ? r[typeof t == \"string\" ? \"string\" : \"hash\"] : r.map;\n}\nfunction Vo(e) {\n var t = We(this, e).delete(e);\n return this.size -= t ? 1 : 0, t;\n}\nfunction Zo(e) {\n return We(this, e).get(e);\n}\nfunction Jo(e) {\n return We(this, e).has(e);\n}\nfunction es(e, t) {\n var r = We(this, e), n = r.size;\n return r.set(e, t), this.size += r.size == n ? 0 : 1, this;\n}\nfunction F(e) {\n var t = -1, r = e == null ? 0 : e.length;\n for (this.clear(); ++t < r; ) {\n var n = e[t];\n this.set(n[0], n[1]);\n }\n}\nF.prototype.clear = ko;\nF.prototype.delete = Vo;\nF.prototype.get = Zo;\nF.prototype.has = Jo;\nF.prototype.set = es;\nvar ts = \"Expected a function\";\nfunction ft(e, t) {\n if (typeof e != \"function\" || t != null && typeof t != \"function\")\n throw new TypeError(ts);\n var r = function() {\n var n = arguments, a = t ? t.apply(this, n) : n[0], i = r.cache;\n if (i.has(a))\n return i.get(a);\n var o = e.apply(this, n);\n return r.cache = i.set(a, o) || i, o;\n };\n return r.cache = new (ft.Cache || F)(), r;\n}\nft.Cache = F;\nvar rs = 500;\nfunction ns(e) {\n var t = ft(e, function(n) {\n return r.size === rs && r.clear(), n;\n }), r = t.cache;\n return t;\n}\nvar as = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g, is = /\\\\(\\\\)?/g, os = ns(function(e) {\n var t = [];\n return e.charCodeAt(0) === 46 && t.push(\"\"), e.replace(as, function(r, n, a, i) {\n t.push(a ? i.replace(is, \"$1\") : n || r);\n }), t;\n});\nconst ss = os;\nfunction us(e) {\n return e == null ? \"\" : or(e);\n}\nfunction pr(e, t) {\n return S(e) ? e : ct(e, t) ? [e] : ss(us(e));\n}\nvar ls = 1 / 0;\nfunction je(e) {\n if (typeof e == \"string\" || nt(e))\n return e;\n var t = e + \"\";\n return t == \"0\" && 1 / e == -ls ? \"-0\" : t;\n}\nfunction vr(e, t) {\n t = pr(t, e);\n for (var r = 0, n = t.length; e != null && r < n; )\n e = e[je(t[r++])];\n return r && r == n ? e : void 0;\n}\nfunction cs(e, t, r) {\n var n = e == null ? void 0 : vr(e, t);\n return n === void 0 ? r : n;\n}\nfunction dt(e, t) {\n for (var r = -1, n = t.length, a = e.length; ++r < n; )\n e[a + r] = t[r];\n return e;\n}\nvar Ft = P ? P.isConcatSpreadable : void 0;\nfunction fs(e) {\n return S(e) || ee(e) || !!(Ft && e && e[Ft]);\n}\nfunction yr(e, t, r, n, a) {\n var i = -1, o = e.length;\n for (r || (r = fs), a || (a = []); ++i < o; ) {\n var s = e[i];\n t > 0 && r(s) ? t > 1 ? yr(s, t - 1, r, n, a) : dt(a, s) : n || (a[a.length] = s);\n }\n return a;\n}\nvar ds = gr(Object.getPrototypeOf, Object);\nconst ht = ds;\nvar hs = \"[object Object]\", gs = Function.prototype, ms = Object.prototype, br = gs.toString, ps = ms.hasOwnProperty, vs = br.call(Object);\nfunction ys(e) {\n if (!A(e) || z(e) != hs)\n return !1;\n var t = ht(e);\n if (t === null)\n return !0;\n var r = ps.call(t, \"constructor\") && t.constructor;\n return typeof r == \"function\" && r instanceof r && br.call(r) == vs;\n}\nfunction bs() {\n this.__data__ = new L(), this.size = 0;\n}\nfunction ws(e) {\n var t = this.__data__, r = t.delete(e);\n return this.size = t.size, r;\n}\nfunction Ts(e) {\n return this.__data__.get(e);\n}\nfunction _s(e) {\n return this.__data__.has(e);\n}\nvar Os = 200;\nfunction Ss(e, t) {\n var r = this.__data__;\n if (r instanceof L) {\n var n = r.__data__;\n if (!ge || n.length < Os - 1)\n return n.push([e, t]), this.size = ++r.size, this;\n r = this.__data__ = new F(n);\n }\n return r.set(e, t), this.size = r.size, this;\n}\nfunction M(e) {\n var t = this.__data__ = new L(e);\n this.size = t.size;\n}\nM.prototype.clear = bs;\nM.prototype.delete = ws;\nM.prototype.get = Ts;\nM.prototype.has = _s;\nM.prototype.set = Ss;\nfunction $s(e, t) {\n return e && ve(t, Ue(t), e);\n}\nfunction Ps(e, t) {\n return e && ve(t, be(t), e);\n}\nvar wr = typeof exports == \"object\" && exports && !exports.nodeType && exports, Rt = wr && typeof module == \"object\" && module && !module.nodeType && module, Cs = Rt && Rt.exports === wr, Ut = Cs ? D.Buffer : void 0, Nt = Ut ? Ut.allocUnsafe : void 0;\nfunction Tr(e, t) {\n if (t)\n return e.slice();\n var r = e.length, n = Nt ? Nt(r) : new e.constructor(r);\n return e.copy(n), n;\n}\nfunction Ms(e, t) {\n for (var r = -1, n = e == null ? 0 : e.length, a = 0, i = []; ++r < n; ) {\n var o = e[r];\n t(o, r, e) && (i[a++] = o);\n }\n return i;\n}\nfunction _r() {\n return [];\n}\nvar xs = Object.prototype, As = xs.propertyIsEnumerable, Wt = Object.getOwnPropertySymbols, Es = Wt ? function(e) {\n return e == null ? [] : (e = Object(e), Ms(Wt(e), function(t) {\n return As.call(e, t);\n }));\n} : _r;\nconst gt = Es;\nfunction Ds(e, t) {\n return ve(e, gt(e), t);\n}\nvar Is = Object.getOwnPropertySymbols, Ls = Is ? function(e) {\n for (var t = []; e; )\n dt(t, gt(e)), e = ht(e);\n return t;\n} : _r;\nconst Or = Ls;\nfunction Fs(e, t) {\n return ve(e, Or(e), t);\n}\nfunction Sr(e, t, r) {\n var n = t(e);\n return S(e) ? n : dt(n, r(e));\n}\nfunction Ve(e) {\n return Sr(e, Ue, gt);\n}\nfunction Rs(e) {\n return Sr(e, be, Or);\n}\nvar Us = X(D, \"DataView\");\nconst Ze = Us;\nvar Ns = X(D, \"Promise\");\nconst Je = Ns;\nvar Ws = X(D, \"Set\");\nconst J = Ws;\nvar jt = \"[object Map]\", js = \"[object Object]\", Yt = \"[object Promise]\", Gt = \"[object Set]\", Bt = \"[object WeakMap]\", Ht = \"[object DataView]\", Ys = Q(Ze), Gs = Q(ge), Bs = Q(Je), Hs = Q(J), qs = Q(Ke), Y = z;\n(Ze && Y(new Ze(new ArrayBuffer(1))) != Ht || ge && Y(new ge()) != jt || Je && Y(Je.resolve()) != Yt || J && Y(new J()) != Gt || Ke && Y(new Ke()) != Bt) && (Y = function(e) {\n var t = z(e), r = t == js ? e.constructor : void 0, n = r ? Q(r) : \"\";\n if (n)\n switch (n) {\n case Ys:\n return Ht;\n case Gs:\n return jt;\n case Bs:\n return Yt;\n case Hs:\n return Gt;\n case qs:\n return Bt;\n }\n return t;\n});\nconst ne = Y;\nvar zs = Object.prototype, Qs = zs.hasOwnProperty;\nfunction Xs(e) {\n var t = e.length, r = new e.constructor(t);\n return t && typeof e[0] == \"string\" && Qs.call(e, \"index\") && (r.index = e.index, r.input = e.input), r;\n}\nvar ks = D.Uint8Array;\nconst De = ks;\nfunction mt(e) {\n var t = new e.constructor(e.byteLength);\n return new De(t).set(new De(e)), t;\n}\nfunction Ks(e, t) {\n var r = t ? mt(e.buffer) : e.buffer;\n return new e.constructor(r, e.byteOffset, e.byteLength);\n}\nvar Vs = /\\w*$/;\nfunction Zs(e) {\n var t = new e.constructor(e.source, Vs.exec(e));\n return t.lastIndex = e.lastIndex, t;\n}\nvar qt = P ? P.prototype : void 0, zt = qt ? qt.valueOf : void 0;\nfunction Js(e) {\n return zt ? Object(zt.call(e)) : {};\n}\nfunction $r(e, t) {\n var r = t ? mt(e.buffer) : e.buffer;\n return new e.constructor(r, e.byteOffset, e.length);\n}\nvar eu = \"[object Boolean]\", tu = \"[object Date]\", ru = \"[object Map]\", nu = \"[object Number]\", au = \"[object RegExp]\", iu = \"[object Set]\", ou = \"[object String]\", su = \"[object Symbol]\", uu = \"[object ArrayBuffer]\", lu = \"[object DataView]\", cu = \"[object Float32Array]\", fu = \"[object Float64Array]\", du = \"[object Int8Array]\", hu = \"[object Int16Array]\", gu = \"[object Int32Array]\", mu = \"[object Uint8Array]\", pu = \"[object Uint8ClampedArray]\", vu = \"[object Uint16Array]\", yu = \"[object Uint32Array]\";\nfunction bu(e, t, r) {\n var n = e.constructor;\n switch (t) {\n case uu:\n return mt(e);\n case eu:\n case tu:\n return new n(+e);\n case lu:\n return Ks(e, r);\n case cu:\n case fu:\n case du:\n case hu:\n case gu:\n case mu:\n case pu:\n case vu:\n case yu:\n return $r(e, r);\n case ru:\n return new n();\n case nu:\n case ou:\n return new n(e);\n case au:\n return Zs(e);\n case iu:\n return new n();\n case su:\n return Js(e);\n }\n}\nfunction Pr(e) {\n return typeof e.constructor == \"function\" && !Fe(e) ? ii(ht(e)) : {};\n}\nvar wu = \"[object Map]\";\nfunction Tu(e) {\n return A(e) && ne(e) == wu;\n}\nvar Qt = re && re.isMap, _u = Qt ? lt(Qt) : Tu;\nconst Ou = _u;\nvar Su = \"[object Set]\";\nfunction $u(e) {\n return A(e) && ne(e) == Su;\n}\nvar Xt = re && re.isSet, Pu = Xt ? lt(Xt) : $u;\nconst Cu = Pu;\nvar Mu = 1, xu = 2, Au = 4, Cr = \"[object Arguments]\", Eu = \"[object Array]\", Du = \"[object Boolean]\", Iu = \"[object Date]\", Lu = \"[object Error]\", Mr = \"[object Function]\", Fu = \"[object GeneratorFunction]\", Ru = \"[object Map]\", Uu = \"[object Number]\", xr = \"[object Object]\", Nu = \"[object RegExp]\", Wu = \"[object Set]\", ju = \"[object String]\", Yu = \"[object Symbol]\", Gu = \"[object WeakMap]\", Bu = \"[object ArrayBuffer]\", Hu = \"[object DataView]\", qu = \"[object Float32Array]\", zu = \"[object Float64Array]\", Qu = \"[object Int8Array]\", Xu = \"[object Int16Array]\", ku = \"[object Int32Array]\", Ku = \"[object Uint8Array]\", Vu = \"[object Uint8ClampedArray]\", Zu = \"[object Uint16Array]\", Ju = \"[object Uint32Array]\", v = {};\nv[Cr] = v[Eu] = v[Bu] = v[Hu] = v[Du] = v[Iu] = v[qu] = v[zu] = v[Qu] = v[Xu] = v[ku] = v[Ru] = v[Uu] = v[xr] = v[Nu] = v[Wu] = v[ju] = v[Yu] = v[Ku] = v[Vu] = v[Zu] = v[Ju] = !0;\nv[Lu] = v[Mr] = v[Gu] = !1;\nfunction Ce(e, t, r, n, a, i) {\n var o, s = t & Mu, u = t & xu, l = t & Au;\n if (r && (o = a ? r(e, n, a, i) : r(e)), o !== void 0)\n return o;\n if (!I(e))\n return e;\n var f = S(e);\n if (f) {\n if (o = Xs(e), !s)\n return sr(e, o);\n } else {\n var c = ne(e), d = c == Mr || c == Fu;\n if (te(e))\n return Tr(e, s);\n if (c == xr || c == Cr || d && !a) {\n if (o = u || d ? {} : Pr(e), !s)\n return u ? Fs(e, Ps(o, e)) : Ds(e, $s(o, e));\n } else {\n if (!v[c])\n return a ? e : {};\n o = bu(e, c, s);\n }\n }\n i || (i = new M());\n var g = i.get(e);\n if (g)\n return g;\n i.set(e, o), Cu(e) ? e.forEach(function(y) {\n o.add(Ce(y, t, r, y, e, i));\n }) : Ou(e) && e.forEach(function(y, w) {\n o.set(w, Ce(y, t, r, w, e, i));\n });\n var m = l ? u ? Rs : Ve : u ? be : Ue, T = f ? void 0 : m(e);\n return yi(T || e, function(y, w) {\n T && (w = y, y = e[w]), ur(o, w, Ce(y, t, r, w, e, i));\n }), o;\n}\nvar el = 1, tl = 4;\nfunction rl(e) {\n return Ce(e, el | tl);\n}\nvar nl = \"__lodash_hash_undefined__\";\nfunction al(e) {\n return this.__data__.set(e, nl), this;\n}\nfunction il(e) {\n return this.__data__.has(e);\n}\nfunction me(e) {\n var t = -1, r = e == null ? 0 : e.length;\n for (this.__data__ = new F(); ++t < r; )\n this.add(e[t]);\n}\nme.prototype.add = me.prototype.push = al;\nme.prototype.has = il;\nfunction ol(e, t) {\n for (var r = -1, n = e == null ? 0 : e.length; ++r < n; )\n if (t(e[r], r, e))\n return !0;\n return !1;\n}\nfunction Ar(e, t) {\n return e.has(t);\n}\nvar sl = 1, ul = 2;\nfunction Er(e, t, r, n, a, i) {\n var o = r & sl, s = e.length, u = t.length;\n if (s != u && !(o && u > s))\n return !1;\n var l = i.get(e), f = i.get(t);\n if (l && f)\n return l == t && f == e;\n var c = -1, d = !0, g = r & ul ? new me() : void 0;\n for (i.set(e, t), i.set(t, e); ++c < s; ) {\n var m = e[c], T = t[c];\n if (n)\n var y = o ? n(T, m, c, t, e, i) : n(m, T, c, e, t, i);\n if (y !== void 0) {\n if (y)\n continue;\n d = !1;\n break;\n }\n if (g) {\n if (!ol(t, function(w, C) {\n if (!Ar(g, C) && (m === w || a(m, w, r, n, i)))\n return g.push(C);\n })) {\n d = !1;\n break;\n }\n } else if (!(m === T || a(m, T, r, n, i))) {\n d = !1;\n break;\n }\n }\n return i.delete(e), i.delete(t), d;\n}\nfunction ll(e) {\n var t = -1, r = Array(e.size);\n return e.forEach(function(n, a) {\n r[++t] = [a, n];\n }), r;\n}\nfunction pt(e) {\n var t = -1, r = Array(e.size);\n return e.forEach(function(n) {\n r[++t] = n;\n }), r;\n}\nvar cl = 1, fl = 2, dl = \"[object Boolean]\", hl = \"[object Date]\", gl = \"[object Error]\", ml = \"[object Map]\", pl = \"[object Number]\", vl = \"[object RegExp]\", yl = \"[object Set]\", bl = \"[object String]\", wl = \"[object Symbol]\", Tl = \"[object ArrayBuffer]\", _l = \"[object DataView]\", kt = P ? P.prototype : void 0, ze = kt ? kt.valueOf : void 0;\nfunction Ol(e, t, r, n, a, i, o) {\n switch (r) {\n case _l:\n if (e.byteLength != t.byteLength || e.byteOffset != t.byteOffset)\n return !1;\n e = e.buffer, t = t.buffer;\n case Tl:\n return !(e.byteLength != t.byteLength || !i(new De(e), new De(t)));\n case dl:\n case hl:\n case pl:\n return pe(+e, +t);\n case gl:\n return e.name == t.name && e.message == t.message;\n case vl:\n case bl:\n return e == t + \"\";\n case ml:\n var s = ll;\n case yl:\n var u = n & cl;\n if (s || (s = pt), e.size != t.size && !u)\n return !1;\n var l = o.get(e);\n if (l)\n return l == t;\n n |= fl, o.set(e, t);\n var f = Er(s(e), s(t), n, a, i, o);\n return o.delete(e), f;\n case wl:\n if (ze)\n return ze.call(e) == ze.call(t);\n }\n return !1;\n}\nvar Sl = 1, $l = Object.prototype, Pl = $l.hasOwnProperty;\nfunction Cl(e, t, r, n, a, i) {\n var o = r & Sl, s = Ve(e), u = s.length, l = Ve(t), f = l.length;\n if (u != f && !o)\n return !1;\n for (var c = u; c--; ) {\n var d = s[c];\n if (!(o ? d in t : Pl.call(t, d)))\n return !1;\n }\n var g = i.get(e), m = i.get(t);\n if (g && m)\n return g == t && m == e;\n var T = !0;\n i.set(e, t), i.set(t, e);\n for (var y = o; ++c < u; ) {\n d = s[c];\n var w = e[d], C = t[d];\n if (n)\n var k = o ? n(C, w, d, t, e, i) : n(w, C, d, e, t, i);\n if (!(k === void 0 ? w === C || a(w, C, r, n, i) : k)) {\n T = !1;\n break;\n }\n y || (y = d == \"constructor\");\n }\n if (T && !y) {\n var R = e.constructor, K = t.constructor;\n R != K && \"constructor\" in e && \"constructor\" in t && !(typeof R == \"function\" && R instanceof R && typeof K == \"function\" && K instanceof K) && (T = !1);\n }\n return i.delete(e), i.delete(t), T;\n}\nvar Ml = 1, Kt = \"[object Arguments]\", Vt = \"[object Array]\", Se = \"[object Object]\", xl = Object.prototype, Zt = xl.hasOwnProperty;\nfunction Al(e, t, r, n, a, i) {\n var o = S(e), s = S(t), u = o ? Vt : ne(e), l = s ? Vt : ne(t);\n u = u == Kt ? Se : u, l = l == Kt ? Se : l;\n var f = u == Se, c = l == Se, d = u == l;\n if (d && te(e)) {\n if (!te(t))\n return !1;\n o = !0, f = !1;\n }\n if (d && !f)\n return i || (i = new M()), o || Re(e) ? Er(e, t, r, n, a, i) : Ol(e, t, u, r, n, a, i);\n if (!(r & Ml)) {\n var g = f && Zt.call(e, \"__wrapped__\"), m = c && Zt.call(t, \"__wrapped__\");\n if (g || m) {\n var T = g ? e.value() : e, y = m ? t.value() : t;\n return i || (i = new M()), a(T, y, r, n, i);\n }\n }\n return d ? (i || (i = new M()), Cl(e, t, r, n, a, i)) : !1;\n}\nfunction vt(e, t, r, n, a) {\n return e === t ? !0 : e == null || t == null || !A(e) && !A(t) ? e !== e && t !== t : Al(e, t, r, n, vt, a);\n}\nvar El = 1, Dl = 2;\nfunction Il(e, t, r, n) {\n var a = r.length, i = a, o = !n;\n if (e == null)\n return !i;\n for (e = Object(e); a--; ) {\n var s = r[a];\n if (o && s[2] ? s[1] !== e[s[0]] : !(s[0] in e))\n return !1;\n }\n for (; ++a < i; ) {\n s = r[a];\n var u = s[0], l = e[u], f = s[1];\n if (o && s[2]) {\n if (l === void 0 && !(u in e))\n return !1;\n } else {\n var c = new M();\n if (n)\n var d = n(l, f, u, e, t, c);\n if (!(d === void 0 ? vt(f, l, El | Dl, n, c) : d))\n return !1;\n }\n }\n return !0;\n}\nfunction Dr(e) {\n return e === e && !I(e);\n}\nfunction Ll(e) {\n for (var t = Ue(e), r = t.length; r--; ) {\n var n = t[r], a = e[n];\n t[r] = [n, a, Dr(a)];\n }\n return t;\n}\nfunction Ir(e, t) {\n return function(r) {\n return r == null ? !1 : r[e] === t && (t !== void 0 || e in Object(r));\n };\n}\nfunction Fl(e) {\n var t = Ll(e);\n return t.length == 1 && t[0][2] ? Ir(t[0][0], t[0][1]) : function(r) {\n return r === e || Il(r, e, t);\n };\n}\nfunction Rl(e, t) {\n return e != null && t in Object(e);\n}\nfunction Ul(e, t, r) {\n t = pr(t, e);\n for (var n = -1, a = t.length, i = !1; ++n < a; ) {\n var o = je(t[n]);\n if (!(i = e != null && r(e, o)))\n break;\n e = e[o];\n }\n return i || ++n != a ? i : (a = e == null ? 0 : e.length, !!a && ut(a) && ot(o, a) && (S(e) || ee(e)));\n}\nfunction Nl(e, t) {\n return e != null && Ul(e, t, Rl);\n}\nvar Wl = 1, jl = 2;\nfunction Yl(e, t) {\n return ct(e) && Dr(t) ? Ir(je(e), t) : function(r) {\n var n = cs(r, e);\n return n === void 0 && n === t ? Nl(r, e) : vt(t, n, Wl | jl);\n };\n}\nfunction Gl(e) {\n return function(t) {\n return t == null ? void 0 : t[e];\n };\n}\nfunction Bl(e) {\n return function(t) {\n return vr(t, e);\n };\n}\nfunction Hl(e) {\n return ct(e) ? Gl(je(e)) : Bl(e);\n}\nfunction ql(e) {\n return typeof e == \"function\" ? e : e == null ? at : typeof e == \"object\" ? S(e) ? Yl(e[0], e[1]) : Fl(e) : Hl(e);\n}\nfunction zl(e) {\n return function(t, r, n) {\n for (var a = -1, i = Object(t), o = n(t), s = o.length; s--; ) {\n var u = o[e ? s : ++a];\n if (r(i[u], u, i) === !1)\n break;\n }\n return t;\n };\n}\nvar Ql = zl();\nconst Xl = Ql;\nfunction et(e, t, r) {\n (r !== void 0 && !pe(e[t], r) || r === void 0 && !(t in e)) && st(e, t, r);\n}\nfunction tt(e) {\n return A(e) && ye(e);\n}\nfunction rt(e, t) {\n if (!(t === \"constructor\" && typeof e[t] == \"function\") && t != \"__proto__\")\n return e[t];\n}\nfunction kl(e) {\n return ve(e, be(e));\n}\nfunction Kl(e, t, r, n, a, i, o) {\n var s = rt(e, r), u = rt(t, r), l = o.get(u);\n if (l) {\n et(e, r, l);\n return;\n }\n var f = i ? i(s, u, r + \"\", e, t, o) : void 0, c = f === void 0;\n if (c) {\n var d = S(u), g = !d && te(u), m = !d && !g && Re(u);\n f = u, d || g || m ? S(s) ? f = s : tt(s) ? f = sr(s) : g ? (c = !1, f = Tr(u, !0)) : m ? (c = !1, f = $r(u, !0)) : f = [] : ys(u) || ee(u) ? (f = s, ee(s) ? f = kl(s) : (!I(s) || it(s)) && (f = Pr(u))) : c = !1;\n }\n c && (o.set(u, f), a(f, u, n, i, o), o.delete(u)), et(e, r, f);\n}\nfunction Lr(e, t, r, n, a) {\n e !== t && Xl(t, function(i, o) {\n if (a || (a = new M()), I(i))\n Kl(e, t, o, r, Lr, n, a);\n else {\n var s = n ? n(rt(e, o), i, o + \"\", e, t, a) : void 0;\n s === void 0 && (s = i), et(e, o, s);\n }\n }, be);\n}\nfunction Vl(e, t, r) {\n for (var n = -1, a = e == null ? 0 : e.length; ++n < a; )\n if (r(t, e[n]))\n return !0;\n return !1;\n}\nfunction Zl(e) {\n var t = e == null ? 0 : e.length;\n return t ? e[t - 1] : void 0;\n}\nvar Jl = \"[object Map]\", ec = \"[object Set]\", tc = Object.prototype, rc = tc.hasOwnProperty;\nfunction nc(e) {\n if (e == null)\n return !0;\n if (ye(e) && (S(e) || typeof e == \"string\" || typeof e.splice == \"function\" || te(e) || Re(e) || ee(e)))\n return !e.length;\n var t = ne(e);\n if (t == Jl || t == ec)\n return !e.size;\n if (Fe(e))\n return !mr(e).length;\n for (var r in e)\n if (rc.call(e, r))\n return !1;\n return !0;\n}\nvar ac = Ei(function(e, t, r) {\n Lr(e, t, r);\n});\nconst h = ac;\nvar ic = 1 / 0, oc = J && 1 / pt(new J([, -0]))[1] == ic ? function(e) {\n return new J(e);\n} : si;\nconst sc = oc;\nvar uc = 200;\nfunction Fr(e, t, r) {\n var n = -1, a = Oi, i = e.length, o = !0, s = [], u = s;\n if (r)\n o = !1, a = Vl;\n else if (i >= uc) {\n var l = t ? null : sc(e);\n if (l)\n return pt(l);\n o = !1, a = Ar, u = new me();\n } else\n u = t ? [] : s;\n e:\n for (; ++n < i; ) {\n var f = e[n], c = t ? t(f) : f;\n if (f = r || f !== 0 ? f : 0, o && c === c) {\n for (var d = u.length; d--; )\n if (u[d] === c)\n continue e;\n t && u.push(c), s.push(f);\n } else\n a(u, c, r) || (u !== s && u.push(c), s.push(f));\n }\n return s;\n}\nvar lc = lr(function(e) {\n var t = Zl(e);\n return tt(t) && (t = void 0), Fr(yr(e, 1, tt, !0), ql(t));\n});\nconst cc = lc;\nfunction lf(e) {\n return e && e.length ? Fr(e) : [];\n}\nconst fc = \"cds\", dc = {\n opacity: {\n unselected: 0.05,\n selected: 0.4\n }\n}, hc = {\n ticks: {\n number: 7,\n rotateIfSmallerThan: 30,\n verticalSpaceRatio: 2.5,\n horizontalSpaceRatio: 3.5\n },\n ratio: {\n reference: \"value\",\n compareTo: \"marker\"\n },\n paddingRatio: 0.1,\n hover: {\n rectanglePadding: 4\n }\n}, gc = {\n duration: 1e3,\n ease: nn,\n zoomLevel: 3\n}, Rr = {\n circles: {\n fillOpacity: 0.3,\n hover: {\n stroke: \"#FFF\"\n }\n },\n padding: {\n mainGroup: 4,\n children: 2\n },\n hierarchyLevel: 2\n}, mc = {\n pairingOptions: {\n \"1-color\": 4,\n \"2-color\": 5,\n \"3-color\": 5,\n \"4-color\": 3,\n \"5-color\": 2,\n \"14-color\": 1\n }\n}, pc = {\n circle: {\n radius: 4,\n opacity: {\n hovered: 1,\n default: 0.3\n }\n },\n box: {\n opacity: {\n hovered: 0.5,\n default: 0.3\n }\n },\n strokeWidth: {\n default: 1,\n thicker: 2\n }\n}, vc = {\n defaultBins: 10\n}, yc = {\n items: {\n status: {\n ACTIVE: 1,\n DISABLED: 0\n },\n horizontalSpace: 12,\n verticalSpace: 24,\n textYOffset: 8,\n spaceAfter: 4\n },\n checkbox: {\n radius: 6.5\n },\n radius: {\n iconData: [\n { cx: 7, cy: 7, r: 6.5 },\n { cx: 7, cy: 10, r: 3.5 }\n ],\n fill: null,\n stroke: \"#8c8c8c\"\n },\n line: {\n yPosition: 6,\n width: 24,\n strokeWidth: 1.4,\n fill: null,\n stroke: \"#999999\"\n },\n area: {\n width: 24,\n height: 14,\n fill: \"#6f6f6f\",\n stroke: null\n },\n size: {\n iconData: [\n { width: 23, height: 12 },\n { width: 13, height: 6 }\n ],\n fill: null,\n stroke: \"#8D8D8D\"\n },\n quartile: {\n iconData: [\n { x: 0, y: 0, width: 24, height: 13 },\n { x: 11, y: 4, width: 1, height: 4 }\n ]\n },\n zoom: {\n iconData: [{ x: 0, y: 0, width: 12, height: 12 }],\n color: \"#8D8D8D\"\n },\n color: {\n barWidth: 300,\n barHeight: 8,\n axisYTranslation: 10\n }\n}, bc = {\n opacity: {\n unselected: 0.3,\n selected: 1\n },\n weight: {\n selected: 2,\n unselected: 1\n }\n}, wc = {\n statusBar: {\n paddingRight: 5\n },\n status: {\n indicatorSize: 16,\n paddingLeft: 15\n },\n total: {\n paddingLeft: 36,\n paddingRight: 24\n },\n height: {\n default: 8,\n proportional: 16\n },\n dividerWidth: 2\n}, Tc = {\n radiusOffset: -15,\n innerRadius: 2,\n padAngle: 7e-3,\n hoverArc: {\n outerRadiusOffset: 3\n },\n xOffset: 30,\n yOffset: 20,\n yOffsetCallout: 10,\n callout: {\n minSliceDegree: 5,\n offsetX: 15,\n offsetY: 12,\n horizontalLineLength: 8,\n textMargin: 2\n }\n}, _c = {\n opacity: {\n unselected: 0.1,\n selected: 0.3\n },\n xLabelPadding: 10,\n yLabelPadding: 8,\n yTicksNumber: 4,\n minRange: 10,\n xAxisRectHeight: 50,\n dotsRadius: 5\n}, Oc = {\n nodeWidth: 4,\n nodeHoveredWidth: 8,\n minNodePadding: 24,\n opacity: {\n unfocus: 0.3,\n default: 0.8,\n selected: 1\n }\n}, Sc = {\n minCellDividerDimension: 16,\n // Ensures axes lines are displayed with or without stroke disabled\n chartPadding: 0.5\n}, $c = {\n default: {\n size: 24\n }\n}, Pc = {\n horizontalOffset: 10\n}, Cc = {\n default: {\n duration: 300\n },\n pie_slice_mouseover: {\n duration: 100\n },\n pie_chart_titles: {\n duration: 375\n },\n graph_element_mouseover_fill_update: {\n duration: 100\n },\n graph_element_mouseout_fill_update: {\n duration: 100\n }\n}, Mc = {\n buttonSize: 32,\n iconSize: 20,\n height: 32,\n spacerHeight: 10,\n iconPadding: 6\n}, xc = {\n height: {\n [Xe.GRAPH_VIEW]: 32,\n [Xe.SLIDER_VIEW]: 10\n },\n spacerHeight: 8,\n handleWidth: 5,\n handleBarWidth: 1,\n handleBarHeight: 12\n}, Ur = [\n {\n type: x.RADIUS,\n name: \"Radius\"\n },\n {\n type: x.AREA,\n name: \"Poor area\"\n },\n {\n type: x.AREA,\n name: \"Satisfactory area\"\n },\n {\n type: x.AREA,\n name: \"Great area\"\n },\n {\n type: x.QUARTILE,\n name: \"Quartiles\"\n }\n], Z = {\n type: Pe.END_LINE,\n threshold: 16,\n numCharacter: 14\n}, Ac = {\n enabled: !0,\n position: Vr.BOTTOM,\n clickable: !0,\n truncation: Z,\n alignment: ae.LEFT,\n order: null,\n additionalItems: []\n}, Nr = {\n x: {\n // set enable to false will not draw grid and stroke of grid backdrop\n enabled: !0,\n numberOfTicks: 15,\n alignWithAxisTicks: !1\n },\n y: {\n // set enable to false will not draw grid and stroke of grid backdrop\n enabled: !0,\n numberOfTicks: 5,\n alignWithAxisTicks: !1\n }\n}, Wr = {\n // enable or disable ruler\n enabled: !0\n}, yt = {\n enabled: !0,\n showTotal: !0,\n truncation: Z,\n groupLabel: \"Group\"\n}, jr = {\n top: {\n visible: !0,\n includeZero: !0,\n truncation: Z\n },\n bottom: {\n visible: !0,\n includeZero: !0,\n truncation: Z\n },\n left: {\n visible: !0,\n includeZero: !0,\n truncation: Z\n },\n right: {\n visible: !0,\n includeZero: !0,\n truncation: Z\n }\n}, we = {\n addSpaceOnEdges: 1,\n showDayName: !1,\n localeObject: nr,\n timeIntervalFormats: {\n \"15seconds\": { primary: \"MMM d, pp\", secondary: \"pp\" },\n minute: { primary: \"MMM d, p\", secondary: \"p\" },\n \"30minutes\": { primary: \"MMM d, p\", secondary: \"p\" },\n hourly: { primary: \"MMM d, hh a\", secondary: \"hh a\" },\n daily: { primary: \"MMM d\", secondary: \"d\" },\n weekly: { primary: \"eee, MMM d\", secondary: \"eee\" },\n monthly: { primary: \"MMM yyyy\", secondary: \"MMM\" },\n quarterly: { primary: \"QQQ ''yy\", secondary: \"QQQ\" },\n yearly: { primary: \"yyyy\", secondary: \"yyyy\" }\n }\n}, Ec = typeof document < \"u\" && (document.fullscreenEnabled || document.webkitFullscreenEnabled || document.mozFullScreenEnabled || document.msFullscreenEnabled), _ = {\n width: null,\n height: null,\n resizable: !0,\n theme: Zr.WHITE,\n tooltip: yt,\n legend: Ac,\n style: {\n prefix: \"cc\"\n },\n data: {\n groupMapsTo: \"group\",\n loading: !1,\n selectedGroups: []\n },\n color: {\n scale: null,\n pairing: {\n numberOfVariants: null,\n option: 1\n },\n gradient: {\n enabled: !1\n }\n },\n toolbar: {\n enabled: !0,\n numberOfIcons: 3,\n controls: [\n {\n type: se.SHOW_AS_DATATABLE\n },\n ...Ec ? [\n {\n type: se.MAKE_FULLSCREEN\n }\n ] : [],\n {\n type: se.EXPORT_CSV\n },\n {\n type: se.EXPORT_PNG\n },\n {\n type: se.EXPORT_JPG\n }\n ]\n }\n}, Yr = h({}, _, {\n thematic: {\n projection: Jr.geoNaturalEarth1\n }\n}), Te = h({}, _, {\n axes: jr,\n timeScale: we,\n grid: Nr,\n ruler: Wr,\n zoomBar: {\n zoomRatio: 0.4,\n minZoomRatio: 0.01,\n top: {\n enabled: !1,\n type: Xe.GRAPH_VIEW\n }\n }\n}), q = h({}, Te, {\n bars: {\n maxWidth: 16,\n spacingFactor: 0.25\n },\n timeScale: h(we, {\n addSpaceOnEdges: 1\n })\n}), Dc = h({}, q, {}), Ic = h({}, q, {}), Lc = h({}, q, {\n bars: h({}, q.bars, {\n dividerSize: 1.5\n })\n}), Fc = h({}, q, {}), bt = h({}, Te, {\n points: {\n // default point radius to 4\n radius: 4,\n fillOpacity: 0.3,\n filled: !0,\n enabled: !0\n }\n}), Rc = bt, Gr = h({}, bt, {\n points: {\n // default point radius to 3\n radius: 3,\n filled: !1,\n enabled: !0\n }\n}), Br = h({}, Gr, {\n timeScale: h(we, {\n addSpaceOnEdges: 0\n })\n}), Uc = Br, Nc = h({}, Te, {\n bubble: {\n radiusMapsTo: \"radius\",\n radiusLabel: \"Radius\",\n radiusRange: (e) => {\n const t = Math.min(e.width, e.height);\n return [t * 3 / 400, t * 25 / 400];\n },\n fillOpacity: 0.2,\n enabled: !0\n },\n points: {\n filled: !0\n },\n legend: {\n additionalItems: [\n {\n type: x.RADIUS,\n name: \"Radius\"\n }\n ]\n }\n}), Wc = h({}, Te, {\n bullet: {\n performanceAreaTitles: [\"Poor\", \"Satisfactory\", \"Great\"]\n },\n grid: {\n x: {\n enabled: !1\n },\n y: {\n enabled: !1\n }\n },\n legend: {\n additionalItems: [\n {\n type: x.AREA,\n name: \"Poor area\"\n },\n {\n type: x.AREA,\n name: \"Satisfactory area\"\n },\n {\n type: x.AREA,\n name: \"Great area\"\n },\n {\n type: x.QUARTILE,\n name: \"Quartiles\"\n }\n ]\n }\n}), jc = h({}, q, {\n bars: {\n dividerSize: 1.5\n },\n timeScale: h(we, {\n addSpaceOnEdges: 0\n })\n}), Yc = h({}, _, {\n tooltip: h({}, yt, {\n wordLabel: \"Word\",\n valueLabel: \"Value\"\n }),\n wordCloud: {\n fontSizeMapsTo: \"value\",\n fontSizeRange: (e) => {\n const t = Math.min(e.width, e.height);\n return [t * 20 / 400, t * 75 / 400];\n },\n wordMapsTo: \"word\"\n }\n}), Hr = h({}, _, {\n pie: {\n labels: {\n formatter: null,\n enabled: !0\n },\n alignment: ae.LEFT,\n sortFunction: null,\n valueMapsTo: \"value\"\n }\n}), Gc = h({}, _, {\n legend: {\n enabled: !1\n },\n gauge: {\n type: en.SEMI,\n arcWidth: 16,\n deltaArrow: {\n size: (e) => e / 8,\n enabled: !0\n },\n showPercentageSymbol: !0,\n status: null,\n numberSpacing: 10,\n deltaFontSize: (e) => e / 8,\n valueFontSize: (e) => e / 2.5,\n numberFormatter: (e) => Number(e.toFixed(2)) % 1 !== 0 ? e.toFixed(2).toLocaleString() : e.toFixed().toLocaleString(),\n alignment: ae.LEFT\n }\n}), Bc = h({}, Hr, {\n donut: {\n center: {\n numberFontSize: (e) => `${Math.min(e / 100 * 24, 24)}px`,\n titleFontSize: (e) => `${Math.min(e / 100 * 15, 15)}px`,\n titleYPosition: (e) => Math.min(e / 80 * 20, 20),\n numberFormatter: (e) => Math.floor(e).toLocaleString()\n },\n alignment: ae.LEFT\n }\n}), qr = h({}, _, {\n legend: {\n enabled: !1,\n clickable: !1\n },\n meter: {\n showLabels: !0,\n proportional: null,\n statusBar: {\n percentageIndicator: {\n enabled: !0\n }\n }\n }\n}), Hc = h({}, qr, {\n legend: {\n enabled: !0\n }\n}), qc = h({}, _, {\n radar: {\n axes: {\n angle: \"key\",\n value: \"value\"\n },\n alignment: ae.LEFT\n },\n tooltip: {\n gridline: {\n enabled: !0\n },\n valueFormatter: (e) => e ?? \"N/A\"\n }\n}), zc = h({}, q, {\n comboChartTypes: []\n}), Qc = h(\n {\n tree: {\n type: tn.TREE\n }\n },\n _,\n {}\n), Xc = h({}, _, {\n data: h(_.data, {\n groupMapsTo: \"name\"\n })\n}), kc = h({}, _, Rr, {\n data: h(_.data, {\n groupMapsTo: \"name\"\n })\n}), Kc = h({}, _, {\n alluvial: {\n data: h(_.data, {\n groupMapsTo: \"source\"\n }),\n nodeAlignment: ae.CENTER,\n nodePadding: 24,\n monochrome: !1,\n nodes: []\n }\n}), Vc = h({}, _, {\n axes: jr,\n heatmap: {\n divider: {\n state: rn.AUTO\n },\n colorLegend: {\n type: \"linear\"\n }\n }\n}), Zc = h({}, Yr, {\n choropleth: {\n colorLegend: {\n type: \"linear\"\n }\n }\n}), Jc = {\n alluvialChart: Kc,\n areaChart: Br,\n axisChart: Te,\n boxplotChart: Fc,\n bubbleChart: Nc,\n bulletChart: Wc,\n chart: _,\n circlePackChart: kc,\n choroplethChart: Zc,\n comboChart: zc,\n donutChart: Bc,\n gaugeChart: Gc,\n groupedBarChart: Ic,\n heatmapChart: Vc,\n histogramChart: jc,\n lineChart: Gr,\n lollipopChart: Rc,\n meterChart: qr,\n pieChart: Hr,\n proportionalMeterChart: Hc,\n radarChart: qc,\n scatterChart: bt,\n simpleBarChart: Dc,\n stackedAreaChart: Uc,\n stackedBarChart: Lc,\n thematicChart: Yr,\n treeChart: Qc,\n treemapChart: Xc,\n wordCloudChart: Yc\n}, cf = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n alluvial: Oc,\n area: dc,\n axis: hc,\n baseTooltip: yt,\n boxplot: pc,\n canvasZoomSettings: gc,\n carbonPrefix: fc,\n circlePack: Rr,\n color: mc,\n defaultLegendAdditionalItems: Ur,\n grid: Nr,\n heatmap: Sc,\n histogram: vc,\n legend: yc,\n lines: bc,\n meter: wc,\n options: Jc,\n pie: Tc,\n radar: _c,\n ruler: Wr,\n spacers: $c,\n timeScale: we,\n toolbar: Mc,\n tooltips: Pc,\n transitions: Cc,\n zoomBar: xc\n}, Symbol.toStringTag, { value: \"Module\" }));\nfunction ff(e, t, r) {\n let n = null;\n return function(...a) {\n const i = this;\n i.mousePosition = an(a[0], r), clearTimeout(n), n = setTimeout(function() {\n e.apply(i, a);\n }, t);\n };\n}\nfunction df(e, t) {\n var a;\n const r = rl(e), n = Object.keys(t.axes || {});\n (a = t == null ? void 0 : t.toolbar) != null && a.controls && delete r.toolbar.controls, n.length === 0 && delete r.axes;\n for (const i in r.axes)\n if (n.includes(i)) {\n const o = t.axes[i];\n (o.primary || o.secondary) && console.warn(\n \"`primary` & `secondary` are no longer needed for axis configurations. Read more here https://carbon-design-system.github.io/carbon-charts/?path=/story/docs-tutorials--tabular-data-format\"\n );\n const s = o.mapsTo;\n if (s == null) {\n const u = o.scaleType;\n u == null ? o.mapsTo = \"value\" : u === wt.TIME ? o.mapsTo = \"date\" : u === wt.LABELS && (o.mapsTo = \"key\");\n }\n } else\n delete r.axes[i];\n return ef(r, t), h(r, t);\n}\nfunction hf(e) {\n if (!e)\n return;\n const t = /translate\\([0-9]+\\.?[0-9]*,[0-9]+\\.?[0-9]*\\)/, r = e.getAttribute(\"transform\").match(t);\n if (!r)\n return null;\n if (r[0]) {\n const n = r[0].replace(/translate\\(/, \"\").replace(/\\)/, \"\").split(\",\");\n return {\n tx: n[0],\n ty: n[1]\n };\n }\n return null;\n}\nfunction gf(e) {\n const r = /\\(([^)]+)\\)/.exec(e);\n if (r && r.length > 1) {\n const n = r[1].split(\",\");\n if (n.length > 1)\n return {\n x: parseFloat(n[0]),\n y: parseFloat(n[1])\n };\n }\n return { x: 0, y: 0 };\n}\nfunction mf(e, t, r = \"value\", n = !1) {\n const a = e / t.reduce((i, o) => i + o[r], 0) * 100;\n return n ? a : a % 1 !== 0 ? parseFloat(a.toFixed(1)) : a;\n}\nfunction pf(e, t, r) {\n if (r > e.length)\n return e;\n if (t === Pe.MID_LINE)\n return e.substr(0, r / 2) + \"...\" + e.substr(-r / 2);\n if (t === Pe.FRONT_LINE)\n return \"...\" + e.substr(-r);\n if (t === Pe.END_LINE)\n return e.substr(0, r) + \"...\";\n}\nfunction ef(e, t) {\n const r = G(e, \"legend\", \"additionalItems\"), n = G(t, \"legend\", \"additionalItems\");\n if (r && n) {\n const a = n.map((s) => s.type), i = r.map((s) => s.type), o = Ur.filter(\n (s) => i.includes(s.type) && !a.includes(s.type)\n );\n e.legend.additionalItems = o, t.legend.additionalItems = cc(\n o,\n n,\n \"name\"\n );\n }\n}\nconst G = (e, ...t) => {\n let r = e;\n if (r) {\n for (const n of t)\n if (r[n] !== null && r[n] !== void 0)\n r = r[n];\n else\n return null;\n return r;\n }\n return null;\n}, tf = (e, t) => t === Jt.HORIZONTAL ? {\n y0: e.x0,\n y1: e.x1,\n x0: e.y0,\n x1: e.y1\n} : e, vf = (e, t) => {\n const { x0: r, x1: n, y0: a, y1: i } = tf(e, t);\n return `M${r},${a}L${r},${i}L${n},${i}L${n},${a}L${r},${a}`;\n};\nfunction yf(e, t, r) {\n return r === Jt.VERTICAL ? [e, t] : [t, e];\n}\nvar zr = /* @__PURE__ */ ((e) => (e[\"15seconds\"] = \"15seconds\", e.minute = \"minute\", e[\"30minutes\"] = \"30minutes\", e.hourly = \"hourly\", e.daily = \"daily\", e.weekly = \"weekly\", e.monthly = \"monthly\", e.quarterly = \"quarterly\", e.yearly = \"yearly\", e))(zr || {});\nconst Qe = [\n [\"15seconds\", 15 * 1e3],\n [\"minute\", 60 * 1e3],\n [\"30minutes\", 30 * 60 * 1e3],\n [\"hourly\", 60 * 60 * 1e3],\n [\"daily\", 24 * 60 * 60 * 1e3],\n [\"monthly\", 30 * 24 * 60 * 60 * 1e3],\n [\"quarterly\", 3 * 30 * 24 * 60 * 60 * 1e3],\n [\"yearly\", 12 * 30 * 24 * 60 * 60 * 1e3]\n];\nfunction rf(e, t, r, n, a) {\n const i = t === 0, o = Number(ke(new Date(e), \"c\")) === 2, s = Number(ke(new Date(e), \"q\")) === 1, u = t !== 0 ? r[t - 1] : null;\n switch (n) {\n case \"15seconds\":\n return i || $e(e) || fe(e, u) || W(e);\n case \"minute\":\n return i || $e(e) || fe(e, u) || W(e);\n case \"30minutes\":\n return i || $e(e) || fe(e, u) || W(e);\n case \"hourly\":\n return i || $e(e) || fe(e, u) || W(e);\n case \"daily\":\n return a ? i || o || W(e) : i || fe(e, u) || W(e);\n case \"weekly\":\n return i || o || W(e);\n case \"monthly\":\n return i || W(e);\n case \"quarterly\":\n return i || s;\n case \"yearly\":\n return !1;\n default:\n throw new Error(`${n} is not a valid time interval.`);\n }\n}\nfunction bf(e, t, r, n, a) {\n const i = a.showDayName, o = n === \"daily\" && i ? \"weekly\" : n, s = new Date(e), u = G(a, \"timeIntervalFormats\")[o], l = G(u, \"primary\"), f = G(u, \"secondary\");\n let c = rf(e, t, r, n, i) ? l : f;\n n === \"15seconds\" && s.getMilliseconds() !== 0 && (c = c.replace(\"pp\", \"h:mm:ss.SSS a\"));\n const d = a.localeObject;\n return ke(s, c, { locale: d });\n}\nfunction Ie(e) {\n const t = new Date(e);\n return {\n M: t.getMonth() + 1,\n // month: 1-12\n d: t.getDate(),\n // day of the month: 1-31\n H: t.getHours(),\n // 24-hour clock: 0-23\n m: t.getMinutes(),\n // minute: 0-59\n s: t.getSeconds()\n // seconds: 0-59\n };\n}\nfunction nf(e) {\n if (e)\n return e.slice(1).map((t, r) => t - e[r]);\n}\nfunction af(e) {\n const t = Qe.reduce((r, [, n], a) => {\n const i = Qe[r][1], o = Math.abs(i - e), s = Math.abs(n - e);\n return o < s ? r : a;\n }, 0);\n return Qe[t][0];\n}\nfunction wf(e, t) {\n if (zr[t])\n return t;\n if (e.length === 1)\n return \"15seconds\";\n const r = nf(e), n = on(r);\n return af(n);\n}\nfunction $e(e) {\n const { s: t, m: r, H: n } = Ie(e);\n return n === 0 && r === 0 && t === 0;\n}\nfunction fe(e, t) {\n const r = Ie(e).M, n = Ie(t).M;\n return r !== n;\n}\nfunction W(e) {\n const { M: t, d: r, s: n, m: a, H: i } = Ie(e);\n return t === 1 && r === 1 && i === 0 && a === 0 && n === 0;\n}\nfunction Tf(e) {\n return e === void 0 ? \"\" : e.toISOString();\n}\nfunction of(e) {\n const t = sn(e, (n) => n.value), r = un().domain(t).nice().domain();\n if (r[0] > 0)\n r[0] = 0;\n else if (r[0] === 0 && r[1] === 0)\n return [0, 1];\n return r[0] < 0 && r[1] > 0 && (Math.abs(r[0]) > r[1] ? r[1] = Math.abs(r[0]) : r[0] = -r[1]), r;\n}\nfunction _f(e, t) {\n const r = G(t, \"gradient\", \"colors\"), n = !nc(r);\n let a = G(t, \"pairing\", \"option\");\n const i = of(e), o = i[0] < 0 && i[1] > 0 ? \"diverge\" : \"mono\";\n (a < 1 && a > 4 && o === \"mono\" || a < 1 && a > 2 && o === \"diverge\") && (a = 1);\n const s = n ? r : [];\n if (!n) {\n const u = o === \"diverge\" ? 17 : 11;\n for (let l = 1; l < u + 1; l++)\n s.push(`fill-${o}-${a}-${l}`);\n }\n return ln().domain(i).range(s);\n}\nexport {\n pf as $,\n bc as A,\n wc as B,\n Tc as C,\n _c as D,\n Wr as E,\n $c as F,\n we as G,\n Pc as H,\n Cc as I,\n Mc as J,\n xc as K,\n wf as L,\n Tf as M,\n bf as N,\n _f as O,\n of as P,\n Ie as Q,\n rf as R,\n S,\n Qe as T,\n Ua as U,\n ql as V,\n yr as W,\n vt as X,\n ol as Y,\n Ai as Z,\n cs as _,\n nt as a,\n ke as a0,\n nc as a1,\n yf as a2,\n gf as a3,\n hf as a4,\n ff as a5,\n vf as a6,\n tf as a7,\n mf as a8,\n lf as a9,\n Sc as aa,\n st as ab,\n ef as ac,\n O as ad,\n E as ae,\n B as af,\n hn as ag,\n mn as ah,\n Xl as b,\n I as c,\n fc as d,\n rl as e,\n h as f,\n G as g,\n cf as h,\n ye as i,\n Oc as j,\n Ue as k,\n dc as l,\n df as m,\n hc as n,\n Jc as o,\n yt as p,\n pc as q,\n D as r,\n gc as s,\n us as t,\n Rr as u,\n mc as v,\n Ur as w,\n Nr as x,\n vc as y,\n yc as z\n};\n//# sourceMappingURL=color-scale-utils-2eb80bd2.mjs.map\n","var r = /* @__PURE__ */ ((c) => (c.GRAPHICS_DOCUMENT = \"graphics-document\", c.GRAPHICS_OBJECT = \"graphics-object\", c.GRAPHICS_SYMBOL = \"graphics-symbol\", c.GROUP = \"group\", c.DOCUMENT = \"document\", c.CHECKBOX = \"checkbox\", c.BUTTON = \"button\", c.MENU = \"menu\", c.MENU_ITEM = \"menuitem\", c.IMG = \"img\", c))(r || {});\nexport {\n r as R\n};\n//# sourceMappingURL=a11y-7bad4f48.mjs.map\n","import { b as f, k as t, i as h } from \"./color-scale-utils-2eb80bd2.mjs\";\nfunction i(a, e) {\n return a && f(a, e, t);\n}\nfunction k(a, e) {\n return function(r, n) {\n if (r == null)\n return r;\n if (!h(r))\n return a(r, n);\n for (var u = r.length, s = e ? u : -1, b = Object(r); (e ? s-- : ++s < u) && n(b[s], s, b) !== !1; )\n ;\n return r;\n };\n}\nvar E = k(i);\nconst v = E;\nexport {\n v as b\n};\n//# sourceMappingURL=_baseEach-8433307e.mjs.map\n","import { S as z, V as F, ab as U, g as u, z as b, e as G, y as j, a9 as M, M as k, ac as L, f as _, v as V, a0 as K, a1 as y, O as $, _ as x } from \"../color-scale-utils-2eb80bd2.mjs\";\nimport { bin as Z, stack as A, stackOffsetDiverging as H, scaleOrdinal as R, quantile as E, ascending as Q, min as N, max as P, extent as W, scaleLinear as X, scaleQuantize as Y } from \"d3\";\nimport { S as D, _ as B, d as w, e as O, s as J } from \"../enums-a96ef472.mjs\";\nimport { b as tt } from \"../_baseEach-8433307e.mjs\";\nfunction et(h, t, e, s) {\n for (var a = -1, o = h == null ? 0 : h.length; ++a < o; ) {\n var i = h[a];\n t(s, i, e(i), h);\n }\n return s;\n}\nfunction st(h, t, e, s) {\n return tt(h, function(a, o, i) {\n t(s, a, e(a), i);\n }), s;\n}\nfunction at(h, t) {\n return function(e, s) {\n var a = z(e) ? et : st, o = t ? t() : {};\n return a(e, h, F(s), o);\n };\n}\nfunction ot(h) {\n for (var t = -1, e = h == null ? 0 : h.length, s = {}; ++t < e; ) {\n var a = h[t];\n s[a[0]] = a[1];\n }\n return s;\n}\nvar it = Object.prototype, nt = it.hasOwnProperty, rt = at(function(h, t, e) {\n nt.call(h, e) ? h[e].push(t) : U(h, e, [t]);\n});\nconst lt = rt;\nclass m {\n constructor(t) {\n this.state = {\n options: {}\n }, this.colorScale = {}, this.colorClassNames = {}, this.services = t;\n }\n getAllDataFromDomain(t) {\n if (!this.getData())\n return null;\n const e = this.getOptions();\n let s = this.getData();\n const a = this.getDataGroups(), { groupMapsTo: o } = u(e, \"data\"), i = u(e, \"axes\");\n return t && (s = s.filter((n) => t.includes(n[o]))), i && Object.keys(i).forEach((n) => {\n const r = i[n].mapsTo, l = i[n].scaleType;\n if ((l === D.LINEAR || l === D.LOG) && (s = s.map((c) => ({\n ...c,\n [r]: c[r] === null ? c[r] : Number(c[r])\n }))), r && i[n].domain)\n if (l === D.LABELS)\n s = s.filter(\n (c) => i[n].domain.includes(c[r])\n );\n else {\n const [c, p] = i[n].domain;\n s = s.filter(\n (g) => !(r in g) || g[r] >= c && g[r] <= p\n );\n }\n }), s.filter((n) => a.find((r) => r.name === n[o]));\n }\n /**\n * Charts that have group configs passed into them, only want to retrieve the display data relevant to that chart\n * @param groups the included datasets for the particular chart\n */\n getDisplayData(t) {\n if (!this.get(\"data\"))\n return null;\n const { ACTIVE: e } = b.items.status, s = this.getDataGroups(t), { groupMapsTo: a } = this.getOptions().data;\n return this.getAllDataFromDomain(t).filter((i) => s.find(\n (n) => n.name === i[a] && n.status === e\n ));\n }\n getData() {\n return this.get(\"data\");\n }\n isDataEmpty() {\n return !this.getData().length;\n }\n /**\n *\n * @param newData The new raw data to be set\n */\n setData(t) {\n const e = this.sanitize(G(t)), s = this.generateDataGroups(e);\n return this.set({\n data: e,\n dataGroups: s\n }), e;\n }\n getDataGroups(t) {\n return u(this.getOptions(), \"data\", \"loading\") ? [] : t ? this.get(\"dataGroups\").filter((s) => t.includes(s.name)) : this.get(\"dataGroups\");\n }\n getActiveDataGroups(t) {\n const { ACTIVE: e } = b.items.status;\n return this.getDataGroups(t).filter((s) => s.status === e);\n }\n getDataGroupNames(t) {\n return this.getDataGroups(t).map((s) => s.name);\n }\n getActiveDataGroupNames(t) {\n return this.getActiveDataGroups(t).map((s) => s.name);\n }\n aggregateBinDataByGroup(t) {\n return lt(t, \"group\");\n }\n getBinConfigurations() {\n const t = this.getDisplayData(), e = this.getOptions(), s = this.services.cartesianScales.getMainXAxisPosition(), a = this.services.cartesianScales.getDomainIdentifier(), o = e.axes[s], { groupMapsTo: i } = e.data, { bins: n = j.defaultBins } = o, r = Array.isArray(n), l = Z().value((d) => d[a]).thresholds(n)(t);\n if (r)\n l[l.length - 1].x1 = n[n.length - 1];\n else {\n const d = l[0].x1 - l[0].x0;\n l[l.length - 1].x1 = +l[l.length - 1].x0 + d;\n }\n const c = r ? [n[0], n[n.length - 1]] : [l[0].x0, l[l.length - 1].x1], p = Array.from(new Set(t.map((d) => d[i]))), g = [];\n return l.forEach((d) => {\n const f = `${d.x0}-${d.x1}`, T = this.aggregateBinDataByGroup(d);\n p.forEach((C) => {\n g.push({\n group: C,\n key: f,\n value: T[C] || 0,\n bin: d.x0\n });\n });\n }), {\n bins: l,\n binsDomain: c\n };\n }\n getBinnedStackedData() {\n const t = this.getOptions(), { groupMapsTo: e } = t.data, s = this.getActiveDataGroupNames(), { bins: a } = this.getBinConfigurations(), o = this.getDataValuesGroupedByKeys({\n bins: a\n });\n return A().keys(s)(o).map((i, n) => Object.keys(i).filter((r) => !isNaN(r)).map((r) => {\n const l = i[r];\n return l[e] = s[n], l;\n }));\n }\n getGroupedData(t) {\n const e = this.getDisplayData(t), s = {}, { groupMapsTo: a } = this.getOptions().data;\n return e.map((o) => {\n const i = o[a];\n s[i] !== null && s[i] !== void 0 ? s[i].push(o) : s[i] = [o];\n }), Object.keys(s).map((o) => ({\n name: o,\n data: s[o]\n }));\n }\n getStackKeys({ bins: t = null, groups: e = null } = { bins: null, groups: null }) {\n const s = this.getOptions(), a = this.getDisplayData(e);\n let o;\n t ? o = t.map((r) => `${r.x0}-${r.x1}`) : o = M(\n a.map((r) => {\n const l = this.services.cartesianScales.getDomainIdentifier(r);\n return r[l] instanceof Date ? k(r[l]) : r[l] && typeof r[l].toString == \"function\" ? r[l].toString() : r[l];\n })\n );\n const i = this.services.cartesianScales.domainAxisPosition, n = s.axes[i].scaleType;\n return n === D.TIME ? o.sort((r, l) => {\n const c = new Date(r), p = new Date(l);\n return c - p;\n }) : (n === D.LOG || n === D.LINEAR) && o.sort((r, l) => r - l), o;\n }\n getDataValuesGroupedByKeys({ bins: t = null, groups: e = null }) {\n const s = this.getOptions(), { groupMapsTo: a } = s.data, o = this.getDisplayData(e), i = this.getDataGroupNames(), n = this.getStackKeys({ bins: t, groups: e });\n return t ? n.map((r) => {\n const [l, c] = r.split(\"-\"), p = { x0: l, x1: c }, g = t.find((d) => d.x0.toString() === l.toString());\n return i.forEach((d) => {\n p[d] = g.filter(\n (f) => f[a] === d\n ).length;\n }), p;\n }) : n.map((r) => {\n const l = { sharedStackKey: r };\n return i.forEach((c) => {\n const p = o.find((d) => {\n const f = this.services.cartesianScales.getDomainIdentifier(d);\n return d[a] === c && Object.prototype.hasOwnProperty.call(d, f) && (d[f] instanceof Date ? k(d[f]) === r : d[f].toString() === r);\n }), g = this.services.cartesianScales.getRangeIdentifier(l);\n l[c] = p ? p[g] : null;\n }), l;\n });\n }\n getStackedData({ percentage: t = !1, groups: e = null, divergent: s = !1 }) {\n const a = this.getOptions(), { groupMapsTo: o } = a.data, i = this.getActiveDataGroupNames(e), n = this.getDataValuesGroupedByKeys({\n groups: e\n });\n if (t) {\n const l = ot(n.map((c) => [c.sharedStackKey, 0]));\n n.forEach((c) => {\n i.forEach((p) => {\n l[c.sharedStackKey] += c[p];\n });\n }), n.forEach((c) => {\n i.forEach((p) => {\n const g = l[c.sharedStackKey];\n l[c.sharedStackKey] ? c[p] = c[p] / g * 100 : c[p] = 0;\n });\n });\n }\n return (s ? A().offset(H) : A()).keys(i)(n).map((l, c) => Object.keys(l).filter((p) => !isNaN(p)).map((p) => {\n const g = l[p];\n return g[o] = i[c], g;\n }));\n }\n /**\n * @return {Object} The chart's options\n */\n getOptions() {\n return this.state.options;\n }\n set(t, e) {\n this.state = Object.assign({}, this.state, t);\n const s = Object.assign(\n { skipUpdate: !1, animate: !0 },\n // default configs\n e\n );\n s.skipUpdate || this.update(s.animate);\n }\n get(t) {\n return t ? this.state[t] : this.state;\n }\n /**\n *\n * @param newOptions New options to be set\n */\n setOptions(t) {\n const e = this.getOptions();\n L(e, t), this.set({\n options: _(e, t)\n });\n }\n /**\n *\n * Updates miscellanous information within the model\n * such as the color scales, or the legend data labels\n */\n update(t = !0) {\n this.getDisplayData() && (this.updateAllDataGroups(), this.setCustomColorScale(), this.setColorClassNames(), this.services.events.dispatchEvent(B.Model.UPDATE, { animate: t }));\n }\n /*\n * Data labels\n */\n toggleDataLabel(t) {\n const { ACTIVE: e, DISABLED: s } = b.items.status, a = this.getDataGroups(), o = a.some((c) => c.status === s), i = a.filter((c) => c.status === e);\n if (o)\n if (i.length === 1 && i[0].name === t)\n a.forEach((c, p) => {\n a[p].status = e;\n });\n else {\n const c = a.findIndex((p) => p.name === t);\n a[c].status = a[c].status === s ? e : s;\n }\n else\n a.forEach((c, p) => {\n a[p].status = c.name === t ? e : s;\n });\n const n = a.filter((c) => c.status === e), r = this.getOptions();\n a.some((c) => c.status === s) ? r.data.selectedGroups = n.map((c) => c.name) : r.data.selectedGroups = [], this.services.events.dispatchEvent(B.Legend.ITEMS_UPDATE, {\n dataGroups: a\n }), this.set({\n dataGroups: a\n });\n }\n /**\n * Should the data point be filled?\n * @param group\n * @param key\n * @param data\n * @param defaultFilled the default for this chart\n */\n getIsFilled(t, e, s, a) {\n const o = this.getOptions();\n return o.getIsFilled ? o.getIsFilled(t, e, s, a) : a;\n }\n getFillColor(t, e, s) {\n const a = this.getOptions(), o = u(this.colorScale, t);\n return a.getFillColor ? a.getFillColor(t, e, s, o) : o;\n }\n getStrokeColor(t, e, s) {\n const a = this.getOptions(), o = u(this.colorScale, t);\n return a.getStrokeColor ? a.getStrokeColor(t, e, s, o) : o;\n }\n isUserProvidedColorScaleValid() {\n const t = u(this.getOptions(), \"color\", \"scale\"), e = this.getDataGroups();\n return t == null || Object.keys(t).length == 0 ? !1 : e.some(\n (s) => Object.keys(t).includes(s.name)\n );\n }\n getColorClassName(t) {\n const e = this.colorClassNames(t.dataGroupName);\n let s = t.originalClassName;\n return t.classNameTypes.forEach(\n (a) => s = t.originalClassName ? `${s} ${a}-${e}` : `${a}-${e}`\n ), s || \"\";\n }\n /**\n * For charts that might hold an associated status for their dataset\n */\n getStatus() {\n return null;\n }\n getAllDataGroupsNames() {\n return this.allDataGroups;\n }\n /**\n * Converts data provided in the older format to tabular\n *\n */\n transformToTabularData(t) {\n console.warn(\n \"We've updated the charting data format to be tabular by default. The current format you're using is deprecated and will be removed in v1.0, read more here https://carbon-design-system.github.io/carbon-charts/?path=/story/docs-tutorials--tabular-data-format\"\n );\n const e = [], { datasets: s, labels: a } = t;\n return s.forEach((o) => {\n o.data.forEach((i, n) => {\n let r;\n const l = u(o, \"label\");\n if (l === null) {\n const p = u(a, n);\n p ? r = p : r = \"Ungrouped\";\n } else\n r = l;\n const c = {\n group: r,\n key: a[n]\n };\n isNaN(i) ? (c.value = i.value, c.date = i.date) : c.value = i, e.push(c);\n });\n }), e;\n }\n getTabularDataArray() {\n return [];\n }\n exportToCSV() {\n const t = this.getTabularDataArray().map(\n (n) => n.map((r) => `\"${r === \"–\" ? \"–\" : r}\"`)\n );\n let e = \"\", s = \"\";\n t.forEach(function(n, r) {\n s = n.join(\",\"), e += r < t.length ? s + `\n` : s;\n });\n const a = this.getOptions();\n let o = \"myChart\";\n const i = u(\n a,\n \"fileDownload\",\n \"fileName\"\n );\n typeof i == \"function\" ? o = i(\"csv\") : typeof i == \"string\" && (o = i), this.services.files.downloadCSV(e, `${o}.csv`);\n }\n getTabularData(t) {\n return Array.isArray(t) ? t : this.transformToTabularData(t);\n }\n sanitize(t) {\n return t = this.getTabularData(t), t;\n }\n /*\n * Data groups\n */\n updateAllDataGroups() {\n this.allDataGroups ? this.getDataGroupNames().forEach((t) => {\n this.allDataGroups.indexOf(t) === -1 && this.allDataGroups.push(t);\n }) : this.allDataGroups = this.getDataGroupNames();\n }\n generateDataGroups(t) {\n const { groupMapsTo: e } = this.getOptions().data, { ACTIVE: s, DISABLED: a } = b.items.status, o = this.getOptions(), i = M(t.map((r) => r[e]));\n o.data.selectedGroups.length && (o.data.selectedGroups.every(\n (l) => i.includes(l)\n ) || (o.data.selectedGroups = []));\n const n = (r) => !o.data.selectedGroups.length || o.data.selectedGroups.includes(r) ? s : a;\n return i.map((r) => ({\n name: r,\n status: n(r)\n }));\n }\n /*\n * Fill scales\n */\n setCustomColorScale() {\n if (!this.isUserProvidedColorScaleValid())\n return;\n const t = this.getOptions(), e = u(t, \"color\", \"scale\");\n Object.keys(e).forEach((a) => {\n this.allDataGroups.includes(a) || console.warn(`\"${a}\" does not exist in data groups.`);\n }), this.allDataGroups.filter(\n (a) => e[a]\n ).forEach(\n (a) => this.colorScale[a] = e[a]\n );\n }\n /*\n * Color palette\n */\n setColorClassNames() {\n const t = u(this.getOptions(), \"color\", \"pairing\");\n let e = u(t, \"numberOfVariants\");\n (!e || e < this.allDataGroups.length) && (e = this.allDataGroups.length);\n let s = u(t, \"option\");\n const a = V.pairingOptions, o = e > 5 ? 14 : e, i = `${o}-color`;\n s = s <= a[i] ? s : 1;\n const n = this.allDataGroups.map(\n (r, l) => `${o}-${s}-${l % 14 + 1}`\n );\n this.colorClassNames = R().range(n).domain(this.allDataGroups);\n }\n}\nclass S extends m {\n // can't be protected as it's used by two-dimensional-axes.ts\n constructor(t) {\n super(t), this.axisFlavor = w.DEFAULT;\n }\n // get the scales information\n // needed for getTabularArray()\n assignRangeAndDomains() {\n const { cartesianScales: t } = this.services, e = this.getOptions(), s = t.isDualAxes(), a = {\n primaryDomain: t.domainAxisPosition,\n primaryRange: t.rangeAxisPosition,\n secondaryDomain: null,\n secondaryRange: null\n };\n return s && (a.secondaryDomain = t.secondaryDomainAxisPosition, a.secondaryRange = t.secondaryRangeAxisPosition), Object.keys(a).forEach((o) => {\n const i = a[o];\n t.scales[i] ? a[o] = {\n position: i,\n label: t.getScaleLabel(i),\n identifier: u(e, \"axes\", i, \"mapsTo\")\n } : a[o] = null;\n }), a;\n }\n getTabularDataArray() {\n const t = this.getDisplayData(), e = this.getOptions(), { groupMapsTo: s } = e.data, { cartesianScales: a } = this.services, { primaryDomain: o, primaryRange: i, secondaryDomain: n, secondaryRange: r } = this.assignRangeAndDomains(), l = a.getDomainAxisScaleType();\n let c;\n return l === D.TIME && (c = (g) => K(g, \"MMM d, yyyy\")), [\n [\n \"Group\",\n o.label,\n i.label,\n ...n ? [n.label] : [],\n ...r ? [r.label] : []\n ],\n ...t.map((g) => [\n g[s],\n g[o.identifier] === null ? \"–\" : c ? c(g[o.identifier]) : g[o.identifier],\n g[i.identifier] === null || isNaN(g[i.identifier]) ? \"–\" : g[i.identifier].toLocaleString(),\n ...n ? [\n g[n.identifier] === null ? \"–\" : g[n.identifier]\n ] : [],\n ...r ? [\n g[r.identifier] === null || isNaN(g[r.identifier]) ? \"–\" : g[r.identifier]\n ] : []\n ])\n ];\n }\n setData(t) {\n let e;\n if (t && (e = super.setData(t), u(this.getOptions(), \"zoomBar\", O.TOP, \"enabled\"))) {\n const s = u(\n this.getOptions(),\n \"zoomBar\",\n O.TOP,\n \"data\"\n );\n this.setZoomBarData(s);\n }\n return e;\n }\n /**\n * @param zoomBarData any special zoom bar data to use instead of the model data\n */\n setZoomBarData(t) {\n const e = t ? this.sanitize(G(t)) : this.getDisplayData();\n let s = e;\n const { cartesianScales: a } = this.services;\n if (e && a.domainAxisPosition && a.rangeAxisPosition) {\n const o = a.getDomainIdentifier(), i = a.getRangeIdentifier();\n let n = e.map((r) => r[o].getTime());\n n = M(n).sort(), s = n.map((r) => {\n let l = 0;\n const c = {};\n return e.forEach((p) => {\n p[o].getTime() === r && (l += p[i]);\n }), c[o] = new Date(r), c[i] = l, c;\n });\n }\n this.set({ zoomBarData: s });\n }\n getZoomBarData() {\n return this.get(\"zoomBarData\");\n }\n sanitizeDateValues(t) {\n const e = this.getOptions();\n if (!e.axes)\n return t;\n const s = [];\n return Object.keys(O).forEach((a) => {\n const o = O[a], i = e.axes[o];\n if (i && i.scaleType === D.TIME) {\n const n = i.mapsTo;\n (n !== null || n !== void 0) && s.push(n);\n }\n }), s.length > 0 && t.forEach((a) => {\n s.forEach((o) => {\n u(a, o, \"getTime\") === null && (a[o] = new Date(a[o]));\n });\n }), t;\n }\n sanitize(t) {\n return t = super.sanitize(t), t = this.sanitizeDateValues(t), t;\n }\n}\nclass gt extends S {\n constructor(t) {\n super(t);\n }\n getTabularDataArray() {\n const t = this.getDisplayData();\n return t.sort((s, a) => s.source.localeCompare(a.source)), [\n [\"Source\", \"Target\", \"Value\"],\n ...t.map((s) => [s.source, s.target, s.value])\n ];\n }\n}\nclass dt extends S {\n constructor(t) {\n super(t);\n }\n getBoxQuartiles(t) {\n return {\n q_25: E(t, 0.25),\n q_50: E(t, 0.5),\n q_75: E(t, 0.75)\n };\n }\n getBoxplotData() {\n const t = this.getOptions(), { groupMapsTo: e } = t.data, s = this.getGroupedData(), a = [];\n for (const { name: o, data: i } of s) {\n const n = this.services.cartesianScales.getRangeIdentifier(), r = i.map((v) => v[n]).sort(Q), l = {\n [e]: o,\n counts: r,\n quartiles: this.getBoxQuartiles(r),\n outliers: null,\n whiskers: null\n }, c = l.quartiles.q_25, p = l.quartiles.q_75, g = (p - c) * 1.5, d = c - g, f = p + g, T = [], C = [];\n for (const v of r)\n v < d || v > f ? T.push(v) : C.push(v);\n l.outliers = T;\n const I = N(C), q = P(C);\n l.whiskers = {\n min: I || N([l.quartiles.q_25, l.quartiles.q_50, l.quartiles.q_75]),\n max: q || P([l.quartiles.q_25, l.quartiles.q_50, l.quartiles.q_75])\n }, a.push(l);\n }\n return a;\n }\n getTabularDataArray() {\n const t = this.getOptions(), { groupMapsTo: e } = t.data, s = this.getBoxplotData();\n return [\n [\"Group\", \"Minimum\", \"Q1\", \"Median\", \"Q3\", \"Maximum\", \"IQR\", \"Outlier(s)\"],\n ...s.map((o) => {\n let i = u(o, \"outliers\");\n return (i === null || i.length === 0) && (i = [\"–\"]), [\n o[e],\n u(o, \"whiskers\", \"min\") !== null ? u(o, \"whiskers\", \"min\").toLocaleString() : \"–\",\n u(o, \"quartiles\", \"q_25\") !== null ? u(o, \"quartiles\", \"q_25\").toLocaleString() : \"–\",\n u(o, \"quartiles\", \"q_50\") !== null ? u(o, \"quartiles\", \"q_50\").toLocaleString() : \"–\",\n u(o, \"quartiles\", \"q_75\") !== null ? u(o, \"quartiles\", \"q_75\").toLocaleString() : \"–\",\n u(o, \"whiskers\", \"max\") !== null ? u(o, \"whiskers\", \"max\").toLocaleString() : \"–\",\n u(o, \"quartiles\", \"q_75\") !== null && u(o, \"quartiles\", \"q_25\") !== null ? (u(o, \"quartiles\", \"q_75\") - u(o, \"quartiles\", \"q_25\")).toLocaleString() : \"–\",\n i.map((n) => n.toLocaleString()).join(\",\")\n ];\n })\n ];\n }\n setColorClassNames() {\n const e = u(this.getOptions(), \"color\", \"pairing\");\n let s = u(e, \"option\");\n const a = V.pairingOptions;\n s = s <= a[\"1-color\"] ? s : 1;\n const o = this.allDataGroups.map(() => `1-${s}-1`);\n this.colorClassNames = R().range(o).domain(this.allDataGroups);\n }\n}\nclass Dt extends S {\n constructor(t) {\n super(t);\n }\n /**\n * Determines the index of the performance area titles to use\n * @param datum\n * @returns number\n */\n getMatchingRangeIndexForDatapoint(t) {\n let e;\n for (let s = t.ranges.length - 1; s > 0; s--) {\n const a = t.ranges[s];\n if (t.value >= a)\n return e = s, e;\n }\n return 0;\n }\n getTabularDataArray() {\n const t = this.getDisplayData(), e = this.getOptions(), { groupMapsTo: s } = e.data, a = this.services.cartesianScales.getRangeIdentifier(), o = u(e, \"bullet\", \"performanceAreaTitles\");\n return [\n [\"Title\", \"Group\", \"Value\", \"Target\", \"Percentage\", \"Performance\"],\n ...t.map((n) => [\n n.title,\n n[s],\n n.value === null ? \"–\" : n.value,\n u(n, \"marker\") === null ? \"–\" : n.marker,\n u(n, \"marker\") === null ? \"–\" : `${Math.floor(n[a] / n.marker * 100)}%`,\n o[this.getMatchingRangeIndexForDatapoint(n)]\n ])\n ];\n }\n}\nclass ft extends m {\n constructor(t) {\n super(t), this._colorScale = void 0, this._matrix = {};\n }\n /**\n * @override\n * @param value\n * @returns string\n */\n getFillColor(t) {\n return this._colorScale(t);\n }\n /**\n * Helper function that will generate a dictionary\n */\n getCombinedData() {\n if (y(this._matrix)) {\n const t = this.getOptions(), e = this.getDisplayData();\n !y(e) && !y(t.geoData.objects.countries) && (t.geoData.objects.countries.geometries.forEach((s) => {\n this._matrix[s.properties.NAME] = s;\n }), e.forEach((s) => {\n this._matrix[s.name] ? this._matrix[s.name].value = s.value || null : console.warn(`Data point ${s} is missing geographical data.`);\n }));\n }\n return this._matrix;\n }\n /**\n * Generate tabular data from display data\n * @returns Array<Object>\n */\n getTabularDataArray() {\n const t = this.getDisplayData();\n return [\n [\"Country ID\", \"Country Name\", \"Value\"],\n ...t.map((s) => [\n s.id === null ? \"–\" : s.id,\n s.name,\n s.value\n ])\n ];\n }\n // Uses quantize scale to return class names\n getColorClassName(t) {\n return `${t.originalClassName} ${this._colorScale(t.value)}`;\n }\n setColorClassNames() {\n const t = u(this.getOptions(), \"color\");\n this._colorScale = $(this.getDisplayData(), t);\n }\n}\nclass mt extends m {\n constructor(t) {\n super(t), this.parentNode = !1, this.set({ depth: 2 }, { skipUpdate: !0 });\n }\n setData(t) {\n super.setData(t), this.setDataGroups(), t.length === 1 && (this.parentNode = !0), this.setZoom();\n }\n setOptions(t) {\n const e = this.getOptions(), s = _({}, t, this.getZoomOptions(t));\n L(e, s);\n const a = this.getHierarchyLevel(), o = u(e, \"circlePack\", \"hierarchyLevel\");\n this.set({\n options: _(e, s),\n depth: o && o < 4 ? o : a\n });\n }\n getZoomOptions(t) {\n if (!this.getDisplayData())\n return {};\n const e = this.getDisplayData(), s = t || this.getOptions(), a = e.length === 1 && u(e, 0, \"children\") ? u(e, 0, \"children\") : e;\n let o = this.getHierarchyLevel();\n return a.some((i) => {\n if (i.children && i.children.some((n) => n.children))\n return o = 3, !1;\n }), u(s, \"canvasZoom\", \"enabled\") === !0 && o > 2 ? {\n legend: {\n additionalItems: [\n {\n type: J.ZOOM,\n name: \"Click to zoom\"\n }\n ]\n }\n } : null;\n }\n setZoom(t) {\n this.setOptions(this.getZoomOptions(t));\n }\n // update the hierarchy level\n updateHierarchyLevel(t) {\n this.set({ depth: t });\n }\n getHierarchyLevel() {\n return this.get(\"depth\");\n }\n hasParentNode() {\n return this.parentNode;\n }\n // set the datagroup name on the items that are it's children\n setDataGroups() {\n const t = this.getData(), e = this.getOptions(), { groupMapsTo: s } = e.data, a = t.map((o) => {\n const i = o[s];\n return this.setChildrenDataGroup(o, i);\n });\n this.set(\n {\n data: a\n },\n { skipUpdate: !0 }\n );\n }\n // sets name recursively down the node tree\n setChildrenDataGroup(t, e) {\n return t.children ? {\n ...t,\n dataGroupName: e,\n children: t.children.map((s) => this.setChildrenDataGroup(s, e))\n } : { ...t, dataGroupName: e };\n }\n getTabularDataArray() {\n const t = this.getDisplayData(), e = [[\"Child\", \"Parent\", \"Value\"]];\n return t.forEach((s) => {\n let a = s.value ? s.value : 0;\n s.children && (a += this.getChildrenDatums(s.children, s.name, e, 0)), e.push([\"–\", s.name, a]);\n }), e;\n }\n /**\n * Recursively determine the relationship between all the nested elements in the child\n * @param children: Object\n * @param parent: String\n * @param result: Array<Object>\n * @param totalSum: number\n * @returns: number\n */\n getChildrenDatums(t, e, s = [], a = 0) {\n const o = e;\n return t.forEach((i) => {\n const n = i.name;\n let r = 0;\n if (i.children)\n i.children.length > 0 && (typeof i.value == \"number\" && (a += i.value), r += this.getChildrenDatums(i.children, n, s, r), s.push([n, o, r]), a += r);\n else {\n let l = 0;\n typeof i.value == \"number\" && (l = i.value, a += i.value), s.push([i.name, o, l]);\n }\n }), a;\n }\n}\nclass yt extends m {\n constructor(t) {\n super(t);\n }\n getTabularData(t) {\n const e = super.getTabularData(t);\n return t !== e && e.forEach((s) => {\n s.key && s.key !== s.group && (s.group = s.key);\n }), e;\n }\n getTabularDataArray() {\n const t = this.getDisplayData(), e = this.getOptions(), { groupMapsTo: s } = e.data;\n return [\n [\"Group\", \"Value\"],\n ...t.map((o) => [\n o[s],\n o.value === null ? \"–\" : o.value.toLocaleString()\n ])\n ];\n }\n sanitize(t) {\n return this.getTabularData(t).sort((s, a) => a.value - s.value);\n }\n}\nclass vt extends m {\n constructor(t) {\n super(t);\n }\n getDataGroups() {\n return super.getDataGroups().filter((t) => t.name !== \"delta\");\n }\n getTabularDataArray() {\n const t = this.getDisplayData(), e = this.getOptions(), { groupMapsTo: s } = e.data;\n return [\n [\"Group\", \"Value\"],\n ...t.map((o) => [\n o[s],\n o.value === null ? \"–\" : o.value.toLocaleString()\n ])\n ];\n }\n}\nclass xt extends S {\n constructor(t) {\n super(t), this.axisFlavor = w.HOVERABLE, this._colorScale = void 0, this._domains = [], this._ranges = [], this._matrix = {};\n const e = u(this.getOptions(), \"axes\");\n if (u(e, \"left\", \"scaleType\") && u(e, \"left\", \"scaleType\") !== D.LABELS || u(e, \"right\", \"scaleType\") && u(e, \"right\", \"scaleType\") !== D.LABELS || u(e, \"top\", \"scaleType\") && u(e, \"top\", \"scaleType\") !== D.LABELS || u(e, \"bottom\", \"scaleType\") && u(e, \"bottom\", \"scaleType\") !== D.LABELS)\n throw Error(\"Heatmap only supports label scaletypes.\");\n }\n /**\n * Get min and maximum value of the display data\n * @returns Array consisting of smallest and largest values in data\n */\n getValueDomain() {\n const t = W(this.getDisplayData(), (s) => s.value), e = X().domain(t).nice().domain();\n if (e[0] > 0)\n e[0] = 0;\n else if (e[0] === 0 && e[1] === 0)\n return [0, 1];\n return e[0] < 0 && e[1] > 0 && (Math.abs(e[0]) > e[1] ? e[1] = Math.abs(e[0]) : e[0] = -e[1]), e;\n }\n /**\n * @override\n * @param value\n * @returns string\n */\n getFillColor(t) {\n return this._colorScale(t);\n }\n /**\n * Generate a list of all unique domains\n * @returns String[]\n */\n getUniqueDomain() {\n if (y(this._domains)) {\n const t = this.getDisplayData(), { cartesianScales: e } = this.services, s = e.getDomainIdentifier(), a = e.getMainXAxisPosition(), o = e.getCustomDomainValuesByposition(a);\n if (o)\n return o;\n this._domains = Array.from(\n new Set(\n t.map((i) => i[s])\n )\n );\n }\n return this._domains;\n }\n /**\n * Generates a list of all unique ranges\n * @returns String[]\n */\n getUniqueRanges() {\n if (y(this._ranges)) {\n const t = this.getDisplayData(), { cartesianScales: e } = this.services, s = e.getRangeIdentifier(), a = e.getMainYAxisPosition(), o = e.getCustomDomainValuesByposition(a);\n if (o)\n return o;\n this._ranges = Array.from(\n new Set(\n t.map((i) => i[s])\n )\n );\n }\n return this._ranges;\n }\n /**\n * Generates a matrix (If doesn't exist) and returns it\n * @returns Object\n */\n getMatrix() {\n if (y(this._matrix)) {\n const t = this.getUniqueDomain(), e = this.getUniqueRanges(), s = this.services.cartesianScales.getDomainIdentifier(), a = this.services.cartesianScales.getRangeIdentifier(), o = {};\n e.forEach((i) => {\n o[i] = {\n value: null,\n index: -1\n };\n }), t.forEach((i) => {\n this._matrix[i] = G(o);\n }), this.getDisplayData().forEach((i, n) => {\n this._matrix[i[s]][i[a]] = {\n value: i.value,\n index: n\n };\n });\n }\n return this._matrix;\n }\n /**\n *\n * @param newData The new raw data to be set\n */\n setData(t) {\n const e = this.sanitize(G(t)), s = this.generateDataGroups(e);\n return this.set({\n data: e,\n dataGroups: s\n }), this._domains = [], this._ranges = [], this._matrix = {}, e;\n }\n /**\n * Converts Object matrix into a single array\n * @returns object[]\n */\n getMatrixAsArray() {\n y(this._matrix) && this.getMatrix();\n const t = this.getUniqueDomain(), e = this.getUniqueRanges(), s = this.services.cartesianScales.getDomainIdentifier(), a = this.services.cartesianScales.getRangeIdentifier(), o = [];\n return t.forEach((i) => {\n e.forEach((n) => {\n const r = {\n value: this._matrix[i][n].value,\n index: this._matrix[i][n].index\n };\n r[s] = i, r[a] = n, o.push(r);\n });\n }), o;\n }\n /**\n * Generate tabular data from display data\n * @returns Array<Object>\n */\n getTabularDataArray() {\n const t = this.getDisplayData(), { primaryDomain: e, primaryRange: s } = this.assignRangeAndDomains();\n return [\n [e.label, s.label, \"Value\"],\n ...t.map((o) => [\n o[e.identifier] === null ? \"–\" : o[e.identifier],\n o[s.identifier] === null ? \"–\" : o[s.identifier].toLocaleString(),\n o.value\n ])\n ];\n }\n // Uses quantize scale to return class names\n getColorClassName(t) {\n return `${t.originalClassName} ${this._colorScale(t.value)}`;\n }\n setColorClassNames() {\n const t = this.getOptions(), e = u(t, \"color\", \"gradient\", \"colors\"), s = !y(e);\n let a = u(t, \"color\", \"pairing\", \"option\");\n const o = this.getValueDomain(), i = o[0] < 0 && o[1] > 0 ? \"diverge\" : \"mono\";\n (a < 1 && a > 4 && i === \"mono\" || a < 1 && a > 2 && i === \"diverge\") && (a = 1);\n const n = s ? e : [];\n if (!s) {\n const l = i === \"diverge\" ? 17 : 11;\n for (let c = 1; c < l + 1; c++)\n n.push(`fill-${i}-${a}-${c}`);\n }\n this._colorScale = Y().domain(o).range(n);\n const r = u(this.getOptions(), \"color\");\n this._colorScale = $(this.getDisplayData(), r);\n }\n}\nclass Ct extends S {\n getTabularDataArray() {\n const t = this.getOptions(), { groupMapsTo: e } = t.data, s = this.getBinnedStackedData();\n return [\n [\n x(t, \"bins.rangeLabel\") || \"Range\",\n ...s.map((o) => x(o, `0.${e}`))\n ],\n ...x(s, 0).map((o, i) => [\n `${x(o, \"data.x0\")} – ${x(o, \"data.x1\")}`,\n ...s.map((n) => x(n[i], `data.${x(n[i], e)}`))\n ])\n ];\n }\n}\nclass St extends m {\n constructor(t) {\n super(t);\n }\n getMaximumDomain(t) {\n return t.reduce((s, a) => s + a.value, 0);\n }\n /**\n * Use a provided color for the bar or default to carbon color if no status provided.\n * Defaults to carbon color otherwise.\n * @param group dataset group label\n */\n getFillColor(t) {\n const e = this.getOptions(), s = u(e, \"color\", \"scale\"), a = this.getStatus();\n return s || !a ? super.getFillColor(t) : null;\n }\n /**\n * Get the associated status for the data by checking the ranges\n */\n getStatus() {\n const t = this.getOptions(), e = u(this.getDisplayData()), s = (e == null ? void 0 : e.reduce((i, n) => i + n.value, 0)) ?? 0, a = u(t, \"meter\", \"proportional\") ? s : s > 100 ? 100 : s, o = u(t, \"meter\", \"status\", \"ranges\");\n if (o) {\n const i = o.filter(\n (n) => n.range[0] <= a && a <= n.range[1]\n );\n if (i.length > 0)\n return i[0].status;\n }\n return null;\n }\n getTabularDataArray() {\n const t = this.getDisplayData(), e = this.getOptions(), { groupMapsTo: s } = e.data, a = this.getStatus(), o = u(e, \"meter\", \"proportional\");\n let i = [], n;\n if (o === null) {\n n = 100;\n const r = t[0];\n i = [\n [\"Group\", \"Value\", ...a ? [\"Status\"] : []],\n [r[s], r.value, ...a ? [a] : []]\n ];\n } else {\n const r = u(o, \"total\");\n n = r || this.getMaximumDomain(t), i = [\n [\"Group\", \"Value\", \"Percentage of total\"],\n ...t.map((l) => [\n l[s],\n l.value,\n (l.value / n * 100).toFixed(2) + \" %\"\n ])\n ];\n }\n return i;\n }\n}\nclass Tt extends S {\n constructor(t) {\n super(t);\n }\n getTabularDataArray() {\n const t = this.getOptions(), e = this.getGroupedData(), { angle: s, value: a } = u(t, \"radar\", \"axes\"), o = u(e, \"0\", \"data\").map((n) => n[s]);\n return [\n [\"Group\", ...o],\n ...e.map((n) => [\n n.name,\n ...o.map(\n (r, l) => u(n, \"data\", l, a) !== null ? u(n, \"data\", l, a).toLocaleString() : \"–\"\n )\n ])\n ];\n }\n}\nclass bt extends m {\n constructor(t) {\n super(t);\n }\n getTabularDataArray() {\n const t = this.getDisplayData(), e = [[\"Child\", \"Parent\"]];\n return t.forEach((s) => {\n this.getChildrenDatums(s, e), e.push([s.name, \"–\"]);\n }), e;\n }\n /**\n * Determine the child parent relationship in nested data\n * @param datum: Object\n * @param result: Array<Object>\n */\n getChildrenDatums(t, e = []) {\n t.children && t.children.length > 0 && t.children.forEach((s) => {\n this.getChildrenDatums(s, e), e.push([s.name, t.name]);\n });\n }\n}\nclass Ot extends m {\n constructor(t) {\n super(t);\n }\n getTabularDataArray() {\n const t = this.getDisplayData(), e = [[\"Child\", \"Group\", \"Value\"]];\n return t.forEach((s) => {\n Array.isArray(s.children) ? s.children.forEach((a) => {\n e.push([a.name, s.name, a.value]);\n }) : u(s.name) !== null && u(s.value) && e.push([\"–\", s.name, s.value]);\n }), e;\n }\n}\nclass Gt extends m {\n constructor(t) {\n super(t);\n }\n getTabularDataArray() {\n const t = this.getDisplayData(), e = this.getOptions(), { fontSizeMapsTo: s, wordMapsTo: a } = e.wordCloud, { groupMapsTo: o } = e.data;\n return [\n [e.tooltip.wordLabel, \"Group\", e.tooltip.valueLabel],\n ...t.map((n) => [\n n[a],\n n[o],\n n[s]\n ])\n ];\n }\n}\nexport {\n gt as AlluvialChartModel,\n dt as BoxplotChartModel,\n Dt as BulletChartModel,\n m as ChartModel,\n Ct as ChartModelBinned,\n S as ChartModelCartesian,\n ft as ChoroplethModel,\n mt as CirclePackChartModel,\n vt as GaugeChartModel,\n xt as HeatmapModel,\n St as MeterChartModel,\n yt as PieChartModel,\n Tt as RadarChartModel,\n bt as TreeChartModel,\n Ot as TreemapChartModel,\n Gt as WordCloudModel\n};\n//# sourceMappingURL=index.mjs.map\n","import { select as m } from \"d3\";\nimport { a as fe, c as O, r as de, g as T, d as _ } from \"./color-scale-utils-2eb80bd2.mjs\";\nimport { _ as P, T as E, o as b } from \"./enums-a96ef472.mjs\";\nvar me = /\\s/;\nfunction ge(t) {\n for (var e = t.length; e-- && me.test(t.charAt(e)); )\n ;\n return e;\n}\nvar pe = /^\\s+/;\nfunction ye(t) {\n return t && t.slice(0, ge(t) + 1).replace(pe, \"\");\n}\nvar q = 0 / 0, we = /^[-+]0x[0-9a-f]+$/i, Se = /^0b[01]+$/i, Ee = /^0o[0-7]+$/i, be = parseInt;\nfunction j(t) {\n if (typeof t == \"number\")\n return t;\n if (fe(t))\n return q;\n if (O(t)) {\n var e = typeof t.valueOf == \"function\" ? t.valueOf() : t;\n t = O(e) ? e + \"\" : e;\n }\n if (typeof t != \"string\")\n return t === 0 ? t : +t;\n t = ye(t);\n var n = Se.test(t);\n return n || Ee.test(t) ? be(t.slice(2), n ? 2 : 8) : we.test(t) ? q : +t;\n}\nvar xe = function() {\n return de.Date.now();\n};\nconst M = xe;\nvar Re = \"Expected a function\", Ce = Math.max, Te = Math.min;\nfunction Ie(t, e, n) {\n var r, i, s, a, c, o, u = 0, f = !1, d = !1, h = !0;\n if (typeof t != \"function\")\n throw new TypeError(Re);\n e = j(e) || 0, O(n) && (f = !!n.leading, d = \"maxWait\" in n, s = d ? Ce(j(n.maxWait) || 0, e) : s, h = \"trailing\" in n ? !!n.trailing : h);\n function w(l) {\n var S = r, C = i;\n return r = i = void 0, u = l, a = t.apply(C, S), a;\n }\n function R(l) {\n return u = l, c = setTimeout(L, e), f ? w(l) : a;\n }\n function I(l) {\n var S = l - o, C = l - u, U = e - S;\n return d ? Te(U, s - C) : U;\n }\n function z(l) {\n var S = l - o, C = l - u;\n return o === void 0 || S >= e || S < 0 || d && C >= s;\n }\n function L() {\n var l = M();\n if (z(l))\n return G(l);\n c = setTimeout(L, I(l));\n }\n function G(l) {\n return c = void 0, h && r ? w(l) : (r = i = void 0, a);\n }\n function ue() {\n c !== void 0 && clearTimeout(c), u = 0, r = o = i = c = void 0;\n }\n function he() {\n return c === void 0 ? a : G(M());\n }\n function $() {\n var l = M(), S = z(l);\n if (r = arguments, i = this, o = l, S) {\n if (c === void 0)\n return R(o);\n if (d)\n return clearTimeout(c), c = setTimeout(L, e), w(o);\n }\n return c === void 0 && (c = setTimeout(L, e)), a;\n }\n return $.cancel = ue, $.flush = he, $;\n}\nfunction Le(t, e) {\n if (t.match(/^[a-z]+:\\/\\//i))\n return t;\n if (t.match(/^\\/\\//))\n return window.location.protocol + t;\n if (t.match(/^[a-z]+:/i))\n return t;\n const n = document.implementation.createHTMLDocument(), r = n.createElement(\"base\"), i = n.createElement(\"a\");\n return n.head.appendChild(r), n.body.appendChild(i), e && (r.href = e), i.href = t, i.href;\n}\nconst De = (() => {\n let t = 0;\n const e = () => (\n // eslint-disable-next-line no-bitwise\n `0000${(Math.random() * 36 ** 4 << 0).toString(36)}`.slice(-4)\n );\n return () => (t += 1, `u${e()}${t}`);\n})();\nfunction y(t) {\n const e = [];\n for (let n = 0, r = t.length; n < r; n++)\n e.push(t[n]);\n return e;\n}\nfunction v(t, e) {\n const r = (t.ownerDocument.defaultView || window).getComputedStyle(t).getPropertyValue(e);\n return r ? parseFloat(r.replace(\"px\", \"\")) : 0;\n}\nfunction ve(t) {\n const e = v(t, \"border-left-width\"), n = v(t, \"border-right-width\");\n return t.clientWidth + e + n;\n}\nfunction Ae(t) {\n const e = v(t, \"border-top-width\"), n = v(t, \"border-bottom-width\");\n return t.clientHeight + e + n;\n}\nfunction ee(t, e = {}) {\n const n = e.width || ve(t), r = e.height || Ae(t);\n return { width: n, height: r };\n}\nfunction Fe() {\n let t, e;\n try {\n e = process;\n } catch {\n }\n const n = e && e.env ? e.env.devicePixelRatio : null;\n return n && (t = parseInt(n, 10), Number.isNaN(t) && (t = 1)), t || window.devicePixelRatio || 1;\n}\nconst p = 16384;\nfunction $e(t) {\n (t.width > p || t.height > p) && (t.width > p && t.height > p ? t.width > t.height ? (t.height *= p / t.width, t.width = p) : (t.width *= p / t.height, t.height = p) : t.width > p ? (t.height *= p / t.width, t.width = p) : (t.width *= p / t.height, t.height = p));\n}\nfunction A(t) {\n return new Promise((e, n) => {\n const r = new Image();\n r.decode = () => e(r), r.onload = () => e(r), r.onerror = n, r.crossOrigin = \"anonymous\", r.decoding = \"async\", r.src = t;\n });\n}\nasync function Pe(t) {\n return Promise.resolve().then(() => new XMLSerializer().serializeToString(t)).then(encodeURIComponent).then((e) => `data:image/svg+xml;charset=utf-8,${e}`);\n}\nasync function Me(t, e, n) {\n const r = \"http://www.w3.org/2000/svg\", i = document.createElementNS(r, \"svg\"), s = document.createElementNS(r, \"foreignObject\");\n return i.setAttribute(\"width\", `${e}`), i.setAttribute(\"height\", `${n}`), i.setAttribute(\"viewBox\", `0 0 ${e} ${n}`), s.setAttribute(\"width\", \"100%\"), s.setAttribute(\"height\", \"100%\"), s.setAttribute(\"x\", \"0\"), s.setAttribute(\"y\", \"0\"), s.setAttribute(\"externalResourcesRequired\", \"true\"), i.appendChild(s), s.appendChild(t), Pe(i);\n}\nconst g = (t, e) => {\n if (t instanceof e)\n return !0;\n const n = Object.getPrototypeOf(t);\n return n === null ? !1 : n.constructor.name === e.name || g(n, e);\n};\nfunction He(t) {\n const e = t.getPropertyValue(\"content\");\n return `${t.cssText} content: '${e.replace(/'|\"/g, \"\")}';`;\n}\nfunction Oe(t) {\n return y(t).map((e) => {\n const n = t.getPropertyValue(e), r = t.getPropertyPriority(e);\n return `${e}: ${n}${r ? \" !important\" : \"\"};`;\n }).join(\" \");\n}\nfunction Be(t, e, n) {\n const r = `.${t}:${e}`, i = n.cssText ? He(n) : Oe(n);\n return document.createTextNode(`${r}{${i}}`);\n}\nfunction N(t, e, n) {\n const r = window.getComputedStyle(t, n), i = r.getPropertyValue(\"content\");\n if (i === \"\" || i === \"none\")\n return;\n const s = De();\n try {\n e.className = `${e.className} ${s}`;\n } catch {\n return;\n }\n const a = document.createElement(\"style\");\n a.appendChild(Be(s, n, r)), e.appendChild(a);\n}\nfunction ke(t, e) {\n N(t, e, \":before\"), N(t, e, \":after\");\n}\nconst X = \"application/font-woff\", J = \"image/jpeg\", Ve = {\n woff: X,\n woff2: X,\n ttf: \"application/font-truetype\",\n eot: \"application/vnd.ms-fontobject\",\n png: \"image/png\",\n jpg: J,\n jpeg: J,\n gif: \"image/gif\",\n tiff: \"image/tiff\",\n svg: \"image/svg+xml\",\n webp: \"image/webp\"\n};\nfunction We(t) {\n const e = /\\.([^./]*?)$/g.exec(t);\n return e ? e[1] : \"\";\n}\nfunction V(t) {\n const e = We(t).toLowerCase();\n return Ve[e] || \"\";\n}\nfunction ze(t) {\n return t.split(/,/)[1];\n}\nfunction B(t) {\n return t.search(/^(data:)/) !== -1;\n}\nfunction te(t, e) {\n return `data:${e};base64,${t}`;\n}\nasync function ne(t, e, n) {\n const r = await fetch(t, e);\n if (r.status === 404)\n throw new Error(`Resource \"${r.url}\" not found`);\n const i = await r.blob();\n return new Promise((s, a) => {\n const c = new FileReader();\n c.onerror = a, c.onloadend = () => {\n try {\n s(n({ res: r, result: c.result }));\n } catch (o) {\n a(o);\n }\n }, c.readAsDataURL(i);\n });\n}\nconst H = {};\nfunction Ge(t, e, n) {\n let r = t.replace(/\\?.*/, \"\");\n return n && (r = t), /ttf|otf|eot|woff2?/i.test(r) && (r = r.replace(/.*\\//, \"\")), e ? `[${e}]${r}` : r;\n}\nasync function W(t, e, n) {\n const r = Ge(t, e, n.includeQueryParams);\n if (H[r] != null)\n return H[r];\n n.cacheBust && (t += (/\\?/.test(t) ? \"&\" : \"?\") + (/* @__PURE__ */ new Date()).getTime());\n let i;\n try {\n const s = await ne(t, n.fetchRequestInit, ({ res: a, result: c }) => (e || (e = a.headers.get(\"Content-Type\") || \"\"), ze(c)));\n i = te(s, e);\n } catch (s) {\n i = n.imagePlaceholder || \"\";\n let a = `Failed to fetch resource: ${t}`;\n s && (a = typeof s == \"string\" ? s : s.message), a && console.warn(a);\n }\n return H[r] = i, i;\n}\nasync function Ue(t) {\n const e = t.toDataURL();\n return e === \"data:,\" ? t.cloneNode(!1) : A(e);\n}\nasync function _e(t, e) {\n if (t.currentSrc) {\n const s = document.createElement(\"canvas\"), a = s.getContext(\"2d\");\n s.width = t.clientWidth, s.height = t.clientHeight, a == null || a.drawImage(t, 0, 0, s.width, s.height);\n const c = s.toDataURL();\n return A(c);\n }\n const n = t.poster, r = V(n), i = await W(n, r, e);\n return A(i);\n}\nasync function qe(t) {\n var e;\n try {\n if (!((e = t == null ? void 0 : t.contentDocument) === null || e === void 0) && e.body)\n return await F(t.contentDocument.body, {}, !0);\n } catch {\n }\n return t.cloneNode(!1);\n}\nasync function je(t, e) {\n return g(t, HTMLCanvasElement) ? Ue(t) : g(t, HTMLVideoElement) ? _e(t, e) : g(t, HTMLIFrameElement) ? qe(t) : t.cloneNode(!1);\n}\nconst Ne = (t) => t.tagName != null && t.tagName.toUpperCase() === \"SLOT\";\nasync function Xe(t, e, n) {\n var r, i;\n let s = [];\n return Ne(t) && t.assignedNodes ? s = y(t.assignedNodes()) : g(t, HTMLIFrameElement) && (!((r = t.contentDocument) === null || r === void 0) && r.body) ? s = y(t.contentDocument.body.childNodes) : s = y(((i = t.shadowRoot) !== null && i !== void 0 ? i : t).childNodes), s.length === 0 || g(t, HTMLVideoElement) || await s.reduce((a, c) => a.then(() => F(c, n)).then((o) => {\n o && e.appendChild(o);\n }), Promise.resolve()), e;\n}\nfunction Je(t, e) {\n const n = e.style;\n if (!n)\n return;\n const r = window.getComputedStyle(t);\n r.cssText ? (n.cssText = r.cssText, n.transformOrigin = r.transformOrigin) : y(r).forEach((i) => {\n let s = r.getPropertyValue(i);\n i === \"font-size\" && s.endsWith(\"px\") && (s = `${Math.floor(parseFloat(s.substring(0, s.length - 2))) - 0.1}px`), g(t, HTMLIFrameElement) && i === \"display\" && s === \"inline\" && (s = \"block\"), i === \"d\" && e.getAttribute(\"d\") && (s = `path(${e.getAttribute(\"d\")})`), n.setProperty(i, s, r.getPropertyPriority(i));\n });\n}\nfunction Qe(t, e) {\n g(t, HTMLTextAreaElement) && (e.innerHTML = t.value), g(t, HTMLInputElement) && e.setAttribute(\"value\", t.value);\n}\nfunction Ye(t, e) {\n if (g(t, HTMLSelectElement)) {\n const n = e, r = Array.from(n.children).find((i) => t.value === i.getAttribute(\"value\"));\n r && r.setAttribute(\"selected\", \"\");\n }\n}\nfunction Ze(t, e) {\n return g(e, Element) && (Je(t, e), ke(t, e), Qe(t, e), Ye(t, e)), e;\n}\nasync function Ke(t, e) {\n const n = t.querySelectorAll ? t.querySelectorAll(\"use\") : [];\n if (n.length === 0)\n return t;\n const r = {};\n for (let s = 0; s < n.length; s++) {\n const c = n[s].getAttribute(\"xlink:href\");\n if (c) {\n const o = t.querySelector(c), u = document.querySelector(c);\n !o && u && !r[c] && (r[c] = await F(u, e, !0));\n }\n }\n const i = Object.values(r);\n if (i.length) {\n const s = \"http://www.w3.org/1999/xhtml\", a = document.createElementNS(s, \"svg\");\n a.setAttribute(\"xmlns\", s), a.style.position = \"absolute\", a.style.width = \"0\", a.style.height = \"0\", a.style.overflow = \"hidden\", a.style.display = \"none\";\n const c = document.createElementNS(s, \"defs\");\n a.appendChild(c);\n for (let o = 0; o < i.length; o++)\n c.appendChild(i[o]);\n t.appendChild(a);\n }\n return t;\n}\nasync function F(t, e, n) {\n return !n && e.filter && !e.filter(t) ? null : Promise.resolve(t).then((r) => je(r, e)).then((r) => Xe(t, r, e)).then((r) => Ze(t, r)).then((r) => Ke(r, e));\n}\nconst re = /url\\((['\"]?)([^'\"]+?)\\1\\)/g, et = /url\\([^)]+\\)\\s*format\\(([\"']?)([^\"']+)\\1\\)/g, tt = /src:\\s*(?:url\\([^)]+\\)\\s*format\\([^)]+\\)[,;]\\s*)+/g;\nfunction nt(t) {\n const e = t.replace(/([.*+?^${}()|\\[\\]\\/\\\\])/g, \"\\\\$1\");\n return new RegExp(`(url\\\\(['\"]?)(${e})(['\"]?\\\\))`, \"g\");\n}\nfunction rt(t) {\n const e = [];\n return t.replace(re, (n, r, i) => (e.push(i), n)), e.filter((n) => !B(n));\n}\nasync function it(t, e, n, r, i) {\n try {\n const s = n ? Le(e, n) : e, a = V(e);\n let c;\n if (i) {\n const o = await i(s);\n c = te(o, a);\n } else\n c = await W(s, a, r);\n return t.replace(nt(e), `$1${c}$3`);\n } catch {\n }\n return t;\n}\nfunction st(t, { preferredFontFormat: e }) {\n return e ? t.replace(tt, (n) => {\n for (; ; ) {\n const [r, , i] = et.exec(n) || [];\n if (!i)\n return \"\";\n if (i === e)\n return `src: ${r};`;\n }\n }) : t;\n}\nfunction ie(t) {\n return t.search(re) !== -1;\n}\nasync function se(t, e, n) {\n if (!ie(t))\n return t;\n const r = st(t, n);\n return rt(r).reduce((s, a) => s.then((c) => it(c, a, e, n)), Promise.resolve(r));\n}\nasync function D(t, e, n) {\n var r;\n const i = (r = e.style) === null || r === void 0 ? void 0 : r.getPropertyValue(t);\n if (i) {\n const s = await se(i, null, n);\n return e.style.setProperty(t, s, e.style.getPropertyPriority(t)), !0;\n }\n return !1;\n}\nasync function at(t, e) {\n await D(\"background\", t, e) || await D(\"background-image\", t, e), await D(\"mask\", t, e) || await D(\"mask-image\", t, e);\n}\nasync function ct(t, e) {\n const n = g(t, HTMLImageElement);\n if (!(n && !B(t.src)) && !(g(t, SVGImageElement) && !B(t.href.baseVal)))\n return;\n const r = n ? t.src : t.href.baseVal, i = await W(r, V(r), e);\n await new Promise((s, a) => {\n t.onload = s, t.onerror = a;\n const c = t;\n c.decode && (c.decode = s), c.loading === \"lazy\" && (c.loading = \"eager\"), n ? (t.srcset = \"\", t.src = i) : t.href.baseVal = i;\n });\n}\nasync function ot(t, e) {\n const r = y(t.childNodes).map((i) => ae(i, e));\n await Promise.all(r).then(() => t);\n}\nasync function ae(t, e) {\n g(t, Element) && (await at(t, e), await ct(t, e), await ot(t, e));\n}\nfunction lt(t, e) {\n const { style: n } = t;\n e.backgroundColor && (n.backgroundColor = e.backgroundColor), e.width && (n.width = `${e.width}px`), e.height && (n.height = `${e.height}px`);\n const r = e.style;\n return r != null && Object.keys(r).forEach((i) => {\n n[i] = r[i];\n }), t;\n}\nconst Q = {};\nasync function Y(t) {\n let e = Q[t];\n if (e != null)\n return e;\n const r = await (await fetch(t)).text();\n return e = { url: t, cssText: r }, Q[t] = e, e;\n}\nasync function Z(t, e) {\n let n = t.cssText;\n const r = /url\\([\"']?([^\"')]+)[\"']?\\)/g, s = (n.match(/url\\([^)]+\\)/g) || []).map(async (a) => {\n let c = a.replace(r, \"$1\");\n return c.startsWith(\"https://\") || (c = new URL(c, t.url).href), ne(c, e.fetchRequestInit, ({ result: o }) => (n = n.replace(a, `url(${o})`), [a, o]));\n });\n return Promise.all(s).then(() => n);\n}\nfunction K(t) {\n if (t == null)\n return [];\n const e = [], n = /(\\/\\*[\\s\\S]*?\\*\\/)/gi;\n let r = t.replace(n, \"\");\n const i = new RegExp(\"((@.*?keyframes [\\\\s\\\\S]*?){([\\\\s\\\\S]*?}\\\\s*?)})\", \"gi\");\n for (; ; ) {\n const o = i.exec(r);\n if (o === null)\n break;\n e.push(o[0]);\n }\n r = r.replace(i, \"\");\n const s = /@import[\\s\\S]*?url\\([^)]*\\)[\\s\\S]*?;/gi, a = \"((\\\\s*?(?:\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\/)?\\\\s*?@media[\\\\s\\\\S]*?){([\\\\s\\\\S]*?)}\\\\s*?})|(([\\\\s\\\\S]*?){([\\\\s\\\\S]*?)})\", c = new RegExp(a, \"gi\");\n for (; ; ) {\n let o = s.exec(r);\n if (o === null) {\n if (o = c.exec(r), o === null)\n break;\n s.lastIndex = c.lastIndex;\n } else\n c.lastIndex = s.lastIndex;\n e.push(o[0]);\n }\n return e;\n}\nasync function ut(t, e) {\n const n = [], r = [];\n return t.forEach((i) => {\n if (\"cssRules\" in i)\n try {\n y(i.cssRules || []).forEach((s, a) => {\n if (s.type === CSSRule.IMPORT_RULE) {\n let c = a + 1;\n const o = s.href, u = Y(o).then((f) => Z(f, e)).then((f) => K(f).forEach((d) => {\n try {\n i.insertRule(d, d.startsWith(\"@import\") ? c += 1 : i.cssRules.length);\n } catch (h) {\n console.error(\"Error inserting rule from remote css\", {\n rule: d,\n error: h\n });\n }\n })).catch((f) => {\n console.error(\"Error loading remote css\", f.toString());\n });\n r.push(u);\n }\n });\n } catch (s) {\n const a = t.find((c) => c.href == null) || document.styleSheets[0];\n i.href != null && r.push(Y(i.href).then((c) => Z(c, e)).then((c) => K(c).forEach((o) => {\n a.insertRule(o, i.cssRules.length);\n })).catch((c) => {\n console.error(\"Error loading remote stylesheet\", c);\n })), console.error(\"Error inlining remote css file\", s);\n }\n }), Promise.all(r).then(() => (t.forEach((i) => {\n if (\"cssRules\" in i)\n try {\n y(i.cssRules || []).forEach((s) => {\n n.push(s);\n });\n } catch (s) {\n console.error(`Error while reading CSS rules from ${i.href}`, s);\n }\n }), n));\n}\nfunction ht(t) {\n return t.filter((e) => e.type === CSSRule.FONT_FACE_RULE).filter((e) => ie(e.style.getPropertyValue(\"src\")));\n}\nasync function ft(t, e) {\n if (t.ownerDocument == null)\n throw new Error(\"Provided element is not within a Document\");\n const n = y(t.ownerDocument.styleSheets), r = await ut(n, e);\n return ht(r);\n}\nasync function dt(t, e) {\n const n = await ft(t, e);\n return (await Promise.all(n.map((i) => {\n const s = i.parentStyleSheet ? i.parentStyleSheet.href : null;\n return se(i.cssText, s, e);\n }))).join(`\n`);\n}\nasync function mt(t, e) {\n const n = e.fontEmbedCSS != null ? e.fontEmbedCSS : e.skipFonts ? null : await dt(t, e);\n if (n) {\n const r = document.createElement(\"style\"), i = document.createTextNode(n);\n r.appendChild(i), t.firstChild ? t.insertBefore(r, t.firstChild) : t.appendChild(r);\n }\n}\nasync function gt(t, e = {}) {\n const { width: n, height: r } = ee(t, e), i = await F(t, e, !0);\n return await mt(i, e), await ae(i, e), lt(i, e), await Me(i, n, r);\n}\nasync function ce(t, e = {}) {\n const { width: n, height: r } = ee(t, e), i = await gt(t, e), s = await A(i), a = document.createElement(\"canvas\"), c = a.getContext(\"2d\"), o = e.pixelRatio || Fe(), u = e.canvasWidth || n, f = e.canvasHeight || r;\n return a.width = u * o, a.height = f * o, e.skipAutoScale || $e(a), a.style.width = `${u}`, a.style.height = `${f}`, e.backgroundColor && (c.fillStyle = e.backgroundColor, c.fillRect(0, 0, a.width, a.height)), c.drawImage(s, 0, 0, a.width, a.height), a;\n}\nasync function pt(t, e = {}) {\n return (await ce(t, e)).toDataURL();\n}\nasync function yt(t, e = {}) {\n return (await ce(t, e)).toDataURL(\"image/jpeg\", e.quality || 1);\n}\nclass oe {\n constructor(e, n) {\n this.model = e, this.services = n, this.init();\n }\n init() {\n }\n update() {\n }\n // Used to pass down information to the components\n setModel(e) {\n this.model = e;\n }\n // Used to pass down services to the components\n setServices(e) {\n this.services = e;\n }\n}\nconst wt = \"DONT_STYLE_ME_css_styles_verifier\";\nclass k extends oe {\n // initialized in initializeID() called by init()\n constructor(e, n) {\n super(e, n), this.chartID = \"\";\n }\n static getHTMLElementSize(e) {\n return {\n width: e.clientWidth,\n height: e.clientHeight\n };\n }\n static getSVGElementSize(e, n = {\n useAttrs: !1,\n useClientDimensions: !1,\n useBBox: !1,\n useBoundingRect: !1\n }) {\n e.attr || (e = m(e));\n const r = {\n width: 0,\n height: 0\n }, i = (h) => {\n h && Object.keys(r).forEach((w) => {\n if (h[w]) {\n const R = h[w], I = parseFloat(R);\n R && I > r[w] && (\"\" + R).indexOf(\"%\") === -1 && (r[w] = I);\n }\n });\n }, s = {\n width: e.attr(\"width\"),\n height: e.attr(\"height\")\n }, a = e.node();\n let c, o, u, f;\n try {\n typeof a.getBBox == \"function\" && (c = a.getBBox(), o = {\n width: c.width,\n height: c.height\n });\n } catch (h) {\n console.error(h);\n }\n try {\n typeof (a == null ? void 0 : a.getBoundingClientRect) == \"function\" && (u = a.getBoundingClientRect(), f = {\n width: u.width,\n height: u.height\n });\n } catch (h) {\n console.error(h);\n }\n let d;\n if (a instanceof SVGSVGElement && (d = {\n width: a.clientWidth,\n height: a.clientHeight\n }), n) {\n if (n.useAttrs && (i(s), r.width > 0 && r.height > 0))\n return r;\n if (n.useClientDimensions && (i(d), r.width > 0 && r.height > 0))\n return d;\n if (n.useBBox && (i(o), r.width > 0 && r.height > 0))\n return o;\n if (n.useBoundingRect && (i(f), r.width > 0 && r.height > 0))\n return f;\n }\n try {\n const h = {\n width: T(e.node(), \"width\", \"baseVal\", \"value\"),\n height: T(e.node(), \"height\", \"baseVal\", \"value\")\n };\n i(h);\n } catch {\n i(d), i(o), i(s);\n }\n return r;\n }\n static appendOrSelect(e, n) {\n const r = e.select(`${n}`);\n if (r.empty()) {\n let i = n.split(\"#\"), s, a;\n return i.length === 2 ? (s = i[0], i = i[1].split(\".\"), a = i[0]) : (i = n.split(\".\"), s = i[0]), e.append(s).attr(\"id\", a).attr(\"class\", i.slice(1).join(\" \"));\n }\n return r;\n }\n init() {\n this.styleHolderElement(), this.initializeID(), this.addMainContainer(), this.model.getOptions().resizable && this.addResizeListener(), this.addHolderListeners(), this.handleFullscreenChange();\n }\n getChartID() {\n return this.chartID;\n }\n generateElementIDString(e) {\n return `chart-${this.chartID}-${e}`;\n }\n initializeID() {\n this.chartID = Math.floor((1 + Math.random()) * 281474976710656).toString(16);\n }\n addMainContainer() {\n const e = this.model.getOptions(), n = T(e, \"style\", \"prefix\"), r = m(this.getHolder()).append(\"div\").classed(`${_}--${n}--chart-wrapper`, !0).attr(\"id\", `chart-${this.getChartID()}`).style(\"height\", \"100%\").style(\"width\", \"100%\");\n r.append(\"g\").attr(\"class\", wt), this.mainContainer = r.node();\n }\n update() {\n this.styleHolderElement();\n }\n styleHolderElement() {\n const e = this.getHolder(), { width: n, height: r, theme: i } = this.model.getOptions();\n n !== this.width && (e.style.width = n, this.width = n), r !== this.height && (e.style.height = r, this.height = r), m(this.getHolder()).classed(`${_}--chart-holder`, !0).attr(\"data-carbon-theme\", i);\n }\n getHolder() {\n return this.model.get(\"holder\");\n }\n exportToJPG() {\n const e = this, n = this.model.getOptions(), r = this.getHolder(), i = m(r);\n i.classed(\"filled\", !0), yt(this.getMainContainer(), {\n quality: 1,\n // Remove toolbar\n filter: (s) => !(s.classList && s.classList.contains(\"cds--cc--toolbar\"))\n }).then(function(s) {\n var o;\n let a = \"myChart\";\n const c = T(\n n,\n \"fileDownload\",\n \"fileName\"\n );\n typeof c == \"function\" ? a = c(\"jpg\") : typeof c == \"string\" && (a = c), (o = e.services.files) == null || o.downloadImage(s, `${a}.jpg`), i.classed(\"filled\", !1);\n });\n }\n exportToPNG() {\n const e = this, n = this.model.getOptions(), r = this.getHolder(), i = m(r);\n i.classed(\"filled\", !0), pt(this.getMainContainer(), {\n quality: 1,\n // Remove toolbar\n filter: (s) => !(s.classList && s.classList.contains(\"cds--cc--toolbar\"))\n }).then(function(s) {\n var o;\n let a = \"myChart\";\n const c = T(\n n,\n \"fileDownload\",\n \"fileName\"\n );\n typeof c == \"function\" ? a = c(\"png\") : typeof c == \"string\" && (a = c), (o = e.services.files) == null || o.downloadImage(s, `${a}.png`), i.classed(\"filled\", !1);\n }).catch(function(s) {\n console.error(\"oops, something went wrong!\", s);\n });\n }\n toggleFullscreen() {\n const e = this.getHolder();\n m(e).classed(\"fullscreen\") && (document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement) ? document.exitFullscreen ? document.exitFullscreen() : document.webkitExitFullscreen ? document.webkitExitFullscreen() : document.mozCancelFullScreen ? document.mozCancelFullScreen() : document.msExitFullscreen && document.msExitFullscreen() : e.requestFullscreen ? e.requestFullscreen() : e.webkitRequestFullscreen ? e.webkitRequestFullscreen() : e.mozRequestFullScreen ? e.mozRequestFullScreen() : e.msRequestFullscreen && e.msRequestFullscreen();\n }\n handleFullscreenChange() {\n document.addEventListener(\"fullscreenchange\", () => {\n const e = m(this.getHolder()), n = e.classed(\"fullscreen\");\n e.classed(\"fullscreen\", !n);\n });\n }\n setSVGMaxHeight() {\n if (!this.model.getOptions().height) {\n const { height: e } = k.getSVGElementSize(\n m(this.mainContainer),\n {\n useBBox: !0\n }\n ), n = m(this.mainContainer).attr(\"class\"), r = m(this.mainContainer).selectAll(`.${n} > svg`);\n let i = 0;\n r.nodes().forEach(function(s) {\n i += Number(\n k.getSVGElementSize(m(s), {\n useBBox: !0\n }).height\n );\n }), i <= e ? m(this.mainContainer).attr(\"height\", i) : m(this.mainContainer).attr(\"height\", \"100%\");\n }\n }\n getMainContainer() {\n return this.mainContainer;\n }\n addHolderListeners() {\n const e = this.getHolder();\n e && m(e).on(\"mouseover\", () => {\n var n;\n (n = this.services.events) == null || n.dispatchEvent(P.Chart.MOUSEOVER);\n }).on(\"mouseout\", () => {\n var n;\n (n = this.services.events) == null || n.dispatchEvent(P.Chart.MOUSEOUT);\n });\n }\n addResizeListener() {\n const e = this.getHolder();\n if (!e)\n return;\n let n = e.clientWidth, r = e.clientHeight;\n const i = Ie(() => {\n var a;\n e && (Math.abs(n - e.clientWidth) > 1 || Math.abs(r - e.clientHeight) > 1) && (n = e.clientWidth, r = e.clientHeight, (a = this.services.events) == null || a.dispatchEvent(P.Chart.RESIZE));\n }, 12.5);\n new ResizeObserver(i).observe(e);\n }\n}\nclass le extends oe {\n static appendOrUpdateLinearGradient(e) {\n let n = e.svg.select(`defs linearGradient#${e.id}`);\n n.empty() && (n = e.svg.append(\"defs\").append(\"linearGradient\").attr(\"id\", e.id).attr(\"x1\", e.x1).attr(\"x2\", e.x2).attr(\"y1\", e.y1).attr(\"y2\", e.y2)), n.selectAll(\"stop\").remove(), n.selectAll(\"stop\").data(e.stops).enter().append(\"stop\").attr(\"offset\", (r) => r.offset).style(\"stop-color\", (r) => r.color).style(\"stop-opacity\", (r) => r.opacity);\n }\n static getOffsetRatio(e) {\n return (Math.abs(e[1]) * 100 / Math.abs(e[0] - e[1])).toFixed(2) + \"%\";\n }\n static getStops(e, n) {\n const r = e[0] < 0 && e[1] > 0;\n let i = [\n {\n offset: \"0%\",\n color: n,\n opacity: \"0.6\"\n },\n {\n offset: \"80%\",\n color: n,\n opacity: \"0\"\n }\n ];\n return r && (i = [\n {\n offset: \"0%\",\n color: n,\n opacity: \"0.6\"\n },\n {\n offset: le.getOffsetRatio(e),\n color: n,\n opacity: \"0\"\n },\n {\n offset: \"100%\",\n color: n,\n opacity: \"0.6\"\n }\n ]), i;\n }\n}\nfunction Ct(t) {\n const e = St(Et(t), 360);\n return x(e, [0, 10]) || x(e, [350, 0]) ? {\n textAnchor: E.START,\n dominantBaseline: b.MIDDLE\n } : x(e, [10, 80]) ? {\n textAnchor: E.START,\n dominantBaseline: b.HANGING\n } : x(e, [80, 100]) ? {\n textAnchor: E.MIDDLE,\n dominantBaseline: b.HANGING\n } : x(e, [100, 170]) ? {\n textAnchor: E.END,\n dominantBaseline: b.HANGING\n } : x(e, [170, 190]) ? {\n textAnchor: E.END,\n dominantBaseline: b.MIDDLE\n } : x(e, [190, 260]) ? {\n textAnchor: E.END,\n dominantBaseline: b.BASELINE\n } : x(e, [260, 280]) ? {\n textAnchor: E.MIDDLE,\n dominantBaseline: b.BASELINE\n } : {\n textAnchor: E.START,\n dominantBaseline: b.BASELINE\n };\n}\nfunction St(t, e) {\n return (t % e + e) % e;\n}\nfunction x(t, [e, n]) {\n return t >= e && t <= n;\n}\nfunction Et(t) {\n return t * (180 / Math.PI);\n}\nfunction Tt(t) {\n return t * (Math.PI / 180);\n}\nfunction It(t, e, n = { x: 0, y: 0 }) {\n const r = e * Math.cos(t) + n.x, i = e * Math.sin(t) + n.y;\n return { x: isNaN(r) ? 0 : r, y: isNaN(i) ? 0 : i };\n}\nfunction Lt(t, e) {\n return e * Math.sin(t - Math.PI / 2);\n}\nexport {\n k as D,\n le as G,\n oe as S,\n Lt as a,\n Et as b,\n Ie as c,\n Tt as d,\n It as p,\n Ct as r,\n j as t\n};\n//# sourceMappingURL=angle-utils-8034b0e5.mjs.map\n","export default function max(values, valueof) {\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n }\n return max;\n}\n","export default function min(values, valueof) {\n let min;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n }\n return min;\n}\n","export default function sum(values, valueof) {\n let sum = 0;\n if (valueof === undefined) {\n for (let value of values) {\n if (value = +value) {\n sum += value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if (value = +valueof(value, ++index, values)) {\n sum += value;\n }\n }\n }\n return sum;\n}\n","import {min} from \"d3-array\";\n\nfunction targetDepth(d) {\n return d.target.depth;\n}\n\nexport function left(node) {\n return node.depth;\n}\n\nexport function right(node, n) {\n return n - 1 - node.height;\n}\n\nexport function justify(node, n) {\n return node.sourceLinks.length ? node.depth : n - 1;\n}\n\nexport function center(node) {\n return node.targetLinks.length ? node.depth\n : node.sourceLinks.length ? min(node.sourceLinks, targetDepth) - 1\n : 0;\n}\n","export default function constant(x) {\n return function() {\n return x;\n };\n}\n","import {max, min, sum} from \"d3-array\";\nimport {justify} from \"./align.js\";\nimport constant from \"./constant.js\";\n\nfunction ascendingSourceBreadth(a, b) {\n return ascendingBreadth(a.source, b.source) || a.index - b.index;\n}\n\nfunction ascendingTargetBreadth(a, b) {\n return ascendingBreadth(a.target, b.target) || a.index - b.index;\n}\n\nfunction ascendingBreadth(a, b) {\n return a.y0 - b.y0;\n}\n\nfunction value(d) {\n return d.value;\n}\n\nfunction defaultId(d) {\n return d.index;\n}\n\nfunction defaultNodes(graph) {\n return graph.nodes;\n}\n\nfunction defaultLinks(graph) {\n return graph.links;\n}\n\nfunction find(nodeById, id) {\n const node = nodeById.get(id);\n if (!node) throw new Error(\"missing: \" + id);\n return node;\n}\n\nfunction computeLinkBreadths({nodes}) {\n for (const node of nodes) {\n let y0 = node.y0;\n let y1 = y0;\n for (const link of node.sourceLinks) {\n link.y0 = y0 + link.width / 2;\n y0 += link.width;\n }\n for (const link of node.targetLinks) {\n link.y1 = y1 + link.width / 2;\n y1 += link.width;\n }\n }\n}\n\nexport default function Sankey() {\n let x0 = 0, y0 = 0, x1 = 1, y1 = 1; // extent\n let dx = 24; // nodeWidth\n let dy = 8, py; // nodePadding\n let id = defaultId;\n let align = justify;\n let sort;\n let linkSort;\n let nodes = defaultNodes;\n let links = defaultLinks;\n let iterations = 6;\n\n function sankey() {\n const graph = {nodes: nodes.apply(null, arguments), links: links.apply(null, arguments)};\n computeNodeLinks(graph);\n computeNodeValues(graph);\n computeNodeDepths(graph);\n computeNodeHeights(graph);\n computeNodeBreadths(graph);\n computeLinkBreadths(graph);\n return graph;\n }\n\n sankey.update = function(graph) {\n computeLinkBreadths(graph);\n return graph;\n };\n\n sankey.nodeId = function(_) {\n return arguments.length ? (id = typeof _ === \"function\" ? _ : constant(_), sankey) : id;\n };\n\n sankey.nodeAlign = function(_) {\n return arguments.length ? (align = typeof _ === \"function\" ? _ : constant(_), sankey) : align;\n };\n\n sankey.nodeSort = function(_) {\n return arguments.length ? (sort = _, sankey) : sort;\n };\n\n sankey.nodeWidth = function(_) {\n return arguments.length ? (dx = +_, sankey) : dx;\n };\n\n sankey.nodePadding = function(_) {\n return arguments.length ? (dy = py = +_, sankey) : dy;\n };\n\n sankey.nodes = function(_) {\n return arguments.length ? (nodes = typeof _ === \"function\" ? _ : constant(_), sankey) : nodes;\n };\n\n sankey.links = function(_) {\n return arguments.length ? (links = typeof _ === \"function\" ? _ : constant(_), sankey) : links;\n };\n\n sankey.linkSort = function(_) {\n return arguments.length ? (linkSort = _, sankey) : linkSort;\n };\n\n sankey.size = function(_) {\n return arguments.length ? (x0 = y0 = 0, x1 = +_[0], y1 = +_[1], sankey) : [x1 - x0, y1 - y0];\n };\n\n sankey.extent = function(_) {\n return arguments.length ? (x0 = +_[0][0], x1 = +_[1][0], y0 = +_[0][1], y1 = +_[1][1], sankey) : [[x0, y0], [x1, y1]];\n };\n\n sankey.iterations = function(_) {\n return arguments.length ? (iterations = +_, sankey) : iterations;\n };\n\n function computeNodeLinks({nodes, links}) {\n for (const [i, node] of nodes.entries()) {\n node.index = i;\n node.sourceLinks = [];\n node.targetLinks = [];\n }\n const nodeById = new Map(nodes.map((d, i) => [id(d, i, nodes), d]));\n for (const [i, link] of links.entries()) {\n link.index = i;\n let {source, target} = link;\n if (typeof source !== \"object\") source = link.source = find(nodeById, source);\n if (typeof target !== \"object\") target = link.target = find(nodeById, target);\n source.sourceLinks.push(link);\n target.targetLinks.push(link);\n }\n if (linkSort != null) {\n for (const {sourceLinks, targetLinks} of nodes) {\n sourceLinks.sort(linkSort);\n targetLinks.sort(linkSort);\n }\n }\n }\n\n function computeNodeValues({nodes}) {\n for (const node of nodes) {\n node.value = node.fixedValue === undefined\n ? Math.max(sum(node.sourceLinks, value), sum(node.targetLinks, value))\n : node.fixedValue;\n }\n }\n\n function computeNodeDepths({nodes}) {\n const n = nodes.length;\n let current = new Set(nodes);\n let next = new Set;\n let x = 0;\n while (current.size) {\n for (const node of current) {\n node.depth = x;\n for (const {target} of node.sourceLinks) {\n next.add(target);\n }\n }\n if (++x > n) throw new Error(\"circular link\");\n current = next;\n next = new Set;\n }\n }\n\n function computeNodeHeights({nodes}) {\n const n = nodes.length;\n let current = new Set(nodes);\n let next = new Set;\n let x = 0;\n while (current.size) {\n for (const node of current) {\n node.height = x;\n for (const {source} of node.targetLinks) {\n next.add(source);\n }\n }\n if (++x > n) throw new Error(\"circular link\");\n current = next;\n next = new Set;\n }\n }\n\n function computeNodeLayers({nodes}) {\n const x = max(nodes, d => d.depth) + 1;\n const kx = (x1 - x0 - dx) / (x - 1);\n const columns = new Array(x);\n for (const node of nodes) {\n const i = Math.max(0, Math.min(x - 1, Math.floor(align.call(null, node, x))));\n node.layer = i;\n node.x0 = x0 + i * kx;\n node.x1 = node.x0 + dx;\n if (columns[i]) columns[i].push(node);\n else columns[i] = [node];\n }\n if (sort) for (const column of columns) {\n column.sort(sort);\n }\n return columns;\n }\n\n function initializeNodeBreadths(columns) {\n const ky = min(columns, c => (y1 - y0 - (c.length - 1) * py) / sum(c, value));\n for (const nodes of columns) {\n let y = y0;\n for (const node of nodes) {\n node.y0 = y;\n node.y1 = y + node.value * ky;\n y = node.y1 + py;\n for (const link of node.sourceLinks) {\n link.width = link.value * ky;\n }\n }\n y = (y1 - y + py) / (nodes.length + 1);\n for (let i = 0; i < nodes.length; ++i) {\n const node = nodes[i];\n node.y0 += y * (i + 1);\n node.y1 += y * (i + 1);\n }\n reorderLinks(nodes);\n }\n }\n\n function computeNodeBreadths(graph) {\n const columns = computeNodeLayers(graph);\n py = Math.min(dy, (y1 - y0) / (max(columns, c => c.length) - 1));\n initializeNodeBreadths(columns);\n for (let i = 0; i < iterations; ++i) {\n const alpha = Math.pow(0.99, i);\n const beta = Math.max(1 - alpha, (i + 1) / iterations);\n relaxRightToLeft(columns, alpha, beta);\n relaxLeftToRight(columns, alpha, beta);\n }\n }\n\n // Reposition each node based on its incoming (target) links.\n function relaxLeftToRight(columns, alpha, beta) {\n for (let i = 1, n = columns.length; i < n; ++i) {\n const column = columns[i];\n for (const target of column) {\n let y = 0;\n let w = 0;\n for (const {source, value} of target.targetLinks) {\n let v = value * (target.layer - source.layer);\n y += targetTop(source, target) * v;\n w += v;\n }\n if (!(w > 0)) continue;\n let dy = (y / w - target.y0) * alpha;\n target.y0 += dy;\n target.y1 += dy;\n reorderNodeLinks(target);\n }\n if (sort === undefined) column.sort(ascendingBreadth);\n resolveCollisions(column, beta);\n }\n }\n\n // Reposition each node based on its outgoing (source) links.\n function relaxRightToLeft(columns, alpha, beta) {\n for (let n = columns.length, i = n - 2; i >= 0; --i) {\n const column = columns[i];\n for (const source of column) {\n let y = 0;\n let w = 0;\n for (const {target, value} of source.sourceLinks) {\n let v = value * (target.layer - source.layer);\n y += sourceTop(source, target) * v;\n w += v;\n }\n if (!(w > 0)) continue;\n let dy = (y / w - source.y0) * alpha;\n source.y0 += dy;\n source.y1 += dy;\n reorderNodeLinks(source);\n }\n if (sort === undefined) column.sort(ascendingBreadth);\n resolveCollisions(column, beta);\n }\n }\n\n function resolveCollisions(nodes, alpha) {\n const i = nodes.length >> 1;\n const subject = nodes[i];\n resolveCollisionsBottomToTop(nodes, subject.y0 - py, i - 1, alpha);\n resolveCollisionsTopToBottom(nodes, subject.y1 + py, i + 1, alpha);\n resolveCollisionsBottomToTop(nodes, y1, nodes.length - 1, alpha);\n resolveCollisionsTopToBottom(nodes, y0, 0, alpha);\n }\n\n // Push any overlapping nodes down.\n function resolveCollisionsTopToBottom(nodes, y, i, alpha) {\n for (; i < nodes.length; ++i) {\n const node = nodes[i];\n const dy = (y - node.y0) * alpha;\n if (dy > 1e-6) node.y0 += dy, node.y1 += dy;\n y = node.y1 + py;\n }\n }\n\n // Push any overlapping nodes up.\n function resolveCollisionsBottomToTop(nodes, y, i, alpha) {\n for (; i >= 0; --i) {\n const node = nodes[i];\n const dy = (node.y1 - y) * alpha;\n if (dy > 1e-6) node.y0 -= dy, node.y1 -= dy;\n y = node.y0 - py;\n }\n }\n\n function reorderNodeLinks({sourceLinks, targetLinks}) {\n if (linkSort === undefined) {\n for (const {source: {sourceLinks}} of targetLinks) {\n sourceLinks.sort(ascendingTargetBreadth);\n }\n for (const {target: {targetLinks}} of sourceLinks) {\n targetLinks.sort(ascendingSourceBreadth);\n }\n }\n }\n\n function reorderLinks(nodes) {\n if (linkSort === undefined) {\n for (const {sourceLinks, targetLinks} of nodes) {\n sourceLinks.sort(ascendingTargetBreadth);\n targetLinks.sort(ascendingSourceBreadth);\n }\n }\n }\n\n // Returns the target.y0 that would produce an ideal link from source to target.\n function targetTop(source, target) {\n let y = source.y0 - (source.sourceLinks.length - 1) * py / 2;\n for (const {target: node, width} of source.sourceLinks) {\n if (node === target) break;\n y += width + py;\n }\n for (const {source: node, width} of target.targetLinks) {\n if (node === source) break;\n y -= width;\n }\n return y;\n }\n\n // Returns the source.y0 that would produce an ideal link from source to target.\n function sourceTop(source, target) {\n let y = target.y0 - (target.targetLinks.length - 1) * py / 2;\n for (const {source: node, width} of target.targetLinks) {\n if (node === source) break;\n y += width + py;\n }\n for (const {target: node, width} of source.sourceLinks) {\n if (node === target) break;\n y -= width;\n }\n return y;\n }\n\n return sankey;\n}\n","var pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\n\nfunction path() {\n return new Path;\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + (+x1) + \",\" + (+y1) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + (+x1) + \",\" + (+y1) + \",\" + (+x2) + \",\" + (+y2) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + (+(y01 * x20 > x01 * y20)) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + (+(da >= pi)) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + (+w) + \"v\" + (+h) + \"h\" + (-w) + \"Z\";\n },\n toString: function() {\n return this._;\n }\n};\n\nexport default path;\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n","export var slice = Array.prototype.slice;\n","import {path} from \"d3-path\";\nimport {slice} from \"../array.js\";\nimport constant from \"../constant.js\";\nimport {x as pointX, y as pointY} from \"../point.js\";\nimport pointRadial from \"../pointRadial.js\";\n\nfunction linkSource(d) {\n return d.source;\n}\n\nfunction linkTarget(d) {\n return d.target;\n}\n\nfunction link(curve) {\n var source = linkSource,\n target = linkTarget,\n x = pointX,\n y = pointY,\n context = null;\n\n function link() {\n var buffer, argv = slice.call(arguments), s = source.apply(this, argv), t = target.apply(this, argv);\n if (!context) context = buffer = path();\n curve(context, +x.apply(this, (argv[0] = s, argv)), +y.apply(this, argv), +x.apply(this, (argv[0] = t, argv)), +y.apply(this, argv));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n link.source = function(_) {\n return arguments.length ? (source = _, link) : source;\n };\n\n link.target = function(_) {\n return arguments.length ? (target = _, link) : target;\n };\n\n link.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), link) : x;\n };\n\n link.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), link) : y;\n };\n\n link.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), link) : context;\n };\n\n return link;\n}\n\nfunction curveHorizontal(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0 = (x0 + x1) / 2, y0, x0, y1, x1, y1);\n}\n\nfunction curveVertical(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0, y0 = (y0 + y1) / 2, x1, y0, x1, y1);\n}\n\nfunction curveRadial(context, x0, y0, x1, y1) {\n var p0 = pointRadial(x0, y0),\n p1 = pointRadial(x0, y0 = (y0 + y1) / 2),\n p2 = pointRadial(x1, y0),\n p3 = pointRadial(x1, y1);\n context.moveTo(p0[0], p0[1]);\n context.bezierCurveTo(p1[0], p1[1], p2[0], p2[1], p3[0], p3[1]);\n}\n\nexport function linkHorizontal() {\n return link(curveHorizontal);\n}\n\nexport function linkVertical() {\n return link(curveVertical);\n}\n\nexport function linkRadial() {\n var l = link(curveRadial);\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n return l;\n}\n","import {linkHorizontal} from \"d3-shape\";\n\nfunction horizontalSource(d) {\n return [d.source.x1, d.y0];\n}\n\nfunction horizontalTarget(d) {\n return [d.target.x0, d.y1];\n}\n\nexport default function() {\n return linkHorizontal()\n .source(horizontalSource)\n .target(horizontalTarget);\n}\n","var noop = {value: function() {}};\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","// Word cloud layout by Jason Davies, https://www.jasondavies.com/wordcloud/\n// Algorithm due to Jonathan Feinberg, https://s3.amazonaws.com/static.mrfeinberg.com/bv_ch03.pdf\n\nconst dispatch = require(\"d3-dispatch\").dispatch;\n\nconst RADIANS = Math.PI / 180;\n\nconst SPIRALS = {\n archimedean: archimedeanSpiral,\n rectangular: rectangularSpiral\n};\n\nconst cw = 1 << 11 >> 5;\nconst ch = 1 << 11;\n\nmodule.exports = function() {\n var size = [256, 256],\n text = cloudText,\n font = cloudFont,\n fontSize = cloudFontSize,\n fontStyle = cloudFontNormal,\n fontWeight = cloudFontNormal,\n rotate = cloudRotate,\n padding = cloudPadding,\n spiral = archimedeanSpiral,\n words = [],\n timeInterval = Infinity,\n event = dispatch(\"word\", \"end\"),\n timer = null,\n random = Math.random,\n cloud = {},\n canvas = cloudCanvas;\n\n cloud.canvas = function(_) {\n return arguments.length ? (canvas = functor(_), cloud) : canvas;\n };\n\n cloud.start = function() {\n var contextAndRatio = getContext(canvas()),\n board = zeroArray((size[0] >> 5) * size[1]),\n bounds = null,\n n = words.length,\n i = -1,\n tags = [],\n data = words.map(function(d, i) {\n d.text = text.call(this, d, i);\n d.font = font.call(this, d, i);\n d.style = fontStyle.call(this, d, i);\n d.weight = fontWeight.call(this, d, i);\n d.rotate = rotate.call(this, d, i);\n d.size = ~~fontSize.call(this, d, i);\n d.padding = padding.call(this, d, i);\n return d;\n }).sort(function(a, b) { return b.size - a.size; });\n\n if (timer) clearInterval(timer);\n timer = setInterval(step, 0);\n step();\n\n return cloud;\n\n function step() {\n var start = Date.now();\n while (Date.now() - start < timeInterval && ++i < n && timer) {\n var d = data[i];\n d.x = (size[0] * (random() + .5)) >> 1;\n d.y = (size[1] * (random() + .5)) >> 1;\n cloudSprite(contextAndRatio, d, data, i);\n if (d.hasText && place(board, d, bounds)) {\n tags.push(d);\n event.call(\"word\", cloud, d);\n if (bounds) cloudBounds(bounds, d);\n else bounds = [{x: d.x + d.x0, y: d.y + d.y0}, {x: d.x + d.x1, y: d.y + d.y1}];\n // Temporary hack\n d.x -= size[0] >> 1;\n d.y -= size[1] >> 1;\n }\n }\n if (i >= n) {\n cloud.stop();\n event.call(\"end\", cloud, tags, bounds);\n }\n }\n }\n\n cloud.stop = function() {\n if (timer) {\n clearInterval(timer);\n timer = null;\n }\n for (const d of words) {\n delete d.sprite;\n }\n return cloud;\n };\n\n function getContext(canvas) {\n const context = canvas.getContext(\"2d\", {willReadFrequently: true});\n\n canvas.width = canvas.height = 1;\n const ratio = Math.sqrt(context.getImageData(0, 0, 1, 1).data.length >> 2);\n canvas.width = (cw << 5) / ratio;\n canvas.height = ch / ratio;\n\n context.fillStyle = context.strokeStyle = \"red\";\n\n return {context, ratio};\n }\n\n function place(board, tag, bounds) {\n var perimeter = [{x: 0, y: 0}, {x: size[0], y: size[1]}],\n startX = tag.x,\n startY = tag.y,\n maxDelta = Math.sqrt(size[0] * size[0] + size[1] * size[1]),\n s = spiral(size),\n dt = random() < .5 ? 1 : -1,\n t = -dt,\n dxdy,\n dx,\n dy;\n\n while (dxdy = s(t += dt)) {\n dx = ~~dxdy[0];\n dy = ~~dxdy[1];\n\n if (Math.min(Math.abs(dx), Math.abs(dy)) >= maxDelta) break;\n\n tag.x = startX + dx;\n tag.y = startY + dy;\n\n if (tag.x + tag.x0 < 0 || tag.y + tag.y0 < 0 ||\n tag.x + tag.x1 > size[0] || tag.y + tag.y1 > size[1]) continue;\n // TODO only check for collisions within current bounds.\n if (!bounds || collideRects(tag, bounds)) {\n if (!cloudCollide(tag, board, size[0])) {\n var sprite = tag.sprite,\n w = tag.width >> 5,\n sw = size[0] >> 5,\n lx = tag.x - (w << 4),\n sx = lx & 0x7f,\n msx = 32 - sx,\n h = tag.y1 - tag.y0,\n x = (tag.y + tag.y0) * sw + (lx >> 5),\n last;\n for (var j = 0; j < h; j++) {\n last = 0;\n for (var i = 0; i <= w; i++) {\n board[x + i] |= (last << msx) | (i < w ? (last = sprite[j * w + i]) >>> sx : 0);\n }\n x += sw;\n }\n return true;\n }\n }\n }\n return false;\n }\n\n cloud.timeInterval = function(_) {\n return arguments.length ? (timeInterval = _ == null ? Infinity : _, cloud) : timeInterval;\n };\n\n cloud.words = function(_) {\n return arguments.length ? (words = _, cloud) : words;\n };\n\n cloud.size = function(_) {\n return arguments.length ? (size = [+_[0], +_[1]], cloud) : size;\n };\n\n cloud.font = function(_) {\n return arguments.length ? (font = functor(_), cloud) : font;\n };\n\n cloud.fontStyle = function(_) {\n return arguments.length ? (fontStyle = functor(_), cloud) : fontStyle;\n };\n\n cloud.fontWeight = function(_) {\n return arguments.length ? (fontWeight = functor(_), cloud) : fontWeight;\n };\n\n cloud.rotate = function(_) {\n return arguments.length ? (rotate = functor(_), cloud) : rotate;\n };\n\n cloud.text = function(_) {\n return arguments.length ? (text = functor(_), cloud) : text;\n };\n\n cloud.spiral = function(_) {\n return arguments.length ? (spiral = SPIRALS[_] || _, cloud) : spiral;\n };\n\n cloud.fontSize = function(_) {\n return arguments.length ? (fontSize = functor(_), cloud) : fontSize;\n };\n\n cloud.padding = function(_) {\n return arguments.length ? (padding = functor(_), cloud) : padding;\n };\n\n cloud.random = function(_) {\n return arguments.length ? (random = _, cloud) : random;\n };\n\n cloud.on = function() {\n var value = event.on.apply(event, arguments);\n return value === event ? cloud : value;\n };\n\n return cloud;\n};\n\nfunction cloudText(d) {\n return d.text;\n}\n\nfunction cloudFont() {\n return \"serif\";\n}\n\nfunction cloudFontNormal() {\n return \"normal\";\n}\n\nfunction cloudFontSize(d) {\n return Math.sqrt(d.value);\n}\n\nfunction cloudRotate() {\n return (~~(random() * 6) - 3) * 30;\n}\n\nfunction cloudPadding() {\n return 1;\n}\n\n// Fetches a monochrome sprite bitmap for the specified text.\n// Load in batches for speed.\nfunction cloudSprite(contextAndRatio, d, data, di) {\n if (d.sprite) return;\n var c = contextAndRatio.context,\n ratio = contextAndRatio.ratio;\n\n c.clearRect(0, 0, (cw << 5) / ratio, ch / ratio);\n var x = 0,\n y = 0,\n maxh = 0,\n n = data.length;\n --di;\n while (++di < n) {\n d = data[di];\n c.save();\n c.font = d.style + \" \" + d.weight + \" \" + ~~((d.size + 1) / ratio) + \"px \" + d.font;\n const metrics = c.measureText(d.text);\n const anchor = -Math.floor(metrics.width / 2);\n let w = (metrics.width + 1) * ratio;\n let h = d.size << 1;\n if (d.rotate) {\n var sr = Math.sin(d.rotate * RADIANS),\n cr = Math.cos(d.rotate * RADIANS),\n wcr = w * cr,\n wsr = w * sr,\n hcr = h * cr,\n hsr = h * sr;\n w = (Math.max(Math.abs(wcr + hsr), Math.abs(wcr - hsr)) + 0x1f) >> 5 << 5;\n h = ~~Math.max(Math.abs(wsr + hcr), Math.abs(wsr - hcr));\n } else {\n w = (w + 0x1f) >> 5 << 5;\n }\n if (h > maxh) maxh = h;\n if (x + w >= (cw << 5)) {\n x = 0;\n y += maxh;\n maxh = 0;\n }\n if (y + h >= ch) break;\n c.translate((x + (w >> 1)) / ratio, (y + (h >> 1)) / ratio);\n if (d.rotate) c.rotate(d.rotate * RADIANS);\n c.fillText(d.text, anchor, 0);\n if (d.padding) c.lineWidth = 2 * d.padding, c.strokeText(d.text, anchor, 0);\n c.restore();\n d.width = w;\n d.height = h;\n d.xoff = x;\n d.yoff = y;\n d.x1 = w >> 1;\n d.y1 = h >> 1;\n d.x0 = -d.x1;\n d.y0 = -d.y1;\n d.hasText = true;\n x += w;\n }\n var pixels = c.getImageData(0, 0, (cw << 5) / ratio, ch / ratio).data,\n sprite = [];\n while (--di >= 0) {\n d = data[di];\n if (!d.hasText) continue;\n var w = d.width,\n w32 = w >> 5,\n h = d.y1 - d.y0;\n // Zero the buffer\n for (var i = 0; i < h * w32; i++) sprite[i] = 0;\n x = d.xoff;\n if (x == null) return;\n y = d.yoff;\n var seen = 0,\n seenRow = -1;\n for (var j = 0; j < h; j++) {\n for (var i = 0; i < w; i++) {\n var k = w32 * j + (i >> 5),\n m = pixels[((y + j) * (cw << 5) + (x + i)) << 2] ? 1 << (31 - (i % 32)) : 0;\n sprite[k] |= m;\n seen |= m;\n }\n if (seen) seenRow = j;\n else {\n d.y0++;\n h--;\n j--;\n y++;\n }\n }\n d.y1 = d.y0 + seenRow;\n d.sprite = sprite.slice(0, (d.y1 - d.y0) * w32);\n }\n}\n\n// Use mask-based collision detection.\nfunction cloudCollide(tag, board, sw) {\n sw >>= 5;\n var sprite = tag.sprite,\n w = tag.width >> 5,\n lx = tag.x - (w << 4),\n sx = lx & 0x7f,\n msx = 32 - sx,\n h = tag.y1 - tag.y0,\n x = (tag.y + tag.y0) * sw + (lx >> 5),\n last;\n for (var j = 0; j < h; j++) {\n last = 0;\n for (var i = 0; i <= w; i++) {\n if (((last << msx) | (i < w ? (last = sprite[j * w + i]) >>> sx : 0))\n & board[x + i]) return true;\n }\n x += sw;\n }\n return false;\n}\n\nfunction cloudBounds(bounds, d) {\n var b0 = bounds[0],\n b1 = bounds[1];\n if (d.x + d.x0 < b0.x) b0.x = d.x + d.x0;\n if (d.y + d.y0 < b0.y) b0.y = d.y + d.y0;\n if (d.x + d.x1 > b1.x) b1.x = d.x + d.x1;\n if (d.y + d.y1 > b1.y) b1.y = d.y + d.y1;\n}\n\nfunction collideRects(a, b) {\n return a.x + a.x1 > b[0].x && a.x + a.x0 < b[1].x && a.y + a.y1 > b[0].y && a.y + a.y0 < b[1].y;\n}\n\nfunction archimedeanSpiral(size) {\n var e = size[0] / size[1];\n return function(t) {\n return [e * (t *= .1) * Math.cos(t), t * Math.sin(t)];\n };\n}\n\nfunction rectangularSpiral(size) {\n var dy = 4,\n dx = dy * size[0] / size[1],\n x = 0,\n y = 0;\n return function(t) {\n var sign = t < 0 ? -1 : 1;\n // See triangular numbers: T_n = n * (n + 1) / 2.\n switch ((Math.sqrt(1 + 4 * sign * t) - sign) & 3) {\n case 0: x += dx; break;\n case 1: y += dy; break;\n case 2: x -= dx; break;\n default: y -= dy; break;\n }\n return [x, y];\n };\n}\n\n// TODO reuse arrays?\nfunction zeroArray(n) {\n var a = [],\n i = -1;\n while (++i < n) a[i] = 0;\n return a;\n}\n\nfunction cloudCanvas() {\n return document.createElement(\"canvas\");\n}\n\nfunction functor(d) {\n return typeof d === \"function\" ? d : function() { return d; };\n}\n","import { select as x, pointer as Je, brushX as ms, scaleTime as qs, extent as Qe, area as It, line as Rt, axisBottom as Dt, axisLeft as fs, axisTop as Ks, axisRight as Js, scaleLinear as Oe, arc as $e, easeLinear as Qs, path as _t, interpolateNumber as vs, quantize as en, scaleBand as Pt, hierarchy as Vt, pack as tn, pie as sn, interpolate as nn, interpolateRound as an, min as ut, max as Ht, lineRadial as rn, curveLinearClosed as on, cluster as ln, tree as cn, linkHorizontal as dn, treemap as hn, hsl as ys, color as bs, geoPath as un, geoNaturalEarth1 as pn, geoMercator as gn, geoEquirectangular as mn, geoConicEquidistant as fn, geoConicEqualArea as vn, geoAlbers as yn, geoEqualEarth as bn } from \"d3\";\nimport { t as Es, i as En, S as Ss, U as Sn, V as xs, W as xn, X as On, Y as Tn, Z as Ln, g as y, d as he, f as Re, F as Ut, _ as Q, z as K, $ as Ge, a0 as zt, K as de, H as wn, a1 as Os, e as Mn, a2 as ve, L as pt, N as gt, j as pe, a3 as Ve, a4 as ge, l as fe, A as me, a5 as An, n as ke, R as Cn, C as Z, q as ce, a6 as ie, a7 as kn, P as In, B as se, u as Pe, s as He, a8 as nt, a9 as Rn, aa as Ft, D as Ee } from \"./color-scale-utils-2eb80bd2.mjs\";\nimport { y as H, _ as f, K as ee, r as ye, q as Te, L as Dn, A as ue, m as $, s as Se, V as Ie, S as te, e as V, Z as Le, i as le, f as Wt, J as at, d as _n, F as Ue, n as it, H as rt, C as ot, p as ze, b as jt, D as lt, Q as Pn, x as xe, $ as Fe, N as ct } from \"./enums-a96ef472.mjs\";\nimport { R as U } from \"./a11y-7bad4f48.mjs\";\nimport { t as dt, D as E, c as mt, G as Zt, a as Vn, p as Y, r as Xt, b as Bn } from \"./angle-utils-8034b0e5.mjs\";\nimport { sankey as $n, sankeyLinkHorizontal as Gn, sankeyJustify as Nn, sankeyLeft as Hn, sankeyRight as Un } from \"d3-sankey\";\nimport { b as Ts } from \"./_baseEach-8433307e.mjs\";\nimport zn from \"d3-cloud\";\nfunction Fn(o, e, t, s) {\n var n = -1, a = o == null ? 0 : o.length;\n for (s && a && (t = o[++n]); ++n < a; )\n t = e(t, o[n], n, o);\n return t;\n}\nfunction Wn(o) {\n return function(e) {\n return o == null ? void 0 : o[e];\n };\n}\nvar jn = {\n // Latin-1 Supplement block.\n À: \"A\",\n Á: \"A\",\n Â: \"A\",\n Ã: \"A\",\n Ä: \"A\",\n Å: \"A\",\n à: \"a\",\n á: \"a\",\n â: \"a\",\n ã: \"a\",\n ä: \"a\",\n å: \"a\",\n Ç: \"C\",\n ç: \"c\",\n Ð: \"D\",\n ð: \"d\",\n È: \"E\",\n É: \"E\",\n Ê: \"E\",\n Ë: \"E\",\n è: \"e\",\n é: \"e\",\n ê: \"e\",\n ë: \"e\",\n Ì: \"I\",\n Í: \"I\",\n Î: \"I\",\n Ï: \"I\",\n ì: \"i\",\n í: \"i\",\n î: \"i\",\n ï: \"i\",\n Ñ: \"N\",\n ñ: \"n\",\n Ò: \"O\",\n Ó: \"O\",\n Ô: \"O\",\n Õ: \"O\",\n Ö: \"O\",\n Ø: \"O\",\n ò: \"o\",\n ó: \"o\",\n ô: \"o\",\n õ: \"o\",\n ö: \"o\",\n ø: \"o\",\n Ù: \"U\",\n Ú: \"U\",\n Û: \"U\",\n Ü: \"U\",\n ù: \"u\",\n ú: \"u\",\n û: \"u\",\n ü: \"u\",\n Ý: \"Y\",\n ý: \"y\",\n ÿ: \"y\",\n Æ: \"Ae\",\n æ: \"ae\",\n Þ: \"Th\",\n þ: \"th\",\n ß: \"ss\",\n // Latin Extended-A block.\n Ā: \"A\",\n Ă: \"A\",\n Ą: \"A\",\n ā: \"a\",\n ă: \"a\",\n ą: \"a\",\n Ć: \"C\",\n Ĉ: \"C\",\n Ċ: \"C\",\n Č: \"C\",\n ć: \"c\",\n ĉ: \"c\",\n ċ: \"c\",\n č: \"c\",\n Ď: \"D\",\n Đ: \"D\",\n ď: \"d\",\n đ: \"d\",\n Ē: \"E\",\n Ĕ: \"E\",\n Ė: \"E\",\n Ę: \"E\",\n Ě: \"E\",\n ē: \"e\",\n ĕ: \"e\",\n ė: \"e\",\n ę: \"e\",\n ě: \"e\",\n Ĝ: \"G\",\n Ğ: \"G\",\n Ġ: \"G\",\n Ģ: \"G\",\n ĝ: \"g\",\n ğ: \"g\",\n ġ: \"g\",\n ģ: \"g\",\n Ĥ: \"H\",\n Ħ: \"H\",\n ĥ: \"h\",\n ħ: \"h\",\n Ĩ: \"I\",\n Ī: \"I\",\n Ĭ: \"I\",\n Į: \"I\",\n İ: \"I\",\n ĩ: \"i\",\n ī: \"i\",\n ĭ: \"i\",\n į: \"i\",\n ı: \"i\",\n Ĵ: \"J\",\n ĵ: \"j\",\n Ķ: \"K\",\n ķ: \"k\",\n ĸ: \"k\",\n Ĺ: \"L\",\n Ļ: \"L\",\n Ľ: \"L\",\n Ŀ: \"L\",\n Ł: \"L\",\n ĺ: \"l\",\n ļ: \"l\",\n ľ: \"l\",\n ŀ: \"l\",\n ł: \"l\",\n Ń: \"N\",\n Ņ: \"N\",\n Ň: \"N\",\n Ŋ: \"N\",\n ń: \"n\",\n ņ: \"n\",\n ň: \"n\",\n ŋ: \"n\",\n Ō: \"O\",\n Ŏ: \"O\",\n Ő: \"O\",\n ō: \"o\",\n ŏ: \"o\",\n ő: \"o\",\n Ŕ: \"R\",\n Ŗ: \"R\",\n Ř: \"R\",\n ŕ: \"r\",\n ŗ: \"r\",\n ř: \"r\",\n Ś: \"S\",\n Ŝ: \"S\",\n Ş: \"S\",\n Š: \"S\",\n ś: \"s\",\n ŝ: \"s\",\n ş: \"s\",\n š: \"s\",\n Ţ: \"T\",\n Ť: \"T\",\n Ŧ: \"T\",\n ţ: \"t\",\n ť: \"t\",\n ŧ: \"t\",\n Ũ: \"U\",\n Ū: \"U\",\n Ŭ: \"U\",\n Ů: \"U\",\n Ű: \"U\",\n Ų: \"U\",\n ũ: \"u\",\n ū: \"u\",\n ŭ: \"u\",\n ů: \"u\",\n ű: \"u\",\n ų: \"u\",\n Ŵ: \"W\",\n ŵ: \"w\",\n Ŷ: \"Y\",\n ŷ: \"y\",\n Ÿ: \"Y\",\n Ź: \"Z\",\n Ż: \"Z\",\n Ž: \"Z\",\n ź: \"z\",\n ż: \"z\",\n ž: \"z\",\n IJ: \"IJ\",\n ij: \"ij\",\n Œ: \"Oe\",\n œ: \"oe\",\n ʼn: \"'n\",\n ſ: \"s\"\n}, Zn = Wn(jn);\nconst Xn = Zn;\nvar Yn = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g, qn = \"\\\\u0300-\\\\u036f\", Kn = \"\\\\ufe20-\\\\ufe2f\", Jn = \"\\\\u20d0-\\\\u20ff\", Qn = qn + Kn + Jn, ea = \"[\" + Qn + \"]\", ta = RegExp(ea, \"g\");\nfunction sa(o) {\n return o = Es(o), o && o.replace(Yn, Xn).replace(ta, \"\");\n}\nvar na = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\nfunction aa(o) {\n return o.match(na) || [];\n}\nvar ia = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\nfunction ra(o) {\n return ia.test(o);\n}\nvar Ls = \"\\\\ud800-\\\\udfff\", oa = \"\\\\u0300-\\\\u036f\", la = \"\\\\ufe20-\\\\ufe2f\", ca = \"\\\\u20d0-\\\\u20ff\", da = oa + la + ca, ws = \"\\\\u2700-\\\\u27bf\", Ms = \"a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff\", ha = \"\\\\xac\\\\xb1\\\\xd7\\\\xf7\", ua = \"\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\", pa = \"\\\\u2000-\\\\u206f\", ga = \" \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\", As = \"A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde\", ma = \"\\\\ufe0e\\\\ufe0f\", Cs = ha + ua + pa + ga, ks = \"['’]\", Yt = \"[\" + Cs + \"]\", fa = \"[\" + da + \"]\", Is = \"\\\\d+\", va = \"[\" + ws + \"]\", Rs = \"[\" + Ms + \"]\", Ds = \"[^\" + Ls + Cs + Is + ws + Ms + As + \"]\", ya = \"\\\\ud83c[\\\\udffb-\\\\udfff]\", ba = \"(?:\" + fa + \"|\" + ya + \")\", Ea = \"[^\" + Ls + \"]\", _s = \"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\", Ps = \"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\", Ce = \"[\" + As + \"]\", Sa = \"\\\\u200d\", qt = \"(?:\" + Rs + \"|\" + Ds + \")\", xa = \"(?:\" + Ce + \"|\" + Ds + \")\", Kt = \"(?:\" + ks + \"(?:d|ll|m|re|s|t|ve))?\", Jt = \"(?:\" + ks + \"(?:D|LL|M|RE|S|T|VE))?\", Vs = ba + \"?\", Bs = \"[\" + ma + \"]?\", Oa = \"(?:\" + Sa + \"(?:\" + [Ea, _s, Ps].join(\"|\") + \")\" + Bs + Vs + \")*\", Ta = \"\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])\", La = \"\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])\", wa = Bs + Vs + Oa, Ma = \"(?:\" + [va, _s, Ps].join(\"|\") + \")\" + wa, Aa = RegExp([\n Ce + \"?\" + Rs + \"+\" + Kt + \"(?=\" + [Yt, Ce, \"$\"].join(\"|\") + \")\",\n xa + \"+\" + Jt + \"(?=\" + [Yt, Ce + qt, \"$\"].join(\"|\") + \")\",\n Ce + \"?\" + qt + \"+\" + Kt,\n Ce + \"+\" + Jt,\n La,\n Ta,\n Is,\n Ma\n].join(\"|\"), \"g\");\nfunction Ca(o) {\n return o.match(Aa) || [];\n}\nfunction ka(o, e, t) {\n return o = Es(o), e = t ? void 0 : e, e === void 0 ? ra(o) ? Ca(o) : aa(o) : o.match(e) || [];\n}\nvar Ia = \"['’]\", Ra = RegExp(Ia, \"g\");\nfunction Da(o) {\n return function(e) {\n return Fn(ka(sa(e).replace(Ra, \"\")), o, \"\");\n };\n}\nfunction _a(o, e, t) {\n return o === o && (t !== void 0 && (o = o <= t ? o : t), e !== void 0 && (o = o >= e ? o : e)), o;\n}\nfunction $s(o, e, t) {\n return t === void 0 && (t = e, e = void 0), t !== void 0 && (t = dt(t), t = t === t ? t : 0), e !== void 0 && (e = dt(e), e = e === e ? e : 0), _a(dt(o), e, t);\n}\nfunction Pa(o, e) {\n var t = -1, s = En(o) ? Array(o.length) : [];\n return Ts(o, function(n, a, i) {\n s[++t] = e(n, a, i);\n }), s;\n}\nfunction Va(o, e) {\n var t = Ss(o) ? Sn : Pa;\n return t(o, xs(e));\n}\nvar Ba = 1 / 0;\nfunction $a(o, e) {\n return xn(Va(o, e), Ba);\n}\nfunction Gs(o, e) {\n return On(o, e);\n}\nvar Ga = Da(function(o, e, t) {\n return o + (t ? \"-\" : \"\") + e.toLowerCase();\n});\nconst we = Ga;\nfunction Na(o, e) {\n var t;\n return Ts(o, function(s, n, a) {\n return t = e(s, n, a), !t;\n }), !!t;\n}\nfunction Ha(o, e, t) {\n var s = Ss(o) ? Tn : Na;\n return t && Ln(o, e, t) && (e = void 0), s(o, xs(e));\n}\nclass z {\n constructor(e, t, s) {\n if (this.type = \"\", this.renderType = H.HTML, this.id = \"\", this.parent = void 0, this.configs = {}, this.model = e, this.services = t, s && (this.configs = s, this.configs.id)) {\n const n = y(this.model.getOptions(), \"style\", \"prefix\");\n this.id = `${n}--${this.configs.id}`;\n }\n this.parent || this.setParent(x(this.services.domUtils.getMainContainer()));\n }\n init() {\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n render(e = !0) {\n console.error(\"Error: Component did not provide the required render function.\");\n }\n destroy() {\n }\n // Used to pass down information to the components\n setModel(e) {\n this.model = e;\n }\n // Used to pass down information to the components\n setServices(e) {\n this.services = e;\n }\n setParent(e) {\n var s;\n const t = this.parent;\n if (this.parent = e, !(t && t.node() === e.node()) && this.type) {\n const n = y(this.model.getOptions(), \"style\", \"prefix\");\n (s = this.parent) == null || s.classed(`${he}--${n}--${this.type}`, !0), t && t.classed(`${he}--${n}--${this.type}`, !1);\n }\n }\n getParent() {\n return this.parent;\n }\n getComponentContainer(e = { withinChartClip: !1 }) {\n if (this.type) {\n const t = y(this.model.getOptions(), \"style\", \"prefix\"), s = this.id ? `#${this.id}` : \"\", n = E.appendOrSelect(\n this.parent,\n `${this.renderType === H.SVG ? \"svg\" : \"div\"}${s}.${he}--${t}--${this.type}`\n );\n if (e.withinChartClip) {\n const a = this.model.get(\"chartClipId\");\n if (a) {\n const r = x(`#${a}`).select(\"rect\");\n r.size() !== 0 && parseFloat(r.attr(\"height\")) > 0 && n.attr(\"clip-path\", `url(#${a})`);\n }\n }\n return n.attr(\"width\", \"100%\").attr(\"height\", \"100%\");\n }\n return this.parent;\n }\n /**\n * graphs used in combo charts share a model with global options but can receive their own local options.\n * this function retrieves the global options and merges it with any options passed into this\n * component's config.options object.\n */\n getOptions() {\n return this.configs.options ? Re({}, this.model.getOptions(), this.configs.options) : this.model.getOptions();\n }\n}\nconst Ns = class Hs extends z {\n constructor() {\n super(...arguments), this.type = \"toolbar\", this.renderType = H.HTML;\n }\n init() {\n const e = () => this.updateOverflowMenu(!1);\n this.services.events.addEventListener(f.Toolbar.SHOW_OVERFLOW_MENU, () => {\n this.renderOverflowMenu(), document.body.addEventListener(\"click\", e);\n }), this.services.events.addEventListener(f.Toolbar.HIDE_OVERFLOW_MENU, () => {\n document.body.removeEventListener(\"click\", e);\n });\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n render(e = !0) {\n const t = this.getComponentContainer().attr(\"role\", \"toolbar\").attr(\"aria-label\", `chart-${this.services.domUtils.getChartID()} toolbar`);\n if (y(this.getOptions(), \"data\", \"loading\"))\n t.html(\"\"), this.overflowMenu = null;\n else {\n this.overflowMenu || (this.overflowMenu = t.append(\"div\").attr(\n \"class\",\n \"cds--overflow-menu-options cds--overflow-menu--flip cds--overflow-menu-options cds--overflow-menu--flip\"\n ).attr(\"tabindex\", -1).html(\"<ul role='menu'></ul>\"));\n const { buttonList: n, overflowMenuItemList: a } = this.getControlConfigs();\n a && n.push(this.getOverflowButtonConfig());\n const i = t.selectAll(\"div.toolbar-control\").data(n, (c) => c.id);\n i.exit().remove();\n const r = i.enter().append(\"div\").attr(\"class\", \"toolbar-control cds--overflow-menu cds--overflow-menu\"), l = this;\n r.merge(i).classed(\"disabled\", (c) => c.shouldBeDisabled()).attr(\"aria-disabled\", (c) => c.shouldBeDisabled()).attr(\"aria-label\", (c) => c.title).html(\n (c) => `\n\t\t\t<button\n\t\t\t\tclass=\"cds--overflow-menu__trigger cds--overflow-menu__trigger\"\n\t\t\t\taria-haspopup=\"true\" aria-expanded=\"false\" id=\"${this.services.domUtils.generateElementIDString(\n `control-${c.id}`\n )}\" aria-label=\"${c.title}\">\n\t\t\t\t<svg focusable=\"false\" preserveAspectRatio=\"xMidYMid meet\" xmlns=\"http://www.w3.org/2000/svg\" class=\"cds--overflow-menu__icon cds--overflow-menu__icon\" viewBox=\"0 0 32 32\" aria-hidden=\"true\">\n\t\t\t\t\t${c.iconSVG.content}\n\t\t\t\t</svg>\n\t\t\t</button>`\n ).each(function(c, d) {\n x(this).select(\"svg\").style(\"will-change\", \"transform\").style(\"width\", c.iconSVG.width !== void 0 ? c.iconSVG.width : \"20px\").style(\"height\", c.iconSVG.height !== void 0 ? c.iconSVG.height : \"20px\"), x(this).select(\"button\").on(\"click\", (p) => {\n c.shouldBeDisabled() || l.triggerFunctionAndEvent(c, p, this);\n }).on(\"keydown\", (p) => {\n p.key && p.key === \"Enter\" || p.key === \" \" ? (p.preventDefault(), l.triggerFunctionAndEvent(c, p, this)) : p.key && p.key === \"ArrowLeft\" ? l.focusOnPreviousEnabledToolbarItem(d) : p.key && p.key === \"ArrowRight\" && l.focusOnNextEnabledToolbarItem(d);\n });\n }), this.overflowButton = this.getComponentContainer().select(\n `button.cds--overflow-menu__trigger#${this.services.domUtils.generateElementIDString(\n \"control-toolbar-overflow-menu\"\n )}`\n );\n }\n }\n renderOverflowMenu() {\n const { overflowMenuItemList: e } = this.getControlConfigs(), t = this.overflowMenu.select(\"ul\").selectAll(\"li.cds--overflow-menu-options__option\").data(e, (n) => y(n, \"id\"));\n t.exit().remove();\n const s = t.enter().append(\"li\").attr(\"id\", (n) => this.services.domUtils.generateElementIDString(`control-${n.id}`)).attr(\"class\", \"cds--overflow-menu-options__option cds--overflow-menu-options__option\").attr(\"role\", \"menuitem\").attr(\"tabindex\", 1);\n s.append(\"button\").attr(\"class\", \"cds--overflow-menu-options__btn cds--overflow-menu-options__btn\"), s.merge(t).classed(\"cds--overflow-menu-options__option--disabled\", (n) => n.shouldBeDisabled()).classed(\"cds--overflow-menu-options__option--disabled\", (n) => n.shouldBeDisabled()).attr(\"aria-disabled\", (n) => n.shouldBeDisabled()).selectAll(\"button\").text((n) => n.text);\n }\n isOverflowMenuOpen() {\n return this.overflowMenu.classed(\"is-open\");\n }\n // show/hide overflow menu\n updateOverflowMenu(e) {\n this.overflowMenu && (this.overflowMenu.classed(\"is-open\", e), this.overflowButton && (this.overflowButton.attr(\"aria-expanded\", e), x(this.overflowButton.node().parentNode).classed(\"cds--overflow-menu--open\", e).classed(\"cds--overflow-menu--open\", e)), e ? this.services.events.dispatchEvent(f.Toolbar.SHOW_OVERFLOW_MENU) : this.services.events.dispatchEvent(f.Toolbar.HIDE_OVERFLOW_MENU));\n }\n // Toolbar controllers\n focusOnPreviousEnabledToolbarItem(e) {\n const t = this.getToolbarButtonItems();\n let s = t.length;\n for (let n = e - 1; n >= 0; n--)\n if (!t[n].shouldBeDisabled()) {\n s = n;\n break;\n }\n if (s < t.length) {\n const n = x(\n `button#${this.services.domUtils.generateElementIDString(\n `control-${t[s].id}`\n )}`\n ).node();\n \"focus\" in n && n.focus();\n }\n }\n focusOnNextEnabledToolbarItem(e) {\n const t = this.getToolbarButtonItems();\n let s = -1;\n for (let n = e + 1; n < t.length; n++)\n if (!t[n].shouldBeDisabled()) {\n s = n;\n break;\n }\n if (s > -1) {\n const n = x(\n `button#${this.services.domUtils.generateElementIDString(\n `control-${t[s].id}`\n )}`\n ).node();\n \"focus\" in n && n.focus();\n }\n }\n focusOnPreviousEnabledMenuItem(e) {\n const t = this.getOverflowMenuItems();\n let s = t.length;\n for (let n = e - 1; n >= 0; n--)\n if (!t[n].shouldBeDisabled()) {\n s = n;\n break;\n }\n if (s < t.length) {\n const n = x(\n `#${this.services.domUtils.generateElementIDString(\n `control-${t[s].id}`\n )} button`\n ).node();\n \"focus\" in n && n.focus();\n }\n }\n focusOnNextEnabledMenuItem(e) {\n const t = this.getOverflowMenuItems();\n let s = -1;\n for (let n = e + 1; n < t.length; n++)\n if (!t[n].shouldBeDisabled()) {\n s = n;\n break;\n }\n if (s > -1) {\n const n = x(\n `#${this.services.domUtils.generateElementIDString(\n `control-${t[s].id}`\n )} button`\n ).node();\n \"focus\" in n && n.focus();\n }\n }\n toggleOverflowMenu(e) {\n if (this.isOverflowMenuOpen())\n this.updateOverflowMenu(!1);\n else {\n this.updateOverflowMenu(!0);\n const t = this;\n this.getOverflowMenuItems().forEach((n, a) => {\n const i = x(\n `#${this.services.domUtils.generateElementIDString(`control-${n.id}`)}`\n );\n i !== null && (i.on(\"click\", () => {\n t.triggerFunctionAndEvent(n, e, i.node()), t.updateOverflowMenu(!1);\n }), i.on(\"keydown\", (r) => {\n r && r.key === \"Enter\" ? t.triggerFunctionAndEvent(n, e, i.node()) : r && r.key === \"ArrowUp\" ? t.focusOnPreviousEnabledMenuItem(a) : r && r.key === \"ArrowDown\" ? t.focusOnNextEnabledMenuItem(a) : r && r.key === \"Escape\" && t.updateOverflowMenu(!1), r.preventDefault();\n }));\n }), t.focusOnNextEnabledMenuItem(-1);\n }\n e && e.stopImmediatePropagation();\n }\n // Calls passed function && dispatches event\n triggerFunctionAndEvent(e, t, s) {\n typeof e.shouldBeDisabled == \"function\" && e.shouldBeDisabled() || (typeof e.clickFunction == \"function\" && e.clickFunction(t), this.services.events.dispatchEvent(f.Toolbar.BUTTON_CLICK, {\n control: e,\n event: t,\n element: s\n }));\n }\n getControlConfigs() {\n const e = y(this.getOptions(), \"toolbar\", \"numberOfIcons\") - 1, t = y(this.getOptions(), \"toolbar\", \"controls\"), s = [], n = [], a = [];\n return t.forEach((i) => {\n let r = null;\n i.type === ee.CUSTOM ? (y(i, \"id\") === null && (i.id = `toolbar-button-${Hs.buttonID++}`), y(i, \"shouldBeDisabled\") === null && (i.shouldBeDisabled = () => !1), r = i) : r = this.getControlConfigByType(i.type), r && (r.text = i.text ? i.text : i.type, r.id.indexOf(\"toolbar-export\") !== -1 ? s.push(r) : n.length < e ? y(r, \"iconSVG\", \"content\") === null ? a.push(r) : n.push(r) : a.push(r));\n }), a.push(...s), a.length ? {\n buttonList: n,\n overflowMenuItemList: a\n } : {\n buttonList: n\n };\n }\n getToolbarButtonItems() {\n const { buttonList: e, overflowMenuItemList: t } = this.getControlConfigs();\n return t && e.push(this.getOverflowButtonConfig()), e || [];\n }\n getOverflowMenuItems() {\n const { overflowMenuItemList: e } = this.getControlConfigs();\n return e || [];\n }\n // special button config for overflow button\n getOverflowButtonConfig() {\n return {\n id: \"toolbar-overflow-menu\",\n title: \"More options\",\n shouldBeDisabled: () => !1,\n iconSVG: {\n content: `<circle cx=\"16\" cy=\"8\" r=\"2\"></circle>\n\t\t\t\t<circle cx=\"16\" cy=\"16\" r=\"2\"></circle>\n\t\t\t\t<circle cx=\"16\" cy=\"24\" r=\"2\"></circle>`\n },\n clickFunction: (e) => this.toggleOverflowMenu(e)\n };\n }\n getControlConfigByType(e) {\n const t = this.services.zoom && this.services.zoom.isZoomBarEnabled() && !this.services.zoom.isEmptyState(), s = this.model.getDisplayData();\n let n;\n switch (e) {\n case ee.ZOOM_IN:\n t && (n = {\n id: \"toolbar-zoomIn\",\n title: \"Zoom in\",\n shouldBeDisabled: () => this.services.zoom.isMinZoomDomain(),\n iconSVG: {\n content: this.getControlIconByType(e)\n },\n clickFunction: () => this.services.zoom.zoomIn()\n });\n break;\n case ee.ZOOM_OUT:\n t && (n = {\n id: \"toolbar-zoomOut\",\n title: \"Zoom out\",\n shouldBeDisabled: () => this.services.zoom.isMaxZoomDomain(),\n iconSVG: {\n content: this.getControlIconByType(e)\n },\n clickFunction: () => this.services.zoom.zoomOut()\n });\n break;\n case ee.RESET_ZOOM:\n t && (n = {\n id: \"toolbar-resetZoom\",\n title: \"Reset zoom\",\n shouldBeDisabled: () => this.services.zoom.isMaxZoomDomain(),\n iconSVG: {\n content: this.getControlIconByType(e)\n },\n clickFunction: () => this.services.zoom.resetZoomDomain()\n });\n break;\n case ee.MAKE_FULLSCREEN:\n n = {\n id: \"toolbar-makefullscreen\",\n iconSVG: {\n content: this.getControlIconByType(e),\n width: \"15px\",\n height: \"15px\"\n },\n title: \"Make fullscreen\",\n shouldBeDisabled: () => !1,\n clickFunction: () => {\n this.services.domUtils.toggleFullscreen();\n }\n };\n break;\n case ee.SHOW_AS_DATATABLE:\n n = {\n id: \"toolbar-showasdatatable\",\n iconSVG: {\n content: this.getControlIconByType(e)\n },\n title: \"Show as table\",\n shouldBeDisabled: () => s.length === 0,\n clickFunction: () => this.services.events.dispatchEvent(f.Modal.SHOW)\n };\n break;\n case ee.EXPORT_CSV:\n n = {\n id: \"toolbar-export-CSV\",\n title: \"Export as CSV\",\n shouldBeDisabled: () => !1,\n iconSVG: {\n content: this.getControlIconByType(e)\n },\n clickFunction: () => this.model.exportToCSV()\n };\n break;\n case ee.EXPORT_PNG:\n n = {\n id: \"toolbar-export-PNG\",\n title: \"Export as PNG\",\n shouldBeDisabled: () => !1,\n iconSVG: {\n content: this.getControlIconByType(e)\n },\n clickFunction: () => this.services.domUtils.exportToPNG()\n };\n break;\n case ee.EXPORT_JPG:\n n = {\n id: \"toolbar-export-JPG\",\n title: \"Export as JPG\",\n shouldBeDisabled: () => !1,\n iconSVG: {\n content: this.getControlIconByType(e)\n },\n clickFunction: () => this.services.domUtils.exportToJPG()\n };\n break;\n default:\n throw Error(\"Not supported toolbar control type: \" + e);\n }\n return n;\n }\n getControlIconByType(e) {\n switch (e) {\n case ee.ZOOM_IN:\n return `<polygon points=\"19 13 15 13 15 9 13 9 13 13 9 13 9 15 13 15 13 19 15 19 15 15 19 15 19 13\"/>\n\t\t\t\t\t\t<path d=\"M22.45,21A10.87,10.87,0,0,0,25,14,11,11,0,1,0,14,25a10.87,10.87,0,0,0,7-2.55L28.59,30,30,28.59ZM14,23a9,9,0,1,1,9-9A9,9,0,0,1,14,23Z\"/>`;\n case ee.ZOOM_OUT:\n return `<rect x=\"9\" y=\"13\" width=\"10\" height=\"2\"/>\n\t\t\t\t\t\t<path d=\"M22.45,21A10.87,10.87,0,0,0,25,14,11,11,0,1,0,14,25a10.87,10.87,0,0,0,7-2.55L28.59,30,30,28.59ZM14,23a9,9,0,1,1,9-9A9,9,0,0,1,14,23Z\"/>`;\n case ee.RESET_ZOOM:\n return '<path d=\"M22.4478,21A10.855,10.855,0,0,0,25,14,10.99,10.99,0,0,0,6,6.4658V2H4v8h8V8H7.332a8.9768,8.9768,0,1,1-2.1,8H3.1912A11.0118,11.0118,0,0,0,14,25a10.855,10.855,0,0,0,7-2.5522L28.5859,30,30,28.5859Z\"/>';\n case ee.MAKE_FULLSCREEN:\n return '<polygon points=\"21 2 21 4 26.59 4 17 13.58 18.41 15 28 5.41 28 11 30 11 30 2 21 2\"/><polygon points=\"15 18.42 13.59 17 4 26.59 4 21 2 21 2 30 11 30 11 28 5.41 28 15 18.42\"/>';\n case ee.SHOW_AS_DATATABLE:\n return '<rect x=\"4\" y=\"6\" width=\"18\" height=\"2\"/><rect x=\"4\" y=\"12\" width=\"18\" height=\"2\"/><rect x=\"4\" y=\"18\" width=\"18\" height=\"2\"/><rect x=\"4\" y=\"24\" width=\"18\" height=\"2\"/><rect x=\"26\" y=\"6\" width=\"2\" height=\"2\"/><rect x=\"26\" y=\"12\" width=\"2\" height=\"2\"/><rect x=\"26\" y=\"18\" width=\"2\" height=\"2\"/><rect x=\"26\" y=\"24\" width=\"2\" height=\"2\"/>';\n case ee.EXPORT_CSV:\n return '<path d=\"M22.4478,21A10.855,10.855,0,0,0,25,14,10.99,10.99,0,0,0,6,6.4658V2H4v8h8V8H7.332a8.9768,8.9768,0,1,1-2.1,8H3.1912A11.0118,11.0118,0,0,0,14,25a10.855,10.855,0,0,0,7-2.5522L28.5859,30,30,28.5859Z\"/>';\n case ee.EXPORT_JPG:\n return '<path d=\"M22.4478,21A10.855,10.855,0,0,0,25,14,10.99,10.99,0,0,0,6,6.4658V2H4v8h8V8H7.332a8.9768,8.9768,0,1,1-2.1,8H3.1912A11.0118,11.0118,0,0,0,14,25a10.855,10.855,0,0,0,7-2.5522L28.5859,30,30,28.5859Z\"/>';\n case ee.EXPORT_PNG:\n return '<path d=\"M22.4478,21A10.855,10.855,0,0,0,25,14,10.99,10.99,0,0,0,6,6.4658V2H4v8h8V8H7.332a8.9768,8.9768,0,1,1-2.1,8H3.1912A11.0118,11.0118,0,0,0,14,25a10.855,10.855,0,0,0,7-2.5522L28.5859,30,30,28.5859Z\"/>';\n default:\n throw Error(\"Not supported toolbar control type: \" + e);\n }\n }\n};\nNs.buttonID = 0;\nlet nc = Ns;\nconst Us = class zs extends z {\n constructor(e, t, s, n) {\n super(e, t, n), this.type = \"layout\", this.configs = n, this.children = s, this._instanceID = zs.instanceID++, this.init();\n }\n init() {\n this.children.forEach((e) => {\n e.components.forEach((t) => {\n t.init();\n });\n });\n }\n getPreferedAndFixedSizeSum() {\n const e = this.parent;\n let t = 0;\n return e.selectAll(`div.layout-child-${this._instanceID}`).filter((s) => {\n const n = y(s, \"growth\");\n return n === ye.PREFERRED || n === ye.FIXED;\n }).each(function(s) {\n t += s.size;\n }), t;\n }\n getNumOfStretchChildren() {\n return this.parent.selectAll(`div.layout-child-${this._instanceID}`).filter((t) => y(t, \"growth\") === ye.STRETCH).size();\n }\n render(e = !0) {\n const t = this.parent, { width: s, height: n } = E.getHTMLElementSize(t.node()), a = this.configs.direction === Te.ROW || this.configs.direction === Te.ROW_REVERSE, i = y(this.model.getOptions(), \"style\", \"prefix\"), r = t.classed(\n `${he}--${i}--layout-row`,\n this.configs.direction === Te.ROW\n ).classed(\n `${he}--${i}--layout-row-reverse`,\n this.configs.direction === Te.ROW_REVERSE\n ).classed(\n `${he}--${i}--layout-column`,\n this.configs.direction === Te.COLUMN\n ).classed(\n `${he}--${i}--layout-column-reverse`,\n this.configs.direction === Te.COLUMN_REVERSE\n ).classed(\n `${he}--${i}--layout-alignitems-center`,\n this.configs.alignItems === Dn.CENTER\n ).selectAll(`div.layout-child-${this._instanceID}`).data(this.children, (d) => d.id);\n r.enter().append(\"div\").merge(t.selectAll(`div.layout-child-${this._instanceID}`)).attr(\"class\", (d) => `layout-child layout-child-${this._instanceID} ${d.id}`).each(function(d) {\n d.components.forEach((p) => {\n const h = x(this), g = y(d, \"renderType\") === H.SVG;\n p.setParent(\n g ? E.appendOrSelect(h, \"svg.layout-svg-wrapper\").attr(\"width\", \"100%\").attr(\"height\", \"100%\") : h\n );\n const m = y(d, \"growth\");\n (m === ye.PREFERRED || m === ye.FIXED) && p.render(e);\n });\n }), t.selectAll(`div.layout-child-${this._instanceID}`).style(\"height\", null).style(\"width\", null).each(function(d) {\n const p = y(d, \"growth\"), u = y(d, \"renderType\") === H.SVG ? E.getSVGElementSize(x(this).select(\"svg.layout-svg-wrapper\"), {\n useBBox: !0\n }) : E.getHTMLElementSize(this);\n if (p === ye.PREFERRED) {\n const g = a ? u.width : u.height, m = a ? s : n;\n d.size = g / m * 100;\n }\n }), r.exit().remove(), this.children.filter((d) => y(d, \"growth\") === ye.STRETCH).forEach((d) => {\n d.size = (100 - +this.getPreferedAndFixedSizeSum()) / +this.getNumOfStretchChildren();\n });\n const c = t.selectAll(`div.layout-child-${this._instanceID}`).data(this.children, (d) => d.id);\n a ? c.style(\"width\", (d) => `${d.size / 100 * s}px`).style(\"height\", \"100%\") : c.style(\"height\", (d) => `${d.size / 100 * n}px`).style(\"width\", \"100%\"), c.each(function(d) {\n d.components.forEach((p) => {\n y(d, \"growth\") === ye.STRETCH && p.render(e);\n });\n });\n }\n // Pass on model to children as well\n setModel(e) {\n super.setModel(e), this.children.forEach((t) => {\n t.components.forEach((s) => s.setModel(e));\n });\n }\n // Pass on essentials to children as well\n setServices(e) {\n super.setServices(e), this.children.forEach((t) => {\n t.components.forEach((s) => s.setServices(e));\n });\n }\n destroy() {\n this.children.forEach((e) => {\n e.components.forEach((t) => t.destroy());\n });\n }\n};\nUs.instanceID = Math.floor(Math.random() * 99999999999);\nlet ac = Us;\nclass ic extends z {\n constructor() {\n super(...arguments), this.type = \"spacer\";\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n render(e = !1) {\n this.getComponentContainer().style(\"width\", `${this.configs.size || Ut.default.size}px`).style(\"height\", `${this.configs.size || Ut.default.size}px`).attr(\"opacity\", 0);\n }\n}\nvar Ua = {\n prefix: \"bx\",\n selectorTabbable: `\n a[href], area[href], input:not([disabled]):not([tabindex='-1']),\n button:not([disabled]):not([tabindex='-1']),select:not([disabled]):not([tabindex='-1']),\n textarea:not([disabled]):not([tabindex='-1']),\n iframe, object, embed, *[tabindex]:not([tabindex='-1']), *[contenteditable=true]\n `,\n selectorFocusable: `\n a[href], area[href], input:not([disabled]),\n button:not([disabled]),select:not([disabled]),\n textarea:not([disabled]),\n iframe, object, embed, *[tabindex], *[contenteditable=true]\n `\n}, ht = Ua;\nfunction Qt(o, e) {\n for (var t = 0; t < e.length; t++) {\n var s = e[t];\n s.enumerable = s.enumerable || !1, s.configurable = !0, \"value\" in s && (s.writable = !0), Object.defineProperty(o, s.key, s);\n }\n}\nfunction za(o, e, t) {\n return e && Qt(o.prototype, e), t && Qt(o, t), Object.defineProperty(o, \"prototype\", {\n writable: !1\n }), o;\n}\nfunction Fa(o, e) {\n if (!(o instanceof e))\n throw new TypeError(\"Cannot call a class as a function\");\n}\nfunction Wa(o) {\n return Ya(o) || Xa(o) || Za(o) || ja();\n}\nfunction ja() {\n throw new TypeError(`Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);\n}\nfunction Za(o, e) {\n if (o) {\n if (typeof o == \"string\")\n return ft(o, e);\n var t = Object.prototype.toString.call(o).slice(8, -1);\n if (t === \"Object\" && o.constructor && (t = o.constructor.name), t === \"Map\" || t === \"Set\")\n return Array.from(o);\n if (t === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))\n return ft(o, e);\n }\n}\nfunction Xa(o) {\n if (typeof Symbol < \"u\" && o[Symbol.iterator] != null || o[\"@@iterator\"] != null)\n return Array.from(o);\n}\nfunction Ya(o) {\n if (Array.isArray(o))\n return ft(o);\n}\nfunction ft(o, e) {\n (e == null || e > o.length) && (e = o.length);\n for (var t = 0, s = new Array(e); t < e; t++)\n s[t] = o[t];\n return s;\n}\nfunction Fs(o) {\n return o.reduce(function(e, t) {\n return Array.isArray(t) ? e.push.apply(e, Wa(Fs(t))) : e.push(t), e;\n }, []);\n}\nfunction qa() {\n for (var o = arguments.length, e = new Array(o), t = 0; t < o; t++)\n e[t] = arguments[t];\n return Fs(e).reduce(function(s, n) {\n return n(s);\n }, /* @__PURE__ */ function() {\n function s() {\n Fa(this, s);\n }\n return za(s);\n }());\n}\nfunction vt(o) {\n \"@babel/helpers - typeof\";\n return vt = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(e) {\n return typeof e;\n } : function(e) {\n return e && typeof Symbol == \"function\" && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\n }, vt(o);\n}\nfunction Ka(o, e) {\n if (!(o instanceof e))\n throw new TypeError(\"Cannot call a class as a function\");\n}\nfunction es(o, e) {\n for (var t = 0; t < e.length; t++) {\n var s = e[t];\n s.enumerable = s.enumerable || !1, s.configurable = !0, \"value\" in s && (s.writable = !0), Object.defineProperty(o, s.key, s);\n }\n}\nfunction Ja(o, e, t) {\n return e && es(o.prototype, e), t && es(o, t), Object.defineProperty(o, \"prototype\", {\n writable: !1\n }), o;\n}\nfunction Qa(o, e) {\n if (typeof e != \"function\" && e !== null)\n throw new TypeError(\"Super expression must either be null or a function\");\n o.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: o,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(o, \"prototype\", {\n writable: !1\n }), e && yt(o, e);\n}\nfunction yt(o, e) {\n return yt = Object.setPrototypeOf || function(s, n) {\n return s.__proto__ = n, s;\n }, yt(o, e);\n}\nfunction ei(o) {\n var e = si();\n return function() {\n var s = Ze(o), n;\n if (e) {\n var a = Ze(this).constructor;\n n = Reflect.construct(s, arguments, a);\n } else\n n = s.apply(this, arguments);\n return ti(this, n);\n };\n}\nfunction ti(o, e) {\n if (e && (vt(e) === \"object\" || typeof e == \"function\"))\n return e;\n if (e !== void 0)\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n return Ws(o);\n}\nfunction Ws(o) {\n if (o === void 0)\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return o;\n}\nfunction si() {\n if (typeof Reflect > \"u\" || !Reflect.construct || Reflect.construct.sham)\n return !1;\n if (typeof Proxy == \"function\")\n return !0;\n try {\n return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {\n })), !0;\n } catch {\n return !1;\n }\n}\nfunction Ze(o) {\n return Ze = Object.setPrototypeOf ? Object.getPrototypeOf : function(t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, Ze(o);\n}\nfunction ni(o) {\n var e = /* @__PURE__ */ function(t) {\n Qa(n, t);\n var s = ei(n);\n function n(a) {\n var i, r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n if (Ka(this, n), i = s.call(this, a, r), i.children = [], !a || a.nodeType !== Node.ELEMENT_NODE)\n throw new TypeError(\"DOM element should be given to initialize this widget.\");\n return i.element = a, i.options = Object.assign(Object.create(i.constructor.options), r), i.constructor.components.set(i.element, Ws(i)), i;\n }\n return Ja(n, [{\n key: \"release\",\n value: (\n /**\n * Releases this component's instance from the associated element.\n */\n function() {\n for (var i = this.children.pop(); i; i = this.children.pop())\n i.release();\n return this.constructor.components.delete(this.element), null;\n }\n )\n }], [{\n key: \"create\",\n value: function(i, r) {\n return this.components.get(i) || new this(i, r);\n }\n }]), n;\n }(o);\n return e;\n}\nfunction bt(o) {\n \"@babel/helpers - typeof\";\n return bt = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(e) {\n return typeof e;\n } : function(e) {\n return e && typeof Symbol == \"function\" && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\n }, bt(o);\n}\nfunction ai(o, e) {\n if (!(o instanceof e))\n throw new TypeError(\"Cannot call a class as a function\");\n}\nfunction ts(o, e) {\n for (var t = 0; t < e.length; t++) {\n var s = e[t];\n s.enumerable = s.enumerable || !1, s.configurable = !0, \"value\" in s && (s.writable = !0), Object.defineProperty(o, s.key, s);\n }\n}\nfunction ii(o, e, t) {\n return e && ts(o.prototype, e), t && ts(o, t), Object.defineProperty(o, \"prototype\", {\n writable: !1\n }), o;\n}\nfunction We() {\n return typeof Reflect < \"u\" && Reflect.get ? We = Reflect.get : We = function(e, t, s) {\n var n = ri(e, t);\n if (n) {\n var a = Object.getOwnPropertyDescriptor(n, t);\n return a.get ? a.get.call(arguments.length < 3 ? e : s) : a.value;\n }\n }, We.apply(this, arguments);\n}\nfunction ri(o, e) {\n for (; !Object.prototype.hasOwnProperty.call(o, e) && (o = De(o), o !== null); )\n ;\n return o;\n}\nfunction oi(o, e) {\n if (typeof e != \"function\" && e !== null)\n throw new TypeError(\"Super expression must either be null or a function\");\n o.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: o,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(o, \"prototype\", {\n writable: !1\n }), e && Et(o, e);\n}\nfunction Et(o, e) {\n return Et = Object.setPrototypeOf || function(s, n) {\n return s.__proto__ = n, s;\n }, Et(o, e);\n}\nfunction li(o) {\n var e = hi();\n return function() {\n var s = De(o), n;\n if (e) {\n var a = De(this).constructor;\n n = Reflect.construct(s, arguments, a);\n } else\n n = s.apply(this, arguments);\n return ci(this, n);\n };\n}\nfunction ci(o, e) {\n if (e && (bt(e) === \"object\" || typeof e == \"function\"))\n return e;\n if (e !== void 0)\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n return di(o);\n}\nfunction di(o) {\n if (o === void 0)\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return o;\n}\nfunction hi() {\n if (typeof Reflect > \"u\" || !Reflect.construct || Reflect.construct.sham)\n return !1;\n if (typeof Proxy == \"function\")\n return !0;\n try {\n return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {\n })), !0;\n } catch {\n return !1;\n }\n}\nfunction De(o) {\n return De = Object.setPrototypeOf ? Object.getPrototypeOf : function(t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, De(o);\n}\nfunction ui(o) {\n var e = /* @__PURE__ */ function(t) {\n oi(n, t);\n var s = li(n);\n function n() {\n var a;\n ai(this, n);\n for (var i = arguments.length, r = new Array(i), l = 0; l < i; l++)\n r[l] = arguments[l];\n return a = s.call.apply(s, [this].concat(r)), a.handles = /* @__PURE__ */ new Set(), a;\n }\n return ii(n, [{\n key: \"manage\",\n value: (\n /**\n * Manages the given handle.\n * @param {Handle} handle The handle to manage.\n * @returns {Handle} The given handle.\n */\n function(i) {\n return this.handles.add(i), i;\n }\n )\n /**\n * Stop managing the given handle.\n * @param {Handle} handle The handle to stop managing.\n * @returns {Handle} The given handle.\n */\n }, {\n key: \"unmanage\",\n value: function(i) {\n return this.handles.delete(i), i;\n }\n }, {\n key: \"release\",\n value: function() {\n var i = this;\n return this.handles.forEach(function(r) {\n r.release(), i.handles.delete(r);\n }), We(De(n.prototype), \"release\", this).call(this);\n }\n }]), n;\n }(o);\n return e;\n}\nfunction Be(o) {\n for (var e = arguments.length, t = new Array(e > 1 ? e - 1 : 0), s = 1; s < e; s++)\n t[s - 1] = arguments[s];\n return o.addEventListener.apply(o, t), {\n release: function() {\n return o.removeEventListener.apply(o, t), null;\n }\n };\n}\nfunction St(o) {\n \"@babel/helpers - typeof\";\n return St = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(e) {\n return typeof e;\n } : function(e) {\n return e && typeof Symbol == \"function\" && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\n }, St(o);\n}\nfunction pi(o) {\n return vi(o) || fi(o) || mi(o) || gi();\n}\nfunction gi() {\n throw new TypeError(`Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);\n}\nfunction mi(o, e) {\n if (o) {\n if (typeof o == \"string\")\n return xt(o, e);\n var t = Object.prototype.toString.call(o).slice(8, -1);\n if (t === \"Object\" && o.constructor && (t = o.constructor.name), t === \"Map\" || t === \"Set\")\n return Array.from(o);\n if (t === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))\n return xt(o, e);\n }\n}\nfunction fi(o) {\n if (typeof Symbol < \"u\" && o[Symbol.iterator] != null || o[\"@@iterator\"] != null)\n return Array.from(o);\n}\nfunction vi(o) {\n if (Array.isArray(o))\n return xt(o);\n}\nfunction xt(o, e) {\n (e == null || e > o.length) && (e = o.length);\n for (var t = 0, s = new Array(e); t < e; t++)\n s[t] = o[t];\n return s;\n}\nfunction yi(o, e) {\n if (!(o instanceof e))\n throw new TypeError(\"Cannot call a class as a function\");\n}\nfunction ss(o, e) {\n for (var t = 0; t < e.length; t++) {\n var s = e[t];\n s.enumerable = s.enumerable || !1, s.configurable = !0, \"value\" in s && (s.writable = !0), Object.defineProperty(o, s.key, s);\n }\n}\nfunction bi(o, e, t) {\n return e && ss(o.prototype, e), t && ss(o, t), Object.defineProperty(o, \"prototype\", {\n writable: !1\n }), o;\n}\nfunction Ei(o, e) {\n if (typeof e != \"function\" && e !== null)\n throw new TypeError(\"Super expression must either be null or a function\");\n o.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: o,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(o, \"prototype\", {\n writable: !1\n }), e && Ot(o, e);\n}\nfunction Ot(o, e) {\n return Ot = Object.setPrototypeOf || function(s, n) {\n return s.__proto__ = n, s;\n }, Ot(o, e);\n}\nfunction Si(o) {\n var e = Ti();\n return function() {\n var s = Xe(o), n;\n if (e) {\n var a = Xe(this).constructor;\n n = Reflect.construct(s, arguments, a);\n } else\n n = s.apply(this, arguments);\n return xi(this, n);\n };\n}\nfunction xi(o, e) {\n if (e && (St(e) === \"object\" || typeof e == \"function\"))\n return e;\n if (e !== void 0)\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n return Oi(o);\n}\nfunction Oi(o) {\n if (o === void 0)\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return o;\n}\nfunction Ti() {\n if (typeof Reflect > \"u\" || !Reflect.construct || Reflect.construct.sham)\n return !1;\n if (typeof Proxy == \"function\")\n return !0;\n try {\n return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {\n })), !0;\n } catch {\n return !1;\n }\n}\nfunction Xe(o) {\n return Xe = Object.setPrototypeOf ? Object.getPrototypeOf : function(t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, Xe(o);\n}\nfunction Li(o) {\n var e = /* @__PURE__ */ function(t) {\n Ei(n, t);\n var s = Si(n);\n function n() {\n return yi(this, n), s.apply(this, arguments);\n }\n return bi(n, [{\n key: \"_changeState\",\n value: (\n /* eslint-disable jsdoc/check-param-names */\n /**\n * The internal implementation for {@link EventedState#changeState `.changeState()`}, performing actual change in state.\n * @param {string} [state] The new state. Can be an omitted, which means toggling.\n * @param {object} [detail]\n * The object that should be put to event details that is fired before/after changing state.\n * Can have a `group` property, which specifies what state to be changed.\n * @param {EventedState~changeStateCallback} callback The callback called once changing state is finished or is canceled.\n * @private\n */\n function() {\n throw new Error(\"_changeState() should be overridden to perform actual change in state.\");\n }\n )\n /**\n * Changes the state of this component.\n * @param {string} [state] The new state. Can be an omitted, which means toggling.\n * @param {object} [detail]\n * The object that should be put to event details that is fired before/after changing state.\n * Can have a `group` property, which specifies what state to be changed.\n * @param {EventedState~changeStateCallback} [callback] The callback called once changing state is finished or is canceled.\n */\n }, {\n key: \"changeState\",\n value: function() {\n for (var i = this, r = arguments.length, l = new Array(r), c = 0; c < r; c++)\n l[c] = arguments[c];\n var d = typeof l[0] == \"string\" ? l.shift() : void 0, p = Object(l[0]) === l[0] && typeof l[0] != \"function\" ? l.shift() : void 0, h = typeof l[0] == \"function\" ? l.shift() : void 0;\n if (typeof this.shouldStateBeChanged == \"function\" && !this.shouldStateBeChanged(d, p)) {\n h && h(null, !0);\n return;\n }\n var u = {\n group: p && p.group,\n state: d\n }, g = [u.group, d].filter(Boolean).join(\"-\").split(\"-\").map(function(M) {\n return M[0].toUpperCase() + M.substr(1);\n }).join(\"\"), m = new CustomEvent(this.options[\"eventBefore\".concat(g)], {\n bubbles: !0,\n cancelable: !0,\n detail: p\n }), b = p && p.delegatorNode || this.element, v = !b.dispatchEvent(m);\n if (v) {\n if (h) {\n var S = new Error(\"Changing state (\".concat(JSON.stringify(u), \") has been canceled.\"));\n S.canceled = !0, h(S);\n }\n } else {\n var T = [d, p].filter(Boolean);\n this._changeState.apply(this, pi(T).concat([function() {\n b.dispatchEvent(new CustomEvent(i.options[\"eventAfter\".concat(g)], {\n bubbles: !0,\n cancelable: !0,\n detail: p\n })), h && h();\n }]));\n }\n }\n /* eslint-enable jsdoc/check-param-names */\n /**\n * Tests if change in state should happen or not.\n * Classes inheriting {@link EventedState `EventedState`} should override this function.\n * @function EventedState#shouldStateBeChanged\n * @param {string} [state] The new state. Can be an omitted, which means toggling.\n * @param {object} [detail]\n * The object that should be put to event details that is fired before/after changing state.\n * Can have a `group` property, which specifies what state to be changed.\n * @returns {boolean}\n * `false` if change in state shouldn't happen, e.g. when the given new state is the same as the current one.\n */\n }]), n;\n }(o);\n return e;\n}\nfunction Tt(o, e) {\n var t = o.target, s = o.currentTarget;\n if (typeof t.matches == \"function\") {\n if (t.matches(e))\n return t;\n if (t.matches(\"\".concat(e, \" *\"))) {\n var n = t.closest(e);\n if ((s.nodeType === Node.DOCUMENT_NODE ? s.documentElement : s).contains(n))\n return n;\n }\n }\n}\nfunction ns(o) {\n if (!o || typeof o == \"function\")\n return {\n launchingElement: null,\n launchingEvent: null\n };\n var e = o.delegateTarget || o.currentTarget || o, t = o.currentTarget && o;\n if (e && !e.nodeType)\n throw new TypeError(\"DOM Node should be given for launching element.\");\n if (t && !t.type)\n throw new TypeError(\"DOM event should be given for launching event.\");\n return {\n launchingElement: e,\n launchingEvent: t\n };\n}\nfunction Lt(o) {\n \"@babel/helpers - typeof\";\n return Lt = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(e) {\n return typeof e;\n } : function(e) {\n return e && typeof Symbol == \"function\" && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\n }, Lt(o);\n}\nfunction wi(o, e) {\n if (!(o instanceof e))\n throw new TypeError(\"Cannot call a class as a function\");\n}\nfunction as(o, e) {\n for (var t = 0; t < e.length; t++) {\n var s = e[t];\n s.enumerable = s.enumerable || !1, s.configurable = !0, \"value\" in s && (s.writable = !0), Object.defineProperty(o, s.key, s);\n }\n}\nfunction Mi(o, e, t) {\n return e && as(o.prototype, e), t && as(o, t), Object.defineProperty(o, \"prototype\", {\n writable: !1\n }), o;\n}\nfunction Ai(o, e) {\n if (typeof e != \"function\" && e !== null)\n throw new TypeError(\"Super expression must either be null or a function\");\n o.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: o,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(o, \"prototype\", {\n writable: !1\n }), e && wt(o, e);\n}\nfunction wt(o, e) {\n return wt = Object.setPrototypeOf || function(s, n) {\n return s.__proto__ = n, s;\n }, wt(o, e);\n}\nfunction Ci(o) {\n var e = Ri();\n return function() {\n var s = Ye(o), n;\n if (e) {\n var a = Ye(this).constructor;\n n = Reflect.construct(s, arguments, a);\n } else\n n = s.apply(this, arguments);\n return ki(this, n);\n };\n}\nfunction ki(o, e) {\n if (e && (Lt(e) === \"object\" || typeof e == \"function\"))\n return e;\n if (e !== void 0)\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n return Ii(o);\n}\nfunction Ii(o) {\n if (o === void 0)\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return o;\n}\nfunction Ri() {\n if (typeof Reflect > \"u\" || !Reflect.construct || Reflect.construct.sham)\n return !1;\n if (typeof Proxy == \"function\")\n return !0;\n try {\n return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {\n })), !0;\n } catch {\n return !1;\n }\n}\nfunction Ye(o) {\n return Ye = Object.setPrototypeOf ? Object.getPrototypeOf : function(t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, Ye(o);\n}\nfunction Di(o) {\n var e = /* @__PURE__ */ function(t) {\n Ai(n, t);\n var s = Ci(n);\n function n() {\n return wi(this, n), s.apply(this, arguments);\n }\n return Mi(n, [{\n key: \"show\",\n value: (\n /**\n */\n /**\n * Switch to 'shown' state.\n * @param [evtOrElem] The launching event or element.\n * @param {EventedState~changeStateCallback} [callback] The callback.\n */\n function(i, r) {\n (!i || typeof i == \"function\") && (r = i), this.changeState(\"shown\", ns(i), r);\n }\n )\n /**\n * Switch to 'hidden' state.\n * @param [evtOrElem] The launching event or element.\n * @param {EventedState~changeStateCallback} [callback] The callback.\n */\n }, {\n key: \"hide\",\n value: function(i, r) {\n (!i || typeof i == \"function\") && (r = i), this.changeState(\"hidden\", ns(i), r);\n }\n }]), n;\n }(o);\n return e;\n}\nvar _i = [Li, Di];\nconst Pi = _i;\nfunction Vi(o) {\n return o && o.__esModule && Object.prototype.hasOwnProperty.call(o, \"default\") ? o.default : o;\n}\nvar js = function() {\n};\nprocess.env.NODE_ENV !== \"production\" && (js = function(o, e, t) {\n var s = arguments.length;\n t = new Array(s > 2 ? s - 2 : 0);\n for (var n = 2; n < s; n++)\n t[n - 2] = arguments[n];\n if (e === void 0)\n throw new Error(\n \"`warning(condition, format, ...args)` requires a warning message argument\"\n );\n if (e.length < 10 || /^[s\\W]*$/.test(e))\n throw new Error(\n \"The warning format should be able to uniquely identify this warning. Please, use a more descriptive format than: \" + e\n );\n if (!o) {\n var a = 0, i = \"Warning: \" + e.replace(/%s/g, function() {\n return t[a++];\n });\n typeof console < \"u\" && console.error(i);\n try {\n throw new Error(i);\n } catch {\n }\n }\n});\nvar Bi = js;\nconst $i = /* @__PURE__ */ Vi(Bi);\nfunction Mt(o) {\n \"@babel/helpers - typeof\";\n return Mt = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(e) {\n return typeof e;\n } : function(e) {\n return e && typeof Symbol == \"function\" && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\n }, Mt(o);\n}\nfunction Gi(o, e) {\n if (!(o instanceof e))\n throw new TypeError(\"Cannot call a class as a function\");\n}\nfunction is(o, e) {\n for (var t = 0; t < e.length; t++) {\n var s = e[t];\n s.enumerable = s.enumerable || !1, s.configurable = !0, \"value\" in s && (s.writable = !0), Object.defineProperty(o, s.key, s);\n }\n}\nfunction Ni(o, e, t) {\n return e && is(o.prototype, e), t && is(o, t), Object.defineProperty(o, \"prototype\", {\n writable: !1\n }), o;\n}\nfunction Hi(o, e) {\n if (typeof e != \"function\" && e !== null)\n throw new TypeError(\"Super expression must either be null or a function\");\n o.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: o,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(o, \"prototype\", {\n writable: !1\n }), e && At(o, e);\n}\nfunction At(o, e) {\n return At = Object.setPrototypeOf || function(s, n) {\n return s.__proto__ = n, s;\n }, At(o, e);\n}\nfunction Ui(o) {\n var e = Wi();\n return function() {\n var s = qe(o), n;\n if (e) {\n var a = qe(this).constructor;\n n = Reflect.construct(s, arguments, a);\n } else\n n = s.apply(this, arguments);\n return zi(this, n);\n };\n}\nfunction zi(o, e) {\n if (e && (Mt(e) === \"object\" || typeof e == \"function\"))\n return e;\n if (e !== void 0)\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n return Fi(o);\n}\nfunction Fi(o) {\n if (o === void 0)\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return o;\n}\nfunction Wi() {\n if (typeof Reflect > \"u\" || !Reflect.construct || Reflect.construct.sham)\n return !1;\n if (typeof Proxy == \"function\")\n return !0;\n try {\n return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {\n })), !0;\n } catch {\n return !1;\n }\n}\nfunction qe(o) {\n return qe = Object.setPrototypeOf ? Object.getPrototypeOf : function(t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, qe(o);\n}\nfunction ji(o) {\n var e = /* @__PURE__ */ function(t) {\n Hi(n, t);\n var s = Ui(n);\n function n() {\n return Gi(this, n), s.apply(this, arguments);\n }\n return Ni(n, null, [{\n key: \"init\",\n value: (\n /**\n * `true` suggests that this component is lazily initialized upon an action/event, etc.\n * @type {boolean}\n */\n /**\n * Instantiates this component in the given element.\n * If the given element indicates that it's an component of this class, instantiates it.\n * Otherwise, instantiates this component by clicking on launcher buttons\n * (buttons with attribute that `options.attribInitTarget` points to) of this component in the given node.\n * @param {Node} target The DOM node to instantiate this component in. Should be a document or an element.\n * @param {object} [options] The component options.\n * @param {string} [options.selectorInit] The CSS selector to find this component.\n * @param {string} [options.attribInitTarget] The attribute name in the launcher buttons to find target component.\n * @returns {Handle} The handle to remove the event listener to handle clicking.\n */\n function() {\n var i = this, r = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : document, l = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, c = Object.assign(Object.create(this.options), l);\n if (!r || r.nodeType !== Node.ELEMENT_NODE && r.nodeType !== Node.DOCUMENT_NODE)\n throw new TypeError(\"DOM document or DOM element should be given to search for and initialize this widget.\");\n if (r.nodeType === Node.ELEMENT_NODE && r.matches(c.selectorInit))\n this.create(r, l);\n else {\n var d = c.initEventNames.map(function(p) {\n return Be(r, p, function(h) {\n var u = Tt(h, \"[\".concat(c.attribInitTarget, \"]\"));\n if (u) {\n h.delegateTarget = u;\n var g = u.ownerDocument.querySelectorAll(u.getAttribute(c.attribInitTarget));\n if (g.length > 1)\n throw new Error(\"Target widget must be unique.\");\n if (g.length === 1) {\n u.tagName === \"A\" && h.preventDefault();\n var m = i.create(g[0], l);\n typeof m.createdByLauncher == \"function\" && m.createdByLauncher(h);\n }\n }\n });\n });\n return {\n release: function() {\n for (var h = d.pop(); h; h = d.pop())\n h.release();\n }\n };\n }\n return \"\";\n }\n )\n }]), n.forLazyInit = !0, n;\n }(o);\n return e;\n}\nfunction Ct(o) {\n \"@babel/helpers - typeof\";\n return Ct = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(e) {\n return typeof e;\n } : function(e) {\n return e && typeof Symbol == \"function\" && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\n }, Ct(o);\n}\nfunction Zi(o, e) {\n if (!(o instanceof e))\n throw new TypeError(\"Cannot call a class as a function\");\n}\nfunction rs(o, e) {\n for (var t = 0; t < e.length; t++) {\n var s = e[t];\n s.enumerable = s.enumerable || !1, s.configurable = !0, \"value\" in s && (s.writable = !0), Object.defineProperty(o, s.key, s);\n }\n}\nfunction Xi(o, e, t) {\n return e && rs(o.prototype, e), t && rs(o, t), Object.defineProperty(o, \"prototype\", {\n writable: !1\n }), o;\n}\nfunction Yi(o, e) {\n if (typeof e != \"function\" && e !== null)\n throw new TypeError(\"Super expression must either be null or a function\");\n o.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: o,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(o, \"prototype\", {\n writable: !1\n }), e && kt(o, e);\n}\nfunction kt(o, e) {\n return kt = Object.setPrototypeOf || function(s, n) {\n return s.__proto__ = n, s;\n }, kt(o, e);\n}\nfunction qi(o) {\n var e = Qi();\n return function() {\n var s = Ke(o), n;\n if (e) {\n var a = Ke(this).constructor;\n n = Reflect.construct(s, arguments, a);\n } else\n n = s.apply(this, arguments);\n return Ki(this, n);\n };\n}\nfunction Ki(o, e) {\n if (e && (Ct(e) === \"object\" || typeof e == \"function\"))\n return e;\n if (e !== void 0)\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n return Ji(o);\n}\nfunction Ji(o) {\n if (o === void 0)\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return o;\n}\nfunction Qi() {\n if (typeof Reflect > \"u\" || !Reflect.construct || Reflect.construct.sham)\n return !1;\n if (typeof Proxy == \"function\")\n return !0;\n try {\n return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {\n })), !0;\n } catch {\n return !1;\n }\n}\nfunction Ke(o) {\n return Ke = Object.setPrototypeOf ? Object.getPrototypeOf : function(t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, Ke(o);\n}\nvar er = /* @__PURE__ */ function(o) {\n Yi(t, o);\n var e = qi(t);\n function t(s, n) {\n var a;\n return Zi(this, t), a = e.call(this, s, n), a._handleFocusinListener = void 0, a._handleKeydownListener = void 0, a._handleFocusin = function(i) {\n var r = a.element.querySelector(a.options.selectorModalContainer) || a.element;\n a.element.classList.contains(a.options.classVisible) && !r.contains(i.target) && a.options.selectorsFloatingMenus.every(function(l) {\n return !Tt(i, l);\n }) && a.element.querySelector(ht.selectorTabbable).focus();\n }, a._hookCloseActions(), a;\n }\n return Xi(t, [{\n key: \"createdByLauncher\",\n value: (\n /**\n * A method that runs when `.init()` is called from `initComponentByLauncher`.\n * @param {Event} evt The event fired on the launcher button.\n */\n function(n) {\n this.show(n);\n }\n )\n /**\n * Determines whether or not to emit events and callback function when `.changeState()` is called from `eventedState`.\n * @param {string} state The new state.\n * @returns {boolean} `true` if the given `state` is different from current state.\n */\n }, {\n key: \"shouldStateBeChanged\",\n value: function(n) {\n return n === \"shown\" ? !this.element.classList.contains(this.options.classVisible) : this.element.classList.contains(this.options.classVisible);\n }\n /**\n * Changes the shown/hidden state.\n * @private\n * @param {string} state The new state.\n * @param {object} detail The detail data to be included in the event that will be fired.\n * @param {Function} callback Callback called when change in state completes.\n */\n }, {\n key: \"_changeState\",\n value: function(n, a, i) {\n var r = this, l, c = function() {\n if (l && (l = r.unmanage(l).release()), n === \"shown\" && r.element.offsetWidth > 0 && r.element.offsetHeight > 0) {\n r.previouslyFocusedNode = r.element.ownerDocument.activeElement;\n var u = r.element.querySelector(r.options.selectorPrimaryFocus) || r.element.querySelector(ht.selectorTabbable);\n u.focus(), process.env.NODE_ENV !== \"production\" && process.env.NODE_ENV !== \"production\" && $i(u, \"Modals need to contain a focusable element by either using \" + \"`\".concat(r.options.selectorPrimaryFocus, \"` or settings.selectorTabbable.\"));\n }\n i();\n };\n if (this._handleFocusinListener && (this._handleFocusinListener = this.unmanage(this._handleFocusinListener).release()), n === \"shown\") {\n var d = \"onfocusin\" in this.element.ownerDocument.defaultView, p = d ? \"focusin\" : \"focus\";\n this._handleFocusinListener = this.manage(Be(this.element.ownerDocument, p, this._handleFocusin, !d));\n }\n n === \"hidden\" ? (this.element.classList.toggle(this.options.classVisible, !1), this.element.ownerDocument.body.classList.toggle(this.options.classBody, !1), (this.options.selectorFocusOnClose || this.previouslyFocusedNode) && (this.element.ownerDocument.querySelector(this.options.selectorFocusOnClose) || this.previouslyFocusedNode).focus()) : n === \"shown\" && (this.element.classList.toggle(this.options.classVisible, !0), this.element.ownerDocument.body.classList.toggle(this.options.classBody, !0)), l = this.manage(Be(this.element, \"transitionend\", c));\n }\n }, {\n key: \"_hookCloseActions\",\n value: function() {\n var n = this;\n this.manage(Be(this.element, \"click\", function(a) {\n var i = Tt(a, n.options.selectorModalClose);\n i && (a.delegateTarget = i), (i || a.target === n.element) && n.hide(a);\n })), this._handleKeydownListener && (this._handleKeydownListener = this.unmanage(this._handleKeydownListener).release()), this._handleKeydownListener = this.manage(Be(this.element.ownerDocument.body, \"keydown\", function(a) {\n a.which === 27 && n.shouldStateBeChanged(\"hidden\") && (a.stopPropagation(), n.hide(a));\n }));\n }\n /**\n * Handles `focusin` (or `focus` depending on browser support of `focusin`) event to do wrap-focus behavior.\n * @param {Event} evt The event.\n * @private\n */\n }], [{\n key: \"options\",\n get: (\n /**\n * The component options.\n * If `options` is specified in the constructor, {@linkcode Modal.create .create()}, or {@linkcode Modal.init .init()},\n * properties in this object are overridden for the instance being create and how {@linkcode Modal.init .init()} works.\n * @member Modal.options\n * @type {object}\n * @property {string} selectorInit The CSS class to find modal dialogs.\n * @property {string} [selectorModalClose] The selector to find elements that close the modal.\n * @property {string} [selectorPrimaryFocus] The CSS selector to determine the element to put focus when modal gets open.\n * @property {string} [selectorFocusOnClose] The CSS selector to determine the element to put focus when modal closes.\n * If undefined, focus returns to the previously focused element prior to the modal opening.\n * @property {string} [selectorModalContainer] The CSS selector for the content container of the modal for focus wrap feature.\n * @property {string} attribInitTarget The attribute name in the launcher buttons to find target modal dialogs.\n * @property {string[]} [selectorsFloatingMenu]\n * The CSS selectors of floating menus.\n * Used for detecting if focus-wrap behavior should be disabled temporarily.\n * @property {string} [classVisible] The CSS class for the visible state.\n * @property {string} [classBody] The CSS class for `<body>` with open modal.\n * @property {string} [classNoScroll] The CSS class for hiding scroll bar in body element while modal is shown.\n * @property {string} [eventBeforeShown]\n * The name of the custom event fired before this modal is shown.\n * Cancellation of this event stops showing the modal.\n * @property {string} [eventAfterShown]\n * The name of the custom event telling that modal is sure shown\n * without being canceled by the event handler named by `eventBeforeShown` option (`modal-beingshown`).\n * @property {string} [eventBeforeHidden]\n * The name of the custom event fired before this modal is hidden.\n * Cancellation of this event stops hiding the modal.\n * @property {string} [eventAfterHidden]\n * The name of the custom event telling that modal is sure hidden\n * without being canceled by the event handler named by `eventBeforeHidden` option (`modal-beinghidden`).\n */\n function() {\n var n = ht.prefix;\n return {\n selectorInit: \"[data-modal]\",\n selectorModalClose: \"[data-modal-close]\",\n selectorPrimaryFocus: \"[data-modal-primary-focus]\",\n selectorsFloatingMenus: [\".\".concat(n, \"--overflow-menu-options\"), \".\".concat(n, \"--tooltip\"), \".flatpickr-calendar\"],\n selectorModalContainer: \".\".concat(n, \"--modal-container\"),\n classVisible: \"is-visible\",\n classBody: \"\".concat(n, \"--body--with-modal-open\"),\n attribInitTarget: \"data-modal-target\",\n initEventNames: [\"click\"],\n eventBeforeShown: \"modal-beingshown\",\n eventAfterShown: \"modal-shown\",\n eventBeforeHidden: \"modal-beinghidden\",\n eventAfterHidden: \"modal-hidden\"\n };\n }\n )\n }]), t.components = /* @__PURE__ */ new WeakMap(), t;\n}(qa(ni, ji, Pi, ui));\nconst tr = er;\nclass rc extends z {\n constructor(e, t, s) {\n super(e, t, s), this.type = \"modal\", this.isEventListenerAdded = !1, this.handleShowModal = () => {\n this.modal.attr(\"data-modal\", !0).attr(\"class\", \"cds--modal\").attr(\"role\", \"dialog\").attr(\"aria-modal\", !0).attr(\"aria-labelledby\", \"modal-title\").attr(\"aria-describedby\", \"modal-description\").attr(\"tabindex\", -1), this.modal.html(this.getModalHTML()), this.modal.select(\"div.cds--modal-footer button.cds--btn\").on(\"click\", () => this.model.exportToCSV()), tr.create(this.modal.node()).show(), document.addEventListener(\"modal-hidden\", this.handleHideModal);\n }, this.handleHideModal = () => {\n this.modal.attr(\"role\", null).attr(\"aria-modal\", null).attr(\"aria-labelledby\", null).attr(\"aria-describedby\", null).attr(\"tabindex\", null), document.removeEventListener(\"modal-hidden\", this.handleHideModal);\n }, this.init();\n }\n addEventListeners() {\n this.services.events.addEventListener(f.Modal.SHOW, this.handleShowModal);\n }\n removeEventListeners() {\n this.services.events.removeEventListener(f.Modal.SHOW, this.handleShowModal);\n }\n getModalHTML() {\n const e = this.model.getOptions(), t = y(e, \"style\", \"prefix\"), s = this.model.getTabularDataArray();\n return `\n\t\t<div class=\"cds--modal-container cds--modal-container\">\n\t\t\t<div class=\"cds--modal-header cds--modal-header\">\n\t\t\t\t<p class=\"cds--modal-header__label cds--type-delta cds--modal-header__label cds--type-delta\" id=\"modal-title\">Tabular representation</p>\n\n\t\t\t\t<p class=\"cds--modal-header__heading cds--type-beta cds--modal-header__heading cds--type-beta\" id=\"modal-description\">${e.title}</p>\n\n\t\t\t\t<button class=\"cds--modal-close cds--modal-close\" type=\"button\" data-modal-close aria-label=\"close modal\" data-modal-primary-focus>\n\t\t\t\t\t<svg focusable=\"false\" preserveAspectRatio=\"xMidYMid meet\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" aria-label=\"Close\" width=\"20\" height=\"20\" viewBox=\"0 0 32 32\" role=\"img\" class=\"cds--modal-close__icon cds--modal-close__icon\">\n\t\t\t\t\t\t<path d=\"M24 9.4L22.6 8 16 14.6 9.4 8 8 9.4 14.6 16 8 22.6 9.4 24 16 17.4 22.6 24 24 22.6 17.4 16 24 9.4z\"></path>\n\t\t\t\t\t</svg>\n\t\t\t\t</button>\n\t\t\t</div>\n\n\t\t\t<div class=\"cds--modal-content cds--modal-content\">\n\t\t\t\t<table class=\"cds--data-table cds--data-table--no-border cds--data-table cds--data-table--no-border\">\n\t\t\t\t\t<thead>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t${Q(s, 0).map(\n (n) => `<th scope=\"col\">\n\t\t\t\t\t\t\t\t<div class=\"cds--table-header-label cds--table-header-label\">${n}</div>\n\t\t\t\t\t\t\t</th>`\n ).join(\"\")}\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t</thead>\n\n\t\t\t\t\t<tbody>${s.slice(1).map(\n (n) => `\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t${n.map((a) => `<td>${a}</td>`).join(\"\")}\n\t\t\t\t\t\t\t</tr>`\n ).join(\"\")}\n\t\t\t\t\t</tbody>\n\t\t\t\t</table>\n\t\t\t</div>\n\n\t\t\t<div class=\"cds--modal-footer cds--modal-footer\">\n\t\t\t <div class=\"${he}--${t}-modal-footer-spacer\"></div>\n\t\t\t <button class=\"cds--btn cds--btn--primary cds--btn cds--btn--primary\" type=\"button\" data-modal-primary-focus>Download as CSV</button>\n\t\t\t</div>\n\t\t</div>`;\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n render(e = !1) {\n const t = this.model.getOptions();\n if (!this.isEventListenerAdded) {\n const s = x(this.services.domUtils.getHolder()), n = y(t, \"style\", \"prefix\");\n this.modal = E.appendOrSelect(s, `div.${he}--${n}--modal`), this.addEventListeners(), this.isEventListenerAdded = !0;\n }\n }\n destroy() {\n this.removeEventListeners(), this.isEventListenerAdded = !1;\n }\n}\nclass sr extends z {\n constructor() {\n super(...arguments), this.type = \"title\", this.renderType = H.HTML;\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n render(e = !1) {\n const t = this.getComponentContainer(), s = y(this.getOptions(), \"title\"), n = t.selectAll(\"p.title\").data([s]);\n if (n.enter().append(\"p\").classed(\"title\", !0).attr(\"role\", \"heading\").attr(\"aria-level\", 2).merge(n).html((a) => a), n.node() && n.node().offsetWidth < n.node().scrollWidth) {\n const a = this;\n n.on(\"mouseover\", function(i) {\n a.services.events.dispatchEvent(f.Tooltip.SHOW, {\n event: i,\n hoveredElement: n,\n content: n.text()\n });\n }).on(\"mousemove\", function(i) {\n a.services.events.dispatchEvent(f.Tooltip.MOVE, {\n event: i\n });\n }).on(\"mouseout\", function() {\n a.services.events.dispatchEvent(f.Tooltip.HIDE);\n });\n }\n n.exit().remove();\n }\n /**\n * Truncates title creating ellipses and attaching tooltip for exposing full title.\n */\n truncateTitle(e, t) {\n if (t <= 0)\n return;\n const s = e.text();\n if (e.node().getComputedTextLength() > t) {\n e.append(\"tspan\").text(\"...\");\n const n = E.appendOrSelect(e, \"tspan\").node().getComputedTextLength(), a = e.text(), i = this.getSubstringIndex(\n e.node(),\n 0,\n a.length - 1,\n t - n\n );\n e.html(a.substring(0, i - 1)).append(\"tspan\").text(\"...\");\n const r = this;\n e.on(\"mouseover\", function(l) {\n r.services.events.dispatchEvent(f.Tooltip.SHOW, {\n event: l,\n hoveredElement: e,\n content: s\n });\n }).on(\"mousemove\", function(l) {\n r.services.events.dispatchEvent(f.Tooltip.MOVE, {\n event: l\n });\n }).on(\"mouseout\", function() {\n r.services.events.dispatchEvent(f.Tooltip.HIDE);\n });\n }\n }\n // computes the maximum space a title can take\n getMaxTitleWidth() {\n return E.getSVGElementSize(this.parent.node(), {\n useAttrs: !0\n }).width;\n }\n /**\n * Returns the index for a maximum length substring that is less than the width parameter.\n * @param title the title node used for getting the text lengths of substrings\n * @param start the start index for the binary search\n * @param end the end index for the binary search\n * @param width the width of the svg container that holds the title\n */\n getSubstringIndex(e, t, s, n) {\n const a = Math.floor((s + t) / 2);\n return e.getSubStringLength(0, a) > n ? this.getSubstringIndex(e, t, a, n) : e.getSubStringLength(0, a) < n ? e.getSubStringLength(0, a + 1) > n ? a : this.getSubstringIndex(e, a, s, n) : a;\n }\n}\nclass nr extends z {\n constructor() {\n super(...arguments), this.type = \"legend\", this.renderType = H.HTML;\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n render(e = !1) {\n const t = this.getOptions(), s = y(t, \"legend\"), n = y(s, \"alignment\"), a = y(t, \"legend\", \"orientation\");\n let i = this.model.getDataGroups();\n const { DISABLED: r } = K.items.status, l = i.some((S) => S.status === r), c = y(s, \"order\"), d = this.getComponentContainer().classed(\"center-aligned\", n === ue.CENTER).classed(\"right-aligned\", n === ue.RIGHT).classed(a, !0).classed(\"has-deactivated-items\", l).attr(\"role\", U.GROUP).attr(\"aria-label\", \"Data groups\").attr(\"data-name\", \"legend-items\");\n c && (i = this.sortDataGroups(i, c));\n const p = d.selectAll(\"div.legend-item\").data(i, (S) => S.name), h = p.enter().append(\"div\").attr(\"class\", \"legend-item\");\n h.merge(d.selectAll(\"div.legend-item\")).classed(\"active\", function(S) {\n return S.status === K.items.status.ACTIVE;\n });\n const u = y(this.getOptions(), \"legend\", \"clickable\");\n d.classed(\"clickable\", u && i.length > 1);\n const g = K.checkbox.radius, m = h.append(\"div\").classed(\"checkbox\", !0), b = m.merge(p.select(\"div.checkbox\")).attr(\"role\", U.CHECKBOX).attr(\"tabindex\", u ? 0 : -1).attr(\n \"aria-labelledby\",\n (S, T) => this.services.domUtils.generateElementIDString(`legend-datagroup-${T}-title`)\n ).attr(\"aria-checked\", ({ status: S }) => S === K.items.status.ACTIVE).attr(\"width\", g * 2).attr(\"height\", g * 2).attr(\n \"class\",\n (S) => this.model.getColorClassName({\n classNameTypes: [$.BACKGROUND],\n dataGroupName: S.name,\n originalClassName: \"checkbox\"\n })\n ).style(\n \"background\",\n (S) => S.status === K.items.status.ACTIVE ? this.model.getFillColor(S.name) || this.model.getStrokeColor(S.name) : null\n ).classed(\"active\", function(S) {\n return S.status === K.items.status.ACTIVE;\n });\n m.append(\"svg\").attr(\"focusable\", !1).attr(\"preserveAspectRatio\", \"xMidYMid meet\").attr(\"xmlns\", \"http://www.w3.org/2000/svg\").attr(\"width\", \"11\").attr(\"height\", \"11\").attr(\"viewBox\", \"0 0 31 28\").attr(\"aria-hidden\", !0).style(\"will-change\", \"transform\").append(\"path\").attr(\"d\", \"M13 21.2l-7.1-7.1-1.4 1.4 7.1 7.1L13 24 27.1 9.9l-1.4-1.5z\"), h.append(\"p\").merge(p.select(\"p\"));\n const v = y(t, \"legend\", \"additionalItems\");\n if (v && i.length) {\n const S = this, T = d.selectAll(\"div.additional-item\").data(v);\n T.exit().remove();\n const M = T.enter().append(\"div\").merge(T).classed(\"legend-item\", !0).classed(\"additional\", !0).attr(\n \"aria-labelledby\",\n (k, I) => this.services.domUtils.generateElementIDString(\n `legend-datagroup-${b.size() + I}-title`\n )\n );\n M.selectAll(\"*\").remove();\n let L, O = 1;\n M.append(\"svg\").classed(\"icon\", !0).each(function(k) {\n const I = x(this);\n !L || L != k.type ? (L = k.type, O = 1) : O++, S.addAdditionalItem(I, k, O);\n }), M.append(\"p\").merge(M.select(\"p\")), this.truncateLegendText();\n }\n p.exit().on(\"mouseover\", null).on(\"click\", null).on(\"mouseout\", null).remove(), u && h.size() > 1 && this.addEventListeners();\n }\n sortDataGroups(e, t) {\n if (e.sort(\n (s, n) => t.indexOf(s.name) - t.indexOf(n.name)\n ), t.length < e.length) {\n const s = e.length - t.length;\n return e.slice(s).concat(e.slice(0, s));\n }\n return e;\n }\n addAdditionalItem(e, t, s) {\n const { width: n, height: a } = K.area;\n if (t.type === Se.RADIUS ? e.style(\"width\", `${a}px`).style(\"height\", `${a}px`) : e.style(\"width\", `${n}px`).style(\"height\", `${a}px`), t.type === Se.RADIUS) {\n const { iconData: i, fill: r, stroke: l } = K.radius;\n e.attr(\"fill\", \"none\").selectAll(\"circle\").data(i).enter().append(\"circle\").classed(\"radius\", !0).attr(\"role\", U.IMG).attr(\"aria-label\", \"radius\").attr(\"cx\", (d) => d.cx).attr(\"cy\", (d) => d.cy).attr(\"r\", (d) => d.r).style(\"fill\", t.fill ? t.fill : r).style(\"stroke\", t.stroke ? t.stroke : l);\n } else if (t.type === Se.LINE) {\n const i = K.line;\n e.select(\"line.line\").empty() && e.append(\"line\").classed(`line-${s}`, !0).attr(\"role\", U.IMG).attr(\"aria-label\", \"line\").attr(\"x1\", 0).attr(\"y1\", i.yPosition).attr(\"x2\", n).attr(\"y2\", i.yPosition).style(\"stroke\", t.stroke ? t.stroke : i.stroke).style(\"stroke-width\", i.strokeWidth);\n } else if (t.type === Se.AREA)\n e.select(\"rect.area\").empty() && e.append(\"rect\").classed(`area-${s}`, !0).attr(\"role\", U.IMG).attr(\"aria-label\", \"area\").attr(\"width\", n).attr(\"height\", a).style(\n \"fill\",\n s > 3 && !t.fill ? K.area.fill : t.fill\n ).style(\"stroke\", t.stroke);\n else if (t.type === Se.SIZE) {\n const { iconData: i, fill: r, stroke: l } = K.size;\n e.attr(\"fill\", \"none\").attr(\"role\", U.IMG).attr(\"aria-label\", \"size\").selectAll(\"rect\").data(i).enter().append(\"rect\").classed(\"size\", !0).attr(\"width\", (d) => d.width).attr(\"height\", (d) => d.height).attr(\"y\", () => 0).style(\"fill\", t.fill ? t.fill : r).style(\"stroke\", t.stroke ? t.stroke : l).style(\"stroke-width\", 1);\n } else if (t.type === Se.QUARTILE) {\n const { iconData: i } = K.quartile;\n e.selectAll(\"rect\").attr(\"role\", U.IMG).attr(\"aria-label\", \"quartile\").data(i).enter().append(\"rect\").attr(\"class\", (l, c) => `quartile-${c === 0 ? \"wrapper\" : \"line\"}`).attr(\"x\", (l) => l.x).attr(\"y\", (l) => l.y).attr(\"width\", (l) => l.width).attr(\"height\", (l) => l.height);\n } else if (t.type === Se.ZOOM) {\n const { iconData: i, color: r } = y(K, \"zoom\"), l = e.attr(\"role\", U.IMG).attr(\"aria-label\", \"zoom\").selectAll(\"g.icon\").data(i).enter();\n l.append(\"g\").attr(\"x\", (c) => c.x).attr(\"y\", (c) => c.y).attr(\"width\", (c) => c.width).attr(\"height\", (c) => c.height).append(\"polygon\").attr(\n \"points\",\n \"7.7 4.82 5.78 4.82 5.78 2.89 4.82 2.89 4.82 4.82 2.89 4.82 2.89 5.78 4.82 5.78 4.82 7.7 5.78 7.7 5.78 5.78 7.7 5.78 7.7 4.82\"\n ).attr(\"fill\", () => t.color ? t.color : r), l.append(\"path\").attr(\n \"d\",\n \"M9.36,8.67A5.22,5.22,0,0,0,10.59,5.3,5.3,5.3,0,1,0,5.3,10.59,5.22,5.22,0,0,0,8.67,9.36L12.32,13l.68-.68Zm-4.06,1A4.34,4.34,0,1,1,9.63,5.3,4.33,4.33,0,0,1,5.3,9.63Z\"\n ).attr(\"fill\", () => t.color ? t.color : r);\n }\n }\n truncateLegendText() {\n const e = this.getComponentContainer(), t = y(this.getOptions(), \"legend\", \"truncation\"), s = y(t, \"type\"), n = y(t, \"threshold\"), a = y(t, \"numCharacter\"), i = e.selectAll(\"div.legend-item p\");\n i.attr(\"id\", function() {\n return (this.parentNode.querySelector(\"div.checkbox\") || this.parentNode).getAttribute(\"aria-labelledby\");\n }), s !== Ie.NONE ? i.html(function(r) {\n return r.name.length > n && r.name.length !== a ? Ge(r.name, s, a) : r.name;\n }) : i.html((r) => r.name);\n }\n addEventListeners() {\n const e = this, t = this.getComponentContainer(), s = this.getOptions(), n = y(s, \"legend\"), a = y(n, \"truncation\");\n t.selectAll(\"div.legend-item\").on(\"mouseover\", function(i) {\n e.services.events.dispatchEvent(f.Legend.ITEM_HOVER, {\n hoveredElement: x(this)\n });\n const r = x(this);\n r.select(\"div.checkbox\").classed(\"hovered\", !0);\n const l = r.datum();\n l.name.length > a.threshold && a.numCharacter < l.name.length && a.type !== Ie.NONE && e.services.events.dispatchEvent(f.Tooltip.SHOW, {\n event: i,\n hoveredElement: r,\n content: l.name\n });\n }).on(\"mousemove\", function(i) {\n x(this).datum().name.length > a.threshold && a.type !== Ie.NONE && e.services.events.dispatchEvent(f.Tooltip.MOVE, {\n event: i\n });\n }).on(\"click\", function() {\n e.services.events.dispatchEvent(f.Legend.ITEM_CLICK, {\n clickedElement: x(this)\n });\n const r = x(this).datum();\n e.model.toggleDataLabel(r.name);\n }).on(\"mouseout\", function() {\n const i = x(this);\n i.select(\"div.checkbox\").classed(\"hovered\", !1), i.datum().name.length > a.threshold && a.type !== Ie.NONE && e.services.events.dispatchEvent(f.Tooltip.HIDE), e.services.events.dispatchEvent(f.Legend.ITEM_MOUSEOUT, {\n hoveredElement: i\n });\n }), t.selectAll(\"div.legend-item div.checkbox\").on(\"keyup\", function(i) {\n i.key && i.key === \"Tab\" && e.services.events.dispatchEvent(f.Legend.ITEM_HOVER, {\n hoveredElement: x(this)\n });\n }), t.selectAll(\"div.legend-item div.checkbox\").on(\"keydown\", function(i, r) {\n i.key && i.key === \" \" ? (i.preventDefault(), e.model.toggleDataLabel(r.name)) : i.key && i.key === \"Tab\" && e.services.events.dispatchEvent(f.Legend.ITEM_MOUSEOUT, {\n hoveredElement: x(this)\n });\n }), t.selectAll(\"g.additional-item\").on(\"mouseover\", function(i) {\n const r = x(this), l = r.datum();\n l.name.length > a.threshold && e.services.events.dispatchEvent(f.Tooltip.SHOW, {\n event: i,\n hoveredElement: r,\n content: l.name\n });\n });\n }\n}\nclass ar extends z {\n constructor(e, t, s) {\n super(e, t, s), this.type = \"chart-clip\", this.renderType = H.SVG, this.chartClipId = \"chart-clip-id-\" + Math.floor(Math.random() * 99999999999), this.init();\n }\n init() {\n this.model.set({ chartClipId: this.chartClipId }, { skipUpdate: !0 });\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n render(e = !0) {\n this.createClipPath();\n }\n createClipPath() {\n const e = this.parent, { cartesianScales: t } = this.services;\n if (!t)\n throw new Error(\"Service cartesianScales was undefined\");\n const s = t.getMainXScale(), n = t.getMainYScale(), [a, i] = s.range(), [r, l] = n.range();\n if (!e)\n throw new Error(\"svg is undefined\");\n this.chartClipPath = E.appendOrSelect(e, `clipPath.${this.type}`).attr(\n \"id\",\n this.chartClipId\n );\n const c = E.appendOrSelect(this.chartClipPath, `rect.${this.type}`);\n i - a > 0 && c.attr(\"x\", a).attr(\"y\", l).attr(\"width\", i - a).attr(\"height\", r - l), this.chartClipPath.merge(c).lower();\n }\n}\nclass oc extends ar {\n constructor() {\n super(...arguments), this.type = \"canvas-chart-clip\", this.chartClipId = \"canvas-chart-clip-id-\" + Math.floor(Math.random() * 99999999999);\n }\n createClipPath() {\n const e = this.parent, { width: t, height: s } = E.getSVGElementSize(this.parent, {\n useAttrs: !0\n });\n this.chartClipPath = E.appendOrSelect(e, `clipPath.${this.type}`).attr(\n \"id\",\n this.chartClipId\n );\n const n = E.appendOrSelect(this.chartClipPath, `rect.${this.type}`);\n n.attr(\"x\", 0).attr(\"y\", 0).attr(\"width\", t).attr(\"height\", s), this.chartClipPath.merge(n).lower();\n }\n}\nvar Me, ne;\n(function(o) {\n o.LEFT = \"left\", o.RIGHT = \"right\", o.TOP = \"top\", o.BOTTOM = \"bottom\";\n})(ne || (ne = {}));\nvar os = (Me = {}, Me[ne.LEFT] = function(o, e, t) {\n return {\n top: o.top - Math.round(e.offsetHeight / 2) + Math.round(t.height / 2),\n left: Math.round(o.left - e.offsetWidth)\n };\n}, Me[ne.RIGHT] = function(o, e, t) {\n return {\n top: o.top - Math.round(e.offsetHeight / 2) + Math.round(t.height / 2),\n left: Math.round(o.left + t.width)\n };\n}, Me[ne.TOP] = function(o, e, t) {\n return {\n top: Math.round(o.top - e.offsetHeight),\n left: o.left - Math.round(e.offsetWidth / 2) + Math.round(t.width / 2)\n };\n}, Me[ne.BOTTOM] = function(o, e, t) {\n return {\n top: Math.round(o.top + t.height),\n left: o.left - Math.round(e.offsetWidth / 2) + Math.round(t.width / 2)\n };\n}, Me), ls = typeof window < \"u\" ? window : {\n innerHeight: 0,\n scrollY: 0,\n innerWidth: 0,\n scrollX: 0\n}, et = (\n /** @class */\n function() {\n function o(e) {\n e === void 0 && (e = {}), this.positions = os, this.positions = Object.assign({}, os, e);\n }\n return o.prototype.getRelativeOffset = function(e) {\n for (var t = {\n left: e.offsetLeft,\n top: e.offsetTop\n }; e.offsetParent && getComputedStyle(e.offsetParent).position === \"static\"; )\n t.left += e.offsetLeft, t.top += e.offsetTop, e = e.offsetParent;\n return t;\n }, o.prototype.getAbsoluteOffset = function(e) {\n for (var t = e, s = {\n top: 0,\n left: 0\n }; t.offsetParent; ) {\n var n = getComputedStyle(t.offsetParent);\n n.position === \"static\" && n.marginLeft && n.marginTop && (parseInt(n.marginTop, 10) && (s.top += parseInt(n.marginTop, 10)), parseInt(n.marginLeft, 10) && (s.left += parseInt(n.marginLeft, 10))), t = t.offsetParent;\n }\n var a = e.getBoundingClientRect(), i = document.body.getBoundingClientRect();\n return {\n top: a.top - i.top + s.top,\n left: a.left - i.left + s.left\n };\n }, o.prototype.findRelative = function(e, t, s) {\n var n = this.getRelativeOffset(e), a = e.getBoundingClientRect();\n return this.calculatePosition(n, a, t, s);\n }, o.prototype.findAbsolute = function(e, t, s) {\n var n = this.getAbsoluteOffset(e), a = e.getBoundingClientRect();\n return this.calculatePosition(n, a, t, s);\n }, o.prototype.findPosition = function(e, t, s, n) {\n n === void 0 && (n = this.getAbsoluteOffset.bind(this));\n var a = n(e), i = e.getBoundingClientRect();\n return this.calculatePosition(a, i, t, s);\n }, o.prototype.findPositionAt = function(e, t, s) {\n return this.calculatePosition(e, { top: 0, left: 0, height: 0, width: 0 }, t, s);\n }, o.prototype.getPlacementBox = function(e, t) {\n var s = e.offsetHeight + t.top, n = e.offsetWidth + t.left;\n return {\n top: t.top,\n bottom: s,\n left: t.left,\n right: n\n };\n }, o.prototype.addOffset = function(e, t, s) {\n return t === void 0 && (t = 0), s === void 0 && (s = 0), Object.assign({}, e, {\n top: e.top + t,\n left: e.left + s\n });\n }, o.prototype.setElement = function(e, t) {\n e.style.top = t.top + \"px\", e.style.left = t.left + \"px\";\n }, o.prototype.findBestPlacement = function(e, t, s, n, a) {\n var i = this;\n n === void 0 && (n = this.defaultContainerFunction.bind(this)), a === void 0 && (a = this.findPosition.bind(this));\n var r = s.map(function(l) {\n var c = a(e, t, l), d = i.getPlacementBox(t, c), p = 0, h = 0, u = n();\n d.top < u.top ? p = u.top - d.top : d.bottom > u.height && (p = d.bottom - u.height), d.left < u.left ? h = u.left - d.left : d.right > u.width && (h = d.right - u.width), p && !h ? h = 1 : h && !p && (p = 1);\n var g = t.offsetHeight * t.offsetWidth, m = p * h, b = g - m, v = b / g;\n return {\n placement: l,\n weight: v\n };\n });\n return r.sort(function(l, c) {\n return c.weight - l.weight;\n }), r[0].placement;\n }, o.prototype.findBestPlacementAt = function(e, t, s, n) {\n var a = this;\n n === void 0 && (n = this.defaultContainerFunction.bind(this));\n var i = function(r, l, c) {\n return a.findPositionAt(e, l, c);\n };\n return this.findBestPlacement(null, t, s, n, i);\n }, o.prototype.defaultContainerFunction = function() {\n return {\n // we go with window here, because that's going to be the simple/common case\n top: 0,\n left: 0,\n height: ls.innerHeight,\n width: ls.innerWidth\n };\n }, o.prototype.calculatePosition = function(e, t, s, n) {\n return this.positions[n] ? this.positions[n](e, s, t) : (console.error(\"No function found for placement, defaulting to 0,0\"), { left: 0, top: 0 });\n }, o;\n }()\n);\nnew et();\nclass ir extends z {\n constructor(e, t, s) {\n super(e, t, s), this.type = \"tooltip\", this.renderType = H.HTML, this.isEventListenerAdded = !1, this.positionService = new et(), this.handleShowTooltip = (n) => {\n const a = n.detail.data || n.detail.items;\n let i;\n const r = this.formatItems(this.getItems(n));\n n.detail.content ? i = `<div class=\"title-tooltip\"><p>${n.detail.content}</p></div>` : i = this.getTooltipHTML(r);\n const l = E.appendOrSelect(this.tooltip, \"div.content-box\");\n if (y(this.getOptions(), \"tooltip\", \"customHTML\"))\n if (n.detail.content) {\n const c = `<div class=\"title-tooltip\"><p>${n.detail.content}</p></div>`;\n l.html(c);\n } else\n l.html(this.model.getOptions().tooltip.customHTML(a, i));\n else\n l.html(i);\n l.selectAll(\".datapoint-tooltip\").each(function(c, d) {\n const p = r[d];\n r[d] && r[d].color && x(this).select(\".tooltip-color\").attr(\"class\", \"tooltip-color\").style(\"background-color\", p.color);\n }), this.positionTooltip(n), this.tooltip.classed(\"hidden\", !1).attr(\"aria-hidden\", !1);\n }, this.handleHideTooltip = () => {\n this.tooltip.classed(\"hidden\", !0).attr(\"aria-hidden\", !0);\n }, this.init();\n }\n addTooltipEventListener() {\n this.services.events.addEventListener(f.Tooltip.MOVE, (e) => {\n this.tooltip.classed(\"hidden\") === !1 && this.positionTooltip(e);\n }), this.services.events.addEventListener(f.Tooltip.SHOW, this.handleShowTooltip), this.services.events.addEventListener(f.Tooltip.HIDE, this.handleHideTooltip), this.services.events.addEventListener(f.Chart.MOUSEOUT, this.handleHideTooltip);\n }\n removeTooltipEventListener() {\n this.services.events.removeEventListener(f.Tooltip.MOVE, null), this.services.events.removeEventListener(f.Tooltip.SHOW, this.handleShowTooltip), this.services.events.removeEventListener(f.Tooltip.HIDE, this.handleHideTooltip), this.services.events.removeEventListener(f.Chart.MOUSEOUT, this.handleHideTooltip);\n }\n getItems(e) {\n return e.detail.items ? e.detail.items : [];\n }\n formatItems(e) {\n const t = this.getOptions(), s = y(t, \"tooltip\", \"truncation\", \"type\"), n = y(t, \"tooltip\", \"truncation\", \"threshold\"), a = y(t, \"tooltip\", \"truncation\", \"numCharacter\");\n return s !== Ie.NONE ? e.map((i) => {\n const r = i.labelIcon ? 12 : 0;\n return i.value = i.value ? this.valueFormatter(i.value, i.label) : i.value, i.label && i.label.length + r > n && (i.label = Ge(i.label, s, a)), i.value && i.value.length > n && (i.value = Ge(i.value, s, a)), i;\n }) : e.map((i) => (i.value = i.value ? this.valueFormatter(i.value, i.label) : i.value, i));\n }\n getTooltipHTML(e) {\n return '<ul class=\"multi-tooltip\">' + e.map(\n (t) => `<li>\n\t\t\t\t\t<div class=\"datapoint-tooltip${t.bold ? \" bold\" : \"\"}\">\n\t\t\t\t\t\t${t.class || t.color ? `<div class=\"tooltip-color ${t.class}\"></div>` : \"\"}\n\t\t\t\t\t\t<div class=\"label\">\n\t\t\t\t\t\t<p>${t.label || \"\"}</p>\n\t\t\t\t\t\t${t.labelIcon ? `<span class=\"label-icon\"/>${t.labelIcon}</span>` : \"\"}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t${t.value === void 0 || t.value === null ? \"\" : `<p class=\"value\"/>${t.value}</p>`}\n\t\t\t\t\t</div>\n\t\t\t\t</li>`\n ).join(\"\") + \"</ul>\";\n }\n valueFormatter(e, t) {\n const s = this.getOptions(), n = y(s, \"tooltip\", \"valueFormatter\");\n if (n)\n return n(e, t);\n if (typeof e.getTime == \"function\")\n return zt(e, \"MMM d, yyyy\");\n try {\n if (typeof e == \"string\" && /\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z/.test(e))\n return zt(Date.parse(e), \"MMM d, yyyy\");\n } catch {\n }\n return e.toLocaleString();\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n render(e = !1) {\n const t = this.getOptions(), s = y(t, \"tooltip\", \"enabled\");\n if (s) {\n const n = x(this.services.domUtils.getHolder()), a = y(t, \"style\", \"prefix\");\n this.tooltip = E.appendOrSelect(n, `div.${he}--${a}--tooltip`), this.tooltip.style(\"max-width\", null).attr(\"role\", \"tooltip\"), this.isEventListenerAdded || (this.addTooltipEventListener(), this.isEventListenerAdded = !0), this.tooltip.classed(\"hidden\", !0);\n } else\n !s && this.isEventListenerAdded && (this.removeTooltipEventListener(), this.isEventListenerAdded = !1);\n }\n positionTooltip(e) {\n const t = this.services.domUtils.getHolder(), s = this.tooltip.node(), n = this.getOptions(), a = y(n, \"zoomBar\", \"top\", \"enabled\");\n let i = y(e, \"detail\", \"mousePosition\");\n if (!i)\n i = Je(y(e, \"detail\", \"event\"), t);\n else {\n const h = y(n, \"zoomBar\", \"top\", \"type\"), u = de.height[h];\n a && (i[1] += u + de.spacerHeight);\n }\n const r = t.offsetWidth, l = t.offsetHeight;\n let c;\n i[0] / r > 0.9 ? c = ne.LEFT : i[0] / r < 0.1 ? c = ne.RIGHT : c = this.positionService.findBestPlacementAt(\n {\n left: i[0],\n top: i[1]\n },\n s,\n [ne.RIGHT, ne.LEFT, ne.TOP, ne.BOTTOM],\n () => ({\n top: void 0,\n // properties were never set to optional (probably should)\n left: void 0,\n // ditto\n width: r,\n height: l\n })\n );\n let { horizontalOffset: d } = wn;\n c === ne.LEFT && (d *= -1);\n const p = this.positionService.findPositionAt(\n {\n left: i[0] + d,\n top: i[1]\n },\n s,\n c\n );\n this.positionService.setElement(s, p);\n }\n}\nconst Zs = class je extends z {\n constructor() {\n super(...arguments), this.type = \"grid-brush\", this.renderType = H.SVG, this.selectionSelector = \"rect.selection\", this.frontSelectionSelector = \"rect.frontSelection\";\n }\n // needs to match the class name in _grid-brush.scss\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n render(e = !0) {\n const t = this.parent, s = this.getComponentContainer();\n if (!t)\n throw new Error(\"SVG was not defined\");\n const n = E.appendOrSelect(t, \"svg.chart-grid-backdrop\"), a = E.appendOrSelect(n, `g.${this.type}`), i = E.appendOrSelect(a, this.selectionSelector), { width: r, height: l } = E.getSVGElementSize(n, {\n useAttrs: !0\n }), { cartesianScales: c } = this.services, d = c.getMainXScaleType(), p = c.getMainXScale(), [h] = p.range();\n s.attr(\"transform\", `translate(${h},0)`);\n const u = E.appendOrSelect(s, this.frontSelectionSelector);\n if (p && d === te.TIME) {\n let g = this.model.get(\"zoomDomain\");\n g === void 0 && (g = this.services.zoom.getDefaultZoomBarDomain(), g && this.model.set({ zoomDomain: g }, { animate: !1 }));\n const m = (L) => {\n const O = L[1] - L[0];\n let k = \"0,\" + O.toString();\n const I = Math.floor(l / je.DASH_LENGTH), F = I * je.DASH_LENGTH;\n for (let P = 0; P < I; P++)\n k += \",\" + je.DASH_LENGTH;\n k += \",\" + (l - F), I % 2 === 1 && (k += \",0\"), k += \",\" + O.toString(), k += \",\" + l.toString(), u.attr(\"stroke-dasharray\", k);\n }, b = (L) => {\n const O = L.selection;\n O === null || O[0] === O[1] || (u.attr(\"x\", parseFloat(i.attr(\"x\")) + parseFloat(n.attr(\"x\"))).attr(\"y\", i.attr(\"y\")).attr(\"width\", i.attr(\"width\")).attr(\"height\", i.attr(\"height\")).style(\"cursor\", \"pointer\").style(\"display\", null), m(O));\n }, v = (L, O) => {\n const k = qs().range([0, r]).domain(g);\n let I = [k.invert(L), k.invert(O)];\n I[0].valueOf() === I[1].valueOf() && (I = this.services.zoom.getDefaultZoomBarDomain()), (g[0].valueOf() !== I[0].valueOf() || g[1].valueOf() !== I[1].valueOf()) && this.services.zoom.handleDomainChange(I);\n };\n let S;\n const T = (L) => {\n const O = L.selection;\n O !== null && (v(O[0], O[1]), a.call(S.move, null), u.style(\"display\", \"none\"));\n };\n l != 0 && r != 0 && (S = ms().extent([\n [0, 0],\n [r - 1, l]\n ]).on(\"start brush end\", b).on(\"end.brushed\", T), a.call(S));\n const M = this.services.zoom.getZoomRatio();\n n.on(\"click\", function(L) {\n if (L.shiftKey) {\n const O = this.services.domUtils.getHolder(), k = Je(a.node(), O)[0];\n let I = k - r * M / 2;\n I < 0 && (I = 0);\n let F = k + r * M / 2;\n F > r && (F = r), v(I, F);\n }\n });\n }\n }\n};\nZs.DASH_LENGTH = 4;\nlet lc = Zs;\nclass cc extends z {\n constructor() {\n super(...arguments), this.type = \"zoom-bar\", this.renderType = H.SVG, this.MIN_SELECTION_DIFF = 9e-10, this.brushSelector = \"g.zoom-bar-brush\", this.clipId = \"zoomBarClip-\" + Math.floor(Math.random() * 99999999999), this.brush = ms(), this.highlightStrokeWidth = 1;\n }\n init() {\n this.services.events.addEventListener(f.ZoomBar.UPDATE, this.render.bind(this));\n const e = y(this.getOptions(), \"zoomBar\", V.TOP, \"data\");\n this.model.setZoomBarData(e);\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n render(e = !0) {\n const t = this.getComponentContainer(), s = this.services.zoom.isZoomBarLoading(V.TOP), n = this.services.zoom.isZoomBarLocked(V.TOP), a = y(this.getOptions(), \"zoomBar\", V.TOP, \"type\"), i = y(this.getOptions(), \"axes\", V.BOTTOM, \"highlights\"), r = de.height[a], { width: l } = E.getSVGElementSize(this.parent, {\n useAttrs: !0\n });\n if (l === 0)\n return;\n let c = 0;\n const d = this.model.get(\"axesMargins\");\n d && d.left && (c = d.left);\n const p = E.appendOrSelect(t, \"svg.zoom-container\").attr(\"width\", \"100%\").attr(\"height\", r).attr(\"opacity\", 1);\n if (E.appendOrSelect(t, \"rect.zoom-spacer\").attr(\"x\", 0).attr(\"y\", r).attr(\"width\", \"100%\").attr(\"height\", de.spacerHeight).attr(\"opacity\", 1).attr(\"fill\", \"none\"), a === Le.GRAPH_VIEW ? E.appendOrSelect(p, \"rect.zoom-bg\").attr(\"x\", c).attr(\"y\", 0).attr(\"width\", l - c).attr(\"height\", \"100%\").classed(\"zoom-bg-skeleton\", s).style(\n \"stroke\",\n s ? `url(#${this.services.domUtils.generateElementIDString(\"shimmer-lines\")})` : null\n ) : a === Le.SLIDER_VIEW && E.appendOrSelect(p, \"rect.zoom-slider-bg\").attr(\"x\", c).attr(\"y\", r / 2 - 1).attr(\"width\", l - c).attr(\"height\", 2).classed(\"zoom-slider-bg-skeleton\", s).style(\n \"stroke\",\n s ? `url(#${this.services.domUtils.generateElementIDString(\"shimmer-lines\")})` : null\n ), s) {\n this.renderSkeleton(p, c, l);\n return;\n }\n const { cartesianScales: h } = this.services, u = h.getMainXScale(), g = h.getMainYScale(), m = h.getMainXScaleType();\n if (u && m === te.TIME) {\n let b = this.services.zoom.getZoomBarData();\n if (Os(b) || b.length === 1)\n return;\n this.xScale = u.copy(), this.yScale = g.copy();\n const v = this.services.zoom.getDefaultZoomBarDomain(b);\n b = this.compensateDataForDefaultDomain(b, v);\n const S = this.model.get(\"initialZoomDomain\"), T = y(\n this.getOptions(),\n \"zoomBar\",\n V.TOP,\n \"initialZoomDomain\"\n );\n T && T[0] && T[1] && (T[0] = new Date(T[0]), T[1] = new Date(T[1])), T && !(S && S[0].valueOf() === T[0].valueOf() && S[1].valueOf() === T[1].valueOf()) ? this.model.set(\n {\n // use a new object instead of newInitialZoomDomain\n initialZoomDomain: Re([], T),\n zoomDomain: T ? Re([], T) : v\n },\n { skipUpdate: !0 }\n ) : T === null && S !== null && this.model.set(\n {\n initialZoomDomain: null,\n zoomDomain: Re([], v)\n },\n { skipUpdate: !0 }\n ), this.xScale.range([c, l]).domain(v), this.maxSelectionRange = this.xScale.range(), this.yScale.range([0, r - 6]).domain(Qe(b, (O) => O.value));\n const M = this.model.get(\"zoomDomain\");\n if (a === Le.GRAPH_VIEW && (this.renderZoomBarArea(p, \"path.zoom-graph-area-unselected\", b, null), this.updateClipPath(t, this.clipId, 0, 0, 0, 0), this.renderZoomBarArea(p, \"path.zoom-graph-area\", b, this.clipId), this.renderZoomBarBaseline(p, c, l), i)) {\n const O = i.highlightStartMapsTo, k = i.highlightEndMapsTo, I = i.color, F = i.labelMapsTo;\n i.data.forEach((P, A) => {\n E.appendOrSelect(p, `rect.highlight-${A}`).attr(\"height\", r - 2 * this.highlightStrokeWidth).attr(\"y\", this.highlightStrokeWidth).attr(\"x\", this.xScale(P[O])).attr(\n \"width\",\n this.xScale(P[k]) - this.xScale(P[O])\n ).style(\n \"fill\",\n I && I.scale[P[F]] ? I.scale[P[F]] : null\n ).style(\"fill-opacity\", 0.1).style(\n \"stroke\",\n I && I.scale[P[F]] ? I.scale[P[F]] : null\n ).style(\"stroke-dasharray\", \"2, 2\").attr(\"stroke-width\", \"1px\");\n });\n }\n this.addBrushEventListener(M, c, l);\n const L = E.appendOrSelect(t, this.brushSelector).call(this.brush);\n if (M !== void 0)\n if (M[0].valueOf() === M[1].valueOf())\n L.call(this.brush.move, this.xScale.range()), this.updateBrushHandle(this.getComponentContainer(), this.xScale.range());\n else {\n const O = M.map((k) => this.xScale(k));\n O[1] - O[0] < this.MIN_SELECTION_DIFF || (L.call(this.brush.move, O), this.updateBrushHandle(this.getComponentContainer(), O));\n }\n n && (this.brush.filter(() => !1), L.selectAll(\"rect\").attr(\"cursor\", \"auto\"));\n }\n }\n addBrushEventListener(e, t, s) {\n const n = (r) => {\n const l = r.selection;\n l === null ? this.handleBrushedEvent(r, e, this.xScale, this.xScale.range()) : l[0] === l[1] || this.handleBrushedEvent(r, e, this.xScale, l);\n }, a = y(this.getOptions(), \"zoomBar\", V.TOP, \"type\"), i = de.height[a];\n this.brush.extent([\n [t, 0],\n [s, i]\n ]).on(\"start brush end\", null).on(\"start brush end\", n);\n }\n // brush event listener\n handleBrushedEvent(e, t, s, n) {\n const a = [s.invert(n[0]), s.invert(n[1])];\n if (this.updateBrushHandle(this.getComponentContainer(), n), e.sourceEvent != null && (e.sourceEvent.type === \"mousemove\" || e.sourceEvent.type === \"mouseup\" || e.sourceEvent.type === \"mousedown\" || e.sourceEvent.type === \"touchstart\" || e.sourceEvent.type === \"touchmove\" || e.sourceEvent.type === \"touchend\")) {\n (t === void 0 || t[0] !== a[0] || t[1] !== a[1]) && this.services.zoom.handleDomainChange(a, {\n dispatchEvent: !1\n });\n let i;\n e.type === \"start\" ? i = f.ZoomBar.SELECTION_START : e.type === \"brush\" ? i = f.ZoomBar.SELECTION_IN_PROGRESS : e.type === \"end\" && (i = f.ZoomBar.SELECTION_END, this.services.events.dispatchEvent(f.ZoomDomain.CHANGE, {\n newDomain: a\n })), this.services.events.dispatchEvent(i, {\n selection: n,\n newDomain: a\n });\n }\n }\n updateBrushHandle(e, t) {\n const s = this, n = de.handleWidth, a = y(this.getOptions(), \"zoomBar\", V.TOP, \"type\"), i = de.height[a], r = -n / 2, l = de.handleBarWidth, c = a === Le.GRAPH_VIEW ? de.handleBarHeight : 6, d = -l / 2, p = (i - c) / 2;\n e.select(this.brushSelector).selectAll(\"rect.handle\").data([{ type: \"w\" }, { type: \"e\" }]).attr(\"x\", function(u) {\n if (u.type === \"w\")\n return Math.max(t[0] + r, s.maxSelectionRange[0]);\n if (u.type === \"e\")\n return Math.min(t[1] + r, s.maxSelectionRange[1] - n);\n }).attr(\"y\", 0).attr(\"width\", n).attr(\"height\", i).attr(\"cursor\", \"ew-resize\").style(\"display\", null);\n const h = e.select(this.brushSelector).selectAll(\"rect.handle-bar\").data([{ type: \"w\" }, { type: \"e\" }]);\n h.enter().append(\"rect\").attr(\"class\", function(u) {\n return \"handle-bar handle-bar--\" + u.type;\n }), h.attr(\"x\", function(u) {\n if (u.type === \"w\")\n return Math.max(\n t[0] + d,\n s.maxSelectionRange[0] - r + d\n );\n if (u.type === \"e\")\n return Math.min(\n t[1] + d,\n s.maxSelectionRange[1] + r + d\n );\n }).attr(\"y\", p).attr(\"width\", l).attr(\"height\", c).attr(\"cursor\", \"ew-resize\"), a === Le.SLIDER_VIEW && this.updateSliderSelectedArea(t), this.updateClipPath(\n e,\n this.clipId,\n t[0],\n 0,\n t[1] - t[0],\n i\n );\n }\n updateSliderSelectedArea(e) {\n const t = y(this.getOptions(), \"zoomBar\", V.TOP, \"type\"), s = de.height[t], a = this.getComponentContainer().select(\"svg.zoom-container\");\n E.appendOrSelect(a, \"rect.zoom-slider-selected-area\").attr(\"x\", e[0]).attr(\"y\", s / 2 - 1).attr(\"width\", e[1] - e[0]).attr(\"height\", 2);\n }\n renderZoomBarArea(e, t, s, n) {\n const { cartesianScales: a } = this.services, i = a.getMainXAxisPosition(), r = a.getMainYAxisPosition(), l = a.getMainXScaleType(), c = a.getMainYScaleType(), d = (v, S, T) => (M) => a.getValueFromScale(v, S, T, M), p = d(this.xScale, l, i), h = d(this.yScale, c, r), u = y(this.getOptions(), \"zoomBar\", V.TOP, \"type\"), g = de.height[u], m = It().x((v) => p(v)).y0(g).y1((v) => g - h(v)), b = E.appendOrSelect(e, t).datum(s).attr(\"d\", m);\n n && b.attr(\"clip-path\", `url(#${n})`);\n }\n updateClipPath(e, t, s, n, a, i) {\n const r = E.appendOrSelect(e, \"clipPath\").attr(\"id\", t);\n E.appendOrSelect(r, \"rect\").attr(\"x\", s).attr(\"y\", n).attr(\"width\", a).attr(\"height\", i);\n }\n // assume the domains in data are already sorted\n compensateDataForDefaultDomain(e, t) {\n if (!e || e.length < 2)\n return;\n const s = Mn(e), n = this.services.cartesianScales.getDomainIdentifier(), a = this.services.cartesianScales.getRangeIdentifier();\n if (Number(t[0]) < Number(s[0][n])) {\n const i = {};\n i[n] = t[0], i[a] = 0, s.unshift(i);\n }\n if (Number(t[1]) > Number(s[s.length - 1][n])) {\n const i = {};\n i[n] = t[1], i[a] = 0, s.push(i);\n }\n return s;\n }\n renderZoomBarBaseline(e, t, s, n = !1) {\n const a = y(\n this.model.getOptions(),\n \"zoomBar\",\n V.TOP,\n \"type\"\n ), i = de.height[a], r = Rt()([\n [t, i],\n [s, i]\n ]);\n E.appendOrSelect(e, \"path.zoom-bg-baseline\").attr(\"d\", r).classed(\"zoom-bg-baseline-skeleton\", n).style(\n \"stroke\",\n n ? `url(#${this.services.domUtils.generateElementIDString(\"shimmer-lines\")})` : null\n );\n }\n renderSkeleton(e, t, s) {\n this.renderZoomBarArea(e, \"path.zoom-graph-area-unselected\", [], null), this.renderZoomBarArea(e, \"path.zoom-graph-area\", [], this.clipId), this.brush.on(\"start brush end\", null), E.appendOrSelect(this.getComponentContainer(), this.brushSelector).html(null), y(this.getOptions(), \"zoomBar\", V.TOP, \"type\") === Le.GRAPH_VIEW && this.renderZoomBarBaseline(e, t, s, !0);\n }\n destroy() {\n this.brush.on(\"start brush end\", null), this.services.events.removeEventListener(f.ZoomBar.UPDATE, this.render.bind(this));\n }\n}\nclass dc extends z {\n constructor(e, t) {\n super(e, t), this.type = \"threshold\", this.renderType = H.SVG, this.positionService = new et();\n }\n render(e = !1) {\n const t = y(this.getOptions(), \"axes\"), s = [];\n Object.keys(t).forEach((h) => {\n if (Object.values(V).includes(h)) {\n const u = t[h];\n u.thresholds && u.thresholds.length > 0 && s.push({\n axisPosition: h,\n thresholds: u.thresholds,\n correspondingDatasets: u == null ? void 0 : u.correspondingDatasets,\n mapsTo: u == null ? void 0 : u.mapsTo\n });\n }\n });\n const a = this.getComponentContainer({ withinChartClip: !0 }).selectAll(\"g.axis-thresholds\").data(s, (h) => h.axisPosition);\n a.exit().attr(\"opacity\", 0).remove();\n const r = a.enter().append(\"g\").merge(a);\n r.attr(\"class\", (h) => `axis-thresholds ${h.axisPosition}`);\n const l = r.selectAll(\"g.threshold-group\").data(\n (h) => h.thresholds.map((u) => (u.axisPosition = h.axisPosition, u.datum = this.constructDatumObj(h, u), u))\n );\n l.exit().attr(\"opacity\", 0).remove();\n const c = l.enter().append(\"g\");\n c.append(\"line\").attr(\"class\", \"threshold-line\"), c.append(\"rect\").attr(\"class\", \"threshold-hoverable-area\"), c.merge(l).attr(\"class\", \"threshold-group\");\n const p = this;\n r.each(function({ axisPosition: h }) {\n const u = p.services.cartesianScales.getScaleByPosition(\n h\n ), g = p.services.cartesianScales.getScaleTypeByPosition(h);\n let m = null, b = null;\n h === V.LEFT || h === V.RIGHT ? (b = u, m = p.services.cartesianScales.getMainXScale()) : (m = u, b = p.services.cartesianScales.getMainYScale());\n const v = g === te.LABELS, [S, T] = m.range(), [M, L] = b.range(), { cartesianScales: O } = p.services, k = O.getOrientation(), I = (G) => O.getDomainValue(G), F = (G) => O.getRangeValue(G), [P, A] = ve(\n I,\n F,\n k\n ), w = x(this);\n h === V.TOP || h === V.BOTTOM ? (w.selectAll(\"line.threshold-line\").transition().call(\n (G) => p.services.transitions.setupTransition({\n transition: G,\n name: \"threshold-line-update\",\n animate: e\n })\n ).attr(\"y1\", L).attr(\"y2\", M).attr(\n \"x1\",\n ({ datum: G }) => P(G) + (v ? u.step() / 2 : 0)\n ).attr(\n \"x2\",\n ({ datum: G }) => P(G) + (v ? u.step() / 2 : 0)\n ).style(\"stroke\", ({ fillColor: G }) => G), w.selectAll(\"rect.threshold-hoverable-area\").attr(\"x\", 0).attr(\"y\", ({ datum: G }) => -P(G)).attr(\"width\", Math.abs(M - L)).classed(\"rotate\", !0)) : (w.selectAll(\"line.threshold-line\").transition().call(\n (G) => p.services.transitions.setupTransition({\n transition: G,\n name: \"threshold-line-update\",\n animate: e\n })\n ).attr(\"x1\", S).attr(\"x2\", T).attr(\n \"y1\",\n ({ datum: G }) => A(G) + (v ? u.step() / 2 : 0)\n ).attr(\n \"y2\",\n ({ datum: G }) => A(G) + (v ? u.step() / 2 : 0)\n ).style(\"stroke\", ({ fillColor: G }) => G), w.selectAll(\"rect.threshold-hoverable-area\").attr(\"x\", S).attr(\"y\", ({ datum: G }) => A(G)).attr(\"width\", Math.abs(T - S)).classed(\"rotate\", !1));\n }), this.services.events.addEventListener(f.Threshold.SHOW, (h) => {\n this.setThresholdLabelPosition(h.detail), this.label.classed(\"hidden\", !1);\n }), this.services.events.addEventListener(f.Threshold.HIDE, () => {\n this.label.classed(\"hidden\", !0);\n }), this.appendThresholdLabel(), this.addEventListeners();\n }\n getFormattedValue(e) {\n const { value: t, axisPosition: s } = e, n = this.getOptions();\n if (this.services.cartesianScales.getScaleTypeByPosition(s) === te.TIME) {\n const i = [V.LEFT, V.RIGHT].includes(s), r = this.services.cartesianScales.getMainXScale(), l = this.services.cartesianScales.getMainYScale(), c = i ? l : r, d = y(n, \"timeScale\"), p = pt(\n c.ticks(),\n y(d, \"timeInterval\")\n );\n return gt(t, 0, c.ticks(), p, d);\n }\n return t.toLocaleString(\"en\");\n }\n appendThresholdLabel() {\n const e = x(this.services.domUtils.getHolder()), t = y(this.getOptions(), \"style\", \"prefix\");\n this.label = E.appendOrSelect(\n e,\n `div.${he}--${t}--threshold--label`\n ).classed(\"hidden\", !0);\n }\n setThresholdLabelPosition({ event: e, datum: t }) {\n const s = this.services.domUtils.getHolder(), n = Je(e, s), a = t.valueFormatter ? t.valueFormatter(t.value) : this.getFormattedValue(t);\n this.label.html(`${t.label || \"Threshold\"}: ${a}`).style(\"background-color\", t.fillColor);\n const i = this.label.node(), r = this.positionService.findBestPlacementAt(\n {\n left: n[0],\n top: n[1]\n },\n i,\n [ne.RIGHT, ne.LEFT, ne.TOP, ne.BOTTOM],\n () => ({\n top: void 0,\n // other package lists this as non-optional\n left: void 0,\n // ditto\n width: s.offsetWidth,\n height: s.offsetHeight\n })\n ), l = this.positionService.findPositionAt(\n {\n left: n[0],\n top: n[1]\n },\n i,\n r\n );\n this.positionService.setElement(i, l);\n }\n // Constructs object to pass in scale functions\n constructDatumObj(e, t) {\n const s = {};\n return e.correspondingDatasets && (s.group = y(e, \"correspondingDatasets\", 0)), s[e.mapsTo] = t.value, s;\n }\n addEventListeners() {\n const e = this;\n this.getComponentContainer({ withinChartClip: !0 }).selectAll(\"rect.threshold-hoverable-area\").on(\"mouseover mousemove\", function(s) {\n x(this.parentNode).select(\"line.threshold-line\").classed(\"active\", !0), e.services.events.dispatchEvent(f.Threshold.SHOW, {\n event: s,\n hoveredElement: x(this),\n datum: x(this).datum()\n });\n }).on(\"mouseout\", function(s) {\n x(this.parentNode).select(\"line.threshold-line\").classed(\"active\", !1), e.services.events.dispatchEvent(f.Threshold.HIDE, {\n event: s,\n hoveredElement: x(this),\n datum: x(this).datum()\n });\n });\n }\n}\nclass hc extends z {\n constructor(e, t) {\n super(e, t), this.type = \"highlight\", this.renderType = H.SVG, this.positionService = new et(), this.highlightStrokeWidth = 1;\n }\n render(e = !1) {\n const t = y(this.getOptions(), \"axes\"), s = [];\n Object.keys(t).forEach((h) => {\n if (Object.values(V).includes(h)) {\n const u = t[h];\n u.highlights && u.highlights.data.length > 0 && s.push({\n axisPosition: h,\n highlightStartMapsTo: u.highlights.highlightStartMapsTo,\n highlightEndMapsTo: u.highlights.highlightEndMapsTo,\n labelMapsTo: u.highlights.labelMapsTo,\n highlight: u.highlights.data,\n color: u.highlights.color\n });\n }\n });\n const a = this.getComponentContainer({ withinChartClip: !0 }).selectAll(\"g.axis-highlight\").data(s, (h) => h.axisPosition);\n a.exit().attr(\"opacity\", 0).remove();\n const r = a.enter().append(\"g\").merge(a);\n r.attr(\"class\", (h) => `axis-highlight ${h.axisPosition}`);\n const l = r.selectAll(\"g.highlight-group\").data(\n (h) => h.highlight.map((u) => (u.axisPosition = h.axisPosition, u.highlightStartMapsTo = h.highlightStartMapsTo, u.labelMapsTo = h.labelMapsTo, u.color = h.color, u.highlightEndMapsTo = h.highlightEndMapsTo, u))\n );\n l.exit().attr(\"opacity\", 0).remove();\n const c = l.enter().append(\"g\");\n c.append(\"rect\").attr(\"class\", \"highlight-bar\"), c.append(\"line\").attr(\"class\", \"highlight-line\"), c.merge(l).attr(\"class\", \"highlight-group\");\n const p = this;\n r.each(function({ axisPosition: h }) {\n const u = p.services.cartesianScales.getMainXScale(), g = p.services.cartesianScales.getMainYScale(), [m, b] = u.range(), [v, S] = g.range(), { cartesianScales: T } = p.services, M = T.getOrientation(), L = (P) => T.getDomainValue(P), O = (P) => T.getRangeValue(P), [k, I] = ve(\n L,\n O,\n M\n ), F = x(this);\n h === V.TOP || h === V.BOTTOM ? F.selectAll(\"rect.highlight-bar\").transition().call(\n (P) => p.services.transitions.setupTransition({\n transition: P,\n name: \"highlight-bar-update\",\n animate: e\n })\n ).attr(\"y\", Math.max(S + p.highlightStrokeWidth, 0)).attr(\"height\", Math.max(v - 2 * p.highlightStrokeWidth, 0)).attr(\"x\", ({ highlightStartMapsTo: P, ...A }) => k(A[P])).attr(\n \"width\",\n ({ highlightStartMapsTo: P, highlightEndMapsTo: A, ...w }) => Math.max(k(w[A]) - k(w[P]), 0)\n ).style(\"stroke\", ({ color: P, labelMapsTo: A, ...w }) => P && P.scale[w[A]] ? P.scale[w[A]] : null).style(\"stroke-dasharray\", \"2, 2\").attr(\"stroke-width\", p.highlightStrokeWidth + \"px\").style(\"fill-opacity\", 0.1).style(\"fill\", ({ color: P, labelMapsTo: A, ...w }) => P && P.scale[w[A]] ? P.scale[w[A]] : null) : F.selectAll(\"rect.highlight-bar\").transition().call(\n (P) => p.services.transitions.setupTransition({\n transition: P,\n name: \"highlight-bar-update\",\n animate: e\n })\n ).attr(\"x\", m).attr(\"width\", Math.max(b - m, 0)).attr(\"y\", ({ highlightEndMapsTo: P, ...A }) => I(A[P])).attr(\n \"height\",\n ({ highlightStartMapsTo: P, highlightEndMapsTo: A, ...w }) => Math.max(I(w[P]) - I(w[A]), 0)\n ).style(\"stroke\", ({ color: P, labelMapsTo: A, ...w }) => P && P.scale[w[A]] ? P.scale[w[A]] : null).style(\"stroke-dasharray\", \"2, 2\").attr(\"stroke-width\", p.highlightStrokeWidth + \"px\").style(\"fill-opacity\", 0.1).style(\"fill\", ({ color: P, labelMapsTo: A, ...w }) => P && P.scale[w[A]] ? P.scale[w[A]] : null);\n });\n }\n}\nclass uc extends ir {\n getItems(e) {\n if (e.detail.items)\n return e.detail.items;\n const { data: t } = e.detail;\n if (!t || !t.length || !t[0])\n return [];\n const s = this.getOptions(), { cartesianScales: n } = this.services, a = n.getDomainIdentifier(), i = n.isDualAxes(), { groupMapsTo: r } = s.data, l = n.getDomainLabel();\n let c = n.getRangeLabel();\n const d = t[0][a];\n let p;\n if (t.length === 1) {\n const h = t[0], u = n.getRangeIdentifier(h);\n if (i) {\n const m = n.getRangeAxisPosition({\n datum: h,\n groups: [h[r]]\n });\n c = n.getScaleLabel(m);\n }\n const g = h[u];\n p = [\n {\n label: l,\n value: d\n },\n ...Array.isArray(g) && g.length === 2 ? [\n {\n label: \"Start\",\n value: g[0]\n },\n {\n label: \"End\",\n value: g[1]\n }\n ] : [\n {\n label: c,\n value: h[u]\n }\n ]\n ], e.detail.additionalItems && e.detail.additionalItems.forEach(\n (m) => p.push({\n label: m.label,\n value: m.value\n })\n ), p.push({\n label: s.tooltip.groupLabel,\n value: h[r],\n color: this.model.getFillColor(h[r]),\n class: this.model.getColorClassName({\n classNameTypes: [$.TOOLTIP],\n dataGroupName: h[r]\n })\n });\n } else if (t.length > 1 && (p = [\n {\n label: l,\n value: d\n }\n ], p = p.concat(\n t.map((h) => {\n const u = h[n.getRangeIdentifier(h)];\n return {\n label: h[r],\n value: Array.isArray(u) && u.length === 2 ? `${u[0]} - ${u[1]}` : u,\n color: this.model.getFillColor(h[r]),\n class: this.model.getColorClassName({\n classNameTypes: [$.TOOLTIP],\n dataGroupName: h[r]\n })\n };\n }).sort((h, u) => u.value - h.value)\n ), !i && y(s, \"tooltip\", \"showTotal\") === !0)) {\n const h = n.getRangeIdentifier();\n p.push({\n label: Q(s, \"tooltip.totalLabel\") || \"Total\",\n value: t.reduce(\n (u, g) => u + g[h],\n 0\n ),\n bold: !0\n });\n }\n return p;\n }\n}\nclass pc extends z {\n constructor() {\n super(...arguments), this.type = \"alluvial\", this.renderType = H.SVG, this.gradient_id = \"gradient-id-\" + Math.floor(Math.random() * 99999999999);\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n render(e = !0) {\n const t = this.getComponentContainer({ withinChartClip: !0 });\n t.html(\"\");\n const { width: s, height: n } = E.getSVGElementSize(t, {\n useAttrs: !0\n });\n if (s < 1 || n < 1)\n return;\n const a = this.model.getOptions(), i = this.model.getDisplayData(), r = y(\n this.getOptions(),\n \"color\",\n \"gradient\",\n \"enabled\"\n );\n let l = pe.minNodePadding;\n a.alluvial.nodePadding > pe.minNodePadding && (l = a.alluvial.nodePadding);\n const c = y(a, \"alluvial\", \"nodeAlignment\");\n let d = Nn;\n c === ue.LEFT ? d = Hn : c === ue.RIGHT && (d = Un);\n const p = $n().nodeId((v) => v.name).nodeWidth(pe.nodeWidth).nodePadding(l).nodeAlign(d).extent([\n [2, 30],\n [s - 2, n]\n ]);\n this.graph = p({\n nodes: a.alluvial.nodes.map((v) => Object.assign({}, v)),\n links: i.map((v) => Object.assign({}, v))\n }), this.graph.nodes = this.graph.nodes.filter((v) => v.value !== 0);\n const h = {};\n this.graph.nodes.forEach((v) => {\n const S = v.x0;\n v.category && (h[S] = v == null ? void 0 : v.category);\n }), t.append(\"g\").classed(\"header-arrows\", !0).selectAll(\"g\").data(Object.keys(h)).join(\"g\").attr(\"transform\", (v) => `translate(${v}, 0)`).append(\"text\").attr(\n \"id\",\n (v, S) => this.services.domUtils.generateElementIDString(`alluvial-category-${S}`)\n ).style(\"font-size\", \"14px\").text((v) => h[v] ? h[v] : \"\").attr(\"y\", 20).attr(\"x\", (v, S) => {\n const T = this.services.domUtils.generateElementIDString(\n `alluvial-category-${S}`\n ), { width: M } = E.getSVGElementSize(x(`text#${T}`), { useBBox: !0 });\n let L = 0;\n return v + L >= M && (L = -M + 4), L;\n });\n const g = t.append(\"g\").attr(\"fill\", \"none\").selectAll(\"g\").data(this.graph.links);\n if (g.exit().remove(), r) {\n const v = y(this.getOptions(), \"color\", \"scale\");\n v && g.enter().append(\"linearGradient\").attr(\"id\", (S) => `${this.gradient_id}-link-${S.index}`).attr(\"gradientUnits\", \"userSpaceOnUse\").call(\n (S) => S.append(\"stop\").attr(\"offset\", \"0%\").attr(\"stop-color\", (T) => v[T.source.name])\n ).call(\n (S) => S.append(\"stop\").attr(\"offset\", \"100%\").attr(\"stop-color\", (T) => v[T.target.name])\n ), g.exit().remove();\n }\n g.enter().append(\"path\").classed(\"link\", !0).attr(\"d\", Gn()).attr(\n \"id\",\n (v) => this.services.domUtils.generateElementIDString(`alluvial-line-${v.index}`)\n ).attr(\"class\", (v) => a.alluvial.monochrome ? this.model.getColorClassName({\n classNameTypes: [$.STROKE],\n dataGroupName: 0,\n originalClassName: \"link\"\n }) : this.model.getColorClassName({\n classNameTypes: [$.STROKE],\n dataGroupName: v.source.index,\n originalClassName: \"link\"\n })).style(\"stroke\", (v) => r ? `url(#${this.gradient_id}-link-${v.index})` : this.model.getFillColor(v.source.name)).attr(\"stroke-width\", (v) => Math.max(1, v.width)).style(\"stroke-opacity\", pe.opacity.default).attr(\n \"aria-label\",\n (v) => `${v.source.name} → ${v.target.name} (${v.value}${a.alluvial.units ? \" \" + a.alluvial.units : \"\"})`\n );\n const m = t.append(\"g\").selectAll(\"g\").data(this.graph.nodes).enter().append(\"g\").attr(\n \"id\",\n (v) => this.services.domUtils.generateElementIDString(`alluvial-node-${v.index}`)\n ).classed(\"node-group\", !0).attr(\"transform\", (v) => `translate(${v.x0}, ${v.y0})`);\n m.append(\"rect\").classed(\"node\", !0).attr(\"height\", (v) => v.y1 - v.y0).attr(\"width\", (v) => v.x1 - v.x0).attr(\"fill\", \"black\");\n const b = m.append(\"g\").attr(\n \"id\",\n (v) => this.services.domUtils.generateElementIDString(`alluvial-node-title-${v.index}`)\n );\n b.append(\"text\").attr(\n \"id\",\n (v) => this.services.domUtils.generateElementIDString(`alluvial-node-text-${v.index}`)\n ).attr(\"class\", \"node-text\").style(\"font-size\", \"12px\").attr(\"text-anchor\", \"start\").attr(\"fill\", \"white\").attr(\"x\", 4).attr(\"dy\", 13).text((v) => `${v.name} (${v.value})`).attr(\"aria-label\", (v) => `${v.name} (${v.value})`), b.append(\"rect\").classed(\"node-text-bg\", !0).attr(\"width\", (v, S) => {\n const T = this.services.domUtils.generateElementIDString(\n `alluvial-node-text-${S}`\n ), { width: M } = E.getSVGElementSize(x(`text#${T}`), { useBBox: !0 });\n return M + 8;\n }).attr(\"height\", 18).attr(\"stroke-width\", 2).lower(), b.attr(\"transform\", (v, S) => {\n const T = this.services.domUtils.generateElementIDString(\n `alluvial-node-text-${S}`\n ), { width: M } = E.getSVGElementSize(x(`text#${T}`), { useBBox: !0 }), L = (v.y1 - v.y0) / 2 - 9;\n let O = v.x1 - v.x0;\n return v.x1 >= M ? O = O - (M + 16) : O += 4, `translate(${O}, ${L})`;\n }), this.addLineEventListener(), this.addNodeEventListener();\n }\n addLineEventListener() {\n const e = this.getOptions(), t = this, s = mt((n, a = \"mouseover\") => {\n const i = t.parent.selectAll(\"path.link\").transition().call(\n (r) => t.services.transitions.setupTransition({\n transition: r,\n name: \"alluvial-links-mouse-highlight\"\n })\n );\n a === \"mouseout\" ? (x(n).lower(), i.style(\"stroke-opacity\", pe.opacity.default)) : i.style(\"stroke-opacity\", function() {\n return n === this ? (x(this).raise(), pe.opacity.selected) : pe.opacity.unfocus;\n });\n }, 33);\n this.parent.selectAll(\"path.link\").on(\"mouseover\", function(n, a) {\n const i = x(this);\n s(this, \"mouseover\"), i.classed(\"link-hovered\", !0);\n const r = getComputedStyle(this).getPropertyValue(\"stroke\");\n t.services.events.dispatchEvent(f.Alluvial.LINE_MOUSEOVER, {\n event: n,\n element: i,\n datum: a\n }), t.services.events.dispatchEvent(f.Tooltip.SHOW, {\n event: n,\n hoveredElement: i,\n items: [\n {\n label: a.target.name,\n value: a.value + (e.alluvial.units ? ` ${e.alluvial.units}` : \"\"),\n color: r,\n labelIcon: t.getRightArrowIcon()\n }\n ]\n });\n }).on(\"mousemove\", function(n, a) {\n t.services.events.dispatchEvent(f.Alluvial.LINE_MOUSEMOVE, {\n event: n,\n element: x(this),\n datum: a\n }), t.services.events.dispatchEvent(f.Tooltip.MOVE, {\n event: n\n });\n }).on(\"click\", function(n, a) {\n t.services.events.dispatchEvent(f.Alluvial.LINE_CLICK, {\n event: n,\n element: x(this),\n datum: a\n });\n }).on(\"mouseout\", function(n, a) {\n const i = x(this);\n s(this, \"mouseout\"), i.classed(\"link-hovered\", !1), t.services.events.dispatchEvent(f.Alluvial.LINE_MOUSEOUT, {\n event: n,\n element: i,\n datum: a\n }), t.services.events.dispatchEvent(f.Tooltip.HIDE, {\n event: n,\n hoveredElement: i\n });\n });\n }\n addNodeEventListener() {\n const e = this, t = mt((s = [], n = \"mouseover\") => {\n if (n === \"mouseout\" || s.length === 0) {\n e.parent.selectAll(\"path.link\").classed(\"link-hovered\", !1).data(this.graph.links, (i) => i.index).order().style(\"stroke-opacity\", pe.opacity.default);\n return;\n }\n e.parent.selectAll(\"path.link\").transition().call(\n (i) => this.services.transitions.setupTransition({\n transition: i,\n name: \"alluvial-link-mouse-highlight\"\n })\n ).style(\"stroke-opacity\", function(i) {\n return s.some((r) => r === i.index) ? (x(this).classed(\"link-hovered\", !0).raise(), pe.opacity.selected) : pe.opacity.unfocus;\n });\n }, 66);\n e.parent.selectAll(\".node-group\").on(\"mouseover\", function(s, n) {\n const a = x(this), i = [];\n if (e.traverse({ link: \"sourceLinks\", node: \"target\" }, n, i), e.traverse({ link: \"targetLinks\", node: \"source\" }, n, i), i.length) {\n const r = Ve(a.attr(\"transform\"));\n if (a.attr(\"transform\", `translate(${r.x - 2}, ${r.y})`), a.classed(\"node-hovered\", !0).selectAll(\"rect.node\").attr(\"width\", 8), n.x0 - 2 === 0) {\n const c = e.services.domUtils.generateElementIDString(\n `alluvial-node-title-${n.index}`\n ), d = e.parent.select(`g#${c}`), p = Ve(d.attr(\"transform\"));\n d.attr(\"transform\", `translate(${p.x + 4},${p.y})`);\n }\n const l = e.services.domUtils.generateElementIDString(\n `alluvial-node-text-${n.index}`\n );\n e.parent.select(`text#${l}`).style(\"font-weight\", \"bold\"), t(i, \"mouseover\"), e.services.events.dispatchEvent(f.Alluvial.NODE_MOUSEOVER, {\n event: s,\n element: a,\n datum: n\n });\n }\n }).on(\"mousemove\", function(s, n) {\n e.services.events.dispatchEvent(f.Alluvial.NODE_MOUSEMOVE, {\n event: s,\n element: x(this),\n datum: n\n }), e.services.events.dispatchEvent(f.Tooltip.MOVE, {\n event: s\n });\n }).on(\"click\", function(s, n) {\n e.services.events.dispatchEvent(f.Alluvial.NODE_CLICK, {\n event: s,\n element: x(this),\n datum: n\n });\n }).on(\"mouseout\", function(s, n) {\n const a = x(this), i = Ve(a.attr(\"transform\"));\n if (a.classed(\"node-hovered\", !1).attr(\"transform\", `translate(${i.x + 2}, ${i.y})`).select(\"rect.node\").attr(\"width\", pe.nodeWidth), n.x0 - 2 === 0) {\n const l = e.services.domUtils.generateElementIDString(\n `alluvial-node-title-${n.index}`\n ), c = e.parent.select(`g#${l}`), d = Ve(c.attr(\"transform\"));\n c.attr(\"transform\", `translate(${d.x - 4},${d.y})`);\n }\n const r = e.services.domUtils.generateElementIDString(\n `alluvial-node-text-${n.index}`\n );\n e.parent.select(`text#${r}`).style(\"font-weight\", \"normal\"), t([], \"mouseout\"), e.services.events.dispatchEvent(f.Alluvial.NODE_MOUSEOUT, {\n event: s,\n element: a,\n datum: n\n }), e.services.events.dispatchEvent(f.Tooltip.HIDE, {\n hoveredElement: a\n });\n });\n }\n // Traverse graph and get all connected links to node\n traverse(e, t, s = []) {\n t[e.link].map((a) => (s.push(a.index), a[e.node])).forEach((a) => this.traverse(e, a, s));\n }\n getRightArrowIcon() {\n return `\n\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" class=\"arrow-right\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\">\n\t\t\t<polygon points=\"18 6 16.57 7.393 24.15 15 4 15 4 17 24.15 17 16.57 24.573 18 26 28 16 18 6\"/>\n\t\t\t<rect width=\"32\" height=\"32\"/>\n\t\t</svg>`;\n }\n // Remove event listeners\n destroy() {\n this.parent.selectAll(\"path.line,.node-group\").on(\"mouseover\", null).on(\"mousemove\", null).on(\"click\", null).on(\"mouseout\", null);\n }\n}\nclass gc extends z {\n constructor() {\n super(...arguments), this.type = \"grid\", this.renderType = H.SVG;\n }\n render(e = !0) {\n const t = y(this.getOptions(), \"grid\", \"x\", \"enabled\"), s = y(this.getOptions(), \"grid\", \"y\", \"enabled\");\n this.drawBackdrop(t, s), !(!t && !s) && (t && (E.appendOrSelect(this.backdrop, \"g.x.grid\"), this.drawXGrid(e)), s && (E.appendOrSelect(this.backdrop, \"g.y.grid\"), this.drawYGrid(e)));\n }\n drawXGrid(e) {\n const t = this.parent, s = this.backdrop.attr(\"height\"), n = this.services.cartesianScales.getMainXScale(), a = Dt(n).tickSizeInner(-s).tickSizeOuter(0);\n if (y(this.getOptions(), \"grid\", \"x\", \"alignWithAxisTicks\")) {\n const l = this.services.cartesianScales.getDomainAxisPosition(), c = y(this.getOptions(), \"axes\", l, \"ticks\", \"values\");\n c && a.tickValues(c);\n } else {\n const l = y(this.getOptions(), \"grid\", \"x\", \"numberOfTicks\");\n a.ticks(l);\n }\n const r = t.select(\".x.grid\").attr(\"transform\", `translate(${-this.backdrop.attr(\"x\")}, ${s})`);\n e ? r.transition().call(\n (l) => this.services.transitions.setupTransition({\n transition: l,\n name: \"grid-update\",\n animate: e\n })\n ).call(a) : r.call(a), this.cleanGrid(r);\n }\n drawYGrid(e) {\n const t = this.parent, s = this.backdrop.attr(\"width\"), n = this.services.cartesianScales.getMainYScale(), a = fs(n).tickSizeInner(-s).tickSizeOuter(0);\n if (y(this.getOptions(), \"grid\", \"y\", \"alignWithAxisTicks\")) {\n const l = this.services.cartesianScales.getRangeAxisPosition(), c = y(this.getOptions(), \"axes\", l, \"ticks\", \"values\");\n c && a.tickValues(c);\n } else {\n const l = y(this.getOptions(), \"grid\", \"y\", \"numberOfTicks\");\n a.ticks(l);\n }\n const r = t.select(\".y.grid\").attr(\"transform\", `translate(0, ${-this.backdrop.attr(\"y\")})`);\n e ? r.transition().call(\n (l) => this.services.transitions.setupTransition({\n transition: l,\n name: \"grid-update\",\n animate: e\n })\n ).call(a) : r.call(a), this.cleanGrid(r);\n }\n /**\n * Returns the threshold for the gridline tooltips based on the mouse location.\n * Calculated based on the mouse position between the two closest gridlines or edges of chart.\n */\n getGridlineThreshold(e) {\n const t = this.parent, s = t.selectAll(\".x.grid .tick\").nodes().sort((d, p) => Number(ge(d).tx) - Number(ge(p).tx));\n let n = -1;\n if (!s.length)\n return;\n s.forEach((d) => {\n e[0] >= +ge(d).tx && n++;\n });\n const a = n + 1 < s.length ? n + 1 : s.length, i = s[n], r = s[a];\n let l;\n if (!i)\n l = +ge(r).tx;\n else if (r)\n l = +ge(r).tx - +ge(i).tx;\n else {\n const d = t.select(\"rect.chart-grid-backdrop\").node();\n l = E.getSVGElementSize(d).width - +ge(i).tx;\n }\n const { threshold: c } = this.getOptions().tooltip.gridline;\n return l * c;\n }\n /**\n * Returns the active gridlines based on the gridline threshold and mouse position.\n * @param position mouse positon\n */\n getActiveGridline(e) {\n const t = y(this.getOptions, \"tooltip\", \"gridline\", \"threshold\"), s = t || this.getGridlineThreshold(e);\n return this.parent.selectAll(\".x.grid .tick\").filter(function() {\n const i = ge(this), r = {\n min: Number(i.tx) - s,\n max: Number(i.tx) + s\n };\n return r.min <= e[0] && e[0] <= r.max;\n });\n }\n drawBackdrop(e, t) {\n const s = this.parent, n = this.services.cartesianScales.getMainXScale(), a = this.services.cartesianScales.getMainYScale(), [i, r] = n.range(), [l, c] = a.range();\n this.backdrop = E.appendOrSelect(s, \"svg.chart-grid-backdrop\");\n const d = E.appendOrSelect(\n this.backdrop,\n e || t ? \"rect.chart-grid-backdrop.stroked\" : \"rect.chart-grid-backdrop\"\n );\n this.backdrop.merge(d).attr(\"x\", i).attr(\"y\", c).attr(\"width\", Math.abs(r - i)).attr(\"height\", Math.abs(l - c)).lower(), d.attr(\"width\", \"100%\").attr(\"height\", \"100%\");\n }\n cleanGrid(e) {\n e.selectAll(\"text\").remove(), e.select(\".domain\").remove();\n }\n}\nclass mc extends z {\n constructor() {\n super(...arguments), this.type = \"area\", this.renderType = H.SVG, this.gradient_id = \"gradient-id-\" + Math.floor(Math.random() * 99999999999), this.handleLegendOnHover = (e) => {\n const { hoveredElement: t } = e.detail;\n this.parent.selectAll(\"path.area\").transition(\"legend-hover-area\").call(\n (s) => this.services.transitions.setupTransition({\n transition: s,\n name: \"legend-hover-area\"\n })\n ).attr(\"opacity\", (s) => s.name !== t.datum().name ? fe.opacity.unselected : fe.opacity.selected);\n }, this.handleLegendMouseOut = () => {\n this.parent.selectAll(\"path.area\").transition(\"legend-mouseout-area\").call(\n (e) => this.services.transitions.setupTransition({\n transition: e,\n name: \"legend-mouseout-area\"\n })\n ).attr(\"opacity\", fe.opacity.selected);\n };\n }\n init() {\n const e = this.services.events;\n e.addEventListener(f.Legend.ITEM_HOVER, this.handleLegendOnHover), e.addEventListener(f.Legend.ITEM_MOUSEOUT, this.handleLegendMouseOut);\n }\n render(e = !0) {\n const t = this.getComponentContainer({ withinChartClip: !0 }), s = this.getOptions();\n let n = [0, 0];\n const { cartesianScales: a } = this.services, i = a.getOrientation(), r = It().curve(this.services.curves.getD3Curve()).defined((L) => {\n const O = a.getRangeIdentifier(), k = L[O];\n return k != null;\n }), l = this.model.getGroupedData(this.configs.groups), c = y(s, \"bounds\"), d = c && l && l.length === 1;\n !d && c && console.warn(\n `Bounds can only be shown when having 1 single datagroup, you've supplied ${l.length}`\n );\n let p = 0;\n const h = (L, O) => {\n y(s, \"axes\", L, \"includeZero\") === !1 && O[0] > 0 && O[1] > 0 && (p = O[0]);\n }, u = (L) => d ? a.getBoundedScaledValues(L)[0] : a.getRangeValue(p), g = (L) => d ? a.getBoundedScaledValues(L)[1] : a.getRangeValue(L);\n i === le.VERTICAL ? (n = a.getMainYScale().domain(), h(a.getMainYAxisPosition(), n), r.x((L) => a.getDomainValue(L)).y0((L) => u(L)).y1((L) => g(L))) : (n = a.getMainXScale().domain(), h(a.getMainXAxisPosition(), n), r.x0((L) => u(L)).x1((L) => g(L)).y((L) => a.getDomainValue(L)));\n const m = y(s, \"color\", \"gradient\", \"enabled\"), b = l && l.length === 1 && m;\n l.length > 1 && m && console.error(\"Gradients can only be enabled when having 1 single dataset\");\n const v = t.selectAll(\"path.area\").data(l, (L) => L.name), S = x(this.services.domUtils.getMainContainer());\n if (v.exit().attr(\"opacity\", 0).remove(), !l.length)\n return;\n if (b) {\n const L = S.select(\n `path.${this.model.getColorClassName({\n classNameTypes: [$.STROKE],\n dataGroupName: l[0].name\n })}`\n ).node();\n let O;\n if (L)\n O = getComputedStyle(L, null).getPropertyValue(\n \"stroke\"\n );\n else {\n const k = y(this.model.getOptions(), \"color\", \"scale\");\n if (k !== null) {\n const I = Object.keys(k);\n O = k[I[0]];\n }\n }\n Zt.appendOrUpdateLinearGradient({\n svg: this.parent,\n id: this.services.domUtils.generateElementIDString(\n `${l[0].name.replace(\" \", \"\")}_${this.gradient_id}`\n ),\n x1: \"0%\",\n x2: \"0%\",\n y1: \"0%\",\n y2: \"100%\",\n stops: Zt.getStops(n, O)\n });\n } else\n this.parent.selectAll(\"defs linearGradient\").empty() || this.parent.selectAll(\"defs linearGradient\").each(function() {\n this.parentNode.remove();\n });\n const T = this, M = v.enter().append(\"path\");\n b ? M.merge(v).style(\n \"fill\",\n (L) => `url(#${this.services.domUtils.generateElementIDString(\n `${L.name.replace(\" \", \"\")}_${this.gradient_id}`\n )})`\n ).attr(\"class\", \"area\").attr(\n \"class\",\n (L) => this.model.getColorClassName({\n classNameTypes: [$.FILL],\n dataGroupName: L.name,\n originalClassName: \"area\"\n })\n ).attr(\"d\", (L) => {\n const { data: O } = L;\n return r(O);\n }) : (M.attr(\"opacity\", 0).merge(v).attr(\"class\", \"area\").attr(\n \"class\",\n (L) => this.model.getColorClassName({\n classNameTypes: [$.FILL, $.STROKE],\n dataGroupName: L.name,\n originalClassName: \"area\"\n })\n ).style(\"fill\", (L) => T.model.getFillColor(L.name)).transition().call(\n (L) => this.services.transitions.setupTransition({\n transition: L,\n name: \"area-update-enter\",\n animate: e\n })\n ).attr(\"opacity\", d ? 1 : fe.opacity.selected).attr(\"d\", (L) => {\n const { data: O } = L;\n return r(O);\n }), d && M.attr(\"fill-opacity\", fe.opacity.selected).style(\"stroke\", (L) => T.model.getStrokeColor(L.name)).style(\"stroke-dasharray\", \"2, 2\").attr(\"stroke-width\", 0.7 + \"px\"));\n }\n destroy() {\n const e = this.services.events;\n e.removeEventListener(f.Legend.ITEM_HOVER, this.handleLegendOnHover), e.removeEventListener(f.Legend.ITEM_MOUSEOUT, this.handleLegendMouseOut);\n }\n}\nclass fc extends z {\n constructor() {\n super(...arguments), this.type = \"line\", this.renderType = H.SVG, this.handleLegendOnHover = (e) => {\n const { hoveredElement: t } = e.detail;\n this.parent.selectAll(\"path.line\").transition(\"legend-hover-line\").call(\n (s) => this.services.transitions.setupTransition({\n transition: s,\n name: \"legend-hover-line\"\n })\n ).attr(\"opacity\", (s) => s.name !== t.datum().name ? me.opacity.unselected : me.opacity.selected);\n }, this.handleLegendMouseOut = () => {\n this.parent.selectAll(\"path.line\").transition(\"legend-mouseout-line\").call(\n (e) => this.services.transitions.setupTransition({\n transition: e,\n name: \"legend-mouseout-line\"\n })\n ).attr(\"opacity\", me.opacity.selected);\n };\n }\n init() {\n const { events: e } = this.services;\n e.addEventListener(f.Legend.ITEM_HOVER, this.handleLegendOnHover), e.addEventListener(f.Legend.ITEM_MOUSEOUT, this.handleLegendMouseOut);\n }\n render(e = !0) {\n const t = this.getComponentContainer({ withinChartClip: !0 }), { cartesianScales: s, curves: n } = this.services, a = (g) => s.getDomainValue(g), i = (g) => s.getRangeValue(g), [r, l] = ve(\n a,\n i,\n s.getOrientation()\n ), c = this.getOptions(), d = Rt().x(r).y(l).curve(n.getD3Curve()).defined((g) => {\n const m = s.getRangeIdentifier(g), b = g[m];\n return b != null;\n });\n let p = [];\n if (this.configs.stacked) {\n const g = Object.keys(c.axes).some((v) => c.axes[v].percentage), { groupMapsTo: m } = c.data;\n p = this.model.getStackedData({\n groups: this.configs.groups,\n percentage: g\n }).map((v) => {\n const S = this.services.cartesianScales.getDomainIdentifier(v), T = this.services.cartesianScales.getRangeIdentifier(v);\n return {\n name: y(v, 0, m),\n data: v.map((M) => ({\n [S]: M.data.sharedStackKey,\n [m]: M[m],\n [T]: M[1]\n })),\n hidden: !Ha(v, (M) => M[0] !== M[1])\n };\n });\n } else\n p = this.model.getGroupedData(this.configs.groups);\n const h = t.selectAll(\"path.line\").data(p, (g) => g.name);\n h.exit().attr(\"opacity\", 0).remove(), h.enter().append(\"path\").classed(\"line\", !0).attr(\"opacity\", 0).merge(h).data(p, (g) => g.name).attr(\n \"class\",\n (g) => this.model.getColorClassName({\n classNameTypes: [$.STROKE],\n dataGroupName: g.name,\n originalClassName: \"line\"\n })\n ).style(\"stroke\", (g) => this.model.getStrokeColor(g.name)).attr(\"role\", U.GRAPHICS_SYMBOL).attr(\"aria-roledescription\", \"line\").attr(\"aria-label\", (g) => {\n const { data: m } = g;\n return m.map((b) => {\n const v = this.services.cartesianScales.getRangeIdentifier(b);\n return b[v];\n }).join(\",\");\n }).transition().call(\n (g) => this.services.transitions.setupTransition({\n transition: g,\n name: \"line-update-enter\",\n animate: e\n })\n ).attr(\"opacity\", (g) => g.hidden ? 0 : 1).attr(\"d\", (g) => {\n const { data: m } = g;\n return d(m);\n });\n }\n destroy() {\n const e = this.services.events;\n e.removeEventListener(f.Legend.ITEM_HOVER, this.handleLegendOnHover), e.removeEventListener(f.Legend.ITEM_MOUSEOUT, this.handleLegendMouseOut);\n }\n}\nconst cs = 5;\nfunction rr(o, e) {\n return o > e - cs && o < e + cs;\n}\nclass Xs extends z {\n constructor() {\n super(...arguments), this.type = \"ruler\", this.renderType = H.SVG, this.isXGridEnabled = y(this.getOptions(), \"grid\", \"x\", \"enabled\"), this.isYGridEnabled = y(this.getOptions(), \"grid\", \"y\", \"enabled\"), this.isEventListenerAdded = !1;\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n render(e = !1) {\n const t = y(this.getOptions(), \"ruler\", \"enabled\");\n this.drawBackdrop(), t && !this.isEventListenerAdded ? this.addBackdropEventListeners() : !t && this.isEventListenerAdded && this.removeBackdropEventListeners();\n }\n removeBackdropEventListeners() {\n this.isEventListenerAdded = !1, this.backdrop.on(\"mousemove mouseover mouseout\", null);\n }\n formatTooltipData(e) {\n return e;\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n showRuler(e, [t, s]) {\n const n = this.parent, a = this.services.cartesianScales.getOrientation(), i = this.model.getDisplayData(), r = this.services.cartesianScales.getRangeScale(), [l, c] = r.range(), d = a === le.HORIZONTAL ? s : t, p = E.appendOrSelect(n, \"g.ruler\").attr(\"aria-label\", \"ruler\"), h = E.appendOrSelect(p, \"line.ruler-line\"), u = n.selectAll(\"[role=graphics-symbol]\"), g = i.map((b) => ({\n domainValue: this.services.cartesianScales.getDomainValue(b),\n originalData: b\n })).filter((b) => rr(b.domainValue, d));\n if (this.pointsWithinLine && g.length === this.pointsWithinLine.length && g.map((b) => b.domainValue).join() === this.pointsWithinLine.map((b) => b.domainValue).join())\n return this.pointsWithinLine = g, this.services.events.dispatchEvent(f.Tooltip.MOVE, {\n mousePosition: [t, s]\n });\n this.pointsWithinLine = g;\n const m = this.pointsWithinLine.reduce((b, v) => {\n if (b.length === 0)\n return b.push(v), b;\n const S = b[0].domainValue, T = Math.abs(d - v.domainValue), M = Math.abs(d - S);\n return T > M || (T < M ? b = [v] : b.push(v)), b;\n }, []);\n if (m.length > 0) {\n const b = m.map((M) => M.originalData).filter((M) => {\n const L = this.services.cartesianScales.getRangeIdentifier(M), O = M[L];\n return O != null;\n }), v = m.map(\n (M) => M.domainValue\n ), S = u.filter((M) => {\n const L = this.services.cartesianScales.getDomainValue(M);\n return v.includes(L);\n });\n this.elementsToHighlight && this.elementsToHighlight.size() > 0 && !Gs(this.elementsToHighlight, S) && this.hideRuler(), S.dispatch(\"mouseover\"), this.elementsToHighlight = S, this.services.events.dispatchEvent(f.Tooltip.SHOW, {\n mousePosition: [t, s],\n hoveredElement: h,\n data: this.formatTooltipData(b)\n }), p.attr(\"opacity\", 1);\n const T = m[0];\n a === \"horizontal\" ? h.attr(\"x1\", c).attr(\"x2\", l).attr(\"y1\", T.domainValue).attr(\"y2\", T.domainValue) : h.attr(\"y1\", c).attr(\"y2\", l).attr(\"x1\", T.domainValue).attr(\"x2\", T.domainValue);\n } else\n this.hideRuler();\n }\n hideRuler() {\n const e = this.parent, t = E.appendOrSelect(e, \"g.ruler\");\n e.selectAll(\"[role=graphics-symbol]\").dispatch(\"mouseout\"), this.services.events.dispatchEvent(f.Tooltip.HIDE), t.attr(\"opacity\", 0);\n }\n /**\n * Adds the listener on the X grid to trigger multiple point tooltips along the x axis.\n */\n addBackdropEventListeners() {\n this.isEventListenerAdded = !0;\n const e = this, t = this.services.domUtils.getHolder(), s = this.model.getDisplayData();\n let n = function(a) {\n const i = Je(a, e.parent.node());\n e.showRuler(a, i);\n };\n if (s.length > 100) {\n const a = s.length % 50 * 12.5;\n n = An(\n function(i) {\n const { mousePosition: r } = this;\n e.showRuler(i, r);\n },\n a,\n t\n );\n }\n this.backdrop.on(\"mousemove mouseover\", n).on(\"mouseout\", this.hideRuler.bind(this));\n }\n drawBackdrop() {\n const e = this.parent;\n this.backdrop = E.appendOrSelect(e, \"svg.chart-grid-backdrop\");\n }\n}\nclass Bt extends z {\n constructor() {\n super(...arguments), this.type = \"scatter\", this.renderType = H.SVG, this.handleChartHolderOnHover = () => {\n if (!this.parent)\n throw new Error(\"Parent not defined\");\n this.parent.selectAll(\"circle.dot\").transition(\"chart-holder-hover-scatter\").call(\n (e) => {\n var t;\n return (t = this.services.transitions) == null ? void 0 : t.setupTransition({\n transition: e,\n name: \"chart-holder-hover-scatter\"\n });\n }\n ).attr(\"opacity\", 1);\n }, this.handleChartHolderOnMouseOut = () => {\n if (!this.parent)\n throw new Error(\"Parent not defined\");\n this.parent.selectAll(\"circle.dot\").transition(\"chart-holder-mouseout-scatter\").call(\n (e) => {\n var t;\n return (t = this.services.transitions) == null ? void 0 : t.setupTransition({\n transition: e,\n name: \"chart-holder-mouseout-scatter\"\n });\n }\n ).attr(\"opacity\", 0);\n }, this.handleLegendOnHover = (e) => {\n const { hoveredElement: t } = e.detail, { groupMapsTo: s } = this.getOptions().data;\n if (!this.parent)\n throw new Error(\"Parent not defined\");\n this.parent.selectAll(\"circle.dot\").transition(\"legend-hover-scatter\").call(\n (n) => {\n var a;\n return (a = this.services.transitions) == null ? void 0 : a.setupTransition({\n transition: n,\n name: \"legend-hover-scatter\"\n });\n }\n ).attr(\"opacity\", (n) => n[s] !== t.datum().name ? 0.3 : 1);\n }, this.handleLegendMouseOut = () => {\n if (!this.parent)\n throw new Error(\"Parent not defined\");\n this.parent.selectAll(\"circle.dot\").transition(\"legend-mouseout-scatter\").call(\n (e) => {\n var t;\n return (t = this.services.transitions) == null ? void 0 : t.setupTransition({\n transition: e,\n name: \"legend-mouseout-scatter\"\n });\n }\n ).attr(\"opacity\", 1);\n };\n }\n init() {\n const { events: e } = this.services;\n if (!e)\n throw new Error(\"Services events are undefined.\");\n e.addEventListener(f.Legend.ITEM_HOVER, this.handleLegendOnHover), e.addEventListener(f.Legend.ITEM_MOUSEOUT, this.handleLegendMouseOut);\n const { fadeInOnChartHolderMouseover: t } = this.configs;\n t && (e.addEventListener(f.Chart.MOUSEOVER, this.handleChartHolderOnHover), e.addEventListener(f.Chart.MOUSEOUT, this.handleChartHolderOnMouseOut));\n }\n filterBasedOnZoomDomain(e) {\n const { cartesianScales: t } = this.services;\n if (!t)\n throw new Error(\"Services cartesianScales are undefined.\");\n const s = t.getDomainIdentifier(e), n = this.model.get(\"zoomDomain\");\n return n !== void 0 ? e.filter(\n (a) => a[s].getTime() >= n[0].getTime() && a[s].getTime() <= n[1].getTime()\n ) : e;\n }\n getScatterData() {\n const e = this.getOptions(), { stacked: t } = this.configs;\n let s;\n if (t) {\n const n = Object.keys(e.axes).some((a) => e.axes[a].percentage);\n s = this.model.getStackedData({\n groups: this.configs.groups,\n percentage: n\n });\n } else {\n const { cartesianScales: n } = this.services;\n if (!n)\n throw new Error(\"Services cartesianScales are undefined.\");\n s = this.model.getDisplayData(this.configs.groups).filter((a) => {\n const i = n.getRangeIdentifier(a);\n return a[i] !== void 0 && a[i] !== null;\n });\n }\n return this.filterBasedOnZoomDomain(s);\n }\n render(e) {\n if (!(y(this.getOptions(), \"points\", \"enabled\") || y(this.getOptions(), \"bubble\", \"enabled\")))\n return;\n const s = this.getComponentContainer({ withinChartClip: !0 }), n = this.getOptions(), { groupMapsTo: a } = n.data, { cartesianScales: i } = this.services;\n if (!i)\n throw new Error(\"Services cartesianScales are undefined.\");\n const r = i.getDomainIdentifier(), l = s.selectAll(\"circle.dot\").data(\n this.getScatterData(),\n (p) => `${p[a]}-${p[r]}`\n );\n l.exit().attr(\"opacity\", 0).remove();\n const d = l.enter().append(\"circle\").classed(\"dot\", !0).attr(\"opacity\", 0).merge(l);\n this.styleCircles(d, e), this.addEventListeners();\n }\n // A value is an anomaly if is above all defined domain and range thresholds\n isDatapointThresholdAnomaly(e) {\n const { handleThresholds: t } = this.configs;\n if (!t)\n return !1;\n const { cartesianScales: s } = this.services;\n if (!s)\n throw new Error(\"Cartesian scales service is undefined\");\n const n = s.getOrientation(), [a, i] = ve(\n s.getHighestDomainThreshold(),\n s.getHighestRangeThreshold(),\n n\n ), [r, l] = ve(\n (p) => s.getDomainValue(p),\n (p) => s.getRangeValue(p),\n n\n ), c = r(e), d = l(e);\n return i && a ? d <= i.scaleValue && c >= a.scaleValue : i ? d <= i.scaleValue : a ? c >= a.scaleValue : !1;\n }\n styleCircles(e, t) {\n const s = this.getOptions(), { filled: n, fillOpacity: a } = s.points, { cartesianScales: i } = this.services;\n if (!i)\n throw new Error(\"Cartesian scales service is undefined\");\n const { groupMapsTo: r } = s.data, l = (u) => i.getDomainValue(u), c = (u) => i.getRangeValue(u), [d, p] = ve(\n l,\n c,\n i.getOrientation()\n ), { fadeInOnChartHolderMouseover: h } = this.configs;\n e.raise().classed(\"dot\", !0).attr(\"class\", (u) => {\n const g = i.getDomainIdentifier(u), b = this.model.getIsFilled(u[r], u[g], u, n) ? [$.FILL, $.STROKE] : [$.STROKE];\n return this.model.getColorClassName({\n classNameTypes: b,\n dataGroupName: u[r],\n originalClassName: \"dot\"\n }) || \"\";\n }).classed(\"threshold-anomaly\", (u) => this.isDatapointThresholdAnomaly(u)).classed(\"filled\", (u) => {\n const g = i.getDomainIdentifier(u);\n return this.model.getIsFilled(u[r], u[g], u, n);\n }).classed(\"unfilled\", (u) => {\n const g = i.getDomainIdentifier(u);\n return !this.model.getIsFilled(u[r], u[g], u, n);\n }).transition().call(\n (u) => {\n var g;\n return (g = this.services.transitions) == null ? void 0 : g.setupTransition({\n transition: u,\n name: \"scatter-update-enter\",\n animate: t\n });\n }\n ).attr(\"cx\", d).attr(\"cy\", p).attr(\"r\", s.points.radius).style(\"fill\", (u) => {\n const g = i.getDomainIdentifier(u);\n if (this.model.getIsFilled(u[r], u[g], u, n))\n return this.model.getFillColor(u[r], u[g], u);\n }).style(\"stroke\", (u) => {\n const g = i.getDomainIdentifier(u);\n return this.model.getStrokeColor(u[r], u[g], u);\n }).attr(\"fill-opacity\", n ? a : 1).attr(\"opacity\", h ? 0 : 1).attr(\"role\", U.GRAPHICS_SYMBOL).attr(\"aria-roledescription\", \"point\").attr(\"aria-label\", (u) => {\n const g = i.getRangeIdentifier(u);\n return u[g];\n }), this.addEventListeners();\n }\n // Extended in bubble graphs\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n getTooltipAdditionalItems(e) {\n return null;\n }\n addEventListeners() {\n const e = this, { groupMapsTo: t } = e.getOptions().data;\n if (!this.parent)\n throw new Error(\"Parent not defined\");\n this.parent.selectAll(\"circle\").on(\"mouseover\", function(s, n) {\n var i, r;\n const a = x(this);\n a.classed(\"hovered\", !0).attr(\n \"class\",\n (l) => e.model.getColorClassName({\n classNameTypes: [$.FILL],\n dataGroupName: l[t],\n originalClassName: a.attr(\"class\")\n })\n ).style(\"fill\", (l) => {\n var d;\n const c = (d = e.services.cartesianScales) == null ? void 0 : d.getDomainIdentifier(l);\n return e.model.getFillColor(l[t], l[c], l);\n }).classed(\"unfilled\", !1), (i = e.services.events) == null || i.dispatchEvent(f.Tooltip.SHOW, {\n event: s,\n hoveredElement: a,\n data: [n],\n additionalItems: e.getTooltipAdditionalItems(n)\n }), (r = e.services.events) == null || r.dispatchEvent(f.Scatter.SCATTER_MOUSEOVER, {\n event: s,\n element: a,\n datum: n\n });\n }).on(\"mousemove\", function(s, n) {\n var i, r;\n const a = x(this);\n (i = e.services.events) == null || i.dispatchEvent(f.Scatter.SCATTER_MOUSEMOVE, {\n event: s,\n element: a,\n datum: n\n }), (r = e.services.events) == null || r.dispatchEvent(f.Tooltip.MOVE, {\n event: s\n });\n }).on(\"click\", function(s, n) {\n var a;\n (a = e.services.events) == null || a.dispatchEvent(f.Scatter.SCATTER_CLICK, {\n event: s,\n element: x(this),\n datum: n\n });\n }).on(\"mouseout\", function(s, n) {\n var i, r, l;\n const a = x(this);\n if (a.classed(\"hovered\", !1), !e.configs.filled) {\n const { filled: c } = e.getOptions().points, d = (i = e.services.cartesianScales) == null ? void 0 : i.getDomainIdentifier(n), p = e.model.getIsFilled(\n n[t],\n n[d],\n n,\n c\n );\n a.classed(\"unfilled\", !p).style(\"fill\", (h) => p || c ? e.model.getFillColor(h[t], h[d], h) : null);\n }\n (r = e.services.events) == null || r.dispatchEvent(f.Scatter.SCATTER_MOUSEOUT, {\n event: s,\n element: a,\n datum: n\n }), (l = e.services.events) == null || l.dispatchEvent(f.Tooltip.HIDE, {\n hoveredElement: a\n });\n });\n }\n destroy() {\n var t;\n (t = this.parent) == null || t.selectAll(\"circle\").on(\"mousemove\", null).on(\"mouseout\", null);\n const { events: e } = this.services;\n if (!e)\n throw new Error(\"Services events undefined\");\n e.removeEventListener(f.Legend.ITEM_HOVER, this.handleLegendOnHover), e.removeEventListener(f.Legend.ITEM_MOUSEOUT, this.handleLegendMouseOut), e.removeEventListener(f.Chart.MOUSEOVER, this.handleChartHolderOnHover), e.removeEventListener(f.Chart.MOUSEOUT, this.handleChartHolderOnMouseOut);\n }\n}\nclass Ys extends z {\n constructor(e, t, s) {\n super(e, t, s), this.type = \"axes\", this.renderType = H.SVG, this.truncation = {\n [V.LEFT]: !1,\n [V.RIGHT]: !1,\n [V.TOP]: !1,\n [V.BOTTOM]: !1\n }, s && (this.configs = s), this.margins = this.configs.margins;\n }\n render(e = !0) {\n const { position: t } = this.configs, s = this.getOptions(), n = y(s, \"axes\", t, \"visible\"), a = this.getComponentContainer(), { width: i, height: r } = E.getSVGElementSize(a, {\n useAttrs: !0\n }), l = E.appendOrSelect(a, `g.axis.${t}`);\n let c, d;\n if (t === V.BOTTOM || t === V.TOP ? (c = this.configs.axes[V.LEFT] ? this.margins.left : 0, d = this.configs.axes[V.RIGHT] ? i - this.margins.right : i) : (c = r - this.margins.bottom, d = this.margins.top), !this.services.cartesianScales)\n throw new Error(\"Services cartesianScales undefined\");\n const p = this.services.cartesianScales.getScaleByPosition(t);\n this.scaleType === te.LABELS || this.scaleType === te.LABELS_RATIO ? p.rangeRound([c, d]) : p.range([c, d]);\n let h;\n switch (t) {\n case V.LEFT:\n h = fs;\n break;\n case V.BOTTOM:\n h = Dt;\n break;\n case V.RIGHT:\n h = Js;\n break;\n case V.TOP:\n h = Ks;\n break;\n }\n l.attr(\"aria-label\", `${t} axis`);\n const u = !l.select(\"g.ticks\").empty();\n let g = E.appendOrSelect(l, \"g.ticks\");\n u || (g.attr(\"role\", `${U.GRAPHICS_OBJECT} ${U.GROUP}`), g.attr(\"aria-label\", `${t} ticks`));\n const m = E.appendOrSelect(l, \"g.ticks.invisible\").style(\"opacity\", \"0\").style(\"pointer-events\", \"none\").attr(\"aria-hidden\", !0).attr(\"aria-label\", `invisible ${t} ticks`), b = y(s, \"axes\", t), v = this.scaleType === te.TIME || b.scaleType === te.TIME, S = t === V.LEFT || t === V.RIGHT, T = this.model.get(\"zoomDomain\");\n if (T && v && !S && p.domain(T), !n) {\n g.attr(\"aria-hidden\", !0);\n return;\n }\n const M = y(b, \"scaleType\"), L = y(s, \"data\", \"loading\"), O = y(b, \"ticks\", \"number\"), k = y(b, \"ticks\", \"values\"), I = y(b, \"truncation\", \"type\"), F = y(b, \"truncation\", \"threshold\"), P = y(b, \"truncation\", \"numCharacter\"), A = O !== null, w = y(s, \"timeScale\"), G = E.appendOrSelect(m, \"g.tick\"), D = E.appendOrSelect(G, \"text\").text(\"0\"), X = E.getSVGElementSize(D.node(), {\n useBBox: !0\n }).height;\n G.remove();\n const re = this.scaleType || b.scaleType || te.LINEAR, W = h(p).tickSizeOuter(0);\n if (p.ticks) {\n let B;\n if (A ? B = O : (B = ke.ticks.number, S && (B = this.getNumberOfFittingTicks(\n r,\n X,\n ke.ticks.verticalSpaceRatio\n ))), p.ticks().length === 1 && p.ticks()[0] === 0 && (B = 0), W.ticks(B), v)\n if (!p.ticks(B).length)\n W.tickValues([]);\n else {\n const j = y(s, \"timeScale\", \"addSpaceOnEdges\"), q = y(s, \"axes\", t, \"domain\"), J = p.copy();\n j && !q && J.nice(B);\n const oe = J.ticks(B);\n j && oe.length > 2 && !q && (oe.splice(oe.length - 1, 1), oe.splice(0, 1)), W.tickValues(oe);\n }\n }\n let N;\n const ae = y(b, \"ticks\", \"formatter\");\n if (v) {\n const B = pt(\n W.tickValues(),\n y(s, \"timeScale\", \"timeInterval\")\n );\n ae === null ? N = (j, q) => gt(j, q, W.tickValues(), B, w) : N = (j, q) => {\n const J = gt(\n j,\n q,\n W.tickValues(),\n B,\n w\n );\n return ae(j, q, J);\n };\n } else\n ae === null ? re === te.LINEAR && (N = (B) => B.toLocaleString()) : N = ae;\n W.tickFormat(N);\n const [tt, st] = this.services.cartesianScales.getScaleByPosition(t).domain();\n let _e;\n if (k) {\n if (v)\n k.forEach((B, j) => {\n B.getTime === void 0 && (k[j] = new Date(B));\n }), _e = k.filter((B) => {\n const j = B.getTime();\n return j >= new Date(tt).getTime() && j <= new Date(st).getTime();\n });\n else if (M === te.LABELS) {\n const B = this.services.cartesianScales.getScaleByPosition(t).domain();\n _e = k.filter((j) => B.includes(j));\n } else\n _e = k.filter(\n (B) => B >= tt && B <= st\n );\n W.tickValues(_e);\n }\n switch (t) {\n case V.LEFT:\n g.attr(\"transform\", `translate(${this.margins.left}, 0)`);\n break;\n case V.BOTTOM:\n g.attr(\"transform\", `translate(0, ${r - this.margins.bottom})`);\n break;\n case V.RIGHT:\n g.attr(\"transform\", `translate(${i - this.margins.right}, 0)`);\n break;\n case V.TOP:\n g.attr(\"transform\", `translate(0, ${this.margins.top})`);\n break;\n }\n const Nt = this.model.isDataEmpty();\n if (b.title) {\n const B = E.appendOrSelect(l, \"text.axis-title\").html(\n Nt || L ? \"\" : b.title\n ), j = y(b, \"titleOrientation\");\n let q;\n switch (t) {\n case V.LEFT:\n j === Wt.RIGHT ? B.attr(\"transform\", \"rotate(90)\").attr(\"y\", 0).attr(\"x\", p.range()[0] / 2).attr(\"dy\", \"-0.5em\").style(\"text-anchor\", \"middle\") : B.attr(\"transform\", \"rotate(-90)\").attr(\"y\", 0).attr(\"x\", -(p.range()[0] / 2)).attr(\"dy\", \"0.75em\").style(\"text-anchor\", \"middle\");\n break;\n case V.BOTTOM:\n B.attr(\n \"transform\",\n `translate(${this.margins.left / 2 + p.range()[1] / 2}, ${r + 4})`\n ).style(\"text-anchor\", \"middle\");\n break;\n case V.RIGHT:\n j === Wt.LEFT ? B.attr(\"transform\", \"rotate(-90)\").attr(\"y\", i).attr(\"x\", -(p.range()[0] / 2)).style(\"text-anchor\", \"middle\") : B.attr(\"transform\", \"rotate(90)\").attr(\"y\", -i).attr(\"x\", p.range()[0] / 2).attr(\"dy\", \"0.75em\").style(\"text-anchor\", \"middle\");\n break;\n case V.TOP:\n q = E.getSVGElementSize(B, {\n useBBox: !0\n }).height, B.attr(\n \"transform\",\n `translate(${this.margins.left / 2 + p.range()[1] / 2}, ${q / 2})`\n ).style(\"text-anchor\", \"middle\");\n break;\n }\n }\n if (v) {\n const B = pt(\n W.tickValues(),\n y(s, \"timeScale\", \"timeInterval\")\n ), j = w.showDayName, q = g;\n e && (g = g.transition().call(\n (oe) => this.services.transitions.setupTransition({\n transition: oe,\n name: \"axis-update\",\n animate: e\n })\n )), g = g.call(W), q.selectAll(\".tick\").data(W.tickValues(), p).order().select(\"text\").style(\"font-weight\", (oe, Ne) => Cn(oe, Ne, W.tickValues(), B, j) ? \"bold\" : \"normal\");\n } else\n !e || !u ? g = g.call(W) : g = g.transition().call(\n (B) => this.services.transitions.setupTransition({\n transition: B,\n name: \"axis-update\",\n animate: e\n })\n ).call(W);\n if (m.call(W), t === V.BOTTOM || t === V.TOP) {\n let B = !1;\n const j = y(b, \"ticks\", \"rotation\");\n if (j === at.ALWAYS)\n B = !0;\n else if (j === at.NEVER)\n B = !1;\n else if (!j || j === at.AUTO)\n if (p.step)\n B = m.selectAll(\"g.tick text\").nodes().some(\n (J) => E.getSVGElementSize(J, {\n useBBox: !0\n }).width >= p.step()\n );\n else {\n B = !1;\n const q = m.append(\"text\").text(\"A\"), J = E.getSVGElementSize(q.node(), {\n useBBox: !0\n }).width;\n let oe;\n m.selectAll(\"g.tick\").each(function() {\n const Ne = x(this), C = parseFloat(y(ge(this), \"tx\"));\n C !== null && oe + Ne.text().length * J * 0.8 >= C && (B = !0), oe = C;\n }), q.remove();\n }\n B ? (A || (W.ticks(\n this.getNumberOfFittingTicks(i, X, ke.ticks.horizontalSpaceRatio)\n ), m.call(W), g.call(W)), l.selectAll(\"g.ticks g.tick text\").attr(\"transform\", \"rotate(-45)\").attr(\"text-anchor\", t === V.TOP ? \"start\" : \"end\")) : l.selectAll(\"g.ticks g.tick text\").attr(\"transform\", null).attr(\"text-anchor\", null);\n }\n if (L ? l.attr(\"opacity\", 0) : l.attr(\"opacity\", 1), g.selectAll(\"g.tick\").attr(\"aria-label\", (B) => B), m.selectAll(\"g.tick\").attr(\"aria-label\", (B) => B), I !== Ie.NONE && M === te.LABELS && !k) {\n const B = this.services.cartesianScales.getScaleDomain(t);\n if (B.length > 0) {\n const j = a.select(`g.axis.${t} g.ticks g.tick`).html();\n l.selectAll(\"g.ticks g.tick\").html(j);\n const q = this;\n l.selectAll(\"g.tick text\").data(B).text(function(J) {\n return J.length > F ? (q.truncation[t] = !0, Ge(J, I, P)) : J;\n }), this.getInvisibleAxisRef().selectAll(\"g.tick text\").data(B).text(function(J) {\n return J.length > F ? Ge(J, I, P) : J;\n }), l.selectAll(\"g.ticks\").html(this.getInvisibleAxisRef().html()), l.selectAll(\"g.tick text\").data(B);\n }\n }\n this.addEventListeners();\n }\n addEventListeners() {\n const e = this.getComponentContainer(), { position: t } = this.configs, s = E.appendOrSelect(e, `g.axis.${t}`), n = this.getOptions(), a = y(n, \"axes\", t), i = y(a, \"scaleType\"), r = y(a, \"truncation\", \"threshold\"), l = this;\n s.selectAll(\"g.tick text\").on(\"mouseover\", function(c, d) {\n l.services.events.dispatchEvent(f.Axis.LABEL_MOUSEOVER, {\n event: c,\n element: x(this),\n datum: d\n }), i === te.LABELS && d.length > r && l.services.events.dispatchEvent(f.Tooltip.SHOW, {\n event: c,\n hoveredElement: x(this),\n content: d\n });\n }).on(\"mousemove\", function(c, d) {\n l.services.events.dispatchEvent(f.Axis.LABEL_MOUSEMOVE, {\n event: c,\n element: x(this),\n datum: d\n }), i === te.LABELS && d.length > r && l.services.events.dispatchEvent(f.Tooltip.MOVE, {\n event: c\n });\n }).on(\"click\", function(c, d) {\n l.services.events.dispatchEvent(f.Axis.LABEL_CLICK, {\n event: c,\n element: x(this),\n datum: d\n });\n }).on(\"mouseout\", function(c, d) {\n l.services.events.dispatchEvent(f.Axis.LABEL_MOUSEOUT, {\n event: c,\n element: x(this),\n datum: d\n }), i === te.LABELS && l.services.events.dispatchEvent(f.Tooltip.HIDE);\n });\n }\n getInvisibleAxisRef() {\n const { position: e } = this.configs;\n return this.getComponentContainer().select(`g.axis.${e} g.ticks.invisible`);\n }\n getTitleRef() {\n const { position: e } = this.configs;\n return this.getComponentContainer().select(`g.axis.${e} text.axis-title`);\n }\n getNumberOfFittingTicks(e, t, s) {\n const n = Math.floor(e / (t * s));\n return $s(n, 2, ke.ticks.number);\n }\n destroy() {\n const e = this.getComponentContainer(), { position: t } = this.configs;\n E.appendOrSelect(e, `g.axis.${t}`).selectAll(\"g.tick text\").on(\"mouseover\", null).on(\"mousemove\", null).on(\"mouseout\", null);\n }\n}\nclass or extends Ys {\n constructor(e, t, s) {\n super(e, t, s);\n }\n render(e = !0) {\n super.render(e), super.destroy();\n const t = this.configs.position, s = this.getComponentContainer(), n = E.appendOrSelect(s, `g.axis.${t}`), a = this;\n n.selectAll(\"g.tick\").each(function(i, r) {\n const l = x(this);\n l.classed(\"tick-hover\", !0).attr(\"tabindex\", r === 0 ? 0 : -1);\n const c = l.select(\"text\"), { width: d, height: p } = E.getSVGElementSize(c, {\n useBBox: !0\n }), h = E.appendOrSelect(l, \"rect.axis-holder\");\n let u = 0, g = 0;\n switch (t) {\n case V.LEFT:\n u = -d + Number(c.attr(\"x\")), g = -(p / 2);\n break;\n case V.RIGHT:\n u = Math.abs(Number(c.attr(\"x\"))), g = -(p / 2);\n break;\n case V.TOP:\n u = -(d / 2), g = -p + Number(c.attr(\"y\")) / 2, a.truncation[t] && (u = 0, h.attr(\"transform\", \"rotate(-45)\"));\n break;\n case V.BOTTOM:\n u = -(d / 2), g = p / 2 - 2, a.truncation[t] && (u = -d, h.attr(\"transform\", \"rotate(-45)\"));\n break;\n }\n h.attr(\"x\", u - ke.hover.rectanglePadding).attr(\"y\", g).attr(\"width\", d + ke.hover.rectanglePadding * 2).attr(\"height\", p).lower();\n }), this.addEventListeners();\n }\n addEventListeners() {\n const e = this.getComponentContainer(), { position: t } = this.configs, s = E.appendOrSelect(e, `g.axis.${t}`), n = this.getOptions(), a = y(n, \"axes\", t), i = y(a, \"scaleType\"), r = y(a, \"truncation\", \"threshold\"), l = this;\n s.selectAll(\"g.tick.tick-hover\").on(\"mouseover\", function(c) {\n const d = x(this).select(\"text\"), p = d.datum();\n l.services.events.dispatchEvent(f.Axis.LABEL_MOUSEOVER, {\n event: c,\n element: d,\n datum: p\n }), i === te.LABELS && p.length > r && l.services.events.dispatchEvent(f.Tooltip.SHOW, {\n event: c,\n element: d,\n datum: p\n });\n }).on(\"mousemove\", function(c) {\n const d = x(this).select(\"text\"), p = d.datum();\n l.services.events.dispatchEvent(f.Axis.LABEL_MOUSEMOVE, {\n event: c,\n element: d,\n datum: p\n }), l.services.events.dispatchEvent(f.Tooltip.MOVE, {\n event: c\n });\n }).on(\"click\", function(c) {\n l.services.events.dispatchEvent(f.Axis.LABEL_CLICK, {\n event: c,\n element: x(this).select(\"text\"),\n datum: x(this).select(\"text\").datum()\n });\n }).on(\"mouseout\", function(c) {\n l.services.events.dispatchEvent(f.Axis.LABEL_MOUSEOUT, {\n event: c,\n element: x(this).select(\"text\"),\n datum: x(this).select(\"text\").datum()\n }), i === te.LABELS && l.services.events.dispatchEvent(f.Tooltip.HIDE);\n }).on(\"focus\", function(c) {\n const d = { clientX: 0, clientY: 0 };\n if (c.target) {\n c.target.focus();\n const p = c.target.getBoundingClientRect();\n d.clientX = p.x, d.clientY = p.y;\n }\n l.services.events.dispatchEvent(f.Axis.LABEL_FOCUS, {\n event: { ...c, ...d },\n element: x(this),\n datum: x(this).select(\"text\").datum()\n });\n }).on(\"blur\", function(c) {\n l.services.events.dispatchEvent(f.Axis.LABEL_BLUR, {\n event: c,\n element: x(this),\n datum: x(this).select(\"text\").datum()\n });\n }).on(\"keydown\", function(c) {\n c.key && c.key === \"Escape\" && (l.services.events.dispatchEvent(f.Tooltip.HIDE), l.services.events.dispatchEvent(f.Axis.LABEL_BLUR, {\n event: c,\n element: x(this),\n datum: x(this).select(\"text\").datum()\n })), t === V.LEFT || t === V.RIGHT ? c.key && c.key === \"ArrowUp\" ? l.goNext(this, c) : c.key && c.key === \"ArrowDown\" && l.goPrevious(this, c) : c.key && c.key === \"ArrowLeft\" ? l.goPrevious(this, c) : c.key && c.key === \"ArrowRight\" && l.goNext(this, c);\n });\n }\n // Focus on the next HTML element sibling\n goNext(e, t) {\n e.nextElementSibling && e.nextElementSibling.tagName !== \"path\" && e.nextElementSibling.dispatchEvent(new Event(\"focus\")), t.preventDefault();\n }\n // Focus on the previous HTML element sibling\n goPrevious(e, t) {\n e.previousElementSibling && e.previousElementSibling.tagName !== \"path\" && e.previousElementSibling.dispatchEvent(new Event(\"focus\")), t.preventDefault();\n }\n destroy() {\n const e = this.getComponentContainer(), { position: t } = this.configs;\n E.appendOrSelect(e, `g.axis.${t}`).selectAll(\"g.tick.tick-hover\").on(\"mouseover\", null).on(\"mousemove\", null).on(\"mouseout\", null).on(\"focus\", null).on(\"blur\", null);\n }\n}\nclass vc extends z {\n constructor() {\n super(...arguments), this.type = \"2D-axes\", this.renderType = H.SVG, this.children = {}, this.thresholds = [], this.margins = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n }\n render(e = !1) {\n const t = {}, s = Object.keys(V), n = y(this.getOptions(), \"axes\");\n s.forEach((r) => {\n n[V[r]] && (t[V[r]] = !0);\n }), this.configs.axes = t, s.forEach((r) => {\n const l = V[r];\n if (this.configs.axes[l] && !this.children[l]) {\n const c = {\n position: l,\n axes: this.configs.axes,\n margins: this.margins\n }, d = this.model.axisFlavor === _n.DEFAULT ? new Ys(this.model, this.services, c) : new or(this.model, this.services, c);\n d.setModel(this.model), d.setServices(this.services), d.setParent(this.parent), this.children[l] = d;\n }\n }), Object.keys(this.children).forEach((r) => {\n this.children[r].render(e);\n });\n const a = {};\n Object.keys(this.children).forEach((r) => {\n const l = this.children[r], c = l.configs.position, d = l.getInvisibleAxisRef(), { width: p, height: h } = E.getSVGElementSize(d, { useBBox: !0 });\n let u;\n switch (l.getTitleRef().empty() ? u = 0 : (u = E.getSVGElementSize(l.getTitleRef(), {\n useBBox: !0\n }).height, (c === V.LEFT || c === V.RIGHT) && (u += 5)), c) {\n case V.TOP:\n a.top = h + u;\n break;\n case V.BOTTOM:\n a.bottom = h + u;\n break;\n case V.LEFT:\n a.left = p + u;\n break;\n case V.RIGHT:\n a.right = p + u;\n break;\n }\n }), this.services.events.dispatchEvent(f.Axis.RENDER_COMPLETE), Object.keys(a).some((r) => this.margins[r] !== a[r]) && (this.margins = Object.assign(this.margins, a), this.model.set({ axesMargins: this.margins }, { skipUpdate: !0 }), this.services.events.dispatchEvent(f.ZoomBar.UPDATE), Object.keys(this.children).forEach((r) => {\n const l = this.children[r];\n l.margins = this.margins;\n }), this.render(!0));\n }\n}\nclass lr extends z {\n constructor() {\n super(...arguments), this.type = \"skeleton\";\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n render(e = !0) {\n const t = y(this.getOptions(), \"data\", \"loading\");\n t ? this.renderSkeleton(t) : this.removeSkeleton();\n }\n renderSkeleton(e) {\n if (this.configs.skeleton === Ue.GRID)\n this.renderGridSkeleton(e);\n else if (this.configs.skeleton === Ue.VERT_OR_HORIZ)\n this.renderVertOrHorizSkeleton(e);\n else if (this.configs.skeleton === Ue.PIE)\n this.renderPieSkeleton(e);\n else if (this.configs.skeleton === Ue.DONUT)\n this.renderDonutSkeleton(e);\n else\n throw new Error(`\"${this.configs.skeleton}\" is not a valid Skeleton type.`);\n }\n renderGridSkeleton(e) {\n this.setScales(), this.drawBackdrop(e), this.drawXGrid(e), this.drawYGrid(e), e && this.setShimmerEffect(\"shimmer-lines\");\n }\n renderVertOrHorizSkeleton(e) {\n const t = this.services.cartesianScales.getOrientation();\n this.setScales(), this.drawBackdrop(e), t === le.VERTICAL && this.drawYGrid(e), t === le.HORIZONTAL && this.drawXGrid(e), this.setShimmerEffect(\"shimmer-lines\");\n }\n renderPieSkeleton(e) {\n const t = this.computeOuterRadius(), s = 0;\n this.drawRing(t, s, e), e && this.setShimmerEffect(\"shimmer-areas\");\n }\n renderDonutSkeleton(e) {\n const t = this.computeOuterRadius(), s = this.computeInnerRadius();\n this.drawRing(t, s, e), e && this.setShimmerEffect(\"shimmer-areas\");\n }\n setScales() {\n const e = this.services.cartesianScales.getMainXScale().range(), t = this.services.cartesianScales.getMainYScale().range();\n this.xScale = Oe().domain([0, 1]).range(e), this.yScale = Oe().domain([0, 1]).range(t);\n }\n drawBackdrop(e) {\n const t = this.parent, { width: s, height: n } = E.getSVGElementSize(t, {\n useAttrs: !0\n });\n this.backdrop = E.appendOrSelect(t, \"svg.chart-skeleton.DAII\").attr(\"width\", s).attr(\"height\", n);\n const a = E.appendOrSelect(this.backdrop, \"rect.chart-skeleton-backdrop\");\n a.attr(\"width\", \"100%\").attr(\"height\", \"100%\");\n const [i] = this.xScale.range(), [, r] = this.yScale.range();\n this.backdrop.merge(a).attr(\"x\", i).attr(\"y\", r), a.classed(\"shimmer-effect-lines\", e).classed(\"empty-state-lines\", !e).style(\n \"stroke\",\n e ? `url(#${this.services.domUtils.generateElementIDString(\"shimmer-lines\")})` : null\n );\n }\n drawXGrid(e) {\n const t = +this.backdrop.attr(\"width\"), s = y(this.getOptions(), \"grid\", \"x\", \"numberOfTicks\"), n = this.xScale.ticks(s).map((r) => r * t), a = E.appendOrSelect(this.backdrop, \"g.x.skeleton\"), i = a.selectAll(\"line\").data(n);\n i.enter().append(\"line\").merge(i).attr(\"x1\", (r) => r).attr(\"x2\", (r) => r).attr(\"y1\", 0).attr(\"y2\", \"100%\"), a.selectAll(\"line\").classed(\"shimmer-effect-lines\", e).classed(\"empty-state-lines\", !e).style(\n \"stroke\",\n e ? `url(#${this.services.domUtils.generateElementIDString(\"shimmer-lines\")})` : null\n );\n }\n drawYGrid(e) {\n const t = +this.backdrop.attr(\"height\"), s = this.backdrop.attr(\"width\"), n = y(this.getOptions(), \"grid\", \"y\", \"numberOfTicks\"), a = this.xScale.ticks(n).map((l) => l * t), i = E.appendOrSelect(this.backdrop, \"g.y.skeleton\"), r = i.selectAll(\"line\").data(a);\n r.enter().append(\"line\").merge(r).attr(\"x1\", 0).attr(\"x2\", s).attr(\"y1\", (l) => l).attr(\"y2\", (l) => l), i.selectAll(\"line\").classed(\"shimmer-effect-lines\", e).classed(\"empty-state-lines\", !e).style(\n \"stroke\",\n e ? `url(#${this.services.domUtils.generateElementIDString(\"shimmer-lines\")})` : null\n );\n }\n drawRing(e, t, s = !0) {\n const n = this.parent, { width: a, height: i } = E.getSVGElementSize(n, {\n useAttrs: !0\n }), r = E.appendOrSelect(n, \"svg.chart-skeleton\").attr(\"width\", a).attr(\"height\", i), l = t === 0 ? \"pie\" : \"donut\", c = y(this.getOptions(), l, \"alignment\");\n E.appendOrSelect(r, \"rect.chart-skeleton-area-container\").attr(\"width\", a).attr(\"height\", i).attr(\"fill\", \"none\");\n const d = $e().innerRadius(t).outerRadius(e).startAngle(0).endAngle(Math.PI * 2), p = e + Math.abs(Z.radiusOffset), h = e + (Math.min(a, i) - e * 2) / 2, u = E.appendOrSelect(r, \"path\").attr(\"class\", \"skeleton-area-shape\").attr(\"transform\", `translate(${p}, ${h})`).attr(\"d\", d).classed(\"shimmer-effect-areas\", s).classed(\"empty-state-areas\", !s).style(\n \"fill\",\n s ? `url(#${this.services.domUtils.generateElementIDString(\"shimmer-areas\")})` : null\n );\n let g = e + Z.xOffset;\n c === ue.CENTER ? g = a / 2 : c === ue.RIGHT && (g = a - e - Z.xOffset);\n const m = e + Z.yOffset;\n u.attr(\"transform\", `translate(${g}, ${m})`);\n }\n // same logic in pie\n computeOuterRadius() {\n const { width: e, height: t } = E.getSVGElementSize(this.parent, {\n useAttrs: !0\n });\n return Math.min(e, t) / 2 + Z.radiusOffset;\n }\n // same logic in donut\n computeInnerRadius() {\n return this.computeOuterRadius() * (3 / 4);\n }\n setShimmerEffect(e) {\n const a = \"stop-bg-shimmer\", i = \"stop-shimmer\", r = this.parent.select(\".chart-skeleton\"), { width: l } = E.getSVGElementSize(this.parent, {\n useAttrs: !0\n }), c = 0, d = l, p = E.appendOrSelect(r, \"defs\").lower(), h = E.appendOrSelect(p, \"linearGradient\").attr(\"id\", this.services.domUtils.generateElementIDString(e)).attr(\"class\", e).attr(\"x1\", c - 3 * 0.2 * l).attr(\"x2\", d).attr(\"y1\", 0).attr(\"y2\", 0).attr(\"gradientUnits\", \"userSpaceOnUse\").attr(\"gradientTransform\", \"translate(0, 0)\"), u = `\n\t\t\t<stop class=\"${a}\" offset=\"${c}\"></stop>\n\t\t\t<stop class=\"${i}\" offset=\"${c + 0.2}\"></stop>\n\t\t\t<stop class=\"${a}\" offset=\"${c + 2 * 0.2}\"></stop>\n\t\t`;\n h.html(u), g();\n function g() {\n h.attr(\"gradientTransform\", `translate(${c - 3 * 0.2 * l}, 0)`).transition().duration(2e3).delay(1e3).ease(Qs).attr(\"gradientTransform\", `translate(${d + 3 * 0.2 * l}, 0)`).on(\"end\", g);\n }\n }\n removeSkeleton() {\n this.parent.select(\".chart-skeleton\").remove();\n }\n}\nclass yc extends z {\n constructor() {\n super(...arguments), this.type = \"boxplot\", this.renderType = H.SVG;\n }\n render(e) {\n const t = this.getComponentContainer({ withinChartClip: !0 }), s = this.getOptions(), { groupMapsTo: n } = s.data, a = this.model.getDataGroupNames(), i = this.services.cartesianScales.getMainXScale(), r = this.services.cartesianScales.getMainYScale(), [l, c] = i.range(), [d, p] = r.range(), h = c - l, u = d - p;\n if (h === 0)\n return;\n const { cartesianScales: g } = this.services, m = g.getOrientation(), b = m === le.VERTICAL, [v, S] = ve(\n (A) => this.services.cartesianScales.getDomainValue(A),\n (A) => this.services.cartesianScales.getRangeValue(A),\n m\n ), T = Math.floor((b ? h : u) / a.length), M = Math.min(T / 2, 16), L = this.model.getBoxplotData(), O = t.selectAll(\".box-group\").data(L);\n O.exit().remove();\n const k = O.enter().append(\"g\").attr(\"class\", \"box-group\"), I = O.merge(k);\n k.append(\"path\").merge(O.select(\"path.vertical-line.start\")).attr(\n \"class\",\n () => this.model.getColorClassName({\n classNameTypes: [$.STROKE],\n originalClassName: \"vertical-line start\"\n })\n ).attr(\"stroke-width\", ce.strokeWidth.default).attr(\"fill\", \"none\").transition().call(\n (A) => this.services.transitions.setupTransition({\n transition: A,\n name: \"boxplot-update-verticalstartline\",\n animate: e\n })\n ).attr(\"d\", (A) => {\n const w = g.getDomainValue(A[n]), G = w, D = g.getRangeValue(A.whiskers.min), X = g.getRangeValue(A.quartiles.q_25);\n return ie({ x0: w, x1: G, y0: D, y1: X }, m);\n }), k.append(\"path\").merge(O.select(\"path.vertical-line.end\")).attr(\n \"class\",\n () => this.model.getColorClassName({\n classNameTypes: [$.STROKE],\n originalClassName: \"vertical-line end\"\n })\n ).attr(\"stroke-width\", ce.strokeWidth.default).attr(\"fill\", \"none\").transition().call(\n (A) => this.services.transitions.setupTransition({\n transition: A,\n name: \"boxplot-update-verticalendline\",\n animate: e\n })\n ).attr(\"d\", (A) => {\n const w = g.getDomainValue(A[n]), G = w, D = g.getRangeValue(A.whiskers.max), X = g.getRangeValue(A.quartiles.q_75);\n return ie({ x0: w, x1: G, y0: D, y1: X }, m);\n }), k.append(\"path\").merge(O.select(\"path.box\")).attr(\n \"class\",\n () => this.model.getColorClassName({\n classNameTypes: [$.FILL, $.STROKE],\n originalClassName: \"box\"\n })\n ).attr(\"fill-opacity\", ce.box.opacity.default).attr(\"stroke-width\", ce.strokeWidth.default).attr(\"role\", U.GRAPHICS_SYMBOL).attr(\"aria-roledescription\", \"box\").attr(\"aria-label\", (A) => A[n]).transition().call(\n (A) => this.services.transitions.setupTransition({\n transition: A,\n name: \"boxplot-update-quartiles\",\n animate: e\n })\n ).attr(\"d\", (A) => {\n const w = g.getDomainValue(A[n]) - M / 2, G = w + M, D = g.getRangeValue(\n Math[b ? \"max\" : \"min\"](A.quartiles.q_75, A.quartiles.q_25)\n ), X = D + Math.abs(\n g.getRangeValue(A.quartiles.q_75) - g.getRangeValue(A.quartiles.q_25)\n );\n return ie({ x0: w, x1: G, y0: D, y1: X }, m);\n }), k.append(\"path\").merge(O.select(\"path.highlight-area\")).attr(\"class\", \"highlight-area\").attr(\"opacity\", 0).attr(\"d\", (A) => {\n const w = g.getDomainValue(A[n]) - M / 2, G = w + M, D = g.getRangeValue(A.whiskers.min), X = g.getRangeValue(A.whiskers.max);\n return ie({ x0: w, x1: G, y0: D, y1: X }, m);\n }), k.append(\"path\").merge(O.select(\"path.whisker.start\")).attr(\n \"class\",\n () => this.model.getColorClassName({\n classNameTypes: [$.STROKE],\n originalClassName: \"whisker start\"\n })\n ).attr(\"stroke-width\", ce.strokeWidth.thicker).attr(\"fill\", \"none\").transition().call(\n (A) => this.services.transitions.setupTransition({\n transition: A,\n name: \"boxplot-update-startingwhisker\",\n animate: e\n })\n ).attr(\"d\", (A) => {\n const w = g.getDomainValue(A[n]) - M / 4, G = w + M / 2, D = g.getRangeValue(A.whiskers.min), X = g.getRangeValue(A.whiskers.min);\n return ie({ x0: w, x1: G, y0: D, y1: X }, m);\n }), k.append(\"path\").merge(O.select(\"path.median\")).attr(\"fill\", \"none\").attr(\n \"class\",\n () => this.model.getColorClassName({\n classNameTypes: [$.STROKE],\n originalClassName: \"median\"\n })\n ).attr(\"stroke-width\", 2).transition().call(\n (A) => this.services.transitions.setupTransition({\n transition: A,\n name: \"boxplot-update-median\",\n animate: e\n })\n ).attr(\"d\", (A) => {\n const w = g.getDomainValue(A[n]) - M / 2, G = w + M, D = g.getRangeValue(A.quartiles.q_50);\n return ie({ x0: w, x1: G, y0: D, y1: D }, m);\n }), k.append(\"path\").merge(O.select(\"path.whisker.end\")).attr(\n \"class\",\n () => this.model.getColorClassName({\n classNameTypes: [$.STROKE],\n originalClassName: \"whisker end\"\n })\n ).attr(\"stroke-width\", ce.strokeWidth.thicker).attr(\"fill\", \"none\").transition().call(\n (A) => this.services.transitions.setupTransition({\n transition: A,\n name: \"boxplot-update-endingwhisker\",\n animate: e\n })\n ).attr(\"d\", (A) => {\n const w = g.getDomainValue(A[n]) - M / 4, G = w + M / 2, D = g.getRangeValue(A.whiskers.max), X = g.getRangeValue(A.whiskers.max);\n return ie({ x0: w, x1: G, y0: D, y1: X }, m);\n });\n const F = I.selectAll(\"circle.outlier\").data(\n (A) => A.outliers.map((w) => ({\n min: A.whiskers.min,\n max: A.whiskers.max,\n [n]: A[n],\n value: w\n }))\n );\n F.exit().remove();\n const P = F.enter().append(\"circle\");\n F.merge(P).attr(\"r\", ce.circle.radius).attr(\n \"class\",\n () => this.model.getColorClassName({\n classNameTypes: [$.FILL, $.STROKE],\n originalClassName: \"outlier\"\n })\n ).attr(\"fill-opacity\", ce.circle.opacity.default).attr(\"cx\", v).transition().call(\n (A) => this.services.transitions.setupTransition({\n transition: A,\n name: \"boxplot-update-circles\",\n animate: e\n })\n ).attr(\"cy\", S), this.addBoxEventListeners(), this.addCircleEventListeners();\n }\n addBoxEventListeners() {\n const e = this, t = this.getOptions(), { groupMapsTo: s } = t.data;\n this.parent.selectAll(\"path.highlight-area\").on(\"mouseover\", function(n, a) {\n const i = x(this);\n x(this.parentNode).select(\"path.box\").classed(\"hovered\", !0).attr(\"fill-opacity\", ce.box.opacity.hovered), e.services.events.dispatchEvent(f.Tooltip.SHOW, {\n event: n,\n hoveredElement: i,\n items: [\n {\n label: t.tooltip.groupLabel,\n value: a[s],\n class: e.model.getColorClassName({\n classNameTypes: [$.TOOLTIP]\n })\n },\n {\n label: \"Minimum\",\n value: a.whiskers.min\n },\n {\n label: \"Q1\",\n value: a.quartiles.q_25\n },\n {\n label: \"Median\",\n value: a.quartiles.q_50\n },\n {\n label: \"Q3\",\n value: a.quartiles.q_75\n },\n {\n label: \"Maximum\",\n value: a.whiskers.max\n },\n {\n label: \"IQR\",\n value: a.quartiles.q_75 - a.quartiles.q_25\n }\n ]\n }), e.services.events.dispatchEvent(f.Boxplot.BOX_MOUSEOVER, {\n event: n,\n element: i,\n datum: a\n });\n }).on(\"mousemove\", function(n, a) {\n const i = x(this);\n e.services.events.dispatchEvent(f.Boxplot.BOX_MOUSEMOVE, {\n event: n,\n element: i,\n datum: a\n }), e.services.events.dispatchEvent(f.Tooltip.MOVE, {\n event: n\n });\n }).on(\"click\", function(n, a) {\n e.services.events.dispatchEvent(f.Boxplot.BOX_CLICK, {\n event: n,\n element: x(this),\n datum: a\n });\n }).on(\"mouseout\", function(n, a) {\n const i = x(this);\n x(this.parentNode).select(\"path.box\").classed(\"hovered\", !1).attr(\"fill-opacity\", ce.box.opacity.default), e.services.events.dispatchEvent(f.Boxplot.BOX_MOUSEOUT, {\n event: n,\n element: i,\n datum: a\n }), e.services.events.dispatchEvent(f.Tooltip.HIDE, {\n hoveredElement: i\n });\n });\n }\n addCircleEventListeners() {\n const e = this, t = this.getOptions(), { groupMapsTo: s } = t.data, n = this.services.cartesianScales.getRangeIdentifier();\n this.parent.selectAll(\"circle\").on(\"mouseover\", function(a, i) {\n const r = x(this);\n r.classed(\"hovered\", !0).attr(\"fill-opacity\", ce.circle.opacity.hovered).classed(\"unfilled\", !1), e.services.events.dispatchEvent(f.Tooltip.SHOW, {\n event: a,\n hoveredElement: r,\n items: [\n {\n label: t.tooltip.groupLabel,\n value: i[s],\n class: e.model.getColorClassName({\n classNameTypes: [$.TOOLTIP]\n })\n },\n {\n label: \"Outlier\",\n value: i[n]\n }\n ]\n }), e.services.events.dispatchEvent(f.Boxplot.OUTLIER_MOUSEOVER, {\n event: a,\n element: r,\n datum: i\n });\n }).on(\"mousemove\", function(a, i) {\n const r = x(this);\n e.services.events.dispatchEvent(f.Boxplot.OUTLIER_MOUSEMOVE, {\n event: a,\n element: r,\n datum: i\n }), e.services.events.dispatchEvent(f.Tooltip.MOVE, {\n event: a\n });\n }).on(\"click\", function(a, i) {\n e.services.events.dispatchEvent(f.Boxplot.OUTLIER_CLICK, {\n event: a,\n element: x(this),\n datum: i\n });\n }).on(\"mouseout\", function(a, i) {\n const r = x(this);\n r.classed(\"hovered\", !1).attr(\"fill-opacity\", ce.circle.opacity.default), e.services.events.dispatchEvent(f.Boxplot.OUTLIER_MOUSEOUT, {\n event: a,\n element: r,\n datum: i\n }), e.services.events.dispatchEvent(f.Tooltip.HIDE, {\n hoveredElement: r\n });\n });\n }\n}\nclass bc extends z {\n constructor() {\n super(...arguments), this.type = \"zero-line\", this.renderType = H.SVG;\n }\n render(e) {\n const t = this.services.cartesianScales.getRangeAxisPosition({\n groups: this.configs.groups\n }), s = this.services.cartesianScales.getScaleByPosition(t), [n, a] = s.domain(), i = n > 0 && a < 0 || n < 0 && a > 0, r = this.getComponentContainer();\n if (!i) {\n r.selectAll(\"line.domain\").remove();\n return;\n }\n const [l, c] = this.services.cartesianScales.getDomainScale().range();\n let d = +s(0) + 0.5;\n d || (d = s.range()[0]);\n const p = kn(\n {\n x0: l,\n x1: c,\n y0: d,\n y1: d\n },\n this.services.cartesianScales.getOrientation()\n );\n E.appendOrSelect(r, \"line.domain\").transition().call(\n (u) => this.services.transitions.setupTransition({\n transition: u,\n name: \"zero-line-update\",\n animate: e\n })\n ).attr(\"y1\", p.y0).attr(\"y2\", p.y1).attr(\"x1\", p.x0).attr(\"x2\", p.x1);\n }\n}\nclass Ec extends Bt {\n constructor() {\n super(...arguments), this.type = \"bubble\", this.renderType = H.SVG;\n }\n getRadiusScale(e) {\n const t = this.getOptions(), { radiusMapsTo: s } = t.bubble, n = e.data(), a = n.map((c) => c[s]).filter((c) => c), i = E.getHTMLElementSize(this.services.domUtils.getMainContainer()), r = a.length > 0, l = r ? Qe(a) : [1, 1];\n return Oe().domain(l).range(r ? t.bubble.radiusRange(i, n) : [4, 4]);\n }\n styleCircles(e, t) {\n const s = this.getOptions(), { radiusMapsTo: n } = s.bubble, a = this.getRadiusScale(e), { groupMapsTo: i } = s.data, { cartesianScales: r } = this.services, l = (h) => r.getDomainValue(h), c = (h) => r.getRangeValue(h), [d, p] = ve(\n l,\n c,\n r.getOrientation()\n );\n e.raise().classed(\"dot\", !0).attr(\"role\", U.GRAPHICS_SYMBOL).attr(\"aria-label\", (h) => {\n const u = r.getRangeIdentifier(h);\n return h[u];\n }).transition().call(\n (h) => this.services.transitions.setupTransition({\n transition: h,\n name: \"bubble-update-enter\",\n animate: t\n })\n ).attr(\"cx\", d).attr(\"cy\", p).attr(\"r\", (h) => a(h[n] || 1)).attr(\n \"class\",\n (h) => this.model.getColorClassName({\n classNameTypes: [$.FILL, $.STROKE],\n dataGroupName: h[i],\n originalClassName: \"dot\"\n })\n ).style(\"fill\", (h) => {\n const u = this.services.cartesianScales.getDomainIdentifier(h);\n return this.model.getFillColor(h[i], h[u], h);\n }).style(\"stroke\", (h) => {\n const u = this.services.cartesianScales.getDomainIdentifier(h);\n return this.model.getStrokeColor(h[i], h[u], h);\n }).attr(\"fill-opacity\", s.bubble.fillOpacity).attr(\"opacity\", 1);\n }\n getTooltipAdditionalItems(e) {\n const t = y(this.getOptions(), \"bubble\");\n return [\n {\n label: y(t, \"radiusLabel\"),\n value: e[y(t, \"radiusMapsTo\")]\n }\n ];\n }\n}\nclass Sc extends z {\n constructor() {\n super(...arguments), this.type = \"bullet\", this.renderType = H.SVG, this.handleLegendOnHover = (e) => {\n const { hoveredElement: t } = e.detail, { groupMapsTo: s } = this.getOptions().data;\n this.parent.selectAll(\"path.bar\").transition(\"legend-hover-simple-bar\").call(\n (n) => this.services.transitions.setupTransition({\n transition: n,\n name: \"legend-hover-simple-bar\"\n })\n ).attr(\"opacity\", (n) => n[s] !== t.datum().name ? 0.3 : 1);\n }, this.handleLegendMouseOut = () => {\n this.parent.selectAll(\"path.bar\").transition(\"legend-mouseout-simple-bar\").call(\n (e) => this.services.transitions.setupTransition({\n transition: e,\n name: \"legend-mouseout-simple-bar\"\n })\n ).attr(\"opacity\", 1);\n };\n }\n init() {\n const e = this.services.events;\n e.addEventListener(f.Legend.ITEM_HOVER, this.handleLegendOnHover), e.addEventListener(f.Legend.ITEM_MOUSEOUT, this.handleLegendMouseOut);\n }\n render(e) {\n const t = this.getOptions(), { groupMapsTo: s } = t.data, n = this.getComponentContainer({ withinChartClip: !0 }), a = this.model.getDisplayData(this.configs.groups), i = this.services.cartesianScales.getRangeScale(), r = this.services.cartesianScales.getRangeIdentifier(), [l, c] = i.range(), [, d] = i.domain(), p = () => {\n const m = [];\n a.forEach((S) => {\n S.ranges ? S.ranges.forEach((T, M) => {\n T != null && T < d && m.push({\n datum: S,\n value: T,\n order: M + 1\n });\n }) : m.push({\n datum: S,\n order: 1\n });\n });\n const b = E.appendOrSelect(n, \"g.range-boxes\").selectAll(\"path.range-box\").data(m, (S) => `${S[s]}-${S.order}`);\n b.exit().attr(\"opacity\", 0).remove(), b.enter().append(\"path\").attr(\"opacity\", 0).merge(b).attr(\"class\", (S) => `range-box order-${S.order}`).transition().call(\n (S) => this.services.transitions.setupTransition({\n transition: S,\n name: \"bullet-range-box-update-enter\",\n animate: e\n })\n ).attr(\"d\", (S) => {\n let M, L, O, k;\n return S.order === 1 ? (M = this.services.cartesianScales.getDomainValue(S.datum) - 16 / 2, L = M + 16, O = c - 2, k = l + 1) : (M = this.services.cartesianScales.getDomainValue(S.datum) - 16 / 2, L = M + 16, O = this.services.cartesianScales.getRangeValue(S.value), k = c), ie(\n { x0: M, x1: L, y0: O, y1: k },\n this.services.cartesianScales.getOrientation()\n );\n }).attr(\"opacity\", 1);\n }, h = () => {\n const m = E.appendOrSelect(n, \"g.bars\").selectAll(\"path.bar\").data(a, (v) => v[s]);\n m.exit().attr(\"opacity\", 0).remove(), m.enter().append(\"path\").attr(\"opacity\", 0).merge(m).classed(\"bar\", !0).transition().call(\n (v) => this.services.transitions.setupTransition({\n transition: v,\n name: \"bullet-bar-update-enter\",\n animate: e\n })\n ).attr(\n \"class\",\n (v) => this.model.getColorClassName({\n classNameTypes: [$.FILL],\n dataGroupName: v[s],\n originalClassName: \"bar\"\n })\n ).style(\"fill\", (v) => this.model.getFillColor(v[s])).attr(\"d\", (v) => {\n const T = this.services.cartesianScales.getDomainValue(v) - 4, M = T + 8, L = this.services.cartesianScales.getRangeValue(0) + 1, O = this.services.cartesianScales.getRangeValue(v);\n return ie(\n { x0: T, x1: M, y0: L, y1: O },\n this.services.cartesianScales.getOrientation()\n );\n }).attr(\"opacity\", 1).attr(\"role\", U.GRAPHICS_SYMBOL).attr(\"aria-roledescription\", \"bar\").attr(\"aria-label\", (v) => v.value);\n }, u = () => {\n const m = E.appendOrSelect(n, \"g.markers\").selectAll(\"path.marker\").data(\n a.filter((v) => y(v, \"marker\") !== null),\n (v) => v[s]\n );\n m.exit().attr(\"opacity\", 0).remove(), m.enter().append(\"path\").attr(\"opacity\", 0).merge(m).classed(\"marker\", !0).transition().call(\n (v) => this.services.transitions.setupTransition({\n transition: v,\n name: \"bullet-marker-update-enter\",\n animate: e\n })\n ).attr(\"d\", (v) => {\n const T = this.services.cartesianScales.getDomainValue(v) - 12, M = T + 24, L = this.services.cartesianScales.getRangeValue(v.marker);\n return ie(\n { x0: T, x1: M, y0: L, y1: L },\n this.services.cartesianScales.getOrientation()\n );\n }).attr(\"opacity\", 1);\n }, g = () => {\n let m = [];\n a.filter((S) => y(S, \"marker\") !== null).forEach((S) => {\n const T = S.marker, M = S[r];\n m = m.concat([\n { datum: S, value: T * 0.25, barValue: M },\n { datum: S, value: T * 0.5, barValue: M },\n { datum: S, value: T * 0.75, barValue: M }\n ]);\n });\n const b = E.appendOrSelect(n, \"g.quartiles\").selectAll(\"path.quartile\").data(m, (S) => S[s]);\n b.exit().attr(\"opacity\", 0).remove(), b.enter().append(\"path\").attr(\"opacity\", 0).merge(b).attr(\"class\", (S) => `quartile ${S.value <= S.barValue ? \"over-bar\" : \"\"}`).transition().call(\n (S) => this.services.transitions.setupTransition({\n transition: S,\n name: \"bullet-quartile-update-enter\",\n animate: e\n })\n ).attr(\"d\", ({ datum: S, value: T }) => {\n let M = 4;\n S.ranges && S.ranges.indexOf(T) !== -1 && (M = 8);\n const L = this.services.cartesianScales.getDomainValue(S) - M / 2, O = L + M, k = this.services.cartesianScales.getRangeValue(T);\n return ie(\n { x0: L, x1: O, y0: k, y1: k },\n this.services.cartesianScales.getOrientation()\n );\n }).attr(\"opacity\", 1);\n };\n p(), h(), u(), g(), this.addEventListeners();\n }\n addEventListeners() {\n const e = this, t = this.getOptions(), { groupMapsTo: s } = t.data, n = this.services.cartesianScales.getRangeIdentifier();\n this.parent.selectAll(\"path.bar\").on(\"mouseover\", function(a, i) {\n const r = x(this);\n r.classed(\"hovered\", !0), e.services.events.dispatchEvent(f.Bar.BAR_MOUSEOVER, {\n event: a,\n element: r,\n datum: i\n });\n const l = y(t, \"bullet\", \"performanceAreaTitles\"), c = e.model.getMatchingRangeIndexForDatapoint(i);\n e.services.events.dispatchEvent(f.Tooltip.SHOW, {\n event: a,\n hoveredElement: r,\n items: [\n {\n label: t.tooltip.groupLabel || \"Group\",\n value: i[s],\n class: e.model.getColorClassName({\n classNameTypes: [$.TOOLTIP],\n dataGroupName: i[s]\n })\n },\n {\n label: \"Value\",\n value: i[n]\n },\n {\n label: \"Target\",\n value: i.marker\n },\n {\n label: \"Percentage\",\n value: `${Math.floor(i[n] / i.marker * 100)}%`\n },\n {\n label: \"Performance\",\n value: l[c]\n }\n ]\n });\n }).on(\"mousemove\", function(a, i) {\n e.services.events.dispatchEvent(f.Bar.BAR_MOUSEMOVE, {\n event: a,\n element: x(this),\n datum: i\n }), e.services.events.dispatchEvent(f.Tooltip.MOVE, {\n event: a\n });\n }).on(\"click\", function(a, i) {\n e.services.events.dispatchEvent(f.Bar.BAR_CLICK, {\n event: a,\n element: x(this),\n datum: i\n });\n }).on(\"mouseout\", function(a, i) {\n const r = x(this);\n r.classed(\"hovered\", !1), e.services.events.dispatchEvent(f.Bar.BAR_MOUSEOUT, {\n event: a,\n element: r,\n datum: i\n }), e.services.events.dispatchEvent(f.Tooltip.HIDE, {\n hoveredElement: r\n });\n });\n }\n destroy() {\n this.parent.selectAll(\"path.bar\").on(\"mouseover\", null).on(\"mousemove\", null).on(\"mouseout\", null);\n const e = this.services.events;\n e.removeEventListener(f.Legend.ITEM_HOVER, this.handleLegendOnHover), e.removeEventListener(f.Legend.ITEM_MOUSEOUT, this.handleLegendMouseOut);\n }\n}\nfunction cr(o) {\n return o;\n}\nfunction dr(o) {\n if (o == null)\n return cr;\n var e, t, s = o.scale[0], n = o.scale[1], a = o.translate[0], i = o.translate[1];\n return function(r, l) {\n l || (e = t = 0);\n var c = 2, d = r.length, p = new Array(d);\n for (p[0] = (e += r[0]) * s + a, p[1] = (t += r[1]) * n + i; c < d; )\n p[c] = r[c], ++c;\n return p;\n };\n}\nfunction hr(o, e) {\n for (var t, s = o.length, n = s - e; n < --s; )\n t = o[n], o[n++] = o[s], o[s] = t;\n}\nfunction ur(o, e) {\n return typeof e == \"string\" && (e = o.objects[e]), e.type === \"GeometryCollection\" ? { type: \"FeatureCollection\", features: e.geometries.map(function(t) {\n return ds(o, t);\n }) } : ds(o, e);\n}\nfunction ds(o, e) {\n var t = e.id, s = e.bbox, n = e.properties == null ? {} : e.properties, a = $t(o, e);\n return t == null && s == null ? { type: \"Feature\", properties: n, geometry: a } : s == null ? { type: \"Feature\", id: t, properties: n, geometry: a } : { type: \"Feature\", id: t, bbox: s, properties: n, geometry: a };\n}\nfunction $t(o, e) {\n var t = dr(o.transform), s = o.arcs;\n function n(d, p) {\n p.length && p.pop();\n for (var h = s[d < 0 ? ~d : d], u = 0, g = h.length; u < g; ++u)\n p.push(t(h[u], u));\n d < 0 && hr(p, g);\n }\n function a(d) {\n return t(d);\n }\n function i(d) {\n for (var p = [], h = 0, u = d.length; h < u; ++h)\n n(d[h], p);\n return p.length < 2 && p.push(p[0]), p;\n }\n function r(d) {\n for (var p = i(d); p.length < 4; )\n p.push(p[0]);\n return p;\n }\n function l(d) {\n return d.map(r);\n }\n function c(d) {\n var p = d.type, h;\n switch (p) {\n case \"GeometryCollection\":\n return { type: p, geometries: d.geometries.map(c) };\n case \"Point\":\n h = a(d.coordinates);\n break;\n case \"MultiPoint\":\n h = d.coordinates.map(a);\n break;\n case \"LineString\":\n h = i(d.arcs);\n break;\n case \"MultiLineString\":\n h = d.arcs.map(i);\n break;\n case \"Polygon\":\n h = l(d.arcs);\n break;\n case \"MultiPolygon\":\n h = d.arcs.map(l);\n break;\n default:\n return null;\n }\n return { type: p, coordinates: h };\n }\n return c(e);\n}\nfunction pr(o, e) {\n var t = {}, s = {}, n = {}, a = [], i = -1;\n e.forEach(function(c, d) {\n var p = o.arcs[c < 0 ? ~c : c], h;\n p.length < 3 && !p[1][0] && !p[1][1] && (h = e[++i], e[i] = c, e[d] = h);\n }), e.forEach(function(c) {\n var d = r(c), p = d[0], h = d[1], u, g;\n if (u = n[p])\n if (delete n[u.end], u.push(c), u.end = h, g = s[h]) {\n delete s[g.start];\n var m = g === u ? u : u.concat(g);\n s[m.start = u.start] = n[m.end = g.end] = m;\n } else\n s[u.start] = n[u.end] = u;\n else if (u = s[h])\n if (delete s[u.start], u.unshift(c), u.start = p, g = n[p]) {\n delete n[g.end];\n var b = g === u ? u : g.concat(u);\n s[b.start = g.start] = n[b.end = u.end] = b;\n } else\n s[u.start] = n[u.end] = u;\n else\n u = [c], s[u.start = p] = n[u.end = h] = u;\n });\n function r(c) {\n var d = o.arcs[c < 0 ? ~c : c], p = d[0], h;\n return o.transform ? (h = [0, 0], d.forEach(function(u) {\n h[0] += u[0], h[1] += u[1];\n })) : h = d[d.length - 1], c < 0 ? [h, p] : [p, h];\n }\n function l(c, d) {\n for (var p in c) {\n var h = c[p];\n delete d[h.start], delete h.start, delete h.end, h.forEach(function(u) {\n t[u < 0 ? ~u : u] = 1;\n }), a.push(h);\n }\n }\n return l(n, s), l(s, n), e.forEach(function(c) {\n t[c < 0 ? ~c : c] || a.push([c]);\n }), a;\n}\nfunction gr(o) {\n for (var e = -1, t = o.length, s, n = o[t - 1], a = 0; ++e < t; )\n s = n, n = o[e], a += s[0] * n[1] - s[1] * n[0];\n return Math.abs(a);\n}\nfunction mr(o) {\n return $t(o, fr.apply(this, arguments));\n}\nfunction fr(o, e) {\n var t = {}, s = [], n = [];\n e.forEach(a);\n function a(l) {\n switch (l.type) {\n case \"GeometryCollection\":\n l.geometries.forEach(a);\n break;\n case \"Polygon\":\n i(l.arcs);\n break;\n case \"MultiPolygon\":\n l.arcs.forEach(i);\n break;\n }\n }\n function i(l) {\n l.forEach(function(c) {\n c.forEach(function(d) {\n (t[d = d < 0 ? ~d : d] || (t[d] = [])).push(l);\n });\n }), s.push(l);\n }\n function r(l) {\n return gr($t(o, { type: \"Polygon\", arcs: [l] }).coordinates[0]);\n }\n return s.forEach(function(l) {\n if (!l._) {\n var c = [], d = [l];\n for (l._ = 1, n.push(c); l = d.pop(); )\n c.push(l), l.forEach(function(p) {\n p.forEach(function(h) {\n t[h < 0 ? ~h : h].forEach(function(u) {\n u._ || (u._ = 1, d.push(u));\n });\n });\n });\n }\n }), s.forEach(function(l) {\n delete l._;\n }), {\n type: \"MultiPolygon\",\n arcs: n.map(function(l) {\n var c = [], d;\n if (l.forEach(function(m) {\n m.forEach(function(b) {\n b.forEach(function(v) {\n t[v < 0 ? ~v : v].length < 2 && c.push(v);\n });\n });\n }), c = pr(o, c), (d = c.length) > 1)\n for (var p = 1, h = r(c[0]), u, g; p < d; ++p)\n (u = r(c[p])) > h && (g = c[0], c[0] = c[p], c[p] = g, h = u);\n return c;\n }).filter(function(l) {\n return l.length > 0;\n })\n };\n}\nclass xc extends Xs {\n constructor() {\n super(...arguments), this.type = \"ruler-binned\", this.renderType = H.SVG;\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n showRuler(e, [t, s]) {\n const n = this.parent, a = this.model.getOptions(), { cartesianScales: i } = this.services, r = i.getOrientation(), l = i.getRangeScale(), [c, d] = l.range(), p = i.getDomainScale(), h = p.invert(\n r === le.VERTICAL ? t : s\n ), u = E.appendOrSelect(n, \"g.ruler\").attr(\"aria-label\", \"ruler\"), g = E.appendOrSelect(u, \"line.ruler-line\"), b = n.selectAll(\"[role=graphics-symbol]\").filter((v) => {\n if (parseFloat(Q(v, \"data.x0\")) <= h && parseFloat(Q(v, \"data.x1\")) >= h)\n return !0;\n });\n if (b.size() > 0) {\n this.elementsToHighlight && this.elementsToHighlight.size() > 0 && !Gs(this.elementsToHighlight, b) && this.hideRuler(), b.dispatch(\"mouseover\"), this.elementsToHighlight = b;\n const v = x(b.nodes()[0]).datum(), S = parseFloat(Q(v, \"data.x0\")), T = parseFloat(Q(v, \"data.x1\")), M = this.model.getActiveDataGroupNames(), L = M.reverse().map((k) => ({\n label: k,\n value: Q(v, `data.${k}`),\n class: this.model.getColorClassName({\n classNameTypes: [$.TOOLTIP],\n dataGroupName: k\n })\n })).filter((k) => k.value !== 0);\n if (L.length > 0) {\n this.services.events.dispatchEvent(f.Tooltip.SHOW, {\n mousePosition: [t, s],\n hoveredElement: g,\n items: [\n {\n label: Q(a, \"bins.rangeLabel\") || \"Range\",\n value: `${S} – ${T}`\n },\n ...L,\n ...y(a, \"tooltip\", \"showTotal\") === !0 ? [\n {\n label: Q(a, \"tooltip.totalLabel\") || \"Total\",\n value: M.reduce(\n (I, F) => I + parseFloat(Q(v, `data.${F}`)),\n 0\n )\n }\n ] : []\n ]\n }), u.attr(\"opacity\", 1);\n const k = p((S + T) / 2);\n r === \"horizontal\" ? g.attr(\"x1\", d).attr(\"x2\", c).attr(\"y1\", k).attr(\"y2\", k) : g.attr(\"y1\", d).attr(\"y2\", c).attr(\"x1\", k).attr(\"x2\", k);\n } else\n this.hideRuler();\n } else\n this.hideRuler();\n }\n}\nclass Oc extends Xs {\n formatTooltipData(e) {\n return e.reverse();\n }\n}\nconst Tc = (o, e) => {\n const t = o.x, s = o.y, n = e.x, a = e.y, i = _t();\n return i.moveTo(t, s), i.lineTo(n, a), i.toString();\n}, Lc = (o, e, t = 0.5) => {\n const s = o.x, n = o.y, a = e.x, i = e.y, r = _t();\n return r.moveTo(s, n), r.lineTo(s + (a - s) * t, n), r.lineTo(s + (a - s) * t, i), r.lineTo(a, i), r.toString();\n}, wc = (o, e, t, s, n, a) => {\n const i = o.x, r = o.y, l = e.x, c = e.y, d = _t();\n return d.moveTo(i, r), d.bezierCurveTo(t, s, n, a, l, c), d.toString();\n}, Mc = {\n d: \"M7 0v8L0 4z\",\n height: 8,\n width: 7.5,\n id: \"arrowLeft\"\n}, Ac = {\n d: \"M0 0v8l7-4z\",\n height: 8,\n width: 7.5,\n id: \"arrowRight\"\n}, Cc = {\n d: \"M5.32 9.513a4.75 4.75 0 100-9.5 4.75 4.75 0 000 9.5z\",\n height: 10,\n width: 10,\n id: \"circle\"\n}, kc = {\n d: \"M5.03517654-1e-7l4.99999996 5-4.99999996 5-5-5L2.4517844 2.58339204z\",\n height: 10,\n width: 10,\n id: \"diamond\"\n}, Ic = {\n d: \"M0 .44974747h8v8H0v-3.6830331z\",\n height: 9,\n width: 8,\n id: \"square\"\n}, Rc = {\n d: \"M0 0h1.5v8H0z\",\n height: 8,\n width: 2,\n id: \"tee\"\n};\nclass Dc extends nr {\n constructor(e, t, s) {\n super(e, t, s), this.type = \"color-legend\", this.renderType = H.SVG, this.gradient_id = `gradient-id-${Math.floor(Math.random() * 99999999999)}`, this.handleAxisCompleteEvent = () => {\n const n = this.getComponentContainer(), { width: a } = E.getSVGElementSize(n, {\n useAttrs: !0\n }), i = y(this.getOptions(), \"data\", \"loading\");\n if (a > K.color.barWidth && !i) {\n const r = y(this.getOptions(), \"heatmap\", \"colorLegend\", \"title\"), { cartesianScales: l } = this.services, d = l.getMainXScale().range();\n if (d[0] > 1 && (n.select(\"g.legend\").attr(\"transform\", `translate(${d[0]}, 0)`), r)) {\n const { width: p } = E.getSVGElementSize(\n n.select(\"g.legend-title\").select(\"text\"),\n { useBBox: !0 }\n ), h = d[0] - p - 9;\n h > 1 ? n.select(\"g.legend-title\").attr(\"transform\", `translate(${h}, 0)`) : (n.select(\"g.legend\").attr(\"transform\", `translate(${d[0]}, 16)`), n.select(\"g.legend-title\").attr(\"transform\", `translate(${d[0]}, 0)`));\n }\n } else\n n.select(\"g.legend-title\").attr(\"transform\", \"translate(0, 0)\");\n }, this.chartType = s.chartType;\n }\n init() {\n this.chartType === \"heatmap\" && this.services.events.addEventListener(\n f.Axis.RENDER_COMPLETE,\n this.handleAxisCompleteEvent\n );\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n render(e = !1) {\n const t = this.getOptions(), s = this.getComponentContainer(), { width: n } = E.getSVGElementSize(s, {\n useAttrs: !0\n }), a = y(t, \"color\", \"gradient\", \"colors\"), i = y(\n t,\n this.chartType,\n \"colorLegend\",\n \"type\"\n );\n let r = y(t, \"color\", \"pairing\", \"option\");\n const l = y(t, \"heatmap\", \"colorLegend\", \"title\");\n if (y(this.getOptions(), \"data\", \"loading\")) {\n s.html(\"\");\n return;\n }\n const d = !Os(a), p = In(this.model.getDisplayData()), h = !(n <= K.color.barWidth), u = h ? K.color.barWidth : n, g = E.appendOrSelect(s, \"g.legend\"), m = E.appendOrSelect(g, \"g.legend-axis\");\n if (l) {\n const I = E.appendOrSelect(s, \"g.legend-title\");\n E.appendOrSelect(I, \"text\").text(l).attr(\"dy\", \"0.7em\"), g.attr(\"transform\", \"translate(0, 16)\");\n }\n const b = p[0] < 0 && p[1] > 0 ? \"diverge\" : \"mono\";\n (r < 1 && r > 4 && b === \"mono\" || r < 1 && r > 2 && b === \"diverge\") && (r = 1);\n let v = [];\n const S = b === \"diverge\" ? 17 : 11;\n if (d)\n v = a;\n else\n for (let I = 1; I < S + 1; I++)\n v.push(\n i === it.LINEAR ? `stop-color-${b}-${r}-${I}` : `fill-${b}-${r}-${I}`\n );\n const T = vs(p[0], p[1]), M = en(T, 3), L = Oe().domain(p).range([0, u]), O = Dt(L).tickSize(0).tickValues(M);\n let k;\n switch (i) {\n case it.LINEAR:\n this.drawLinear(v, g, u);\n break;\n case it.QUANTIZE:\n k = this.drawQuantize(\n v,\n b,\n d,\n g,\n u\n ), L.range([k, u]);\n break;\n default:\n throw Error(\"Entered color legend type is not supported.\");\n }\n m.attr(\"transform\", `translate(0,${K.color.axisYTranslation})`).call(O), m.select(\".domain\").remove(), m.select(\"g.tick:last-of-type text\").style(\"text-anchor\", h ? \"middle\" : \"end\"), m.select(\"g.tick:first-of-type text\").style(\n \"text-anchor\",\n h && this.chartType !== \"choropleth\" ? \"middle\" : \"start\"\n );\n }\n // Renders gradient legend\n drawLinear(e, t, s) {\n const n = 100 / (e.length - 1);\n E.appendOrSelect(t, \"linearGradient\").attr(\"id\", `${this.gradient_id}-legend`).selectAll(\"stop\").data(e).enter().append(\"stop\").attr(\"offset\", (r, l) => `${l * n}%`).attr(\"class\", (r, l) => e[l]).attr(\"stop-color\", (r) => r), E.appendOrSelect(t, \"rect\").attr(\"width\", s).attr(\"height\", K.color.barHeight).style(\"fill\", `url(#${this.gradient_id}-legend)`);\n }\n /**\n * Renders quantized legend\n * @returns number (range start)\n */\n drawQuantize(e, t, s, n, a) {\n !s && t === \"diverge\" && e.splice(e.length / 2, 1);\n const i = Pt().domain(e).range([0, a]);\n return E.appendOrSelect(n, \"g.quantized-rect\").selectAll(\"rect\").data(i.domain()).join(\"rect\").attr(\"x\", (l) => i(l)).attr(\"y\", 0).attr(\"width\", Math.max(0, i.bandwidth() - 1)).attr(\"height\", K.color.barHeight).attr(\"class\", (l) => l).attr(\"fill\", (l) => l), (!s && t) === \"mono\" ? i.bandwidth() - 1 : 0;\n }\n destroy() {\n this.chartType === \"heatmap\" && this.services.events.removeEventListener(\n f.Axis.RENDER_COMPLETE,\n this.handleAxisCompleteEvent\n );\n }\n}\nclass _c extends sr {\n constructor() {\n super(...arguments), this.type = \"meter-title\", this.renderType = H.SVG;\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n render(e = !1) {\n const t = y(this.model.getDisplayData(), 0), s = this.getOptions(), n = this.getComponentContainer(), { groupMapsTo: a } = s.data;\n if (y(s, \"meter\", \"proportional\"))\n this.displayTotal(), this.displayBreakdownTitle();\n else {\n const c = n.selectAll(\"text.meter-title\").data([t[a]]);\n c.enter().append(\"text\").classed(\"meter-title\", !0).merge(c).attr(\"x\", 0).attr(\"y\", \"1em\").text((d) => d), c.exit().remove(), this.appendPercentage();\n }\n this.displayStatus();\n const r = this.getMaxTitleWidth(), l = E.appendOrSelect(n, \"text.meter-title\");\n r > 0 && l.node().getComputedTextLength() > r && this.truncateTitle(l, r);\n }\n displayBreakdownTitle() {\n const e = this.getComponentContainer(), t = this.getOptions(), s = this.model.getMaximumDomain(this.model.getDisplayData()), n = y(t, \"meter\", \"proportional\", \"total\"), a = y(t, \"meter\", \"proportional\", \"unit\") ? y(t, \"meter\", \"proportional\", \"unit\") : \"\";\n let i;\n if (s === n)\n i = null;\n else {\n const d = n !== null ? n - s : s, p = y(t, \"meter\", \"proportional\", \"breakdownFormatter\");\n i = p !== null ? p({\n datasetsTotal: s,\n total: n\n }) : `${s} ${a} used (${d} ${a} available)`;\n }\n const r = e.selectAll(\"text.proportional-meter-title\").data([i]);\n r.enter().append(\"text\").classed(\"proportional-meter-title\", !0).merge(r).attr(\"x\", 0).attr(\"y\", \"1em\").text((d) => d), r.exit().remove();\n const l = this.getMaxTitleWidth(), c = E.appendOrSelect(e, \"text.proportional-meter-title\");\n l > 0 && c.node().getComputedTextLength() > l && this.truncateTitle(c, l);\n }\n // show the total for prop meter\n displayTotal() {\n const e = this.getComponentContainer(), t = this.getOptions(), s = y(t, \"meter\", \"proportional\", \"total\"), n = s ? y(t, \"meter\", \"proportional\", \"total\") : this.model.getMaximumDomain(this.model.getDisplayData()), a = y(t, \"meter\", \"proportional\", \"unit\") ? y(t, \"meter\", \"proportional\", \"unit\") : \"\", i = y(t, \"meter\", \"proportional\", \"totalFormatter\"), r = i !== null ? i(n) : `${s} ${a} total`, l = E.getHTMLElementSize(this.services.domUtils.getMainContainer()), c = l.width ? l.width : this.parent.node().getAttribute(\"width\"), d = e.selectAll(\"text.proportional-meter-total\").data([r]);\n d.enter().append(\"text\").classed(\"proportional-meter-total\", !0).merge(d).attr(\n \"x\",\n this.model.getStatus() && typeof c != \"string\" ? c - se.total.paddingRight : c\n ).attr(\"y\", \"1em\").attr(\"text-anchor\", \"end\").text((p) => p), d.exit().remove();\n }\n /**\n * Appends the corresponding status based on the value and the peak.\n */\n displayStatus() {\n const e = this, t = this.getComponentContainer(), s = E.getHTMLElementSize(this.services.domUtils.getMainContainer()), n = s.width ? s.width : 0, a = this.model.getStatus(), i = se.status.indicatorSize / 2, r = E.appendOrSelect(t, \"g.status-indicator\").attr(\"class\", a !== null ? `status-indicator status--${a}` : \"\").attr(\"transform\", `translate(${n - i}, 0)`), l = a ? [a] : [], c = r.selectAll(\"circle.status\").data(l);\n c.enter().append(\"circle\").merge(c).attr(\"class\", \"status\").attr(\"r\", i).attr(\"cx\", 0).attr(\"cy\", 8);\n const d = r.selectAll(\"path.innerFill\").data(l);\n d.enter().append(\"path\").merge(d).attr(\"d\", e.getStatusIconPathString(a)).attr(\"transform\", `translate(-${i}, 0)`).attr(\"class\", \"innerFill\"), d.exit().remove(), c.exit().remove();\n }\n /**\n * Appends the associated percentage to the end of the title\n */\n appendPercentage() {\n const e = y(this.model.getDisplayData(), 0, \"value\"), t = this.getComponentContainer(), s = E.appendOrSelect(t, \"text.meter-title\"), n = y(this.getOptions(), \"meter\", \"statusBar\", \"percentageIndicator\", \"enabled\") === !0 ? [e] : [], a = t.selectAll(\"text.percent-value\").data(n), i = se.statusBar.paddingRight;\n a.enter().append(\"text\").classed(\"percent-value\", !0).merge(a).text((r) => `${r}%`).attr(\"x\", +s.attr(\"x\") + s.node().getComputedTextLength() + i).attr(\"y\", s.attr(\"y\")), a.exit().remove();\n }\n /**\n * Uses the parent class truncate logic\n * @param title d3 selection of title element that will be truncated\n * @param titlestring the original string that needs truncation\n * @param maxWidth the max width the title can take\n */\n truncateTitle(e, t) {\n super.truncateTitle(e, t);\n const s = E.appendOrSelect(this.parent, \"tspan\"), n = se.statusBar.paddingRight, a = Math.ceil(s.node().getComputedTextLength());\n E.appendOrSelect(this.parent, \"text.percent-value\").attr(\n \"x\",\n +e.attr(\"x\") + e.node().getComputedTextLength() + a + n\n );\n }\n // computes the maximum space a title can take\n getMaxTitleWidth() {\n const e = E.getHTMLElementSize(this.services.domUtils.getMainContainer()), t = y(this.getOptions(), \"meter\", \"proportional\"), s = e.width ? e.width : this.parent.node().getBoundingClientRect().width;\n if (t !== null) {\n const n = E.appendOrSelect(this.parent, \"text.proportional-meter-total\").node(), a = E.getSVGElementSize(n, {\n useBBox: !0\n }).width;\n return s - a - se.total.paddingLeft;\n } else {\n const n = E.appendOrSelect(this.parent, \"text.percent-value\"), a = se.statusBar.paddingRight, i = n.node().getComputedTextLength(), r = E.appendOrSelect(this.parent, \"g.status-indicator\").node(), l = E.getSVGElementSize(r, { useBBox: !0 }).width + se.status.paddingLeft;\n return s - i - a - l;\n }\n }\n /**\n * Get the associated status icon for the data\n * @param status the active status for the meter chart\n */\n getStatusIconPathString(e) {\n switch (e) {\n case rt.SUCCESS:\n return \"M6.875 11.3125 3.75 8.1875 4.74375 7.25 6.875 9.34375 11.50625 4.75 12.5 5.7375 Z\";\n case rt.DANGER:\n return \"M10.7 11.5 4.5 5.3 5.3 4.5 11.5 10.7 Z\";\n case rt.WARNING:\n return \"M7.9375,11.125 C7.41973305,11.125 7,11.544733 7,12.0625 C7,12.580267 7.41973305,13 7.9375,13 C8.45526695,13 8.875,12.580267 8.875,12.0625 C8.875,11.544733 8.45526695,11.125 7.9375,11.125 M7.3125, 3 8.5625, 3 8.5625, 9.875 7.3125, 9.875, 7.3125, 3 Z\";\n }\n }\n}\nclass Gt extends z {\n // Gets the correct width for bars based on options & configurations\n getBarWidth() {\n const e = this.getOptions();\n if (e.bars.width)\n return e.bars.width;\n const t = this.model.getDisplayData().length, s = this.services.cartesianScales.getMainXScale(), n = E.getSVGElementSize(this.parent, {\n useAttrs: !0\n }).width;\n if (!s.step) {\n const a = y(e, \"bars\", \"spacingFactor\");\n return Math.min(e.bars.maxWidth, n * a / t);\n }\n return Math.min(e.bars.maxWidth, s.step() / 2);\n }\n isOutsideZoomedDomain(e, t) {\n if (this.model.getDisplayData().length <= 1)\n return !1;\n const n = this.model.get(\"zoomDomain\");\n if (n !== void 0) {\n const a = this.services.cartesianScales.getDomainScale();\n return e < a(n[0]) || t > a(n[1]);\n }\n return !1;\n }\n}\nclass Pc extends z {\n constructor() {\n super(...arguments), this.type = \"circle-pack\", this.renderType = H.SVG, this.handleLegendOnHover = (e) => {\n const { hoveredElement: t } = e.detail;\n this.parent.selectAll(\"circle.node\").transition(\"legend-hover-circlepack\").call(\n (s) => this.services.transitions.setupTransition({\n transition: s,\n name: \"legend-hover-circlepack\"\n })\n ).attr(\"opacity\", (s) => s.data.dataGroupName === t.datum().name ? 1 : Pe.circles.fillOpacity);\n }, this.handleLegendMouseOut = () => {\n this.parent.selectAll(\"circle.node\").transition(\"legend-mouseout-circlepack\").call(\n (e) => this.services.transitions.setupTransition({\n transition: e,\n name: \"legend-mouseout-circlepack\"\n })\n ).attr(\"opacity\", 1);\n };\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n render(e = !0) {\n const t = this.getComponentContainer({ withinChartClip: !0 }), { width: s, height: n } = E.getSVGElementSize(this.parent, {\n useAttrs: !0\n });\n if (s < 1 || n < 1)\n return;\n let a = this.model.getDisplayData();\n const i = this.model.hasParentNode(), r = this.model.getHierarchyLevel(), l = this.getOptions(), c = y(l, \"canvasZoom\", \"enabled\");\n i && y(a, 0, \"children\") && (a = y(a, 0, \"children\"));\n const d = Vt({ children: a }).sum((m) => m.value).sort((m, b) => b.value - m.value), h = tn().size([s, n]).padding((m) => m.depth >= 1 ? Pe.padding.children + 3 : Pe.padding.mainGroup + 3)(d).descendants().splice(1).filter((m) => m.depth <= r), u = t.selectAll(\"circle.node\").data(h);\n u.exit().attr(\"width\", 0).attr(\"height\", 0).remove();\n const g = u.enter().append(\"circle\").classed(\"node\", !0);\n g.merge(u).attr(\"class\", (m) => {\n const b = c && r === 3 ? this.getZoomClass(m) : \"\";\n return this.model.getColorClassName({\n classNameTypes: [$.FILL, $.STROKE],\n dataGroupName: m.data.dataGroupName,\n originalClassName: m.children ? `node ${b}` : `node node-leaf ${b}`\n });\n }).style(\"fill\", (m) => this.model.getFillColor(m.data.dataGroupName)).style(\"stroke\", (m) => this.model.getFillColor(m.data.dataGroupName)).attr(\"cx\", (m) => m.x).attr(\"cy\", (m) => m.y).transition(\"circlepack-leaf-update-enter\").call(\n (m) => this.services.transitions.setupTransition({\n transition: m,\n name: \"circlepack-leaf-update-enter\"\n })\n ).attr(\"r\", (m) => m.r).attr(\"opacity\", 1).attr(\"fill-opacity\", Pe.circles.fillOpacity), c === !0 && this.focal && (this.services.canvasZoom.zoomIn(this.focal, g, He), this.setBackgroundListeners()), i || this.addLegendListeners(), this.addEventListeners();\n }\n // turn off the highlight class on children circles\n unhighlightChildren(e) {\n const t = e.map((s) => s.data);\n this.parent.selectAll(\"circle.node\").filter((s) => t.some((n) => n === s.data) && s.depth > 1).style(\"stroke\", (s) => this.model.getFillColor(s.data.dataGroupName));\n }\n // highlight the children circles with a stroke\n highlightChildren(e) {\n const t = e.map((s) => s.data);\n this.parent.selectAll(\"circle.node\").filter((s) => t.some((n) => n === s.data) && s.depth > 1).style(\"stroke\", Pe.circles.hover.stroke);\n }\n getZoomClass(e) {\n return this.model.getHierarchyLevel() === 3 && this.focal && (e.data === this.focal.data || this.focal.children.some((t) => t.data === e.data)) ? \"focal\" : \"non-focal\";\n }\n addLegendListeners() {\n const { events: e } = this.services;\n e.addEventListener(f.Legend.ITEM_HOVER, this.handleLegendOnHover), e.addEventListener(f.Legend.ITEM_MOUSEOUT, this.handleLegendMouseOut);\n }\n removeBackgroundListeners() {\n x(this.services.domUtils.getMainContainer()).on(\"click\", () => null);\n }\n setBackgroundListeners() {\n const e = x(this.services.domUtils.getMainContainer()), t = this, s = this.parent.selectAll(\"circle.node\");\n e.on(\"click\", () => {\n t.focal = null, t.model.updateHierarchyLevel(2), e.classed(\"zoomed-in\", !1), t.services.canvasZoom.zoomOut(s, He);\n });\n }\n // Zoom icon to be appended to the label in the tooltip\n getZoomIcon() {\n return `\n\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 10 10\">\n\t\t\t<polygon points=\"5.93 3.71 4.45 3.71 4.45 2.23 3.71 2.23 3.71 3.71 2.23 3.71 2.23 4.45 3.71 4.45 3.71 5.93 4.45 5.93 4.45 4.45 5.93 4.45 5.93 3.71\"/>\n\t\t\t<path d=\"M7.2,6.67a4,4,0,0,0,1-2.59A4.08,4.08,0,1,0,4.07,8.15h0a4,4,0,0,0,2.59-1L9.48,10,10,9.48Zm-3.12.77A3.34,3.34,0,1,1,7.41,4.08,3.34,3.34,0,0,1,4.08,7.44Z\"/>\n\t\t</svg>`;\n }\n // add event listeners for tooltip on the circles\n addEventListeners() {\n const e = this;\n this.parent.selectAll(\"circle.node\").on(\"mouseover\", function(t, s) {\n const n = x(this);\n n.classed(\"hovered\", !0);\n const a = e.model.getHierarchyLevel(), i = a > 2 && !n.classed(\"focal\"), r = y(e.model.getOptions(), \"canvasZoom\", \"enabled\");\n let l = !1;\n if (!i) {\n let c = [], d = [], p = null;\n if (s.children) {\n s.depth > 1 && r && (l = !0, n.classed(\"clickable\", !0)), c = s.children.map((g) => {\n if (g !== null)\n return typeof g.data.value == \"number\" ? {\n label: g.data.name,\n value: g.data.value\n } : {\n label: g.data.name,\n labelIcon: r && a <= 2 ? e.getZoomIcon() : null,\n value: g.value\n };\n });\n const u = e.model.getOptions();\n d = [\n {\n label: Q(u, \"tooltip.totalLabel\") || \"Total\",\n value: s.value,\n bold: !0\n }\n ], e.highlightChildren(s.children);\n } else\n p = s.value;\n const h = getComputedStyle(this, null).getPropertyValue(\"fill\");\n e.services.events.dispatchEvent(f.Tooltip.SHOW, {\n event: t,\n hoveredElement: n,\n items: [\n {\n color: h,\n label: s.data.name,\n labelIcon: l && r && a <= 2 ? e.getZoomIcon() : null,\n value: p\n },\n ...c,\n ...d\n ]\n });\n }\n e.services.events.dispatchEvent(f.CirclePack.CIRCLE_MOUSEOVER, {\n event: t,\n element: n,\n datum: s\n });\n }).on(\"mousemove\", function(t, s) {\n const n = x(this);\n e.services.events.dispatchEvent(f.CirclePack.CIRCLE_MOUSEMOVE, {\n event: t,\n element: n,\n datum: s\n }), e.services.events.dispatchEvent(f.Tooltip.MOVE, {\n event: t\n });\n }).on(\"mouseout\", function(t, s) {\n const n = x(this);\n n.classed(\"hovered\", !1), s.children && e.unhighlightChildren(s.children), e.services.events.dispatchEvent(f.CirclePack.CIRCLE_MOUSEOUT, {\n event: t,\n element: n,\n datum: s\n }), e.services.events.dispatchEvent(f.Tooltip.HIDE, {\n hoveredElement: n\n });\n }).on(\"click\", function(t, s) {\n const n = x(this), a = n.classed(\"non-focal\"), i = y(e.model.getOptions(), \"canvasZoom\", \"enabled\");\n if (i && e.model.getHierarchyLevel() > 2) {\n const r = e.parent.selectAll(\"circle.node\");\n x(e.services.domUtils.getMainContainer()).classed(\"zoomed-in\", !1), e.focal = null, e.model.updateHierarchyLevel(2), e.services.canvasZoom.zoomOut(r, He);\n } else if (s.depth === 2 && s.children && !a && i) {\n const r = e.parent.selectAll(\"circle.node\");\n x(e.services.domUtils.getMainContainer()).classed(\"zoomed-in\", !0), e.focal = s, e.model.updateHierarchyLevel(3), e.services.canvasZoom.zoomIn(s, r, He), t.stopPropagation();\n }\n e.services.events.dispatchEvent(f.CirclePack.CIRCLE_CLICK, {\n event: t,\n element: n,\n datum: s\n });\n });\n }\n destroy() {\n this.parent.selectAll(\"circle.node\").on(\"mouseover\", null).on(\"mousemove\", null).on(\"mouseout\", null).on(\"click\", null);\n const e = this.services.events;\n e.removeEventListener(f.Legend.ITEM_HOVER, this.handleLegendOnHover), e.removeEventListener(f.Legend.ITEM_MOUSEOUT, this.handleLegendMouseOut), this.removeBackgroundListeners();\n }\n}\nfunction vr(o, e) {\n const t = nn(this._current, o);\n return (s) => (this._current = t(s), e(this._current));\n}\nclass yr extends z {\n constructor() {\n super(...arguments), this.type = \"pie\", this.renderType = H.SVG, this.handleLegendOnHover = (e) => {\n const { hoveredElement: t } = e.detail, { groupMapsTo: s } = this.getOptions().data;\n this.parent.selectAll(\"path.slice\").transition(\"legend-hover-bar\").call(\n (n) => this.services.transitions.setupTransition({\n transition: n,\n name: \"legend-hover-bar\"\n })\n ).attr(\n \"opacity\",\n (n) => n.data[s] !== t.datum().name ? 0.3 : 1\n );\n }, this.handleLegendMouseOut = () => {\n this.parent.selectAll(\"path.slice\").transition(\"legend-mouseout-bar\").call(\n (e) => this.services.transitions.setupTransition({\n transition: e,\n name: \"legend-mouseout-bar\"\n })\n ).attr(\"opacity\", 1);\n };\n }\n init() {\n const e = this.services.events;\n e.addEventListener(f.Legend.ITEM_HOVER, this.handleLegendOnHover), e.addEventListener(f.Legend.ITEM_MOUSEOUT, this.handleLegendMouseOut);\n }\n getInnerRadius() {\n return Z.innerRadius;\n }\n render(e = !0) {\n const t = this, s = this.getComponentContainer(), n = this.getOptions(), { groupMapsTo: a } = n.data, { valueMapsTo: i } = n.pie, r = this.model.getDisplayData().filter((w) => w[i] > 0), l = this.computeRadius();\n this.arc = $e().innerRadius(this.getInnerRadius()).outerRadius(l), this.hoverArc = $e().innerRadius(this.getInnerRadius()).outerRadius(l + Z.hoverArc.outerRadiusOffset);\n const d = sn().value((w) => w[i]).sort(y(n, \"pie\", \"sortFunction\")).padAngle(Z.padAngle)(r), h = E.appendOrSelect(s, \"g.slices\").attr(\"role\", U.GROUP).attr(\"data-name\", \"slices\").selectAll(\"path.slice\").data(d, (w) => w.data[a]);\n h.exit().attr(\"opacity\", 0).remove(), h.enter().append(\"path\").classed(\"slice\", !0).attr(\"opacity\", 0).merge(h).attr(\n \"class\",\n (w) => this.model.getColorClassName({\n classNameTypes: [$.FILL],\n dataGroupName: w.data[a],\n originalClassName: \"slice\"\n })\n ).style(\"fill\", (w) => t.model.getFillColor(w.data[a])).attr(\"d\", this.arc).transition().call(\n (w) => this.services.transitions.setupTransition({\n transition: w,\n name: \"pie_slice_enter_update\",\n animate: e\n })\n ).attr(\"opacity\", 1).attr(\"role\", U.GRAPHICS_SYMBOL).attr(\"aria-roledescription\", \"slice\").attr(\n \"aria-label\",\n (w) => `${w[i]}, ${nt(w.data[i], r, i) + \"%\"}`\n ).attrTween(\"d\", function(w) {\n return vr.bind(this)(w, t.arc);\n });\n const m = n.pie.labels.enabled, b = m ? d.filter((w) => w.data[i] > 0) : [], S = E.appendOrSelect(s, \"g.labels\").attr(\"role\", U.GROUP).attr(\"data-name\", \"labels\").selectAll(\"text.pie-label\").data(b, (w) => w.data[a]);\n S.exit().attr(\"opacity\", 0).remove();\n const T = S.enter().append(\"text\").classed(\"pie-label\", !0), M = [];\n T.merge(S).style(\"text-anchor\", \"middle\").text((w) => n.pie.labels.formatter ? n.pie.labels.formatter({\n ...w,\n percentageValue: nt(\n w.data[i],\n r,\n i,\n !0\n )\n }) : nt(w.data[i], r, i) + \"%\").datum(function(w) {\n const G = l + 7, D = (w.endAngle - w.startAngle) / 2 + w.startAngle, X = D / Math.PI * 180, re = this.getComputedTextLength();\n return w.textOffsetX = re / 2, w.textOffsetY = X > 90 && X < 270 ? 10 : 0, w.xPosition = (w.textOffsetX + G) * Math.sin(D), w.yPosition = (w.textOffsetY + G) * -Math.cos(D), w;\n }).attr(\"transform\", function(w, G) {\n const D = b.length, X = (w.endAngle - w.startAngle) * (180 / Math.PI);\n if (G >= D - 2 && X < Z.callout.minSliceDegree) {\n let re, W;\n return w.index === D - 1 ? (re = w.xPosition + Z.callout.offsetX + Z.callout.textMargin + w.textOffsetX, W = w.yPosition - Z.callout.offsetY, w.direction = ot.RIGHT, M.push(w)) : (re = w.xPosition - Z.callout.offsetX - w.textOffsetX - Z.callout.textMargin, W = w.yPosition - Z.callout.offsetY, w.direction = ot.LEFT, M.push(w)), `translate(${re}, ${W})`;\n }\n return `translate(${w.xPosition}, ${w.yPosition})`;\n }), this.renderCallouts(M);\n const L = y(n, \"donut\") ? \"donut\" : \"pie\", O = y(n, L, \"alignment\"), { width: k } = E.getSVGElementSize(this.getParent(), {\n useAttrs: !0\n }), I = m ? Z.xOffset : 0, F = m ? Z.yOffset : 0;\n let P = l + I;\n O === ue.CENTER ? P = k / 2 : O === ue.RIGHT && (P = k - l - Z.xOffset);\n let A = l + F;\n M.length > 0 && (A += Z.yOffsetCallout), s.attr(\"x\", P + 7).attr(\"y\", A), this.addEventListeners();\n }\n renderCallouts(e) {\n const t = E.appendOrSelect(this.getComponentContainer(), \"g.callouts\").attr(\"role\", U.GROUP).attr(\"data-name\", \"callouts\"), s = t.selectAll(\"g.callout\").data(e);\n s.exit().remove();\n const n = s.enter().append(\"g\").classed(\"callout\", !0).attr(\"role\", U.GROUP).attr(\"aria-roledescription\", \"label callout\");\n n.merge(s).datum(function(r) {\n const { xPosition: l, yPosition: c, direction: d } = r;\n return d === ot.RIGHT ? (r.startPos = {\n x: l,\n y: c + r.textOffsetY\n }, r.endPos = {\n x: l + Z.callout.offsetX,\n y: c - Z.callout.offsetY + r.textOffsetY\n }, r.intersectPointX = r.endPos.x - Z.callout.horizontalLineLength) : (r.startPos = {\n x: l,\n y: c + r.textOffsetY\n }, r.endPos = {\n x: l - Z.callout.offsetX,\n y: c - Z.callout.offsetY + r.textOffsetY\n }, r.intersectPointX = r.endPos.x + Z.callout.horizontalLineLength), r;\n }), n.append(\"line\").classed(\"vertical-line\", !0).merge(t.selectAll(\"line.vertical-line\")).datum(function() {\n return x(this.parentNode).datum();\n }).style(\"stroke-width\", \"1px\").attr(\"x1\", (r) => r.startPos.x).attr(\"y1\", (r) => r.startPos.y).attr(\"x2\", (r) => r.intersectPointX).attr(\"y2\", (r) => r.endPos.y), n.append(\"line\").classed(\"horizontal-line\", !0).merge(t.selectAll(\"line.horizontal-line\")).datum(function() {\n return x(this.parentNode).datum();\n }).style(\"stroke-width\", \"1px\").attr(\"x1\", (r) => r.intersectPointX).attr(\"y1\", (r) => r.endPos.y).attr(\"x2\", (r) => r.endPos.x).attr(\"y2\", (r) => r.endPos.y);\n }\n addEventListeners() {\n const e = this;\n this.parent.selectAll(\"path.slice\").on(\"mouseover\", function(t, s) {\n const n = x(this);\n n.classed(\"hovered\", !0).transition(\"pie_slice_mouseover\").call(\n (r) => e.services.transitions.setupTransition({\n transition: r,\n name: \"pie_slice_mouseover\"\n })\n ).attr(\"d\", e.hoverArc), e.services.events.dispatchEvent(f.Pie.SLICE_MOUSEOVER, {\n event: t,\n element: x(this),\n datum: s\n });\n const { groupMapsTo: a } = e.getOptions().data, { valueMapsTo: i } = e.getOptions().pie;\n e.services.events.dispatchEvent(f.Tooltip.SHOW, {\n event: t,\n hoveredElement: n,\n items: [\n {\n label: s.data[a],\n value: s.data[i]\n }\n ]\n });\n }).on(\"mousemove\", function(t, s) {\n const n = x(this);\n e.services.events.dispatchEvent(f.Pie.SLICE_MOUSEMOVE, {\n event: t,\n element: n,\n datum: s\n }), e.services.events.dispatchEvent(f.Tooltip.MOVE, {\n event: t\n });\n }).on(\"click\", function(t, s) {\n e.services.events.dispatchEvent(f.Pie.SLICE_CLICK, {\n event: t,\n element: x(this),\n datum: s\n });\n }).on(\"mouseout\", function(t, s) {\n const n = x(this);\n n.classed(\"hovered\", !1).transition(\"pie_slice_mouseout\").call(\n (a) => e.services.transitions.setupTransition({\n transition: a,\n name: \"pie_slice_mouseout\"\n })\n ).attr(\"d\", e.arc), e.services.events.dispatchEvent(f.Pie.SLICE_MOUSEOUT, {\n event: t,\n element: n,\n datum: s\n }), e.services.events.dispatchEvent(f.Tooltip.HIDE, {\n hoveredElement: n\n });\n });\n }\n // Helper functions\n computeRadius() {\n const { width: e, height: t } = E.getSVGElementSize(this.parent, {\n useAttrs: !0\n }), s = this.getOptions(), n = Math.min(e, t) / 2;\n return s.pie.labels.enabled ? n + Z.radiusOffset : n;\n }\n}\nclass Vc extends yr {\n constructor() {\n super(...arguments), this.type = \"donut\", this.renderType = H.SVG;\n }\n render(e = !0) {\n super.render(e);\n const t = this;\n if (this.model.isDataEmpty()) {\n this.getComponentContainer().select(\"g.center\").remove();\n return;\n }\n const s = E.appendOrSelect(this.getComponentContainer(), \"g.center\"), n = this.getOptions(), a = this.computeRadius(), i = y(n, \"donut\", \"center\", \"label\");\n E.appendOrSelect(s, \"text.donut-figure\").attr(\"text-anchor\", \"middle\").style(\"dominant-baseline\", () => i === null || i === \"\" ? \"central\" : \"initial\").style(\"font-size\", () => n.donut.center.numberFontSize(a)).transition().call(\n (r) => this.services.transitions.setupTransition({\n transition: r,\n name: \"donut-figure-enter-update\",\n animate: e\n })\n ).tween(\"text\", function() {\n return t.centerNumberTween(x(this));\n }), i !== null && i !== \"\" && E.appendOrSelect(s, \"text.donut-title\").attr(\"text-anchor\", \"middle\").style(\"font-size\", () => n.donut.center.titleFontSize(a)).attr(\"y\", n.donut.center.titleYPosition(a)).text(i);\n }\n getInnerRadius() {\n return this.computeRadius() * (3 / 4);\n }\n centerNumberTween(e) {\n const t = this.getOptions();\n let s = y(t, \"donut\", \"center\", \"number\");\n s === null && (s = this.model.getDisplayData().reduce((r, l) => r + l[t.pie.valueMapsTo], 0));\n const n = parseInt(e.text().replace(/[, ]+/g, \"\"), 10) || 0;\n let a;\n n % 1 === 0 && s % 1 === 0 ? a = an : a = vs;\n const i = a(n, s);\n return (r) => {\n const { numberFormatter: l } = t.donut.center;\n e.text(l(i(r)));\n };\n }\n}\nconst hs = \"4,10 8,6 12,10\", us = \"12,6 8,10 4,6\";\nclass Bc extends z {\n constructor() {\n super(...arguments), this.type = \"gauge\", this.renderType = H.SVG;\n }\n getValue() {\n var s;\n return ((s = this.model.getData().find((n) => n.group === \"value\")) == null ? void 0 : s.value) ?? null;\n }\n getValueRatio() {\n return $s(this.getValue(), 0, 100) / 100;\n }\n getDelta() {\n var s;\n return ((s = this.model.getData().find((n) => n.group === \"delta\")) == null ? void 0 : s.value) ?? null;\n }\n getArcRatio() {\n const e = this.getOptions();\n return y(e, \"gauge\", \"type\") === ze.FULL ? 1 : 0.5;\n }\n getArcSize() {\n return this.getArcRatio() * Math.PI * 2;\n }\n getStartAngle() {\n const e = this.getArcSize();\n return e === 2 * Math.PI ? 0 : -e / 2;\n }\n // use provided arrow direction or default to using the delta\n getArrow(e) {\n const t = this.getOptions();\n switch (y(t, \"gauge\", \"deltaArrow\", \"direction\")) {\n case jt.UP:\n return hs;\n case jt.DOWN:\n return us;\n default:\n return e > 0 ? hs : us;\n }\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n render(e = !0) {\n const t = this.getComponentContainer().attr(\"width\", \"100%\").attr(\"height\", \"100%\"), s = this.getOptions(), n = this.getValue(), a = this.getValueRatio(), i = this.getArcSize(), r = this.getStartAngle(), l = a * i, c = r + l, d = r + i, p = this.computeRadius(), h = this.getInnerRadius();\n this.backgroundArc = $e().innerRadius(h).outerRadius(p).startAngle(c).endAngle(d), this.arc = $e().innerRadius(h).outerRadius(p).startAngle(r).endAngle(c), E.appendOrSelect(t, \"path.arc-background\").attr(\"d\", this.backgroundArc);\n const u = t.selectAll(\"path.arc-foreground\").data([n]);\n u.enter().append(\"path\").merge(u).attr(\n \"class\",\n this.model.getColorClassName({\n classNameTypes: [$.FILL],\n dataGroupName: \"value\",\n originalClassName: \"arc-foreground\"\n })\n ).style(\"fill\", () => y(this.getOptions(), \"color\", \"scale\", \"value\")).attr(\"d\", this.arc).attr(\"role\", U.GRAPHICS_SYMBOL).attr(\"aria-roledescription\", \"value\").attr(\"aria-label\", (S) => S), this.drawValueNumber(), this.drawDelta(), u.exit().remove();\n const m = y(s, \"gauge\", \"alignment\"), { width: b } = E.getSVGElementSize(this.getParent(), {\n useAttrs: !0\n });\n let v = p;\n m === ue.CENTER ? v = b / 2 : m === ue.RIGHT && (v = b - p), t.attr(\"x\", v).attr(\"y\", p), this.addEventListeners();\n }\n /**\n * draws the value number associated with the Gauge component in the center\n */\n drawValueNumber() {\n const e = this.getComponentContainer(), t = this.getOptions(), s = y(t, \"gauge\", \"type\"), n = this.getValue(), a = this.getDelta(), i = this.computeRadius(), r = y(t, \"gauge\", \"valueFontSize\"), l = y(t, \"gauge\", \"deltaFontSize\"), c = y(t, \"gauge\", \"numberSpacing\"), d = y(t, \"gauge\", \"showPercentageSymbol\");\n let p = 0;\n s === ze.FULL && !a ? p = l(i) : s === ze.SEMI && a && (p = -(l(i) + c));\n const h = E.appendOrSelect(e, \"g.gauge-numbers\").attr(\n \"transform\",\n `translate(0, ${p})`\n ), u = r(i), g = E.appendOrSelect(h, \"g.gauge-value-number\"), m = y(t, \"gauge\", \"numberFormatter\"), b = g.selectAll(\"text.gauge-value-number\").data([n]);\n b.enter().append(\"text\").attr(\"class\", \"gauge-value-number\").merge(b).style(\"font-size\", `${u}px`).attr(\"text-anchor\", \"middle\").text((k) => m(k));\n const { width: v } = E.getSVGElementSize(\n E.appendOrSelect(e, \"text.gauge-value-number\"),\n { useBBox: !0 }\n ), S = u / 2, T = d ? \"%\" : \"\", M = E.appendOrSelect(g, \"text.gauge-value-symbol\").style(\"font-size\", `${S}px`).attr(\"x\", v / 2).text(T), { width: L, height: O } = E.getSVGElementSize(M, {\n useBBox: !0\n });\n M.attr(\"y\", `-${O / 2}px`), g.attr(\"transform\", `translate(-${L / 2}, 0)`);\n }\n /**\n * adds the delta number for the gauge\n */\n drawDelta() {\n const e = this, t = this.getComponentContainer(), s = this.getOptions(), n = this.getDelta();\n if (n) {\n const a = this.computeRadius(), i = n ? y(s, \"gauge\", \"deltaFontSize\") : () => 0, r = n ? y(s, \"gauge\", \"numberFormatter\") : () => null, l = y(s, \"gauge\", \"deltaArrow\", \"size\"), c = y(s, \"gauge\", \"numberSpacing\"), d = y(s, \"gauge\", \"showPercentageSymbol\"), p = E.appendOrSelect(t, \"g.gauge-numbers\"), h = E.appendOrSelect(p, \"g.gauge-delta\").attr(\n \"transform\",\n `translate(0, ${i(a) + c})`\n ), u = E.appendOrSelect(h, \"text.gauge-delta-number\"), g = d ? \"%\" : \"\";\n u.data(n === null ? [] : [n]), u.enter().append(\"text\").classed(\"gauge-delta-number\", !0).merge(u).attr(\"text-anchor\", \"middle\").style(\"font-size\", `${i(a)}px`).text((S) => `${r(S)}${g}`);\n const { width: m } = E.getSVGElementSize(\n E.appendOrSelect(t, \".gauge-delta-number\"),\n { useBBox: !0 }\n ), b = y(s, \"gauge\", \"deltaArrow\", \"enabled\"), v = h.selectAll(\"svg.gauge-delta-arrow\").data(n !== null && b ? [n] : []);\n v.enter().append(\"svg\").merge(v).attr(\"class\", \"gauge-delta-arrow\").attr(\"x\", -l(a) - m / 2).attr(\"y\", -l(a) / 2 - i(a) * 0.35).attr(\"width\", l(a)).attr(\"height\", l(a)).attr(\"viewBox\", \"0 0 16 16\").each(function() {\n const S = x(this);\n E.appendOrSelect(S, \"rect.gauge-delta-arrow-backdrop\").attr(\"width\", \"16\").attr(\"height\", \"16\").attr(\"fill\", \"none\");\n const T = y(s, \"gauge\", \"status\");\n E.appendOrSelect(S, \"polygon.gauge-delta-arrow\").attr(\"class\", T !== null ? `gauge-delta-arrow status--${T}` : \"\").attr(\"points\", e.getArrow(n));\n }), v.exit().remove(), u.exit().remove();\n } else {\n const a = t.select(\"g.gauge-delta\");\n a.empty() || a.remove();\n }\n }\n getInnerRadius() {\n const e = this.computeRadius(), t = y(this.getOptions(), \"gauge\", \"arcWidth\");\n return e - t;\n }\n addEventListeners() {\n const e = this;\n this.parent.selectAll(\"path.arc-foreground\").on(\"mouseover\", function(t, s) {\n e.services.events.dispatchEvent(f.Gauge.ARC_MOUSEOVER, {\n event: t,\n element: x(this),\n datum: s\n });\n }).on(\"mousemove\", function(t, s) {\n const n = x(this);\n e.services.events.dispatchEvent(f.Gauge.ARC_MOUSEMOVE, {\n event: t,\n element: n,\n datum: s\n });\n }).on(\"click\", function(t, s) {\n e.services.events.dispatchEvent(f.Gauge.ARC_CLICK, {\n event: t,\n element: x(this),\n datum: s\n });\n }).on(\"mouseout\", function(t, s) {\n const n = x(this);\n e.services.events.dispatchEvent(f.Gauge.ARC_MOUSEOUT, {\n event: t,\n element: n,\n datum: s\n });\n });\n }\n // Helper functions\n computeRadius() {\n const e = this.getOptions(), t = y(e, \"gauge\", \"type\"), { width: s, height: n } = E.getSVGElementSize(this.parent, {\n useAttrs: !0\n });\n return t === ze.SEMI ? Math.min(s / 2, n) : Math.min(s / 2, n / 2);\n }\n}\nclass $c extends Gt {\n constructor() {\n super(...arguments), this.type = \"grouped-bar\", this.renderType = H.SVG, this.padding = 5, this.defaultStepFactor = 70, this.handleLegendOnHover = (e) => {\n const { hoveredElement: t } = e.detail, { groupMapsTo: s } = this.getOptions().data;\n this.parent.selectAll(\"path.bar\").transition(\"legend-hover-bar\").call(\n (n) => this.services.transitions.setupTransition({\n transition: n,\n name: \"legend-hover-bar\"\n })\n ).attr(\"opacity\", (n) => n[s] !== t.datum().name ? 0.3 : 1);\n }, this.handleLegendMouseOut = () => {\n this.parent.selectAll(\"path.bar\").transition(\"legend-mouseout-bar\").call(\n (e) => this.services.transitions.setupTransition({\n transition: e,\n name: \"legend-mouseout-bar\"\n })\n ).attr(\"opacity\", 1);\n };\n }\n init() {\n const e = this.services.events;\n e.addEventListener(f.Legend.ITEM_HOVER, this.handleLegendOnHover), e.addEventListener(f.Legend.ITEM_MOUSEOUT, this.handleLegendMouseOut);\n }\n render(e) {\n const t = this.model.getDisplayData(this.configs.groups), s = this.getOptions(), { groupMapsTo: n } = s.data;\n this.setGroupScale();\n const a = this.getComponentContainer({ withinChartClip: !0 }), i = Rn(\n t.map((h) => {\n const u = this.services.cartesianScales.getDomainIdentifier(h);\n return h[u] && typeof h[u].toString == \"function\" ? h[u].toString() : h[u];\n })\n ), r = a.selectAll(\"g.bars\").data(i, (h) => h);\n r.exit().attr(\"opacity\", 0).remove();\n const c = r.enter().append(\"g\").classed(\"bars\", !0).attr(\"role\", U.GROUP).attr(\"data-name\", \"bars\").merge(r);\n c.transition().call(\n (h) => this.services.transitions.setupTransition({\n transition: h,\n name: \"bar-group-update-enter\",\n animate: e\n })\n ).attr(\"transform\", (h) => {\n const g = this.services.cartesianScales.getDomainValue(h) - this.getGroupWidth() / 2;\n return this.services.cartesianScales.getOrientation() === le.VERTICAL ? `translate(${g}, 0)` : `translate(0, ${g})`;\n });\n const d = c.selectAll(\"path.bar\").data(\n (h) => this.getDataCorrespondingToLabel(h),\n (h) => h[n]\n );\n d.exit().attr(\"opacity\", 0).remove(), d.enter().append(\"path\").attr(\"opacity\", 0).merge(d).classed(\"bar\", !0).transition().call(\n (h) => this.services.transitions.setupTransition({\n transition: h,\n name: \"bar-update-enter\",\n animate: e\n })\n ).attr(\n \"class\",\n (h) => this.model.getColorClassName({\n classNameTypes: [$.FILL],\n dataGroupName: h[n],\n originalClassName: \"bar\"\n })\n ).style(\"fill\", (h) => this.model.getFillColor(h[n])).attr(\"d\", (h) => {\n const u = this.groupScale(h[n]), g = this.getBarWidth(), m = u, b = u + g, v = this.services.cartesianScales.getRangeAxisPosition({ datum: h }), S = this.services.cartesianScales.getValueThroughAxisPosition(v, 0), T = this.services.cartesianScales.getRangeValue(h), M = this.services.cartesianScales.getDomainValue(h) - g / 2, L = M + g;\n if (!this.isOutsideZoomedDomain(M, L))\n return ie(\n { x0: m, x1: b, y0: S, y1: T },\n this.services.cartesianScales.getOrientation()\n );\n }).attr(\"opacity\", 1).attr(\"role\", U.GRAPHICS_SYMBOL).attr(\"aria-roledescription\", \"bar\").attr(\"aria-label\", (h) => h.value), this.addEventListeners();\n }\n addEventListeners() {\n const e = this;\n this.parent.selectAll(\"path.bar\").on(\"mouseover\", function(t, s) {\n const n = x(this);\n n.classed(\"hovered\", !0), e.services.events.dispatchEvent(f.Bar.BAR_MOUSEOVER, {\n event: t,\n element: n,\n datum: s\n }), e.services.events.dispatchEvent(f.Tooltip.SHOW, {\n event: t,\n hoveredElement: n,\n data: [s]\n });\n }).on(\"mousemove\", function(t, s) {\n const n = x(this);\n e.services.events.dispatchEvent(f.Bar.BAR_MOUSEMOVE, {\n event: t,\n element: n,\n datum: s\n }), e.services.events.dispatchEvent(f.Tooltip.MOVE, {\n event: t\n });\n }).on(\"click\", function(t, s) {\n e.services.events.dispatchEvent(f.Bar.BAR_CLICK, {\n event: t,\n element: x(this),\n datum: s\n });\n }).on(\"mouseout\", function(t, s) {\n const n = x(this);\n n.classed(\"hovered\", !1), e.services.events.dispatchEvent(f.Bar.BAR_MOUSEOUT, {\n event: t,\n element: n,\n datum: s\n }), e.services.events.dispatchEvent(f.Tooltip.HIDE, {\n hoveredElement: n\n });\n });\n }\n destroy() {\n this.parent.selectAll(\"path.bar\").on(\"mouseover\", null).on(\"mousemove\", null).on(\"mouseout\", null);\n const e = this.services.events;\n e.removeEventListener(f.Legend.ITEM_HOVER, this.handleLegendOnHover), e.removeEventListener(f.Legend.ITEM_MOUSEOUT, this.handleLegendMouseOut);\n }\n getDataCorrespondingToLabel(e) {\n return this.model.getDisplayData(this.configs.groups).filter((s) => {\n const n = this.services.cartesianScales.getDomainIdentifier(s);\n return s[n].toString() === e;\n });\n }\n getGroupWidth() {\n const e = this.model.getGroupedData(this.configs.groups), t = this.getTotalGroupPadding();\n return this.getBarWidth() * e.length + t;\n }\n getDomainScaleStep() {\n const e = this.services.cartesianScales.getDomainScale(), t = this.model.getGroupedData(this.configs.groups);\n let s = this.defaultStepFactor;\n if (typeof e.step == \"function\")\n s = e.step();\n else if (t.length > 0) {\n const n = t.find((a) => {\n var i;\n return ((i = a.data) == null ? void 0 : i.length) > 1;\n });\n if (n) {\n const a = this.services.cartesianScales.getDomainIdentifier(n.data[0]);\n s = Math.abs(\n e(n.data[1][a]) - e(n.data[0][a])\n );\n }\n }\n return s;\n }\n getTotalGroupPadding() {\n const e = this.model.getGroupedData(this.configs.groups);\n return e.length === 1 ? 0 : Math.min(5, 5 * (this.getDomainScaleStep() / this.defaultStepFactor)) * (e.length - 1);\n }\n // Gets the correct width for bars based on options & configurations\n getBarWidth() {\n const e = this.getOptions(), t = y(e, \"bars\", \"width\"), s = y(e, \"bars\", \"maxWidth\");\n if (t !== null && (s === null || t <= s))\n return t;\n const a = this.model.getGroupedData(this.configs.groups).length, i = this.getTotalGroupPadding();\n return Math.min(\n s,\n (this.getDomainScaleStep() - i) / a\n );\n }\n setGroupScale() {\n const e = this.model.getActiveDataGroupNames(this.configs.groups);\n this.groupScale = Pt().domain(e).rangeRound([0, this.getGroupWidth()]);\n }\n}\nclass Gc extends z {\n constructor() {\n super(...arguments), this.type = \"heatmap\", this.renderType = H.SVG, this.matrix = {}, this.xBandwidth = 0, this.yBandwidth = 0, this.translationUnits = {\n x: 0,\n y: 0\n }, this.handleAxisOnHover = (e) => {\n const { detail: t } = e, { datum: s } = t, n = this.model.getUniqueRanges(), a = this.model.getUniqueDomain(), i = this.services.cartesianScales.getDomainLabel(), r = this.services.cartesianScales.getRangeLabel(), l = this.services.cartesianScales.getMainXScale(), c = this.services.cartesianScales.getMainYScale();\n let d = \"\", p = null, h = null, u = null;\n this.matrix[s] !== void 0 ? (d = i, n.forEach((g) => {\n if (typeof this.matrix[s][g].value == \"number\") {\n const m = this.matrix[s][g].value;\n if (p === null) {\n p = m, h = m, u = m;\n return;\n }\n p += m, h = m < h ? m : h, u = m > u ? m : u;\n }\n })) : (d = r, a.forEach((g) => {\n if (typeof this.matrix[g][s].value == \"number\") {\n const m = this.matrix[g][s].value;\n if (p === null) {\n p = m, h = m, u = m;\n return;\n }\n p += m, h = m < h ? m : h, u = m > u ? m : u;\n }\n })), l(s) !== void 0 ? this.parent.select(\"g.multi-cell.column-highlight\").classed(\"highlighter-hidden\", !1).attr(\"transform\", `translate(${l(s)}, ${ut(c.range())})`) : c(s) !== void 0 && this.parent.select(\"g.multi-cell.row-highlight\").classed(\"highlighter-hidden\", !1).attr(\"transform\", `translate(${ut(l.range())},${c(s)})`), this.services.events.dispatchEvent(f.Tooltip.SHOW, {\n event: t.event,\n hoveredElement: x(e.detail.element),\n items: [\n {\n label: d,\n value: s,\n bold: !0\n },\n {\n label: \"Min\",\n value: h !== null ? h : \"-\"\n },\n {\n label: \"Max\",\n value: u !== null ? u : \"-\"\n },\n {\n label: \"Average\",\n value: p !== null ? p / a.length : \"-\"\n }\n ]\n });\n }, this.handleAxisMouseOut = (e) => {\n this.parent.selectAll(\"g.multi-cell\").classed(\"highlighter-hidden\", !0), this.services.events.dispatchEvent(f.Tooltip.HIDE, {\n event: e\n });\n };\n }\n init() {\n const e = this.services.events;\n e.addEventListener(f.Axis.LABEL_MOUSEOVER, this.handleAxisOnHover), e.addEventListener(f.Axis.LABEL_MOUSEOUT, this.handleAxisMouseOut), e.addEventListener(f.Axis.LABEL_FOCUS, this.handleAxisOnHover), e.addEventListener(f.Axis.LABEL_BLUR, this.handleAxisMouseOut);\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n render(e = !0) {\n const t = this.getComponentContainer({ withinChartClip: !0 });\n t.lower();\n const { cartesianScales: s } = this.services;\n if (this.matrix = this.model.getMatrix(), t.html(\"\"), y(this.getOptions(), \"data\", \"loading\"))\n return;\n const n = s.getMainXScale(), a = s.getMainYScale(), i = s.getDomainIdentifier(), r = s.getRangeIdentifier(), l = this.model.getUniqueDomain(), c = this.model.getUniqueRanges(), d = this.model.getMatrixAsArray(), p = n.range(), h = a.range();\n this.xBandwidth = Math.abs((p[1] - p[0]) / l.length), this.yBandwidth = Math.abs((h[1] - h[0]) / c.length);\n const u = this.services.domUtils.generateElementIDString(\"heatmap-pattern-stripes\");\n t.append(\"defs\").append(\"pattern\").attr(\"id\", u).attr(\"width\", 3).attr(\"height\", 3).attr(\"patternUnits\", \"userSpaceOnUse\").attr(\"patternTransform\", \"rotate(45)\").append(\"rect\").classed(\"pattern-fill\", !0).attr(\"width\", 0.5).attr(\"height\", 8);\n const g = t.selectAll().data(d).enter().append(\"g\").attr(\"class\", (m) => `heat-${m.index}`).classed(\"cell\", !0).attr(\n \"transform\",\n (m) => `translate(${n(m[i])}, ${a(m[r])})`\n ).append(\"rect\").attr(\n \"class\",\n (m) => this.model.getColorClassName({\n value: m.value,\n originalClassName: `heat-${m.index}`\n })\n ).classed(\"heat\", !0).classed(\"null-state\", (m) => m.index === -1 || m.value === null).attr(\"width\", this.xBandwidth).attr(\"height\", this.yBandwidth).style(\"fill\", (m) => m.index === -1 || m.value === null ? `url(#${u})` : this.model.getFillColor(Number(m.value))).attr(\"aria-label\", (m) => m.value);\n this.createOuterBox(\"g.cell-highlight\", this.xBandwidth, this.yBandwidth), this.createOuterBox(\n \"g.multi-cell.column-highlight\",\n this.xBandwidth,\n Math.abs(h[1] - h[0])\n ), this.createOuterBox(\n \"g.multi-cell.row-highlight\",\n Math.abs(p[1] - p[0]),\n this.yBandwidth\n ), this.determineDividerStatus() && (g.style(\"stroke-width\", \"1px\"), this.parent.select(\"g.cell-highlight\").classed(\"cell-2\", !0)), this.addEventListener();\n }\n /**\n * Generates a box using lines to create a hover effect\n * The lines have drop shadow in their respective direction\n * @param parentTag - tag name\n * @param xBandwidth - X length\n * @param yBandwidth - y length\n */\n createOuterBox(e, t, s) {\n const n = E.appendOrSelect(this.parent, e).classed(\"shadows\", !0).classed(\"highlighter-hidden\", !0);\n E.appendOrSelect(n, \"line.top\").attr(\"x1\", -1).attr(\"x2\", t + 1), E.appendOrSelect(n, \"line.left\").attr(\"x1\", 0).attr(\"y1\", -1).attr(\"x2\", 0).attr(\"y2\", s + 1), E.appendOrSelect(n, \"line.down\").attr(\"x1\", -1).attr(\"x2\", t + 1).attr(\"y1\", s).attr(\"y2\", s), E.appendOrSelect(n, \"line.right\").attr(\"x1\", t).attr(\"x2\", t).attr(\"y1\", -1).attr(\"y2\", s + 1);\n }\n determineDividerStatus() {\n const e = y(this.getOptions(), \"heatmap\", \"divider\", \"state\");\n return e !== lt.OFF && (e === lt.AUTO && Ft.minCellDividerDimension <= this.xBandwidth && Ft.minCellDividerDimension <= this.yBandwidth || e === lt.ON);\n }\n addEventListener() {\n const e = this, { cartesianScales: t } = this.services, s = this.getOptions(), n = Q(s, \"tooltip.totalLabel\"), a = t.getDomainIdentifier(), i = t.getRangeIdentifier(), r = t.getDomainLabel(), l = t.getRangeLabel();\n this.parent.selectAll(\"g.cell\").on(\"mouseover\", function(c, d) {\n const p = x(this), h = p.select(\"rect.heat\");\n if (!h.classed(\"null-state\")) {\n const g = Ve(p.attr(\"transform\"));\n e.parent.select(\"g.cell-highlight\").attr(\n \"transform\",\n `translate(${g.x + e.translationUnits.x}, ${g.y + e.translationUnits.y})`\n ).classed(\"highlighter-hidden\", !1), e.services.events.dispatchEvent(f.Heatmap.HEATMAP_MOUSEOVER, {\n event: c,\n element: h,\n datum: d\n }), e.services.events.dispatchEvent(f.Tooltip.SHOW, {\n event: c,\n items: [\n {\n label: r,\n value: d[a]\n },\n {\n label: l,\n value: d[i]\n },\n {\n label: n || \"Total\",\n value: d.value,\n color: h.style(\"fill\")\n }\n ]\n });\n }\n }).on(\"mousemove\", function(c, d) {\n e.services.events.dispatchEvent(f.Heatmap.HEATMAP_MOUSEMOVE, {\n event: c,\n element: x(this),\n datum: d\n }), e.services.events.dispatchEvent(f.Tooltip.MOVE, {\n event: c\n });\n }).on(\"click\", function(c, d) {\n e.services.events.dispatchEvent(f.Heatmap.HEATMAP_CLICK, {\n event: c,\n element: x(this),\n datum: d\n });\n }).on(\"mouseout\", function(c, d) {\n const h = x(this).select(\"rect.heat\"), u = h.classed(\"null-state\");\n e.parent.select(\"g.cell-highlight\").classed(\"highlighter-hidden\", !0), u || (e.services.events.dispatchEvent(f.Heatmap.HEATMAP_MOUSEOUT, {\n event: c,\n element: h,\n datum: d\n }), e.services.events.dispatchEvent(f.Tooltip.HIDE, {\n event: c,\n hoveredElement: h\n }));\n });\n }\n // Remove event listeners\n destroy() {\n this.parent.selectAll(\"rect.heat\").on(\"mouseover\", null).on(\"mousemove\", null).on(\"click\", null).on(\"mouseout\", null);\n const e = this.services.events;\n e.removeEventListener(f.Legend.ITEM_HOVER, this.handleAxisOnHover), e.removeEventListener(f.Legend.ITEM_MOUSEOUT, this.handleAxisMouseOut);\n }\n}\nclass Nc extends z {\n constructor() {\n super(...arguments), this.type = \"histogram\", this.renderType = H.SVG, this.handleLegendOnHover = (e) => {\n const { hoveredElement: t } = e.detail, s = this.getOptions(), { groupMapsTo: n } = s.data;\n this.parent.selectAll(\"path.bar\").transition(\"legend-hover-bar\").call(\n (a) => this.services.transitions.setupTransition({\n transition: a,\n name: \"legend-hover-bar\"\n })\n ).attr(\"opacity\", (a) => a[n] !== t.datum().name ? 0.3 : 1);\n }, this.handleLegendMouseOut = () => {\n this.parent.selectAll(\"path.bar\").transition(\"legend-mouseout-bar\").call(\n (e) => this.services.transitions.setupTransition({\n transition: e,\n name: \"legend-mouseout-bar\"\n })\n ).attr(\"opacity\", 1);\n };\n }\n init() {\n const e = this.services.events;\n e.addEventListener(f.Legend.ITEM_HOVER, this.handleLegendOnHover), e.addEventListener(f.Legend.ITEM_MOUSEOUT, this.handleLegendMouseOut);\n }\n render(e) {\n const t = this.getComponentContainer(), s = this.model.getOptions(), { groupIdentifier: n } = s, { groupMapsTo: a } = s.data, i = this.model.getBinnedStackedData(), r = this.services.cartesianScales.getMainXScale(), l = t.selectAll(\"g.bars\").data(i, (d) => Q(d, `0.${a}`));\n l.exit().attr(\"opacity\", 0).remove(), l.enter().append(\"g\").classed(\"bars\", !0).attr(\"role\", U.GROUP);\n const c = t.selectAll(\"g.bars\").selectAll(\"path.bar\").data((d) => d);\n c.exit().remove(), c.enter().append(\"path\").merge(c).classed(\"bar\", !0).attr(n, (d, p) => p).transition().call(\n (d) => this.services.transitions.setupTransition({\n transition: d,\n name: \"histogram-bar-update-enter\",\n animate: e\n })\n ).attr(\n \"class\",\n (d) => this.model.getColorClassName({\n classNameTypes: [$.FILL],\n dataGroupName: d[a],\n originalClassName: \"bar\"\n })\n ).style(\"fill\", (d) => this.model.getFillColor(d[a])).attr(\"d\", (d) => {\n const p = Q(d, \"data\");\n if (!p)\n return;\n const h = r(p.x1) - r(p.x0) - 1, u = this.services.cartesianScales.getDomainValue(p.x0), g = u + h, m = this.services.cartesianScales.getRangeValue(d[0]);\n let b = this.services.cartesianScales.getRangeValue(d[1]);\n return Math.abs(b - m) > 0 && Math.abs(b - m) > s.bars.dividerSize && (this.services.cartesianScales.getOrientation() === le.VERTICAL ? b += 1 : b -= 1), ie(\n { x0: u, x1: g, y0: m, y1: b },\n this.services.cartesianScales.getOrientation()\n );\n }).attr(\"opacity\", 1).attr(\"role\", U.GRAPHICS_SYMBOL).attr(\"aria-roledescription\", \"bar\").attr(\"aria-label\", (d) => y(d, \"data\", d[a])), this.addEventListeners();\n }\n addEventListeners() {\n const e = this.model.getOptions(), { groupMapsTo: t } = e.data, s = this;\n this.parent.selectAll(\"path.bar\").on(\"mouseover\", function(n, a) {\n const i = x(this);\n i.classed(\"hovered\", !0);\n const r = parseFloat(Q(a, \"data.x0\")), l = parseFloat(Q(a, \"data.x1\")), c = s.services.cartesianScales.getRangeAxisPosition(), d = s.services.cartesianScales.getScaleLabel(c);\n s.services.events.dispatchEvent(f.Tooltip.SHOW, {\n event: n,\n hoveredElement: i,\n items: [\n {\n label: Q(e, \"bins.rangeLabel\") || \"Range\",\n value: `${r} – ${l}`\n },\n {\n label: e.tooltip.groupLabel || \"Group\",\n value: a[t],\n class: s.model.getColorClassName({\n classNameTypes: [$.TOOLTIP],\n dataGroupName: a[t]\n })\n },\n {\n label: d,\n value: Q(a, `data.${a[t]}`)\n }\n ]\n });\n }).on(\"mousemove\", function(n) {\n s.services.events.dispatchEvent(f.Tooltip.MOVE, {\n event: n\n });\n }).on(\"mouseout\", function() {\n x(this).classed(\"hovered\", !1), s.services.events.dispatchEvent(f.Tooltip.HIDE);\n });\n }\n destroy() {\n this.parent.selectAll(\"path.bar\").on(\"mouseover\", null).on(\"mousemove\", null).on(\"mouseout\", null);\n const e = this.services.events;\n e.removeEventListener(f.Legend.ITEM_HOVER, this.handleLegendOnHover), e.removeEventListener(f.Legend.ITEM_MOUSEOUT, this.handleLegendMouseOut);\n }\n}\nclass Hc extends Bt {\n constructor() {\n super(...arguments), this.type = \"lollipop\", this.renderType = H.SVG, this.handleScatterOnHover = (e) => {\n const t = e.detail, s = this.getOptions(), { groupMapsTo: n } = s.data;\n this.parent.selectAll(\"line.line\").attr(\"stroke-width\", (a) => a[n] !== t.datum[n] ? me.weight.unselected : me.weight.selected);\n }, this.handleScatterOnMouseOut = () => {\n this.parent.selectAll(\"line.line\").attr(\"stroke-width\", me.weight.unselected);\n }, this.handleLegendOnHover = (e) => {\n const { hoveredElement: t } = e.detail, s = this.getOptions(), { groupMapsTo: n } = s.data;\n this.parent.selectAll(\"line.line\").transition(\"legend-hover-line\").call(\n (a) => this.services.transitions.setupTransition({\n transition: a,\n name: \"legend-hover-line\"\n })\n ).attr(\"opacity\", (a) => a[n] !== t.datum().name ? me.opacity.unselected : me.opacity.selected);\n }, this.handleLegendMouseOut = () => {\n this.parent.selectAll(\"line.line\").transition(\"legend-mouseout-line\").call(\n (e) => this.services.transitions.setupTransition({\n transition: e,\n name: \"legend-mouseout-line\"\n })\n ).attr(\"opacity\", me.opacity.selected);\n };\n }\n init() {\n const { events: e } = this.services;\n e.addEventListener(f.Legend.ITEM_HOVER, this.handleLegendOnHover), e.addEventListener(f.Legend.ITEM_MOUSEOUT, this.handleLegendMouseOut);\n }\n render(e) {\n const t = this.getComponentContainer({ withinChartClip: !0 }), s = this.model.getOptions(), { groupMapsTo: n } = s.data, { cartesianScales: a } = this.services, i = a.getMainXScale(), r = a.getMainYScale(), l = a.getDomainIdentifier(), c = (v) => a.getDomainValue(v), d = (v) => a.getRangeValue(v), p = a.getOrientation(), [h, u] = ve(\n c,\n d,\n p\n ), g = t.selectAll(\"line.line\").data(\n this.getScatterData(),\n (v) => `${v[n]}-${v[l]}`\n );\n g.exit().attr(\"opacity\", 0).remove();\n const b = g.enter().append(\"line\").attr(\"opacity\", 0).merge(g).classed(\"line\", !0).attr(\n \"class\",\n (v) => this.model.getColorClassName({\n classNameTypes: [$.STROKE],\n dataGroupName: v[n],\n originalClassName: \"line\"\n })\n ).transition().call(\n (v) => this.services.transitions.setupTransition({\n transition: v,\n name: \"lollipop-line-update-enter\",\n animate: e\n })\n ).style(\"stroke\", (v) => this.model.getFillColor(v[n], v[l], v)).attr(\"opacity\", 1);\n p === le.HORIZONTAL ? b.attr(\"y1\", u).attr(\"y2\", u).attr(\"x1\", i.range()[0]).attr(\"x2\", (v) => h(v) - s.points.radius) : b.attr(\"x1\", h).attr(\"x2\", h).attr(\"y1\", r.range()[0]).attr(\"y2\", (v) => u(v) + s.points.radius), this.addScatterPointEventListeners();\n }\n // listen for when individual datapoints are hovered\n addScatterPointEventListeners() {\n this.services.events.addEventListener(\n f.Scatter.SCATTER_MOUSEOVER,\n this.handleScatterOnHover\n ), this.services.events.addEventListener(\n f.Scatter.SCATTER_MOUSEOUT,\n this.handleScatterOnMouseOut\n );\n }\n destroy() {\n const e = this.services.events;\n e.removeEventListener(f.Legend.ITEM_HOVER, this.handleLegendOnHover), e.removeEventListener(f.Legend.ITEM_MOUSEOUT, this.handleLegendMouseOut), e.removeEventListener(f.Scatter.SCATTER_MOUSEOVER, this.handleScatterOnHover), e.removeEventListener(\n f.Scatter.SCATTER_MOUSEOUT,\n this.handleScatterOnMouseOut\n );\n }\n}\nclass Uc extends z {\n constructor() {\n super(...arguments), this.type = \"meter\", this.renderType = H.SVG;\n }\n getStackedBounds(e, t) {\n let s = 0;\n return e.map((a, i) => i !== 0 ? (s += t(a.value), {\n ...a,\n width: Math.abs(t(a.value) - se.dividerWidth),\n x: s - t(a.value)\n }) : (s = t(a.value), {\n ...a,\n width: Math.abs(t(a.value) - se.dividerWidth),\n x: 0\n }));\n }\n render(e = !0) {\n const t = this, s = this.getComponentContainer(), n = this.getOptions(), a = y(n, \"meter\", \"proportional\"), i = this.model.getDisplayData(), r = this.model.getStatus(), { width: l } = E.getSVGElementSize(s, {\n useAttrs: !0\n }), { groupMapsTo: c } = n.data;\n let d;\n if (y(n, \"meter\", \"proportional\") === null)\n d = 100;\n else {\n const T = y(n, \"meter\", \"proportional\", \"total\");\n d = T || this.model.getMaximumDomain(this.model.getDisplayData());\n }\n const p = Oe().domain([0, d]).range([0, l]), h = this.getStackedBounds(i, p), u = y(n, \"meter\", \"height\");\n E.appendOrSelect(s, \"rect.container\").attr(\"x\", 0).attr(\"y\", 0).attr(\"width\", l).attr(\n \"height\",\n u || (a ? se.height.proportional : se.height.default)\n ), E.appendOrSelect(s, \"line.rangeIndicator\").attr(\"x1\", l).attr(\"x2\", l).attr(\"y1\", 0).attr(\n \"y2\",\n u || (a ? se.height.proportional : se.height.default)\n );\n const g = s.selectAll(\"rect.value\").data(h), m = r != null && !t.model.isUserProvidedColorScaleValid() && !a ? `value status--${r}` : \"value\";\n g.enter().append(\"rect\").classed(\"value\", !0).merge(g).attr(\"x\", (T) => T.x).attr(\"y\", 0).attr(\"height\", () => u || (a ? se.height.proportional : se.height.default)).attr(\n \"class\",\n (T) => this.model.getColorClassName({\n classNameTypes: [$.FILL],\n dataGroupName: T[c],\n originalClassName: m\n })\n ).transition().call(\n (T) => this.services.transitions.setupTransition({\n transition: T,\n name: \"meter-bar-update\",\n animate: e\n })\n ).attr(\"width\", (T) => T.value > d ? p(d) : T.width).style(\"fill\", (T) => t.model.getFillColor(T[c])).attr(\"role\", U.GRAPHICS_SYMBOL).attr(\"aria-roledescription\", \"value\").attr(\"aria-label\", (T) => T.value), g.exit().remove();\n const b = y(n, \"meter\", \"peak\");\n let v = b;\n b !== null && (b > d ? v = d : b < i[0].value && (v = i[0].value > d ? d : i[0].value));\n const S = s.selectAll(\"line.peak\").data(v == null ? [] : [v]);\n S.enter().append(\"line\").classed(\"peak\", !0).merge(S).attr(\"y1\", 0).attr(\"y2\", () => u || (a ? se.height.proportional : se.height.default)).transition().call(\n (T) => this.services.transitions.setupTransition({\n transition: T,\n name: \"peak-line-update\",\n animate: e\n })\n ).attr(\"x1\", (T) => p(T)).attr(\"x2\", (T) => p(T)).attr(\"role\", U.GRAPHICS_SYMBOL).attr(\"aria-roledescription\", \"peak\").attr(\"aria-label\", (T) => T), S.exit().remove(), this.services.domUtils.setSVGMaxHeight(), this.addEventListeners();\n }\n // add event listeners for tooltips on proportional meter bars\n addEventListeners() {\n const e = this.getOptions(), { groupMapsTo: t } = e.data, s = this, n = y(e, \"meter\", \"proportional\");\n this.parent.selectAll(\"rect.value\").on(\"mouseover\", function(a, i) {\n const r = x(this);\n s.services.events.dispatchEvent(f.Meter.METER_MOUSEOVER, {\n event: a,\n element: r,\n datum: i\n }), n && (r.classed(\"hovered\", !0), s.services.events.dispatchEvent(f.Tooltip.SHOW, {\n event: a,\n hoveredElement: r,\n items: [\n {\n label: i[t],\n value: i.value\n }\n ]\n }));\n }).on(\"mousemove\", function(a, i) {\n const r = x(this);\n s.services.events.dispatchEvent(f.Meter.METER_MOUSEMOVE, {\n event: a,\n element: r,\n datum: i\n }), n && s.services.events.dispatchEvent(f.Tooltip.MOVE, {\n event: a\n });\n }).on(\"click\", function(a, i) {\n s.services.events.dispatchEvent(f.Meter.METER_CLICK, {\n event: a,\n element: x(this),\n datum: i\n });\n }).on(\"mouseout\", function(a, i) {\n const r = x(this);\n s.services.events.dispatchEvent(f.Meter.METER_MOUSEOUT, {\n event: a,\n element: r,\n datum: i\n }), n && (r.classed(\"hovered\", !1), s.services.events.dispatchEvent(f.Tooltip.HIDE, {\n hoveredElement: r\n }));\n });\n }\n destroy() {\n this.parent.selectAll(\"rect.value\").on(\"mouseover\", null).on(\"mousemove\", null).on(\"mouseout\", null).on(\"click\", null);\n }\n}\nclass zc extends z {\n constructor() {\n super(...arguments), this.type = \"radar\", this.renderType = H.SVG, this.getLabelDimensions = (e) => {\n const t = E.appendOrSelect(this.getComponentContainer(), \"g.tmp-tick\"), s = E.appendOrSelect(t, \"text\").text(e), { width: n, height: a } = E.getSVGElementSize(s.node(), { useBBox: !0 });\n return t.remove(), { width: n, height: a };\n }, this.normalizeFlatData = (e) => {\n const t = this.getOptions(), { angle: s, value: n } = y(t, \"radar\", \"axes\"), a = y(t, \"data\", \"groupMapsTo\"), i = $a(\n this.uniqueKeys.map((r) => this.uniqueGroups.map((l) => ({\n [s]: r,\n [a]: l,\n [n]: null\n })))\n );\n return Re(i, e);\n }, this.normalizeGroupedData = (e) => {\n const t = this.getOptions(), { angle: s, value: n } = y(t, \"radar\", \"axes\"), a = y(t, \"data\", \"groupMapsTo\");\n return e.map(({ name: i, data: r }) => {\n const l = this.uniqueKeys.map((c) => ({\n [a]: i,\n [s]: c,\n [n]: null\n }));\n return { name: i, data: Re(l, r) };\n });\n }, this.handleLegendOnHover = (e) => {\n const { hoveredElement: t } = e.detail;\n this.parent.selectAll(\"g.blobs path\").transition(\"legend-hover-blob\").call(\n (s) => this.services.transitions.setupTransition({\n transition: s,\n name: \"legend-hover-blob\"\n })\n ).style(\"fill-opacity\", (s) => s.name !== t.datum().name ? Ee.opacity.unselected : Ee.opacity.selected).style(\"stroke-opacity\", (s) => s.name !== t.datum().name ? Ee.opacity.unselected : 1);\n }, this.handleLegendMouseOut = () => {\n this.parent.selectAll(\"g.blobs path\").transition(\"legend-mouseout-blob\").call(\n (e) => this.services.transitions.setupTransition({\n transition: e,\n name: \"legend-mouseout-blob\"\n })\n ).style(\"fill-opacity\", Ee.opacity.selected).style(\"stroke-opacity\", 1);\n };\n }\n init() {\n const { events: e } = this.services;\n e.addEventListener(f.Legend.ITEM_HOVER, this.handleLegendOnHover), e.addEventListener(f.Legend.ITEM_MOUSEOUT, this.handleLegendMouseOut);\n }\n render(e = !0) {\n const t = this.getComponentContainer(), { width: s, height: n } = E.getSVGElementSize(t, {\n useAttrs: !0\n }), a = this.model.getData(), i = this.model.getGroupedData(), r = this.getOptions(), l = y(r, \"data\", \"groupMapsTo\"), c = y(r, \"radar\", \"axes\", \"value\"), { angle: d, value: p } = y(r, \"radar\", \"axes\"), { xLabelPadding: h, yLabelPadding: u, yTicksNumber: g, minRange: m, xAxisRectHeight: b } = Ee;\n this.uniqueKeys = Array.from(new Set(a.map((C) => C[d]))), this.uniqueGroups = Array.from(new Set(a.map((C) => C[l]))), this.fullDataNormalized = this.normalizeFlatData(a), this.groupedDataNormalized = this.normalizeGroupedData(i);\n const S = 2 * (this.getLabelDimensions(this.uniqueKeys[0]).height + u), L = (Math.min(s, n) - S) / 2;\n if (L <= 0)\n return;\n const O = Pt().domain(this.fullDataNormalized.map((C) => C[d])).range([0, 2 * Math.PI].map((C) => C - Math.PI / 2)), k = ut(this.fullDataNormalized.map((C) => C[p])), I = Oe().domain([\n k >= 0 ? 0 : k,\n Ht(this.fullDataNormalized.map((C) => C[p]))\n ]).range([m, L]).nice(g), F = I.ticks(g), P = (C) => this.model.getFillColor(C), A = rn().angle((C) => O(C[d]) + Math.PI / 2).radius((C) => I(C[p])).curve(on), w = this.uniqueKeys.map((C) => {\n const R = this.getLabelDimensions(C).width, _ = Vn(\n O(C),\n L\n );\n return R + _;\n }), D = {\n x: Ht(w) + h,\n y: n / 2\n }, re = E.appendOrSelect(t, \"g.y-axes\").attr(\"role\", U.GROUP).selectAll(\"path\").data(F, (C) => C), W = (C) => this.uniqueKeys.map((R) => ({ [d]: R, [p]: C }));\n re.join(\n (C) => C.append(\"path\").attr(\"opacity\", 0).attr(\"transform\", `translate(${D.x}, ${D.y})`).attr(\"fill\", \"none\").call(\n (R) => R.transition().call(\n (_) => this.services.transitions.setupTransition({\n transition: _,\n name: \"radar_y_axes_enter\",\n animate: e\n })\n ).attr(\"opacity\", 1).attr(\"d\", (_) => A(W(_)))\n ),\n (C) => C.call(\n (R) => R.transition().call(\n (_) => this.services.transitions.setupTransition({\n transition: _,\n name: \"radar_y_axes_update\",\n animate: e\n })\n ).attr(\"opacity\", 1).attr(\"transform\", `translate(${D.x}, ${D.y})`).attr(\"d\", (_) => A(W(_)))\n ),\n (C) => C.call(\n (R) => R.transition().call(\n (_) => this.services.transitions.setupTransition({\n transition: _,\n name: \"radar_y_axes_exit\",\n animate: e\n })\n ).attr(\"d\", (_) => A(W(_))).attr(\"opacity\", 0).remove()\n )\n ), E.appendOrSelect(t, \"g.x-axes\").attr(\"role\", U.GROUP).selectAll(\"line\").data(this.uniqueKeys, (C) => C).join(\n (C) => C.append(\"line\").attr(\"opacity\", 0).attr(\"class\", (R) => `x-axis-${we(R)}`).attr(\"stroke-dasharray\", \"0\").attr(\"x1\", (R) => Y(O(R), 0, D).x).attr(\"y1\", (R) => Y(O(R), 0, D).y).attr(\"x2\", (R) => Y(O(R), 0, D).x).attr(\"y2\", (R) => Y(O(R), 0, D).y).call(\n (R) => R.transition().call(\n (_) => this.services.transitions.setupTransition({\n transition: _,\n name: \"radar_x_axes_enter\",\n animate: e\n })\n ).attr(\"opacity\", 1).attr(\"x1\", (_) => Y(O(_), I.range()[0], D).x).attr(\"y1\", (_) => Y(O(_), I.range()[0], D).y).attr(\"x2\", (_) => Y(O(_), I.range()[1], D).x).attr(\"y2\", (_) => Y(O(_), I.range()[1], D).y)\n ),\n (C) => C.call(\n (R) => R.transition().call(\n (_) => this.services.transitions.setupTransition({\n transition: _,\n name: \"radar_x_axes_update\",\n animate: e\n })\n ).attr(\"opacity\", 1).attr(\"x1\", (_) => Y(O(_), I.range()[0], D).x).attr(\"y1\", (_) => Y(O(_), I.range()[0], D).y).attr(\"x2\", (_) => Y(O(_), I.range()[1], D).x).attr(\"y2\", (_) => Y(O(_), I.range()[1], D).y)\n ),\n (C) => C.call(\n (R) => R.transition().call(\n (_) => this.services.transitions.setupTransition({\n transition: _,\n name: \"radar_x_axes_exit\",\n animate: e\n })\n ).attr(\"opacity\", 0).remove()\n )\n ), E.appendOrSelect(t, \"g.x-labels\").attr(\"role\", U.GROUP).selectAll(\"text\").data(this.uniqueKeys).join(\n (C) => C.append(\"text\").text((R) => R).attr(\"opacity\", 0).attr(\n \"x\",\n (R) => Y(O(R), I.range()[1] + h, D).x\n ).attr(\n \"y\",\n (R) => Y(O(R), I.range()[1] + h, D).y\n ).style(\"text-anchor\", (R) => Xt(O(R)).textAnchor).style(\n \"dominant-baseline\",\n (R) => Xt(O(R)).dominantBaseline\n ).call(\n (R) => R.transition().call(\n (_) => this.services.transitions.setupTransition({\n transition: _,\n name: \"radar_x_labels_enter\",\n animate: e\n })\n ).attr(\"opacity\", 1)\n ),\n (C) => C.call(\n (R) => R.transition().call(\n (_) => this.services.transitions.setupTransition({\n transition: _,\n name: \"radar_x_labels_update\",\n animate: e\n })\n ).attr(\"opacity\", 1).attr(\n \"x\",\n (_) => Y(O(_), I.range()[1] + h, D).x\n ).attr(\n \"y\",\n (_) => Y(O(_), I.range()[1] + h, D).y\n ).end().finally(() => {\n const _ = y(r, \"radar\", \"alignment\"), be = this.getAlignmentXOffset(_, t, this.getParent());\n t.attr(\"x\", be);\n })\n ),\n (C) => C.call(\n (R) => R.transition().call(\n (_) => this.services.transitions.setupTransition({\n transition: _,\n name: \"radar_x_labels_exit\",\n animate: e\n })\n ).attr(\"opacity\", 0).remove()\n )\n ), E.appendOrSelect(t, \"g.blobs\").attr(\"role\", U.GROUP).selectAll(\"path\").data(this.groupedDataNormalized, (C) => C.name).join(\n (C) => C.append(\"path\").attr(\n \"class\",\n (R) => this.model.getColorClassName({\n classNameTypes: [$.FILL, $.STROKE],\n dataGroupName: R.name,\n originalClassName: \"blob\"\n })\n ).attr(\"role\", U.GRAPHICS_SYMBOL).attr(\"aria-label\", (R) => R.name).attr(\"opacity\", 0).attr(\n \"transform\",\n e ? () => `translate(${D.x}, ${D.y}) scale(${1 + Math.random() * 0.35})` : `translate(${D.x}, ${D.y})`\n ).style(\"fill\", (R) => P(R.name)).style(\"fill-opacity\", Ee.opacity.selected).style(\"stroke\", (R) => P(R.name)).call((R) => {\n const _ = R.transition().call(\n (be) => this.services.transitions.setupTransition({\n transition: be,\n name: \"radar_blobs_enter\",\n animate: e\n })\n );\n e && _.delay(() => Math.random() * 30).attr(\"transform\", `translate(${D.x}, ${D.y})`), _.attr(\"opacity\", 1).attr(\"d\", (be) => A(be.data));\n }),\n (C) => (C.attr(\n \"class\",\n (R) => this.model.getColorClassName({\n classNameTypes: [$.FILL, $.STROKE],\n dataGroupName: R.name,\n originalClassName: \"blob\"\n })\n ).style(\"fill\", (R) => P(R.name)).style(\"stroke\", (R) => P(R.name)), C.call(\n (R) => R.transition().call(\n (_) => this.services.transitions.setupTransition({\n transition: _,\n name: \"radar_blobs_update\",\n animate: e\n })\n ).attr(\"opacity\", 1).attr(\"transform\", `translate(${D.x}, ${D.y})`).attr(\"d\", (_) => A(_.data))\n ), C),\n (C) => C.call((R) => {\n const _ = R.transition().call(\n (be) => this.services.transitions.setupTransition({\n transition: be,\n name: \"radar_blobs_exit\",\n animate: e\n })\n );\n e && _.delay(() => Math.random() * 30).attr(\n \"transform\",\n () => `translate(${D.x}, ${D.y}) scale(${1 + Math.random() * 0.35})`\n ), _.attr(\"opacity\", 0).remove();\n })\n ), E.appendOrSelect(t, \"g.dots\").attr(\"role\", U.GROUP).selectAll(\"circle\").data(this.fullDataNormalized.filter((C) => y(C, p) !== null)).join(\n (C) => C.append(\"circle\").attr(\"role\", U.GRAPHICS_SYMBOL).attr(\"aria-label\", (R) => R[c]),\n (C) => C,\n (C) => C.remove()\n ).attr(\n \"class\",\n (C) => this.model.getColorClassName({\n classNameTypes: [$.FILL],\n dataGroupName: C[l],\n originalClassName: we(C[d])\n })\n ).attr(\"cx\", (C) => Y(O(C[d]), I(C[p]), D).x).attr(\"cy\", (C) => Y(O(C[d]), I(C[p]), D).y).attr(\"r\", 0).attr(\"opacity\", 0).style(\"fill\", (C) => P(C[l])), E.appendOrSelect(t, \"g.x-axes-rect\").attr(\"role\", U.GROUP).selectAll(\"rect\").data(this.uniqueKeys).join(\n (C) => C.append(\"rect\"),\n (C) => C,\n (C) => C.remove()\n ).attr(\"x\", D.x).attr(\"y\", D.y - b / 2).attr(\"width\", I.range()[1]).attr(\"height\", b).style(\"fill\", \"red\").style(\"fill-opacity\", 0).attr(\"transform\", (C) => `rotate(${Bn(O(C))}, ${D.x}, ${D.y})`), E.appendOrSelect(t, \"g.y-labels\").attr(\"role\", U.GROUP).selectAll(\"text\").data(Qe(F)).join(\n (C) => C.append(\"text\").attr(\"opacity\", 0).text((R) => R).attr(\n \"x\",\n (R) => Y(-Math.PI / 2, I(R), D).x + u\n ).attr(\"y\", (R) => Y(-Math.PI / 2, I(R), D).y).style(\"text-anchor\", \"start\").style(\"dominant-baseline\", \"middle\").call(\n (R) => R.transition().call(\n (_) => this.services.transitions.setupTransition({\n transition: _,\n name: \"radar_y_labels_enter\",\n animate: e\n })\n ).attr(\"opacity\", 1)\n ),\n (C) => C.call(\n (R) => R.transition().call(\n (_) => this.services.transitions.setupTransition({\n transition: _,\n name: \"radar_y_labels_update\",\n animate: e\n })\n ).text((_) => _).attr(\"opacity\", 1).attr(\n \"x\",\n (_) => Y(-Math.PI / 2, I(_), D).x + u\n ).attr(\"y\", (_) => Y(-Math.PI / 2, I(_), D).y)\n ),\n (C) => C.call(\n (R) => R.transition().call(\n (_) => this.services.transitions.setupTransition({\n transition: _,\n name: \"radar_y_labels_exit\",\n animate: e\n })\n ).attr(\"opacity\", 0).remove()\n )\n ), this.addEventListeners();\n }\n getAlignmentXOffset(e, t, s) {\n const n = E.getSVGElementSize(t, {\n useBBox: !0\n }), { width: a } = E.getSVGElementSize(s, {\n useAttrs: !0\n });\n let i = 0;\n return e === ue.CENTER ? i = Math.floor((a - n.width) / 2) : e === ue.RIGHT && (i = a - n.width), i;\n }\n destroy() {\n this.parent.selectAll(\".x-axes-rect > rect\").on(\"mouseover\", null).on(\"mousemove\", null).on(\"mouseout\", null);\n const e = this.services.events;\n e.removeEventListener(f.Legend.ITEM_HOVER, this.handleLegendOnHover), e.removeEventListener(f.Legend.ITEM_MOUSEOUT, this.handleLegendMouseOut);\n }\n addEventListeners() {\n const e = this, {\n axes: { angle: t }\n } = y(this.getOptions(), \"radar\");\n this.parent.selectAll(\".x-axes-rect > rect\").on(\"mouseover\", function(s, n) {\n const a = x(this);\n e.services.events.dispatchEvent(f.Radar.X_AXIS_MOUSEOVER, {\n event: s,\n element: a,\n datum: n\n });\n const i = e.parent.select(`.x-axes .x-axis-${we(n)}`), r = e.parent.selectAll(`.dots circle.${we(n)}`), l = e.model.getActiveDataGroupNames(), c = e.getOptions(), { groupMapsTo: d } = c.data, p = y(c, \"radar\", \"axes\", \"value\");\n i.classed(\"hovered\", !0).attr(\"stroke-dasharray\", \"4 4\"), r.classed(\"hovered\", !0).attr(\n \"opacity\",\n (u) => l.indexOf(u[d]) !== -1 ? 1 : 0\n ).attr(\"r\", Ee.dotsRadius);\n const h = e.fullDataNormalized.filter(\n (u) => u[t] === n && l.indexOf(u[d]) !== -1\n );\n e.services.events.dispatchEvent(f.Tooltip.SHOW, {\n event: s,\n hoveredElement: a,\n items: h.filter((u) => typeof u[p] == \"number\").map((u) => ({\n label: u[d],\n value: u[p],\n color: e.model.getFillColor(u[d]),\n class: e.model.getColorClassName({\n classNameTypes: [$.TOOLTIP],\n dataGroupName: u[d]\n })\n }))\n });\n }).on(\"mousemove\", function(s, n) {\n const a = x(this);\n e.services.events.dispatchEvent(f.Radar.X_AXIS_MOUSEMOVE, {\n event: s,\n element: a,\n datum: n\n }), e.services.events.dispatchEvent(f.Tooltip.MOVE, {\n event: s\n });\n }).on(\"click\", function(s, n) {\n e.services.events.dispatchEvent(f.Radar.X_AXIS_CLICK, {\n event: s,\n element: x(this),\n datum: n\n });\n }).on(\"mouseout\", function(s, n) {\n const a = x(this), i = e.parent.select(`.x-axes .x-axis-${we(n)}`), r = e.parent.selectAll(`.dots circle.${we(n)}`);\n i.classed(\"hovered\", !1).attr(\"stroke-dasharray\", \"0\"), r.classed(\"hovered\", !1).attr(\"opacity\", 0).attr(\"r\", 0), e.services.events.dispatchEvent(f.Radar.X_AXIS_MOUSEOUT, {\n event: s,\n element: a,\n datum: n\n }), e.services.events.dispatchEvent(f.Tooltip.HIDE);\n });\n }\n}\nclass Fc extends Gt {\n constructor() {\n super(...arguments), this.type = \"simple-bar\", this.renderType = H.SVG, this.handleLegendOnHover = (e) => {\n const { hoveredElement: t } = e.detail, { groupMapsTo: s } = this.getOptions().data;\n this.parent.selectAll(\"path.bar\").transition(\"legend-hover-simple-bar\").call(\n (n) => this.services.transitions.setupTransition({\n transition: n,\n name: \"legend-hover-simple-bar\"\n })\n ).attr(\"opacity\", (n) => n[s] !== t.datum().name ? 0.3 : 1);\n }, this.handleLegendMouseOut = () => {\n this.parent.selectAll(\"path.bar\").transition(\"legend-mouseout-simple-bar\").call(\n (e) => this.services.transitions.setupTransition({\n transition: e,\n name: \"legend-mouseout-simple-bar\"\n })\n ).attr(\"opacity\", 1);\n };\n }\n init() {\n const e = this.services.events;\n e.addEventListener(f.Legend.ITEM_HOVER, this.handleLegendOnHover), e.addEventListener(f.Legend.ITEM_MOUSEOUT, this.handleLegendMouseOut);\n }\n render(e) {\n const t = this.getOptions(), { groupMapsTo: s } = t.data, n = this.getComponentContainer({ withinChartClip: !0 }), a = this.model.getDisplayData(this.configs.groups), i = this.services.cartesianScales.getOrientation(), r = n.selectAll(\"path.bar\").data(a, (c) => c[s]);\n r.exit().attr(\"opacity\", 0).remove(), r.enter().append(\"path\").attr(\"opacity\", 0).merge(r).classed(\"bar\", !0).attr(\"width\", this.getBarWidth.bind(this)).transition().call(\n (c) => this.services.transitions.setupTransition({\n transition: c,\n name: \"bar-update-enter\",\n animate: e\n })\n ).attr(\n \"class\",\n (c) => this.model.getColorClassName({\n classNameTypes: [$.FILL],\n dataGroupName: c[s],\n originalClassName: \"bar\"\n })\n ).style(\"fill\", (c) => this.model.getFillColor(c[s])).attr(\"d\", (c) => {\n const d = this.services.cartesianScales.getRangeIdentifier(), p = this.getBarWidth(), h = c[d], u = this.services.cartesianScales.getDomainValue(c) - p / 2, g = u + p;\n let m, b;\n if (Array.isArray(h) && h.length === 2)\n m = this.services.cartesianScales.getRangeValue(h[0]), b = this.services.cartesianScales.getRangeValue(h[1]);\n else {\n const T = this.services.cartesianScales.getRangeScale().domain()[0];\n m = this.services.cartesianScales.getRangeValue(Math.max(0, T)), b = this.services.cartesianScales.getRangeValue(c);\n }\n const v = Math.abs(b - m);\n if (v !== 0 && v < 2 && (h > 0 && i === le.VERTICAL || h < 0 && i === le.HORIZONTAL ? b = m - 2 : b = m + 2), !this.isOutsideZoomedDomain(u, g))\n return ie({ x0: u, x1: g, y0: m, y1: b }, i);\n }).attr(\"opacity\", 1).attr(\"role\", U.GRAPHICS_SYMBOL).attr(\"aria-roledescription\", \"bar\").attr(\"aria-label\", (c) => c.value), this.addEventListeners();\n }\n addEventListeners() {\n const e = this;\n this.parent.selectAll(\"path.bar\").on(\"mouseover\", function(t, s) {\n const n = x(this);\n n.classed(\"hovered\", !0), e.services.events.dispatchEvent(f.Bar.BAR_MOUSEOVER, {\n event: t,\n element: n,\n datum: s\n }), e.services.events.dispatchEvent(f.Tooltip.SHOW, {\n event: t,\n hoveredElement: n,\n data: [s]\n });\n }).on(\"mousemove\", function(t, s) {\n e.services.events.dispatchEvent(f.Bar.BAR_MOUSEMOVE, {\n event: t,\n element: x(this),\n datum: s\n }), e.services.events.dispatchEvent(f.Tooltip.MOVE, {\n event: t\n });\n }).on(\"click\", function(t, s) {\n e.services.events.dispatchEvent(f.Bar.BAR_CLICK, {\n event: t,\n element: x(this),\n datum: s\n });\n }).on(\"mouseout\", function(t, s) {\n const n = x(this);\n n.classed(\"hovered\", !1), e.services.events.dispatchEvent(f.Bar.BAR_MOUSEOUT, {\n event: t,\n element: n,\n datum: s\n }), e.services.events.dispatchEvent(f.Tooltip.HIDE, {\n hoveredElement: n\n });\n });\n }\n destroy() {\n this.parent.selectAll(\"path.bar\").on(\"mouseover\", null).on(\"mousemove\", null).on(\"mouseout\", null);\n const e = this.services.events;\n e.removeEventListener(f.Legend.ITEM_HOVER, this.handleLegendOnHover), e.removeEventListener(f.Legend.ITEM_MOUSEOUT, this.handleLegendMouseOut);\n }\n}\nclass Wc extends lr {\n constructor() {\n super(...arguments), this.type = \"skeleton-lines\";\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n render(e = !0) {\n const t = y(this.getOptions(), \"data\", \"loading\"), s = !y(this.getOptions(), \"grid\", \"x\", \"enabled\") && !y(this.getOptions(), \"grid\", \"y\", \"enabled\") && !y(this.getOptions(), \"axes\", \"bottom\", \"visible\") && !y(this.getOptions(), \"axes\", \"left\", \"visible\");\n t && !s ? super.renderGridSkeleton(t) : t && s ? this.renderSparklineSkeleton(t) : this.removeSkeleton();\n }\n renderSparklineSkeleton(e) {\n this.setScales(), this.drawBackdrop(e), this.drawSparkline(e), this.updateBackdropStyle(), e && this.setShimmerEffect(\"shimmer-lines\");\n }\n drawSparkline(e) {\n const t = this.backdrop.attr(\"width\"), s = [100], n = E.appendOrSelect(this.backdrop, \"g.y.skeleton\"), a = n.selectAll(\"line\").data(s);\n a.enter().append(\"line\").merge(a).attr(\"x1\", 0).attr(\"x2\", t).attr(\"y1\", (i) => i).attr(\"y2\", (i) => i), n.selectAll(\"line\").classed(\"shimmer-effect-lines\", e).classed(\"empty-state-lines\", !e).style(\n \"stroke\",\n e ? `url(#${this.services.domUtils.generateElementIDString(\"shimmer-lines\")})` : null\n );\n }\n updateBackdropStyle() {\n const e = this.parent;\n this.backdrop = E.appendOrSelect(e, \"svg.chart-skeleton.DAII\"), E.appendOrSelect(this.backdrop, \"rect.chart-skeleton-backdrop\").classed(\"shimmer-effect-lines\", !1).classed(\"shimmer-effect-sparkline\", !0).style(\"stroke\", null);\n }\n}\nclass jc extends z {\n constructor() {\n super(...arguments), this.type = \"area-stacked\", this.renderType = H.SVG, this.handleLegendOnHover = (e) => {\n const { hoveredElement: t } = e.detail, s = this.getOptions(), { groupMapsTo: n } = s.data;\n this.parent.selectAll(\"path.area\").transition(\"legend-hover-area\").call(\n (a) => this.services.transitions.setupTransition({\n transition: a,\n name: \"legend-hover-area\"\n })\n ).attr(\"opacity\", (a) => y(a, 0, n) !== t.datum().name ? fe.opacity.unselected : fe.opacity.selected);\n }, this.handleLegendMouseOut = () => {\n this.parent.selectAll(\"path.area\").transition(\"legend-mouseout-area\").call(\n (e) => this.services.transitions.setupTransition({\n transition: e,\n name: \"legend-mouseout-area\"\n })\n ).attr(\"opacity\", fe.opacity.selected);\n };\n }\n init() {\n const e = this.services.events;\n e.addEventListener(f.Legend.ITEM_HOVER, this.handleLegendOnHover), e.addEventListener(f.Legend.ITEM_MOUSEOUT, this.handleLegendMouseOut);\n }\n render(e = !0) {\n const t = this.getComponentContainer({ withinChartClip: !0 }), s = this, n = this.getOptions(), { groupMapsTo: a } = n.data, i = Object.keys(n.axes).some((g) => n.axes[g].percentage), r = this.model.getStackedData({\n percentage: i,\n groups: this.configs.groups\n }), l = y(r, 0, 0), c = this.services.cartesianScales.getDomainAxisPosition({ datum: l }), d = this.services.cartesianScales.getRangeAxisPosition({ datum: l }), p = this.services.cartesianScales.getScaleByPosition(d), h = t.selectAll(\"path.area\").data(r, (g) => y(g, 0, a));\n this.areaGenerator = It().x(\n (g) => this.services.cartesianScales.getValueThroughAxisPosition(\n c,\n g.data.sharedStackKey\n )\n ).y0((g) => p(g[0])).y1((g) => p(g[1])).curve(this.services.curves.getD3Curve()), h.exit().attr(\"opacity\", 0).remove(), h.enter().append(\"path\").attr(\"opacity\", 0).merge(h).data(r, (g) => y(g, 0, a)).attr(\"class\", \"area\").attr(\n \"class\",\n (g) => this.model.getColorClassName({\n classNameTypes: [$.FILL],\n dataGroupName: y(g, 0, a),\n originalClassName: \"area\"\n })\n ).style(\"fill\", (g) => s.model.getFillColor(y(g, 0, a))).attr(\"role\", U.GRAPHICS_SYMBOL).attr(\"aria-roledescription\", \"area\").attr(\"aria-label\", (g) => y(g, 0, a)).transition().call(\n (g) => this.services.transitions.setupTransition({\n transition: g,\n name: \"area-update-enter\",\n animate: e\n })\n ).attr(\"opacity\", fe.opacity.selected).attr(\"d\", this.areaGenerator);\n }\n}\nclass Zc extends Gt {\n constructor() {\n super(...arguments), this.type = \"stacked-bar\", this.renderType = H.SVG, this.handleLegendOnHover = (e) => {\n const { hoveredElement: t } = e.detail, { groupMapsTo: s } = this.model.getOptions().data;\n this.parent.selectAll(\"path.bar\").transition(\"legend-hover-bar\").call(\n (n) => this.services.transitions.setupTransition({\n transition: n,\n name: \"legend-hover-bar\"\n })\n ).attr(\"opacity\", (n) => n[s] !== t.datum().name ? 0.3 : 1);\n }, this.handleLegendMouseOut = () => {\n this.parent.selectAll(\"path.bar\").transition(\"legend-mouseout-bar\").call(\n (e) => this.services.transitions.setupTransition({\n transition: e,\n name: \"legend-mouseout-bar\"\n })\n ).attr(\"opacity\", 1);\n };\n }\n init() {\n const e = this.services.events;\n e.addEventListener(f.Legend.ITEM_HOVER, this.handleLegendOnHover), e.addEventListener(f.Legend.ITEM_MOUSEOUT, this.handleLegendMouseOut);\n }\n render(e) {\n const t = this.getComponentContainer({ withinChartClip: !0 }), s = this.getOptions(), { groupMapsTo: n } = s.data, a = this.model.getStackedData({\n groups: this.configs.groups,\n divergent: !0\n }), i = this.model.getActiveDataGroupNames(), r = t.selectAll(\"g.bars\").data(a, (c) => y(c, 0, n));\n r.exit().attr(\"opacity\", 0).remove(), r.enter().append(\"g\").classed(\"bars\", !0).attr(\"role\", U.GROUP).attr(\"data-name\", \"bars\");\n const l = t.selectAll(\"g.bars\").selectAll(\"path.bar\").data(\n (c) => c,\n (c) => c.data.sharedStackKey\n );\n l.exit().remove(), l.enter().append(\"path\").merge(l).classed(\"bar\", !0).transition().call(\n (c) => this.services.transitions.setupTransition({\n transition: c,\n name: \"bar-update-enter\",\n animate: e\n })\n ).attr(\n \"class\",\n (c) => this.model.getColorClassName({\n classNameTypes: [$.FILL],\n dataGroupName: c[n],\n originalClassName: \"bar\"\n })\n ).style(\"fill\", (c) => this.model.getFillColor(c[n])).attr(\"d\", (c) => {\n const d = c.data.sharedStackKey, p = this.getBarWidth(), h = this.services.cartesianScales.getDomainValue(d) - p / 2, u = h + p, g = this.services.cartesianScales.getRangeValue(c[0]);\n let m = this.services.cartesianScales.getRangeValue(c[1]);\n if (!this.isOutsideZoomedDomain(h, u)) {\n if (Math.abs(m - g) > 0 && Math.abs(m - g) > s.bars.dividerSize) {\n const b = c[0] < 0 && c[1] <= 0;\n b && i.length > 1 ? this.services.cartesianScales.getOrientation() === le.VERTICAL ? m += c[1] === 0 ? 2 : 1 : m -= 1 : b || (this.services.cartesianScales.getOrientation() === le.VERTICAL ? m += 1 : m -= 1);\n }\n return ie(\n { x0: h, x1: u, y0: g, y1: m },\n this.services.cartesianScales.getOrientation()\n );\n }\n }).attr(\"opacity\", 1).attr(\"role\", U.GRAPHICS_SYMBOL).attr(\"aria-roledescription\", \"bar\").attr(\"aria-label\", (c) => c[1] - c[0]), this.addEventListeners();\n }\n addEventListeners() {\n const e = this.getOptions(), { groupMapsTo: t } = e.data, s = this;\n this.parent.selectAll(\"path.bar\").on(\"mouseover\", function(n, a) {\n const i = x(this);\n i.classed(\"hovered\", !0), s.services.events.dispatchEvent(f.Bar.BAR_MOUSEOVER, {\n event: n,\n element: i,\n datum: a\n });\n let l = s.model.getDisplayData(s.configs.groups).find((c) => {\n const d = s.services.cartesianScales.getDomainIdentifier(c), p = s.services.cartesianScales.getRangeIdentifier(c);\n return c[p] === a.data[a[t]] && c[d].toString() === a.data.sharedStackKey && c[t] === a[t];\n });\n if (l === void 0) {\n const c = s.services.cartesianScales.getDomainIdentifier(), d = s.services.cartesianScales.getRangeIdentifier();\n l = {\n [c]: a.data.sharedStackKey,\n [d]: a.data[a[t]],\n [t]: a[t]\n };\n }\n s.services.events.dispatchEvent(f.Tooltip.SHOW, {\n event: n,\n hoveredElement: i,\n data: [l]\n });\n }).on(\"mousemove\", function(n, a) {\n const i = x(this);\n s.services.events.dispatchEvent(f.Bar.BAR_MOUSEMOVE, {\n event: n,\n element: i,\n datum: a\n }), s.services.events.dispatchEvent(f.Tooltip.MOVE, {\n event: n\n });\n }).on(\"click\", function(n, a) {\n s.services.events.dispatchEvent(f.Bar.BAR_CLICK, {\n event: n,\n element: x(this),\n datum: a\n });\n }).on(\"mouseout\", function(n, a) {\n const i = x(this);\n i.classed(\"hovered\", !1), s.services.events.dispatchEvent(f.Bar.BAR_MOUSEOUT, {\n event: n,\n element: i,\n datum: a\n }), s.services.events.dispatchEvent(f.Tooltip.HIDE, {\n hoveredElement: i\n });\n });\n }\n getBarWidth() {\n const e = this.getOptions();\n if (y(e, \"bars\", \"width\"))\n return e.bars.width;\n const t = this.services.cartesianScales.getMainXScale(), s = E.getSVGElementSize(this.parent, {\n useAttrs: !0\n }).width, n = this.model.getStackKeys().length, a = y(e, \"bars\", \"spacingFactor\");\n return t.step ? Math.min(e.bars.maxWidth, t.step() / 2) : Math.min(e.bars.maxWidth, s * a / n);\n }\n destroy() {\n this.parent.selectAll(\"path.bar\").on(\"mouseover\", null).on(\"mousemove\", null).on(\"mouseout\", null);\n const e = this.services.events;\n e.removeEventListener(f.Legend.ITEM_HOVER, this.handleLegendOnHover), e.removeEventListener(f.Legend.ITEM_MOUSEOUT, this.handleLegendMouseOut);\n }\n}\nclass Xc extends Bt {\n constructor() {\n super(...arguments), this.type = \"scatter-stacked\", this.renderType = H.SVG;\n }\n render(e) {\n if (!y(this.getOptions(), \"points\", \"enabled\"))\n return;\n const s = this.getComponentContainer({ withinChartClip: !0 }), n = this.getOptions(), { groupMapsTo: a } = n.data, i = Object.keys(n.axes).some((u) => n.axes[u].percentage), r = this.model.getStackedData({\n groups: this.configs.groups,\n percentage: i\n }), l = s.selectAll(\"g.dots\").data(r, (u) => y(u, 0, a));\n l.exit().attr(\"opacity\", 0).remove();\n const d = l.enter().append(\"g\").classed(\"dots\", !0).attr(\"role\", U.GROUP).merge(l).selectAll(\"circle.dot\").data((u) => u);\n d.exit().attr(\"opacity\", 0).remove();\n const h = d.enter().append(\"circle\").classed(\"dot\", !0).attr(\"opacity\", 0).merge(d).datum((u) => {\n const g = u[a], m = this.services.cartesianScales.getDomainIdentifier(u), b = this.services.cartesianScales.getRangeIdentifier(u);\n return {\n [a]: g,\n [m]: u.data.sharedStackKey,\n [b]: u[1]\n };\n });\n this.styleCircles(h, e), this.addEventListeners();\n }\n getTooltipData(e, t) {\n const s = this.getOptions(), { groupMapsTo: n } = s.data, a = Object.keys(s.axes).some((l) => s.axes[l].percentage), i = this.model.getStackedData({\n groups: this.configs.groups,\n percentage: a\n }), r = [];\n return i.forEach((l, c) => {\n l.forEach((d, p) => {\n const h = d[n], u = d.data.sharedStackKey;\n let g = d.data[h];\n const m = d[1], b = this.services.cartesianScales.getDomainIdentifier(d), v = this.services.cartesianScales.getRangeIdentifier(d);\n g != null && e === this.services.cartesianScales.getDomainValue(u) && t === this.services.cartesianScales.getRangeValue(m) && (a && (g = this.model.getStackedData({\n groups: this.configs.groups\n })[c][p].data[h]), g !== null && r.push({\n [n]: h,\n [b]: u,\n [v]: g\n }));\n });\n }), this.model.getDisplayData(this.configs.groups).filter((l) => {\n const c = this.services.cartesianScales.getDomainIdentifier(l), d = this.services.cartesianScales.getRangeIdentifier(l);\n return r.find((p) => p[n] == l[n] && p[c] == l[c] && p[d] == l[d]) !== void 0;\n });\n }\n}\nconst Ae = 6;\nclass Yc extends z {\n constructor() {\n super(...arguments), this.type = \"tree\", this.renderType = H.SVG;\n }\n getLongestLabel(e) {\n let t = \"\";\n return e.forEach((s) => {\n const n = s.children ? this.getLongestLabel(s.children) : \"\";\n (n.length > t.length || s.name.length > t.length) && (t = n.length > s.name.length ? n : s.name);\n }), t;\n }\n getMockLabelWidth(e, t) {\n const s = e.append(\"text\").attr(\"dy\", \"0.31em\").attr(\"x\", 0).attr(\"text-anchor\", \"end\").text(t), { width: n } = E.getSVGElementSize(s.node(), {\n useBBox: !0\n });\n return s.remove(), n;\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n render(e = !0) {\n const t = this.getComponentContainer();\n t.html(\"\");\n const { width: s, height: n } = E.getSVGElementSize(this.parent, {\n useAttrs: !0\n });\n if (s < 1 || n < 1)\n return;\n const a = this.model.getOptions(), i = this.model.getDisplayData(), r = y(a, \"tree\", \"rootTitle\") || \"Tree\", l = this.getMockLabelWidth(t, r), c = this.getLongestLabel(i), d = this.getMockLabelWidth(t, c), p = {\n top: 0,\n right: 0,\n bottom: 0,\n left: l > 0 ? l + Ae : 30 - Ae\n }, h = Vt({\n name: r,\n children: i\n }), u = 10, g = s / 6, m = (O) => {\n const k = h.descendants().reverse(), I = h.links();\n let F = h, P = h;\n h.eachBefore((N) => {\n N.x < F.x && (F = N), N.x > P.x && (P = N);\n });\n const A = P.x - F.x, w = t.transition().call(\n (N) => this.services.transitions.setupTransition({\n transition: N,\n name: \"tree-update-viewbox\",\n animate: !0\n })\n ).attr(\"viewBox\", [-p.left, F.x, s, A].join(\" \")), G = L.selectAll(\"g\").data(k, (N) => N.id), D = this, X = G.enter().append(\"g\").attr(\"transform\", () => `translate(${O.y0},${O.x0})`).attr(\n \"class\",\n (N) => N.depth !== 0 && N.children && N.children.length > 0 ? \"clickable\" : null\n ).on(\"mouseover\", function(N, ae) {\n D.services.events.dispatchEvent(f.Tree.NODE_MOUSEOVER, {\n event: N,\n element: x(this),\n datum: ae\n });\n }).on(\"click\", function(N, ae) {\n ae.depth !== 0 && (ae.children = ae.children ? null : ae._children, m(ae)), D.services.events.dispatchEvent(f.Tree.NODE_CLICK, {\n event: N,\n element: x(this),\n datum: ae\n });\n }).on(\"mouseout\", function(N, ae) {\n D.services.events.dispatchEvent(f.Tree.NODE_MOUSEOUT, {\n event: N,\n element: x(this),\n datum: ae\n });\n });\n X.append(\"circle\").attr(\"r\", 2.5).attr(\"class\", (N) => N._children ? \"parent\" : \"child\").attr(\"stroke-width\", 10), X.append(\"text\").attr(\"dy\", \"0.31em\").attr(\"x\", (N) => N._children ? -Ae : Ae).attr(\"text-anchor\", (N) => N._children ? \"end\" : \"start\").text((N) => N.data.name).clone(!0).attr(\"class\", \"text-stroke\").lower(), G.merge(X).transition(w).attr(\"transform\", (N) => `translate(${N.y},${N.x})`).attr(\"fill-opacity\", 1).attr(\"stroke-opacity\", 1), G.exit().transition(w).remove().attr(\"transform\", () => `translate(${O.y},${O.x})`).attr(\"fill-opacity\", 0).attr(\"stroke-opacity\", 0);\n const re = M.selectAll(\"path\").data(I, (N) => N.target.id), W = re.enter().append(\"path\").attr(\"d\", () => {\n const N = { x: O.x0, y: O.y0 };\n return T({ source: N, target: N });\n });\n re.merge(W).transition(w).attr(\"d\", T), re.exit().transition(w).remove().attr(\"d\", () => {\n const N = { x: O.x, y: O.y };\n return T({ source: N, target: N });\n }), h.eachBefore((N) => {\n N.x0 = N.x, N.y0 = N.y;\n });\n }, b = h.descendants(), v = b[b.length - 1].depth, S = y(a, \"tree\", \"type\") === Pn.DENDROGRAM ? ln().size([\n n,\n s - d - v * Ae - l\n ]) : cn().nodeSize([u, g]).size([\n n,\n s - d - v * Ae - l\n ]), T = dn().x((O) => O.y).y((O) => O.x);\n h.x0 = g / 2, h.y0 = 0, h.descendants().forEach((O, k) => {\n O.id = k, O._children = O.children;\n }), S(h), t.attr(\"viewBox\", [-p.left, -p.top, s, u]).style(\"user-select\", \"none\");\n const M = t.append(\"g\").attr(\"class\", \"links\"), L = t.append(\"g\").attr(\"class\", \"nodes\");\n m(h);\n }\n}\nvar br = \"#000000\", Er = \"#ffffff\", Sr = \"#fcf4d6\", xr = \"#fddc69\", Or = \"#f1c21b\", Tr = \"#d2a106\", Lr = \"#b28600\", wr = \"#8e6a00\", Mr = \"#684e00\", Ar = \"#483700\", Cr = \"#302400\", kr = \"#1c1500\", Ir = {\n 10: Sr,\n 20: xr,\n 30: Or,\n 40: Tr,\n 50: Lr,\n 60: wr,\n 70: Mr,\n 80: Ar,\n 90: Cr,\n 100: kr\n}, Rr = \"#fff2e8\", Dr = \"#ffd9be\", _r = \"#ffb784\", Pr = \"#ff832b\", Vr = \"#eb6200\", Br = \"#ba4e00\", $r = \"#8a3800\", Gr = \"#5e2900\", Nr = \"#3e1a00\", Hr = \"#231000\", Ur = {\n 10: Rr,\n 20: Dr,\n 30: _r,\n 40: Pr,\n 50: Vr,\n 60: Br,\n 70: $r,\n 80: Gr,\n 90: Nr,\n 100: Hr\n}, zr = \"#fff1f1\", Fr = \"#ffd7d9\", Wr = \"#ffb3b8\", jr = \"#ff8389\", Zr = \"#fa4d56\", Xr = \"#da1e28\", Yr = \"#a2191f\", qr = \"#750e13\", Kr = \"#520408\", Jr = \"#2d0709\", Qr = {\n 10: zr,\n 20: Fr,\n 30: Wr,\n 40: jr,\n 50: Zr,\n 60: Xr,\n 70: Yr,\n 80: qr,\n 90: Kr,\n 100: Jr\n}, eo = \"#fff0f7\", to = \"#ffd6e8\", so = \"#ffafd2\", no = \"#ff7eb6\", ao = \"#ee5396\", io = \"#d02670\", ro = \"#9f1853\", oo = \"#740937\", lo = \"#510224\", co = \"#2a0a18\", ho = {\n 10: eo,\n 20: to,\n 30: so,\n 40: no,\n 50: ao,\n 60: io,\n 70: ro,\n 80: oo,\n 90: lo,\n 100: co\n}, uo = \"#f6f2ff\", po = \"#e8daff\", go = \"#d4bbff\", mo = \"#be95ff\", fo = \"#a56eff\", vo = \"#8a3ffc\", yo = \"#6929c4\", bo = \"#491d8b\", Eo = \"#31135e\", So = \"#1c0f30\", xo = {\n 10: uo,\n 20: po,\n 30: go,\n 40: mo,\n 50: fo,\n 60: vo,\n 70: yo,\n 80: bo,\n 90: Eo,\n 100: So\n}, Oo = \"#edf5ff\", To = \"#d0e2ff\", Lo = \"#a6c8ff\", wo = \"#78a9ff\", Mo = \"#4589ff\", Ao = \"#0f62fe\", Co = \"#0043ce\", ko = \"#002d9c\", Io = \"#001d6c\", Ro = \"#001141\", Do = {\n 10: Oo,\n 20: To,\n 30: Lo,\n 40: wo,\n 50: Mo,\n 60: Ao,\n 70: Co,\n 80: ko,\n 90: Io,\n 100: Ro\n}, _o = \"#e5f6ff\", Po = \"#bae6ff\", Vo = \"#82cfff\", Bo = \"#33b1ff\", $o = \"#1192e8\", Go = \"#0072c3\", No = \"#00539a\", Ho = \"#003a6d\", Uo = \"#012749\", zo = \"#061727\", Fo = {\n 10: _o,\n 20: Po,\n 30: Vo,\n 40: Bo,\n 50: $o,\n 60: Go,\n 70: No,\n 80: Ho,\n 90: Uo,\n 100: zo\n}, Wo = \"#d9fbfb\", jo = \"#9ef0f0\", Zo = \"#3ddbd9\", Xo = \"#08bdba\", Yo = \"#009d9a\", qo = \"#007d79\", Ko = \"#005d5d\", Jo = \"#004144\", Qo = \"#022b30\", el = \"#081a1c\", tl = {\n 10: Wo,\n 20: jo,\n 30: Zo,\n 40: Xo,\n 50: Yo,\n 60: qo,\n 70: Ko,\n 80: Jo,\n 90: Qo,\n 100: el\n}, sl = \"#defbe6\", nl = \"#a7f0ba\", al = \"#6fdc8c\", il = \"#42be65\", rl = \"#24a148\", ol = \"#198038\", ll = \"#0e6027\", cl = \"#044317\", dl = \"#022d0d\", hl = \"#071908\", ul = {\n 10: sl,\n 20: nl,\n 30: al,\n 40: il,\n 50: rl,\n 60: ol,\n 70: ll,\n 80: cl,\n 90: dl,\n 100: hl\n}, pl = \"#f2f4f8\", gl = \"#dde1e6\", ml = \"#c1c7cd\", fl = \"#a2a9b0\", vl = \"#878d96\", yl = \"#697077\", bl = \"#4d5358\", El = \"#343a3f\", Sl = \"#21272a\", xl = \"#121619\", Ol = {\n 10: pl,\n 20: gl,\n 30: ml,\n 40: fl,\n 50: vl,\n 60: yl,\n 70: bl,\n 80: El,\n 90: Sl,\n 100: xl\n}, Tl = \"#f4f4f4\", Ll = \"#e0e0e0\", wl = \"#c6c6c6\", Ml = \"#a8a8a8\", Al = \"#8d8d8d\", Cl = \"#6f6f6f\", kl = \"#525252\", Il = \"#393939\", Rl = \"#262626\", Dl = \"#161616\", _l = {\n 10: Tl,\n 20: Ll,\n 30: wl,\n 40: Ml,\n 50: Al,\n 60: Cl,\n 70: kl,\n 80: Il,\n 90: Rl,\n 100: Dl\n}, Pl = \"#f7f3f2\", Vl = \"#e5e0df\", Bl = \"#cac5c4\", $l = \"#ada8a8\", Gl = \"#8f8b8b\", Nl = \"#726e6e\", Hl = \"#565151\", Ul = \"#3c3838\", zl = \"#272525\", Fl = \"#171414\", Wl = {\n 10: Pl,\n 20: Vl,\n 30: Bl,\n 40: $l,\n 50: Gl,\n 60: Nl,\n 70: Hl,\n 80: Ul,\n 90: zl,\n 100: Fl\n}, ps = {\n black: {\n 100: br\n },\n blue: Do,\n coolGray: Ol,\n cyan: Fo,\n gray: _l,\n green: ul,\n magenta: ho,\n orange: Ur,\n purple: xo,\n red: Qr,\n teal: tl,\n warmGray: Wl,\n white: {\n 0: Er\n },\n yellow: Ir\n};\nconst jl = (o) => {\n if (!o)\n return null;\n for (const e of Object.keys(ps)) {\n const t = ps[e];\n for (const s of Object.keys(t))\n if (t[+s] === o)\n return s;\n }\n return null;\n}, gs = function() {\n const o = x(this.parentNode).select(\"rect.leaf\"), e = getComputedStyle(o.node(), null).getPropertyValue(\n \"fill\"\n ), t = bs(e);\n let s;\n if (t && (s = jl(t ? t.hex() : null)), s == null) {\n const n = ys(t).l;\n s = Math.abs(n * 100 - 100);\n }\n return s > 50 ? \"white\" : \"black\";\n};\nlet Zl = 0;\nclass qc extends z {\n constructor() {\n super(...arguments), this.type = \"treemap\", this.renderType = H.SVG, this.handleLegendOnHover = (e) => {\n const { hoveredElement: t } = e.detail;\n this.parent.selectAll(\"g[data-name='leaf']\").transition(\"legend-hover-treemap\").call(\n (s) => this.services.transitions.setupTransition({\n transition: s,\n name: \"legend-hover-treemap\"\n })\n ).attr(\n \"opacity\",\n (s) => s.parent.data.name === t.datum().name ? 1 : 0.3\n );\n }, this.handleLegendMouseOut = () => {\n this.parent.selectAll(\"g[data-name='leaf']\").transition(\"legend-mouseout-treemap\").call(\n (e) => this.services.transitions.setupTransition({\n transition: e,\n name: \"legend-mouseout-treemap\"\n })\n ).attr(\"opacity\", 1);\n };\n }\n init() {\n const { events: e } = this.services;\n e.addEventListener(f.Legend.ITEM_HOVER, this.handleLegendOnHover), e.addEventListener(f.Legend.ITEM_MOUSEOUT, this.handleLegendMouseOut);\n }\n render(e = !0) {\n const t = this.getComponentContainer();\n this.model.getData();\n const s = this.model.getDisplayData(), n = this.model.getOptions(), a = y(window, \"location\"), { width: i, height: r } = E.getSVGElementSize(t, {\n useAttrs: !0\n }), l = Vt({\n name: n.title || \"Treemap\",\n children: s\n }).sum((m) => m.value).sort((m, b) => b.value - m.value), c = hn().size([i, r]).paddingInner(1).paddingOuter(0).round(!0)(\n l\n ), d = t.selectAll(\"g[data-name='leaf']\").data(c.leaves(), (m) => m.data.name);\n d.exit().attr(\"opacity\", 0).remove();\n const h = d.enter().append(\"g\").attr(\"data-name\", \"leaf\").attr(\"data-uid\", () => Zl++).merge(d);\n h.attr(\"data-name\", \"leaf\").transition().call(\n (m) => this.services.transitions.setupTransition({\n transition: m,\n name: \"treemap-group-update\",\n animate: e\n })\n ).attr(\"transform\", (m) => `translate(${m.x0},${m.y0})`);\n const u = h.selectAll(\"rect.leaf\").data((m) => [m]);\n u.exit().attr(\"width\", 0).attr(\"height\", 0).remove(), u.enter().append(\"rect\").classed(\"leaf\", !0).merge(u).attr(\"width\", 0).attr(\"height\", 0).attr(\"id\", function() {\n const m = x(this.parentNode).attr(\"data-uid\");\n return `${n.style.prefix}-leaf-${m}`;\n }).attr(\"class\", (m) => {\n for (; m.depth > 1; )\n m = m.parent;\n return this.model.getColorClassName({\n classNameTypes: [$.FILL],\n dataGroupName: m.data.name,\n originalClassName: \"leaf\"\n });\n }).transition().call(\n (m) => this.services.transitions.setupTransition({\n transition: m,\n name: \"treemap-leaf-update-enter\",\n animate: e\n })\n ).attr(\"width\", (m) => m.x1 - m.x0).attr(\"height\", (m) => m.y1 - m.y0).style(\"fill\", (m) => {\n for (; m.depth > 1; )\n m = m.parent;\n return this.model.getFillColor(m.data.name);\n }), h.selectAll(\"clipPath\").data(\n (m) => m.data.showLabel !== !0 ? [] : [1],\n (m) => m\n ).join(\n (m) => m.append(\"clipPath\").attr(\"id\", function() {\n const b = x(this.parentNode).attr(\"data-uid\");\n return `${n.style.prefix}-clip-${b}`;\n }).append(\"use\").attr(\"xlink:href\", function() {\n const b = x(this.parentNode.parentNode).attr(\"data-uid\"), v = `${n.style.prefix}-leaf-${b}`;\n return new URL(`#${v}`, a) + \"\";\n }),\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n (m) => null,\n (m) => m.remove()\n ), h.selectAll(\"text\").data(\n (m) => {\n if (m.data.showLabel !== !0)\n return [];\n let b = m;\n for (; b.depth > 1; )\n b = b.parent;\n const v = ys(this.model.getFillColor(b.data.name));\n return [\n {\n text: m.data.name,\n color: v.l < 0.5 ? \"white\" : \"black\"\n }\n ];\n },\n (m) => m\n ).join(\n (m) => {\n const b = m.append(\"text\").text((v) => v.text).style(\"fill\", gs).attr(\"x\", 7).attr(\"y\", 18);\n return a && b.attr(\"clip-path\", function() {\n const v = x(this.parentNode).attr(\"data-uid\"), S = `${n.style.prefix}-clip-${v}`;\n return `url(${new URL(`#${S}`, a) + \"\"})`;\n }), b;\n },\n (m) => m.text((b) => b.text).style(\"fill\", gs),\n (m) => m.remove()\n ), this.addEventListeners();\n }\n addEventListeners() {\n const e = this;\n this.parent.selectAll(\"rect.leaf\").on(\"mouseover\", function(t, s) {\n const n = x(this);\n let a = getComputedStyle(this, null).getPropertyValue(\"fill\"), i = s;\n for (; i.depth > 1; )\n i = i.parent;\n n.transition(\"graph_element_mouseover_fill_update\").call(\n (r) => e.services.transitions.setupTransition({\n transition: r,\n name: \"graph_element_mouseover_fill_update\"\n })\n ).style(\"fill\", (r) => {\n const l = e.model.getFillColor(r.parent.data.name);\n return l && (a = l), bs(a).darker(0.7).toString();\n }), e.services.events.dispatchEvent(f.Tooltip.SHOW, {\n event: t,\n hoveredElement: n,\n items: [\n {\n color: a,\n label: i.data.name,\n bold: !0\n },\n {\n label: s.data.name,\n value: s.data.value\n }\n ]\n }), e.services.events.dispatchEvent(f.Treemap.LEAF_MOUSEOVER, {\n event: t,\n element: n,\n datum: s\n });\n }).on(\"mousemove\", function(t, s) {\n const n = x(this);\n e.services.events.dispatchEvent(f.Treemap.LEAF_MOUSEMOVE, {\n event: t,\n element: n,\n datum: s\n }), e.services.events.dispatchEvent(f.Tooltip.MOVE, {\n event: t\n });\n }).on(\"click\", function(t, s) {\n e.services.events.dispatchEvent(f.Treemap.LEAF_CLICK, {\n event: t,\n element: x(this),\n datum: s\n });\n }).on(\"mouseout\", function(t, s) {\n const n = x(this);\n n.classed(\"hovered\", !1);\n let a = s;\n for (; a.depth > 1; )\n a = a.parent;\n n.transition().call(\n (i) => e.services.transitions.setupTransition({\n transition: i,\n name: \"graph_element_mouseout_fill_update\"\n })\n ).style(\"fill\", (i) => e.model.getFillColor(i.parent.data.name)), e.services.events.dispatchEvent(f.Treemap.LEAF_MOUSEOUT, {\n event: t,\n element: n,\n datum: s\n }), e.services.events.dispatchEvent(f.Tooltip.HIDE, {\n hoveredElement: n\n });\n });\n }\n}\nclass Kc extends z {\n constructor() {\n super(...arguments), this.type = \"wordcloud\", this.renderType = H.SVG, this.handleLegendOnHover = (e) => {\n const { hoveredElement: t } = e.detail, { groupMapsTo: s } = this.getOptions().data;\n this.parent.selectAll(\"text.word\").transition(\"legend-hover-wordcloud\").call(\n (n) => this.services.transitions.setupTransition({\n transition: n,\n name: \"legend-hover-wordcloud\"\n })\n ).attr(\"opacity\", (n) => n[s] !== t.datum().name ? 0.3 : 1);\n }, this.handleLegendMouseOut = () => {\n this.parent.selectAll(\"text.word\").transition(\"legend-mouseout-wordcloud\").call(\n (e) => this.services.transitions.setupTransition({\n transition: e,\n name: \"legend-mouseout-wordcloud\"\n })\n ).attr(\"opacity\", 1);\n };\n }\n init() {\n const e = this.services.events;\n e.addEventListener(f.Legend.ITEM_HOVER, this.handleLegendOnHover), e.addEventListener(f.Legend.ITEM_MOUSEOUT, this.handleLegendMouseOut);\n }\n render(e = !0) {\n const t = this, s = this.getComponentContainer().attr(\"width\", \"100%\").attr(\"height\", \"100%\"), n = this.model.getDisplayData(), a = this.getFontSizeScale(n), i = this.getOptions(), { fontSizeMapsTo: r, wordMapsTo: l } = i.wordCloud, { groupMapsTo: c } = i.data, { width: d, height: p } = E.getSVGElementSize(s, {\n useAttrs: !0\n });\n if (d === 0 || p === 0)\n return;\n const h = zn().size([d, p]).words(\n n.map(function(g) {\n const m = g[r];\n if (typeof g[r] != \"number\")\n throw Error(\n \"Badly formatted WordCloud data. `value` should only be an integer or float\"\n );\n return {\n [c]: g[c],\n text: g[l],\n size: m,\n value: m\n };\n })\n ).padding(5).rotate(0).fontSize((g) => a(g.size)).on(\"end\", u);\n h.start();\n function u(g) {\n const m = E.appendOrSelect(s, \"g.words\");\n m.attr(\"transform\", `translate(${h.size()[0] / 2}, ${h.size()[1] / 2})`);\n const b = m.selectAll(\"text\").data(g, (S) => `${S[c]}-${S.text}`);\n b.exit().attr(\"opacity\", 0).remove(), b.enter().append(\"text\").attr(\"opacity\", 0).merge(b).style(\"font-size\", (S) => `${S.size}px`).text(function(S) {\n return S.text;\n }).attr(\n \"class\",\n (S) => t.model.getColorClassName({\n classNameTypes: [$.FILL],\n dataGroupName: S[c],\n originalClassName: `word ${S.size > 32 ? \"light\" : \"\"}`\n })\n ).style(\"fill\", (S) => t.model.getFillColor(S[c], S.text, S)).attr(\"text-anchor\", \"middle\").transition().call(\n (S) => t.services.transitions.setupTransition({\n transition: S,\n name: \"wordcloud-text-update-enter\",\n animate: e\n })\n ).attr(\"transform\", (S) => `translate(${S.x}, ${S.y})`).attr(\"opacity\", 1);\n }\n this.addEventListeners();\n }\n getFontSizeScale(e) {\n const t = this.getOptions(), { fontSizeMapsTo: s } = t.wordCloud, n = e.map((l) => l[s]).filter((l) => l), a = E.getHTMLElementSize(this.services.domUtils.getMainContainer()), i = n.length > 0, r = i ? Qe(n) : [1, 1];\n return Oe().domain(r).range(i ? t.wordCloud.fontSizeRange(a, e) : [4, 4]);\n }\n addEventListeners() {\n const e = this.getOptions(), { groupMapsTo: t } = e.data, s = this, n = mt((a) => {\n const i = s.parent.selectAll(\"text.word\").transition(\"wordcloud-word-mouse-highlight\").call(\n (r) => s.services.transitions.setupTransition({\n transition: r,\n name: \"wordcloud-word-mouse-highlight\"\n })\n );\n a === null ? i.attr(\"opacity\", 1) : i.attr(\"opacity\", function() {\n return a === this ? 1 : 0.3;\n });\n }, 6);\n this.parent.selectAll(\"text.word\").on(\"mouseover\", function(a, i) {\n const r = this;\n n(r), s.services.events.dispatchEvent(f.WordCloud.WORD_MOUSEOVER, {\n event: a,\n element: x(this),\n datum: i\n }), s.services.events.dispatchEvent(f.Tooltip.SHOW, {\n event: a,\n hoveredElement: r,\n items: [\n {\n label: e.tooltip.wordLabel,\n value: i.text\n },\n {\n label: e.tooltip.valueLabel,\n value: i.value\n },\n {\n label: e.tooltip.groupLabel,\n value: i[t],\n class: s.model.getColorClassName({\n classNameTypes: [$.TOOLTIP],\n dataGroupName: i[t]\n })\n }\n ]\n });\n }).on(\"mousemove\", function(a, i) {\n const r = x(this);\n s.services.events.dispatchEvent(f.WordCloud.WORD_MOUSEMOVE, {\n element: r,\n datum: i\n }), s.services.events.dispatchEvent(f.Tooltip.MOVE, {\n event: a\n });\n }).on(\"click\", function(a, i) {\n s.services.events.dispatchEvent(f.WordCloud.WORD_CLICK, {\n event: a,\n element: x(this),\n datum: i\n });\n }).on(\"mouseout\", function(a, i) {\n const r = x(this);\n n(null), s.services.events.dispatchEvent(f.WordCloud.WORD_MOUSEOUT, {\n event: a,\n element: r,\n datum: i\n }), s.services.events.dispatchEvent(f.Tooltip.HIDE, {\n hoveredElement: r\n });\n });\n }\n}\nclass Xl extends z {\n constructor() {\n super(...arguments), this.type = \"geo\", this.renderType = H.SVG;\n }\n render() {\n const e = this.getComponentContainer({ withinChartClip: !0 }), { width: t, height: s } = E.getSVGElementSize(e, {\n useAttrs: !0\n });\n if (t < 1 || s < 1)\n return;\n const n = this.getProjection(), a = y(this.getOptions(), \"geoData\"), i = this.model.getCombinedData(), r = {}, l = {};\n Object.keys(i).forEach((v) => {\n typeof i[v].value == \"number\" ? r[v] = i[v] : l[v] = i[v];\n });\n const c = mr(a, Object.values(l)), d = ur(a, {\n // We need to specify that we are converting geometry collections\n type: \"GeometryCollection\",\n geometries: Object.values(r)\n }), p = n.fitSize([t, s], d), h = un().projection(p);\n E.appendOrSelect(e, \"g.geo\").selectAll(\"path\").data(d.features).join(\"path\").attr(\"d\", h);\n const g = this.services.domUtils.generateElementIDString(\"geo-pattern-stripes\"), m = E.appendOrSelect(e, \"defs\");\n E.appendOrSelect(m, \"pattern\").attr(\"id\", g).attr(\"width\", 5).attr(\"height\", 10).attr(\"patternUnits\", \"userSpaceOnUse\").attr(\"patternTransform\", \"rotate(45)\").append(\"path\").classed(\"pattern-fill\", !0).attr(\n \"d\",\n Rt()([\n [0, 0],\n [0, 10]\n ])\n );\n const b = E.appendOrSelect(e, \"g.missing-data\");\n E.appendOrSelect(b, \"path\").datum(c).attr(\"d\", h).style(\"fill\", `url(#${g})`);\n }\n /**\n * @info\n * Depending on projection, we may need to provide additional configuration\n * e.g. sizing\n *\n * In such case, function can be refactored so that\n * projection should return an object with the configuraiton & function\n */\n getProjection() {\n let e = null;\n switch (y(this.getOptions(), \"thematic\", \"projection\")) {\n case xe.geoEqualEarth:\n e = bn();\n break;\n case xe.geoAlbers:\n e = yn();\n break;\n case xe.geoConicEqualArea:\n e = vn();\n break;\n case xe.geoConicEquidistant:\n e = fn();\n break;\n case xe.geoEquirectangular:\n e = mn();\n break;\n case xe.geoMercator:\n e = gn();\n break;\n case xe.geoNaturalEarth1:\n e = pn();\n break;\n default:\n throw new Error(\"Projection is not supported.\");\n }\n return e;\n }\n}\nclass Jc extends Xl {\n constructor() {\n super(...arguments), this.type = \"choropleth\";\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n render(e = !0) {\n super.render();\n const t = this.model.getCombinedData();\n this.getComponentContainer({ withinChartClip: !0 }).select(\"g.geo\").selectAll(\"path\").classed(\"border\", !0).attr(\"class\", (a) => this.model.getColorClassName({\n value: t[a.properties.NAME].value,\n originalClassName: \"border\"\n })), this.addCountryAreaEventListener();\n }\n addCountryAreaEventListener() {\n const e = this, t = this.model.getCombinedData();\n this.parent.selectAll(\"path.border\").on(\"mouseover\", function(s, n) {\n const a = x(this);\n e.services.events.dispatchEvent(Fe.CHOROPLETH_MOUSEOVER, {\n event: s,\n element: a,\n datum: t[n.properties.NAME]\n }), e.services.events.dispatchEvent(ct.SHOW, {\n event: s,\n hoveredElement: a,\n items: [\n {\n label: n.properties.NAME,\n value: t[n.properties.NAME].value\n }\n ]\n });\n }).on(\"mousemove\", function(s, n) {\n e.services.events.dispatchEvent(Fe.CHOROPLETH_MOUSEMOVE, {\n event: s,\n element: x(this),\n datum: t[n.properties.NAME]\n }), e.services.events.dispatchEvent(ct.MOVE, {\n event: s\n });\n }).on(\"click\", function(s, n) {\n e.services.events.dispatchEvent(Fe.CHOROPLETH_CLICK, {\n event: s,\n element: x(this),\n datum: t[n.properties.NAME]\n });\n }).on(\"mouseout\", function(s, n) {\n const a = x(this);\n e.services.events.dispatchEvent(Fe.CHOROPLETH_MOUSEOUT, {\n event: s,\n element: a,\n datum: t[n.properties.NAME]\n }), e.services.events.dispatchEvent(ct.HIDE, {\n event: s,\n hoveredElement: a\n });\n });\n }\n}\nexport {\n Ac as $,\n uc as A,\n yc as B,\n oc as C,\n Vc as D,\n Gc as E,\n xc as F,\n gc as G,\n hc as H,\n Nc as I,\n Wc as J,\n Hc as K,\n nr as L,\n rc as M,\n _c as N,\n Uc as O,\n yr as P,\n zc as Q,\n Xs as R,\n ic as S,\n sr as T,\n Yc as U,\n qc as V,\n Kc as W,\n Ys as X,\n or as Y,\n cc as Z,\n Mc as _,\n nc as a,\n wc as a0,\n Lc as a1,\n Tc as a2,\n Cc as a3,\n kc as a4,\n Ic as a5,\n Rc as a6,\n Xl as a7,\n Gt as a8,\n z as a9,\n ac as b,\n Da as c,\n ir as d,\n ar as e,\n lc as f,\n dc as g,\n pc as h,\n vc as i,\n fc as j,\n mc as k,\n Bt as l,\n lr as m,\n bc as n,\n Ec as o,\n Sc as p,\n Dc as q,\n Jc as r,\n Pc as s,\n jc as t,\n Xc as u,\n Oc as v,\n Fc as w,\n $c as x,\n Zc as y,\n Bc as z\n};\n//# sourceMappingURL=choropleth-d532597d.mjs.map\n","import { ad as g, ae as f, af as D, ag as b, ah as H, W as se, s as z, g as l, I as Y, n as X, a9 as ie, K as oe } from \"./color-scale-utils-2eb80bd2.mjs\";\nimport { S as O, D as ae } from \"./angle-utils-8034b0e5.mjs\";\nimport { _ as B, e as u, i as k, S as d } from \"./enums-a96ef472.mjs\";\nimport { select as re, max as le, extent as q, scaleTime as ue, scaleLog as ce, scaleBand as me, scaleLinear as de, curveLinear as ge, curveLinearClosed as he, curveBasis as fe, curveBasisClosed as pe, curveBasisOpen as ve, curveBundle as xe, curveCardinal as De, curveCardinalClosed as ye, curveCardinalOpen as Oe, curveCatmullRom as Ae, curveCatmullRomClosed as Te, curveCatmullRomOpen as Me, curveMonotoneX as Se, curveMonotoneY as Pe, curveNatural as Re, curveStep as Be, curveStepAfter as Le, curveStepBefore as Ee } from \"d3\";\nfunction J(i, e) {\n g(2, arguments);\n var t = f(i), n = D(e);\n return isNaN(n) ? /* @__PURE__ */ new Date(NaN) : (n && t.setDate(t.getDate() + n), t);\n}\nfunction C(i, e) {\n g(2, arguments);\n var t = f(i), n = D(e);\n if (isNaN(n))\n return /* @__PURE__ */ new Date(NaN);\n if (!n)\n return t;\n var s = t.getDate(), o = new Date(t.getTime());\n o.setMonth(t.getMonth() + n + 1, 0);\n var a = o.getDate();\n return s >= a ? o : (t.setFullYear(o.getFullYear(), o.getMonth(), s), t);\n}\nvar Ie = 36e5;\nfunction Q(i, e) {\n g(2, arguments);\n var t = D(e);\n return b(i, t * Ie);\n}\nfunction G(i) {\n g(1, arguments);\n var e = f(i);\n return e.setHours(0, 0, 0, 0), e;\n}\nvar be = 864e5;\nfunction Ce(i, e) {\n g(2, arguments);\n var t = G(i), n = G(e), s = t.getTime() - H(t), o = n.getTime() - H(n);\n return Math.round((s - o) / be);\n}\nvar we = 6e4;\nfunction E(i, e) {\n g(2, arguments);\n var t = D(e);\n return b(i, t * we);\n}\nfunction I(i, e) {\n g(2, arguments);\n var t = D(e);\n return b(i, t * 1e3);\n}\nfunction ee(i, e) {\n g(2, arguments);\n var t = D(e);\n return C(i, t * 12);\n}\nfunction M(i, e) {\n g(2, arguments);\n var t = f(i), n = f(e), s = t.getTime() - n.getTime();\n return s < 0 ? -1 : s > 0 ? 1 : s;\n}\nvar Ze = 6e4, Ne = 36e5;\nfunction Fe(i, e) {\n g(2, arguments);\n var t = f(i), n = f(e), s = t.getFullYear() - n.getFullYear(), o = t.getMonth() - n.getMonth();\n return s * 12 + o;\n}\nfunction Ve(i, e) {\n g(2, arguments);\n var t = f(i), n = f(e);\n return t.getFullYear() - n.getFullYear();\n}\nfunction _(i, e) {\n var t = i.getFullYear() - e.getFullYear() || i.getMonth() - e.getMonth() || i.getDate() - e.getDate() || i.getHours() - e.getHours() || i.getMinutes() - e.getMinutes() || i.getSeconds() - e.getSeconds() || i.getMilliseconds() - e.getMilliseconds();\n return t < 0 ? -1 : t > 0 ? 1 : t;\n}\nfunction He(i, e) {\n g(2, arguments);\n var t = f(i), n = f(e), s = _(t, n), o = Math.abs(Ce(t, n));\n t.setDate(t.getDate() - s * o);\n var a = +(_(t, n) === -s), r = s * (o - a);\n return r === 0 ? 0 : r;\n}\nfunction w(i, e) {\n return g(2, arguments), f(i).getTime() - f(e).getTime();\n}\nvar U = {\n ceil: Math.ceil,\n round: Math.round,\n floor: Math.floor,\n trunc: function(e) {\n return e < 0 ? Math.ceil(e) : Math.floor(e);\n }\n // Math.trunc is not supported by IE\n}, ze = \"trunc\";\nfunction Z(i) {\n return i ? U[i] : U[ze];\n}\nfunction Ye(i, e, t) {\n g(2, arguments);\n var n = w(i, e) / Ne;\n return Z(t == null ? void 0 : t.roundingMethod)(n);\n}\nfunction $(i, e, t) {\n g(2, arguments);\n var n = w(i, e) / Ze;\n return Z(t == null ? void 0 : t.roundingMethod)(n);\n}\nfunction Xe(i) {\n g(1, arguments);\n var e = f(i);\n return e.setHours(23, 59, 59, 999), e;\n}\nfunction ke(i) {\n g(1, arguments);\n var e = f(i), t = e.getMonth();\n return e.setFullYear(e.getFullYear(), t + 1, 0), e.setHours(23, 59, 59, 999), e;\n}\nfunction Ge(i) {\n g(1, arguments);\n var e = f(i);\n return Xe(e).getTime() === ke(e).getTime();\n}\nfunction _e(i, e) {\n g(2, arguments);\n var t = f(i), n = f(e), s = M(t, n), o = Math.abs(Fe(t, n)), a;\n if (o < 1)\n a = 0;\n else {\n t.getMonth() === 1 && t.getDate() > 27 && t.setDate(30), t.setMonth(t.getMonth() - s * o);\n var r = M(t, n) === -s;\n Ge(f(i)) && o === 1 && M(i, n) === 1 && (r = !1), a = s * (o - Number(r));\n }\n return a === 0 ? 0 : a;\n}\nfunction j(i, e, t) {\n g(2, arguments);\n var n = w(i, e) / 1e3;\n return Z(t == null ? void 0 : t.roundingMethod)(n);\n}\nfunction Ue(i, e) {\n g(2, arguments);\n var t = f(i), n = f(e), s = M(t, n), o = Math.abs(Ve(t, n));\n t.setFullYear(1584), n.setFullYear(1584);\n var a = M(t, n) === -s, r = s * (o - Number(a));\n return r === 0 ? 0 : r;\n}\nfunction $e(i, e) {\n g(2, arguments);\n var t = D(e);\n return J(i, -t);\n}\nfunction je(i, e) {\n g(2, arguments);\n var t = D(e);\n return C(i, -t);\n}\nfunction Ke(i, e) {\n g(2, arguments);\n var t = D(e);\n return Q(i, -t);\n}\nfunction K(i, e) {\n g(2, arguments);\n var t = D(e);\n return E(i, -t);\n}\nfunction W(i, e) {\n g(2, arguments);\n var t = D(e);\n return I(i, -t);\n}\nfunction We(i, e) {\n g(2, arguments);\n var t = D(e);\n return ee(i, -t);\n}\nfunction qe(i) {\n var e = i == null ? 0 : i.length;\n return e ? se(i, 1) : [];\n}\nclass it extends O {\n /**\n * focal: object to zoom into\n * canvasElements: all the elements to translate and zoom on the chart area\n * zoomSettings: object containing duration, easing and zoomlevel for the zoom behaviours\n * */\n zoomIn(e, t, n) {\n let s, o, a;\n const r = n || z;\n e && (s = e.x, o = e.y, a = 2);\n const { width: c, height: h } = ae.getSVGElementSize(this.services.domUtils.getHolder(), {\n useClientDimensions: !0\n });\n t.transition().duration(r.duration).ease(r.ease).attr(\n \"transform\",\n `translate(${c / 2}, ${h / 2}) scale(${a}) translate(${-s},${-o})`\n ), this.services.events.dispatchEvent(B.CanvasZoom.CANVAS_ZOOM_IN, {\n element: re(e)\n });\n }\n zoomOut(e, t) {\n const n = t || z;\n e.transition().duration(n.duration).ease(n.ease).attr(\"transform\", \"\"), this.services.events.dispatchEvent(B.CanvasZoom.CANVAS_ZOOM_OUT);\n }\n}\nclass ot extends O {\n init() {\n this.documentFragment = document.createDocumentFragment();\n }\n addEventListener(e, t) {\n this.documentFragment.addEventListener(e, t);\n }\n removeEventListener(e, t) {\n this.documentFragment.removeEventListener(e, t);\n }\n dispatchEvent(e, t) {\n let n;\n t ? n = new CustomEvent(e, {\n detail: t\n }) : (n = document.createEvent(\"Event\"), n.initEvent(e, !1, !0)), this.documentFragment.dispatchEvent(n);\n }\n}\nclass at extends O {\n constructor(e, t) {\n super(e, t);\n }\n downloadCSV(e, t) {\n const n = document.createElement(\"a\"), s = \"text/csv;encoding:utf-8\";\n if (navigator.msSaveBlob)\n navigator.msSaveBlob(\n new Blob([e], {\n type: s\n }),\n t\n );\n else if (URL && \"download\" in n) {\n const o = URL.createObjectURL(\n new Blob([e], {\n type: s\n })\n );\n n.href = o, n.setAttribute(\"download\", t), document.body.appendChild(n), n.click(), document.body.removeChild(n), URL.revokeObjectURL(o);\n } else\n location.href = `data:application/octet-stream,${encodeURIComponent(e)}`;\n }\n downloadImage(e, t) {\n const n = document.createElement(\"a\");\n n.download = t, n.href = e, document.body.appendChild(n), n.click(), document.body.removeChild(n);\n }\n}\nclass rt extends O {\n constructor() {\n super(...arguments), this.pendingTransitions = {};\n }\n init() {\n var e;\n (e = this.services.events) == null || e.addEventListener(B.Model.UPDATE, () => {\n this.pendingTransitions = {};\n });\n }\n setupTransition({ transition: e, name: t, animate: n }) {\n return this.pendingTransitions[e._id] = e, e.on(\"end interrupt cancel\", () => {\n delete this.pendingTransitions[e._id];\n }), this.model.getOptions().animations === !1 || n === !1 ? e.duration(0) : e.duration(l(Y, t, \"duration\") || Y.default.duration);\n }\n getPendingTransitions() {\n return this.pendingTransitions;\n }\n}\nclass lt extends O {\n constructor() {\n super(...arguments), this.scaleTypes = {\n top: null,\n right: null,\n bottom: null,\n left: null\n }, this.scales = {\n // null or function\n top: null,\n right: null,\n bottom: null,\n left: null\n };\n }\n getDomainAxisPosition({ datum: e = null } = {}) {\n if (this.dualAxes && e) {\n const t = this.model.getOptions(), { groupMapsTo: n } = t.data, s = l(t, \"axes\", this.secondaryDomainAxisPosition), o = e[n];\n if (s != null && s.correspondingDatasets && s.correspondingDatasets.includes(o))\n return this.secondaryDomainAxisPosition;\n }\n return this.domainAxisPosition;\n }\n getRangeAxisPosition({ datum: e = null, groups: t = null } = {}) {\n if (this.dualAxes) {\n const n = this.model.getOptions(), { groupMapsTo: s } = n.data, o = l(n, \"axes\", this.secondaryRangeAxisPosition);\n let a;\n if (e !== null ? a = e[s] : t && t.length > 0 && (a = t[0]), o != null && o.correspondingDatasets && o.correspondingDatasets.includes(a))\n return this.secondaryRangeAxisPosition;\n }\n return this.rangeAxisPosition;\n }\n getAxisOptions(e) {\n return l(this.model.getOptions(), \"axes\", e);\n }\n getDomainAxisOptions() {\n const e = this.getDomainAxisPosition();\n return this.getAxisOptions(e);\n }\n getRangeAxisOptions() {\n const e = this.getRangeAxisPosition();\n return this.getAxisOptions(e);\n }\n getScaleLabel(e) {\n const n = this.getAxisOptions(e).title;\n return n || (e === u.BOTTOM || e === u.TOP ? \"x-value\" : \"y-value\");\n }\n getDomainLabel() {\n return this.getScaleLabel(this.getDomainAxisPosition());\n }\n getRangeLabel() {\n return this.getScaleLabel(this.getRangeAxisPosition());\n }\n update() {\n this.determineAxisDuality(), this.findDomainAndRangeAxes(), this.determineOrientation(), Object.keys(u).map(\n (t) => u[t]\n ).forEach((t) => {\n this.scales[t] = this.createScale(t);\n });\n }\n findDomainAndRangeAxes() {\n const e = this.findVerticalAxesPositions(), t = this.findHorizontalAxesPositions(), n = this.findDomainAndRangeAxesPositions(\n e,\n t\n );\n this.domainAxisPosition = n.primaryDomainAxisPosition, this.rangeAxisPosition = n.primaryRangeAxisPosition, this.isDualAxes() && (this.secondaryDomainAxisPosition = n.secondaryDomainAxisPosition, this.secondaryRangeAxisPosition = n.secondaryRangeAxisPosition);\n }\n determineOrientation() {\n (this.rangeAxisPosition === u.LEFT || this.rangeAxisPosition === u.RIGHT) && (this.domainAxisPosition === u.BOTTOM || this.domainAxisPosition === u.TOP) ? this.orientation = k.VERTICAL : this.orientation = k.HORIZONTAL;\n }\n isDualAxes() {\n return this.dualAxes;\n }\n // if any of the axes objects have correspondingDatasets [] asserted we flag the chart as dual axes\n // it does not count as dual axes if it just has another axis turned on but is not actually using it to map a dataset\n determineAxisDuality() {\n var n, s, o, a;\n const e = this.model.getOptions(), t = l(e, \"axes\");\n ((n = t[u.LEFT]) != null && n.correspondingDatasets && t[u.RIGHT] || (s = t[u.RIGHT]) != null && s.correspondingDatasets && t[u.LEFT] || (o = t[u.TOP]) != null && o.correspondingDatasets && t[u.BOTTOM] || (a = t[u.BOTTOM]) != null && a.correspondingDatasets && t[u.TOP]) && (this.dualAxes = !0);\n }\n getCustomDomainValuesByposition(e) {\n const t = l(this.model.getOptions(), \"axes\", e, \"domain\");\n if (t && !Array.isArray(t))\n throw new Error(`Domain in ${e} axis is not a valid array`);\n if (Array.isArray(t) && (this.scaleTypes[e] === d.LINEAR || this.scaleTypes[e] === d.TIME) && t.length !== 2)\n throw new Error(\n `There can only be 2 elements in domain for scale type: ${this.scaleTypes[e]}`\n );\n return t;\n }\n getOrientation() {\n return this.orientation;\n }\n getScaleByPosition(e) {\n return this.scales[e];\n }\n getScaleTypeByPosition(e) {\n return this.scaleTypes[e];\n }\n getDomainAxisScaleType() {\n const e = this.getDomainAxisPosition();\n return this.getScaleTypeByPosition(e);\n }\n getRangeAxisScaleType() {\n const e = this.getRangeAxisPosition();\n return this.getScaleTypeByPosition(e);\n }\n getDomainScale() {\n return this.scales[this.domainAxisPosition];\n }\n getRangeScale() {\n return this.scales[this.rangeAxisPosition];\n }\n // Find the main x-axis out of the 2 x-axis on the chart (when 2D axis is used)\n getMainXAxisPosition() {\n const e = [u.BOTTOM, u.TOP];\n return [this.domainAxisPosition, this.rangeAxisPosition].find(\n (t) => e.indexOf(t) > -1\n );\n }\n // Find the main y-axis out of the 2 y-axis on the chart (when 2D axis is used)\n getMainYAxisPosition() {\n const e = [u.LEFT, u.RIGHT];\n return [this.domainAxisPosition, this.rangeAxisPosition].find(\n (t) => e.indexOf(t) > -1\n );\n }\n getMainXScale() {\n return this.scales[this.getMainXAxisPosition()];\n }\n getMainYScale() {\n return this.scales[this.getMainYAxisPosition()];\n }\n getValueFromScale(e, t, n, s) {\n const o = this.model.getOptions(), r = l(o, \"axes\")[n], { mapsTo: c } = r, h = l(s, c) !== null ? s[c] : s;\n let v;\n switch (t) {\n case d.LABELS:\n v = e(h) + e.step() / 2;\n break;\n case d.TIME:\n v = e(new Date(h));\n break;\n default:\n v = e(h);\n }\n return v;\n }\n getBoundedScaledValues(e) {\n const { bounds: t } = this.model.getOptions(), n = this.getRangeAxisPosition({ datum: e }), s = this.scales[n], o = this.model.getOptions(), r = l(o, \"axes\")[n], { mapsTo: c } = r, h = e[c] !== void 0 ? e[c] : e;\n return [\n s(\n l(e, t.upperBoundMapsTo) !== null ? e[t.upperBoundMapsTo] : h\n ),\n s(\n l(e, t.lowerBoundMapsTo) !== null ? e[t.lowerBoundMapsTo] : h\n )\n ];\n }\n getValueThroughAxisPosition(e, t) {\n const n = this.scaleTypes[e], s = this.scales[e];\n return this.getValueFromScale(s, n, e, t);\n }\n getDomainValue(e) {\n const t = this.getDomainAxisPosition({ datum: e });\n return this.getValueThroughAxisPosition(t, e);\n }\n getRangeValue(e) {\n const t = this.getRangeAxisPosition({ datum: e });\n return this.getValueThroughAxisPosition(t, e);\n }\n getMainXScaleType() {\n return this.getScaleTypeByPosition(this.getMainXAxisPosition());\n }\n getMainYScaleType() {\n return this.getScaleTypeByPosition(this.getMainYAxisPosition());\n }\n getDomainIdentifier(e) {\n const t = this.model.getOptions();\n return l(t, \"axes\", this.getDomainAxisPosition({ datum: e }), \"mapsTo\");\n }\n getRangeIdentifier(e) {\n const t = this.model.getOptions();\n return l(t, \"axes\", this.getRangeAxisPosition({ datum: e }), \"mapsTo\");\n }\n extendsDomain(e, t) {\n const n = this.model.getOptions(), s = l(n, \"axes\", e);\n if (s.scaleType === d.TIME) {\n const o = l(n, \"timeScale\", \"addSpaceOnEdges\");\n return Je(t, o);\n } else\n return Qe(t, X.paddingRatio, s.scaleType);\n }\n findVerticalAxesPositions() {\n const e = this.model.getOptions(), t = l(e, \"axes\"), n = this.isDualAxes();\n return l(t, u.LEFT) === null && l(t, u.RIGHT) !== null || l(t, u.RIGHT, \"main\") === !0 || n && l(t, u.LEFT, \"correspondingDatasets\") ? {\n primary: u.RIGHT,\n secondary: u.LEFT\n } : { primary: u.LEFT, secondary: u.RIGHT };\n }\n findHorizontalAxesPositions() {\n const e = this.model.getOptions(), t = l(e, \"axes\"), n = this.isDualAxes();\n return l(t, u.BOTTOM) === null && l(t, u.TOP) !== null || l(t, u.TOP, \"main\") === !0 || n && l(t, u.BOTTOM, \"correspondingDatasets\") ? {\n primary: u.TOP,\n secondary: u.BOTTOM\n } : { primary: u.BOTTOM, secondary: u.TOP };\n }\n findDomainAndRangeAxesPositions(e, t) {\n const n = this.model.getOptions(), s = l(n, \"axes\", e.primary), o = l(n, \"axes\", t.primary), a = s.scaleType || d.LINEAR, r = o.scaleType || d.LINEAR, c = {\n primaryDomainAxisPosition: null,\n secondaryDomainAxisPosition: null,\n primaryRangeAxisPosition: null,\n secondaryRangeAxisPosition: null\n };\n return c.primaryDomainAxisPosition = t.primary, c.primaryRangeAxisPosition = e.primary, c.secondaryDomainAxisPosition = t.secondary, c.secondaryRangeAxisPosition = e.secondary, (!(r === d.LABELS || r === d.TIME) && a === d.LABELS || a === d.TIME) && (c.primaryDomainAxisPosition = e.primary, c.primaryRangeAxisPosition = t.primary, c.secondaryDomainAxisPosition = e.secondary, c.secondaryRangeAxisPosition = t.secondary), c;\n }\n getScaleDomain(e) {\n const t = this.model.getOptions(), n = l(t, \"axes\", e), s = l(t, \"bounds\"), { includeZero: o } = n, a = l(n, \"scaleType\") || d.LINEAR;\n if (this.model.isDataEmpty())\n return [];\n if (n.binned) {\n const { bins: m } = this.model.getBinConfigurations();\n return [0, le(m, (p) => p.length)];\n } else if (n.limitDomainToBins) {\n const { bins: m } = this.model.getBinConfigurations(), p = this.model.getStackKeys({ bins: m });\n return [p[0].split(\"-\")[0], p[p.length - 1].split(\"-\")[1]];\n }\n const r = this.model.getDisplayData(), { extendLinearDomainBy: c, mapsTo: h, percentage: v, thresholds: y } = n, { reference: A, compareTo: S } = X.ratio;\n if (n.domain)\n return a === d.LABELS ? n.domain : (a === d.TIME && (n.domain = n.domain.map(\n (m) => m.getTime === void 0 ? new Date(m) : m\n )), this.extendsDomain(e, n.domain));\n if (v)\n return [0, 100];\n if (n && a === d.LABELS)\n return ie(r.map((m) => m[h]));\n let P, x;\n const L = this.model.getDataGroupNames();\n if (a === d.LABELS_RATIO)\n return r.map((m) => `${m[A]}/${m[S]}`);\n if (a === d.TIME)\n x = r.map((m) => +new Date(m[h]));\n else if (s && t.axes)\n x = [], r.forEach((m) => {\n x.push(m[h]), m[s.upperBoundMapsTo] && x.push(m[s.upperBoundMapsTo]), m[s.lowerBoundMapsTo] && x.push(m[s.lowerBoundMapsTo]);\n });\n else if (n.stacked === !0 && L && e === this.getRangeAxisPosition()) {\n const { groupMapsTo: m } = t.data, p = this.model.getDataValuesGroupedByKeys({\n groups: L\n }), te = r.filter(\n (T) => !L.includes(T[m])\n ), N = [];\n p.forEach((T) => {\n const { ...ne } = T;\n let F = 0, V = 0;\n Object.values(ne).forEach((R) => {\n isNaN(R) || (R < 0 ? V += R : F += R);\n }), N.push([V, F]);\n }), x = [\n ...qe(N),\n ...te.map((T) => T[h])\n ];\n } else\n x = [], r.forEach((m) => {\n const p = m[h];\n Array.isArray(p) && p.length === 2 ? (x.push(p[0]), x.push(p[1])) : (c && x.push(Math.max(m[h], m[c])), x.push(p));\n });\n return a !== d.TIME && a !== d.LOG && o && x.push(0), y && y.length > 0 && y.forEach((m) => {\n const p = l(m, \"value\");\n p !== null && x.push(p);\n }), P = q(x), P = this.extendsDomain(e, P), P;\n }\n createScale(e) {\n const t = this.model.getOptions(), n = l(t, \"axes\", e);\n if (!n)\n return null;\n const s = l(n, \"scaleType\") || d.LINEAR;\n this.scaleTypes[e] = s;\n let o;\n return s === d.TIME ? o = ue() : s === d.LOG ? o = ce().base(n.base || 10) : s === d.LABELS || s === d.LABELS_RATIO ? o = me() : o = de(), o.domain(this.getScaleDomain(e)), o;\n }\n getHighestDomainThreshold() {\n const e = l(this.model.getOptions(), \"axes\"), t = this.getDomainAxisPosition(), { thresholds: n } = e[t];\n if (!Array.isArray(n) || Array.isArray(n) && !n.length)\n return null;\n const s = this.getDomainScale(), o = n.sort((r, c) => c.value - r.value)[0];\n return this.getScaleTypeByPosition(t) === d.TIME && (typeof o.value == \"string\" || o.value.getTime === void 0) && (o.value = new Date(o.value)), {\n threshold: o,\n scaleValue: s(o.value)\n };\n }\n getHighestRangeThreshold() {\n const e = l(this.model.getOptions(), \"axes\"), t = this.getRangeAxisPosition(), { thresholds: n } = e[t];\n if (!Array.isArray(n) || Array.isArray(n) && !n.length)\n return null;\n const s = this.getRangeScale(), o = n.sort((a, r) => r.value - a.value)[0];\n return {\n threshold: o,\n scaleValue: s(o.value)\n };\n }\n}\nfunction Je(i, e) {\n const t = new Date(i[0]), n = new Date(i[1]);\n return Ue(n, t) > 1 ? [We(t, e), ee(n, e)] : _e(n, t) > 1 ? [je(t, e), C(n, e)] : He(n, t) > 1 ? [$e(t, e), J(n, e)] : Ye(n, t) > 1 ? [Ke(t, e), Q(n, e)] : $(n, t) > 30 ? [\n K(t, e * 30),\n E(n, e * 30)\n ] : $(n, t) > 1 ? [K(t, e), E(n, e)] : j(n, t) > 15 ? [\n W(t, e * 15),\n I(n, e * 15)\n ] : j(n, t) > 1 ? [W(t, e), I(n, e)] : [t, n];\n}\nfunction Qe([i, e], t, n) {\n const o = (e - i) * t, a = e <= 0 && e + o > 0 ? 0 : e + o;\n let r = i >= 0 && i - o < 0 ? 0 : i - o;\n if (n === d.LOG && r <= 0) {\n if (i <= 0)\n throw Error(\"Data must have values greater than 0 if log scale type is used.\");\n r = i;\n }\n return [r, a];\n}\nclass ut extends O {\n constructor() {\n super(...arguments), this.curveTypes = {\n curveLinear: ge,\n curveLinearClosed: he,\n curveBasis: fe,\n curveBasisClosed: pe,\n curveBasisOpen: ve,\n curveBundle: xe,\n curveCardinal: De,\n curveCardinalClosed: ye,\n curveCardinalOpen: Oe,\n curveCatmullRom: Ae,\n curveCatmullRomClosed: Te,\n curveCatmullRomOpen: Me,\n curveMonotoneX: Se,\n curveMonotoneY: Pe,\n curveNatural: Re,\n curveStep: Be,\n curveStepAfter: Le,\n curveStepBefore: Ee\n };\n }\n getD3Curve() {\n let e = \"curveLinear\";\n const t = this.model.getOptions().curve;\n if (t && (typeof t == \"string\" ? e = t : e = t.name), this.curveTypes[e]) {\n let n = this.curveTypes[e];\n return t && Object.keys(t).forEach((s) => {\n n[s] && (n = n[s](t[s]));\n }), n;\n }\n return console.warn(`The curve type '${e}' is invalid, using 'curveLinear' instead`), this.curveTypes.curveLinear;\n }\n}\nclass ct extends O {\n isZoomBarEnabled() {\n if (!this.services.cartesianScales || !l(this.model.getOptions(), \"zoomBar\", \"top\", \"enabled\"))\n return !1;\n this.services.cartesianScales.findDomainAndRangeAxes();\n const e = this.services.cartesianScales.getMainXAxisPosition(), t = l(\n this.model.getOptions(),\n \"axes\",\n e,\n \"scaleType\"\n );\n return e === u.BOTTOM && t === d.TIME;\n }\n // get display data for zoom bar\n // basically it's sum of value grouped by time\n getZoomBarData() {\n const e = this.model.getZoomBarData();\n return e && e.length > 1 ? e : this.model.getDisplayData();\n }\n getDefaultZoomBarDomain(e) {\n if (!this.services.zoom)\n throw new Error(\"Services zoom not defined\");\n const t = e || this.services.zoom.getZoomBarData(), { cartesianScales: n } = this.services;\n if (!n)\n throw new Error(\"Services cartesianScales undefined\");\n const s = n.getMainXAxisPosition(), o = n.getDomainIdentifier(), a = l(this.model.getOptions(), \"axes\", s, \"domain\");\n if (Array.isArray(a) && a.length === 2)\n return a;\n if (!s)\n throw new Error(\"Not defined: mainXAxisPosition\");\n return n.extendsDomain(\n s,\n q(t, (r) => r[o])\n );\n }\n handleDomainChange(e, t = { dispatchEvent: !0 }) {\n var n;\n this.model.set({ zoomDomain: e }, { animate: !1 }), t.dispatchEvent && ((n = this.services.events) == null || n.dispatchEvent(B.ZoomDomain.CHANGE, {\n newDomain: e\n }));\n }\n getZoomRatio() {\n return l(this.model.getOptions(), \"zoomBar\", \"zoomRatio\");\n }\n // filter out data not inside zoom domain\n // to get better range value for axis label\n filterDataForRangeAxis(e, t) {\n var a;\n const n = this.model.get(\"zoomDomain\"), s = Object.assign(\n { stacked: !1 },\n // default configs\n t\n ), o = l(this.model.getOptions(), \"zoomBar\", \"updateRangeAxis\");\n if (this.isZoomBarEnabled() && o && n) {\n const r = s.stacked ? \"sharedStackKey\" : (a = this.services.cartesianScales) == null ? void 0 : a.getDomainIdentifier(), c = e.filter(\n (h) => new Date(h[r]) >= n[0] && new Date(h[r]) <= n[1]\n );\n if (c.length > 0)\n return c;\n }\n return e;\n }\n zoomIn(e = this.getZoomRatio()) {\n var S;\n const t = this.model.get(\"zoomDomain\"), n = oe.handleWidth, s = (S = this.services.cartesianScales) == null ? void 0 : S.getMainXScale().copy();\n s.domain(this.getDefaultZoomBarDomain());\n const o = s(t[0]), a = s(t[1]);\n if (a - o < n + 1)\n return;\n const r = s.range(), c = a - o, h = Math.min((r[1] - r[0]) / 2 * (e / 2), c / 2);\n let v = o + h, y = a - h;\n v >= y && (v = o + c / 2 - n / 2, y = a - c / 2 + n / 2);\n const A = [s.invert(v), s.invert(y)];\n (t[0].valueOf() !== A[0].valueOf() || t[1].valueOf() !== A[1].valueOf()) && this.handleDomainChange(A);\n }\n zoomOut(e = this.getZoomRatio()) {\n const t = this.model.get(\"zoomDomain\");\n if (!this.services.cartesianScales)\n throw new Error(\"Services cartesianScales undefined\");\n const n = this.services.cartesianScales.getMainXScale().copy();\n n.domain(this.getDefaultZoomBarDomain());\n const s = n(t[0]), o = n(t[1]), a = n.range(), r = (a[1] - a[0]) / 2 * (e / 2), c = Math.max(s - r, a[0]), h = Math.min(o + r, a[1]), v = [n.invert(c), n.invert(h)];\n (t[0].valueOf() !== v[0].valueOf() || t[1].valueOf() !== v[1].valueOf()) && this.handleDomainChange(v);\n }\n resetZoomDomain() {\n const e = this.model.get(\"zoomDomain\"), t = this.getDefaultZoomBarDomain();\n (e[0].valueOf() !== t[0].valueOf() || e[1].valueOf() !== t[1].valueOf()) && this.handleDomainChange(t);\n }\n // check if current zoom domain is already the min zoom domain\n // when toolbar is rendered, we don't render chart yet\n // don't depend on scale range\n isMinZoomDomain() {\n const e = this.model.get(\"zoomDomain\"), t = this.getDefaultZoomBarDomain();\n if (!e || !t)\n return !1;\n const n = e[1].valueOf() - e[0].valueOf(), s = t[1].valueOf() - t[0].valueOf(), o = l(this.model.getOptions(), \"zoomBar\", \"minZoomRatio\");\n return n / s < o;\n }\n // check if current zoom domain is already the max zoom domain\n isMaxZoomDomain() {\n const e = this.model.get(\"zoomDomain\"), t = this.getDefaultZoomBarDomain();\n return !!(e && t && e[0].valueOf() === t[0].valueOf() && e[1].valueOf() === t[1].valueOf());\n }\n isEmptyState() {\n return this.getZoomBarData().length === 0;\n }\n isZoomBarLoading(e) {\n return l(this.model.getOptions(), \"zoomBar\", e, \"loading\");\n }\n isZoomBarLocked(e) {\n return l(this.model.getOptions(), \"zoomBar\", e, \"locked\");\n }\n}\nexport {\n it as C,\n ot as E,\n at as F,\n rt as T,\n ct as Z,\n lt as a,\n ut as b,\n qe as f\n};\n//# sourceMappingURL=index-e91144ae.mjs.map\n","import { t as Y, g as l, m as a, o as r, e as J, f as V } from \"./color-scale-utils-2eb80bd2.mjs\";\nimport { T as Bt, j as It, l as Ht, n as Gt, p as Vt, q as Nt, s as Ut, d as Zt, u as _t, v as zt, L as Wt, h as jt, w as $t, M as Kt, N as Jt, O as qt, P as Xt, Q as Qt, x as Yt, y as eo, R as so, z as to, A as oo, B as no, C as io, D as ro, E as ao, F as ho, G as co, J as mo, H as lo, I as po, K as Co } from \"./color-scale-utils-2eb80bd2.mjs\";\nimport { i as vo } from \"./index-ec554115.mjs\";\nimport { ChartModel as Re, ChartModelCartesian as Te, AlluvialChartModel as be, BoxplotChartModel as Oe, BulletChartModel as fe, ChoroplethModel as Se, CirclePackChartModel as Ae, PieChartModel as xe, GaugeChartModel as ye, HeatmapModel as De, ChartModelBinned as Fe, MeterChartModel as Le, RadarChartModel as Pe, TreeChartModel as Me, TreemapChartModel as ke, WordCloudModel as Be } from \"./model/index.mjs\";\nimport { _ as j, r as i, q as c, L as Z, y as A, t as N, e as $, S as Ie, u as K, F as p, l as R } from \"./enums-a96ef472.mjs\";\nimport { A as wo, a as Eo, b as Ro, c as To, d as bo, f as Oo, B as fo, g as So, C as Ao, h as xo, i as yo, j as Do, k as Fo, m as Lo, n as Po, D as Mo, o as ko, G as Bo, p as Io, s as Ho, v as Go, M as Vo, w as No, P as Uo, x as Zo, R as _o, z as zo, H as Wo, T as jo, I as $o, J as Ko, K as Jo, N as qo, O as Xo, Q as Qo, U as Yo, V as en, W as sn, Z as tn, X as on, Y as nn } from \"./enums-a96ef472.mjs\";\nimport { c as He, L as ee, C as Ge, T as _, a as z, b as g, S as F, d as se, M as W, e as Ve, f as Ne, g as Ue, H as Ze, Z as _e, A as te, h as ze, i as d, G as w, R as B, j as k, k as oe, l as M, m as C, B as We, n as I, o as je, p as $e, q as ne, r as Ke, s as Je, t as ie, u as re, v as U, w as ae, x as he, y as ce, P as qe, D as Xe, z as Qe, E as Ye, F as es, I as ss, J as ts, K as os, N as ns, O as is, Q as rs, U as as, V as hs, W as cs } from \"./choropleth-d532597d.mjs\";\nimport { X as an, a8 as hn, a9 as cn, a7 as mn, Y as ln, _ as pn, $ as dn, a0 as Cn, a1 as un, a2 as vn, a3 as gn, a4 as wn, a5 as En, a6 as Rn } from \"./choropleth-d532597d.mjs\";\nimport { C as ms, E as ls, F as ps, T as ds, a as Cs, b as us, Z as vs, f as gs } from \"./index-e91144ae.mjs\";\nimport { D as ws, G as Es } from \"./angle-utils-8034b0e5.mjs\";\nimport { S as bn, d as On, a as fn, p as Sn, b as An, r as xn } from \"./angle-utils-8034b0e5.mjs\";\nimport \"d3\";\nimport \"./a11y-7bad4f48.mjs\";\nimport \"./_baseEach-8433307e.mjs\";\nimport \"d3-sankey\";\nimport \"d3-cloud\";\nfunction Rs(o, e, s) {\n var n = -1, t = o.length;\n e < 0 && (e = -e > t ? 0 : t + e), s = s > t ? t : s, s < 0 && (s += t), t = e > s ? 0 : s - e >>> 0, e >>>= 0;\n for (var h = Array(t); ++n < t; )\n h[n] = o[n + e];\n return h;\n}\nfunction Ts(o, e, s) {\n var n = o.length;\n return s = s === void 0 ? n : s, !e && s >= n ? o : Rs(o, e, s);\n}\nvar bs = \"\\\\ud800-\\\\udfff\", Os = \"\\\\u0300-\\\\u036f\", fs = \"\\\\ufe20-\\\\ufe2f\", Ss = \"\\\\u20d0-\\\\u20ff\", As = Os + fs + Ss, xs = \"\\\\ufe0e\\\\ufe0f\", ys = \"\\\\u200d\", Ds = RegExp(\"[\" + ys + bs + As + xs + \"]\");\nfunction me(o) {\n return Ds.test(o);\n}\nfunction Fs(o) {\n return o.split(\"\");\n}\nvar le = \"\\\\ud800-\\\\udfff\", Ls = \"\\\\u0300-\\\\u036f\", Ps = \"\\\\ufe20-\\\\ufe2f\", Ms = \"\\\\u20d0-\\\\u20ff\", ks = Ls + Ps + Ms, Bs = \"\\\\ufe0e\\\\ufe0f\", Is = \"[\" + le + \"]\", q = \"[\" + ks + \"]\", X = \"\\\\ud83c[\\\\udffb-\\\\udfff]\", Hs = \"(?:\" + q + \"|\" + X + \")\", pe = \"[^\" + le + \"]\", de = \"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\", Ce = \"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\", Gs = \"\\\\u200d\", ue = Hs + \"?\", ve = \"[\" + Bs + \"]?\", Vs = \"(?:\" + Gs + \"(?:\" + [pe, de, Ce].join(\"|\") + \")\" + ve + ue + \")*\", Ns = ve + ue + Vs, Us = \"(?:\" + [pe + q + \"?\", q, de, Ce, Is].join(\"|\") + \")\", Zs = RegExp(X + \"(?=\" + X + \")|\" + Us + Ns, \"g\");\nfunction _s(o) {\n return o.match(Zs) || [];\n}\nfunction zs(o) {\n return me(o) ? _s(o) : Fs(o);\n}\nfunction Ws(o) {\n return function(e) {\n e = Y(e);\n var s = me(e) ? zs(e) : void 0, n = s ? s[0] : e.charAt(0), t = s ? Ts(s, 1).join(\"\") : e.slice(1);\n return n[o]() + t;\n };\n}\nvar js = Ws(\"toUpperCase\");\nconst $s = js;\nfunction Ks(o) {\n return $s(Y(o).toLowerCase());\n}\nvar Js = He(function(o, e, s) {\n return e = e.toLowerCase(), o + (s ? Ks(e) : e);\n});\nconst qs = Js;\nclass T {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n constructor(e, s) {\n this.components = [], this.services = {\n canvasZoom: ms,\n domUtils: ws,\n events: ls,\n files: ps,\n gradientUtils: Es,\n transitions: ds\n }, this.model = new Re(this.services);\n }\n // Contains the code that uses properties that are overridable by the super-class\n init(e, s) {\n this.model.set({ holder: e }, { skipUpdate: !0 }), Object.keys(this.services).forEach((n) => {\n const t = this.services[n];\n this.services[n] = new t(this.model, this.services);\n }), this.services.events.addEventListener(j.Model.UPDATE, (n) => {\n const t = !!l(n, \"detail\", \"animate\");\n this.update(t);\n }), this.model.setData(s.data), this.services.events.addEventListener(j.Chart.RESIZE, () => {\n this.update(!1);\n }), this.components = this.getComponents(), this.update();\n }\n getComponents() {\n return console.error(\"getComponents() method is not implemented\"), [];\n }\n update(e = !0) {\n if (!this.components)\n return;\n Object.keys(this.services).forEach((t) => {\n this.services[t].update();\n }), this.components.forEach((t) => t.render(e));\n const s = this.services.transitions.getPendingTransitions(), n = Object.keys(s).map((t) => s[t].end().catch((m) => m));\n Promise.all(n).then(\n () => this.services.events.dispatchEvent(j.Chart.RENDER_FINISHED)\n );\n }\n destroy() {\n this.components.forEach((e) => e.destroy()), this.services.domUtils.getHolder().remove(), this.model.set({ destroyed: !0 }, { skipUpdate: !0 });\n }\n getChartComponents(e, s) {\n const n = this.model.getOptions(), t = l(n, \"toolbar\", \"enabled\"), h = {\n id: \"legend\",\n components: [new ee(this.model, this.services)],\n growth: i.PREFERRED\n }, m = l(n, \"canvasZoom\", \"enabled\");\n m && m === !0 && e.push(new Ge(this.model, this.services));\n const b = !!this.model.getOptions().title, O = {\n id: \"title\",\n components: [new _(this.model, this.services)],\n growth: i.STRETCH\n }, x = {\n id: \"toolbar\",\n components: [new z(this.model, this.services)],\n growth: i.PREFERRED\n }, L = {\n id: \"header\",\n components: [\n new g(\n this.model,\n this.services,\n [\n // always add title to keep layout correct\n O,\n ...t ? [x] : []\n ],\n {\n direction: c.ROW,\n alignItems: Z.CENTER\n }\n )\n ],\n growth: i.PREFERRED\n }, y = {\n id: \"graph-frame\",\n components: e,\n growth: i.STRETCH,\n renderType: l(s, \"graphFrameRenderType\") || A.SVG\n }, D = l(s, \"excludeLegend\") !== !0 && n.legend.enabled !== !1;\n let f = c.COLUMN;\n if (D) {\n const S = l(n, \"legend\", \"position\");\n S === \"left\" ? (f = c.ROW, n.legend.orientation || (n.legend.orientation = N.VERTICAL)) : S === \"right\" ? (f = c.ROW_REVERSE, n.legend.orientation || (n.legend.orientation = N.VERTICAL)) : S === \"bottom\" && (f = c.COLUMN_REVERSE);\n }\n const P = {\n id: \"spacer\",\n components: [new F(this.model, this.services)],\n growth: i.PREFERRED\n }, v = {\n id: \"full-frame\",\n components: [\n new g(\n this.model,\n this.services,\n [\n ...D ? [h] : [],\n ...D ? [P] : [],\n y\n ],\n {\n direction: f\n }\n )\n ],\n growth: i.STRETCH\n }, E = [];\n if (b || t) {\n E.push(L);\n const S = {\n id: \"spacer\",\n components: [\n new F(this.model, this.services, t ? { size: 15 } : void 0)\n ],\n growth: i.PREFERRED\n };\n E.push(S);\n }\n return E.push(v), [\n new se(this.model, this.services),\n new W(this.model, this.services),\n new g(this.model, this.services, E, {\n direction: c.COLUMN\n })\n ];\n }\n}\nclass u extends T {\n constructor(e, s) {\n super(e, s), this.services = Object.assign(this.services, {\n cartesianScales: Cs,\n curves: us,\n zoom: vs\n }), this.model = new Te(this.services);\n }\n getAxisChartComponents(e, s) {\n const n = this.model.getOptions(), t = l(n, \"zoomBar\", $.TOP, \"enabled\"), h = l(n, \"toolbar\", \"enabled\");\n this.services.cartesianScales.determineAxisDuality(), this.services.cartesianScales.findDomainAndRangeAxes(), this.services.cartesianScales.determineOrientation();\n const m = this.services.cartesianScales.getMainXAxisPosition(), b = l(n, \"axes\", m, \"scaleType\"), O = t && m === $.BOTTOM && b === Ie.TIME, x = this.services.zoom.isZoomBarLocked($.TOP), L = !!this.model.getOptions().title, y = {\n id: \"title\",\n components: [new _(this.model, this.services)],\n growth: i.STRETCH\n }, D = {\n id: \"toolbar\",\n components: [new z(this.model, this.services)],\n growth: i.PREFERRED\n }, f = {\n id: \"header\",\n components: [\n new g(\n this.model,\n this.services,\n [\n // always add title to keep layout correct\n y,\n ...h ? [D] : []\n ],\n {\n direction: c.ROW,\n alignItems: Z.CENTER\n }\n )\n ],\n growth: i.PREFERRED\n }, P = {\n id: \"legend\",\n components: [new ee(this.model, this.services)],\n growth: i.PREFERRED\n };\n O && !x && e.push(\n new Ve(this.model, this.services),\n new Ne(this.model, this.services)\n ), e.push(new Ue(this.model, this.services)), e.push(new Ze(this.model, this.services));\n const v = {\n id: \"graph-frame\",\n components: e,\n growth: i.STRETCH,\n renderType: A.SVG\n }, E = l(s, \"legend\", \"enabled\") !== !1 && this.model.getOptions().legend.enabled !== !1;\n let S = c.COLUMN;\n if (E) {\n const G = l(this.model.getOptions(), \"legend\", \"position\");\n G === K.LEFT ? (S = c.ROW, this.model.getOptions().legend.orientation || (this.model.getOptions().legend.orientation = N.VERTICAL)) : G === K.RIGHT ? (S = c.ROW_REVERSE, this.model.getOptions().legend.orientation || (this.model.getOptions().legend.orientation = N.VERTICAL)) : G === K.BOTTOM && (S = c.COLUMN_REVERSE);\n }\n const ge = {\n id: \"spacer\",\n components: [new F(this.model, this.services)],\n growth: i.PREFERRED\n }, we = {\n id: \"full-frame\",\n components: [\n new g(\n this.model,\n this.services,\n [\n ...E ? [P] : [],\n ...E ? [ge] : [],\n v\n ],\n {\n direction: S\n }\n )\n ],\n growth: i.STRETCH\n }, Ee = {\n id: \"zoom-bar\",\n components: [new _e(this.model, this.services)],\n growth: i.PREFERRED,\n renderType: A.SVG\n }, H = [];\n if (L || h) {\n H.push(f);\n const G = {\n id: \"spacer\",\n components: [\n new F(this.model, this.services, h ? { size: 15 } : void 0)\n ],\n growth: i.PREFERRED\n };\n H.push(G);\n }\n return O && H.push(Ee), H.push(we), [\n new te(this.model, this.services),\n new W(this.model, this.services),\n new g(this.model, this.services, H, {\n direction: c.COLUMN\n })\n ];\n }\n}\nclass ct extends T {\n constructor(e, s) {\n super(e, s), this.model = new be(this.services), this.model.setOptions(a(r.alluvialChart, s.options)), this.init(e, s);\n }\n getComponents() {\n const e = [new ze(this.model, this.services)];\n return this.getChartComponents(e, {\n excludeLegend: !0\n });\n }\n}\nclass mt extends u {\n constructor(e, s) {\n super(e, s), this.model.setOptions(a(J(r.areaChart), s.options)), this.init(e, s);\n }\n getComponents() {\n const e = [\n new d(this.model, this.services),\n new w(this.model, this.services),\n new B(this.model, this.services),\n new k(this.model, this.services),\n new oe(this.model, this.services),\n new M(this.model, this.services, {\n fadeInOnChartHolderMouseover: !0,\n handleThresholds: !0\n }),\n new C(this.model, this.services, {\n skeleton: p.GRID\n })\n ];\n return this.getAxisChartComponents(e);\n }\n}\nclass lt extends u {\n constructor(e, s) {\n super(e, s), this.model = new Oe(this.services), this.model.setOptions(a(r.boxplotChart, s.options)), this.init(e, s);\n }\n getComponents() {\n const e = [\n new d(this.model, this.services),\n new w(this.model, this.services),\n new We(this.model, this.services),\n new I(this.model, this.services),\n new C(this.model, this.services, {\n skeleton: p.VERT_OR_HORIZ\n })\n ];\n return this.getAxisChartComponents(e, {\n legend: {\n enabled: !1\n }\n });\n }\n}\nclass pt extends u {\n constructor(e, s) {\n super(e, s), this.model.setOptions(a(r.bubbleChart, s.options)), this.init(e, s);\n }\n getComponents() {\n const e = [\n new d(this.model, this.services),\n new w(this.model, this.services),\n new B(this.model, this.services),\n new je(this.model, this.services),\n new C(this.model, this.services, {\n skeleton: p.GRID\n })\n ];\n return this.getAxisChartComponents(e);\n }\n}\nclass dt extends u {\n constructor(e, s) {\n super(e, s), this.model = new fe(this.services), this.model.setOptions(a(r.bulletChart, s.options)), this.init(e, s);\n }\n getComponents() {\n const e = [\n new d(this.model, this.services),\n new w(this.model, this.services),\n new $e(this.model, this.services),\n new C(this.model, this.services, {\n skeleton: p.GRID\n })\n ];\n return this.getAxisChartComponents(e);\n }\n}\nclass Ct extends T {\n constructor(e, s) {\n super(e, s), this.model = new Se(this.services), this.model.setOptions(\n a(r.choroplethChart, s.options)\n ), this.init(e, s);\n }\n // Custom getChartComponents - Implements getChartComponents\n // Removes zoombar support and additional `features` that are not supported in heatmap\n getChartComponents(e, s) {\n const n = this.model.getOptions(), t = l(n, \"toolbar\", \"enabled\"), h = !!this.model.getOptions().title, m = {\n id: \"title\",\n components: [new _(this.model, this.services)],\n growth: i.STRETCH\n }, b = {\n id: \"toolbar\",\n components: [new z(this.model, this.services)],\n growth: i.PREFERRED\n }, O = {\n id: \"header\",\n components: [\n new g(\n this.model,\n this.services,\n [\n // always add title to keep layout correct\n m,\n ...t ? [b] : []\n ],\n {\n direction: c.ROW,\n alignItems: Z.CENTER\n }\n )\n ],\n growth: i.PREFERRED\n }, x = {\n id: \"legend\",\n components: [\n new ne(this.model, this.services, {\n chartType: \"choropleth\"\n })\n ],\n growth: i.PREFERRED,\n renderType: A.SVG\n }, L = {\n id: \"graph-frame\",\n components: e,\n growth: i.STRETCH,\n renderType: A.SVG\n }, y = l(s, \"legend\", \"enabled\") !== !1 && this.model.getOptions().legend.enabled !== !1, D = c.COLUMN_REVERSE, f = {\n id: \"spacer\",\n components: [new F(this.model, this.services, { size: 15 })],\n growth: i.PREFERRED\n }, P = {\n id: \"full-frame\",\n components: [\n new g(\n this.model,\n this.services,\n [\n ...y ? [x] : [],\n ...y ? [f] : [],\n L\n ],\n {\n direction: D\n }\n )\n ],\n growth: i.STRETCH\n }, v = [];\n if (h || t) {\n v.push(O);\n const E = {\n id: \"spacer\",\n components: [\n new F(this.model, this.services, t ? { size: 15 } : void 0)\n ],\n growth: i.PREFERRED\n };\n v.push(E);\n }\n return v.push(P), [\n new se(this.model, this.services),\n new W(this.model, this.services),\n new g(this.model, this.services, v, {\n direction: c.COLUMN\n })\n ];\n }\n getComponents() {\n const e = [new Ke(this.model, this.services)];\n return this.getChartComponents(e);\n }\n}\nclass ut extends T {\n constructor(e, s) {\n super(e, s), this.model = new Ae(this.services), this.model.setOptions(a(r.circlePackChart, s.options)), this.init(e, s);\n }\n getComponents() {\n const e = [new Je(this.model, this.services)];\n return this.getChartComponents(e);\n }\n}\nconst Q = {\n [R.LINE]: [k, M],\n [R.SCATTER]: [M],\n [R.AREA]: [oe, k, M],\n [R.STACKED_AREA]: [ie, k, re, U],\n [R.SIMPLE_BAR]: [ae],\n [R.GROUPED_BAR]: [he, I],\n [R.STACKED_BAR]: [ce, U]\n};\nclass vt extends u {\n constructor(e, s) {\n super(e, s);\n const n = a(r.comboChart, s.options);\n s.options.comboChartTypes || (console.error(\"No comboChartTypes defined for the Combo Chart!\"), n.comboChartTypes = [{ type: R.LINE, correspondingDatasets: [] }]), this.model.setOptions(n), this.init(e, s);\n }\n getGraphComponents() {\n const { comboChartTypes: e } = this.model.getOptions();\n let s = 0;\n const n = e.map((t) => {\n const h = t.type;\n let m;\n if (typeof t.type == \"string\") {\n if (!Object.keys(Q).includes(t.type))\n return console.error(\n `Invalid chart type \"${t.type}\" specified for combo chart. Please refer to the ComboChart tutorial for more guidance.`\n ), null;\n let b = !1;\n const O = `${qs(t.type)}Chart`;\n return m = V(\n {},\n r[O],\n this.model.getOptions(),\n t.options\n ), t.type === R.STACKED_AREA && (b = !0), Q[t.type].map(\n (x) => new x(this.model, this.services, {\n groups: t.correspondingDatasets,\n id: s++,\n options: m,\n stacked: b\n })\n );\n } else\n return m = V({}, this.model.getOptions(), t.options), new h(this.model, this.services, {\n groups: t.correspondingDatasets,\n id: s++,\n options: m\n });\n }).filter((t) => t !== null);\n return gs(n);\n }\n getComponents() {\n const { comboChartTypes: e } = this.model.getOptions(), s = e.some(\n (h) => h.type === R.STACKED_BAR || h.type === R.STACKED_AREA\n ), n = [\n new d(this.model, this.services),\n new w(this.model, this.services),\n new C(this.model, this.services, {\n skeleton: p.GRID\n }),\n ...s ? [] : [new B(this.model, this.services)],\n ...this.getGraphComponents()\n ];\n return this.getAxisChartComponents(n);\n }\n}\nclass Xs extends T {\n // TODO - Optimize the use of \"extending\"\n constructor(e, s, n = !1) {\n super(e, s), this.model = new xe(this.services), !n && (this.model.setOptions(a(r.pieChart, s.options)), this.init(e, s));\n }\n getComponents() {\n const e = [\n new qe(this.model, this.services),\n new C(this.model, this.services, {\n skeleton: p.PIE\n })\n ];\n return this.getChartComponents(e);\n }\n}\nclass gt extends Xs {\n constructor(e, s) {\n super(e, s, !0), this.model.setOptions(a(r.donutChart, s.options)), this.init(e, s);\n }\n getComponents() {\n const e = [\n new Xe(this.model, this.services),\n new C(this.model, this.services, {\n skeleton: p.DONUT\n })\n ];\n return this.getChartComponents(e);\n }\n}\nclass wt extends T {\n constructor(e, s) {\n super(e, s), this.model = new ye(this.services), this.model.setOptions(a(r.gaugeChart, s.options)), this.init(e, s);\n }\n getComponents() {\n const e = [new Qe(this.model, this.services)];\n return this.getChartComponents(e);\n }\n}\nclass Et extends u {\n constructor(e, s) {\n super(e, s), this.model.setOptions(a(r.groupedBarChart, s.options)), this.init(e, s);\n }\n getComponents() {\n const e = [\n new d(this.model, this.services),\n new w(this.model, this.services),\n new he(this.model, this.services),\n new I(this.model, this.services),\n new C(this.model, this.services, {\n skeleton: p.VERT_OR_HORIZ\n })\n ];\n return this.getAxisChartComponents(e);\n }\n}\nclass Rt extends u {\n constructor(e, s) {\n super(e, s), this.model = new De(this.services), this.model.setOptions(a(r.heatmapChart, s.options)), this.init(e, s);\n }\n // Custom getChartComponents - Implements getChartComponents\n // Removes zoombar support and additional `features` that are not supported in heatmap\n getAxisChartComponents(e, s) {\n const n = this.model.getOptions(), t = l(n, \"toolbar\", \"enabled\");\n this.services.cartesianScales.determineAxisDuality(), this.services.cartesianScales.findDomainAndRangeAxes(), this.services.cartesianScales.determineOrientation();\n const h = !!this.model.getOptions().title, m = {\n id: \"title\",\n components: [new _(this.model, this.services)],\n growth: i.STRETCH\n }, b = {\n id: \"toolbar\",\n components: [new z(this.model, this.services)],\n growth: i.PREFERRED\n }, O = {\n id: \"header\",\n components: [\n new g(\n this.model,\n this.services,\n [\n // always add title to keep layout correct\n m,\n ...t ? [b] : []\n ],\n {\n direction: c.ROW,\n alignItems: Z.CENTER\n }\n )\n ],\n growth: i.PREFERRED\n }, x = {\n id: \"legend\",\n components: [\n new ne(this.model, this.services, {\n chartType: \"heatmap\"\n })\n ],\n growth: i.PREFERRED,\n renderType: A.SVG\n }, L = {\n id: \"graph-frame\",\n components: e,\n growth: i.STRETCH,\n renderType: A.SVG\n }, y = l(s, \"legend\", \"enabled\") !== !1 && this.model.getOptions().legend.enabled !== !1, D = c.COLUMN_REVERSE, f = {\n id: \"spacer\",\n components: [new F(this.model, this.services, { size: 15 })],\n growth: i.PREFERRED\n }, P = {\n id: \"full-frame\",\n components: [\n new g(\n this.model,\n this.services,\n [\n ...y ? [x] : [],\n ...y ? [f] : [],\n L\n ],\n {\n direction: D\n }\n )\n ],\n growth: i.STRETCH\n }, v = [];\n if (h || t) {\n v.push(O);\n const E = {\n id: \"spacer\",\n components: [\n new F(this.model, this.services, t ? { size: 15 } : void 0)\n ],\n growth: i.PREFERRED\n };\n v.push(E);\n }\n return v.push(P), [\n new te(this.model, this.services),\n new W(this.model, this.services),\n new g(this.model, this.services, v, {\n direction: c.COLUMN\n })\n ];\n }\n getComponents() {\n const e = [\n new d(this.model, this.services),\n new Ye(this.model, this.services)\n ];\n return this.getAxisChartComponents(e);\n }\n}\nclass Tt extends u {\n constructor(e, s) {\n super(e, s), this.model = new Fe(this.services), this.model.setOptions(a(r.histogramChart, s.options)), this.init(e, s), this.update();\n }\n getComponents() {\n const e = [\n new d(this.model, this.services),\n new w(this.model, this.services),\n new es(this.model, this.services),\n new ss(this.model, this.services)\n ];\n return this.getAxisChartComponents(e);\n }\n}\nclass bt extends u {\n constructor(e, s) {\n super(e, s), this.model.setOptions(a(r.lineChart, s.options)), this.init(e, s);\n }\n getComponents() {\n const e = [\n new d(this.model, this.services),\n new w(this.model, this.services),\n new B(this.model, this.services),\n new k(this.model, this.services),\n new M(this.model, this.services, { handleThresholds: !0 }),\n new ts(this.model, this.services),\n new I(this.model, this.services)\n ];\n return this.getAxisChartComponents(e);\n }\n}\nclass Ot extends u {\n constructor(e, s) {\n super(e, s), this.model.setOptions(a(r.lollipopChart, s.options)), this.init(e, s);\n }\n getComponents() {\n const e = [\n new d(this.model, this.services),\n new w(this.model, this.services),\n new B(this.model, this.services),\n new os(this.model, this.services),\n new M(this.model, this.services),\n new C(this.model, this.services, {\n skeleton: p.GRID\n })\n ];\n return this.getAxisChartComponents(e);\n }\n}\nclass ft extends T {\n constructor(e, s) {\n var t;\n super(e, s), this.model = new Le(this.services);\n const n = (t = s.options.meter) != null && t.proportional ? V(J(r.proportionalMeterChart), s.options) : V(J(r.meterChart), s.options);\n this.model.setOptions(n), this.init(e, s);\n }\n getComponents() {\n const s = [\n ...l(this.model.getOptions(), \"meter\", \"showLabels\") ? [\n // Meter has a unique dataset title within the graph\n {\n id: \"meter-title\",\n components: [new ns(this.model, this.services)],\n growth: i.STRETCH,\n renderType: A.SVG\n },\n // Create the title spacer\n {\n id: \"spacer\",\n components: [\n new F(this.model, this.services, {\n size: 8\n })\n ],\n growth: i.STRETCH\n }\n ] : [],\n // Specify what to render inside the graph only\n {\n id: \"meter-graph\",\n components: [new is(this.model, this.services)],\n growth: i.STRETCH,\n renderType: A.SVG\n }\n ], n = [\n new g(this.model, this.services, s, {\n direction: c.COLUMN\n })\n ];\n return this.getChartComponents(n, {\n graphFrameRenderType: A.HTML\n });\n }\n}\nclass St extends T {\n constructor(e, s) {\n super(e, s), this.model = new Pe(this.services), this.model.setOptions(a(r.radarChart, s.options)), this.init(e, s);\n }\n getComponents() {\n const e = [new rs(this.model, this.services)];\n return this.getChartComponents(e);\n }\n}\nclass At extends u {\n constructor(e, s) {\n super(e, s), this.model.setOptions(a(r.scatterChart, s.options)), this.init(e, s);\n }\n getComponents() {\n const e = [\n new d(this.model, this.services),\n new w(this.model, this.services),\n new B(this.model, this.services),\n new M(this.model, this.services),\n new C(this.model, this.services, {\n skeleton: p.GRID\n })\n ];\n return this.getAxisChartComponents(e);\n }\n}\nclass xt extends T {\n constructor(e, s) {\n super(e, s), this.model = new Me(this.services), this.model.setOptions(a(r.treeChart, s.options)), this.init(e, s);\n }\n getComponents() {\n const e = [new as(this.model, this.services)];\n return this.getChartComponents(e, {\n excludeLegend: !0\n });\n }\n}\nclass yt extends T {\n constructor(e, s) {\n super(e, s), this.model = new ke(this.services), this.model.setOptions(a(r.treemapChart, s.options)), this.init(e, s);\n }\n getComponents() {\n const e = [new hs(this.model, this.services)];\n return this.getChartComponents(e);\n }\n}\nclass Dt extends u {\n constructor(e, s) {\n super(e, s), this.model.setOptions(a(r.simpleBarChart, s.options)), this.init(e, s);\n }\n getComponents() {\n const e = [\n new d(this.model, this.services),\n new w(this.model, this.services),\n new ae(this.model, this.services),\n new I(this.model, this.services),\n new C(this.model, this.services, {\n skeleton: p.VERT_OR_HORIZ\n })\n ];\n return this.getAxisChartComponents(e);\n }\n}\nclass Ft extends u {\n constructor(e, s) {\n super(e, s), this.model.setOptions(a(r.stackedAreaChart, s.options)), this.init(e, s);\n }\n getComponents() {\n const e = [\n new d(this.model, this.services),\n new w(this.model, this.services),\n new U(this.model, this.services),\n new ie(this.model, this.services),\n new k(this.model, this.services, { stacked: !0 }),\n new re(this.model, this.services, {\n fadeInOnChartHolderMouseover: !0,\n handleThresholds: !0,\n stacked: !0\n }),\n new C(this.model, this.services, {\n skeleton: p.GRID\n })\n ];\n return this.getAxisChartComponents(e);\n }\n}\nclass Lt extends u {\n constructor(e, s) {\n super(e, s), this.model.setOptions(a(r.stackedBarChart, s.options)), this.init(e, s);\n }\n getComponents() {\n const e = [\n new d(this.model, this.services),\n new w(this.model, this.services),\n new U(this.model, this.services),\n new ce(this.model, this.services),\n new C(this.model, this.services, {\n skeleton: p.VERT_OR_HORIZ\n }),\n new I(this.model, this.services)\n ];\n return this.getAxisChartComponents(e);\n }\n}\nclass Pt extends T {\n constructor(e, s) {\n super(e, s), this.model = new Be(this.services), this.model.setOptions(a(r.wordCloudChart, s.options)), this.init(e, s);\n }\n getComponents() {\n const e = [\n new cs(this.model, this.services),\n new C(this.model, this.services, {\n skeleton: p.PIE\n })\n ];\n return this.getChartComponents(e);\n }\n}\nexport {\n wo as Alignments,\n ze as Alluvial,\n ct as AlluvialChart,\n be as AlluvialChartModel,\n oe as Area,\n mt as AreaChart,\n Eo as AreaEvent,\n Ro as ArrowDirections,\n an as Axis,\n u as AxisChart,\n te as AxisChartsTooltip,\n To as AxisEvent,\n bo as AxisFlavor,\n $ as AxisPositions,\n Oo as AxisTitleOrientations,\n hn as Bar,\n fo as BarEvent,\n es as BinnedRuler,\n We as Boxplot,\n lt as BoxplotChart,\n Oe as BoxplotChartModel,\n So as BoxplotEvent,\n je as Bubble,\n pt as BubbleChart,\n $e as Bullet,\n dt as BulletChart,\n fe as BulletChartModel,\n Ao as CalloutDirections,\n Ge as CanvasChartClip,\n ms as CanvasZoom,\n xo as CanvasZoomEvent,\n yo as CartesianOrientations,\n Cs as CartesianScales,\n T as Chart,\n Ne as ChartBrush,\n Ve as ChartClip,\n Do as ChartEvent,\n Re as ChartModel,\n Fe as ChartModelBinned,\n Te as ChartModelCartesian,\n Fo as ChartTheme,\n R as ChartTypes,\n Ke as Choropleth,\n Se as ChoroplethModel,\n Je as CirclePack,\n ut as CirclePackChart,\n Ae as CirclePackChartModel,\n Lo as ColorClassNameTypes,\n Po as ColorLegendType,\n ne as ColorScaleLegend,\n vt as ComboChart,\n cn as Component,\n us as Curves,\n ws as DOMUtils,\n Mo as DividerStatus,\n ko as DominantBaseline,\n Xe as Donut,\n gt as DonutChart,\n ls as Events,\n Ct as ExperimentalChoroplethChart,\n ps as Files,\n Qe as Gauge,\n wt as GaugeChart,\n ye as GaugeChartModel,\n Bo as GaugeEvent,\n Io as GaugeTypes,\n mn as GeoProjection,\n Es as GradientUtils,\n w as Grid,\n he as GroupedBar,\n Et as GroupedBarChart,\n Ye as Heatmap,\n Rt as HeatmapChart,\n De as HeatmapModel,\n Ze as Highlight,\n ss as Histogram,\n Tt as HistogramChart,\n ln as HoverAxis,\n Z as LayoutAlignItems,\n g as LayoutComponent,\n c as LayoutDirection,\n i as LayoutGrowth,\n ee as Legend,\n Ho as LegendItemType,\n N as LegendOrientations,\n K as LegendPositions,\n k as Line,\n bt as LineChart,\n Go as LineEvent,\n os as Lollipop,\n Ot as LollipopChart,\n is as Meter,\n ft as MeterChart,\n Le as MeterChartModel,\n ns as MeterTitle,\n W as Modal,\n Vo as ModalEvent,\n No as ModelEvent,\n qe as Pie,\n Xs as PieChart,\n xe as PieChartModel,\n Uo as PieEvent,\n Zo as Projection,\n rs as Radar,\n St as RadarChart,\n Pe as RadarChartModel,\n _o as RadarEvent,\n A as RenderTypes,\n B as Ruler,\n Ie as ScaleTypes,\n M as Scatter,\n At as ScatterChart,\n zo as ScatterEvent,\n bn as Service,\n ae as SimpleBar,\n Dt as SimpleBarChart,\n C as Skeleton,\n ts as SkeletonLines,\n p as Skeletons,\n F as Spacer,\n ie as StackedArea,\n Ft as StackedAreaChart,\n ce as StackedBar,\n Lt as StackedBarChart,\n U as StackedRuler,\n re as StackedScatter,\n Wo as Statuses,\n Bt as TIME_INTERVALS,\n jo as TextAnchor,\n Ue as Threshold,\n $o as ThresholdEvent,\n Ko as TickRotations,\n _ as Title,\n z as Toolbar,\n Jo as ToolbarControlTypes,\n se as Tooltip,\n qo as TooltipEvent,\n ds as Transitions,\n as as Tree,\n xt as TreeChart,\n Me as TreeChartModel,\n Xo as TreeEvent,\n Qo as TreeTypes,\n hs as Treemap,\n yt as TreemapChart,\n ke as TreemapChartModel,\n Yo as TreemapEvent,\n en as TruncationTypes,\n d as TwoDimensionalAxes,\n cs as WordCloud,\n Pt as WordCloudChart,\n sn as WordCloudEvent,\n Be as WordCloudModel,\n I as ZeroLine,\n vs as Zoom,\n _e as ZoomBar,\n tn as ZoomBarTypes,\n on as ZoomDomainEvent,\n nn as ZoombarEvent,\n It as alluvial,\n Ht as area,\n pn as arrowLeft,\n dn as arrowRight,\n Gt as axis,\n Vt as baseTooltip,\n Nt as boxplot,\n Cn as buildBezierPathString,\n un as buildElbowPathString,\n vn as buildStraightPathString,\n Ut as canvasZoomSettings,\n Zt as carbonPrefix,\n gn as circle,\n _t as circlePack,\n zt as color,\n Wt as computeTimeIntervalName,\n jt as configurations,\n $t as defaultLegendAdditionalItems,\n On as degToRad,\n wn as diamond,\n fn as distanceBetweenPointOnCircAndVerticalDiameter,\n Kt as formatDateTillMilliSeconds,\n Jt as formatTick,\n qt as getColorScale,\n Xt as getDomain,\n Qt as getTimeformats,\n Yt as grid,\n eo as histogram,\n vo as interfaces,\n so as isTickPrimary,\n to as legend,\n oo as lines,\n no as meter,\n r as options,\n io as pie,\n Sn as polarToCartesianCoords,\n An as radToDeg,\n ro as radar,\n xn as radialLabelPlacement,\n ao as ruler,\n ho as spacers,\n En as square,\n Rn as tee,\n co as timeScale,\n mo as toolbar,\n lo as tooltips,\n po as transitions,\n Co as zoomBar\n};\n//# sourceMappingURL=index.mjs.map\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nvar React = require('react');\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, true);\n }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, false);\n }\n}\n\nvar jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs = jsxWithValidationStatic ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import React from 'react'\nimport type { Chart as BaseChartCore, BaseChartOptions, ChartTabularData } from '@carbon/charts'\n\ninterface Props<Options extends BaseChartOptions> {\n options: Options\n data: ChartTabularData\n}\n\n// TODO: add abstract keyword once React 16 support no longer needed\nexport default class BaseChart<\n Options extends BaseChartOptions = BaseChartOptions\n> extends React.PureComponent<Props<Options>, unknown> {\n chart?: BaseChartCore\n chartRef = React.createRef<HTMLDivElement>()\n\n // TODO: add abstract keyword once React 16 support no longer needed then remove the next 3 comments\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n createChart(chartRef: HTMLDivElement, data: ChartTabularData, options: Options): BaseChartCore {\n throw new Error('Method not implemented.')\n }\n\n componentDidMount() {\n if (this.chartRef.current && !this.chart) {\n this.chart = this.createChart(this.chartRef.current, this.props.data, this.props.options)\n }\n }\n\n componentDidUpdate(prevProps: Props<Options>) {\n if (this.props.data !== prevProps.data) {\n this.chart?.model.setData(this.props.data)\n }\n\n if (this.props.options !== prevProps.options) {\n this.chart?.model.setOptions(this.props.options)\n }\n }\n\n render() {\n return <div ref={this.chartRef} className=\"chart-holder\"></div>\n }\n}\n","import {\n\tAlluvialChart as AlluvialChartCore,\n\ttype AlluvialChartOptions,\n\ttype ChartTabularData\n} from '@carbon/charts'\nimport BaseChart from './BaseChart'\n\nexport default class AlluvialChart extends BaseChart<AlluvialChartOptions> {\n\tcreateChart(chartRef: HTMLDivElement, data: ChartTabularData, options: AlluvialChartOptions) {\n\t\treturn new AlluvialChartCore(chartRef, { data, options })\n\t}\n}\n","import {\n\tAreaChart as AreaChartCore,\n\ttype AreaChartOptions,\n\ttype ChartTabularData\n} from '@carbon/charts'\nimport BaseChart from './BaseChart'\n\nexport default class AreaChart extends BaseChart<AreaChartOptions> {\n\tcreateChart(chartRef: HTMLDivElement, data: ChartTabularData, options: AreaChartOptions) {\n\t\treturn new AreaChartCore(chartRef, { data, options })\n\t}\n}\n","import {\n\tBoxplotChart as BoxplotChartCore,\n\ttype BoxplotChartOptions,\n\ttype ChartTabularData\n} from '@carbon/charts'\nimport BaseChart from './BaseChart'\n\nexport default class BoxplotChart extends BaseChart<BoxplotChartOptions> {\n\tcreateChart(chartRef: HTMLDivElement, data: ChartTabularData, options: BoxplotChartOptions) {\n\t\treturn new BoxplotChartCore(chartRef, { data, options })\n\t}\n}\n","import {\n\tBubbleChart as BubbleChartCore,\n\ttype BubbleChartOptions,\n\ttype ChartTabularData\n} from '@carbon/charts'\nimport BaseChart from './BaseChart'\n\nexport default class BubbleChart extends BaseChart<BubbleChartOptions> {\n\tcreateChart(chartRef: HTMLDivElement, data: ChartTabularData, options: BubbleChartOptions) {\n\t\treturn new BubbleChartCore(chartRef, { data, options })\n\t}\n}\n","import {\n\tBulletChart as BulletChartCore,\n\ttype BulletChartOptions,\n\ttype ChartTabularData\n} from '@carbon/charts'\nimport BaseChart from './BaseChart'\n\nexport default class BulletChart extends BaseChart<BulletChartOptions> {\n\tcreateChart(chartRef: HTMLDivElement, data: ChartTabularData, options: BulletChartOptions) {\n\t\treturn new BulletChartCore(chartRef, { data, options })\n\t}\n}\n","import {\n\tExperimentalChoroplethChart as ChoroplethChartCore,\n\ttype ChoroplethChartOptions,\n\ttype ChartTabularData\n} from '@carbon/charts'\nimport BaseChart from './BaseChart'\n\nexport default class ExperimentalChoroplethChart extends BaseChart<ChoroplethChartOptions> {\n\tcreateChart(chartRef: HTMLDivElement, data: ChartTabularData, options: ChoroplethChartOptions) {\n\t\treturn new ChoroplethChartCore(chartRef, { data, options })\n\t}\n}\n","import {\n\tCirclePackChart as CirclePackChartCore,\n\ttype CirclePackChartOptions,\n\ttype ChartTabularData\n} from '@carbon/charts'\nimport BaseChart from './BaseChart'\n\nexport default class CirclePackChart extends BaseChart<CirclePackChartOptions> {\n\tcreateChart(chartRef: HTMLDivElement, data: ChartTabularData, options: CirclePackChartOptions) {\n\t\treturn new CirclePackChartCore(chartRef, { data, options })\n\t}\n}\n","import {\n\tComboChart as ComboChartCore,\n\ttype ComboChartOptions,\n\ttype ChartTabularData\n} from '@carbon/charts'\nimport BaseChart from './BaseChart'\n\nexport default class ComboChart extends BaseChart<ComboChartOptions> {\n\tcreateChart(chartRef: HTMLDivElement, data: ChartTabularData, options: ComboChartOptions) {\n\t\treturn new ComboChartCore(chartRef, { data, options })\n\t}\n}\n","import {\n\tDonutChart as DonutChartCore,\n\ttype DonutChartOptions,\n\ttype ChartTabularData\n} from '@carbon/charts'\nimport BaseChart from './BaseChart'\n\nexport default class DonutChart extends BaseChart<DonutChartOptions> {\n\tcreateChart(chartRef: HTMLDivElement, data: ChartTabularData, options: DonutChartOptions) {\n\t\treturn new DonutChartCore(chartRef, { data, options })\n\t}\n}\n","import {\n\tGaugeChart as GaugeChartCore,\n\ttype GaugeChartOptions,\n\ttype ChartTabularData\n} from '@carbon/charts'\nimport BaseChart from './BaseChart'\n\nexport default class GaugeChart extends BaseChart<GaugeChartOptions> {\n\tcreateChart(chartRef: HTMLDivElement, data: ChartTabularData, options: GaugeChartOptions) {\n\t\treturn new GaugeChartCore(chartRef, { data, options })\n\t}\n}\n","import {\n\tGroupedBarChart as GroupedBarChartCore,\n\ttype BarChartOptions,\n\ttype ChartTabularData\n} from '@carbon/charts'\nimport BaseChart from './BaseChart'\n\nexport default class GroupedBarChart extends BaseChart<BarChartOptions> {\n\tcreateChart(chartRef: HTMLDivElement, data: ChartTabularData, options: BarChartOptions) {\n\t\treturn new GroupedBarChartCore(chartRef, { data, options })\n\t}\n}\n","import {\n\tHeatmapChart as HeatmapChartCore,\n\ttype HeatmapChartOptions,\n\ttype ChartTabularData\n} from '@carbon/charts'\nimport BaseChart from './BaseChart'\n\nexport default class HeatmapChart extends BaseChart<HeatmapChartOptions> {\n\tcreateChart(chartRef: HTMLDivElement, data: ChartTabularData, options: HeatmapChartOptions) {\n\t\treturn new HeatmapChartCore(chartRef, { data, options })\n\t}\n}\n","import {\n\tHistogramChart as HistogramChartCore,\n\ttype HistogramChartOptions,\n\ttype ChartTabularData\n} from '@carbon/charts'\nimport BaseChart from './BaseChart'\n\nexport default class HistogramChart extends BaseChart<HistogramChartOptions> {\n\tcreateChart(chartRef: HTMLDivElement, data: ChartTabularData, options: HistogramChartOptions) {\n\t\treturn new HistogramChartCore(chartRef, { data, options })\n\t}\n}\n","import {\n\tLineChart as LineChartCore,\n\ttype LineChartOptions,\n\ttype ChartTabularData\n} from '@carbon/charts'\nimport BaseChart from './BaseChart'\n\nexport default class LineChart extends BaseChart<LineChartOptions> {\n\tcreateChart(chartRef: HTMLDivElement, data: ChartTabularData, options: LineChartOptions) {\n\t\treturn new LineChartCore(chartRef, { data, options })\n\t}\n}\n","import {\n\tLollipopChart as LollipopChartCore,\n\ttype LollipopChartOptions,\n\ttype ChartTabularData\n} from '@carbon/charts'\nimport BaseChart from './BaseChart'\n\nexport default class LollipopChart extends BaseChart<LollipopChartOptions> {\n\tcreateChart(chartRef: HTMLDivElement, data: ChartTabularData, options: LollipopChartOptions) {\n\t\treturn new LollipopChartCore(chartRef, { data, options })\n\t}\n}\n","import {\n\tMeterChart as MeterChartCore,\n\ttype MeterChartOptions,\n\ttype ChartTabularData\n} from '@carbon/charts'\nimport BaseChart from './BaseChart'\n\nexport default class MeterChart extends BaseChart<MeterChartOptions> {\n\tcreateChart(chartRef: HTMLDivElement, data: ChartTabularData, options: MeterChartOptions) {\n\t\treturn new MeterChartCore(chartRef, { data, options })\n\t}\n}\n","import {\n\tPieChart as PieChartCore,\n\ttype PieChartOptions,\n\ttype ChartTabularData\n} from '@carbon/charts'\nimport BaseChart from './BaseChart'\n\nexport default class PieChart extends BaseChart<PieChartOptions> {\n\tcreateChart(chartRef: HTMLDivElement, data: ChartTabularData, options: PieChartOptions) {\n\t\treturn new PieChartCore(chartRef, { data, options })\n\t}\n}\n","import {\n\tRadarChart as RadarChartCore,\n\ttype RadarChartOptions,\n\ttype ChartTabularData\n} from '@carbon/charts'\nimport BaseChart from './BaseChart'\n\nexport default class RadarChart extends BaseChart<RadarChartOptions> {\n\tcreateChart(chartRef: HTMLDivElement, data: ChartTabularData, options: RadarChartOptions) {\n\t\treturn new RadarChartCore(chartRef, { data, options })\n\t}\n}\n","import {\n\tScatterChart as ScatterChartCore,\n\ttype ScatterChartOptions,\n\ttype ChartTabularData\n} from '@carbon/charts'\nimport BaseChart from './BaseChart'\n\nexport default class ScatterChart extends BaseChart<ScatterChartOptions> {\n\tcreateChart(chartRef: HTMLDivElement, data: ChartTabularData, options: ScatterChartOptions) {\n\t\treturn new ScatterChartCore(chartRef, { data, options })\n\t}\n}\n","import {\n\tSimpleBarChart as SimpleBarChartCore,\n\ttype BarChartOptions,\n\ttype ChartTabularData\n} from '@carbon/charts'\nimport BaseChart from './BaseChart'\n\nexport default class SimpleBarChart extends BaseChart<BarChartOptions> {\n\tcreateChart(chartRef: HTMLDivElement, data: ChartTabularData, options: BarChartOptions) {\n\t\treturn new SimpleBarChartCore(chartRef, { data, options })\n\t}\n}\n","import {\n\tStackedAreaChart as StackedAreaChartCore,\n\ttype StackedAreaChartOptions,\n\ttype ChartTabularData\n} from '@carbon/charts'\nimport BaseChart from './BaseChart'\n\nexport default class StackedAreaChart extends BaseChart<StackedAreaChartOptions> {\n\tcreateChart(chartRef: HTMLDivElement, data: ChartTabularData, options: StackedAreaChartOptions) {\n\t\treturn new StackedAreaChartCore(chartRef, { data, options })\n\t}\n}\n","import {\n\tStackedBarChart as StackedBarChartCore,\n\ttype StackedBarChartOptions,\n\ttype ChartTabularData\n} from '@carbon/charts'\nimport BaseChart from './BaseChart'\n\nexport default class StackedBarChart extends BaseChart<StackedBarChartOptions> {\n\tcreateChart(chartRef: HTMLDivElement, data: ChartTabularData, options: StackedBarChartOptions) {\n\t\treturn new StackedBarChartCore(chartRef, { data, options })\n\t}\n}\n","import {\n\tTreeChart as TreeChartCore,\n\ttype TreeChartOptions,\n\ttype ChartTabularData\n} from '@carbon/charts'\nimport BaseChart from './BaseChart'\n\nexport default class TreeChart extends BaseChart<TreeChartOptions> {\n\tcreateChart(chartRef: HTMLDivElement, data: ChartTabularData, options: TreeChartOptions) {\n\t\treturn new TreeChartCore(chartRef, { data, options })\n\t}\n}\n","import {\n\tTreemapChart as TreemapChartCore,\n\ttype TreemapChartOptions,\n\ttype ChartTabularData\n} from '@carbon/charts'\nimport BaseChart from './BaseChart'\n\nexport default class TreemapChart extends BaseChart<TreemapChartOptions> {\n\tcreateChart(chartRef: HTMLDivElement, data: ChartTabularData, options: TreemapChartOptions) {\n\t\treturn new TreemapChartCore(chartRef, { data, options })\n\t}\n}\n","import {\n\tWordCloudChart as WordCloudChartCore,\n\ttype WorldCloudChartOptions,\n\ttype ChartTabularData\n} from '@carbon/charts'\nimport BaseChart from './BaseChart'\n\nexport default class WordCloudChart extends BaseChart<WorldCloudChartOptions> {\n\tcreateChart(chartRef: HTMLDivElement, data: ChartTabularData, options: WorldCloudChartOptions) {\n\t\treturn new WordCloudChartCore(chartRef, { data, options })\n\t}\n}\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","export const carbonPrefix = 'cds'\n","import React from 'react'\nimport classnames from 'classnames'\nimport { carbonPrefix } from './utils'\n\ntype CssPosition = 'fixed' | 'absolute' | 'relative' | 'static' | 'sticky'\n\ntype CardNodeProps = {\n\ttag?: 'div' | 'a' | 'button'\n\thref?: string\n\tstacked?: boolean\n\tcolor?: string\n\tposition?: CssPosition\n\tchildren?: React.ReactNode\n}\n\nconst CardNode: React.FC<\n\tCardNodeProps & React.HTMLAttributes<HTMLAnchorElement | HTMLDivElement | HTMLButtonElement>\n> = ({ tag = 'div', children, color, href, position = 'static', stacked, ...rest }) => {\n\tconst Component = href ? 'a' : rest.onClick ? 'button' : tag\n\n\tconst namespace = `${carbonPrefix}--cc--card-node`\n\tconst cardClasses = classnames(namespace, {\n\t\t[`${namespace}--stacked`]: stacked,\n\t\t[`${namespace}--${Component}`]: Component,\n\t\t[rest.className as string]: rest.className\n\t})\n\n\treturn (\n\t\t<Component\n\t\t\tclassName={cardClasses}\n\t\t\tstyle={{ borderColor: color, position }}\n\t\t\ttabIndex={0}\n\t\t\t{...rest}>\n\t\t\t{children}\n\t\t</Component>\n\t)\n}\n\n\nexport { CardNode }\n","import React from 'react'\nimport classnames from 'classnames'\nimport { carbonPrefix } from './utils'\n\ntype CardNodeColumnProps = {\n\tchildren?: React.ReactNode\n\tfarsideColumn?: boolean\n}\n\nconst CardNodeColumn: React.FC<CardNodeColumnProps & React.HTMLAttributes<HTMLDivElement>> = ({\n\tchildren,\n\tfarsideColumn = false,\n\t...rest\n}) => {\n\tconst namespace = `${carbonPrefix}--cc--card-node`\n\tconst classes = classnames(`${namespace}__column`, {\n\t\t[`${namespace}__column--farside`]: farsideColumn,\n\t\t...(rest.className ? { [rest.className]: true } : {})\n\t})\n\n\treturn (\n\t\t<div className={classes} {...rest}>\n\t\t\t{children}\n\t\t</div>\n\t)\n}\n\nexport { CardNodeColumn }\n","import React from 'react'\nimport classnames from 'classnames'\nimport { carbonPrefix } from './utils'\n\ntype CardNodeLabelProps = {\n\tchildren?: React.ReactNode\n}\n\nconst CardNodeLabel: React.FC<CardNodeLabelProps & React.HTMLAttributes<HTMLLabelElement>> = ({\n\tchildren,\n\t...rest\n}) => {\n\tconst namespace = `${carbonPrefix}--cc--card-node`\n\tconst classes = classnames(`${namespace}__label`, {\n\t\t...(rest.className ? { [rest.className]: true } : {})\n\t})\n\n\treturn (\n\t\t<label className={classes} {...rest}>\n\t\t\t{children}\n\t\t</label>\n\t)\n}\n\nexport { CardNodeLabel }\n","import React from 'react'\nimport classnames from 'classnames'\nimport { carbonPrefix } from './utils'\n\ntype CardNodeSubtitleProps = {\n\tchildren?: React.ReactNode\n}\n\nconst CardNodeSubtitle: React.FC<CardNodeSubtitleProps & React.HTMLAttributes<HTMLDivElement>> = ({\n\tchildren,\n\t...rest\n}) => {\n\tconst namespace = `${carbonPrefix}--cc--card-node`\n\tconst classes = classnames(`${namespace}__subtitle`, {\n\t\t...(rest.className ? { [rest.className]: true } : {})\n\t})\n\n\treturn (\n\t\t<div className={classes} {...rest}>\n\t\t\t{children}\n\t\t</div>\n\t)\n}\n\nexport { CardNodeSubtitle }\n","import React from 'react'\nimport classnames from 'classnames'\nimport { carbonPrefix } from './utils'\n\ntype CardNodeTitleProps = {\n\tchildren?: React.ReactNode\n}\n\nconst CardNodeTitle: React.FC<CardNodeTitleProps & React.HTMLAttributes<HTMLDivElement>> = ({\n\tchildren,\n\t...rest\n}) => {\n\tconst namespace = `${carbonPrefix}--cc--card-node`\n\tconst classes = classnames(`${namespace}__title`, {\n\t\t...(rest.className ? { [rest.className]: true } : {})\n\t})\n\n\treturn (\n\t\t<div className={classes} {...rest}>\n\t\t\t{children}\n\t\t</div>\n\t)\n}\n\nexport { CardNodeTitle }\n","import React from 'react'\nimport classnames from 'classnames'\nimport { buildStraightPathString } from '@carbon/charts'\nimport { carbonPrefix } from './utils'\n\ntype Coordinates = {\n\tx: number\n\ty: number\n}\n\ntype EdgeProps = {\n\tcolor?: string\n\tmarkerStart?: string\n\tmarkerEnd?: string\n\tsource?: Coordinates\n\ttarget?: Coordinates // Conflicts with React.SVGProps<SVGGElement> type for target\n\tpath?: string\n\tvariant?: string // 'dash-sm' | 'dash-md' | 'dash-lg' | 'dash-xl' | 'double' | 'tunnel'\n}\n\ntype EdgeSVGProps = Omit<React.SVGProps<SVGGElement>, 'target'>\n\nconst Edge: React.FC<EdgeProps & EdgeSVGProps> = ({\n\tcolor,\n\tmarkerEnd,\n\tmarkerStart,\n\tpath,\n\tsource,\n\ttarget,\n\tvariant = null,\n\t...rest\n}) => {\n\tconst namespace = `${carbonPrefix}--cc--edge`\n\tconst pathClasses = classnames(namespace, {\n\t\t[`${namespace}--${variant}`]: variant,\n\t\t...(rest.className ? { [rest.className]: true } : {})\n\t})\n\n\tlet d = path\n\tif (!d && source && target) {\n\t\td = buildStraightPathString(source, target)\n\t}\n\n\tif (!d) throw Error('Missing parameters for Edge component: path or source and target.')\n\n\treturn (\n\t\t<g className={pathClasses} {...rest}>\n\t\t\t<path d={d} className={`${namespace}__container`} />\n\t\t\t<path d={d} className={`${namespace}__outer`} />\n\t\t\t<path\n\t\t\t\td={d}\n\t\t\t\tclassName={`${namespace}__inner`}\n\t\t\t\tmarkerEnd={`url(#${markerEnd})`}\n\t\t\t\tmarkerStart={`url(#${markerStart})`}\n\t\t\t\tstyle={{ stroke: color }}\n\t\t\t/>\n\t\t</g>\n\t)\n}\n\nexport default Edge\n","import React, { SVGProps } from 'react'\nimport classnames from 'classnames'\nimport { carbonPrefix } from './utils'\nimport { arrowLeft, arrowRight, circle, diamond, square, tee } from '@carbon/charts'\n\ninterface MarkerProps extends SVGProps<SVGMarkerElement> {\n\tid?: string\n\td?: string\n\tcolor?: string\n\tposition?: 'start' | 'end'\n\torient?: string | number\n\theight?: number\n\twidth?: number\n\trefX?: number\n\trefY?: number\n}\n\nconst Marker: React.FC<MarkerProps> = ({\n\tcolor,\n\td,\n\tid,\n\torient = 'auto',\n\theight,\n\twidth,\n\tposition = 'end',\n\tclassName,\n\trefX,\n\trefY,\n\t...rest\n}) => {\n\tconst namespace = `${carbonPrefix}--cc--marker`\n\tconst classes = classnames(namespace, className)\n\n\tconst xPos = position === 'end' ? (width || 0) / 2 + 0.5 : 0.5\n\tconst yPos = (height || 0) / 2\n\n\treturn (\n\t\t<marker\n\t\t\tclassName={classes}\n\t\t\tmarkerHeight={height}\n\t\t\tmarkerWidth={width}\n\t\t\torient={orient}\n\t\t\tid={id}\n\t\t\trefX={refX || xPos}\n\t\t\trefY={refY || yPos}\n\t\t\tmarkerUnits=\"userSpaceOnUse\"\n\t\t\t{...rest}>\n\t\t\t<path d={d} style={{ fill: color }} />\n\t\t</marker>\n\t)\n}\n\nconst ArrowLeftMarker: React.FC<Omit<MarkerProps, 'd'>> = (props) => <Marker d={arrowLeft.d} {...props} />\nconst ArrowRightMarker: React.FC<Omit<MarkerProps, 'd'>> = (props) => <Marker d={arrowRight.d} {...props} />\nconst CircleMarker: React.FC<Omit<MarkerProps, 'd'>> = (props) => <Marker d={circle.d} {...props} />\nconst DiamondMarker: React.FC<Omit<MarkerProps, 'd'>> = (props) => <Marker d={diamond.d} {...props} />\nconst SquareMarker: React.FC<Omit<MarkerProps, 'd'>> = (props) => <Marker d={square.d} {...props} />\nconst TeeMarker: React.FC<Omit<MarkerProps, 'd'>> = (props) => <Marker d={tee.d} {...props} />\n\nexport {\n\tMarker,\n\tArrowLeftMarker,\n\tArrowRightMarker,\n\tCircleMarker,\n\tDiamondMarker,\n\tSquareMarker,\n\tTeeMarker\n}\n","import React from 'react'\nimport classnames from 'classnames'\nimport { carbonPrefix } from './utils'\n\ntype CssPosition = 'fixed' | 'absolute' | 'relative' | 'static' | 'sticky'\n\ntype ShapeNodeProps = {\n\tshape?: 'circle' | 'square' | 'rounded-square'\n\ttag?: 'div' | 'button' | 'a'\n\ttitle?: string\n\tsubtitle?: string\n\tdescription?: string\n\trenderIcon: React.ReactNode\n\thref?: string\n\tsize?: string | number\n\tposition?: CssPosition\n\tbodyPosition?: CssPosition\n\tstacked?: boolean\n}\n\nconst ShapeNode: React.FC<\n\tShapeNodeProps & React.HTMLAttributes<HTMLAnchorElement | HTMLDivElement | HTMLButtonElement>\n> = ({\n\tshape = 'circle',\n\ttag = 'div',\n\ttitle = 'Title',\n\tsubtitle,\n\tdescription,\n\trenderIcon,\n\thref,\n\tsize = 48,\n\tstacked,\n\tposition = 'fixed',\n\tbodyPosition = 'absolute',\n\t...rest\n}) => {\n\tconst Component = href ? 'a' : rest.onClick ? 'button' : tag\n\n\tconst namespace = `${carbonPrefix}--cc--shape-node`\n\tconst circleClasses = classnames(namespace, {\n\t\t[`${namespace}--stacked`]: stacked,\n\t\t[`${namespace}--${shape}`]: shape,\n\t\t[`${namespace}--${Component}`]: Component,\n\t\t[rest.className as string]: rest.className\n\t})\n\n\tconst titleElement = title ? <div className={`${namespace}__title`}>{title}</div> : null\n\tconst subtitleElement = subtitle ? (\n\t\t<div className={`${namespace}__subtitle`}>{subtitle}</div>\n\t) : null\n\tconst descriptionElement = description ? (\n\t\t<div className={`${namespace}__description`}>{description}</div>\n\t) : null\n\n\treturn (\n\t\t<Component\n\t\t\tclassName={circleClasses}\n\t\t\tstyle={{ height: size, width: size, position }}\n\t\t\ttabIndex={0}\n\t\t\t{...rest}>\n\t\t\t<div className={`${namespace}__icon`}>{renderIcon}</div>\n\t\t\t<div className={`${namespace}__body`} style={{ position: bodyPosition }}>\n\t\t\t\t{titleElement}\n\t\t\t\t{subtitleElement}\n\t\t\t\t{descriptionElement}\n\t\t\t</div>\n\t\t</Component>\n\t)\n}\n\nexport default ShapeNode\n"],"names":["r","E","e","O","a","u","o","_","t","R","s","M","v","U","S","I","m","l","c","L","N","n","A","C","T","V","i","d","H","oE","D","g","b","f","K","h","F","w","P","k","G","X","z","W","B","q","Z","x","J","Q","Y","$","j","p","y","EE","rE","eE","OE","aE","uE","ascending","descending","bisector","compare1","compare2","delta","zero","left","lo","hi","mid","right","center","number","numbers","values","valueof","value","index","bisectRight","bisect","count","extent","min","max","Adder","InternMap","entries","key","keyof","intern_get","intern_set","intern_delete","_intern","_key","identity","compareDefined","compare","ascendingDefined","array","slice","constant","e10","e5","e2","tickSpec","start","stop","step","power","error","factor","i1","i2","inc","ticks","reverse","tickIncrement","tickStep","nice","prestep","thresholdSturges","bin","domain","threshold","sturges","histogram","data","xz","x0","x1","tz","tn","bins","quickselect","sd","newLeft","newRight","swap","quantile","i0","value0","value1","flatten","arrays","merge","range","identity$5","top","bottom","epsilon","translateX","translateY","scale","offset","entering","axis","orient","tickArguments","tickValues","tickFormat","tickSizeInner","tickSizeOuter","tickPadding","transform","context","format","spacing","range0","range1","position","selection","path","tick","tickExit","tickEnter","line","text","axisTop","axisRight","axisBottom","axisLeft","noop","dispatch","Dispatch","parseTypenames","typenames","types","name","typename","callback","get","set","copy","type","that","args","xhtml","namespaces","namespace","prefix","creatorInherit","document","uri","creatorFixed","fullname","creator","none","selector","selection_select","select","groups","subgroups","group","subgroup","node","subnode","Selection","empty","selectorAll","arrayAll","selection_selectAll","parents","matcher","childMatcher","find","childFind","match","childFirst","selection_selectChild","filter","children","childrenFilter","selection_selectChildren","selection_filter","sparse","update","selection_enter","EnterNode","parent","datum","child","next","constant$6","bindIndex","enter","exit","groupLength","dataLength","bindKey","nodeByKeyValue","keyValues","keyValue","selection_data","bind","arraylike","enterGroup","updateGroup","exitGroup","previous","selection_exit","selection_join","onenter","onupdate","onexit","selection_merge","groups0","groups1","m0","m1","merges","group0","group1","selection_order","selection_sort","compareNode","sortgroups","sortgroup","selection_call","selection_nodes","selection_node","selection_size","size","selection_empty","selection_each","attrRemove","attrRemoveNS","attrConstant","attrConstantNS","attrFunction","attrFunctionNS","selection_attr","defaultView","styleRemove","styleConstant","priority","styleFunction","selection_style","styleValue","propertyRemove","propertyConstant","propertyFunction","selection_property","classArray","string","classList","ClassList","classedAdd","names","list","classedRemove","classedTrue","classedFalse","classedFunction","selection_classed","textRemove","textConstant","textFunction","selection_text","htmlRemove","htmlConstant","htmlFunction","selection_html","raise","selection_raise","lower","selection_lower","selection_append","create","constantNull","selection_insert","before","remove","selection_remove","selection_cloneShallow","clone","selection_cloneDeep","selection_clone","deep","selection_datum","contextListener","listener","event","onRemove","on","onAdd","options","selection_on","dispatchEvent","params","window","dispatchConstant","dispatchFunction","selection_dispatch","selection_iterator","root","selection_selection","re$3","sourceEvent","Je$3","svg","point","rect","nonpassivecapture","noevent$1","dragDisable","view","noevent","yesdrag","noclick","define","constructor","factory","prototype","extend","definition","Color","darker","brighter","reI","reN","reP","reHex","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","color","channels","color_formatHex","color_formatHex8","color_formatHsl","color_formatRgb","hslConvert","rgbn","Rgb","rgba","hsla","rgbConvert","rgb","opacity","clampi","clampa","rgb_formatHex","rgb_formatHex8","rgb_formatRgb","hex","Hsl","hsl","m2","hsl2rgb","clamph","clampt","constant$5","linear","exponential","gamma","nogamma","interpolateRgb","rgbGamma","end","colorRgb","numberArray","isNumberArray","genericArray","nb","na","date$1","vs$1","object","reA","reB","one","interpolateString","bi","am","bm","bs","nn","date","an","degrees","decompose","scaleX","scaleY","skewX","svgNode","parseCss","parseSvg","interpolateTransform","parse","pxComma","pxParen","degParen","pop","translate","xa","ya","xb","yb","rotate","interpolateTransformCss","interpolateTransformSvg","en","interpolator","samples","frame","timeout","interval","pokeDelay","taskHead","taskTail","clockLast","clockNow","clockSkew","clock","setFrame","now","clearNow","Timer","timer","delay","time","sleep","timerFlush","wake","nap","poke","t0","t1","t2","elapsed","emptyOn","emptyTween","CREATED","SCHEDULED","STARTING","STARTED","RUNNING","ENDING","ENDED","schedule","id","timing","schedules","init","self","tween","interrupt","active","selection_interrupt","tweenRemove","tween0","tween1","tweenFunction","transition_tween","tweenValue","transition","interpolate","interpolateNumber","string00","string1","interpolate0","string0","string10","transition_attr","attrInterpolate","attrInterpolateNS","attrTweenNS","attrTween","transition_attrTween","delayFunction","delayConstant","transition_delay","durationFunction","durationConstant","transition_duration","easeConstant","transition_ease","easeVarying","transition_easeVarying","transition_filter","Transition","transition_merge","onFunction","on0","on1","sit","transition_on","removeFunction","transition_remove","transition_select","transition_selectAll","inherit","transition_selection","styleNull","style","styleMaybeRemove","listener0","transition_style","styleInterpolate","styleTween","transition_styleTween","transition_text","textInterpolate","textTween","transition_textTween","transition_transition","id0","id1","newId","transition_end","resolve","reject","cancel","selection_prototype","cubicInOut","defaultTiming","easeCubicInOut","selection_transition","constant$4","BrushEvent","target","mode","nopropagation","MODE_DRAG","MODE_SPACE","MODE_HANDLE","MODE_CENTER","abs","number1","number2","xy","cursors","flipX","flipY","signsX","signsY","defaultFilter","defaultExtent","defaultTouchable","local","brushX","brush","dim","touchable","keys","listeners","handleSize","touchending","overlay","initialize","handle","redraw","started","touchmoved","touchended","emitter","state","emit","selection0","selection1","clean","Emitter","signX","signY","w0","w1","n0","n1","e0","e1","s0","s1","dx","dy","moving","shifting","lockX","lockY","points","pointer","pts","move","moved","ended","keydowned","keyupped","point0","dragEnable","pi","tau","tauEpsilon","append","strings","appendRound","digits","Path$1","y1","x2","y2","y0","x21","y21","x01","y01","l01_2","x20","y20","l21_2","l20_2","l21","l01","t01","t21","a0","a1","ccw","cw","da","Path","formatDecimal","formatDecimalParts","coefficient","exponent","formatGroup","grouping","thousands","width","length","formatNumerals","numerals","re","formatSpecifier","specifier","FormatSpecifier","formatTrim","out","prefixExponent","formatPrefixAuto","formatRounded","formatTypes","identity$3","map","prefixes","formatLocale$1","locale","currencyPrefix","currencySuffix","decimal","percent","minus","nan","newFormat","fill","align","sign","symbol","comma","precision","trim","suffix","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","padding","formatPrefix","defaultLocale","formatLocale","precisionFixed","precisionPrefix","precisionRound","epsilon2","halfPi","quarterPi","radians","atan","atan2","cos","exp","log","sin","sqrt","tan","acos","asin","streamGeometry","geometry","stream","streamGeometryType","streamObjectType","features","coordinates","streamLine","streamPolygon","geometries","closed","coordinate","geoStream","spherical","cartesian","lambda","phi","cosPhi","cartesianDot","cartesianCross","cartesianAddInPlace","cartesianScale","vector","cartesianNormalizeInPlace","compose","rotationIdentity","rotateRadians","deltaLambda","deltaPhi","deltaGamma","rotationLambda","rotationPhiGamma","forwardRotationLambda","rotation","cosDeltaPhi","sinDeltaPhi","cosDeltaGamma","sinDeltaGamma","forward","circleStream","radius","direction","cosRadius","sinRadius","circleRadius","clipBuffer","lines","result","pointEqual","Intersection","other","entry","clipRejoin","segments","compareIntersection","startInside","subject","clip","segment","p0","p1","link","current","isSubject","longitude","polygonContains","polygon","sinPhi","normal","angle","winding","sum","ring","lambda0","phi0","sinPhi0","cosPhi0","lambda1","sinPhi1","cosPhi1","point1","phi1","absDelta","antimeridian","arc","intersection","phiArc","pointVisible","clipLine","sink","ringBuffer","ringSink","polygonStarted","lineStart","lineEnd","pointRing","ringStart","ringEnd","pointLine","ringSegments","validSegment","clipAntimeridian","clipAntimeridianLine","clipAntimeridianInterpolate","sign0","sign1","clipAntimeridianIntersect","sinLambda0Lambda1","from","to","clipCircle","cr","smallRadius","notHemisphere","visible","c0","v0","v00","point2","code","intersect","two","pa","pb","n2","n2n2","n1n2","determinant","c1","c2","n1xn2","uu","polar","meridian","q1","ax","ay","bx","by","clipMax","clipMin","clipRectangle","corner","comparePoint","ca","cb","activeStream","bufferStream","x__","y__","v__","x_","y_","v_","first","clipStream","polygonStart","polygonEnd","polygonInside","b0","b1","cleanInside","linePoint","identity$2","areaSum","areaRingSum","x00","y00","areaStream","areaRingStart","areaRingEnd","area","areaPointFirst","areaPoint","pathArea","boundsStream","boundsPoint","bounds","boundsStream$1","X0","Y0","Z0","X1","Y1","Z1","X2","Y2","Z2","centroidStream","centroidPoint","centroidLineStart","centroidLineEnd","centroidRingStart","centroidRingEnd","centroid","centroidPointFirstLine","centroidPointLine","centroidPointFirstRing","centroidPointRing","pathCentroid","PathContext","lengthSum","lengthRing","lengthStream","lengthPointFirst","lengthPoint","pathMeasure","cacheDigits","cacheAppend","cacheRadius","cacheCircle","PathString","un","projection","pointRadius","projectionStream","contextStream","pathBounds","transformer","methods","TransformStream","fit","fitBounds","fitExtent","fitSize","fitWidth","fitHeight","height","maxDepth","cosMinDistance","resample","project","delta2","resampleNone","resampleLineTo","depth","d2","phi2","lambda2","dx2","dy2","dz","lambda00","a00","b00","c00","resampleStream","ringPoint","transformRadians","transformRotate","scaleTranslate","sx","sy","scaleTranslateRotate","alpha","cosAlpha","sinAlpha","ai","ci","fi","projectionMutator","projectAt","theta","preclip","postclip","projectResample","projectTransform","projectRotateTransform","cache","cacheStream","invert","reset","recenter","conicProjection","cylindricalEqualAreaRaw","conicEqualAreaRaw","sy0","r0","r0y","vn$1","yn$1","conicEqualArea","mercatorRaw","gn$1","mercatorProjection","clipExtent","reclip","equirectangularRaw","mn$1","conicEquidistantRaw","cy0","gy","nx","fn$1","A1","A2","A3","A4","iterations","equalEarthRaw","l2","l6","fy","fpy","bn$1","naturalEarth1Raw","phi4","pn$1","defaultSeparation","meanX","meanXReduce","maxY","maxYReduce","leafLeft","leafRight","ln","separation","nodeSize","cluster","previousNode","node_count","node_each","node_eachBefore","nodes","node_eachAfter","node_find","node_sum","node_sort","node_path","ancestor","leastCommonAncestor","aNodes","bNodes","node_ancestors","node_descendants","node_leaves","leaves","node_links","links","node_iterator","hierarchy","mapChildren","objectChildren","Node","childs","computeHeight","node_copy","copyData","optional","required","constantZero","constant$3","lcg","array$1","shuffle","random","packEncloseRandom","circles","enclosesWeak","encloseBasis","extendBasis","enclosesWeakAll","enclosesNot","encloseBasis2","encloseBasis3","dr","encloseBasis1","r1","r2","r21","x3","y3","r3","a2","a3","b2","b3","c3","d1","d3","ab","place","intersects","score","circle","packSiblingsRandom","aa","sj","sk","pack","defaultRadius","radiusLeaf","packChildrenRandom","translateChild","roundNode","treemapDice","nextLeft","nextRight","moveSubtree","wm","wp","shift","change","executeShifts","nextAncestor","vim","TreeNode","treeRoot","tree","cn$1","firstWalk","secondWalk","sizeNode","tx","kx","ky","siblings","midpoint","apportion","vip","vop","vom","sip","sop","sim","som","treemapSlice","squarifyRatio","ratio","rows","row","nodeValue","sumValue","minValue","maxValue","newRatio","minRatio","beta","squarify","custom","hn$1","tile","round","paddingStack","paddingInner","paddingTop","paddingRight","paddingBottom","paddingLeft","treemap","positionNode","initRange","implicit","ordinal","unknown","band","ordinalRange","bandwidth","paddingOuter","rescale","sequence","constants","unit","normalize","clamper","bimap","d0","polymap","source","interpolateValue","untransform","clamp","piecewise","output","input","interpolateRound","continuous","linearish","maxIter","transformLog","transformExp","transformLogn","transformExpn","pow10","powp","base","logp","reflect","loggish","logs","pows","quantize","timeInterval","floori","offseti","field","test","millisecond","durationSecond","durationMinute","durationHour","durationDay","durationWeek","durationMonth","durationYear","second","timeMinute","timeHour","timeDay","utcDay","timeWeekday","timeSunday","timeMonday","timeTuesday","timeWednesday","timeThursday","timeFriday","timeSaturday","utcWeekday","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","timeMonth","timeYear","utcYear","ticker","year","month","week","day","hour","minute","tickIntervals","tickInterval","timeTicks","timeTickInterval","localDate","utcDate","newDate","locale_dateTime","locale_date","locale_time","locale_periods","locale_weekdays","locale_shortWeekdays","locale_months","locale_shortMonths","periodRe","formatRe","periodLookup","formatLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formats","formatShortWeekday","formatWeekday","formatShortMonth","formatMonth","formatDayOfMonth","formatMicroseconds","formatYearISO","formatFullYearISO","formatHour24","formatHour12","formatDayOfYear","formatMilliseconds","formatMonthNumber","formatMinutes","formatPeriod","formatQuarter","formatUnixTimestamp","formatUnixTimestampSeconds","formatSeconds","formatWeekdayNumberMonday","formatWeekNumberSunday","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","formatYear","formatFullYear","formatZone","formatLiteralPercent","utcFormats","formatUTCShortWeekday","formatUTCWeekday","formatUTCShortMonth","formatUTCMonth","formatUTCDayOfMonth","formatUTCMicroseconds","formatUTCYearISO","formatUTCFullYearISO","formatUTCHour24","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","formatUTCMonthNumber","formatUTCMinutes","formatUTCPeriod","formatUTCQuarter","formatUTCSeconds","formatUTCWeekdayNumberMonday","formatUTCWeekNumberSunday","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCFullYear","formatUTCZone","parses","parseShortWeekday","parseWeekday","parseShortMonth","parseMonth","parseLocaleDateTime","parseDayOfMonth","parseMicroseconds","parseYear","parseFullYear","parseHour24","parseDayOfYear","parseMilliseconds","parseMonthNumber","parseMinutes","parsePeriod","parseQuarter","parseUnixTimestamp","parseUnixTimestampSeconds","parseSeconds","parseWeekdayNumberMonday","parseWeekNumberSunday","parseWeekNumberISO","parseWeekdayNumberSunday","parseWeekNumberMonday","parseLocaleDate","parseLocaleTime","parseZone","parseLiteralPercent","pad","pads","newParse","parseSpecifier","numberRe","percentRe","requoteRe","requote","dISO","dow","UTCdISO","timeFormat","calendar","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","timeWeek","timeSecond","constant$2","withPath","shape","arcInnerRadius","arcOuterRadius","arcStartAngle","arcEndAngle","arcPadAngle","x10","y10","x32","y32","cornerTangents","rc","ox","oy","x11","y11","cx0","cx1","cy1","dx0","dy0","dx1","dy1","$e$3","innerRadius","outerRadius","cornerRadius","padRadius","startAngle","endAngle","padAngle","buffer","a01","a11","a10","da0","da1","ap","rp","rc0","rc1","oc","kc","lc","Linear","ge$2","Rt$2","defined","curve","curveLinear","pointX","pointY","defined0","It$2","x0z","y0z","arealine","sn","sortValues","sort","pie","arcs","curveRadialLinear","curveRadial","Radial","radial","lineRadial","rn","Bump","bumpX","linkSource","linkTarget","argv","linkHorizontal","noop$1","Basis","fe$1","BasisClosed","pe$3","BasisOpen","ve$3","Bundle","xe$2","bundle","Cardinal","tension","De$3","cardinal","CardinalClosed","ye$2","CardinalOpen","Oe$1","CatmullRom","x23","y23","Ae$3","catmullRom","CatmullRomClosed","Te$2","CatmullRomOpen","Me$3","LinearClosed","he$1","slope3","h0","h1","slope2","MonotoneX","MonotoneY","ReflectContext","monotoneX","monotoneY","Natural","px","controlPoints","py","Re$2","Step","Be$3","stepBefore","stepAfter","none$1","series","order","stackValue","stackSeries","A$2","orderNone","offsetNone","stack","sz","oz","H$2","yp","yn","Transform","location","Be","ue","le","fn","cn","dn","Me","hn","gn","Le","mn","pn","vn","bn","wn","xe","er","Tn","_n","On","Ae","tr","Sn","$n","Pn","Cn","Mn","_t","Tt","xn","Ot","rr","An","En","Dn","In","Ln","Fn","Rn","St","Un","Nn","Wn","jn","Yn","Gn","Bn","Hn","qn","zn","Qn","Xn","kn","Kn","Vn","Zn","Jn","ea","ta","ra","ia","oa","sa","ua","la","fa","ha","ga","ma","va","nr","ba","wa","Ta","_a","ke","ie","oe","Ye","Ge","_e","Qr","Xr","kr","Kr","Oe","Oa","Sa","ar","$a","Pa","Ca","ir","Ma","ce","Aa","Ea","Da","Ia","La","Fa","$t","Ra","nt","Ua","Na","Wa","Pt","Ct","or","at","ja","Ya","Ga","Ba","it","Ha","He","Mt","qa","za","Qa","Xa","ka","Ka","Va","Za","Ja","ei","ti","ri","ni","Ke","xt","ii","oi","si","sr","ui","li","di","Ee","gi","vi","yi","wi","Ti","_i","Oi","Si","$i","ot","st","pe","Pi","Ci","ur","ve","At","Mi","lr","xi","ut","ye","Ai","Ei","Di","Fe","Ii","Li","Et","Fi","Ri","Ui","ee","Ni","fr","exports","Dt","Wi","It","ji","Yi","te","Gi","Bi","Hi","qi","zi","Qi","Xi","ki","Ki","Vi","Zi","Ji","eo","ro","no","ao","io","oo","so","uo","co","fo","ho","lt","de","go","qe","mo","Lt","po","Re","vo","yo","hr","gr","bo","wo","To","_o","mr","Ue","Oo","So","$o","Po","be","Co","Mo","ct","xo","he","Ao","Eo","Do","Io","Lo","Fo","Ro","Uo","No","Wo","jo","Yo","Ne","Go","Bo","Ho","qo","zo","Qo","Xo","ge","ko","Ko","We","Vo","Zo","Jo","es","ts","ft","rs","ns","as","is","os","ss","us","pr","ls","je","vr","cs","dt","Ft","fs","yr","ds","ht","hs","gs","ms","br","ps","vs","ys","ws","Ts","_s","Os","Ss","$s","Ps","wr","Rt","Cs","Ut","Nt","Tr","Ms","_r","xs","As","Wt","Es","gt","Ds","Is","Ls","Or","Fs","Sr","Ve","Rs","Us","Ze","Ns","Je","Ws","jt","js","Yt","Gt","Bt","Ht","Ys","Gs","Bs","Hs","qs","ne","zs","Qs","Xs","ks","De","mt","Ks","Vs","Zs","qt","zt","Js","$r","eu","tu","ru","nu","au","iu","ou","su","lu","cu","fu","du","hu","gu","mu","pu","vu","yu","bu","Pr","wu","Tu","Qt","_u","Ou","Su","$u","Xt","Pu","Cu","Mu","xu","Au","Cr","Eu","Du","Iu","Lu","Mr","Fu","Ru","Uu","xr","Nu","Wu","ju","Yu","Gu","Bu","Hu","qu","zu","Qu","Xu","ku","Ku","Vu","Zu","Ju","v$2","Ce","el","tl","rl","nl","al","il","me","ol","Ar","sl","ul","Er","ll","pt","cl","fl","dl","hl","gl","ml","pl","vl","yl","bl","wl","Tl","_l","kt","ze","Ol","Sl","$l","Pl","Cl","Ml","Kt","Vt","Se","xl","Zt","Al","vt","El","Dl","Il","Dr","Ll","Ir","Fl","Rl","Ul","Nl","Wl","jl","Yl","Gl","Bl","Hl","ql","zl","Ql","Xl","et","tt","rt","kl","Kl","Lr","Vl","Zl","Jl","ec","tc","nc","ac","ic","sc","uc","Fr","cc","lf","fc","dc","hc","gc","Rr","mc","pc","vc","yc","bc","wc","Tc","_c","Oc","Sc","$c","Pc","Cc","xc","Xe","Ur","Pe","Ac","Vr","ae","Nr","Wr","yt","jr","we","Ec","Zr","se","Yr","Jr","Te","Dc","Ic","Lc","Fc","bt","Rc","Gr","Br","Uc","Nc","Wc","jc","Yc","Hr","Gc","Bc","qr","Hc","qc","zc","Qc","Xc","Kc","Vc","Zc","Jc","ff","df","wt","ef","hf","gf","mf","pf","tf","Jt","vf","yf","zr","Qe","rf","$e","fe","bf","Ie","nf","af","wf","Tf","of","_f","justify","ascendingSourceBreadth","ascendingBreadth","ascendingTargetBreadth","defaultId","defaultNodes","graph","defaultLinks","nodeById","computeLinkBreadths","Sankey","linkSort","sankey","computeNodeLinks","computeNodeValues","computeNodeDepths","computeNodeHeights","computeNodeBreadths","sourceLinks","targetLinks","computeNodeLayers","columns","column","initializeNodeBreadths","reorderLinks","relaxRightToLeft","relaxLeftToRight","targetTop","reorderNodeLinks","resolveCollisions","sourceTop","resolveCollisionsBottomToTop","resolveCollisionsTopToBottom","curveHorizontal","horizontalSource","horizontalTarget","RADIANS","SPIRALS","archimedeanSpiral","rectangularSpiral","ch","d3Cloud","cloudText","font","cloudFont","fontSize","cloudFontSize","fontStyle","cloudFontNormal","fontWeight","cloudRotate","cloudPadding","spiral","words","cloud","canvas","cloudCanvas","functor","contextAndRatio","getContext","board","zeroArray","tags","cloudSprite","cloudBounds","tag","startX","startY","maxDelta","dxdy","collideRects","cloudCollide","sprite","sw","lx","msx","last","maxh","metrics","anchor","wcr","wsr","hcr","hsr","pixels","w32","seen","seenRow","mi","Mc","require$$0","reactJsxRuntime_production_min","React","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_OFFSCREEN_TYPE","MAYBE_ITERATOR_SYMBOL","FAUX_ITERATOR_SYMBOL","getIteratorFn","maybeIterable","maybeIterator","ReactSharedInternals","_len2","_key2","printWarning","level","ReactDebugCurrentFrame","argsWithFormat","item","enableScopeAPI","enableCacheElement","enableTransitionTracing","enableLegacyHidden","enableDebugTracing","REACT_MODULE_REFERENCE","isValidElementType","getWrappedName","outerType","innerType","wrapperName","displayName","functionName","getContextName","getComponentNameFromType","provider","outerName","lazyComponent","payload","assign","disabledDepth","prevLog","prevInfo","prevWarn","prevError","prevGroup","prevGroupCollapsed","prevGroupEnd","disabledLog","disableLogs","props","reenableLogs","ReactCurrentDispatcher","describeBuiltInComponentFrame","ownerFn","reentry","componentFrameCache","PossiblyWeakMap","describeNativeComponentFrame","construct","control","previousPrepareStackTrace","previousDispatcher","Fake","sample","sampleLines","controlLines","_frame","syntheticFrame","describeFunctionComponentFrame","shouldConstruct","Component","describeUnknownElementTypeFrameInDEV","hasOwnProperty","loggedTypeFailures","setCurrentlyValidatingElement","element","owner","checkPropTypes","typeSpecs","componentName","has","typeSpecName","error$1","err","ex","isArrayImpl","isArray","typeName","hasToStringTag","willCoercionThrow","testStringCoercion","checkKeyStringCoercion","ReactCurrentOwner","RESERVED_PROPS","specialPropKeyWarningShown","specialPropRefWarningShown","didWarnAboutStringRefs","hasValidRef","config","getter","hasValidKey","warnIfStringRefCannotBeAutoConverted","defineKeyPropWarningGetter","warnAboutAccessingKey","defineRefPropWarningGetter","warnAboutAccessingRef","ReactElement","ref","jsxDEV","maybeKey","propName","defaultProps","ReactCurrentOwner$1","ReactDebugCurrentFrame$1","setCurrentlyValidatingElement$1","propTypesMisspellWarningShown","isValidElement","getDeclarationErrorAddendum","getSourceInfoErrorAddendum","fileName","lineNumber","ownerHasKeyUseWarning","getCurrentComponentErrorInfo","parentType","info","parentName","validateExplicitKey","currentComponentErrorInfo","childOwner","validateChildKeys","iteratorFn","iterator","validatePropTypes","propTypes","_name","validateFragmentProps","fragment","jsxWithValidation","isStaticChildren","validType","sourceInfo","typeString","jsxWithValidationStatic","jsxWithValidationDynamic","jsx","jsxs","reactJsxRuntime_development","jsxRuntimeModule","require$$1","BaseChart","__publicField","chartRef","prevProps","_b","AlluvialChart","AlluvialChartCore","AreaChart","AreaChartCore","BoxplotChart","BoxplotChartCore","BubbleChart","BubbleChartCore","BulletChart","BulletChartCore","ExperimentalChoroplethChart","ChoroplethChartCore","CirclePackChart","CirclePackChartCore","ComboChart","ComboChartCore","DonutChart","DonutChartCore","GaugeChart","GaugeChartCore","GroupedBarChart","GroupedBarChartCore","HeatmapChart","HeatmapChartCore","HistogramChart","HistogramChartCore","LineChart","LineChartCore","LollipopChart","LollipopChartCore","MeterChart","MeterChartCore","PieChart","PieChartCore","RadarChart","RadarChartCore","ScatterChart","ScatterChartCore","SimpleBarChart","SimpleBarChartCore","StackedAreaChart","StackedAreaChartCore","StackedBarChart","StackedBarChartCore","TreeChart","TreeChartCore","TreemapChart","TreemapChartCore","WordCloudChart","WordCloudChartCore","hasOwn","classNames","classes","arg","argType","inner","module","carbonPrefix","CardNode","href","stacked","rest","cardClasses","classnames","CardNodeColumn","farsideColumn","CardNodeLabel","CardNodeSubtitle","CardNodeTitle","Edge","markerEnd","markerStart","variant","pathClasses","buildStraightPathString","Marker","className","refX","refY","xPos","yPos","ArrowLeftMarker","arrowLeft","ArrowRightMarker","arrowRight","CircleMarker","DiamondMarker","diamond","SquareMarker","square","TeeMarker","tee","ShapeNode","title","subtitle","description","renderIcon","bodyPosition","circleClasses","titleElement","subtitleElement","descriptionElement"],"mappings":"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ACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,KAEH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,I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","x_google_ignoreList":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,276,277,278,279,280,281,282,283,284,285,286,287,288,289,293,294,295,322]}
|