{"version":3,"sources":["jsdelivr-header.js","/npm/d3-shape@3.2.0/src/constant.js","/npm/d3-shape@3.2.0/src/math.js","/npm/d3-shape@3.2.0/src/path.js","/npm/d3-shape@3.2.0/src/arc.js","/npm/d3-shape@3.2.0/src/array.js","/npm/d3-shape@3.2.0/src/curve/linear.js","/npm/d3-shape@3.2.0/src/point.js","/npm/d3-shape@3.2.0/src/line.js","/npm/d3-shape@3.2.0/src/area.js","/npm/d3-shape@3.2.0/src/descending.js","/npm/d3-shape@3.2.0/src/identity.js","/npm/d3-shape@3.2.0/src/pie.js","/npm/d3-shape@3.2.0/src/curve/radial.js","/npm/d3-shape@3.2.0/src/lineRadial.js","/npm/d3-shape@3.2.0/src/areaRadial.js","/npm/d3-shape@3.2.0/src/pointRadial.js","/npm/d3-shape@3.2.0/src/curve/bump.js","/npm/d3-shape@3.2.0/src/link.js","/npm/d3-shape@3.2.0/src/symbol/asterisk.js","/npm/d3-shape@3.2.0/src/symbol/circle.js","/npm/d3-shape@3.2.0/src/symbol/cross.js","/npm/d3-shape@3.2.0/src/symbol/diamond.js","/npm/d3-shape@3.2.0/src/symbol/diamond2.js","/npm/d3-shape@3.2.0/src/symbol/plus.js","/npm/d3-shape@3.2.0/src/symbol/square.js","/npm/d3-shape@3.2.0/src/symbol/square2.js","/npm/d3-shape@3.2.0/src/symbol/star.js","/npm/d3-shape@3.2.0/src/symbol/triangle.js","/npm/d3-shape@3.2.0/src/symbol/triangle2.js","/npm/d3-shape@3.2.0/src/symbol/wye.js","/npm/d3-shape@3.2.0/src/symbol/times.js","/npm/d3-shape@3.2.0/src/symbol.js","/npm/d3-shape@3.2.0/src/noop.js","/npm/d3-shape@3.2.0/src/curve/basis.js","/npm/d3-shape@3.2.0/src/curve/basisClosed.js","/npm/d3-shape@3.2.0/src/curve/basisOpen.js","/npm/d3-shape@3.2.0/src/curve/bundle.js","/npm/d3-shape@3.2.0/src/curve/cardinal.js","/npm/d3-shape@3.2.0/src/curve/cardinalClosed.js","/npm/d3-shape@3.2.0/src/curve/cardinalOpen.js","/npm/d3-shape@3.2.0/src/curve/catmullRom.js","/npm/d3-shape@3.2.0/src/curve/catmullRomClosed.js","/npm/d3-shape@3.2.0/src/curve/catmullRomOpen.js","/npm/d3-shape@3.2.0/src/curve/linearClosed.js","/npm/d3-shape@3.2.0/src/curve/monotone.js","/npm/d3-shape@3.2.0/src/curve/natural.js","/npm/d3-shape@3.2.0/src/curve/step.js","/npm/d3-shape@3.2.0/src/offset/none.js","/npm/d3-shape@3.2.0/src/order/none.js","/npm/d3-shape@3.2.0/src/stack.js","/npm/d3-shape@3.2.0/src/offset/expand.js","/npm/d3-shape@3.2.0/src/offset/diverging.js","/npm/d3-shape@3.2.0/src/offset/silhouette.js","/npm/d3-shape@3.2.0/src/offset/wiggle.js","/npm/d3-shape@3.2.0/src/order/appearance.js","/npm/d3-shape@3.2.0/src/order/ascending.js","/npm/d3-shape@3.2.0/src/order/descending.js","/npm/d3-shape@3.2.0/src/order/insideOut.js","/npm/d3-shape@3.2.0/src/order/reverse.js"],"names":[],"mappings":"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","file":"/npm/d3-shape@3.2.0/src/index.js/+esm","sourceRoot":"","sourcesContent":["/**\n * Bundled by jsDelivr using Rollup v4.62.2 and esbuild v0.28.1.\n * Original file: /npm/d3-shape@3.2.0/src/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\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 curveRadial, {curveRadialLinear} from \"./curve/radial.js\";\nimport area from \"./area.js\";\nimport {lineRadial} from \"./lineRadial.js\";\n\nexport default function() {\n  var a = area().curve(curveRadialLinear),\n      c = a.curve,\n      x0 = a.lineX0,\n      x1 = a.lineX1,\n      y0 = a.lineY0,\n      y1 = a.lineY1;\n\n  a.angle = a.x, delete a.x;\n  a.startAngle = a.x0, delete a.x0;\n  a.endAngle = a.x1, delete a.x1;\n  a.radius = a.y, delete a.y;\n  a.innerRadius = a.y0, delete a.y0;\n  a.outerRadius = a.y1, delete a.y1;\n  a.lineStartAngle = function() { return lineRadial(x0()); }, delete a.lineX0;\n  a.lineEndAngle = function() { return lineRadial(x1()); }, delete a.lineX1;\n  a.lineInnerRadius = function() { return lineRadial(y0()); }, delete a.lineY0;\n  a.lineOuterRadius = function() { return lineRadial(y1()); }, delete a.lineY1;\n\n  a.curve = function(_) {\n    return arguments.length ? c(curveRadial(_)) : c()._curve;\n  };\n\n  return a;\n}\n","export default function(x, y) {\n  return [(y = +y) * Math.cos(x -= Math.PI / 2), y * Math.sin(x)];\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","import {min, sqrt} from \"../math.js\";\n\nconst sqrt3 = sqrt(3);\n\nexport default {\n  draw(context, size) {\n    const r = sqrt(size + min(size / 28, 0.75)) * 0.59436;\n    const t = r / 2;\n    const u = t * sqrt3;\n    context.moveTo(0, r);\n    context.lineTo(0, -r);\n    context.moveTo(-u, -t);\n    context.lineTo(u, t);\n    context.moveTo(-u, t);\n    context.lineTo(u, -t);\n  }\n};\n","import {pi, sqrt, tau} from \"../math.js\";\n\nexport default {\n  draw(context, size) {\n    const r = sqrt(size / pi);\n    context.moveTo(r, 0);\n    context.arc(0, 0, r, 0, tau);\n  }\n};\n","import {sqrt} from \"../math.js\";\n\nexport default {\n  draw(context, size) {\n    const r = sqrt(size / 5) / 2;\n    context.moveTo(-3 * r, -r);\n    context.lineTo(-r, -r);\n    context.lineTo(-r, -3 * r);\n    context.lineTo(r, -3 * r);\n    context.lineTo(r, -r);\n    context.lineTo(3 * r, -r);\n    context.lineTo(3 * r, r);\n    context.lineTo(r, r);\n    context.lineTo(r, 3 * r);\n    context.lineTo(-r, 3 * r);\n    context.lineTo(-r, r);\n    context.lineTo(-3 * r, r);\n    context.closePath();\n  }\n};\n","import {sqrt} from \"../math.js\";\n\nconst tan30 = sqrt(1 / 3);\nconst tan30_2 = tan30 * 2;\n\nexport default {\n  draw(context, size) {\n    const y = sqrt(size / tan30_2);\n    const x = y * tan30;\n    context.moveTo(0, -y);\n    context.lineTo(x, 0);\n    context.lineTo(0, y);\n    context.lineTo(-x, 0);\n    context.closePath();\n  }\n};\n","import {sqrt} from \"../math.js\";\n\nexport default {\n  draw(context, size) {\n    const r = sqrt(size) * 0.62625;\n    context.moveTo(0, -r);\n    context.lineTo(r, 0);\n    context.lineTo(0, r);\n    context.lineTo(-r, 0);\n    context.closePath();\n  }\n};\n","import {min, sqrt} from \"../math.js\";\n\nexport default {\n  draw(context, size) {\n    const r = sqrt(size - min(size / 7, 2)) * 0.87559;\n    context.moveTo(-r, 0);\n    context.lineTo(r, 0);\n    context.moveTo(0, r);\n    context.lineTo(0, -r);\n  }\n};\n","import {sqrt} from \"../math.js\";\n\nexport default {\n  draw(context, size) {\n    const w = sqrt(size);\n    const x = -w / 2;\n    context.rect(x, x, w, w);\n  }\n};\n","import {sqrt} from \"../math.js\";\n\nexport default {\n  draw(context, size) {\n    const r = sqrt(size) * 0.4431;\n    context.moveTo(r, r);\n    context.lineTo(r, -r);\n    context.lineTo(-r, -r);\n    context.lineTo(-r, r);\n    context.closePath();\n  }\n};\n","import {sin, cos, sqrt, pi, tau} from \"../math.js\";\n\nconst ka = 0.89081309152928522810;\nconst kr = sin(pi / 10) / sin(7 * pi / 10);\nconst kx = sin(tau / 10) * kr;\nconst ky = -cos(tau / 10) * kr;\n\nexport default {\n  draw(context, size) {\n    const r = sqrt(size * ka);\n    const x = kx * r;\n    const y = ky * r;\n    context.moveTo(0, -r);\n    context.lineTo(x, y);\n    for (let i = 1; i < 5; ++i) {\n      const a = tau * i / 5;\n      const c = cos(a);\n      const s = sin(a);\n      context.lineTo(s * r, -c * r);\n      context.lineTo(c * x - s * y, s * x + c * y);\n    }\n    context.closePath();\n  }\n};\n","import {sqrt} from \"../math.js\";\n\nconst sqrt3 = sqrt(3);\n\nexport default {\n  draw(context, size) {\n    const y = -sqrt(size / (sqrt3 * 3));\n    context.moveTo(0, y * 2);\n    context.lineTo(-sqrt3 * y, -y);\n    context.lineTo(sqrt3 * y, -y);\n    context.closePath();\n  }\n};\n","import {sqrt} from \"../math.js\";\n\nconst sqrt3 = sqrt(3);\n\nexport default {\n  draw(context, size) {\n    const s = sqrt(size) * 0.6824;\n    const t = s  / 2;\n    const u = (s * sqrt3) / 2; // cos(Math.PI / 6)\n    context.moveTo(0, -s);\n    context.lineTo(u, t);\n    context.lineTo(-u, t);\n    context.closePath();\n  }\n};\n","import {sqrt} from \"../math.js\";\n\nconst c = -0.5;\nconst s = sqrt(3) / 2;\nconst k = 1 / sqrt(12);\nconst a = (k / 2 + 1) * 3;\n\nexport default {\n  draw(context, size) {\n    const r = sqrt(size / a);\n    const x0 = r / 2, y0 = r * k;\n    const x1 = x0, y1 = r * k + r;\n    const x2 = -x1, y2 = y1;\n    context.moveTo(x0, y0);\n    context.lineTo(x1, y1);\n    context.lineTo(x2, y2);\n    context.lineTo(c * x0 - s * y0, s * x0 + c * y0);\n    context.lineTo(c * x1 - s * y1, s * x1 + c * y1);\n    context.lineTo(c * x2 - s * y2, s * x2 + c * y2);\n    context.lineTo(c * x0 + s * y0, c * y0 - s * x0);\n    context.lineTo(c * x1 + s * y1, c * y1 - s * x1);\n    context.lineTo(c * x2 + s * y2, c * y2 - s * x2);\n    context.closePath();\n  }\n};\n","import {min, sqrt} from \"../math.js\";\n\nexport default {\n  draw(context, size) {\n    const r = sqrt(size - min(size / 6, 1.7)) * 0.6189;\n    context.moveTo(-r, -r);\n    context.lineTo(r, r);\n    context.moveTo(-r, r);\n    context.lineTo(r, -r);\n  }\n};\n","import constant from \"./constant.js\";\nimport {withPath} from \"./path.js\";\nimport asterisk from \"./symbol/asterisk.js\";\nimport circle from \"./symbol/circle.js\";\nimport cross from \"./symbol/cross.js\";\nimport diamond from \"./symbol/diamond.js\";\nimport diamond2 from \"./symbol/diamond2.js\";\nimport plus from \"./symbol/plus.js\";\nimport square from \"./symbol/square.js\";\nimport square2 from \"./symbol/square2.js\";\nimport star from \"./symbol/star.js\";\nimport triangle from \"./symbol/triangle.js\";\nimport triangle2 from \"./symbol/triangle2.js\";\nimport wye from \"./symbol/wye.js\";\nimport times from \"./symbol/times.js\";\n\n// These symbols are designed to be filled.\nexport const symbolsFill = [\n  circle,\n  cross,\n  diamond,\n  square,\n  star,\n  triangle,\n  wye\n];\n\n// These symbols are designed to be stroked (with a width of 1.5px and round caps).\nexport const symbolsStroke = [\n  circle,\n  plus,\n  times,\n  triangle2,\n  asterisk,\n  square2,\n  diamond2\n];\n\nexport default function Symbol(type, size) {\n  let context = null,\n      path = withPath(symbol);\n\n  type = typeof type === \"function\" ? type : constant(type || circle);\n  size = typeof size === \"function\" ? size : constant(size === undefined ? 64 : +size);\n\n  function symbol() {\n    let buffer;\n    if (!context) context = buffer = path();\n    type.apply(this, arguments).draw(context, +size.apply(this, arguments));\n    if (buffer) return context = null, buffer + \"\" || null;\n  }\n\n  symbol.type = function(_) {\n    return arguments.length ? (type = typeof _ === \"function\" ? _ : constant(_), symbol) : type;\n  };\n\n  symbol.size = function(_) {\n    return arguments.length ? (size = typeof _ === \"function\" ? _ : constant(+_), symbol) : size;\n  };\n\n  symbol.context = function(_) {\n    return arguments.length ? (context = _ == null ? null : _, symbol) : context;\n  };\n\n  return symbol;\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","import none from \"./none.js\";\n\nexport default function(series, order) {\n  if (!((n = series.length) > 0)) return;\n  for (var i, n, j = 0, m = series[0].length, y; j < m; ++j) {\n    for (y = i = 0; i < n; ++i) y += series[i][j][1] || 0;\n    if (y) for (i = 0; i < n; ++i) series[i][j][1] /= y;\n  }\n  none(series, order);\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","import none from \"./none.js\";\n\nexport default function(series, order) {\n  if (!((n = series.length) > 0)) return;\n  for (var j = 0, s0 = series[order[0]], n, m = s0.length; j < m; ++j) {\n    for (var i = 0, y = 0; i < n; ++i) y += series[i][j][1] || 0;\n    s0[j][1] += s0[j][0] = -y / 2;\n  }\n  none(series, order);\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n  if (!((n = series.length) > 0) || !((m = (s0 = series[order[0]]).length) > 0)) return;\n  for (var y = 0, j = 1, s0, m, n; j < m; ++j) {\n    for (var i = 0, s1 = 0, s2 = 0; i < n; ++i) {\n      var si = series[order[i]],\n          sij0 = si[j][1] || 0,\n          sij1 = si[j - 1][1] || 0,\n          s3 = (sij0 - sij1) / 2;\n      for (var k = 0; k < i; ++k) {\n        var sk = series[order[k]],\n            skj0 = sk[j][1] || 0,\n            skj1 = sk[j - 1][1] || 0;\n        s3 += skj0 - skj1;\n      }\n      s1 += sij0, s2 += s3 * sij0;\n    }\n    s0[j - 1][1] += s0[j - 1][0] = y;\n    if (s1) y -= s2 / s1;\n  }\n  s0[j - 1][1] += s0[j - 1][0] = y;\n  none(series, order);\n}\n","import none from \"./none.js\";\n\nexport default function(series) {\n  var peaks = series.map(peak);\n  return none(series).sort(function(a, b) { return peaks[a] - peaks[b]; });\n}\n\nfunction peak(series) {\n  var i = -1, j = 0, n = series.length, vi, vj = -Infinity;\n  while (++i < n) if ((vi = +series[i][1]) > vj) vj = vi, j = i;\n  return j;\n}\n","import none from \"./none.js\";\n\nexport default function(series) {\n  var sums = series.map(sum);\n  return none(series).sort(function(a, b) { return sums[a] - sums[b]; });\n}\n\nexport function sum(series) {\n  var s = 0, i = -1, n = series.length, v;\n  while (++i < n) if (v = +series[i][1]) s += v;\n  return s;\n}\n","import ascending from \"./ascending.js\";\n\nexport default function(series) {\n  return ascending(series).reverse();\n}\n","import appearance from \"./appearance.js\";\nimport {sum} from \"./ascending.js\";\n\nexport default function(series) {\n  var n = series.length,\n      i,\n      j,\n      sums = series.map(sum),\n      order = appearance(series),\n      top = 0,\n      bottom = 0,\n      tops = [],\n      bottoms = [];\n\n  for (i = 0; i < n; ++i) {\n    j = order[i];\n    if (top < bottom) {\n      top += sums[j];\n      tops.push(j);\n    } else {\n      bottom += sums[j];\n      bottoms.push(j);\n    }\n  }\n\n  return bottoms.reverse().concat(tops);\n}\n","import none from \"./none.js\";\n\nexport default function(series) {\n  return none(series).reverse();\n}\n"]}