From de7ac91ff881c2f5bfa248e193be29384362fde1 Mon Sep 17 00:00:00 2001 From: Max Grossman Date: Sun, 9 Sep 2018 10:21:26 -0400 Subject: [PATCH] basic set up for login & map ref #2 ref #3 --- .gitignore | 5 +- README.md | 15 + dist/bundle.js.map | 1 + package.json | 1 + src/handler/index.js | 45 +- src/index.html | 4 +- src/store/index.js | 6 +- src/styles/main.css | 39 +- src/styles/modal.css | 44 +- src/views/login.js | 37 +- src/views/main.js | 15 +- src/views/map.js | 21 + src/views/nav.js | 17 +- test/spec/handler.js | 2 +- yarn-error.log | 5220 ------------------------------------------ yarn.lock | 390 +++- 16 files changed, 562 insertions(+), 5300 deletions(-) create mode 100644 README.md create mode 100644 dist/bundle.js.map delete mode 100644 yarn-error.log diff --git a/.gitignore b/.gitignore index be3eee5..b4694f4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ /node_modules /.vscode -/dist +/disr + +*.log + diff --git a/README.md b/README.md new file mode 100644 index 0000000..26ccd09 --- /dev/null +++ b/README.md @@ -0,0 +1,15 @@ +### develop + +``` +nvm use +yarn install +yarn start:dev +``` + + + +### test + +``` +yarn test +``` diff --git a/dist/bundle.js.map b/dist/bundle.js.map new file mode 100644 index 0000000..2b8c3c8 --- /dev/null +++ b/dist/bundle.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/d3-array/src/array.js","webpack:///./node_modules/d3-array/src/ascending.js","webpack:///./node_modules/d3-array/src/bisect.js","webpack:///./node_modules/d3-array/src/bisector.js","webpack:///./node_modules/d3-array/src/constant.js","webpack:///./node_modules/d3-array/src/cross.js","webpack:///./node_modules/d3-array/src/descending.js","webpack:///./node_modules/d3-array/src/deviation.js","webpack:///./node_modules/d3-array/src/extent.js","webpack:///./node_modules/d3-array/src/histogram.js","webpack:///./node_modules/d3-array/src/identity.js","webpack:///./node_modules/d3-array/src/index.js","webpack:///./node_modules/d3-array/src/max.js","webpack:///./node_modules/d3-array/src/mean.js","webpack:///./node_modules/d3-array/src/median.js","webpack:///./node_modules/d3-array/src/merge.js","webpack:///./node_modules/d3-array/src/min.js","webpack:///./node_modules/d3-array/src/number.js","webpack:///./node_modules/d3-array/src/pairs.js","webpack:///./node_modules/d3-array/src/permute.js","webpack:///./node_modules/d3-array/src/quantile.js","webpack:///./node_modules/d3-array/src/range.js","webpack:///./node_modules/d3-array/src/scan.js","webpack:///./node_modules/d3-array/src/shuffle.js","webpack:///./node_modules/d3-array/src/sum.js","webpack:///./node_modules/d3-array/src/threshold/freedmanDiaconis.js","webpack:///./node_modules/d3-array/src/threshold/scott.js","webpack:///./node_modules/d3-array/src/threshold/sturges.js","webpack:///./node_modules/d3-array/src/ticks.js","webpack:///./node_modules/d3-array/src/transpose.js","webpack:///./node_modules/d3-array/src/variance.js","webpack:///./node_modules/d3-array/src/zip.js","webpack:///./node_modules/d3-axis/src/array.js","webpack:///./node_modules/d3-axis/src/axis.js","webpack:///./node_modules/d3-axis/src/identity.js","webpack:///./node_modules/d3-axis/src/index.js","webpack:///./node_modules/d3-brush/src/brush.js","webpack:///./node_modules/d3-brush/src/constant.js","webpack:///./node_modules/d3-brush/src/event.js","webpack:///./node_modules/d3-brush/src/index.js","webpack:///./node_modules/d3-brush/src/noevent.js","webpack:///./node_modules/d3-chord/src/array.js","webpack:///./node_modules/d3-chord/src/chord.js","webpack:///./node_modules/d3-chord/src/constant.js","webpack:///./node_modules/d3-chord/src/index.js","webpack:///./node_modules/d3-chord/src/math.js","webpack:///./node_modules/d3-chord/src/ribbon.js","webpack:///./node_modules/d3-collection/src/entries.js","webpack:///./node_modules/d3-collection/src/index.js","webpack:///./node_modules/d3-collection/src/keys.js","webpack:///./node_modules/d3-collection/src/map.js","webpack:///./node_modules/d3-collection/src/nest.js","webpack:///./node_modules/d3-collection/src/set.js","webpack:///./node_modules/d3-collection/src/values.js","webpack:///./node_modules/d3-color/src/color.js","webpack:///./node_modules/d3-color/src/cubehelix.js","webpack:///./node_modules/d3-color/src/define.js","webpack:///./node_modules/d3-color/src/index.js","webpack:///./node_modules/d3-color/src/lab.js","webpack:///./node_modules/d3-color/src/math.js","webpack:///./node_modules/d3-contour/src/area.js","webpack:///./node_modules/d3-contour/src/array.js","webpack:///./node_modules/d3-contour/src/ascending.js","webpack:///./node_modules/d3-contour/src/blur.js","webpack:///./node_modules/d3-contour/src/constant.js","webpack:///./node_modules/d3-contour/src/contains.js","webpack:///./node_modules/d3-contour/src/contours.js","webpack:///./node_modules/d3-contour/src/density.js","webpack:///./node_modules/d3-contour/src/index.js","webpack:///./node_modules/d3-contour/src/noop.js","webpack:///./node_modules/d3-dispatch/src/dispatch.js","webpack:///./node_modules/d3-dispatch/src/index.js","webpack:///./node_modules/d3-drag/src/constant.js","webpack:///./node_modules/d3-drag/src/drag.js","webpack:///./node_modules/d3-drag/src/event.js","webpack:///./node_modules/d3-drag/src/index.js","webpack:///./node_modules/d3-drag/src/nodrag.js","webpack:///./node_modules/d3-drag/src/noevent.js","webpack:///./node_modules/d3-dsv/src/csv.js","webpack:///./node_modules/d3-dsv/src/dsv.js","webpack:///./node_modules/d3-dsv/src/index.js","webpack:///./node_modules/d3-dsv/src/tsv.js","webpack:///./node_modules/d3-ease/src/back.js","webpack:///./node_modules/d3-ease/src/bounce.js","webpack:///./node_modules/d3-ease/src/circle.js","webpack:///./node_modules/d3-ease/src/cubic.js","webpack:///./node_modules/d3-ease/src/elastic.js","webpack:///./node_modules/d3-ease/src/exp.js","webpack:///./node_modules/d3-ease/src/index.js","webpack:///./node_modules/d3-ease/src/linear.js","webpack:///./node_modules/d3-ease/src/poly.js","webpack:///./node_modules/d3-ease/src/quad.js","webpack:///./node_modules/d3-ease/src/sin.js","webpack:///./node_modules/d3-fetch/src/blob.js","webpack:///./node_modules/d3-fetch/src/buffer.js","webpack:///./node_modules/d3-fetch/src/dsv.js","webpack:///./node_modules/d3-fetch/src/image.js","webpack:///./node_modules/d3-fetch/src/index.js","webpack:///./node_modules/d3-fetch/src/json.js","webpack:///./node_modules/d3-fetch/src/text.js","webpack:///./node_modules/d3-fetch/src/xml.js","webpack:///./node_modules/d3-force/src/center.js","webpack:///./node_modules/d3-force/src/collide.js","webpack:///./node_modules/d3-force/src/constant.js","webpack:///./node_modules/d3-force/src/index.js","webpack:///./node_modules/d3-force/src/jiggle.js","webpack:///./node_modules/d3-force/src/link.js","webpack:///./node_modules/d3-force/src/manyBody.js","webpack:///./node_modules/d3-force/src/radial.js","webpack:///./node_modules/d3-force/src/simulation.js","webpack:///./node_modules/d3-force/src/x.js","webpack:///./node_modules/d3-force/src/y.js","webpack:///./node_modules/d3-format/src/defaultLocale.js","webpack:///./node_modules/d3-format/src/exponent.js","webpack:///./node_modules/d3-format/src/formatDecimal.js","webpack:///./node_modules/d3-format/src/formatGroup.js","webpack:///./node_modules/d3-format/src/formatNumerals.js","webpack:///./node_modules/d3-format/src/formatPrefixAuto.js","webpack:///./node_modules/d3-format/src/formatRounded.js","webpack:///./node_modules/d3-format/src/formatSpecifier.js","webpack:///./node_modules/d3-format/src/formatTrim.js","webpack:///./node_modules/d3-format/src/formatTypes.js","webpack:///./node_modules/d3-format/src/identity.js","webpack:///./node_modules/d3-format/src/index.js","webpack:///./node_modules/d3-format/src/locale.js","webpack:///./node_modules/d3-format/src/precisionFixed.js","webpack:///./node_modules/d3-format/src/precisionPrefix.js","webpack:///./node_modules/d3-format/src/precisionRound.js","webpack:///./node_modules/d3-geo/src/adder.js","webpack:///./node_modules/d3-geo/src/area.js","webpack:///./node_modules/d3-geo/src/bounds.js","webpack:///./node_modules/d3-geo/src/cartesian.js","webpack:///./node_modules/d3-geo/src/centroid.js","webpack:///./node_modules/d3-geo/src/circle.js","webpack:///./node_modules/d3-geo/src/clip/antimeridian.js","webpack:///./node_modules/d3-geo/src/clip/buffer.js","webpack:///./node_modules/d3-geo/src/clip/circle.js","webpack:///./node_modules/d3-geo/src/clip/extent.js","webpack:///./node_modules/d3-geo/src/clip/index.js","webpack:///./node_modules/d3-geo/src/clip/line.js","webpack:///./node_modules/d3-geo/src/clip/rectangle.js","webpack:///./node_modules/d3-geo/src/clip/rejoin.js","webpack:///./node_modules/d3-geo/src/compose.js","webpack:///./node_modules/d3-geo/src/constant.js","webpack:///./node_modules/d3-geo/src/contains.js","webpack:///./node_modules/d3-geo/src/distance.js","webpack:///./node_modules/d3-geo/src/graticule.js","webpack:///./node_modules/d3-geo/src/identity.js","webpack:///./node_modules/d3-geo/src/index.js","webpack:///./node_modules/d3-geo/src/interpolate.js","webpack:///./node_modules/d3-geo/src/length.js","webpack:///./node_modules/d3-geo/src/math.js","webpack:///./node_modules/d3-geo/src/noop.js","webpack:///./node_modules/d3-geo/src/path/area.js","webpack:///./node_modules/d3-geo/src/path/bounds.js","webpack:///./node_modules/d3-geo/src/path/centroid.js","webpack:///./node_modules/d3-geo/src/path/context.js","webpack:///./node_modules/d3-geo/src/path/index.js","webpack:///./node_modules/d3-geo/src/path/measure.js","webpack:///./node_modules/d3-geo/src/path/string.js","webpack:///./node_modules/d3-geo/src/pointEqual.js","webpack:///./node_modules/d3-geo/src/polygonContains.js","webpack:///./node_modules/d3-geo/src/projection/albers.js","webpack:///./node_modules/d3-geo/src/projection/albersUsa.js","webpack:///./node_modules/d3-geo/src/projection/azimuthal.js","webpack:///./node_modules/d3-geo/src/projection/azimuthalEqualArea.js","webpack:///./node_modules/d3-geo/src/projection/azimuthalEquidistant.js","webpack:///./node_modules/d3-geo/src/projection/conic.js","webpack:///./node_modules/d3-geo/src/projection/conicConformal.js","webpack:///./node_modules/d3-geo/src/projection/conicEqualArea.js","webpack:///./node_modules/d3-geo/src/projection/conicEquidistant.js","webpack:///./node_modules/d3-geo/src/projection/cylindricalEqualArea.js","webpack:///./node_modules/d3-geo/src/projection/equalEarth.js","webpack:///./node_modules/d3-geo/src/projection/equirectangular.js","webpack:///./node_modules/d3-geo/src/projection/fit.js","webpack:///./node_modules/d3-geo/src/projection/gnomonic.js","webpack:///./node_modules/d3-geo/src/projection/identity.js","webpack:///./node_modules/d3-geo/src/projection/index.js","webpack:///./node_modules/d3-geo/src/projection/mercator.js","webpack:///./node_modules/d3-geo/src/projection/naturalEarth1.js","webpack:///./node_modules/d3-geo/src/projection/orthographic.js","webpack:///./node_modules/d3-geo/src/projection/resample.js","webpack:///./node_modules/d3-geo/src/projection/stereographic.js","webpack:///./node_modules/d3-geo/src/projection/transverseMercator.js","webpack:///./node_modules/d3-geo/src/rotation.js","webpack:///./node_modules/d3-geo/src/stream.js","webpack:///./node_modules/d3-geo/src/transform.js","webpack:///./node_modules/d3-hierarchy/src/accessors.js","webpack:///./node_modules/d3-hierarchy/src/array.js","webpack:///./node_modules/d3-hierarchy/src/cluster.js","webpack:///./node_modules/d3-hierarchy/src/constant.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/ancestors.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/count.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/descendants.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/each.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/eachAfter.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/eachBefore.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/index.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/leaves.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/links.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/path.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/sort.js","webpack:///./node_modules/d3-hierarchy/src/hierarchy/sum.js","webpack:///./node_modules/d3-hierarchy/src/index.js","webpack:///./node_modules/d3-hierarchy/src/pack/enclose.js","webpack:///./node_modules/d3-hierarchy/src/pack/index.js","webpack:///./node_modules/d3-hierarchy/src/pack/siblings.js","webpack:///./node_modules/d3-hierarchy/src/partition.js","webpack:///./node_modules/d3-hierarchy/src/stratify.js","webpack:///./node_modules/d3-hierarchy/src/tree.js","webpack:///./node_modules/d3-hierarchy/src/treemap/binary.js","webpack:///./node_modules/d3-hierarchy/src/treemap/dice.js","webpack:///./node_modules/d3-hierarchy/src/treemap/index.js","webpack:///./node_modules/d3-hierarchy/src/treemap/resquarify.js","webpack:///./node_modules/d3-hierarchy/src/treemap/round.js","webpack:///./node_modules/d3-hierarchy/src/treemap/slice.js","webpack:///./node_modules/d3-hierarchy/src/treemap/sliceDice.js","webpack:///./node_modules/d3-hierarchy/src/treemap/squarify.js","webpack:///./node_modules/d3-interpolate/src/array.js","webpack:///./node_modules/d3-interpolate/src/basis.js","webpack:///./node_modules/d3-interpolate/src/basisClosed.js","webpack:///./node_modules/d3-interpolate/src/color.js","webpack:///./node_modules/d3-interpolate/src/constant.js","webpack:///./node_modules/d3-interpolate/src/cubehelix.js","webpack:///./node_modules/d3-interpolate/src/date.js","webpack:///./node_modules/d3-interpolate/src/discrete.js","webpack:///./node_modules/d3-interpolate/src/hcl.js","webpack:///./node_modules/d3-interpolate/src/hsl.js","webpack:///./node_modules/d3-interpolate/src/hue.js","webpack:///./node_modules/d3-interpolate/src/index.js","webpack:///./node_modules/d3-interpolate/src/lab.js","webpack:///./node_modules/d3-interpolate/src/number.js","webpack:///./node_modules/d3-interpolate/src/object.js","webpack:///./node_modules/d3-interpolate/src/piecewise.js","webpack:///./node_modules/d3-interpolate/src/quantize.js","webpack:///./node_modules/d3-interpolate/src/rgb.js","webpack:///./node_modules/d3-interpolate/src/round.js","webpack:///./node_modules/d3-interpolate/src/string.js","webpack:///./node_modules/d3-interpolate/src/transform/decompose.js","webpack:///./node_modules/d3-interpolate/src/transform/index.js","webpack:///./node_modules/d3-interpolate/src/transform/parse.js","webpack:///./node_modules/d3-interpolate/src/value.js","webpack:///./node_modules/d3-interpolate/src/zoom.js","webpack:///./node_modules/d3-path/src/index.js","webpack:///./node_modules/d3-path/src/path.js","webpack:///./node_modules/d3-polygon/src/area.js","webpack:///./node_modules/d3-polygon/src/centroid.js","webpack:///./node_modules/d3-polygon/src/contains.js","webpack:///./node_modules/d3-polygon/src/cross.js","webpack:///./node_modules/d3-polygon/src/hull.js","webpack:///./node_modules/d3-polygon/src/index.js","webpack:///./node_modules/d3-polygon/src/length.js","webpack:///./node_modules/d3-quadtree/src/add.js","webpack:///./node_modules/d3-quadtree/src/cover.js","webpack:///./node_modules/d3-quadtree/src/data.js","webpack:///./node_modules/d3-quadtree/src/extent.js","webpack:///./node_modules/d3-quadtree/src/find.js","webpack:///./node_modules/d3-quadtree/src/index.js","webpack:///./node_modules/d3-quadtree/src/quad.js","webpack:///./node_modules/d3-quadtree/src/quadtree.js","webpack:///./node_modules/d3-quadtree/src/remove.js","webpack:///./node_modules/d3-quadtree/src/root.js","webpack:///./node_modules/d3-quadtree/src/size.js","webpack:///./node_modules/d3-quadtree/src/visit.js","webpack:///./node_modules/d3-quadtree/src/visitAfter.js","webpack:///./node_modules/d3-quadtree/src/x.js","webpack:///./node_modules/d3-quadtree/src/y.js","webpack:///./node_modules/d3-random/src/bates.js","webpack:///./node_modules/d3-random/src/defaultSource.js","webpack:///./node_modules/d3-random/src/exponential.js","webpack:///./node_modules/d3-random/src/index.js","webpack:///./node_modules/d3-random/src/irwinHall.js","webpack:///./node_modules/d3-random/src/logNormal.js","webpack:///./node_modules/d3-random/src/normal.js","webpack:///./node_modules/d3-random/src/uniform.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Accent.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Dark2.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Paired.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Pastel1.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Pastel2.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Set1.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Set2.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/Set3.js","webpack:///./node_modules/d3-scale-chromatic/src/categorical/category10.js","webpack:///./node_modules/d3-scale-chromatic/src/colors.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/BrBG.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/PRGn.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/PiYG.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/PuOr.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/RdBu.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/RdGy.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/RdYlBu.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/RdYlGn.js","webpack:///./node_modules/d3-scale-chromatic/src/diverging/Spectral.js","webpack:///./node_modules/d3-scale-chromatic/src/index.js","webpack:///./node_modules/d3-scale-chromatic/src/ramp.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/BuGn.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/BuPu.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/GnBu.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/OrRd.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/PuBu.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/PuBuGn.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/PuRd.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/RdPu.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/YlGn.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/YlGnBu.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/YlOrBr.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/YlOrRd.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/cubehelix.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/rainbow.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/sinebow.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-multi/viridis.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-single/Blues.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-single/Greens.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-single/Greys.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-single/Oranges.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-single/Purples.js","webpack:///./node_modules/d3-scale-chromatic/src/sequential-single/Reds.js","webpack:///./node_modules/d3-scale/src/array.js","webpack:///./node_modules/d3-scale/src/band.js","webpack:///./node_modules/d3-scale/src/constant.js","webpack:///./node_modules/d3-scale/src/continuous.js","webpack:///./node_modules/d3-scale/src/diverging.js","webpack:///./node_modules/d3-scale/src/identity.js","webpack:///./node_modules/d3-scale/src/index.js","webpack:///./node_modules/d3-scale/src/linear.js","webpack:///./node_modules/d3-scale/src/log.js","webpack:///./node_modules/d3-scale/src/nice.js","webpack:///./node_modules/d3-scale/src/number.js","webpack:///./node_modules/d3-scale/src/ordinal.js","webpack:///./node_modules/d3-scale/src/pow.js","webpack:///./node_modules/d3-scale/src/quantile.js","webpack:///./node_modules/d3-scale/src/quantize.js","webpack:///./node_modules/d3-scale/src/sequential.js","webpack:///./node_modules/d3-scale/src/threshold.js","webpack:///./node_modules/d3-scale/src/tickFormat.js","webpack:///./node_modules/d3-scale/src/time.js","webpack:///./node_modules/d3-scale/src/utcTime.js","webpack:///./node_modules/d3-selection/src/constant.js","webpack:///./node_modules/d3-selection/src/create.js","webpack:///./node_modules/d3-selection/src/creator.js","webpack:///./node_modules/d3-selection/src/index.js","webpack:///./node_modules/d3-selection/src/local.js","webpack:///./node_modules/d3-selection/src/matcher.js","webpack:///./node_modules/d3-selection/src/mouse.js","webpack:///./node_modules/d3-selection/src/namespace.js","webpack:///./node_modules/d3-selection/src/namespaces.js","webpack:///./node_modules/d3-selection/src/point.js","webpack:///./node_modules/d3-selection/src/select.js","webpack:///./node_modules/d3-selection/src/selectAll.js","webpack:///./node_modules/d3-selection/src/selection/append.js","webpack:///./node_modules/d3-selection/src/selection/attr.js","webpack:///./node_modules/d3-selection/src/selection/call.js","webpack:///./node_modules/d3-selection/src/selection/classed.js","webpack:///./node_modules/d3-selection/src/selection/clone.js","webpack:///./node_modules/d3-selection/src/selection/data.js","webpack:///./node_modules/d3-selection/src/selection/datum.js","webpack:///./node_modules/d3-selection/src/selection/dispatch.js","webpack:///./node_modules/d3-selection/src/selection/each.js","webpack:///./node_modules/d3-selection/src/selection/empty.js","webpack:///./node_modules/d3-selection/src/selection/enter.js","webpack:///./node_modules/d3-selection/src/selection/exit.js","webpack:///./node_modules/d3-selection/src/selection/filter.js","webpack:///./node_modules/d3-selection/src/selection/html.js","webpack:///./node_modules/d3-selection/src/selection/index.js","webpack:///./node_modules/d3-selection/src/selection/insert.js","webpack:///./node_modules/d3-selection/src/selection/lower.js","webpack:///./node_modules/d3-selection/src/selection/merge.js","webpack:///./node_modules/d3-selection/src/selection/node.js","webpack:///./node_modules/d3-selection/src/selection/nodes.js","webpack:///./node_modules/d3-selection/src/selection/on.js","webpack:///./node_modules/d3-selection/src/selection/order.js","webpack:///./node_modules/d3-selection/src/selection/property.js","webpack:///./node_modules/d3-selection/src/selection/raise.js","webpack:///./node_modules/d3-selection/src/selection/remove.js","webpack:///./node_modules/d3-selection/src/selection/select.js","webpack:///./node_modules/d3-selection/src/selection/selectAll.js","webpack:///./node_modules/d3-selection/src/selection/size.js","webpack:///./node_modules/d3-selection/src/selection/sort.js","webpack:///./node_modules/d3-selection/src/selection/sparse.js","webpack:///./node_modules/d3-selection/src/selection/style.js","webpack:///./node_modules/d3-selection/src/selection/text.js","webpack:///./node_modules/d3-selection/src/selector.js","webpack:///./node_modules/d3-selection/src/selectorAll.js","webpack:///./node_modules/d3-selection/src/sourceEvent.js","webpack:///./node_modules/d3-selection/src/touch.js","webpack:///./node_modules/d3-selection/src/touches.js","webpack:///./node_modules/d3-selection/src/window.js","webpack:///./node_modules/d3-shape/src/arc.js","webpack:///./node_modules/d3-shape/src/area.js","webpack:///./node_modules/d3-shape/src/areaRadial.js","webpack:///./node_modules/d3-shape/src/array.js","webpack:///./node_modules/d3-shape/src/constant.js","webpack:///./node_modules/d3-shape/src/curve/basis.js","webpack:///./node_modules/d3-shape/src/curve/basisClosed.js","webpack:///./node_modules/d3-shape/src/curve/basisOpen.js","webpack:///./node_modules/d3-shape/src/curve/bundle.js","webpack:///./node_modules/d3-shape/src/curve/cardinal.js","webpack:///./node_modules/d3-shape/src/curve/cardinalClosed.js","webpack:///./node_modules/d3-shape/src/curve/cardinalOpen.js","webpack:///./node_modules/d3-shape/src/curve/catmullRom.js","webpack:///./node_modules/d3-shape/src/curve/catmullRomClosed.js","webpack:///./node_modules/d3-shape/src/curve/catmullRomOpen.js","webpack:///./node_modules/d3-shape/src/curve/linear.js","webpack:///./node_modules/d3-shape/src/curve/linearClosed.js","webpack:///./node_modules/d3-shape/src/curve/monotone.js","webpack:///./node_modules/d3-shape/src/curve/natural.js","webpack:///./node_modules/d3-shape/src/curve/radial.js","webpack:///./node_modules/d3-shape/src/curve/step.js","webpack:///./node_modules/d3-shape/src/descending.js","webpack:///./node_modules/d3-shape/src/identity.js","webpack:///./node_modules/d3-shape/src/index.js","webpack:///./node_modules/d3-shape/src/line.js","webpack:///./node_modules/d3-shape/src/lineRadial.js","webpack:///./node_modules/d3-shape/src/link/index.js","webpack:///./node_modules/d3-shape/src/math.js","webpack:///./node_modules/d3-shape/src/noop.js","webpack:///./node_modules/d3-shape/src/offset/diverging.js","webpack:///./node_modules/d3-shape/src/offset/expand.js","webpack:///./node_modules/d3-shape/src/offset/none.js","webpack:///./node_modules/d3-shape/src/offset/silhouette.js","webpack:///./node_modules/d3-shape/src/offset/wiggle.js","webpack:///./node_modules/d3-shape/src/order/ascending.js","webpack:///./node_modules/d3-shape/src/order/descending.js","webpack:///./node_modules/d3-shape/src/order/insideOut.js","webpack:///./node_modules/d3-shape/src/order/none.js","webpack:///./node_modules/d3-shape/src/order/reverse.js","webpack:///./node_modules/d3-shape/src/pie.js","webpack:///./node_modules/d3-shape/src/point.js","webpack:///./node_modules/d3-shape/src/pointRadial.js","webpack:///./node_modules/d3-shape/src/stack.js","webpack:///./node_modules/d3-shape/src/symbol.js","webpack:///./node_modules/d3-shape/src/symbol/circle.js","webpack:///./node_modules/d3-shape/src/symbol/cross.js","webpack:///./node_modules/d3-shape/src/symbol/diamond.js","webpack:///./node_modules/d3-shape/src/symbol/square.js","webpack:///./node_modules/d3-shape/src/symbol/star.js","webpack:///./node_modules/d3-shape/src/symbol/triangle.js","webpack:///./node_modules/d3-shape/src/symbol/wye.js","webpack:///./node_modules/d3-time-format/src/defaultLocale.js","webpack:///./node_modules/d3-time-format/src/index.js","webpack:///./node_modules/d3-time-format/src/isoFormat.js","webpack:///./node_modules/d3-time-format/src/isoParse.js","webpack:///./node_modules/d3-time-format/src/locale.js","webpack:///./node_modules/d3-time/src/day.js","webpack:///./node_modules/d3-time/src/duration.js","webpack:///./node_modules/d3-time/src/hour.js","webpack:///./node_modules/d3-time/src/index.js","webpack:///./node_modules/d3-time/src/interval.js","webpack:///./node_modules/d3-time/src/millisecond.js","webpack:///./node_modules/d3-time/src/minute.js","webpack:///./node_modules/d3-time/src/month.js","webpack:///./node_modules/d3-time/src/second.js","webpack:///./node_modules/d3-time/src/utcDay.js","webpack:///./node_modules/d3-time/src/utcHour.js","webpack:///./node_modules/d3-time/src/utcMinute.js","webpack:///./node_modules/d3-time/src/utcMonth.js","webpack:///./node_modules/d3-time/src/utcWeek.js","webpack:///./node_modules/d3-time/src/utcYear.js","webpack:///./node_modules/d3-time/src/week.js","webpack:///./node_modules/d3-time/src/year.js","webpack:///./node_modules/d3-timer/src/index.js","webpack:///./node_modules/d3-timer/src/interval.js","webpack:///./node_modules/d3-timer/src/timeout.js","webpack:///./node_modules/d3-timer/src/timer.js","webpack:///./node_modules/d3-transition/src/active.js","webpack:///./node_modules/d3-transition/src/index.js","webpack:///./node_modules/d3-transition/src/interrupt.js","webpack:///./node_modules/d3-transition/src/selection/index.js","webpack:///./node_modules/d3-transition/src/selection/interrupt.js","webpack:///./node_modules/d3-transition/src/selection/transition.js","webpack:///./node_modules/d3-transition/src/transition/attr.js","webpack:///./node_modules/d3-transition/src/transition/attrTween.js","webpack:///./node_modules/d3-transition/src/transition/delay.js","webpack:///./node_modules/d3-transition/src/transition/duration.js","webpack:///./node_modules/d3-transition/src/transition/ease.js","webpack:///./node_modules/d3-transition/src/transition/filter.js","webpack:///./node_modules/d3-transition/src/transition/index.js","webpack:///./node_modules/d3-transition/src/transition/interpolate.js","webpack:///./node_modules/d3-transition/src/transition/merge.js","webpack:///./node_modules/d3-transition/src/transition/on.js","webpack:///./node_modules/d3-transition/src/transition/remove.js","webpack:///./node_modules/d3-transition/src/transition/schedule.js","webpack:///./node_modules/d3-transition/src/transition/select.js","webpack:///./node_modules/d3-transition/src/transition/selectAll.js","webpack:///./node_modules/d3-transition/src/transition/selection.js","webpack:///./node_modules/d3-transition/src/transition/style.js","webpack:///./node_modules/d3-transition/src/transition/styleTween.js","webpack:///./node_modules/d3-transition/src/transition/text.js","webpack:///./node_modules/d3-transition/src/transition/transition.js","webpack:///./node_modules/d3-transition/src/transition/tween.js","webpack:///./node_modules/d3-voronoi/src/Beach.js","webpack:///./node_modules/d3-voronoi/src/Cell.js","webpack:///./node_modules/d3-voronoi/src/Circle.js","webpack:///./node_modules/d3-voronoi/src/Diagram.js","webpack:///./node_modules/d3-voronoi/src/Edge.js","webpack:///./node_modules/d3-voronoi/src/RedBlackTree.js","webpack:///./node_modules/d3-voronoi/src/constant.js","webpack:///./node_modules/d3-voronoi/src/index.js","webpack:///./node_modules/d3-voronoi/src/point.js","webpack:///./node_modules/d3-voronoi/src/voronoi.js","webpack:///./node_modules/d3-zoom/src/constant.js","webpack:///./node_modules/d3-zoom/src/event.js","webpack:///./node_modules/d3-zoom/src/index.js","webpack:///./node_modules/d3-zoom/src/noevent.js","webpack:///./node_modules/d3-zoom/src/transform.js","webpack:///./node_modules/d3-zoom/src/zoom.js","webpack:///./node_modules/d3/dist/package.js","webpack:///./node_modules/d3/index.js","webpack:///./src/index.js","webpack:///./src/store/index.js","webpack:///./src/views/index.js","webpack:///./src/views/main.js"],"names":["array","Array","prototype","slice","map","a","b","NaN","ascendingBisect","bisectRight","right","bisectLeft","left","compare","length","ascendingComparator","x","lo","hi","mid","f","d","values0","values1","reduce","n0","n1","values","i0","i1","i","value0","v","Math","sqrt","valueof","n","value","min","max","domain","threshold","histogram","data","xz","x0","x1","tz","isArray","ceil","m","shift","pop","bins","bin","push","_","arguments","thresholds","call","sum","isNaN","numbers","sort","arrays","j","merged","pair","p","pairs","indexes","permutes","floor","value1","start","stop","step","range","xi","xj","t","random","pow","log","LN2","e10","e5","e2","count","reverse","ticks","tickIncrement","isFinite","power","LN10","error","tickStep","step0","abs","step1","matrix","transpose","row","mean","delta","top","bottom","epsilon","translateX","translateY","y","number","scale","center","offset","bandwidth","round","entering","__axis","axis","orient","tickArguments","tickValues","tickFormat","tickSizeInner","tickSizeOuter","tickPadding","k","transform","context","apply","format","spacing","range0","range1","position","copy","selection","path","selectAll","tick","order","tickExit","exit","tickEnter","enter","append","attr","line","select","text","merge","insert","transition","getAttribute","parentNode","remove","filter","each","tickSize","axisTop","axisRight","axisBottom","axisLeft","MODE_DRAG","name","MODE_SPACE","MODE_HANDLE","MODE_CENTER","X","handles","type","input","e","output","xy","Y","XY","cursors","overlay","s","w","nw","ne","se","sw","flipX","flipY","signsX","signsY","defaultFilter","button","defaultExtent","svg","ownerSVGElement","width","baseVal","height","local","node","__brush","empty","extent","brushSelection","state","dim","brushX","brush","brushY","listeners","handleSize","touchending","group","property","initialize","handle","redraw","style","on","started","move","emitter","beforestart","end","tween","that","emit","selection0","selection1","args","interrupt","Emitter","active","starting","customEvent","touches","changedTouches","target","__data__","mode","metaKey","altKey","signX","signY","W","w0","w1","N","E","e0","e1","S","s0","s1","dx","dy","moving","shifting","shiftKey","lockX","lockY","point0","point","moved","ended","view","keydowned","keyupped","dragDisable","nopropagation","point1","noevent","clearTimeout","setTimeout","dragEnable","keyCode","event","stopImmediatePropagation","preventDefault","compareValue","source","padAngle","sortGroups","sortSubgroups","sortChords","chord","groupSums","groupIndex","subgroupIndex","chords","groups","subgroups","forEach","di","dj","a0","a1","index","subindex","startAngle","endAngle","cos","sin","pi","PI","halfPi","tau","defaultSource","defaultTarget","defaultRadius","radius","defaultStartAngle","defaultEndAngle","ribbon","buffer","argv","sr","sa0","sa1","sx0","sy0","tr","ta0","ta1","moveTo","arc","quadraticCurveTo","closePath","entries","key","keys","prefix","Map","constructor","has","get","set","clear","size","object","o","sortKeys","sortValues","rollup","nest","depth","createResult","setResult","keyValue","valuesByKey","result","sortKey","createObject","setObject","createMap","setMap","Set","proto","add","Color","darker","brighter","reI","reN","reP","reHex3","reHex6","reRgbInteger","RegExp","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","color","displayable","rgb","hex","toString","trim","toLowerCase","exec","parseInt","Rgb","rgbn","rgba","hsla","hasOwnProperty","r","g","rgbConvert","opacity","h","l","Hsl","hslConvert","hsl","m2","m1","hsl2rgb","A","B","C","D","ED","EB","BC_DA","cubehelixConvert","Cubehelix","bl","atan2","cubehelix","cosh","sinh","factory","extend","parent","definition","Object","create","K","Xn","Yn","Zn","t0","t1","t2","t3","labConvert","Lab","Hcl","c","rgb2lrgb","xyz2lab","z","lab","lab2xyz","lrgb2rgb","hclConvert","lch","hcl","deg2rad","rad2deg","ring","area","blurX","blurY","hole","ringContains","contains","yi","pj","yj","segmentContains","collinear","within","q","cases","smooth","smoothLinear","contours","contour","polygons","holes","isorings","polygon","coordinates","callback","fragmentByStart","fragmentByEnd","stitch","startIndex","endIndex","concat","unshift","xt","yt","v0","v1","_0","_1","Error","defaultX","defaultY","defaultWeight","weight","density","Float32Array","wi","geometry","transformPolygon","transformRing","transformPoint","resize","cellSize","noop","dispatch","Dispatch","parseTypenames","typenames","types","split","indexOf","typename","T","defaultContainer","defaultSubject","defaultTouchable","container","subject","touchable","gestures","mousedownx","mousedowny","mousemoving","clickDistance2","drag","mousedowned","touchstarted","touchmoved","touchended","gesture","mousemoved","mouseupped","nodrag","clientX","clientY","mouse","yesdrag","identifier","id","sublisteners","p0","clickDistance","DragEvent","root","document","documentElement","__noselect","MozUserSelect","noclick","csv","csvParse","parse","csvParseRows","parseRows","csvFormat","csvFormatRows","formatRows","EOL","EOF","QUOTE","NEWLINE","RETURN","objectConverter","columns","Function","JSON","stringify","join","customConverter","inferColumns","rows","columnSet","column","delimiter","reFormat","DELIMITER","charCodeAt","convert","I","eof","eol","token","replace","formatValue","formatRow","test","tsv","tsvParse","tsvParseRows","tsvFormat","tsvFormatRows","overshoot","backIn","custom","backOut","backInOut","b1","b2","b3","b4","b5","b6","b7","b8","b9","b0","bounceIn","bounceOut","bounceInOut","circleIn","circleOut","circleInOut","cubicIn","cubicOut","cubicInOut","amplitude","period","elasticIn","asin","elasticOut","elasticInOut","expIn","expOut","expInOut","linear","exponent","polyIn","polyOut","polyInOut","quadIn","quadOut","quadInOut","sinIn","sinOut","sinInOut","responseBlob","response","ok","status","statusText","blob","init","fetch","then","responseArrayBuffer","arrayBuffer","dsvParse","undefined","dsv","Promise","resolve","reject","image","Image","onerror","onload","src","responseJson","json","responseText","parser","DOMParser","parseFromString","html","nodes","force","sx","sy","vx","vy","radii","strength","iterations","tree","ri","ri2","visitAfter","prepare","visit","quad","y0","y1","rj","find","nodeById","nodeId","links","defaultStrength","strengths","distance","distances","bias","link","alpha","initializeStrength","initializeDistance","distanceMin2","distanceMax2","Infinity","theta2","accumulate","next","x2","distanceMin","distanceMax","theta","radiuses","initialRadius","initialAngle","simulation","alphaMin","alphaDecay","alphaTarget","velocityDecay","forces","stepper","fx","fy","initializeNodes","angle","initializeForce","restart","d2","closest","yz","locale","formatPrefix","defaultLocale","decimal","thousands","grouping","currency","toExponential","coefficient","substring","numerals","prefixExponent","re","formatSpecifier","specifier","FormatSpecifier","match","fill","align","sign","symbol","zero","comma","precision","out","toFixed","toPrecision","toUpperCase","prefixes","percent","newFormat","suffix","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","padding","Adder","reset","temp","valueOf","adder","bv","av","areaRingSum","areaSum","lambda00","phi00","lambda0","cosPhi0","sinPhi0","areaStream","lineStart","lineEnd","polygonStart","areaRingStart","areaRingEnd","polygonEnd","areaRing","sphere","areaPointFirst","areaPoint","lambda","phi","dLambda","sdLambda","adLambda","cosPhi","sinPhi","u","stream","phi0","lambda1","phi1","lambda2","deltaSum","ranges","boundsStream","boundsPoint","boundsLineStart","boundsLineEnd","boundsRingPoint","boundsRingStart","boundsRingEnd","linePoint","normal","equatorial","inflection","cartesianNormalizeInPlace","lambdai","phii","antimeridian","rangeCompare","rangeContains","feature","deltaMax","spherical","cartesian","cartesianDot","cartesianCross","cartesianAddInPlace","cartesianScale","vector","W0","W1","X0","Y0","Z0","X1","Y1","Z1","X2","Y2","Z2","z0","centroidStream","centroidPoint","centroidLineStart","centroidLineEnd","centroidRingStart","centroidRingEnd","centroidPointCartesian","centroidLinePointFirst","centroidLinePoint","centroidRingPointFirst","centroidRingPoint","cx","cy","cz","circleStream","direction","cosRadius","sinRadius","circleRadius","rotate","circle","invert","clipAntimeridianLine","clipAntimeridianInterpolate","sign0","clean","sign1","clipAntimeridianIntersect","cosPhi1","sinLambda0Lambda1","from","to","lines","rejoin","cr","smallRadius","notHemisphere","interpolate","visible","clipLine","c0","v00","point2","code","intersect","two","pa","pb","n2","n2n2","n1n2","determinant","c1","c2","n1xn2","uu","polar","meridian","q1","cache","cacheStream","clip","pointVisible","sink","ringBuffer","ringSink","polygonStarted","segments","pointRing","ringStart","ringEnd","startInside","clipRejoin","compareIntersection","pointLine","ringSegments","segment","validSegment","ax","ay","bx","by","clipMax","clipMin","clipRectangle","corner","comparePoint","ca","cb","activeStream","bufferStream","x__","y__","v__","x_","y_","v_","first","clipStream","polygonInside","winding","cleanInside","Intersection","points","other","entry","p1","current","isSubject","compose","containsObjectType","Feature","containsGeometry","FeatureCollection","features","containsGeometryType","Sphere","Point","containsPoint","MultiPoint","LineString","containsLine","MultiLineString","Polygon","containsPolygon","MultiPolygon","GeometryCollection","geometries","ab","ao","ob","ringRadians","pointRadians","graticuleX","graticuleY","graticule","DX","DY","outline","extentMinor","extentMajor","stepMinor","stepMajor","graticule10","cy0","cy1","sy1","kx0","ky0","kx1","ky1","lengthSum","lengthStream","lengthLineStart","lengthPointFirst","lengthLineEnd","lengthPoint","cosDelta","sinDelta","epsilon2","quarterPi","degrees","radians","atan","exp","acos","haversin","x00","y00","bounds","centroid","centroidPointFirstLine","centroidPointLine","centroidPointFirstRing","centroidPointRing","PathContext","_context","_radius","pointRadius","_line","_point","lineTo","projection","projectionStream","contextStream","measure","lengthRing","PathString","_string","_circle","sinPhi1","absDelta","intersection","phiArc","parallels","translate","multiplex","streams","lower48","lower48Point","alaska","alaskaPoint","hawaii","hawaiiPoint","pointStream","albersUsa","clipExtent","fitExtent","fitSize","fitWidth","fitHeight","azimuthalRaw","azimuthalInvert","sc","cc","azimuthalEqualAreaRaw","cxcy","clipAngle","azimuthalEquidistantRaw","conicProjection","projectAt","tany","conicConformalRaw","project","conicEqualAreaRaw","r0","r0y","conicEquidistantRaw","gy","nx","cylindricalEqualAreaRaw","forward","A1","A2","A3","A4","M","equalEarthRaw","l2","l6","fpy","equirectangularRaw","fit","fitBounds","geoStream","gnomonicRaw","scaleTranslate","kx","ky","tx","ty","postclip","reflectX","reflectY","transformRadians","transformRotate","scaleTranslateRotate","cosAlpha","sinAlpha","ai","bi","ci","fi","projectionMutator","deltaLambda","deltaPhi","deltaGamma","preclip","delta2","projectResample","projectTransform","projectRotateTransform","recenter","mercatorRaw","mercatorProjection","reclip","naturalEarth1Raw","phi2","phi4","orthographicRaw","maxDepth","cosMinDistance","resample","resampleNone","resampleLineTo","y2","dx2","dy2","dz","a00","b00","c00","resampleStream","ringPoint","stereographicRaw","transverseMercatorRaw","rotationIdentity","rotateRadians","rotationLambda","rotationPhiGamma","forwardRotationLambda","rotation","cosDeltaPhi","sinDeltaPhi","cosDeltaGamma","sinDeltaGamma","streamGeometry","streamGeometryType","streamObjectType","streamLine","streamPolygon","closed","coordinate","methods","transformer","TransformStream","optional","required","shuffle","defaultSeparation","meanX","children","meanXReduce","maxY","maxYReduce","leafLeft","leafRight","separation","nodeSize","cluster","previousNode","eachAfter","constantZero","hierarchy","Node","valued","child","childs","defaultChildren","eachBefore","computeHeight","node_copy","copyData","ancestors","descendants","leaves","ancestor","leastCommonAncestor","splice","aNodes","bNodes","circles","enclosesWeak","encloseBasis","extendBasis","enclosesWeakAll","enclosesNot","encloseBasis2","encloseBasis3","dr","encloseBasis1","r1","r2","x21","y21","r21","x3","y3","r3","a2","a3","c3","d1","d3","xa","xb","ya","yb","pack","radiusLeaf","packChildren","translateChild","place","intersects","score","previous","packEnclose","aa","sj","sk","partition","positionNode","treemapDice","keyPrefix","preroot","ambiguous","defaultId","defaultParentId","parentId","stratify","nodeKey","nodeByKey","nextLeft","nextRight","moveSubtree","wm","wp","change","executeShifts","nextAncestor","vim","TreeNode","treeRoot","firstWalk","secondWalk","sizeNode","siblings","midpoint","apportion","vip","vop","vom","sip","sop","sim","som","sums","valueOffset","valueTarget","valueLeft","valueRight","xk","yk","tile","paddingStack","paddingInner","paddingTop","paddingRight","paddingBottom","paddingLeft","treemap","paddingOuter","ratio","resquarify","_squarify","dice","squarifyRatio","nodeValue","sumValue","minValue","maxValue","newRatio","minRatio","beta","squarify","nb","na","basis","v2","v3","exponential","hue","gamma","nogamma","cubehelixGamma","cubehelixLong","Date","setTime","hclLong","hslLong","piecewise","interpolator","samples","rgbGamma","rgbSpline","spline","colors","rgbBasis","rgbBasisClosed","reA","reB","one","lastIndex","am","bm","bs","identity","skewX","scaleX","scaleY","interpolateTransform","pxComma","pxParen","degParen","interpolateTransformCss","interpolateTransformSvg","cssNode","cssRoot","cssView","svgNode","parseCss","createElement","defaultView","getComputedStyle","appendChild","getPropertyValue","removeChild","parseSvg","createElementNS","setAttribute","consolidate","rho","SQRT2","rho2","rho4","tanh","ux0","uy0","ux1","uy1","coshr0","duration","tauEpsilon","Path","_x0","_y0","_x1","_y1","bezierCurveTo","arcTo","x01","y01","l01_2","x20","y20","l21_2","l20_2","l21","l01","t01","t21","ccw","cw","da","rect","inside","lexicographicOrder","computeUpperHullIndexes","sortedPoints","flippedPoints","upperIndexes","lowerIndexes","skipLeft","skipRight","hull","perimeter","_x","_y","cover","_root","leaf","xm","ym","xp","yp","addAll","quads","quadtree","Quadtree","leaf_copy","treeProto","removeAll","retainer","sourceRandomBates","randomBates","randomIrwinHall","sourceRandomExponential","randomExponential","sourceRandomIrwinHall","sourceRandomLogNormal","randomLogNormal","randomNormal","sourceRandomNormal","mu","sigma","sourceRandomUniform","randomUniform","scheme","warm","cool","ts","pi_1_3","pi_2_3","ramp","magma","inferno","plasma","band","unknown","ordinalRange","rescale","rangeRound","pointish","unit","deinterpolateLinear","deinterpolateClamp","deinterpolate","reinterpolateClamp","reinterpolate","bimap","d0","polymap","clamp","continuous","diverging","k10","k21","linearish","nice","pow10","powp","base","logp","log10","log2","reflect","logs","pows","interval","implicit","ordinal","raise","quantile","invertExtent","quantiles","quantize","sequential","durationSecond","durationMinute","durationHour","durationDay","durationWeek","durationMonth","durationYear","date","calendar","year","month","week","day","hour","minute","second","millisecond","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","formatMonth","formatYear","tickIntervals","tickInterval","every","UTC","creatorInherit","ownerDocument","uri","namespaceURI","creatorFixed","fullname","space","nextId","Local","matcher","selector","matches","element","vendorMatches","webkitMatchesSelector","msMatchesSelector","mozMatchesSelector","oMatchesSelector","xhtml","xlink","xml","xmlns","createSVGPoint","matrixTransform","getScreenCTM","inverse","getBoundingClientRect","clientLeft","clientTop","querySelector","querySelectorAll","attrRemove","removeAttribute","attrRemoveNS","removeAttributeNS","attrConstant","attrConstantNS","setAttributeNS","attrFunction","attrFunctionNS","getAttributeNS","classArray","string","classList","ClassList","_node","_names","classedAdd","names","list","classedRemove","classedTrue","classedFalse","classedFunction","selection_cloneShallow","insertBefore","cloneNode","nextSibling","selection_cloneDeep","deep","bindIndex","update","groupLength","dataLength","bindKey","nodeByKeyValue","keyValues","bind","parents","_parents","_groups","enterGroup","updateGroup","exitGroup","_next","_enter","_exit","dispatchEvent","params","window","CustomEvent","createEvent","initEvent","bubbles","cancelable","detail","dispatchConstant","dispatchFunction","EnterNode","datum","_parent","subgroup","htmlRemove","innerHTML","htmlConstant","htmlFunction","Selection","classed","lower","clone","selection_dispatch","constantNull","before","previousSibling","firstChild","groups0","groups1","m0","merges","group0","group1","filterEvents","mouseenter","mouseleave","filterContextListener","listener","contextListener","related","relatedTarget","compareDocumentPosition","event1","event0","onRemove","__on","removeEventListener","capture","onAdd","wrap","addEventListener","sourceEvent","propertyRemove","propertyConstant","propertyFunction","subnode","ascending","compareNode","sortgroups","sortgroup","styleRemove","removeProperty","styleConstant","priority","setProperty","styleFunction","styleValue","textRemove","textContent","textConstant","textFunction","none","touch","arcInnerRadius","innerRadius","arcOuterRadius","outerRadius","arcStartAngle","arcEndAngle","arcPadAngle","x10","y10","x32","y32","cornerTangents","rc","ox","oy","x11","y11","cx0","cx1","dx0","dy0","dx1","dy1","cornerRadius","padRadius","a01","a11","a10","da0","da1","ap","rp","rc0","rc1","oc","kc","lc","defined","curve","defined0","x0z","y0z","areaStart","areaEnd","arealine","lineX0","lineY0","lineY1","lineX1","lineStartAngle","lineEndAngle","lineInnerRadius","lineOuterRadius","_curve","constant","Basis","BasisClosed","_x2","_x3","_x4","_y2","_y3","_y4","BasisOpen","Bundle","_basis","_beta","bundle","_k","Cardinal","tension","cardinal","CardinalClosed","_x5","_y5","CardinalOpen","_l01_a","_l01_2a","_l12_a","_l12_2a","_l23_a","_l23_2a","CatmullRom","_alpha","x23","y23","catmullRom","CatmullRomClosed","CatmullRomOpen","Linear","LinearClosed","slope3","h0","h1","slope2","MonotoneX","_t0","MonotoneY","ReflectContext","monotoneX","monotoneY","Natural","px","controlPoints","py","curveRadialLinear","curveRadial","Radial","radial","Step","_t","stepBefore","stepAfter","lineRadial","linkSource","linkTarget","curveHorizontal","curveVertical","p2","p3","linkHorizontal","linkVertical","linkRadial","series","yn","s2","si","sij0","sij1","s3","skj0","skj1","tops","bottoms","pie","arcs","stackValue","stack","kz","sz","oz","ki","sij","symbols","draw","tan30","tan30_2","ka","kr","sqrt3","timeFormat","timeParse","utcFormat","utcParse","dateTime","time","periods","days","shortDays","months","shortMonths","isoSpecifier","formatIsoNative","toISOString","formatIso","parseIsoNative","parseIso","localDate","H","L","setFullYear","utcDate","setUTCFullYear","newYear","formatLocale","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","formatDayOfMonth","formatMicroseconds","formatHour24","formatHour12","formatDayOfYear","formatMilliseconds","formatMonthNumber","formatMinutes","formatPeriod","formatUnixTimestamp","formatUnixTimestampSeconds","formatSeconds","formatWeekdayNumberMonday","formatWeekNumberSunday","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","formatFullYear","formatZone","formatLiteralPercent","utcFormats","formatUTCShortWeekday","formatUTCWeekday","formatUTCShortMonth","formatUTCMonth","formatUTCDayOfMonth","formatUTCMicroseconds","formatUTCHour24","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","formatUTCMonthNumber","formatUTCMinutes","formatUTCPeriod","formatUTCSeconds","formatUTCWeekdayNumberMonday","formatUTCWeekNumberSunday","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCFullYear","formatUTCZone","parses","parseShortWeekday","parseWeekday","parseShortMonth","parseMonth","parseLocaleDateTime","parseDayOfMonth","parseMicroseconds","parseHour24","parseDayOfYear","parseMilliseconds","parseMonthNumber","parseMinutes","parsePeriod","parseUnixTimestamp","parseUnixTimestampSeconds","parseSeconds","parseWeekdayNumberMonday","parseWeekNumberSunday","parseWeekNumberISO","parseWeekdayNumberSunday","parseWeekNumberMonday","parseLocaleDate","parseLocaleTime","parseYear","parseFullYear","parseZone","parseLiteralPercent","pad","pads","charAt","newParse","newDate","parseSpecifier","Q","V","getUTCDay","getUTCFullYear","getUTCMonth","getUTCDate","getDay","getFullYear","getMonth","getDate","U","Z","getHours","getUTCHours","numberRe","percentRe","requoteRe","requote","getMilliseconds","getMinutes","getSeconds","getTimezoneOffset","getUTCMilliseconds","getUTCMinutes","getUTCSeconds","dow","setHours","setDate","hours","newInterval","floori","offseti","field","milliseconds","minutes","setMonth","seconds","utcDay","setUTCHours","setUTCDate","utcDays","utcHour","setUTCMinutes","utcHours","utcMinute","setUTCSeconds","utcMinutes","utcMonth","setUTCMonth","utcMonths","utcWeekday","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","utcSundays","utcMondays","utcTuesdays","utcWednesdays","utcThursdays","utcFridays","utcSaturdays","utcYear","utcYears","weekday","sunday","monday","tuesday","wednesday","thursday","friday","saturday","sundays","mondays","tuesdays","wednesdays","thursdays","fridays","saturdays","years","delay","total","elapsed","frame","timeout","pokeDelay","taskHead","taskTail","clockLast","clockNow","clockSkew","clock","performance","now","setFrame","requestAnimationFrame","clearNow","Timer","_call","_time","timer","TypeError","sleep","timerFlush","wake","nap","poke","clearInterval","setInterval","schedules","__transition","schedule","defaultTiming","ease","easeCubicInOut","inherit","timing","_id","_name","value00","interpolate0","value10","attrTween","attrTweenNS","_value","delayFunction","delayConstant","durationFunction","durationConstant","easeConstant","Transition","newId","selection_prototype","styleTween","transition_ease","onFunction","on0","on1","sit","removeFunction","emptyOn","emptyTween","CREATED","SCHEDULED","STARTING","STARTED","RUNNING","ENDING","ENDED","self","styleRemoveEnd","id0","id1","tweenRemove","tween0","tween1","tweenFunction","tweenValue","beachPool","Beach","RedBlackNode","edge","site","createBeach","beach","detachBeach","detachCircle","beaches","removeBeach","vertex","P","disappearing","lArc","rArc","nArcs","iArc","setEdgeEnd","attachCircle","addBeach","directrix","dxl","dxr","leftBreakPoint","rightBreakPoint","R","createCell","newArc","lSite","rSite","hb","hc","rfocx","rfocy","pby2","lfocx","lfocy","plby2","hl","aby2","halfedges","cellHalfedgeAngle","cell","va","vb","cellHalfedgeStart","cellHalfedgeEnd","sortCellHalfedges","clipCells","nCells","iCell","iHalfedge","nHalfedges","startX","startY","endX","endY","dc","v01","v11","v10","circlePool","firstCircle","Circle","cSite","ha","cells","edges","triangleArea","lexicographic","Diagram","sites","clipEdges","triangles","_found","createEdge","createBorderEdge","clipEdge","connectEdge","lx","ly","rx","ry","fm","fb","RedBlackTree","after","grandpa","uncle","RedBlackFirst","RedBlackRotateLeft","RedBlackRotateRight","sibling","voronoi","ZoomEvent","Transform","applyX","applyY","location","invertX","invertY","rescaleX","rescaleY","__zoom","SVGElement","clientWidth","clientHeight","defaultTransform","defaultWheelDelta","deltaY","deltaMode","defaultConstrain","translateExtent","constrain","wheelDelta","scaleExtent","touchstarting","touchDelay","wheelDelay","zoom","wheeled","dblclicked","collection","scaleBy","scaleTo","k0","k1","translateBy","translateTo","Gesture","touch0","touch1","wheel","wheelidled","l0","l1","dp","dl","mainStore","getInstance","mainUi","render","singleton","Symbol","singletonEnforcer","Store","enforcer","_state","updater","main","body"],"mappings":"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AA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA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","file":"bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/index.js\");\n","var array = Array.prototype;\n\nexport var slice = array.slice;\nexport var map = array.map;\n","export default function(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import ascending from \"./ascending\";\nimport bisector from \"./bisector\";\n\nvar ascendingBisect = bisector(ascending);\nexport var bisectRight = ascendingBisect.right;\nexport var bisectLeft = ascendingBisect.left;\nexport default bisectRight;\n","import ascending from \"./ascending\";\n\nexport default function(compare) {\n if (compare.length === 1) compare = ascendingComparator(compare);\n return {\n left: function(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n },\n right: function(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) > 0) hi = mid;\n else lo = mid + 1;\n }\n return lo;\n }\n };\n}\n\nfunction ascendingComparator(f) {\n return function(d, x) {\n return ascending(f(d), x);\n };\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import {pair} from \"./pairs\";\n\nexport default function(values0, values1, reduce) {\n var n0 = values0.length,\n n1 = values1.length,\n values = new Array(n0 * n1),\n i0,\n i1,\n i,\n value0;\n\n if (reduce == null) reduce = pair;\n\n for (i0 = i = 0; i0 < n0; ++i0) {\n for (value0 = values0[i0], i1 = 0; i1 < n1; ++i1, ++i) {\n values[i] = reduce(value0, values1[i1]);\n }\n }\n\n return values;\n}\n","export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n","import variance from \"./variance\";\n\nexport default function(array, f) {\n var v = variance(array, f);\n return v ? Math.sqrt(v) : v;\n}\n","export default function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n min,\n max;\n\n if (valueof == null) {\n while (++i < n) { // Find the first comparable value.\n if ((value = values[i]) != null && value >= value) {\n min = max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = values[i]) != null) {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n }\n }\n\n else {\n while (++i < n) { // Find the first comparable value.\n if ((value = valueof(values[i], i, values)) != null && value >= value) {\n min = max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = valueof(values[i], i, values)) != null) {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n }\n }\n\n return [min, max];\n}\n","import {slice} from \"./array\";\nimport bisect from \"./bisect\";\nimport constant from \"./constant\";\nimport extent from \"./extent\";\nimport identity from \"./identity\";\nimport range from \"./range\";\nimport {tickStep} from \"./ticks\";\nimport sturges from \"./threshold/sturges\";\n\nexport default function() {\n var value = identity,\n domain = extent,\n threshold = sturges;\n\n function histogram(data) {\n var i,\n n = data.length,\n x,\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.\n if (!Array.isArray(tz)) {\n tz = tickStep(x0, x1, tz);\n tz = range(Math.ceil(x0 / tz) * tz, x1, tz); // exclusive\n }\n\n // Remove any thresholds outside the domain.\n var m = tz.length;\n while (tz[0] <= x0) tz.shift(), --m;\n while (tz[m - 1] > x1) tz.pop(), --m;\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 for (i = 0; i < n; ++i) {\n x = values[i];\n if (x0 <= x && x <= x1) {\n bins[bisect(tz, x, 0, m)].push(data[i]);\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\" ? _ : Array.isArray(_) ? constant(slice.call(_)) : constant(_), histogram) : threshold;\n };\n\n return histogram;\n}\n","export default function(x) {\n return x;\n}\n","export {default as bisect, bisectRight, bisectLeft} from \"./bisect\";\nexport {default as ascending} from \"./ascending\";\nexport {default as bisector} from \"./bisector\";\nexport {default as cross} from \"./cross\";\nexport {default as descending} from \"./descending\";\nexport {default as deviation} from \"./deviation\";\nexport {default as extent} from \"./extent\";\nexport {default as histogram} from \"./histogram\";\nexport {default as thresholdFreedmanDiaconis} from \"./threshold/freedmanDiaconis\";\nexport {default as thresholdScott} from \"./threshold/scott\";\nexport {default as thresholdSturges} from \"./threshold/sturges\";\nexport {default as max} from \"./max\";\nexport {default as mean} from \"./mean\";\nexport {default as median} from \"./median\";\nexport {default as merge} from \"./merge\";\nexport {default as min} from \"./min\";\nexport {default as pairs} from \"./pairs\";\nexport {default as permute} from \"./permute\";\nexport {default as quantile} from \"./quantile\";\nexport {default as range} from \"./range\";\nexport {default as scan} from \"./scan\";\nexport {default as shuffle} from \"./shuffle\";\nexport {default as sum} from \"./sum\";\nexport {default as ticks, tickIncrement, tickStep} from \"./ticks\";\nexport {default as transpose} from \"./transpose\";\nexport {default as variance} from \"./variance\";\nexport {default as zip} from \"./zip\";\n","export default function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n max;\n\n if (valueof == null) {\n while (++i < n) { // Find the first comparable value.\n if ((value = values[i]) != null && value >= value) {\n max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = values[i]) != null && value > max) {\n max = value;\n }\n }\n }\n }\n }\n\n else {\n while (++i < n) { // Find the first comparable value.\n if ((value = valueof(values[i], i, values)) != null && value >= value) {\n max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = valueof(values[i], i, values)) != null && value > max) {\n max = value;\n }\n }\n }\n }\n }\n\n return max;\n}\n","import number from \"./number\";\n\nexport default function(values, valueof) {\n var n = values.length,\n m = n,\n i = -1,\n value,\n sum = 0;\n\n if (valueof == null) {\n while (++i < n) {\n if (!isNaN(value = number(values[i]))) sum += value;\n else --m;\n }\n }\n\n else {\n while (++i < n) {\n if (!isNaN(value = number(valueof(values[i], i, values)))) sum += value;\n else --m;\n }\n }\n\n if (m) return sum / m;\n}\n","import ascending from \"./ascending\";\nimport number from \"./number\";\nimport quantile from \"./quantile\";\n\nexport default function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n numbers = [];\n\n if (valueof == null) {\n while (++i < n) {\n if (!isNaN(value = number(values[i]))) {\n numbers.push(value);\n }\n }\n }\n\n else {\n while (++i < n) {\n if (!isNaN(value = number(valueof(values[i], i, values)))) {\n numbers.push(value);\n }\n }\n }\n\n return quantile(numbers.sort(ascending), 0.5);\n}\n","export default function(arrays) {\n var n = arrays.length,\n m,\n i = -1,\n j = 0,\n merged,\n array;\n\n while (++i < n) j += arrays[i].length;\n merged = new Array(j);\n\n while (--n >= 0) {\n array = arrays[n];\n m = array.length;\n while (--m >= 0) {\n merged[--j] = array[m];\n }\n }\n\n return merged;\n}\n","export default function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n min;\n\n if (valueof == null) {\n while (++i < n) { // Find the first comparable value.\n if ((value = values[i]) != null && value >= value) {\n min = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = values[i]) != null && min > value) {\n min = value;\n }\n }\n }\n }\n }\n\n else {\n while (++i < n) { // Find the first comparable value.\n if ((value = valueof(values[i], i, values)) != null && value >= value) {\n min = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = valueof(values[i], i, values)) != null && min > value) {\n min = value;\n }\n }\n }\n }\n }\n\n return min;\n}\n","export default function(x) {\n return x === null ? NaN : +x;\n}\n","export default function(array, f) {\n if (f == null) f = pair;\n var i = 0, n = array.length - 1, p = array[0], pairs = new Array(n < 0 ? 0 : n);\n while (i < n) pairs[i] = f(p, p = array[++i]);\n return pairs;\n}\n\nexport function pair(a, b) {\n return [a, b];\n}\n","export default function(array, indexes) {\n var i = indexes.length, permutes = new Array(i);\n while (i--) permutes[i] = array[indexes[i]];\n return permutes;\n}\n","import number from \"./number\";\n\nexport default function(values, p, valueof) {\n if (valueof == null) valueof = number;\n if (!(n = values.length)) return;\n if ((p = +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","export default function(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","import ascending from \"./ascending\";\n\nexport default function(values, compare) {\n if (!(n = values.length)) return;\n var n,\n i = 0,\n j = 0,\n xi,\n xj = values[j];\n\n if (compare == null) compare = ascending;\n\n while (++i < n) {\n if (compare(xi = values[i], xj) < 0 || compare(xj, xj) !== 0) {\n xj = xi, j = i;\n }\n }\n\n if (compare(xj, xj) === 0) return j;\n}\n","export default function(array, i0, i1) {\n var m = (i1 == null ? array.length : i1) - (i0 = i0 == null ? 0 : +i0),\n t,\n i;\n\n while (m) {\n i = Math.random() * m-- | 0;\n t = array[m + i0];\n array[m + i0] = array[i + i0];\n array[i + i0] = t;\n }\n\n return array;\n}\n","export default function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n sum = 0;\n\n if (valueof == null) {\n while (++i < n) {\n if (value = +values[i]) sum += value; // Note: zero and null are equivalent.\n }\n }\n\n else {\n while (++i < n) {\n if (value = +valueof(values[i], i, values)) sum += value;\n }\n }\n\n return sum;\n}\n","import {map} from \"../array\";\nimport ascending from \"../ascending\";\nimport number from \"../number\";\nimport quantile from \"../quantile\";\n\nexport default function(values, min, max) {\n values = map.call(values, number).sort(ascending);\n return Math.ceil((max - min) / (2 * (quantile(values, 0.75) - quantile(values, 0.25)) * Math.pow(values.length, -1 / 3)));\n}\n","import deviation from \"../deviation\";\n\nexport default function(values, min, max) {\n return Math.ceil((max - min) / (3.5 * deviation(values) * Math.pow(values.length, -1 / 3)));\n}\n","export default function(values) {\n return Math.ceil(Math.log(values.length) / Math.LN2) + 1;\n}\n","var e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nexport default function(start, stop, count) {\n var reverse,\n i = -1,\n n,\n ticks,\n step;\n\n stop = +stop, start = +start, count = +count;\n if (start === stop && count > 0) return [start];\n if (reverse = stop < start) n = start, start = stop, stop = n;\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];\n\n if (step > 0) {\n start = Math.ceil(start / step);\n stop = Math.floor(stop / step);\n ticks = new Array(n = Math.ceil(stop - start + 1));\n while (++i < n) ticks[i] = (start + i) * step;\n } else {\n start = Math.floor(start * step);\n stop = Math.ceil(stop * step);\n ticks = new Array(n = Math.ceil(start - stop + 1));\n while (++i < n) ticks[i] = (start - i) / step;\n }\n\n if (reverse) ticks.reverse();\n\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n var step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log(step) / Math.LN10),\n error = step / Math.pow(10, power);\n return power >= 0\n ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)\n : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\n\nexport function tickStep(start, stop, count) {\n var step0 = Math.abs(stop - start) / Math.max(0, count),\n step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),\n error = step0 / step1;\n if (error >= e10) step1 *= 10;\n else if (error >= e5) step1 *= 5;\n else if (error >= e2) step1 *= 2;\n return stop < start ? -step1 : step1;\n}\n","import min from \"./min\";\n\nexport default function(matrix) {\n if (!(n = matrix.length)) return [];\n for (var i = -1, m = min(matrix, length), transpose = new Array(m); ++i < m;) {\n for (var j = -1, n, row = transpose[i] = new Array(n); ++j < n;) {\n row[j] = matrix[j][i];\n }\n }\n return transpose;\n}\n\nfunction length(d) {\n return d.length;\n}\n","import number from \"./number\";\n\nexport default function(values, valueof) {\n var n = values.length,\n m = 0,\n i = -1,\n mean = 0,\n value,\n delta,\n sum = 0;\n\n if (valueof == null) {\n while (++i < n) {\n if (!isNaN(value = number(values[i]))) {\n delta = value - mean;\n mean += delta / ++m;\n sum += delta * (value - mean);\n }\n }\n }\n\n else {\n while (++i < n) {\n if (!isNaN(value = number(valueof(values[i], i, values)))) {\n delta = value - mean;\n mean += delta / ++m;\n sum += delta * (value - mean);\n }\n }\n }\n\n if (m > 1) return sum / (m - 1);\n}\n","import transpose from \"./transpose\";\n\nexport default function() {\n return transpose(arguments);\n}\n","export var slice = Array.prototype.slice;\n","import {slice} from \"./array\";\nimport identity from \"./identity\";\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.5) + \",0)\";\n}\n\nfunction translateY(y) {\n return \"translate(0,\" + (y + 0.5) + \")\";\n}\n\nfunction number(scale) {\n return function(d) {\n return +scale(d);\n };\n}\n\nfunction center(scale) {\n var offset = Math.max(0, scale.bandwidth() - 1) / 2; // Adjust for 0.5px offset.\n if (scale.round()) offset = Math.round(offset);\n return function(d) {\n return +scale(d) + offset;\n };\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 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] + 0.5,\n range1 = +range[range.length - 1] + 0.5,\n position = (scale.bandwidth ? center : number)(scale.copy()),\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) : 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)); });\n }\n\n tickExit.remove();\n\n path\n .attr(\"d\", orient === left || orient == right\n ? (tickSizeOuter ? \"M\" + k * tickSizeOuter + \",\" + range0 + \"H0.5V\" + range1 + \"H\" + k * tickSizeOuter : \"M0.5,\" + range0 + \"V\" + range1)\n : (tickSizeOuter ? \"M\" + range0 + \",\" + k * tickSizeOuter + \"V0.5H\" + range1 + \"V\" + k * tickSizeOuter : \"M\" + range0 + \",0.5H\" + range1));\n\n tick\n .attr(\"opacity\", 1)\n .attr(\"transform\", function(d) { return transform(position(d)); });\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 = slice.call(arguments), axis;\n };\n\n axis.tickArguments = function(_) {\n return arguments.length ? (tickArguments = _ == null ? [] : slice.call(_), axis) : tickArguments.slice();\n };\n\n axis.tickValues = function(_) {\n return arguments.length ? (tickValues = _ == null ? null : slice.call(_), 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 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","export default function(x) {\n return x;\n}\n","export {\n axisTop,\n axisRight,\n axisBottom,\n axisLeft\n} from \"./axis\";\n","import {dispatch} from \"d3-dispatch\";\nimport {dragDisable, dragEnable} from \"d3-drag\";\nimport {interpolate} from \"d3-interpolate\";\nimport {customEvent, event, mouse, select} from \"d3-selection\";\nimport {interrupt} from \"d3-transition\";\nimport constant from \"./constant\";\nimport BrushEvent from \"./event\";\nimport noevent, {nopropagation} from \"./noevent\";\n\nvar MODE_DRAG = {name: \"drag\"},\n MODE_SPACE = {name: \"space\"},\n MODE_HANDLE = {name: \"handle\"},\n MODE_CENTER = {name: \"center\"};\n\nvar X = {\n name: \"x\",\n handles: [\"e\", \"w\"].map(type),\n input: function(x, e) { return x && [[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 && [[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\", \"e\", \"s\", \"w\", \"nw\", \"ne\", \"se\", \"sw\"].map(type),\n input: function(xy) { return 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() {\n return !event.button;\n}\n\nfunction defaultExtent() {\n var svg = this.ownerSVGElement || this;\n return [[0, 0], [svg.width.baseVal.value, svg.height.baseVal.value]];\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 listeners = dispatch(brush, \"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 .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\")\n .on(\"mousedown.brush touchstart.brush\", started);\n }\n\n brush.move = function(group, selection) {\n if (group.selection) {\n group\n .on(\"start.brush\", function() { emitter(this, arguments).beforestart().start(); })\n .on(\"interrupt.brush end.brush\", function() { emitter(this, arguments).end(); })\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 && empty(selection1) ? null : i(t);\n redraw.call(that);\n emit.brush();\n }\n\n return selection0 && selection1 ? 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 || empty(selection1) ? null : selection1;\n redraw.call(that);\n emit.start().brush().end();\n });\n }\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) {\n return that.__brush.emitter || new Emitter(that, args);\n }\n\n function Emitter(that, args) {\n this.that = that;\n this.args = args;\n this.state = that.__brush;\n this.active = 0;\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() {\n if (this.starting) this.starting = false, this.emit(\"start\");\n return this;\n },\n brush: function() {\n this.emit(\"brush\");\n return this;\n },\n end: function() {\n if (--this.active === 0) delete this.state.emitter, this.emit(\"end\");\n return this;\n },\n emit: function(type) {\n customEvent(new BrushEvent(brush, type, dim.output(this.state.selection)), listeners.apply, listeners, [type, this.that, this.args]);\n }\n };\n\n function started() {\n if (event.touches) { if (event.changedTouches.length < event.touches.length) return noevent(); }\n else if (touchending) return;\n if (!filter.apply(this, arguments)) return;\n\n var that = this,\n type = event.target.__data__.type,\n mode = (event.metaKey ? type = \"overlay\" : type) === \"selection\" ? MODE_DRAG : (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,\n dy,\n moving,\n shifting = signX && signY && event.shiftKey,\n lockX,\n lockY,\n point0 = mouse(that),\n point = point0,\n emit = emitter(that, arguments).beforestart();\n\n if (type === \"overlay\") {\n state.selection = selection = [\n [w0 = dim === Y ? W : point0[0], n0 = dim === X ? N : point0[1]],\n [e0 = dim === Y ? E : w0, s0 = dim === X ? S : n0]\n ];\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 group\n .on(\"touchmove.brush\", moved, true)\n .on(\"touchend.brush touchcancel.brush\", ended, true);\n } else {\n var view = select(event.view)\n .on(\"keydown.brush\", keydowned, true)\n .on(\"keyup.brush\", keyupped, true)\n .on(\"mousemove.brush\", moved, true)\n .on(\"mouseup.brush\", ended, true);\n\n dragDisable(event.view);\n }\n\n nopropagation();\n interrupt(that);\n redraw.call(that);\n emit.start();\n\n function moved() {\n var point1 = mouse(that);\n if (shifting && !lockX && !lockY) {\n if (Math.abs(point1[0] - point[0]) > Math.abs(point1[1] - point[1])) lockY = true;\n else lockX = true;\n }\n point = point1;\n moving = true;\n noevent();\n move();\n }\n\n function move() {\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 = Math.max(W - w0, Math.min(E - e0, dx)), w1 = w0 + dx, e1 = e0 + dx;\n if (signY) dy = Math.max(N - n0, Math.min(S - s0, dy)), n1 = n0 + dy, s1 = s0 + dy;\n break;\n }\n case MODE_HANDLE: {\n if (signX < 0) dx = Math.max(W - w0, Math.min(E - w0, dx)), w1 = w0 + dx, e1 = e0;\n else if (signX > 0) dx = Math.max(W - e0, Math.min(E - e0, dx)), w1 = w0, e1 = e0 + dx;\n if (signY < 0) dy = Math.max(N - n0, Math.min(S - n0, dy)), n1 = n0 + dy, s1 = s0;\n else if (signY > 0) dy = Math.max(N - s0, Math.min(S - s0, dy)), n1 = n0, s1 = s0 + dy;\n break;\n }\n case MODE_CENTER: {\n if (signX) w1 = Math.max(W, Math.min(E, w0 - dx * signX)), e1 = Math.max(W, Math.min(E, e0 + dx * signX));\n if (signY) n1 = Math.max(N, Math.min(S, n0 - dy * signY)), s1 = Math.max(N, Math.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();\n }\n }\n\n function ended() {\n nopropagation();\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 group.on(\"touchmove.brush touchend.brush touchcancel.brush\", null);\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();\n }\n\n function keydowned() {\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();\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();\n }\n break;\n }\n default: return;\n }\n noevent();\n }\n\n function keyupped() {\n switch (event.keyCode) {\n case 16: { // SHIFT\n if (shifting) {\n lockX = lockY = shifting = false;\n move();\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();\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();\n }\n break;\n }\n default: return;\n }\n noevent();\n }\n }\n\n function initialize() {\n var state = this.__brush || {selection: null};\n state.extent = 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([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), brush) : extent;\n };\n\n brush.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), brush) : filter;\n };\n\n brush.handleSize = function(_) {\n return arguments.length ? (handleSize = +_, brush) : handleSize;\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","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(target, type, selection) {\n this.target = target;\n this.type = type;\n this.selection = selection;\n}\n","export {\n default as brush,\n brushX,\n brushY,\n brushSelection\n} from \"./brush\";\n","import {event} from \"d3-selection\";\n\nexport function nopropagation() {\n event.stopImmediatePropagation();\n}\n\nexport default function() {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","export var slice = Array.prototype.slice;\n","import {range} from \"d3-array\";\nimport {max, tau} from \"./math\";\n\nfunction compareValue(compare) {\n return function(a, b) {\n return compare(\n a.source.value + a.target.value,\n b.source.value + b.target.value\n );\n };\n}\n\nexport default function() {\n var padAngle = 0,\n sortGroups = null,\n sortSubgroups = null,\n sortChords = null;\n\n function chord(matrix) {\n var n = matrix.length,\n groupSums = [],\n groupIndex = range(n),\n subgroupIndex = [],\n chords = [],\n groups = chords.groups = new Array(n),\n subgroups = new Array(n * n),\n k,\n x,\n x0,\n dx,\n i,\n j;\n\n // Compute the sum.\n k = 0, i = -1; while (++i < n) {\n x = 0, j = -1; while (++j < n) {\n x += matrix[i][j];\n }\n groupSums.push(x);\n subgroupIndex.push(range(n));\n k += x;\n }\n\n // Sort groups…\n if (sortGroups) groupIndex.sort(function(a, b) {\n return sortGroups(groupSums[a], groupSums[b]);\n });\n\n // Sort subgroups…\n if (sortSubgroups) subgroupIndex.forEach(function(d, i) {\n d.sort(function(a, b) {\n return sortSubgroups(matrix[i][a], matrix[i][b]);\n });\n });\n\n // Convert the sum to scaling factor for [0, 2pi].\n // TODO Allow start and end angle to be specified?\n // TODO Allow padding to be specified as percentage?\n k = max(0, tau - padAngle * n) / k;\n dx = k ? padAngle : tau / n;\n\n // Compute the start and end angle for each group and subgroup.\n // Note: Opera has a bug reordering object literal properties!\n x = 0, i = -1; while (++i < n) {\n x0 = x, j = -1; while (++j < n) {\n var di = groupIndex[i],\n dj = subgroupIndex[di][j],\n v = matrix[di][dj],\n a0 = x,\n a1 = x += v * k;\n subgroups[dj * n + di] = {\n index: di,\n subindex: dj,\n startAngle: a0,\n endAngle: a1,\n value: v\n };\n }\n groups[di] = {\n index: di,\n startAngle: x0,\n endAngle: x,\n value: groupSums[di]\n };\n x += dx;\n }\n\n // Generate chords for each (non-empty) subgroup-subgroup link.\n i = -1; while (++i < n) {\n j = i - 1; while (++j < n) {\n var source = subgroups[j * n + i],\n target = subgroups[i * n + j];\n if (source.value || target.value) {\n chords.push(source.value < target.value\n ? {source: target, target: source}\n : {source: source, target: target});\n }\n }\n }\n\n return sortChords ? chords.sort(sortChords) : chords;\n }\n\n chord.padAngle = function(_) {\n return arguments.length ? (padAngle = max(0, _), chord) : padAngle;\n };\n\n chord.sortGroups = function(_) {\n return arguments.length ? (sortGroups = _, chord) : sortGroups;\n };\n\n chord.sortSubgroups = function(_) {\n return arguments.length ? (sortSubgroups = _, chord) : sortSubgroups;\n };\n\n chord.sortChords = function(_) {\n return arguments.length ? (_ == null ? sortChords = null : (sortChords = compareValue(_))._ = _, chord) : sortChords && sortChords._;\n };\n\n return chord;\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export {default as chord} from \"./chord\";\nexport {default as ribbon} from \"./ribbon\";\n","export var cos = Math.cos;\nexport var sin = Math.sin;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var tau = pi * 2;\nexport var max = Math.max;\n","import {slice} from \"./array\";\nimport constant from \"./constant\";\nimport {cos, halfPi, sin} from \"./math\";\nimport {path} from \"d3-path\";\n\nfunction defaultSource(d) {\n return d.source;\n}\n\nfunction defaultTarget(d) {\n return d.target;\n}\n\nfunction defaultRadius(d) {\n return d.radius;\n}\n\nfunction defaultStartAngle(d) {\n return d.startAngle;\n}\n\nfunction defaultEndAngle(d) {\n return d.endAngle;\n}\n\nexport default function() {\n var source = defaultSource,\n target = defaultTarget,\n radius = defaultRadius,\n startAngle = defaultStartAngle,\n endAngle = defaultEndAngle,\n context = null;\n\n function ribbon() {\n var buffer,\n argv = slice.call(arguments),\n s = source.apply(this, argv),\n t = target.apply(this, argv),\n sr = +radius.apply(this, (argv[0] = s, argv)),\n sa0 = startAngle.apply(this, argv) - halfPi,\n sa1 = endAngle.apply(this, argv) - halfPi,\n sx0 = sr * cos(sa0),\n sy0 = sr * sin(sa0),\n tr = +radius.apply(this, (argv[0] = t, argv)),\n ta0 = startAngle.apply(this, argv) - halfPi,\n ta1 = endAngle.apply(this, argv) - halfPi;\n\n if (!context) context = buffer = path();\n\n context.moveTo(sx0, sy0);\n context.arc(0, 0, sr, sa0, sa1);\n if (sa0 !== ta0 || sa1 !== ta1) { // TODO sr !== tr?\n context.quadraticCurveTo(0, 0, tr * cos(ta0), tr * sin(ta0));\n context.arc(0, 0, tr, ta0, ta1);\n }\n context.quadraticCurveTo(0, 0, sx0, sy0);\n context.closePath();\n\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n ribbon.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), ribbon) : radius;\n };\n\n ribbon.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), ribbon) : startAngle;\n };\n\n ribbon.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), ribbon) : endAngle;\n };\n\n ribbon.source = function(_) {\n return arguments.length ? (source = _, ribbon) : source;\n };\n\n ribbon.target = function(_) {\n return arguments.length ? (target = _, ribbon) : target;\n };\n\n ribbon.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), ribbon) : context;\n };\n\n return ribbon;\n}\n","export default function(map) {\n var entries = [];\n for (var key in map) entries.push({key: key, value: map[key]});\n return entries;\n}\n","export {default as nest} from \"./nest\";\nexport {default as set} from \"./set\";\nexport {default as map} from \"./map\";\nexport {default as keys} from \"./keys\";\nexport {default as values} from \"./values\";\nexport {default as entries} from \"./entries\";\n","export default function(map) {\n var keys = [];\n for (var key in map) keys.push(key);\n return keys;\n}\n","export var prefix = \"$\";\n\nfunction Map() {}\n\nMap.prototype = map.prototype = {\n constructor: Map,\n has: function(key) {\n return (prefix + key) in this;\n },\n get: function(key) {\n return this[prefix + key];\n },\n set: function(key, value) {\n this[prefix + key] = value;\n return this;\n },\n remove: function(key) {\n var property = prefix + key;\n return property in this && delete this[property];\n },\n clear: function() {\n for (var property in this) if (property[0] === prefix) delete this[property];\n },\n keys: function() {\n var keys = [];\n for (var property in this) if (property[0] === prefix) keys.push(property.slice(1));\n return keys;\n },\n values: function() {\n var values = [];\n for (var property in this) if (property[0] === prefix) values.push(this[property]);\n return values;\n },\n entries: function() {\n var entries = [];\n for (var property in this) if (property[0] === prefix) entries.push({key: property.slice(1), value: this[property]});\n return entries;\n },\n size: function() {\n var size = 0;\n for (var property in this) if (property[0] === prefix) ++size;\n return size;\n },\n empty: function() {\n for (var property in this) if (property[0] === prefix) return false;\n return true;\n },\n each: function(f) {\n for (var property in this) if (property[0] === prefix) f(this[property], property.slice(1), this);\n }\n};\n\nfunction map(object, f) {\n var map = new Map;\n\n // Copy constructor.\n if (object instanceof Map) object.each(function(value, key) { map.set(key, value); });\n\n // Index array by numeric index or specified key function.\n else if (Array.isArray(object)) {\n var i = -1,\n n = object.length,\n o;\n\n if (f == null) while (++i < n) map.set(i, object[i]);\n else while (++i < n) map.set(f(o = object[i], i, object), o);\n }\n\n // Convert object to map.\n else if (object) for (var key in object) map.set(key, object[key]);\n\n return map;\n}\n\nexport default map;\n","import map from \"./map\";\n\nexport default function() {\n var keys = [],\n sortKeys = [],\n sortValues,\n rollup,\n nest;\n\n function apply(array, depth, createResult, setResult) {\n if (depth >= keys.length) {\n if (sortValues != null) array.sort(sortValues);\n return rollup != null ? rollup(array) : array;\n }\n\n var i = -1,\n n = array.length,\n key = keys[depth++],\n keyValue,\n value,\n valuesByKey = map(),\n values,\n result = createResult();\n\n while (++i < n) {\n if (values = valuesByKey.get(keyValue = key(value = array[i]) + \"\")) {\n values.push(value);\n } else {\n valuesByKey.set(keyValue, [value]);\n }\n }\n\n valuesByKey.each(function(values, key) {\n setResult(result, key, apply(values, depth, createResult, setResult));\n });\n\n return result;\n }\n\n function entries(map, depth) {\n if (++depth > keys.length) return map;\n var array, sortKey = sortKeys[depth - 1];\n if (rollup != null && depth >= keys.length) array = map.entries();\n else array = [], map.each(function(v, k) { array.push({key: k, values: entries(v, depth)}); });\n return sortKey != null ? array.sort(function(a, b) { return sortKey(a.key, b.key); }) : array;\n }\n\n return nest = {\n object: function(array) { return apply(array, 0, createObject, setObject); },\n map: function(array) { return apply(array, 0, createMap, setMap); },\n entries: function(array) { return entries(apply(array, 0, createMap, setMap), 0); },\n key: function(d) { keys.push(d); return nest; },\n sortKeys: function(order) { sortKeys[keys.length - 1] = order; return nest; },\n sortValues: function(order) { sortValues = order; return nest; },\n rollup: function(f) { rollup = f; return nest; }\n };\n}\n\nfunction createObject() {\n return {};\n}\n\nfunction setObject(object, key, value) {\n object[key] = value;\n}\n\nfunction createMap() {\n return map();\n}\n\nfunction setMap(map, key, value) {\n map.set(key, value);\n}\n","import {default as map, prefix} from \"./map\";\n\nfunction Set() {}\n\nvar proto = map.prototype;\n\nSet.prototype = set.prototype = {\n constructor: Set,\n has: proto.has,\n add: function(value) {\n value += \"\";\n this[prefix + value] = value;\n return this;\n },\n remove: proto.remove,\n clear: proto.clear,\n values: proto.keys,\n size: proto.size,\n empty: proto.empty,\n each: proto.each\n};\n\nfunction set(object, f) {\n var set = new Set;\n\n // Copy constructor.\n if (object instanceof Set) object.each(function(value) { set.add(value); });\n\n // Otherwise, assume it’s an array.\n else if (object) {\n var i = -1, n = object.length;\n if (f == null) while (++i < n) set.add(object[i]);\n else while (++i < n) set.add(f(object[i], i, object));\n }\n\n return set;\n}\n\nexport default set;\n","export default function(map) {\n var values = [];\n for (var key in map) values.push(map[key]);\n return values;\n}\n","import define, {extend} from \"./define\";\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 reHex3 = /^#([0-9a-f]{3})$/,\n reHex6 = /^#([0-9a-f]{6})$/,\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 displayable: function() {\n return this.rgb().displayable();\n },\n hex: function() {\n return this.rgb().hex();\n },\n toString: function() {\n return this.rgb() + \"\";\n }\n});\n\nexport default function color(format) {\n var m;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex3.exec(format)) ? (m = parseInt(m[1], 16), new Rgb((m >> 8 & 0xf) | (m >> 4 & 0x0f0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1)) // #f00\n : (m = reHex6.exec(format)) ? rgbn(parseInt(m[1], 16)) // #ff0000\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])\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function() {\n return this;\n },\n displayable: function() {\n return (0 <= this.r && this.r <= 255)\n && (0 <= this.g && this.g <= 255)\n && (0 <= this.b && this.b <= 255)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: function() {\n return \"#\" + hex(this.r) + hex(this.g) + hex(this.b);\n },\n toString: function() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\")\n + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.b) || 0))\n + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n displayable: function() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n }\n}));\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","import define, {extend} from \"./define\";\nimport {Color, rgbConvert, Rgb, darker, brighter} from \"./color\";\nimport {deg2rad, rad2deg} from \"./math\";\n\nvar A = -0.14861,\n B = +1.78277,\n C = -0.29227,\n D = -0.90649,\n E = +1.97294,\n ED = E * D,\n EB = E * B,\n BC_DA = B * C - D * A;\n\nfunction cubehelixConvert(o) {\n if (o instanceof Cubehelix) return new Cubehelix(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Rgb)) o = rgbConvert(o);\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n l = (BC_DA * b + ED * r - EB * g) / (BC_DA + ED - EB),\n bl = b - l,\n k = (E * (g - l) - C * bl) / D,\n s = Math.sqrt(k * k + bl * bl) / (E * l * (1 - l)), // NaN if l=0 or l=1\n h = s ? Math.atan2(k, bl) * rad2deg - 120 : NaN;\n return new Cubehelix(h < 0 ? h + 360 : h, s, l, o.opacity);\n}\n\nexport default function cubehelix(h, s, l, opacity) {\n return arguments.length === 1 ? cubehelixConvert(h) : new Cubehelix(h, s, l, opacity == null ? 1 : opacity);\n}\n\nexport function Cubehelix(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Cubehelix, cubehelix, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Cubehelix(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Cubehelix(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = isNaN(this.h) ? 0 : (this.h + 120) * deg2rad,\n l = +this.l,\n a = isNaN(this.s) ? 0 : this.s * l * (1 - l),\n cosh = Math.cos(h),\n sinh = Math.sin(h);\n return new Rgb(\n 255 * (l + a * (A * cosh + B * sinh)),\n 255 * (l + a * (C * cosh + D * sinh)),\n 255 * (l + a * (E * cosh)),\n this.opacity\n );\n }\n}));\n","export default 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","export {default as color, rgb, hsl} from \"./color\";\nexport {default as lab, hcl, lch, gray} from \"./lab\";\nexport {default as cubehelix} from \"./cubehelix\";\n","import define, {extend} from \"./define\";\nimport {Color, rgbConvert, Rgb} from \"./color\";\nimport {deg2rad, rad2deg} from \"./math\";\n\n// https://beta.observablehq.com/@mbostock/lab-and-rgb\nvar K = 18,\n Xn = 0.96422,\n Yn = 1,\n Zn = 0.82521,\n t0 = 4 / 29,\n t1 = 6 / 29,\n t2 = 3 * t1 * t1,\n t3 = t1 * t1 * t1;\n\nfunction labConvert(o) {\n if (o instanceof Lab) return new Lab(o.l, o.a, o.b, o.opacity);\n if (o instanceof Hcl) {\n if (isNaN(o.h)) return new Lab(o.l, 0, 0, o.opacity);\n var h = o.h * deg2rad;\n return new Lab(o.l, Math.cos(h) * o.c, Math.sin(h) * o.c, o.opacity);\n }\n if (!(o instanceof Rgb)) o = rgbConvert(o);\n var r = rgb2lrgb(o.r),\n g = rgb2lrgb(o.g),\n b = rgb2lrgb(o.b),\n y = xyz2lab((0.2225045 * r + 0.7168786 * g + 0.0606169 * b) / Yn), x, z;\n if (r === g && g === b) x = z = y; else {\n x = xyz2lab((0.4360747 * r + 0.3850649 * g + 0.1430804 * b) / Xn);\n z = xyz2lab((0.0139322 * r + 0.0971045 * g + 0.7141733 * b) / Zn);\n }\n return new Lab(116 * y - 16, 500 * (x - y), 200 * (y - z), o.opacity);\n}\n\nexport function gray(l, opacity) {\n return new Lab(l, 0, 0, opacity == null ? 1 : opacity);\n}\n\nexport default function lab(l, a, b, opacity) {\n return arguments.length === 1 ? labConvert(l) : new Lab(l, a, b, opacity == null ? 1 : opacity);\n}\n\nexport function Lab(l, a, b, opacity) {\n this.l = +l;\n this.a = +a;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Lab, lab, extend(Color, {\n brighter: function(k) {\n return new Lab(this.l + K * (k == null ? 1 : k), this.a, this.b, this.opacity);\n },\n darker: function(k) {\n return new Lab(this.l - K * (k == null ? 1 : k), this.a, this.b, this.opacity);\n },\n rgb: function() {\n var y = (this.l + 16) / 116,\n x = isNaN(this.a) ? y : y + this.a / 500,\n z = isNaN(this.b) ? y : y - this.b / 200;\n x = Xn * lab2xyz(x);\n y = Yn * lab2xyz(y);\n z = Zn * lab2xyz(z);\n return new Rgb(\n lrgb2rgb( 3.1338561 * x - 1.6168667 * y - 0.4906146 * z),\n lrgb2rgb(-0.9787684 * x + 1.9161415 * y + 0.0334540 * z),\n lrgb2rgb( 0.0719453 * x - 0.2289914 * y + 1.4052427 * z),\n this.opacity\n );\n }\n}));\n\nfunction xyz2lab(t) {\n return t > t3 ? Math.pow(t, 1 / 3) : t / t2 + t0;\n}\n\nfunction lab2xyz(t) {\n return t > t1 ? t * t * t : t2 * (t - t0);\n}\n\nfunction lrgb2rgb(x) {\n return 255 * (x <= 0.0031308 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055);\n}\n\nfunction rgb2lrgb(x) {\n return (x /= 255) <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4);\n}\n\nfunction hclConvert(o) {\n if (o instanceof Hcl) return new Hcl(o.h, o.c, o.l, o.opacity);\n if (!(o instanceof Lab)) o = labConvert(o);\n if (o.a === 0 && o.b === 0) return new Hcl(NaN, 0, o.l, o.opacity);\n var h = Math.atan2(o.b, o.a) * rad2deg;\n return new Hcl(h < 0 ? h + 360 : h, Math.sqrt(o.a * o.a + o.b * o.b), o.l, o.opacity);\n}\n\nexport function lch(l, c, h, opacity) {\n return arguments.length === 1 ? hclConvert(l) : new Hcl(h, c, l, opacity == null ? 1 : opacity);\n}\n\nexport function hcl(h, c, l, opacity) {\n return arguments.length === 1 ? hclConvert(h) : new Hcl(h, c, l, opacity == null ? 1 : opacity);\n}\n\nexport function Hcl(h, c, l, opacity) {\n this.h = +h;\n this.c = +c;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hcl, hcl, extend(Color, {\n brighter: function(k) {\n return new Hcl(this.h, this.c, this.l + K * (k == null ? 1 : k), this.opacity);\n },\n darker: function(k) {\n return new Hcl(this.h, this.c, this.l - K * (k == null ? 1 : k), this.opacity);\n },\n rgb: function() {\n return labConvert(this).rgb();\n }\n}));\n","export var deg2rad = Math.PI / 180;\nexport var rad2deg = 180 / Math.PI;\n","export default function(ring) {\n var i = 0, n = ring.length, area = ring[n - 1][1] * ring[0][0] - ring[n - 1][0] * ring[0][1];\n while (++i < n) area += ring[i - 1][1] * ring[i][0] - ring[i - 1][0] * ring[i][1];\n return area;\n}\n","var array = Array.prototype;\n\nexport var slice = array.slice;\n","export default function(a, b) {\n return a - b;\n}\n","// TODO Optimize edge cases.\n// TODO Optimize index calculation.\n// TODO Optimize arguments.\nexport function blurX(source, target, r) {\n var n = source.width,\n m = source.height,\n w = (r << 1) + 1;\n for (var j = 0; j < m; ++j) {\n for (var i = 0, sr = 0; i < n + r; ++i) {\n if (i < n) {\n sr += source.data[i + j * n];\n }\n if (i >= r) {\n if (i >= w) {\n sr -= source.data[i - w + j * n];\n }\n target.data[i - r + j * n] = sr / Math.min(i + 1, n - 1 + w - i, w);\n }\n }\n }\n}\n\n// TODO Optimize edge cases.\n// TODO Optimize index calculation.\n// TODO Optimize arguments.\nexport function blurY(source, target, r) {\n var n = source.width,\n m = source.height,\n w = (r << 1) + 1;\n for (var i = 0; i < n; ++i) {\n for (var j = 0, sr = 0; j < m + r; ++j) {\n if (j < m) {\n sr += source.data[i + j * n];\n }\n if (j >= r) {\n if (j >= w) {\n sr -= source.data[i + (j - w) * n];\n }\n target.data[i + (j - r) * n] = sr / Math.min(j + 1, m - 1 + w - j, w);\n }\n }\n }\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(ring, hole) {\n var i = -1, n = hole.length, c;\n while (++i < n) if (c = ringContains(ring, hole[i])) return c;\n return 0;\n}\n\nfunction ringContains(ring, point) {\n var x = point[0], y = point[1], contains = -1;\n for (var i = 0, n = ring.length, j = n - 1; i < n; j = i++) {\n var pi = ring[i], xi = pi[0], yi = pi[1], pj = ring[j], xj = pj[0], yj = pj[1];\n if (segmentContains(pi, pj, point)) return 0;\n if (((yi > y) !== (yj > y)) && ((x < (xj - xi) * (y - yi) / (yj - yi) + xi))) contains = -contains;\n }\n return contains;\n}\n\nfunction segmentContains(a, b, c) {\n var i; return collinear(a, b, c) && within(a[i = +(a[0] === b[0])], c[i], b[i]);\n}\n\nfunction collinear(a, b, c) {\n return (b[0] - a[0]) * (c[1] - a[1]) === (c[0] - a[0]) * (b[1] - a[1]);\n}\n\nfunction within(p, q, r) {\n return p <= q && q <= r || r <= q && q <= p;\n}\n","import {extent, thresholdSturges, tickStep, range} from \"d3-array\";\nimport {slice} from \"./array\";\nimport ascending from \"./ascending\";\nimport area from \"./area\";\nimport constant from \"./constant\";\nimport contains from \"./contains\";\nimport noop from \"./noop\";\n\nvar cases = [\n [],\n [[[1.0, 1.5], [0.5, 1.0]]],\n [[[1.5, 1.0], [1.0, 1.5]]],\n [[[1.5, 1.0], [0.5, 1.0]]],\n [[[1.0, 0.5], [1.5, 1.0]]],\n [[[1.0, 1.5], [0.5, 1.0]], [[1.0, 0.5], [1.5, 1.0]]],\n [[[1.0, 0.5], [1.0, 1.5]]],\n [[[1.0, 0.5], [0.5, 1.0]]],\n [[[0.5, 1.0], [1.0, 0.5]]],\n [[[1.0, 1.5], [1.0, 0.5]]],\n [[[0.5, 1.0], [1.0, 0.5]], [[1.5, 1.0], [1.0, 1.5]]],\n [[[1.5, 1.0], [1.0, 0.5]]],\n [[[0.5, 1.0], [1.5, 1.0]]],\n [[[1.0, 1.5], [1.5, 1.0]]],\n [[[0.5, 1.0], [1.0, 1.5]]],\n []\n];\n\nexport default function() {\n var dx = 1,\n dy = 1,\n threshold = thresholdSturges,\n smooth = smoothLinear;\n\n function contours(values) {\n var tz = threshold(values);\n\n // Convert number of thresholds into uniform thresholds.\n if (!Array.isArray(tz)) {\n var domain = extent(values), start = domain[0], stop = domain[1];\n tz = tickStep(start, stop, tz);\n tz = range(Math.floor(start / tz) * tz, Math.floor(stop / tz) * tz, tz);\n } else {\n tz = tz.slice().sort(ascending);\n }\n\n return tz.map(function(value) {\n return contour(values, value);\n });\n }\n\n // Accumulate, smooth contour rings, assign holes to exterior rings.\n // Based on https://github.com/mbostock/shapefile/blob/v0.6.2/shp/polygon.js\n function contour(values, value) {\n var polygons = [],\n holes = [];\n\n isorings(values, value, function(ring) {\n smooth(ring, values, value);\n if (area(ring) > 0) polygons.push([ring]);\n else holes.push(ring);\n });\n\n holes.forEach(function(hole) {\n for (var i = 0, n = polygons.length, polygon; i < n; ++i) {\n if (contains((polygon = polygons[i])[0], hole) !== -1) {\n polygon.push(hole);\n return;\n }\n }\n });\n\n return {\n type: \"MultiPolygon\",\n value: value,\n coordinates: polygons\n };\n }\n\n // Marching squares with isolines stitched into rings.\n // Based on https://github.com/topojson/topojson-client/blob/v3.0.0/src/stitch.js\n function isorings(values, value, callback) {\n var fragmentByStart = new Array,\n fragmentByEnd = new Array,\n x, y, t0, t1, t2, t3;\n\n // Special case for the first row (y = -1, t2 = t3 = 0).\n x = y = -1;\n t1 = values[0] >= value;\n cases[t1 << 1].forEach(stitch);\n while (++x < dx - 1) {\n t0 = t1, t1 = values[x + 1] >= value;\n cases[t0 | t1 << 1].forEach(stitch);\n }\n cases[t1 << 0].forEach(stitch);\n\n // General case for the intermediate rows.\n while (++y < dy - 1) {\n x = -1;\n t1 = values[y * dx + dx] >= value;\n t2 = values[y * dx] >= value;\n cases[t1 << 1 | t2 << 2].forEach(stitch);\n while (++x < dx - 1) {\n t0 = t1, t1 = values[y * dx + dx + x + 1] >= value;\n t3 = t2, t2 = values[y * dx + x + 1] >= value;\n cases[t0 | t1 << 1 | t2 << 2 | t3 << 3].forEach(stitch);\n }\n cases[t1 | t2 << 3].forEach(stitch);\n }\n\n // Special case for the last row (y = dy - 1, t0 = t1 = 0).\n x = -1;\n t2 = values[y * dx] >= value;\n cases[t2 << 2].forEach(stitch);\n while (++x < dx - 1) {\n t3 = t2, t2 = values[y * dx + x + 1] >= value;\n cases[t2 << 2 | t3 << 3].forEach(stitch);\n }\n cases[t2 << 3].forEach(stitch);\n\n function stitch(line) {\n var start = [line[0][0] + x, line[0][1] + y],\n end = [line[1][0] + x, line[1][1] + y],\n startIndex = index(start),\n endIndex = index(end),\n f, g;\n if (f = fragmentByEnd[startIndex]) {\n if (g = fragmentByStart[endIndex]) {\n delete fragmentByEnd[f.end];\n delete fragmentByStart[g.start];\n if (f === g) {\n f.ring.push(end);\n callback(f.ring);\n } else {\n fragmentByStart[f.start] = fragmentByEnd[g.end] = {start: f.start, end: g.end, ring: f.ring.concat(g.ring)};\n }\n } else {\n delete fragmentByEnd[f.end];\n f.ring.push(end);\n fragmentByEnd[f.end = endIndex] = f;\n }\n } else if (f = fragmentByStart[endIndex]) {\n if (g = fragmentByEnd[startIndex]) {\n delete fragmentByStart[f.start];\n delete fragmentByEnd[g.end];\n if (f === g) {\n f.ring.push(end);\n callback(f.ring);\n } else {\n fragmentByStart[g.start] = fragmentByEnd[f.end] = {start: g.start, end: f.end, ring: g.ring.concat(f.ring)};\n }\n } else {\n delete fragmentByStart[f.start];\n f.ring.unshift(start);\n fragmentByStart[f.start = startIndex] = f;\n }\n } else {\n fragmentByStart[startIndex] = fragmentByEnd[endIndex] = {start: startIndex, end: endIndex, ring: [start, end]};\n }\n }\n }\n\n function index(point) {\n return point[0] * 2 + point[1] * (dx + 1) * 4;\n }\n\n function smoothLinear(ring, values, value) {\n ring.forEach(function(point) {\n var x = point[0],\n y = point[1],\n xt = x | 0,\n yt = y | 0,\n v0,\n v1 = values[yt * dx + xt];\n if (x > 0 && x < dx && xt === x) {\n v0 = values[yt * dx + xt - 1];\n point[0] = x + (value - v0) / (v1 - v0) - 0.5;\n }\n if (y > 0 && y < dy && yt === y) {\n v0 = values[(yt - 1) * dx + xt];\n point[1] = y + (value - v0) / (v1 - v0) - 0.5;\n }\n });\n }\n\n contours.contour = contour;\n\n contours.size = function(_) {\n if (!arguments.length) return [dx, dy];\n var _0 = Math.ceil(_[0]), _1 = Math.ceil(_[1]);\n if (!(_0 > 0) || !(_1 > 0)) throw new Error(\"invalid size\");\n return dx = _0, dy = _1, contours;\n };\n\n contours.thresholds = function(_) {\n return arguments.length ? (threshold = typeof _ === \"function\" ? _ : Array.isArray(_) ? constant(slice.call(_)) : constant(_), contours) : threshold;\n };\n\n contours.smooth = function(_) {\n return arguments.length ? (smooth = _ ? smoothLinear : noop, contours) : smooth === smoothLinear;\n };\n\n return contours;\n}\n","import {max, range, tickStep} from \"d3-array\";\nimport {slice} from \"./array\";\nimport {blurX, blurY} from \"./blur\";\nimport constant from \"./constant\";\nimport contours from \"./contours\";\n\nfunction defaultX(d) {\n return d[0];\n}\n\nfunction defaultY(d) {\n return d[1];\n}\n\nfunction defaultWeight() {\n return 1;\n}\n\nexport default function() {\n var x = defaultX,\n y = defaultY,\n weight = defaultWeight,\n dx = 960,\n dy = 500,\n r = 20, // blur radius\n k = 2, // log2(grid cell size)\n o = r * 3, // grid offset, to pad for blur\n n = (dx + o * 2) >> k, // grid width\n m = (dy + o * 2) >> k, // grid height\n threshold = constant(20);\n\n function density(data) {\n var values0 = new Float32Array(n * m),\n values1 = new Float32Array(n * m);\n\n data.forEach(function(d, i, data) {\n var xi = (+x(d, i, data) + o) >> k,\n yi = (+y(d, i, data) + o) >> k,\n wi = +weight(d, i, data);\n if (xi >= 0 && xi < n && yi >= 0 && yi < m) {\n values0[xi + yi * n] += wi;\n }\n });\n\n // TODO Optimize.\n blurX({width: n, height: m, data: values0}, {width: n, height: m, data: values1}, r >> k);\n blurY({width: n, height: m, data: values1}, {width: n, height: m, data: values0}, r >> k);\n blurX({width: n, height: m, data: values0}, {width: n, height: m, data: values1}, r >> k);\n blurY({width: n, height: m, data: values1}, {width: n, height: m, data: values0}, r >> k);\n blurX({width: n, height: m, data: values0}, {width: n, height: m, data: values1}, r >> k);\n blurY({width: n, height: m, data: values1}, {width: n, height: m, data: values0}, r >> k);\n\n var tz = threshold(values0);\n\n // Convert number of thresholds into uniform thresholds.\n if (!Array.isArray(tz)) {\n var stop = max(values0);\n tz = tickStep(0, stop, tz);\n tz = range(0, Math.floor(stop / tz) * tz, tz);\n tz.shift();\n }\n\n return contours()\n .thresholds(tz)\n .size([n, m])\n (values0)\n .map(transform);\n }\n\n function transform(geometry) {\n geometry.value *= Math.pow(2, -2 * k); // Density in points per square pixel.\n geometry.coordinates.forEach(transformPolygon);\n return geometry;\n }\n\n function transformPolygon(coordinates) {\n coordinates.forEach(transformRing);\n }\n\n function transformRing(coordinates) {\n coordinates.forEach(transformPoint);\n }\n\n // TODO Optimize.\n function transformPoint(coordinates) {\n coordinates[0] = coordinates[0] * Math.pow(2, k) - o;\n coordinates[1] = coordinates[1] * Math.pow(2, k) - o;\n }\n\n function resize() {\n o = r * 3;\n n = (dx + o * 2) >> k;\n m = (dy + o * 2) >> k;\n return density;\n }\n\n density.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), density) : x;\n };\n\n density.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), density) : y;\n };\n\n density.weight = function(_) {\n return arguments.length ? (weight = typeof _ === \"function\" ? _ : constant(+_), density) : weight;\n };\n\n density.size = function(_) {\n if (!arguments.length) return [dx, dy];\n var _0 = Math.ceil(_[0]), _1 = Math.ceil(_[1]);\n if (!(_0 >= 0) && !(_0 >= 0)) throw new Error(\"invalid size\");\n return dx = _0, dy = _1, resize();\n };\n\n density.cellSize = function(_) {\n if (!arguments.length) return 1 << k;\n if (!((_ = +_) >= 1)) throw new Error(\"invalid cell size\");\n return k = Math.floor(Math.log(_) / Math.LN2), resize();\n };\n\n density.thresholds = function(_) {\n return arguments.length ? (threshold = typeof _ === \"function\" ? _ : Array.isArray(_) ? constant(slice.call(_)) : constant(_), density) : threshold;\n };\n\n density.bandwidth = function(_) {\n if (!arguments.length) return Math.sqrt(r * (r + 1));\n if (!((_ = +_) >= 0)) throw new Error(\"invalid bandwidth\");\n return r = Math.round((Math.sqrt(4 * _ * _ + 1) - 1) / 2), resize();\n };\n\n return density;\n}\n","export {default as contours} from \"./contours\";\nexport {default as contourDensity} from \"./density\";\n","export default function() {}\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 _)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\nexport default dispatch;\n","export {default as dispatch} from \"./dispatch\";\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {event, customEvent, select, mouse, touch} from \"d3-selection\";\nimport nodrag, {yesdrag} from \"./nodrag\";\nimport noevent, {nopropagation} from \"./noevent\";\nimport constant from \"./constant\";\nimport DragEvent from \"./event\";\n\n// Ignore right-click, since that should open the context menu.\nfunction defaultFilter() {\n return !event.button;\n}\n\nfunction defaultContainer() {\n return this.parentNode;\n}\n\nfunction defaultSubject(d) {\n return d == null ? {x: event.x, y: event.y} : d;\n}\n\nfunction defaultTouchable() {\n return \"ontouchstart\" in this;\n}\n\nexport default function() {\n var filter = defaultFilter,\n container = defaultContainer,\n subject = defaultSubject,\n touchable = defaultTouchable,\n gestures = {},\n listeners = dispatch(\"start\", \"drag\", \"end\"),\n active = 0,\n mousedownx,\n mousedowny,\n mousemoving,\n touchending,\n clickDistance2 = 0;\n\n function drag(selection) {\n selection\n .on(\"mousedown.drag\", mousedowned)\n .filter(touchable)\n .on(\"touchstart.drag\", touchstarted)\n .on(\"touchmove.drag\", touchmoved)\n .on(\"touchend.drag touchcancel.drag\", touchended)\n .style(\"touch-action\", \"none\")\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n function mousedowned() {\n if (touchending || !filter.apply(this, arguments)) return;\n var gesture = beforestart(\"mouse\", container.apply(this, arguments), mouse, this, arguments);\n if (!gesture) return;\n select(event.view).on(\"mousemove.drag\", mousemoved, true).on(\"mouseup.drag\", mouseupped, true);\n nodrag(event.view);\n nopropagation();\n mousemoving = false;\n mousedownx = event.clientX;\n mousedowny = event.clientY;\n gesture(\"start\");\n }\n\n function mousemoved() {\n noevent();\n if (!mousemoving) {\n var dx = event.clientX - mousedownx, dy = event.clientY - mousedowny;\n mousemoving = dx * dx + dy * dy > clickDistance2;\n }\n gestures.mouse(\"drag\");\n }\n\n function mouseupped() {\n select(event.view).on(\"mousemove.drag mouseup.drag\", null);\n yesdrag(event.view, mousemoving);\n noevent();\n gestures.mouse(\"end\");\n }\n\n function touchstarted() {\n if (!filter.apply(this, arguments)) return;\n var touches = event.changedTouches,\n c = container.apply(this, arguments),\n n = touches.length, i, gesture;\n\n for (i = 0; i < n; ++i) {\n if (gesture = beforestart(touches[i].identifier, c, touch, this, arguments)) {\n nopropagation();\n gesture(\"start\");\n }\n }\n }\n\n function touchmoved() {\n var touches = event.changedTouches,\n n = touches.length, i, gesture;\n\n for (i = 0; i < n; ++i) {\n if (gesture = gestures[touches[i].identifier]) {\n noevent();\n gesture(\"drag\");\n }\n }\n }\n\n function touchended() {\n var touches = event.changedTouches,\n n = touches.length, i, gesture;\n\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed!\n for (i = 0; i < n; ++i) {\n if (gesture = gestures[touches[i].identifier]) {\n nopropagation();\n gesture(\"end\");\n }\n }\n }\n\n function beforestart(id, container, point, that, args) {\n var p = point(container, id), s, dx, dy,\n sublisteners = listeners.copy();\n\n if (!customEvent(new DragEvent(drag, \"beforestart\", s, id, active, p[0], p[1], 0, 0, sublisteners), function() {\n if ((event.subject = s = subject.apply(that, args)) == null) return false;\n dx = s.x - p[0] || 0;\n dy = s.y - p[1] || 0;\n return true;\n })) return;\n\n return function gesture(type) {\n var p0 = p, n;\n switch (type) {\n case \"start\": gestures[id] = gesture, n = active++; break;\n case \"end\": delete gestures[id], --active; // nobreak\n case \"drag\": p = point(container, id), n = active; break;\n }\n customEvent(new DragEvent(drag, type, s, id, n, p[0] + dx, p[1] + dy, p[0] - p0[0], p[1] - p0[1], sublisteners), sublisteners.apply, sublisteners, [type, that, args]);\n };\n }\n\n drag.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), drag) : filter;\n };\n\n drag.container = function(_) {\n return arguments.length ? (container = typeof _ === \"function\" ? _ : constant(_), drag) : container;\n };\n\n drag.subject = function(_) {\n return arguments.length ? (subject = typeof _ === \"function\" ? _ : constant(_), drag) : subject;\n };\n\n drag.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), drag) : touchable;\n };\n\n drag.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? drag : value;\n };\n\n drag.clickDistance = function(_) {\n return arguments.length ? (clickDistance2 = (_ = +_) * _, drag) : Math.sqrt(clickDistance2);\n };\n\n return drag;\n}\n","export default function DragEvent(target, type, subject, id, active, x, y, dx, dy, dispatch) {\n this.target = target;\n this.type = type;\n this.subject = subject;\n this.identifier = id;\n this.active = active;\n this.x = x;\n this.y = y;\n this.dx = dx;\n this.dy = dy;\n this._ = dispatch;\n}\n\nDragEvent.prototype.on = function() {\n var value = this._.on.apply(this._, arguments);\n return value === this._ ? this : value;\n};\n","export {default as drag} from \"./drag\";\nexport {default as dragDisable, yesdrag as dragEnable} from \"./nodrag\";\n","import {select} from \"d3-selection\";\nimport noevent from \"./noevent\";\n\nexport default function(view) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", noevent, true);\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", noevent, true);\n } else {\n root.__noselect = root.style.MozUserSelect;\n root.style.MozUserSelect = \"none\";\n }\n}\n\nexport function yesdrag(view, noclick) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", null);\n if (noclick) {\n selection.on(\"click.drag\", noevent, true);\n setTimeout(function() { selection.on(\"click.drag\", null); }, 0);\n }\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", null);\n } else {\n root.style.MozUserSelect = root.__noselect;\n delete root.__noselect;\n }\n}\n","import {event} from \"d3-selection\";\n\nexport function nopropagation() {\n event.stopImmediatePropagation();\n}\n\nexport default function() {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","import dsv from \"./dsv\";\n\nvar csv = dsv(\",\");\n\nexport var csvParse = csv.parse;\nexport var csvParseRows = csv.parseRows;\nexport var csvFormat = csv.format;\nexport var csvFormatRows = csv.formatRows;\n","var EOL = {},\n EOF = {},\n QUOTE = 34,\n NEWLINE = 10,\n RETURN = 13;\n\nfunction objectConverter(columns) {\n return new Function(\"d\", \"return {\" + columns.map(function(name, i) {\n return JSON.stringify(name) + \": d[\" + i + \"]\";\n }).join(\",\") + \"}\");\n}\n\nfunction customConverter(columns, f) {\n var object = objectConverter(columns);\n return function(row, i) {\n return f(object(row), i, columns);\n };\n}\n\n// Compute unique columns in order of discovery.\nfunction inferColumns(rows) {\n var columnSet = Object.create(null),\n columns = [];\n\n rows.forEach(function(row) {\n for (var column in row) {\n if (!(column in columnSet)) {\n columns.push(columnSet[column] = column);\n }\n }\n });\n\n return columns;\n}\n\nexport default function(delimiter) {\n var reFormat = new RegExp(\"[\\\"\" + delimiter + \"\\n\\r]\"),\n DELIMITER = delimiter.charCodeAt(0);\n\n function parse(text, f) {\n var convert, columns, rows = parseRows(text, function(row, i) {\n if (convert) return convert(row, i - 1);\n columns = row, convert = f ? customConverter(row, f) : objectConverter(row);\n });\n rows.columns = columns || [];\n return rows;\n }\n\n function parseRows(text, f) {\n var rows = [], // output rows\n N = text.length,\n I = 0, // current character index\n n = 0, // current line number\n t, // current token\n eof = N <= 0, // current token followed by EOF?\n eol = false; // current token followed by EOL?\n\n // Strip the trailing newline.\n if (text.charCodeAt(N - 1) === NEWLINE) --N;\n if (text.charCodeAt(N - 1) === RETURN) --N;\n\n function token() {\n if (eof) return EOF;\n if (eol) return eol = false, EOL;\n\n // Unescape quotes.\n var i, j = I, c;\n if (text.charCodeAt(j) === QUOTE) {\n while (I++ < N && text.charCodeAt(I) !== QUOTE || text.charCodeAt(++I) === QUOTE);\n if ((i = I) >= N) eof = true;\n else if ((c = text.charCodeAt(I++)) === NEWLINE) eol = true;\n else if (c === RETURN) { eol = true; if (text.charCodeAt(I) === NEWLINE) ++I; }\n return text.slice(j + 1, i - 1).replace(/\"\"/g, \"\\\"\");\n }\n\n // Find next delimiter or newline.\n while (I < N) {\n if ((c = text.charCodeAt(i = I++)) === NEWLINE) eol = true;\n else if (c === RETURN) { eol = true; if (text.charCodeAt(I) === NEWLINE) ++I; }\n else if (c !== DELIMITER) continue;\n return text.slice(j, i);\n }\n\n // Return last token before EOF.\n return eof = true, text.slice(j, N);\n }\n\n while ((t = token()) !== EOF) {\n var row = [];\n while (t !== EOL && t !== EOF) row.push(t), t = token();\n if (f && (row = f(row, n++)) == null) continue;\n rows.push(row);\n }\n\n return rows;\n }\n\n function format(rows, columns) {\n if (columns == null) columns = inferColumns(rows);\n return [columns.map(formatValue).join(delimiter)].concat(rows.map(function(row) {\n return columns.map(function(column) {\n return formatValue(row[column]);\n }).join(delimiter);\n })).join(\"\\n\");\n }\n\n function formatRows(rows) {\n return rows.map(formatRow).join(\"\\n\");\n }\n\n function formatRow(row) {\n return row.map(formatValue).join(delimiter);\n }\n\n function formatValue(text) {\n return text == null ? \"\"\n : reFormat.test(text += \"\") ? \"\\\"\" + text.replace(/\"/g, \"\\\"\\\"\") + \"\\\"\"\n : text;\n }\n\n return {\n parse: parse,\n parseRows: parseRows,\n format: format,\n formatRows: formatRows\n };\n}\n","export {default as dsvFormat} from \"./dsv\";\nexport {csvParse, csvParseRows, csvFormat, csvFormatRows} from \"./csv\";\nexport {tsvParse, tsvParseRows, tsvFormat, tsvFormatRows} from \"./tsv\";\n","import dsv from \"./dsv\";\n\nvar tsv = dsv(\"\\t\");\n\nexport var tsvParse = tsv.parse;\nexport var tsvParseRows = tsv.parseRows;\nexport var tsvFormat = tsv.format;\nexport var tsvFormatRows = tsv.formatRows;\n","var overshoot = 1.70158;\n\nexport var backIn = (function custom(s) {\n s = +s;\n\n function backIn(t) {\n return t * t * ((s + 1) * t - s);\n }\n\n backIn.overshoot = custom;\n\n return backIn;\n})(overshoot);\n\nexport var backOut = (function custom(s) {\n s = +s;\n\n function backOut(t) {\n return --t * t * ((s + 1) * t + s) + 1;\n }\n\n backOut.overshoot = custom;\n\n return backOut;\n})(overshoot);\n\nexport var backInOut = (function custom(s) {\n s = +s;\n\n function backInOut(t) {\n return ((t *= 2) < 1 ? t * t * ((s + 1) * t - s) : (t -= 2) * t * ((s + 1) * t + s) + 2) / 2;\n }\n\n backInOut.overshoot = custom;\n\n return backInOut;\n})(overshoot);\n","var b1 = 4 / 11,\n b2 = 6 / 11,\n b3 = 8 / 11,\n b4 = 3 / 4,\n b5 = 9 / 11,\n b6 = 10 / 11,\n b7 = 15 / 16,\n b8 = 21 / 22,\n b9 = 63 / 64,\n b0 = 1 / b1 / b1;\n\nexport function bounceIn(t) {\n return 1 - bounceOut(1 - t);\n}\n\nexport function bounceOut(t) {\n return (t = +t) < b1 ? b0 * t * t : t < b3 ? b0 * (t -= b2) * t + b4 : t < b6 ? b0 * (t -= b5) * t + b7 : b0 * (t -= b8) * t + b9;\n}\n\nexport function bounceInOut(t) {\n return ((t *= 2) <= 1 ? 1 - bounceOut(1 - t) : bounceOut(t - 1) + 1) / 2;\n}\n","export function circleIn(t) {\n return 1 - Math.sqrt(1 - t * t);\n}\n\nexport function circleOut(t) {\n return Math.sqrt(1 - --t * t);\n}\n\nexport function circleInOut(t) {\n return ((t *= 2) <= 1 ? 1 - Math.sqrt(1 - t * t) : Math.sqrt(1 - (t -= 2) * t) + 1) / 2;\n}\n","export function cubicIn(t) {\n return t * t * t;\n}\n\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n","var tau = 2 * Math.PI,\n amplitude = 1,\n period = 0.3;\n\nexport var elasticIn = (function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticIn(t) {\n return a * Math.pow(2, 10 * --t) * Math.sin((s - t) / p);\n }\n\n elasticIn.amplitude = function(a) { return custom(a, p * tau); };\n elasticIn.period = function(p) { return custom(a, p); };\n\n return elasticIn;\n})(amplitude, period);\n\nexport var elasticOut = (function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticOut(t) {\n return 1 - a * Math.pow(2, -10 * (t = +t)) * Math.sin((t + s) / p);\n }\n\n elasticOut.amplitude = function(a) { return custom(a, p * tau); };\n elasticOut.period = function(p) { return custom(a, p); };\n\n return elasticOut;\n})(amplitude, period);\n\nexport var elasticInOut = (function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n\n function elasticInOut(t) {\n return ((t = t * 2 - 1) < 0\n ? a * Math.pow(2, 10 * t) * Math.sin((s - t) / p)\n : 2 - a * Math.pow(2, -10 * t) * Math.sin((s + t) / p)) / 2;\n }\n\n elasticInOut.amplitude = function(a) { return custom(a, p * tau); };\n elasticInOut.period = function(p) { return custom(a, p); };\n\n return elasticInOut;\n})(amplitude, period);\n","export function expIn(t) {\n return Math.pow(2, 10 * t - 10);\n}\n\nexport function expOut(t) {\n return 1 - Math.pow(2, -10 * t);\n}\n\nexport function expInOut(t) {\n return ((t *= 2) <= 1 ? Math.pow(2, 10 * t - 10) : 2 - Math.pow(2, 10 - 10 * t)) / 2;\n}\n","export {\n linear as easeLinear\n} from \"./linear\";\n\nexport {\n quadInOut as easeQuad,\n quadIn as easeQuadIn,\n quadOut as easeQuadOut,\n quadInOut as easeQuadInOut\n} from \"./quad\";\n\nexport {\n cubicInOut as easeCubic,\n cubicIn as easeCubicIn,\n cubicOut as easeCubicOut,\n cubicInOut as easeCubicInOut\n} from \"./cubic\";\n\nexport {\n polyInOut as easePoly,\n polyIn as easePolyIn,\n polyOut as easePolyOut,\n polyInOut as easePolyInOut\n} from \"./poly\";\n\nexport {\n sinInOut as easeSin,\n sinIn as easeSinIn,\n sinOut as easeSinOut,\n sinInOut as easeSinInOut\n} from \"./sin\";\n\nexport {\n expInOut as easeExp,\n expIn as easeExpIn,\n expOut as easeExpOut,\n expInOut as easeExpInOut\n} from \"./exp\";\n\nexport {\n circleInOut as easeCircle,\n circleIn as easeCircleIn,\n circleOut as easeCircleOut,\n circleInOut as easeCircleInOut\n} from \"./circle\";\n\nexport {\n bounceOut as easeBounce,\n bounceIn as easeBounceIn,\n bounceOut as easeBounceOut,\n bounceInOut as easeBounceInOut\n} from \"./bounce\";\n\nexport {\n backInOut as easeBack,\n backIn as easeBackIn,\n backOut as easeBackOut,\n backInOut as easeBackInOut\n} from \"./back\";\n\nexport {\n elasticOut as easeElastic,\n elasticIn as easeElasticIn,\n elasticOut as easeElasticOut,\n elasticInOut as easeElasticInOut\n} from \"./elastic\";\n","export function linear(t) {\n return +t;\n}\n","var exponent = 3;\n\nexport var polyIn = (function custom(e) {\n e = +e;\n\n function polyIn(t) {\n return Math.pow(t, e);\n }\n\n polyIn.exponent = custom;\n\n return polyIn;\n})(exponent);\n\nexport var polyOut = (function custom(e) {\n e = +e;\n\n function polyOut(t) {\n return 1 - Math.pow(1 - t, e);\n }\n\n polyOut.exponent = custom;\n\n return polyOut;\n})(exponent);\n\nexport var polyInOut = (function custom(e) {\n e = +e;\n\n function polyInOut(t) {\n return ((t *= 2) <= 1 ? Math.pow(t, e) : 2 - Math.pow(2 - t, e)) / 2;\n }\n\n polyInOut.exponent = custom;\n\n return polyInOut;\n})(exponent);\n","export function quadIn(t) {\n return t * t;\n}\n\nexport function quadOut(t) {\n return t * (2 - t);\n}\n\nexport function quadInOut(t) {\n return ((t *= 2) <= 1 ? t * t : --t * (2 - t) + 1) / 2;\n}\n","var pi = Math.PI,\n halfPi = pi / 2;\n\nexport function sinIn(t) {\n return 1 - Math.cos(t * halfPi);\n}\n\nexport function sinOut(t) {\n return Math.sin(t * halfPi);\n}\n\nexport function sinInOut(t) {\n return (1 - Math.cos(pi * t)) / 2;\n}\n","function responseBlob(response) {\n if (!response.ok) throw new Error(response.status + \" \" + response.statusText);\n return response.blob();\n}\n\nexport default function(input, init) {\n return fetch(input, init).then(responseBlob);\n}\n","function responseArrayBuffer(response) {\n if (!response.ok) throw new Error(response.status + \" \" + response.statusText);\n return response.arrayBuffer();\n}\n\nexport default function(input, init) {\n return fetch(input, init).then(responseArrayBuffer);\n}\n","import {csvParse, dsvFormat, tsvParse} from \"d3-dsv\";\nimport text from \"./text\";\n\nfunction dsvParse(parse) {\n return function(input, init, row) {\n if (arguments.length === 2 && typeof init === \"function\") row = init, init = undefined;\n return text(input, init).then(function(response) {\n return parse(response, row);\n });\n };\n}\n\nexport default function dsv(delimiter, input, init, row) {\n if (arguments.length === 3 && typeof init === \"function\") row = init, init = undefined;\n var format = dsvFormat(delimiter);\n return text(input, init).then(function(response) {\n return format.parse(response, row);\n });\n}\n\nexport var csv = dsvParse(csvParse);\nexport var tsv = dsvParse(tsvParse);\n","export default function(input, init) {\n return new Promise(function(resolve, reject) {\n var image = new Image;\n for (var key in init) image[key] = init[key];\n image.onerror = reject;\n image.onload = function() { resolve(image); };\n image.src = input;\n });\n}\n","export {default as blob} from \"./blob\";\nexport {default as buffer} from \"./buffer\";\nexport {default as dsv, csv, tsv} from \"./dsv\";\nexport {default as image} from \"./image\";\nexport {default as json} from \"./json\";\nexport {default as text} from \"./text\";\nexport {default as xml, html, svg} from \"./xml\";\n","function responseJson(response) {\n if (!response.ok) throw new Error(response.status + \" \" + response.statusText);\n return response.json();\n}\n\nexport default function(input, init) {\n return fetch(input, init).then(responseJson);\n}\n","function responseText(response) {\n if (!response.ok) throw new Error(response.status + \" \" + response.statusText);\n return response.text();\n}\n\nexport default function(input, init) {\n return fetch(input, init).then(responseText);\n}\n","import text from \"./text\";\n\nfunction parser(type) {\n return function(input, init) {\n return text(input, init).then(function(text) {\n return (new DOMParser).parseFromString(text, type);\n });\n };\n}\n\nexport default parser(\"application/xml\");\n\nexport var html = parser(\"text/html\");\n\nexport var svg = parser(\"image/svg+xml\");\n","export default function(x, y) {\n var nodes;\n\n if (x == null) x = 0;\n if (y == null) y = 0;\n\n function force() {\n var i,\n n = nodes.length,\n node,\n sx = 0,\n sy = 0;\n\n for (i = 0; i < n; ++i) {\n node = nodes[i], sx += node.x, sy += node.y;\n }\n\n for (sx = sx / n - x, sy = sy / n - y, i = 0; i < n; ++i) {\n node = nodes[i], node.x -= sx, node.y -= sy;\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = +_, force) : x;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = +_, force) : y;\n };\n\n return force;\n}\n","import constant from \"./constant\";\nimport jiggle from \"./jiggle\";\nimport {quadtree} from \"d3-quadtree\";\n\nfunction x(d) {\n return d.x + d.vx;\n}\n\nfunction y(d) {\n return d.y + d.vy;\n}\n\nexport default function(radius) {\n var nodes,\n radii,\n strength = 1,\n iterations = 1;\n\n if (typeof radius !== \"function\") radius = constant(radius == null ? 1 : +radius);\n\n function force() {\n var i, n = nodes.length,\n tree,\n node,\n xi,\n yi,\n ri,\n ri2;\n\n for (var k = 0; k < iterations; ++k) {\n tree = quadtree(nodes, x, y).visitAfter(prepare);\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n ri = radii[node.index], ri2 = ri * ri;\n xi = node.x + node.vx;\n yi = node.y + node.vy;\n tree.visit(apply);\n }\n }\n\n function apply(quad, x0, y0, x1, y1) {\n var data = quad.data, rj = quad.r, r = ri + rj;\n if (data) {\n if (data.index > node.index) {\n var x = xi - data.x - data.vx,\n y = yi - data.y - data.vy,\n l = x * x + y * y;\n if (l < r * r) {\n if (x === 0) x = jiggle(), l += x * x;\n if (y === 0) y = jiggle(), l += y * y;\n l = (r - (l = Math.sqrt(l))) / l * strength;\n node.vx += (x *= l) * (r = (rj *= rj) / (ri2 + rj));\n node.vy += (y *= l) * r;\n data.vx -= x * (r = 1 - r);\n data.vy -= y * r;\n }\n }\n return;\n }\n return x0 > xi + r || x1 < xi - r || y0 > yi + r || y1 < yi - r;\n }\n }\n\n function prepare(quad) {\n if (quad.data) return quad.r = radii[quad.data.index];\n for (var i = quad.r = 0; i < 4; ++i) {\n if (quad[i] && quad[i].r > quad.r) {\n quad.r = quad[i].r;\n }\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length, node;\n radii = new Array(n);\n for (i = 0; i < n; ++i) node = nodes[i], radii[node.index] = +radius(node, i, nodes);\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.iterations = function(_) {\n return arguments.length ? (iterations = +_, force) : iterations;\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = +_, force) : strength;\n };\n\n force.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : radius;\n };\n\n return force;\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export {default as forceCenter} from \"./center\";\nexport {default as forceCollide} from \"./collide\";\nexport {default as forceLink} from \"./link\";\nexport {default as forceManyBody} from \"./manyBody\";\nexport {default as forceRadial} from \"./radial\";\nexport {default as forceSimulation} from \"./simulation\";\nexport {default as forceX} from \"./x\";\nexport {default as forceY} from \"./y\";\n","export default function() {\n return (Math.random() - 0.5) * 1e-6;\n}\n","import constant from \"./constant\";\nimport jiggle from \"./jiggle\";\nimport {map} from \"d3-collection\";\n\nfunction index(d) {\n return d.index;\n}\n\nfunction find(nodeById, nodeId) {\n var node = nodeById.get(nodeId);\n if (!node) throw new Error(\"missing: \" + nodeId);\n return node;\n}\n\nexport default function(links) {\n var id = index,\n strength = defaultStrength,\n strengths,\n distance = constant(30),\n distances,\n nodes,\n count,\n bias,\n iterations = 1;\n\n if (links == null) links = [];\n\n function defaultStrength(link) {\n return 1 / Math.min(count[link.source.index], count[link.target.index]);\n }\n\n function force(alpha) {\n for (var k = 0, n = links.length; k < iterations; ++k) {\n for (var i = 0, link, source, target, x, y, l, b; i < n; ++i) {\n link = links[i], source = link.source, target = link.target;\n x = target.x + target.vx - source.x - source.vx || jiggle();\n y = target.y + target.vy - source.y - source.vy || jiggle();\n l = Math.sqrt(x * x + y * y);\n l = (l - distances[i]) / l * alpha * strengths[i];\n x *= l, y *= l;\n target.vx -= x * (b = bias[i]);\n target.vy -= y * b;\n source.vx += x * (b = 1 - b);\n source.vy += y * b;\n }\n }\n }\n\n function initialize() {\n if (!nodes) return;\n\n var i,\n n = nodes.length,\n m = links.length,\n nodeById = map(nodes, id),\n link;\n\n for (i = 0, count = new Array(n); i < m; ++i) {\n link = links[i], link.index = i;\n if (typeof link.source !== \"object\") link.source = find(nodeById, link.source);\n if (typeof link.target !== \"object\") link.target = find(nodeById, link.target);\n count[link.source.index] = (count[link.source.index] || 0) + 1;\n count[link.target.index] = (count[link.target.index] || 0) + 1;\n }\n\n for (i = 0, bias = new Array(m); i < m; ++i) {\n link = links[i], bias[i] = count[link.source.index] / (count[link.source.index] + count[link.target.index]);\n }\n\n strengths = new Array(m), initializeStrength();\n distances = new Array(m), initializeDistance();\n }\n\n function initializeStrength() {\n if (!nodes) return;\n\n for (var i = 0, n = links.length; i < n; ++i) {\n strengths[i] = +strength(links[i], i, links);\n }\n }\n\n function initializeDistance() {\n if (!nodes) return;\n\n for (var i = 0, n = links.length; i < n; ++i) {\n distances[i] = +distance(links[i], i, links);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.links = function(_) {\n return arguments.length ? (links = _, initialize(), force) : links;\n };\n\n force.id = function(_) {\n return arguments.length ? (id = _, force) : id;\n };\n\n force.iterations = function(_) {\n return arguments.length ? (iterations = +_, force) : iterations;\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initializeStrength(), force) : strength;\n };\n\n force.distance = function(_) {\n return arguments.length ? (distance = typeof _ === \"function\" ? _ : constant(+_), initializeDistance(), force) : distance;\n };\n\n return force;\n}\n","import constant from \"./constant\";\nimport jiggle from \"./jiggle\";\nimport {quadtree} from \"d3-quadtree\";\nimport {x, y} from \"./simulation\";\n\nexport default function() {\n var nodes,\n node,\n alpha,\n strength = constant(-30),\n strengths,\n distanceMin2 = 1,\n distanceMax2 = Infinity,\n theta2 = 0.81;\n\n function force(_) {\n var i, n = nodes.length, tree = quadtree(nodes, x, y).visitAfter(accumulate);\n for (alpha = _, i = 0; i < n; ++i) node = nodes[i], tree.visit(apply);\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length, node;\n strengths = new Array(n);\n for (i = 0; i < n; ++i) node = nodes[i], strengths[node.index] = +strength(node, i, nodes);\n }\n\n function accumulate(quad) {\n var strength = 0, q, c, weight = 0, x, y, i;\n\n // For internal nodes, accumulate forces from child quadrants.\n if (quad.length) {\n for (x = y = i = 0; i < 4; ++i) {\n if ((q = quad[i]) && (c = Math.abs(q.value))) {\n strength += q.value, weight += c, x += c * q.x, y += c * q.y;\n }\n }\n quad.x = x / weight;\n quad.y = y / weight;\n }\n\n // For leaf nodes, accumulate forces from coincident quadrants.\n else {\n q = quad;\n q.x = q.data.x;\n q.y = q.data.y;\n do strength += strengths[q.data.index];\n while (q = q.next);\n }\n\n quad.value = strength;\n }\n\n function apply(quad, x1, _, x2) {\n if (!quad.value) return true;\n\n var x = quad.x - node.x,\n y = quad.y - node.y,\n w = x2 - x1,\n l = x * x + y * y;\n\n // Apply the Barnes-Hut approximation if possible.\n // Limit forces for very close nodes; randomize direction if coincident.\n if (w * w / theta2 < l) {\n if (l < distanceMax2) {\n if (x === 0) x = jiggle(), l += x * x;\n if (y === 0) y = jiggle(), l += y * y;\n if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l);\n node.vx += x * quad.value * alpha / l;\n node.vy += y * quad.value * alpha / l;\n }\n return true;\n }\n\n // Otherwise, process points directly.\n else if (quad.length || l >= distanceMax2) return;\n\n // Limit forces for very close nodes; randomize direction if coincident.\n if (quad.data !== node || quad.next) {\n if (x === 0) x = jiggle(), l += x * x;\n if (y === 0) y = jiggle(), l += y * y;\n if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l);\n }\n\n do if (quad.data !== node) {\n w = strengths[quad.data.index] * alpha / l;\n node.vx += x * w;\n node.vy += y * w;\n } while (quad = quad.next);\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.distanceMin = function(_) {\n return arguments.length ? (distanceMin2 = _ * _, force) : Math.sqrt(distanceMin2);\n };\n\n force.distanceMax = function(_) {\n return arguments.length ? (distanceMax2 = _ * _, force) : Math.sqrt(distanceMax2);\n };\n\n force.theta = function(_) {\n return arguments.length ? (theta2 = _ * _, force) : Math.sqrt(theta2);\n };\n\n return force;\n}\n","import constant from \"./constant\";\n\nexport default function(radius, x, y) {\n var nodes,\n strength = constant(0.1),\n strengths,\n radiuses;\n\n if (typeof radius !== \"function\") radius = constant(+radius);\n if (x == null) x = 0;\n if (y == null) y = 0;\n\n function force(alpha) {\n for (var i = 0, n = nodes.length; i < n; ++i) {\n var node = nodes[i],\n dx = node.x - x || 1e-6,\n dy = node.y - y || 1e-6,\n r = Math.sqrt(dx * dx + dy * dy),\n k = (radiuses[i] - r) * strengths[i] * alpha / r;\n node.vx += dx * k;\n node.vy += dy * k;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n radiuses = new Array(n);\n for (i = 0; i < n; ++i) {\n radiuses[i] = +radius(nodes[i], i, nodes);\n strengths[i] = isNaN(radiuses[i]) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _, initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : radius;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = +_, force) : x;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = +_, force) : y;\n };\n\n return force;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {map} from \"d3-collection\";\nimport {timer} from \"d3-timer\";\n\nexport function x(d) {\n return d.x;\n}\n\nexport function y(d) {\n return d.y;\n}\n\nvar initialRadius = 10,\n initialAngle = Math.PI * (3 - Math.sqrt(5));\n\nexport default function(nodes) {\n var simulation,\n alpha = 1,\n alphaMin = 0.001,\n alphaDecay = 1 - Math.pow(alphaMin, 1 / 300),\n alphaTarget = 0,\n velocityDecay = 0.6,\n forces = map(),\n stepper = timer(step),\n event = dispatch(\"tick\", \"end\");\n\n if (nodes == null) nodes = [];\n\n function step() {\n tick();\n event.call(\"tick\", simulation);\n if (alpha < alphaMin) {\n stepper.stop();\n event.call(\"end\", simulation);\n }\n }\n\n function tick() {\n var i, n = nodes.length, node;\n\n alpha += (alphaTarget - alpha) * alphaDecay;\n\n forces.each(function(force) {\n force(alpha);\n });\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n if (node.fx == null) node.x += node.vx *= velocityDecay;\n else node.x = node.fx, node.vx = 0;\n if (node.fy == null) node.y += node.vy *= velocityDecay;\n else node.y = node.fy, node.vy = 0;\n }\n }\n\n function initializeNodes() {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.index = i;\n if (isNaN(node.x) || isNaN(node.y)) {\n var radius = initialRadius * Math.sqrt(i), angle = i * initialAngle;\n node.x = radius * Math.cos(angle);\n node.y = radius * Math.sin(angle);\n }\n if (isNaN(node.vx) || isNaN(node.vy)) {\n node.vx = node.vy = 0;\n }\n }\n }\n\n function initializeForce(force) {\n if (force.initialize) force.initialize(nodes);\n return force;\n }\n\n initializeNodes();\n\n return simulation = {\n tick: tick,\n\n restart: function() {\n return stepper.restart(step), simulation;\n },\n\n stop: function() {\n return stepper.stop(), simulation;\n },\n\n nodes: function(_) {\n return arguments.length ? (nodes = _, initializeNodes(), forces.each(initializeForce), simulation) : nodes;\n },\n\n alpha: function(_) {\n return arguments.length ? (alpha = +_, simulation) : alpha;\n },\n\n alphaMin: function(_) {\n return arguments.length ? (alphaMin = +_, simulation) : alphaMin;\n },\n\n alphaDecay: function(_) {\n return arguments.length ? (alphaDecay = +_, simulation) : +alphaDecay;\n },\n\n alphaTarget: function(_) {\n return arguments.length ? (alphaTarget = +_, simulation) : alphaTarget;\n },\n\n velocityDecay: function(_) {\n return arguments.length ? (velocityDecay = 1 - _, simulation) : 1 - velocityDecay;\n },\n\n force: function(name, _) {\n return arguments.length > 1 ? ((_ == null ? forces.remove(name) : forces.set(name, initializeForce(_))), simulation) : forces.get(name);\n },\n\n find: function(x, y, radius) {\n var i = 0,\n n = nodes.length,\n dx,\n dy,\n d2,\n node,\n closest;\n\n if (radius == null) radius = Infinity;\n else radius *= radius;\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n dx = x - node.x;\n dy = y - node.y;\n d2 = dx * dx + dy * dy;\n if (d2 < radius) closest = node, radius = d2;\n }\n\n return closest;\n },\n\n on: function(name, _) {\n return arguments.length > 1 ? (event.on(name, _), simulation) : event.on(name);\n }\n };\n}\n","import constant from \"./constant\";\n\nexport default function(x) {\n var strength = constant(0.1),\n nodes,\n strengths,\n xz;\n\n if (typeof x !== \"function\") x = constant(x == null ? 0 : +x);\n\n function force(alpha) {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.vx += (xz[i] - node.x) * strengths[i] * alpha;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n xz = new Array(n);\n for (i = 0; i < n; ++i) {\n strengths[i] = isNaN(xz[i] = +x(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : x;\n };\n\n return force;\n}\n","import constant from \"./constant\";\n\nexport default function(y) {\n var strength = constant(0.1),\n nodes,\n strengths,\n yz;\n\n if (typeof y !== \"function\") y = constant(y == null ? 0 : +y);\n\n function force(alpha) {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.vy += (yz[i] - node.y) * strengths[i] * alpha;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n yz = new Array(n);\n for (i = 0; i < n; ++i) {\n strengths[i] = isNaN(yz[i] = +y(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : y;\n };\n\n return force;\n}\n","import formatLocale from \"./locale\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n decimal: \".\",\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 formatDecimal from \"./formatDecimal\";\n\nexport default function(x) {\n return x = formatDecimal(Math.abs(x)), x ? x[1] : NaN;\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, formatDecimal(1.23) returns [\"123\", 0].\nexport default function(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","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","import formatDecimal from \"./formatDecimal\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimal(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\") + formatDecimal(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","import formatDecimal from \"./formatDecimal\";\n\nexport default function(x, p) {\n var d = formatDecimal(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","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n return new FormatSpecifier(specifier);\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nfunction FormatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n this.fill = match[1] || \" \";\n this.align = match[2] || \">\";\n this.sign = match[3] || \"-\";\n this.symbol = match[4] || \"\";\n this.zero = !!match[5];\n this.width = match[6] && +match[6];\n this.comma = !!match[7];\n this.precision = match[8] && +match[8].slice(1);\n this.trim = !!match[9];\n this.type = match[10] || \"\";\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 == null ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision == null ? \"\" : \".\" + 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 (i0 > 0) { if (!+s[i]) break out; i0 = 0; } break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import formatPrefixAuto from \"./formatPrefixAuto\";\nimport formatRounded from \"./formatRounded\";\n\nexport default {\n \"%\": function(x, p) { return (x * 100).toFixed(p); },\n \"b\": function(x) { return Math.round(x).toString(2); },\n \"c\": function(x) { return x + \"\"; },\n \"d\": function(x) { return Math.round(x).toString(10); },\n \"e\": function(x, p) { return x.toExponential(p); },\n \"f\": function(x, p) { return x.toFixed(p); },\n \"g\": function(x, p) { return x.toPrecision(p); },\n \"o\": function(x) { return Math.round(x).toString(8); },\n \"p\": function(x, p) { return formatRounded(x * 100, p); },\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": function(x) { return Math.round(x).toString(16).toUpperCase(); },\n \"x\": function(x) { return Math.round(x).toString(16); }\n};\n","export default function(x) {\n return x;\n}\n","export {default as formatDefaultLocale, format, formatPrefix} from \"./defaultLocale\";\nexport {default as formatLocale} from \"./locale\";\nexport {default as formatSpecifier} from \"./formatSpecifier\";\nexport {default as precisionFixed} from \"./precisionFixed\";\nexport {default as precisionPrefix} from \"./precisionPrefix\";\nexport {default as precisionRound} from \"./precisionRound\";\n","import exponent from \"./exponent\";\nimport formatGroup from \"./formatGroup\";\nimport formatNumerals from \"./formatNumerals\";\nimport formatSpecifier from \"./formatSpecifier\";\nimport formatTrim from \"./formatTrim\";\nimport formatTypes from \"./formatTypes\";\nimport {prefixExponent} from \"./formatPrefixAuto\";\nimport identity from \"./identity\";\n\nvar 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 && locale.thousands ? formatGroup(locale.grouping, locale.thousands) : identity,\n currency = locale.currency,\n decimal = locale.decimal,\n numerals = locale.numerals ? formatNumerals(locale.numerals) : identity,\n percent = locale.percent || \"%\";\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 == null && (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 === \"$\" ? currency[0] : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currency[1] : /[%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 == null ? 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 // Perform the initial formatting.\n var valueNegative = value < 0;\n value = 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 during formatting, treat as positive.\n if (valueNegative && +value === 0) valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : \"-\") : 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 exponent from \"./exponent\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent\";\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\";\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","// Adds floating point numbers with twice the normal precision.\n// Reference: J. R. Shewchuk, Adaptive Precision Floating-Point Arithmetic and\n// Fast Robust Geometric Predicates, Discrete & Computational Geometry 18(3)\n// 305–363 (1997).\n// Code adapted from GeographicLib by Charles F. F. Karney,\n// http://geographiclib.sourceforge.net/\n\nexport default function() {\n return new Adder;\n}\n\nfunction Adder() {\n this.reset();\n}\n\nAdder.prototype = {\n constructor: Adder,\n reset: function() {\n this.s = // rounded value\n this.t = 0; // exact error\n },\n add: function(y) {\n add(temp, y, this.t);\n add(this, temp.s, this.s);\n if (this.s) this.t += temp.t;\n else this.s = temp.t;\n },\n valueOf: function() {\n return this.s;\n }\n};\n\nvar temp = new Adder;\n\nfunction add(adder, a, b) {\n var x = adder.s = a + b,\n bv = x - a,\n av = x - bv;\n adder.t = (a - av) + (b - bv);\n}\n","import adder from \"./adder\";\nimport {atan2, cos, quarterPi, radians, sin, tau} from \"./math\";\nimport noop from \"./noop\";\nimport stream from \"./stream\";\n\nexport var areaRingSum = adder();\n\nvar areaSum = adder(),\n lambda00,\n phi00,\n lambda0,\n cosPhi0,\n sinPhi0;\n\nexport var areaStream = {\n point: noop,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: function() {\n areaRingSum.reset();\n areaStream.lineStart = areaRingStart;\n areaStream.lineEnd = areaRingEnd;\n },\n polygonEnd: function() {\n var areaRing = +areaRingSum;\n areaSum.add(areaRing < 0 ? tau + areaRing : areaRing);\n this.lineStart = this.lineEnd = this.point = noop;\n },\n sphere: function() {\n areaSum.add(tau);\n }\n};\n\nfunction areaRingStart() {\n areaStream.point = areaPointFirst;\n}\n\nfunction areaRingEnd() {\n areaPoint(lambda00, phi00);\n}\n\nfunction areaPointFirst(lambda, phi) {\n areaStream.point = areaPoint;\n lambda00 = lambda, phi00 = phi;\n lambda *= radians, phi *= radians;\n lambda0 = lambda, cosPhi0 = cos(phi = phi / 2 + quarterPi), sinPhi0 = sin(phi);\n}\n\nfunction areaPoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n phi = phi / 2 + quarterPi; // half the angular distance from south pole\n\n // Spherical excess E for a spherical triangle with vertices: south pole,\n // previous point, current point. Uses a formula derived from Cagnoli’s\n // theorem. See Todhunter, Spherical Trig. (1871), Sec. 103, Eq. (2).\n var dLambda = lambda - lambda0,\n sdLambda = dLambda >= 0 ? 1 : -1,\n adLambda = sdLambda * dLambda,\n cosPhi = cos(phi),\n sinPhi = sin(phi),\n k = sinPhi0 * sinPhi,\n u = cosPhi0 * cosPhi + k * cos(adLambda),\n v = k * sdLambda * sin(adLambda);\n areaRingSum.add(atan2(v, u));\n\n // Advance the previous points.\n lambda0 = lambda, cosPhi0 = cosPhi, sinPhi0 = sinPhi;\n}\n\nexport default function(object) {\n areaSum.reset();\n stream(object, areaStream);\n return areaSum * 2;\n}\n","import adder from \"./adder\";\nimport {areaStream, areaRingSum} from \"./area\";\nimport {cartesian, cartesianCross, cartesianNormalizeInPlace, spherical} from \"./cartesian\";\nimport {abs, degrees, epsilon, radians} from \"./math\";\nimport stream from \"./stream\";\n\nvar lambda0, phi0, lambda1, phi1, // bounds\n lambda2, // previous lambda-coordinate\n lambda00, phi00, // first point\n p0, // previous 3D point\n deltaSum = adder(),\n ranges,\n range;\n\nvar boundsStream = {\n point: boundsPoint,\n lineStart: boundsLineStart,\n lineEnd: boundsLineEnd,\n polygonStart: function() {\n boundsStream.point = boundsRingPoint;\n boundsStream.lineStart = boundsRingStart;\n boundsStream.lineEnd = boundsRingEnd;\n deltaSum.reset();\n areaStream.polygonStart();\n },\n polygonEnd: function() {\n areaStream.polygonEnd();\n boundsStream.point = boundsPoint;\n boundsStream.lineStart = boundsLineStart;\n boundsStream.lineEnd = boundsLineEnd;\n if (areaRingSum < 0) lambda0 = -(lambda1 = 180), phi0 = -(phi1 = 90);\n else if (deltaSum > epsilon) phi1 = 90;\n else if (deltaSum < -epsilon) phi0 = -90;\n range[0] = lambda0, range[1] = lambda1;\n }\n};\n\nfunction boundsPoint(lambda, phi) {\n ranges.push(range = [lambda0 = lambda, lambda1 = lambda]);\n if (phi < phi0) phi0 = phi;\n if (phi > phi1) phi1 = phi;\n}\n\nfunction linePoint(lambda, phi) {\n var p = cartesian([lambda * radians, phi * radians]);\n if (p0) {\n var normal = cartesianCross(p0, p),\n equatorial = [normal[1], -normal[0], 0],\n inflection = cartesianCross(equatorial, normal);\n cartesianNormalizeInPlace(inflection);\n inflection = spherical(inflection);\n var delta = lambda - lambda2,\n sign = delta > 0 ? 1 : -1,\n lambdai = inflection[0] * degrees * sign,\n phii,\n antimeridian = abs(delta) > 180;\n if (antimeridian ^ (sign * lambda2 < lambdai && lambdai < sign * lambda)) {\n phii = inflection[1] * degrees;\n if (phii > phi1) phi1 = phii;\n } else if (lambdai = (lambdai + 360) % 360 - 180, antimeridian ^ (sign * lambda2 < lambdai && lambdai < sign * lambda)) {\n phii = -inflection[1] * degrees;\n if (phii < phi0) phi0 = phii;\n } else {\n if (phi < phi0) phi0 = phi;\n if (phi > phi1) phi1 = phi;\n }\n if (antimeridian) {\n if (lambda < lambda2) {\n if (angle(lambda0, lambda) > angle(lambda0, lambda1)) lambda1 = lambda;\n } else {\n if (angle(lambda, lambda1) > angle(lambda0, lambda1)) lambda0 = lambda;\n }\n } else {\n if (lambda1 >= lambda0) {\n if (lambda < lambda0) lambda0 = lambda;\n if (lambda > lambda1) lambda1 = lambda;\n } else {\n if (lambda > lambda2) {\n if (angle(lambda0, lambda) > angle(lambda0, lambda1)) lambda1 = lambda;\n } else {\n if (angle(lambda, lambda1) > angle(lambda0, lambda1)) lambda0 = lambda;\n }\n }\n }\n } else {\n ranges.push(range = [lambda0 = lambda, lambda1 = lambda]);\n }\n if (phi < phi0) phi0 = phi;\n if (phi > phi1) phi1 = phi;\n p0 = p, lambda2 = lambda;\n}\n\nfunction boundsLineStart() {\n boundsStream.point = linePoint;\n}\n\nfunction boundsLineEnd() {\n range[0] = lambda0, range[1] = lambda1;\n boundsStream.point = boundsPoint;\n p0 = null;\n}\n\nfunction boundsRingPoint(lambda, phi) {\n if (p0) {\n var delta = lambda - lambda2;\n deltaSum.add(abs(delta) > 180 ? delta + (delta > 0 ? 360 : -360) : delta);\n } else {\n lambda00 = lambda, phi00 = phi;\n }\n areaStream.point(lambda, phi);\n linePoint(lambda, phi);\n}\n\nfunction boundsRingStart() {\n areaStream.lineStart();\n}\n\nfunction boundsRingEnd() {\n boundsRingPoint(lambda00, phi00);\n areaStream.lineEnd();\n if (abs(deltaSum) > epsilon) lambda0 = -(lambda1 = 180);\n range[0] = lambda0, range[1] = lambda1;\n p0 = null;\n}\n\n// Finds the left-right distance between two longitudes.\n// This is almost the same as (lambda1 - lambda0 + 360°) % 360°, except that we want\n// the distance between ±180° to be 360°.\nfunction angle(lambda0, lambda1) {\n return (lambda1 -= lambda0) < 0 ? lambda1 + 360 : lambda1;\n}\n\nfunction rangeCompare(a, b) {\n return a[0] - b[0];\n}\n\nfunction rangeContains(range, x) {\n return range[0] <= range[1] ? range[0] <= x && x <= range[1] : x < range[0] || range[1] < x;\n}\n\nexport default function(feature) {\n var i, n, a, b, merged, deltaMax, delta;\n\n phi1 = lambda1 = -(lambda0 = phi0 = Infinity);\n ranges = [];\n stream(feature, boundsStream);\n\n // First, sort ranges by their minimum longitudes.\n if (n = ranges.length) {\n ranges.sort(rangeCompare);\n\n // Then, merge any ranges that overlap.\n for (i = 1, a = ranges[0], merged = [a]; i < n; ++i) {\n b = ranges[i];\n if (rangeContains(a, b[0]) || rangeContains(a, b[1])) {\n if (angle(a[0], b[1]) > angle(a[0], a[1])) a[1] = b[1];\n if (angle(b[0], a[1]) > angle(a[0], a[1])) a[0] = b[0];\n } else {\n merged.push(a = b);\n }\n }\n\n // Finally, find the largest gap between the merged ranges.\n // The final bounding box will be the inverse of this gap.\n for (deltaMax = -Infinity, n = merged.length - 1, i = 0, a = merged[n]; i <= n; a = b, ++i) {\n b = merged[i];\n if ((delta = angle(a[1], b[0])) > deltaMax) deltaMax = delta, lambda0 = b[0], lambda1 = a[1];\n }\n }\n\n ranges = range = null;\n\n return lambda0 === Infinity || phi0 === Infinity\n ? [[NaN, NaN], [NaN, NaN]]\n : [[lambda0, phi0], [lambda1, phi1]];\n}\n","import {asin, atan2, cos, sin, sqrt} from \"./math\";\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","import {asin, atan2, cos, degrees, epsilon, epsilon2, radians, sin, sqrt} from \"./math\";\nimport noop from \"./noop\";\nimport stream from \"./stream\";\n\nvar W0, W1,\n X0, Y0, Z0,\n X1, Y1, Z1,\n X2, Y2, Z2,\n lambda00, phi00, // first point\n x0, y0, z0; // previous point\n\nvar centroidStream = {\n sphere: noop,\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.lineStart = centroidLineStart;\n centroidStream.lineEnd = centroidLineEnd;\n }\n};\n\n// Arithmetic mean of Cartesian vectors.\nfunction centroidPoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n var cosPhi = cos(phi);\n centroidPointCartesian(cosPhi * cos(lambda), cosPhi * sin(lambda), sin(phi));\n}\n\nfunction centroidPointCartesian(x, y, z) {\n ++W0;\n X0 += (x - X0) / W0;\n Y0 += (y - Y0) / W0;\n Z0 += (z - Z0) / W0;\n}\n\nfunction centroidLineStart() {\n centroidStream.point = centroidLinePointFirst;\n}\n\nfunction centroidLinePointFirst(lambda, phi) {\n lambda *= radians, phi *= radians;\n var cosPhi = cos(phi);\n x0 = cosPhi * cos(lambda);\n y0 = cosPhi * sin(lambda);\n z0 = sin(phi);\n centroidStream.point = centroidLinePoint;\n centroidPointCartesian(x0, y0, z0);\n}\n\nfunction centroidLinePoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n var cosPhi = cos(phi),\n x = cosPhi * cos(lambda),\n y = cosPhi * sin(lambda),\n z = sin(phi),\n w = atan2(sqrt((w = y0 * z - z0 * y) * w + (w = z0 * x - x0 * z) * w + (w = x0 * y - y0 * x) * w), x0 * x + y0 * y + z0 * z);\n W1 += w;\n X1 += w * (x0 + (x0 = x));\n Y1 += w * (y0 + (y0 = y));\n Z1 += w * (z0 + (z0 = z));\n centroidPointCartesian(x0, y0, z0);\n}\n\nfunction centroidLineEnd() {\n centroidStream.point = centroidPoint;\n}\n\n// See J. E. Brock, The Inertia Tensor for a Spherical Triangle,\n// J. Applied Mechanics 42, 239 (1975).\nfunction centroidRingStart() {\n centroidStream.point = centroidRingPointFirst;\n}\n\nfunction centroidRingEnd() {\n centroidRingPoint(lambda00, phi00);\n centroidStream.point = centroidPoint;\n}\n\nfunction centroidRingPointFirst(lambda, phi) {\n lambda00 = lambda, phi00 = phi;\n lambda *= radians, phi *= radians;\n centroidStream.point = centroidRingPoint;\n var cosPhi = cos(phi);\n x0 = cosPhi * cos(lambda);\n y0 = cosPhi * sin(lambda);\n z0 = sin(phi);\n centroidPointCartesian(x0, y0, z0);\n}\n\nfunction centroidRingPoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n var cosPhi = cos(phi),\n x = cosPhi * cos(lambda),\n y = cosPhi * sin(lambda),\n z = sin(phi),\n cx = y0 * z - z0 * y,\n cy = z0 * x - x0 * z,\n cz = x0 * y - y0 * x,\n m = sqrt(cx * cx + cy * cy + cz * cz),\n w = asin(m), // line weight = angle\n v = m && -w / m; // area weight multiplier\n X2 += v * cx;\n Y2 += v * cy;\n Z2 += v * cz;\n W1 += w;\n X1 += w * (x0 + (x0 = x));\n Y1 += w * (y0 + (y0 = y));\n Z1 += w * (z0 + (z0 = z));\n centroidPointCartesian(x0, y0, z0);\n}\n\nexport default function(object) {\n W0 = W1 =\n X0 = Y0 = Z0 =\n X1 = Y1 = Z1 =\n X2 = Y2 = Z2 = 0;\n stream(object, centroidStream);\n\n var x = X2,\n y = Y2,\n z = Z2,\n m = x * x + y * y + z * z;\n\n // If the area-weighted ccentroid is undefined, fall back to length-weighted ccentroid.\n if (m < epsilon2) {\n x = X1, y = Y1, z = Z1;\n // If the feature has zero length, fall back to arithmetic mean of point vectors.\n if (W1 < epsilon) x = X0, y = Y0, z = Z0;\n m = x * x + y * y + z * z;\n // If the feature still has an undefined ccentroid, then return.\n if (m < epsilon2) return [NaN, NaN];\n }\n\n return [atan2(y, x) * degrees, asin(z / sqrt(m)) * degrees];\n}\n","import {cartesian, cartesianNormalizeInPlace, spherical} from \"./cartesian\";\nimport constant from \"./constant\";\nimport {acos, cos, degrees, epsilon, radians, sin, tau} from \"./math\";\nimport {rotateRadians} from \"./rotation\";\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 clip from \"./index\";\nimport {abs, atan, cos, epsilon, halfPi, pi, sin} from \"../math\";\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 noop from \"../noop\";\n\nexport default function() {\n var lines = [],\n line;\n return {\n point: function(x, y) {\n line.push([x, y]);\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 {cartesian, cartesianAddInPlace, cartesianCross, cartesianDot, cartesianScale, spherical} from \"../cartesian\";\nimport {circleStream} from \"../circle\";\nimport {abs, cos, epsilon, pi, radians, sqrt} from \"../math\";\nimport pointEqual from \"../pointEqual\";\nimport clip from \"./index\";\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 // Handle degeneracies.\n // TODO ignore if not clipping polygons.\n if (v !== v0) {\n point2 = intersect(point0, point1);\n if (!point2 || pointEqual(point0, point2) || pointEqual(point1, point2)) {\n point1[0] += epsilon;\n point1[1] += epsilon;\n v = visible(point1[0], point1[1]);\n }\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]);\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]);\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","import clipRectangle from \"./rectangle\";\n\nexport default function() {\n var x0 = 0,\n y0 = 0,\n x1 = 960,\n y1 = 500,\n cache,\n cacheStream,\n clip;\n\n return clip = {\n stream: function(stream) {\n return cache && cacheStream === stream ? cache : cache = clipRectangle(x0, y0, x1, y1)(cacheStream = stream);\n },\n extent: function(_) {\n return arguments.length ? (x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1], cache = cacheStream = null, clip) : [[x0, y0], [x1, y1]];\n }\n };\n}\n","import clipBuffer from \"./buffer\";\nimport clipRejoin from \"./rejoin\";\nimport {epsilon, halfPi} from \"../math\";\nimport polygonContains from \"../polygonContains\";\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","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\";\nimport clipBuffer from \"./buffer\";\nimport clipLine from \"./line\";\nimport clipRejoin from \"./rejoin\";\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","import pointEqual from \"../pointEqual\";\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 the first and last points of a segment are coincident, then treat as a\n // closed ring. TODO if all rings are closed, then the winding order of the\n // exterior ring should be checked.\n if (pointEqual(p0, p1)) {\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\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","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","export default function(x) {\n return function() {\n return x;\n };\n}\n","import {default as polygonContains} from \"./polygonContains\";\nimport {default as distance} from \"./distance\";\nimport {epsilon, radians} from \"./math\";\n\nvar containsObjectType = {\n Feature: function(object, point) {\n return containsGeometry(object.geometry, point);\n },\n FeatureCollection: function(object, point) {\n var features = object.features, i = -1, n = features.length;\n while (++i < n) if (containsGeometry(features[i].geometry, point)) return true;\n return false;\n }\n};\n\nvar containsGeometryType = {\n Sphere: function() {\n return true;\n },\n Point: function(object, point) {\n return containsPoint(object.coordinates, point);\n },\n MultiPoint: function(object, point) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) if (containsPoint(coordinates[i], point)) return true;\n return false;\n },\n LineString: function(object, point) {\n return containsLine(object.coordinates, point);\n },\n MultiLineString: function(object, point) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) if (containsLine(coordinates[i], point)) return true;\n return false;\n },\n Polygon: function(object, point) {\n return containsPolygon(object.coordinates, point);\n },\n MultiPolygon: function(object, point) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) if (containsPolygon(coordinates[i], point)) return true;\n return false;\n },\n GeometryCollection: function(object, point) {\n var geometries = object.geometries, i = -1, n = geometries.length;\n while (++i < n) if (containsGeometry(geometries[i], point)) return true;\n return false;\n }\n};\n\nfunction containsGeometry(geometry, point) {\n return geometry && containsGeometryType.hasOwnProperty(geometry.type)\n ? containsGeometryType[geometry.type](geometry, point)\n : false;\n}\n\nfunction containsPoint(coordinates, point) {\n return distance(coordinates, point) === 0;\n}\n\nfunction containsLine(coordinates, point) {\n var ab = distance(coordinates[0], coordinates[1]),\n ao = distance(coordinates[0], point),\n ob = distance(point, coordinates[1]);\n return ao + ob <= ab + epsilon;\n}\n\nfunction containsPolygon(coordinates, point) {\n return !!polygonContains(coordinates.map(ringRadians), pointRadians(point));\n}\n\nfunction ringRadians(ring) {\n return ring = ring.map(pointRadians), ring.pop(), ring;\n}\n\nfunction pointRadians(point) {\n return [point[0] * radians, point[1] * radians];\n}\n\nexport default function(object, point) {\n return (object && containsObjectType.hasOwnProperty(object.type)\n ? containsObjectType[object.type]\n : containsGeometry)(object, point);\n}\n","import length from \"./length\";\n\nvar coordinates = [null, null],\n object = {type: \"LineString\", coordinates: coordinates};\n\nexport default function(a, b) {\n coordinates[0] = a;\n coordinates[1] = b;\n return length(object);\n}\n","import {range} from \"d3-array\";\nimport {abs, ceil, epsilon} from \"./math\";\n\nfunction graticuleX(y0, y1, dy) {\n var y = range(y0, y1 - epsilon, dy).concat(y1);\n return function(x) { return y.map(function(y) { return [x, y]; }); };\n}\n\nfunction graticuleY(x0, x1, dx) {\n var x = range(x0, x1 - epsilon, dx).concat(x1);\n return function(y) { return x.map(function(x) { return [x, y]; }); };\n}\n\nexport default function graticule() {\n var x1, x0, X1, X0,\n y1, y0, Y1, Y0,\n dx = 10, dy = dx, DX = 90, DY = 360,\n x, y, X, Y,\n precision = 2.5;\n\n function graticule() {\n return {type: \"MultiLineString\", coordinates: lines()};\n }\n\n function lines() {\n return range(ceil(X0 / DX) * DX, X1, DX).map(X)\n .concat(range(ceil(Y0 / DY) * DY, Y1, DY).map(Y))\n .concat(range(ceil(x0 / dx) * dx, x1, dx).filter(function(x) { return abs(x % DX) > epsilon; }).map(x))\n .concat(range(ceil(y0 / dy) * dy, y1, dy).filter(function(y) { return abs(y % DY) > epsilon; }).map(y));\n }\n\n graticule.lines = function() {\n return lines().map(function(coordinates) { return {type: \"LineString\", coordinates: coordinates}; });\n };\n\n graticule.outline = function() {\n return {\n type: \"Polygon\",\n coordinates: [\n X(X0).concat(\n Y(Y1).slice(1),\n X(X1).reverse().slice(1),\n Y(Y0).reverse().slice(1))\n ]\n };\n };\n\n graticule.extent = function(_) {\n if (!arguments.length) return graticule.extentMinor();\n return graticule.extentMajor(_).extentMinor(_);\n };\n\n graticule.extentMajor = function(_) {\n if (!arguments.length) return [[X0, Y0], [X1, Y1]];\n X0 = +_[0][0], X1 = +_[1][0];\n Y0 = +_[0][1], Y1 = +_[1][1];\n if (X0 > X1) _ = X0, X0 = X1, X1 = _;\n if (Y0 > Y1) _ = Y0, Y0 = Y1, Y1 = _;\n return graticule.precision(precision);\n };\n\n graticule.extentMinor = function(_) {\n if (!arguments.length) return [[x0, y0], [x1, y1]];\n x0 = +_[0][0], x1 = +_[1][0];\n y0 = +_[0][1], y1 = +_[1][1];\n if (x0 > x1) _ = x0, x0 = x1, x1 = _;\n if (y0 > y1) _ = y0, y0 = y1, y1 = _;\n return graticule.precision(precision);\n };\n\n graticule.step = function(_) {\n if (!arguments.length) return graticule.stepMinor();\n return graticule.stepMajor(_).stepMinor(_);\n };\n\n graticule.stepMajor = function(_) {\n if (!arguments.length) return [DX, DY];\n DX = +_[0], DY = +_[1];\n return graticule;\n };\n\n graticule.stepMinor = function(_) {\n if (!arguments.length) return [dx, dy];\n dx = +_[0], dy = +_[1];\n return graticule;\n };\n\n graticule.precision = function(_) {\n if (!arguments.length) return precision;\n precision = +_;\n x = graticuleX(y0, y1, 90);\n y = graticuleY(x0, x1, precision);\n X = graticuleX(Y0, Y1, 90);\n Y = graticuleY(X0, X1, precision);\n return graticule;\n };\n\n return graticule\n .extentMajor([[-180, -90 + epsilon], [180, 90 - epsilon]])\n .extentMinor([[-180, -80 - epsilon], [180, 80 + epsilon]]);\n}\n\nexport function graticule10() {\n return graticule()();\n}\n","export default function(x) {\n return x;\n}\n","export {default as geoArea} from \"./area\";\nexport {default as geoBounds} from \"./bounds\";\nexport {default as geoCentroid} from \"./centroid\";\nexport {default as geoCircle} from \"./circle\";\nexport {default as geoClipAntimeridian} from \"./clip/antimeridian\";\nexport {default as geoClipCircle} from \"./clip/circle\";\nexport {default as geoClipExtent} from \"./clip/extent\"; // DEPRECATED! Use d3.geoIdentity().clipExtent(…).\nexport {default as geoClipRectangle} from \"./clip/rectangle\";\nexport {default as geoContains} from \"./contains\";\nexport {default as geoDistance} from \"./distance\";\nexport {default as geoGraticule, graticule10 as geoGraticule10} from \"./graticule\";\nexport {default as geoInterpolate} from \"./interpolate\";\nexport {default as geoLength} from \"./length\";\nexport {default as geoPath} from \"./path/index\";\nexport {default as geoAlbers} from \"./projection/albers\";\nexport {default as geoAlbersUsa} from \"./projection/albersUsa\";\nexport {default as geoAzimuthalEqualArea, azimuthalEqualAreaRaw as geoAzimuthalEqualAreaRaw} from \"./projection/azimuthalEqualArea\";\nexport {default as geoAzimuthalEquidistant, azimuthalEquidistantRaw as geoAzimuthalEquidistantRaw} from \"./projection/azimuthalEquidistant\";\nexport {default as geoConicConformal, conicConformalRaw as geoConicConformalRaw} from \"./projection/conicConformal\";\nexport {default as geoConicEqualArea, conicEqualAreaRaw as geoConicEqualAreaRaw} from \"./projection/conicEqualArea\";\nexport {default as geoConicEquidistant, conicEquidistantRaw as geoConicEquidistantRaw} from \"./projection/conicEquidistant\";\nexport {default as geoEqualEarth, equalEarthRaw as geoEqualEarthRaw} from \"./projection/equalEarth\";\nexport {default as geoEquirectangular, equirectangularRaw as geoEquirectangularRaw} from \"./projection/equirectangular\";\nexport {default as geoGnomonic, gnomonicRaw as geoGnomonicRaw} from \"./projection/gnomonic\";\nexport {default as geoIdentity} from \"./projection/identity\";\nexport {default as geoProjection, projectionMutator as geoProjectionMutator} from \"./projection/index\";\nexport {default as geoMercator, mercatorRaw as geoMercatorRaw} from \"./projection/mercator\";\nexport {default as geoNaturalEarth1, naturalEarth1Raw as geoNaturalEarth1Raw} from \"./projection/naturalEarth1\";\nexport {default as geoOrthographic, orthographicRaw as geoOrthographicRaw} from \"./projection/orthographic\";\nexport {default as geoStereographic, stereographicRaw as geoStereographicRaw} from \"./projection/stereographic\";\nexport {default as geoTransverseMercator, transverseMercatorRaw as geoTransverseMercatorRaw} from \"./projection/transverseMercator\";\nexport {default as geoRotation} from \"./rotation\";\nexport {default as geoStream} from \"./stream\";\nexport {default as geoTransform} from \"./transform\";\n","import {asin, atan2, cos, degrees, haversin, radians, sin, sqrt} from \"./math\";\n\nexport default function(a, b) {\n var x0 = a[0] * radians,\n y0 = a[1] * radians,\n x1 = b[0] * radians,\n y1 = b[1] * radians,\n cy0 = cos(y0),\n sy0 = sin(y0),\n cy1 = cos(y1),\n sy1 = sin(y1),\n kx0 = cy0 * cos(x0),\n ky0 = cy0 * sin(x0),\n kx1 = cy1 * cos(x1),\n ky1 = cy1 * sin(x1),\n d = 2 * asin(sqrt(haversin(y1 - y0) + cy0 * cy1 * haversin(x1 - x0))),\n k = sin(d);\n\n var interpolate = d ? function(t) {\n var B = sin(t *= d) / k,\n A = sin(d - t) / k,\n x = A * kx0 + B * kx1,\n y = A * ky0 + B * ky1,\n z = A * sy0 + B * sy1;\n return [\n atan2(y, x) * degrees,\n atan2(z, sqrt(x * x + y * y)) * degrees\n ];\n } : function() {\n return [x0 * degrees, y0 * degrees];\n };\n\n interpolate.distance = d;\n\n return interpolate;\n}\n","import adder from \"./adder\";\nimport {abs, atan2, cos, radians, sin, sqrt} from \"./math\";\nimport noop from \"./noop\";\nimport stream from \"./stream\";\n\nvar lengthSum = adder(),\n lambda0,\n sinPhi0,\n cosPhi0;\n\nvar lengthStream = {\n sphere: noop,\n point: noop,\n lineStart: lengthLineStart,\n lineEnd: noop,\n polygonStart: noop,\n polygonEnd: noop\n};\n\nfunction lengthLineStart() {\n lengthStream.point = lengthPointFirst;\n lengthStream.lineEnd = lengthLineEnd;\n}\n\nfunction lengthLineEnd() {\n lengthStream.point = lengthStream.lineEnd = noop;\n}\n\nfunction lengthPointFirst(lambda, phi) {\n lambda *= radians, phi *= radians;\n lambda0 = lambda, sinPhi0 = sin(phi), cosPhi0 = cos(phi);\n lengthStream.point = lengthPoint;\n}\n\nfunction lengthPoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n var sinPhi = sin(phi),\n cosPhi = cos(phi),\n delta = abs(lambda - lambda0),\n cosDelta = cos(delta),\n sinDelta = sin(delta),\n x = cosPhi * sinDelta,\n y = cosPhi0 * sinPhi - sinPhi0 * cosPhi * cosDelta,\n z = sinPhi0 * sinPhi + cosPhi0 * cosPhi * cosDelta;\n lengthSum.add(atan2(sqrt(x * x + y * y), z));\n lambda0 = lambda, sinPhi0 = sinPhi, cosPhi0 = cosPhi;\n}\n\nexport default function(object) {\n lengthSum.reset();\n stream(object, lengthStream);\n return +lengthSum;\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 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","import adder from \"../adder\";\nimport {abs} from \"../math\";\nimport noop from \"../noop\";\n\nvar areaSum = adder(),\n areaRingSum = 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.reset();\n },\n result: function() {\n var area = areaSum / 2;\n areaSum.reset();\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\";\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\";\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\";\nimport noop from \"../noop\";\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 identity from \"../identity\";\nimport stream from \"../stream\";\nimport pathArea from \"./area\";\nimport pathBounds from \"./bounds\";\nimport pathCentroid from \"./centroid\";\nimport PathContext from \"./context\";\nimport pathMeasure from \"./measure\";\nimport PathString from \"./string\";\n\nexport default function(projection, context) {\n var 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 return arguments.length ? (projectionStream = _ == null ? (projection = null, identity) : (projection = _).stream, path) : projection;\n };\n\n path.context = function(_) {\n if (!arguments.length) return context;\n contextStream = _ == null ? (context = null, new PathString) : 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 return path.projection(projection).context(context);\n}\n","import adder from \"../adder\";\nimport {sqrt} from \"../math\";\nimport noop from \"../noop\";\n\nvar lengthSum = 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.reset();\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","export default function PathString() {\n this._string = [];\n}\n\nPathString.prototype = {\n _radius: 4.5,\n _circle: circle(4.5),\n pointRadius: function(_) {\n if ((_ = +_) !== this._radius) this._radius = _, this._circle = null;\n return 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._string.push(\"Z\");\n this._point = NaN;\n },\n point: function(x, y) {\n switch (this._point) {\n case 0: {\n this._string.push(\"M\", x, \",\", y);\n this._point = 1;\n break;\n }\n case 1: {\n this._string.push(\"L\", x, \",\", y);\n break;\n }\n default: {\n if (this._circle == null) this._circle = circle(this._radius);\n this._string.push(\"M\", x, \",\", y, this._circle);\n break;\n }\n }\n },\n result: function() {\n if (this._string.length) {\n var result = this._string.join(\"\");\n this._string = [];\n return result;\n } else {\n return null;\n }\n }\n};\n\nfunction circle(radius) {\n return \"m0,\" + radius\n + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + -2 * radius\n + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + 2 * radius\n + \"z\";\n}\n","import {abs, epsilon} from \"./math\";\n\nexport default function(a, b) {\n return abs(a[0] - b[0]) < epsilon && abs(a[1] - b[1]) < epsilon;\n}\n","import adder from \"./adder\";\nimport {cartesian, cartesianCross, cartesianNormalizeInPlace} from \"./cartesian\";\nimport {asin, atan2, cos, epsilon, halfPi, pi, quarterPi, sin, tau} from \"./math\";\n\nvar sum = adder();\n\nexport default function(polygon, point) {\n var lambda = point[0],\n phi = point[1],\n sinPhi = sin(phi),\n normal = [sin(lambda), -cos(lambda), 0],\n angle = 0,\n winding = 0;\n\n sum.reset();\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 = point0[0],\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 = point1[0],\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 < -epsilon) ^ (winding & 1);\n}\n","import conicEqualArea from \"./conicEqualArea\";\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 {epsilon} from \"../math\";\nimport albers from \"./albers\";\nimport conicEqualArea from \"./conicEqualArea\";\nimport {fitExtent, fitSize, fitWidth, fitHeight} from \"./fit\";\n\n// The projections must have mutually exclusive clip regions on the sphere,\n// as this will avoid emitting interleaving lines and polygons.\nfunction multiplex(streams) {\n var n = streams.length;\n return {\n point: function(x, y) { var i = -1; while (++i < n) streams[i].point(x, y); },\n sphere: function() { var i = -1; while (++i < n) streams[i].sphere(); },\n lineStart: function() { var i = -1; while (++i < n) streams[i].lineStart(); },\n lineEnd: function() { var i = -1; while (++i < n) streams[i].lineEnd(); },\n polygonStart: function() { var i = -1; while (++i < n) streams[i].polygonStart(); },\n polygonEnd: function() { var i = -1; while (++i < n) streams[i].polygonEnd(); }\n };\n}\n\n// A composite projection for the United States, configured by default for\n// 960×500. The projection also works quite well at 960×600 if you change the\n// scale to 1285 and adjust the translate accordingly. The set of standard\n// parallels for each region comes from USGS, which is published here:\n// http://egsc.usgs.gov/isb/pubs/MapProjections/projections.html#albers\nexport default function() {\n var cache,\n cacheStream,\n lower48 = albers(), lower48Point,\n alaska = conicEqualArea().rotate([154, 0]).center([-2, 58.5]).parallels([55, 65]), alaskaPoint, // EPSG:3338\n hawaii = conicEqualArea().rotate([157, 0]).center([-3, 19.9]).parallels([8, 18]), hawaiiPoint, // ESRI:102007\n point, pointStream = {point: function(x, y) { point = [x, y]; }};\n\n function albersUsa(coordinates) {\n var x = coordinates[0], y = coordinates[1];\n return point = null,\n (lower48Point.point(x, y), point)\n || (alaskaPoint.point(x, y), point)\n || (hawaiiPoint.point(x, y), point);\n }\n\n albersUsa.invert = function(coordinates) {\n var k = lower48.scale(),\n t = lower48.translate(),\n x = (coordinates[0] - t[0]) / k,\n y = (coordinates[1] - t[1]) / k;\n return (y >= 0.120 && y < 0.234 && x >= -0.425 && x < -0.214 ? alaska\n : y >= 0.166 && y < 0.234 && x >= -0.214 && x < -0.115 ? hawaii\n : lower48).invert(coordinates);\n };\n\n albersUsa.stream = function(stream) {\n return cache && cacheStream === stream ? cache : cache = multiplex([lower48.stream(cacheStream = stream), alaska.stream(stream), hawaii.stream(stream)]);\n };\n\n albersUsa.precision = function(_) {\n if (!arguments.length) return lower48.precision();\n lower48.precision(_), alaska.precision(_), hawaii.precision(_);\n return reset();\n };\n\n albersUsa.scale = function(_) {\n if (!arguments.length) return lower48.scale();\n lower48.scale(_), alaska.scale(_ * 0.35), hawaii.scale(_);\n return albersUsa.translate(lower48.translate());\n };\n\n albersUsa.translate = function(_) {\n if (!arguments.length) return lower48.translate();\n var k = lower48.scale(), x = +_[0], y = +_[1];\n\n lower48Point = lower48\n .translate(_)\n .clipExtent([[x - 0.455 * k, y - 0.238 * k], [x + 0.455 * k, y + 0.238 * k]])\n .stream(pointStream);\n\n alaskaPoint = alaska\n .translate([x - 0.307 * k, y + 0.201 * k])\n .clipExtent([[x - 0.425 * k + epsilon, y + 0.120 * k + epsilon], [x - 0.214 * k - epsilon, y + 0.234 * k - epsilon]])\n .stream(pointStream);\n\n hawaiiPoint = hawaii\n .translate([x - 0.205 * k, y + 0.212 * k])\n .clipExtent([[x - 0.214 * k + epsilon, y + 0.166 * k + epsilon], [x - 0.115 * k - epsilon, y + 0.234 * k - epsilon]])\n .stream(pointStream);\n\n return reset();\n };\n\n albersUsa.fitExtent = function(extent, object) {\n return fitExtent(albersUsa, extent, object);\n };\n\n albersUsa.fitSize = function(size, object) {\n return fitSize(albersUsa, size, object);\n };\n\n albersUsa.fitWidth = function(width, object) {\n return fitWidth(albersUsa, width, object);\n };\n\n albersUsa.fitHeight = function(height, object) {\n return fitHeight(albersUsa, height, object);\n };\n\n function reset() {\n cache = cacheStream = null;\n return albersUsa;\n }\n\n return albersUsa.scale(1070);\n}\n","import {asin, atan2, cos, sin, sqrt} from \"../math\";\n\nexport function azimuthalRaw(scale) {\n return function(x, y) {\n var cx = cos(x),\n cy = cos(y),\n k = scale(cx * cy);\n return [\n k * cy * sin(x),\n k * sin(y)\n ];\n }\n}\n\nexport function azimuthalInvert(angle) {\n return function(x, y) {\n var z = sqrt(x * x + y * y),\n c = angle(z),\n sc = sin(c),\n cc = cos(c);\n return [\n atan2(x * sc, z * cc),\n asin(z && y * sc / z)\n ];\n }\n}\n","import {asin, sqrt} from \"../math\";\nimport {azimuthalRaw, azimuthalInvert} from \"./azimuthal\";\nimport projection from \"./index\";\n\nexport var azimuthalEqualAreaRaw = azimuthalRaw(function(cxcy) {\n return sqrt(2 / (1 + cxcy));\n});\n\nazimuthalEqualAreaRaw.invert = azimuthalInvert(function(z) {\n return 2 * asin(z / 2);\n});\n\nexport default function() {\n return projection(azimuthalEqualAreaRaw)\n .scale(124.75)\n .clipAngle(180 - 1e-3);\n}\n","import {acos, sin} from \"../math\";\nimport {azimuthalRaw, azimuthalInvert} from \"./azimuthal\";\nimport projection from \"./index\";\n\nexport var azimuthalEquidistantRaw = azimuthalRaw(function(c) {\n return (c = acos(c)) && c / sin(c);\n});\n\nazimuthalEquidistantRaw.invert = azimuthalInvert(function(z) {\n return z;\n});\n\nexport default function() {\n return projection(azimuthalEquidistantRaw)\n .scale(79.4188)\n .clipAngle(180 - 1e-3);\n}\n","import {degrees, pi, radians} from \"../math\";\nimport {projectionMutator} from \"./index\";\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 {abs, atan, atan2, cos, epsilon, halfPi, log, pow, sign, sin, sqrt, tan} from \"../math\";\nimport {conicProjection} from \"./conic\";\nimport {mercatorRaw} from \"./mercator\";\n\nfunction tany(y) {\n return tan((halfPi + y) / 2);\n}\n\nexport function conicConformalRaw(y0, y1) {\n var cy0 = cos(y0),\n n = y0 === y1 ? sin(y0) : log(cy0 / cos(y1)) / log(tany(y1) / tany(y0)),\n f = cy0 * pow(tany(y0), n) / n;\n\n if (!n) return mercatorRaw;\n\n function project(x, y) {\n if (f > 0) { if (y < -halfPi + epsilon) y = -halfPi + epsilon; }\n else { if (y > halfPi - epsilon) y = halfPi - epsilon; }\n var r = f / pow(tany(y), n);\n return [r * sin(n * x), f - r * cos(n * x)];\n }\n\n project.invert = function(x, y) {\n var fy = f - y, r = sign(n) * sqrt(x * x + fy * fy);\n return [atan2(x, abs(fy)) / n * sign(fy), 2 * atan(pow(f / r, 1 / n)) - halfPi];\n };\n\n return project;\n}\n\nexport default function() {\n return conicProjection(conicConformalRaw)\n .scale(109.5)\n .parallels([30, 30]);\n}\n","import {abs, asin, atan2, cos, epsilon, sign, sin, sqrt} from \"../math\";\nimport {conicProjection} from \"./conic\";\nimport {cylindricalEqualAreaRaw} from \"./cylindricalEqualArea\";\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 return [atan2(x, abs(r0y)) / n * sign(r0y), 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 {abs, atan2, cos, epsilon, sign, sin, sqrt} from \"../math\";\nimport {conicProjection} from \"./conic\";\nimport {equirectangularRaw} from \"./equirectangular\";\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 return [atan2(x, abs(gy)) / n * sign(gy), 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 {asin, cos, sin} from \"../math\";\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 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\";\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 {default as geoStream} from \"../stream\";\nimport boundsStream from \"../path/bounds\";\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 {atan, cos, sin} from \"../math\";\nimport {azimuthalInvert} from \"./azimuthal\";\nimport projection from \"./index\";\n\nexport function gnomonicRaw(x, y) {\n var cy = cos(y), k = cos(x) * cy;\n return [cy * sin(x) / k, sin(y) / k];\n}\n\ngnomonicRaw.invert = azimuthalInvert(atan);\n\nexport default function() {\n return projection(gnomonicRaw)\n .scale(144.049)\n .clipAngle(60);\n}\n","import clipRectangle from \"../clip/rectangle\";\nimport identity from \"../identity\";\nimport {transformer} from \"../transform\";\nimport {fitExtent, fitSize, fitWidth, fitHeight} from \"./fit\";\n\nfunction scaleTranslate(kx, ky, tx, ty) {\n return kx === 1 && ky === 1 && tx === 0 && ty === 0 ? identity : transformer({\n point: function(x, y) {\n this.stream.point(x * kx + tx, y * ky + ty);\n }\n });\n}\n\nexport default function() {\n var k = 1, tx = 0, ty = 0, sx = 1, sy = 1, transform = identity, // scale, translate and reflect\n x0 = null, y0, x1, y1, // clip extent\n postclip = identity,\n cache,\n cacheStream,\n projection;\n\n function reset() {\n cache = cacheStream = null;\n return projection;\n }\n\n return projection = {\n stream: function(stream) {\n return cache && cacheStream === stream ? cache : cache = transform(postclip(cacheStream = stream));\n },\n postclip: function(_) {\n return arguments.length ? (postclip = _, x0 = y0 = x1 = y1 = null, reset()) : postclip;\n },\n 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 scale: function(_) {\n return arguments.length ? (transform = scaleTranslate((k = +_) * sx, k * sy, tx, ty), reset()) : k;\n },\n translate: function(_) {\n return arguments.length ? (transform = scaleTranslate(k * sx, k * sy, tx = +_[0], ty = +_[1]), reset()) : [tx, ty];\n },\n reflectX: function(_) {\n return arguments.length ? (transform = scaleTranslate(k * (sx = _ ? -1 : 1), k * sy, tx, ty), reset()) : sx < 0;\n },\n reflectY: function(_) {\n return arguments.length ? (transform = scaleTranslate(k * sx, k * (sy = _ ? -1 : 1), tx, ty), reset()) : sy < 0;\n },\n fitExtent: function(extent, object) {\n return fitExtent(projection, extent, object);\n },\n fitSize: function(size, object) {\n return fitSize(projection, size, object);\n },\n fitWidth: function(width, object) {\n return fitWidth(projection, width, object);\n },\n fitHeight: function(height, object) {\n return fitHeight(projection, height, object);\n }\n };\n}\n","import clipAntimeridian from \"../clip/antimeridian\";\nimport clipCircle from \"../clip/circle\";\nimport clipRectangle from \"../clip/rectangle\";\nimport compose from \"../compose\";\nimport identity from \"../identity\";\nimport {cos, degrees, radians, sin, sqrt} from \"../math\";\nimport {rotateRadians} from \"../rotation\";\nimport {transformer} from \"../transform\";\nimport {fitExtent, fitSize, fitWidth, fitHeight} from \"./fit\";\nimport resample from \"./resample\";\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) {\n function transform(x, y) {\n return [dx + k * x, dy - k * y];\n }\n transform.invert = function(x, y) {\n return [(x - dx) / k, (dy - y) / k];\n };\n return transform;\n}\n\nfunction scaleTranslateRotate(k, dx, dy, alpha) {\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 return [a * x - b * y + dx, dy - b * x - a * y];\n }\n transform.invert = function(x, y) {\n return [ai * x - bi * y + ci, 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\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.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, alpha).apply(null, project(lambda, phi)),\n transform = (alpha ? scaleTranslateRotate : scaleTranslate)(k, x - center[0], y - center[1], 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 {atan, exp, halfPi, log, pi, tan, tau} from \"../math\";\nimport rotation from \"../rotation\";\nimport projection from \"./index\";\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\";\nimport {abs, epsilon} from \"../math\";\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","import {asin, cos, epsilon, sin} from \"../math\";\nimport {azimuthalInvert} from \"./azimuthal\";\nimport projection from \"./index\";\n\nexport function orthographicRaw(x, y) {\n return [cos(y) * sin(x), sin(y)];\n}\n\northographicRaw.invert = azimuthalInvert(asin);\n\nexport default function() {\n return projection(orthographicRaw)\n .scale(249.5)\n .clipAngle(90 + epsilon);\n}\n","import {cartesian} from \"../cartesian\";\nimport {abs, asin, atan2, cos, epsilon, radians, sqrt} from \"../math\";\nimport {transformer} from \"../transform\";\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 {atan, cos, sin} from \"../math\";\nimport {azimuthalInvert} from \"./azimuthal\";\nimport projection from \"./index\";\n\nexport function stereographicRaw(x, y) {\n var cy = cos(y), k = 1 + cos(x) * cy;\n return [cy * sin(x) / k, sin(y) / k];\n}\n\nstereographicRaw.invert = azimuthalInvert(function(z) {\n return 2 * atan(z);\n});\n\nexport default function() {\n return projection(stereographicRaw)\n .scale(250)\n .clipAngle(142);\n}\n","import {atan, exp, halfPi, log, tan} from \"../math\";\nimport {mercatorProjection} from \"./mercator\";\n\nexport function transverseMercatorRaw(lambda, phi) {\n return [log(tan((halfPi + phi) / 2)), -lambda];\n}\n\ntransverseMercatorRaw.invert = function(x, y) {\n return [-y, 2 * atan(exp(x)) - halfPi];\n};\n\nexport default function() {\n var m = mercatorProjection(transverseMercatorRaw),\n center = m.center,\n rotate = m.rotate;\n\n m.center = function(_) {\n return arguments.length ? center([-_[1], _[0]]) : (_ = center(), [_[1], -_[0]]);\n };\n\n m.rotate = function(_) {\n return arguments.length ? rotate([_[0], _[1], _.length > 2 ? _[2] + 90 : 90]) : (_ = rotate(), [_[0], _[1], _[2] - 90]);\n };\n\n return rotate([0, 0, 90])\n .scale(159.155);\n}\n","import compose from \"./compose\";\nimport {asin, atan2, cos, degrees, pi, radians, sin, tau} from \"./math\";\n\nfunction rotationIdentity(lambda, phi) {\n return [lambda > pi ? lambda - tau : lambda < -pi ? lambda + tau : 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 return lambda += deltaLambda, [lambda > pi ? lambda - tau : lambda < -pi ? lambda + tau : 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","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","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","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 var slice = Array.prototype.slice;\n\nexport function shuffle(array) {\n var m = array.length,\n t,\n i;\n\n while (m) {\n i = Math.random() * m-- | 0;\n t = array[m];\n array[m] = array[i];\n array[i] = t;\n }\n\n return array;\n}\n","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","export function constantZero() {\n return 0;\n}\n\nexport default function(x) {\n return function() {\n return x;\n };\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","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() {\n var nodes = [];\n this.each(function(node) {\n nodes.push(node);\n });\n return nodes;\n}\n","export default function(callback) {\n var node = this, current, next = [node], children, i, n;\n do {\n current = next.reverse(), next = [];\n while (node = current.pop()) {\n callback(node), children = node.children;\n if (children) for (i = 0, n = children.length; i < n; ++i) {\n next.push(children[i]);\n }\n }\n } while (next.length);\n return this;\n}\n","export default function(callback) {\n var node = this, nodes = [node], next = [], children, i, n;\n while (node = nodes.pop()) {\n next.push(node), children = node.children;\n if (children) for (i = 0, n = children.length; i < n; ++i) {\n nodes.push(children[i]);\n }\n }\n while (node = next.pop()) {\n callback(node);\n }\n return this;\n}\n","export default function(callback) {\n var node = this, nodes = [node], children, i;\n while (node = nodes.pop()) {\n callback(node), children = node.children;\n if (children) for (i = children.length - 1; i >= 0; --i) {\n nodes.push(children[i]);\n }\n }\n return this;\n}\n","import node_count from \"./count\";\nimport node_each from \"./each\";\nimport node_eachBefore from \"./eachBefore\";\nimport node_eachAfter from \"./eachAfter\";\nimport node_sum from \"./sum\";\nimport node_sort from \"./sort\";\nimport node_path from \"./path\";\nimport node_ancestors from \"./ancestors\";\nimport node_descendants from \"./descendants\";\nimport node_leaves from \"./leaves\";\nimport node_links from \"./links\";\n\nexport default function hierarchy(data, children) {\n var root = new Node(data),\n valued = +data.value && (root.value = data.value),\n node,\n nodes = [root],\n child,\n childs,\n i,\n n;\n\n if (children == null) children = defaultChildren;\n\n while (node = nodes.pop()) {\n if (valued) node.value = +node.data.value;\n if ((childs = children(node.data)) && (n = childs.length)) {\n node.children = new Array(n);\n for (i = n - 1; i >= 0; --i) {\n nodes.push(child = node.children[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 defaultChildren(d) {\n return d.children;\n}\n\nfunction copyData(node) {\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 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};\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(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(compare) {\n return this.eachBefore(function(node) {\n if (node.children) {\n node.children.sort(compare);\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 as cluster} from \"./cluster\";\nexport {default as hierarchy} from \"./hierarchy/index\";\nexport {default as pack} from \"./pack/index\";\nexport {default as packSiblings} from \"./pack/siblings\";\nexport {default as packEnclose} from \"./pack/enclose\";\nexport {default as partition} from \"./partition\";\nexport {default as stratify} from \"./stratify\";\nexport {default as tree} from \"./tree\";\nexport {default as treemap} from \"./treemap/index\";\nexport {default as treemapBinary} from \"./treemap/binary\";\nexport {default as treemapDice} from \"./treemap/dice\";\nexport {default as treemapSlice} from \"./treemap/slice\";\nexport {default as treemapSliceDice} from \"./treemap/sliceDice\";\nexport {default as treemapSquarify} from \"./treemap/squarify\";\nexport {default as treemapResquarify} from \"./treemap/resquarify\";\n","import {shuffle, slice} from \"../array\";\n\nexport default function(circles) {\n var i = 0, n = (circles = shuffle(slice.call(circles))).length, B = [], p, e;\n\n while (i < n) {\n p = circles[i];\n if (e && enclosesWeak(e, p)) ++i;\n else e = encloseBasis(B = extendBasis(B, p)), i = 0;\n }\n\n return e;\n}\n\nfunction extendBasis(B, p) {\n var i, j;\n\n if (enclosesWeakAll(p, B)) return [p];\n\n // If we get here then B must have at least one element.\n for (i = 0; i < B.length; ++i) {\n if (enclosesNot(p, B[i])\n && enclosesWeakAll(encloseBasis2(B[i], p), B)) {\n return [B[i], p];\n }\n }\n\n // If we get here then B must have at least two elements.\n for (i = 0; i < B.length - 1; ++i) {\n for (j = i + 1; j < B.length; ++j) {\n if (enclosesNot(encloseBasis2(B[i], B[j]), p)\n && enclosesNot(encloseBasis2(B[i], p), B[j])\n && enclosesNot(encloseBasis2(B[j], p), B[i])\n && enclosesWeakAll(encloseBasis3(B[i], B[j], p), B)) {\n return [B[i], B[j], p];\n }\n }\n }\n\n // If we get here then something is very wrong.\n throw new Error;\n}\n\nfunction enclosesNot(a, b) {\n var dr = a.r - b.r, dx = b.x - a.x, dy = b.y - a.y;\n return dr < 0 || dr * dr < dx * dx + dy * dy;\n}\n\nfunction enclosesWeak(a, b) {\n var dr = a.r - b.r + 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 enclosesWeakAll(a, B) {\n for (var i = 0; i < B.length; ++i) {\n if (!enclosesWeak(a, B[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction encloseBasis(B) {\n switch (B.length) {\n case 1: return encloseBasis1(B[0]);\n case 2: return encloseBasis2(B[0], B[1]);\n case 3: return encloseBasis3(B[0], B[1], B[2]);\n }\n}\n\nfunction encloseBasis1(a) {\n return {\n x: a.x,\n y: a.y,\n r: a.r\n };\n}\n\nfunction encloseBasis2(a, b) {\n var x1 = a.x, y1 = a.y, r1 = a.r,\n x2 = b.x, y2 = b.y, r2 = b.r,\n x21 = x2 - x1, y21 = y2 - y1, r21 = r2 - r1,\n l = Math.sqrt(x21 * x21 + y21 * y21);\n return {\n x: (x1 + x2 + x21 / l * r21) / 2,\n y: (y1 + y2 + y21 / l * r21) / 2,\n r: (l + r1 + r2) / 2\n };\n}\n\nfunction encloseBasis3(a, b, c) {\n var x1 = a.x, y1 = a.y, r1 = a.r,\n x2 = b.x, y2 = b.y, r2 = b.r,\n x3 = c.x, y3 = c.y, r3 = c.r,\n a2 = x1 - x2,\n a3 = x1 - x3,\n b2 = y1 - y2,\n b3 = y1 - y3,\n c2 = r2 - r1,\n c3 = r3 - r1,\n d1 = x1 * x1 + y1 * y1 - r1 * r1,\n d2 = d1 - x2 * x2 - y2 * y2 + r2 * r2,\n d3 = d1 - x3 * x3 - y3 * y3 + r3 * r3,\n ab = a3 * b2 - a2 * b3,\n xa = (b2 * d3 - b3 * d2) / (ab * 2) - x1,\n xb = (b3 * c2 - b2 * c3) / ab,\n ya = (a3 * d2 - a2 * d3) / (ab * 2) - y1,\n yb = (a2 * c3 - a3 * c2) / ab,\n A = xb * xb + yb * yb - 1,\n B = 2 * (r1 + xa * xb + ya * yb),\n C = xa * xa + ya * ya - r1 * r1,\n r = -(A ? (B + Math.sqrt(B * B - 4 * A * C)) / (2 * A) : C / B);\n return {\n x: x1 + xa + xb * r,\n y: y1 + ya + yb * r,\n r: r\n };\n}\n","import {packEnclose} from \"./siblings\";\nimport {optional} from \"../accessors\";\nimport constant, {constantZero} from \"../constant\";\n\nfunction defaultRadius(d) {\n return Math.sqrt(d.value);\n}\n\nexport default function() {\n var radius = null,\n dx = 1,\n dy = 1,\n padding = constantZero;\n\n function pack(root) {\n root.x = dx / 2, root.y = dy / 2;\n if (radius) {\n root.eachBefore(radiusLeaf(radius))\n .eachAfter(packChildren(padding, 0.5))\n .eachBefore(translateChild(1));\n } else {\n root.eachBefore(radiusLeaf(defaultRadius))\n .eachAfter(packChildren(constantZero, 1))\n .eachAfter(packChildren(padding, root.r / Math.min(dx, dy)))\n .eachBefore(translateChild(Math.min(dx, dy) / (2 * root.r)));\n }\n return root;\n }\n\n pack.radius = function(x) {\n return arguments.length ? (radius = optional(x), pack) : radius;\n };\n\n pack.size = function(x) {\n return arguments.length ? (dx = +x[0], dy = +x[1], pack) : [dx, dy];\n };\n\n pack.padding = function(x) {\n return arguments.length ? (padding = typeof x === \"function\" ? x : constant(+x), pack) : padding;\n };\n\n return pack;\n}\n\nfunction radiusLeaf(radius) {\n return function(node) {\n if (!node.children) {\n node.r = Math.max(0, +radius(node) || 0);\n }\n };\n}\n\nfunction packChildren(padding, k) {\n return function(node) {\n if (children = node.children) {\n var children,\n i,\n n = children.length,\n r = padding(node) * k || 0,\n e;\n\n if (r) for (i = 0; i < n; ++i) children[i].r += r;\n e = packEnclose(children);\n if (r) for (i = 0; i < n; ++i) children[i].r -= r;\n node.r = e + r;\n }\n };\n}\n\nfunction translateChild(k) {\n return function(node) {\n var parent = node.parent;\n node.r *= k;\n if (parent) {\n node.x = parent.x + k * node.x;\n node.y = parent.y + k * node.y;\n }\n };\n}\n","import enclose from \"./enclose\";\n\nfunction place(b, a, c) {\n var dx = b.x - a.x, x, a2,\n dy = b.y - a.y, y, b2,\n d2 = dx * dx + dy * dy;\n if (d2) {\n a2 = a.r + c.r, a2 *= a2;\n b2 = b.r + c.r, b2 *= b2;\n if (a2 > b2) {\n x = (d2 + b2 - a2) / (2 * d2);\n y = Math.sqrt(Math.max(0, b2 / d2 - x * x));\n c.x = b.x - x * dx - y * dy;\n c.y = b.y - x * dy + y * dx;\n } else {\n x = (d2 + a2 - b2) / (2 * d2);\n y = Math.sqrt(Math.max(0, a2 / d2 - x * x));\n c.x = a.x + x * dx - y * dy;\n c.y = a.y + x * dy + y * dx;\n }\n } else {\n c.x = a.x + c.r;\n c.y = a.y;\n }\n}\n\nfunction intersects(a, b) {\n var dr = a.r + b.r - 1e-6, dx = b.x - a.x, dy = b.y - a.y;\n return dr > 0 && dr * dr > dx * dx + dy * dy;\n}\n\nfunction score(node) {\n var a = node._,\n b = node.next._,\n ab = a.r + b.r,\n dx = (a.x * b.r + b.x * a.r) / ab,\n dy = (a.y * b.r + b.y * a.r) / ab;\n return dx * dx + dy * dy;\n}\n\nfunction Node(circle) {\n this._ = circle;\n this.next = null;\n this.previous = null;\n}\n\nexport function packEnclose(circles) {\n if (!(n = circles.length)) return 0;\n\n var a, b, c, n, aa, ca, i, j, k, sj, sk;\n\n // Place the first circle.\n a = circles[0], a.x = 0, a.y = 0;\n if (!(n > 1)) return a.r;\n\n // Place the second circle.\n b = circles[1], a.x = -b.r, b.x = a.r, b.y = 0;\n if (!(n > 2)) return a.r + b.r;\n\n // Place the third circle.\n place(b, a, c = circles[2]);\n\n // Initialize the front-chain using the first three circles a, b and c.\n a = new Node(a), b = new Node(b), c = new Node(c);\n a.next = c.previous = b;\n b.next = a.previous = c;\n c.next = b.previous = a;\n\n // Attempt to place each remaining circle…\n pack: for (i = 3; i < n; ++i) {\n place(a._, b._, c = circles[i]), c = new Node(c);\n\n // Find the closest intersecting circle on the front-chain, if any.\n // “Closeness” is determined by linear distance along the front-chain.\n // “Ahead” or “behind” is likewise determined by linear distance.\n j = b.next, k = a.previous, sj = b._.r, sk = a._.r;\n do {\n if (sj <= sk) {\n if (intersects(j._, c._)) {\n b = j, a.next = b, b.previous = a, --i;\n continue pack;\n }\n sj += j._.r, j = j.next;\n } else {\n if (intersects(k._, c._)) {\n a = k, a.next = b, b.previous = a, --i;\n continue pack;\n }\n sk += k._.r, k = k.previous;\n }\n } while (j !== k.next);\n\n // Success! Insert the new circle c between a and b.\n c.previous = a, c.next = b, a.next = b.previous = b = c;\n\n // Compute the new closest circle pair to the centroid.\n aa = score(a);\n while ((c = c.next) !== b) {\n if ((ca = score(c)) < aa) {\n a = c, aa = ca;\n }\n }\n b = a.next;\n }\n\n // Compute the enclosing circle of the front chain.\n a = [b._], c = b; while ((c = c.next) !== b) a.push(c._); c = enclose(a);\n\n // Translate the circles to put the enclosing circle around the origin.\n for (i = 0; i < n; ++i) a = circles[i], a.x -= c.x, a.y -= c.y;\n\n return c.r;\n}\n\nexport default function(circles) {\n packEnclose(circles);\n return circles;\n}\n","import roundNode from \"./treemap/round\";\nimport treemapDice from \"./treemap/dice\";\n\nexport default function() {\n var dx = 1,\n dy = 1,\n padding = 0,\n round = false;\n\n function partition(root) {\n var n = root.height + 1;\n root.x0 =\n root.y0 = padding;\n root.x1 = dx;\n root.y1 = dy / n;\n root.eachBefore(positionNode(dy, n));\n if (round) root.eachBefore(roundNode);\n return root;\n }\n\n function positionNode(dy, n) {\n return function(node) {\n if (node.children) {\n treemapDice(node, node.x0, dy * (node.depth + 1) / n, node.x1, dy * (node.depth + 2) / n);\n }\n var x0 = node.x0,\n y0 = node.y0,\n x1 = node.x1 - padding,\n y1 = node.y1 - padding;\n if (x1 < x0) x0 = x1 = (x0 + x1) / 2;\n if (y1 < y0) y0 = y1 = (y0 + y1) / 2;\n node.x0 = x0;\n node.y0 = y0;\n node.x1 = x1;\n node.y1 = y1;\n };\n }\n\n partition.round = function(x) {\n return arguments.length ? (round = !!x, partition) : round;\n };\n\n partition.size = function(x) {\n return arguments.length ? (dx = +x[0], dy = +x[1], partition) : [dx, dy];\n };\n\n partition.padding = function(x) {\n return arguments.length ? (padding = +x, partition) : padding;\n };\n\n return partition;\n}\n","import {required} from \"./accessors\";\nimport {Node, computeHeight} from \"./hierarchy/index\";\n\nvar keyPrefix = \"$\", // Protect against keys like “__proto__”.\n preroot = {depth: -1},\n ambiguous = {};\n\nfunction defaultId(d) {\n return d.id;\n}\n\nfunction defaultParentId(d) {\n return d.parentId;\n}\n\nexport default function() {\n var id = defaultId,\n parentId = defaultParentId;\n\n function stratify(data) {\n var d,\n i,\n n = data.length,\n root,\n parent,\n node,\n nodes = new Array(n),\n nodeId,\n nodeKey,\n nodeByKey = {};\n\n for (i = 0; i < n; ++i) {\n d = data[i], node = nodes[i] = new Node(d);\n if ((nodeId = id(d, i, data)) != null && (nodeId += \"\")) {\n nodeKey = keyPrefix + (node.id = nodeId);\n nodeByKey[nodeKey] = nodeKey in nodeByKey ? ambiguous : node;\n }\n }\n\n for (i = 0; i < n; ++i) {\n node = nodes[i], nodeId = parentId(data[i], i, data);\n if (nodeId == null || !(nodeId += \"\")) {\n if (root) throw new Error(\"multiple roots\");\n root = node;\n } else {\n parent = nodeByKey[keyPrefix + nodeId];\n if (!parent) throw new Error(\"missing: \" + nodeId);\n if (parent === ambiguous) throw new Error(\"ambiguous: \" + nodeId);\n if (parent.children) parent.children.push(node);\n else parent.children = [node];\n node.parent = parent;\n }\n }\n\n if (!root) throw new Error(\"no root\");\n root.parent = preroot;\n root.eachBefore(function(node) { node.depth = node.parent.depth + 1; --n; }).eachBefore(computeHeight);\n root.parent = null;\n if (n > 0) throw new Error(\"cycle\");\n\n return root;\n }\n\n stratify.id = function(x) {\n return arguments.length ? (id = required(x), stratify) : id;\n };\n\n stratify.parentId = function(x) {\n return arguments.length ? (parentId = required(x), stratify) : parentId;\n };\n\n return stratify;\n}\n","import {Node} from \"./hierarchy/index\";\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 i, n = nodes.length,\n sum, sums = new Array(n + 1);\n\n for (sums[0] = sum = i = 0; i < n; ++i) {\n sums[i + 1] = sum += nodes[i].value;\n }\n\n partition(0, n, parent.value, x0, y0, x1, y1);\n\n function partition(i, j, value, x0, y0, x1, y1) {\n if (i >= j - 1) {\n var node = nodes[i];\n node.x0 = x0, node.y0 = y0;\n node.x1 = x1, node.y1 = y1;\n return;\n }\n\n var valueOffset = sums[i],\n valueTarget = (value / 2) + valueOffset,\n k = i + 1,\n hi = j - 1;\n\n while (k < hi) {\n var mid = k + hi >>> 1;\n if (sums[mid] < valueTarget) k = mid + 1;\n else hi = mid;\n }\n\n if ((valueTarget - sums[k - 1]) < (sums[k] - valueTarget) && i + 1 < k) --k;\n\n var valueLeft = sums[k] - valueOffset,\n valueRight = value - valueLeft;\n\n if ((x1 - x0) > (y1 - y0)) {\n var xk = (x0 * valueRight + x1 * valueLeft) / value;\n partition(i, k, valueLeft, x0, y0, xk, y1);\n partition(k, j, valueRight, xk, y0, x1, y1);\n } else {\n var yk = (y0 * valueRight + y1 * valueLeft) / value;\n partition(i, k, valueLeft, x0, y0, x1, yk);\n partition(k, j, valueRight, x0, yk, x1, y1);\n }\n }\n}\n","export default function(parent, x0, y0, x1, y1) {\n var nodes = parent.children,\n node,\n i = -1,\n n = nodes.length,\n k = parent.value && (x1 - x0) / parent.value;\n\n while (++i < n) {\n node = nodes[i], node.y0 = y0, node.y1 = y1;\n node.x0 = x0, node.x1 = x0 += node.value * k;\n }\n}\n","import roundNode from \"./round\";\nimport squarify from \"./squarify\";\nimport {required} from \"../accessors\";\nimport constant, {constantZero} from \"../constant\";\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","import treemapDice from \"./dice\";\nimport treemapSlice from \"./slice\";\nimport {phi, squarifyRatio} from \"./squarify\";\n\nexport default (function custom(ratio) {\n\n function resquarify(parent, x0, y0, x1, y1) {\n if ((rows = parent._squarify) && (rows.ratio === ratio)) {\n var rows,\n row,\n nodes,\n i,\n j = -1,\n n,\n m = rows.length,\n value = parent.value;\n\n while (++j < m) {\n row = rows[j], nodes = row.children;\n for (i = row.value = 0, n = nodes.length; i < n; ++i) row.value += nodes[i].value;\n if (row.dice) treemapDice(row, x0, y0, x1, y0 += (y1 - y0) * row.value / value);\n else treemapSlice(row, x0, y0, x0 += (x1 - x0) * row.value / value, y1);\n value -= row.value;\n }\n } else {\n parent._squarify = rows = squarifyRatio(ratio, parent, x0, y0, x1, y1);\n rows.ratio = ratio;\n }\n }\n\n resquarify.ratio = function(x) {\n return custom((x = +x) > 1 ? x : 1);\n };\n\n return resquarify;\n})(phi);\n","export default 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 && (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 dice from \"./dice\";\nimport slice from \"./slice\";\n\nexport default function(parent, x0, y0, x1, y1) {\n (parent.depth & 1 ? slice : dice)(parent, x0, y0, x1, y1);\n}\n","import treemapDice from \"./dice\";\nimport treemapSlice from \"./slice\";\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 value from \"./value\";\n\nexport default function(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 function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import {basis} from \"./basis\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import constant from \"./constant\";\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","export default function(x) {\n return function() {\n return x;\n };\n}\n","import {cubehelix as colorCubehelix} from \"d3-color\";\nimport color, {hue} from \"./color\";\n\nfunction cubehelix(hue) {\n return (function cubehelixGamma(y) {\n y = +y;\n\n function cubehelix(start, end) {\n var h = hue((start = colorCubehelix(start)).h, (end = colorCubehelix(end)).h),\n s = color(start.s, end.s),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.s = s(t);\n start.l = l(Math.pow(t, y));\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n cubehelix.gamma = cubehelixGamma;\n\n return cubehelix;\n })(1);\n}\n\nexport default cubehelix(hue);\nexport var cubehelixLong = cubehelix(color);\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b -= a, function(t) {\n return d.setTime(a + b * t), d;\n };\n}\n","export default function(range) {\n var n = range.length;\n return function(t) {\n return range[Math.max(0, Math.min(n - 1, Math.floor(t * n)))];\n };\n}\n","import {hcl as colorHcl} from \"d3-color\";\nimport color, {hue} from \"./color\";\n\nfunction hcl(hue) {\n return function(start, end) {\n var h = hue((start = colorHcl(start)).h, (end = colorHcl(end)).h),\n c = color(start.c, end.c),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.c = c(t);\n start.l = l(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n}\n\nexport default hcl(hue);\nexport var hclLong = hcl(color);\n","import {hsl as colorHsl} from \"d3-color\";\nimport color, {hue} from \"./color\";\n\nfunction hsl(hue) {\n return function(start, end) {\n var h = hue((start = colorHsl(start)).h, (end = colorHsl(end)).h),\n s = color(start.s, end.s),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.s = s(t);\n start.l = l(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n}\n\nexport default hsl(hue);\nexport var hslLong = hsl(color);\n","import {hue} from \"./color\";\n\nexport default function(a, b) {\n var i = hue(+a, +b);\n return function(t) {\n var x = i(t);\n return x - 360 * Math.floor(x / 360);\n };\n}\n","export {default as interpolate} from \"./value\";\nexport {default as interpolateArray} from \"./array\";\nexport {default as interpolateBasis} from \"./basis\";\nexport {default as interpolateBasisClosed} from \"./basisClosed\";\nexport {default as interpolateDate} from \"./date\";\nexport {default as interpolateDiscrete} from \"./discrete\";\nexport {default as interpolateHue} from \"./hue\";\nexport {default as interpolateNumber} from \"./number\";\nexport {default as interpolateObject} from \"./object\";\nexport {default as interpolateRound} from \"./round\";\nexport {default as interpolateString} from \"./string\";\nexport {interpolateTransformCss, interpolateTransformSvg} from \"./transform/index\";\nexport {default as interpolateZoom} from \"./zoom\";\nexport {default as interpolateRgb, rgbBasis as interpolateRgbBasis, rgbBasisClosed as interpolateRgbBasisClosed} from \"./rgb\";\nexport {default as interpolateHsl, hslLong as interpolateHslLong} from \"./hsl\";\nexport {default as interpolateLab} from \"./lab\";\nexport {default as interpolateHcl, hclLong as interpolateHclLong} from \"./hcl\";\nexport {default as interpolateCubehelix, cubehelixLong as interpolateCubehelixLong} from \"./cubehelix\";\nexport {default as piecewise} from \"./piecewise\";\nexport {default as quantize} from \"./quantize\";\n","import {lab as colorLab} from \"d3-color\";\nimport color from \"./color\";\n\nexport default function lab(start, end) {\n var l = color((start = colorLab(start)).l, (end = colorLab(end)).l),\n a = color(start.a, end.a),\n b = color(start.b, end.b),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.l = l(t);\n start.a = a(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n}\n","export default function(a, b) {\n return a = +a, b -= a, function(t) {\n return a + b * t;\n };\n}\n","import value from \"./value\";\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","export default function piecewise(interpolate, values) {\n var i = 0, n = values.length - 1, v = values[0], I = new Array(n < 0 ? 0 : n);\n while (i < n) I[i] = interpolate(v, v = values[++i]);\n return function(t) {\n var i = Math.max(0, Math.min(n - 1, Math.floor(t *= n)));\n return I[i](t - i);\n };\n}\n","export default function(interpolator, n) {\n var samples = new Array(n);\n for (var i = 0; i < n; ++i) samples[i] = interpolator(i / (n - 1));\n return samples;\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis\";\nimport basisClosed from \"./basisClosed\";\nimport nogamma, {gamma} from \"./color\";\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 return a = +a, b -= a, function(t) {\n return Math.round(a + b * t);\n };\n}\n","import number from \"./number\";\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","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 number from \"../number\";\nimport {parseCss, parseSvg} from \"./parse\";\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","import decompose, {identity} from \"./decompose\";\n\nvar cssNode,\n cssRoot,\n cssView,\n svgNode;\n\nexport function parseCss(value) {\n if (value === \"none\") return identity;\n if (!cssNode) cssNode = document.createElement(\"DIV\"), cssRoot = document.documentElement, cssView = document.defaultView;\n cssNode.style.transform = value;\n value = cssView.getComputedStyle(cssRoot.appendChild(cssNode), null).getPropertyValue(\"transform\");\n cssRoot.removeChild(cssNode);\n value = value.slice(7, -1).split(\",\");\n return decompose(+value[0], +value[1], +value[2], +value[3], +value[4], +value[5]);\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 {color} from \"d3-color\";\nimport rgb from \"./rgb\";\nimport array from \"./array\";\nimport date from \"./date\";\nimport number from \"./number\";\nimport object from \"./object\";\nimport string from \"./string\";\nimport constant from \"./constant\";\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 : Array.isArray(b) ? array\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","var rho = Math.SQRT2,\n rho2 = 2,\n rho4 = 4,\n epsilon2 = 1e-12;\n\nfunction cosh(x) {\n return ((x = Math.exp(x)) + 1 / x) / 2;\n}\n\nfunction sinh(x) {\n return ((x = Math.exp(x)) - 1 / x) / 2;\n}\n\nfunction tanh(x) {\n return ((x = Math.exp(2 * x)) - 1) / (x + 1);\n}\n\n// p0 = [ux0, uy0, w0]\n// p1 = [ux1, uy1, w1]\nexport default function(p0, p1) {\n var ux0 = p0[0], uy0 = p0[1], w0 = p0[2],\n ux1 = p1[0], uy1 = p1[1], w1 = p1[2],\n dx = ux1 - ux0,\n dy = uy1 - uy0,\n d2 = dx * dx + dy * dy,\n i,\n S;\n\n // Special case for u0 ≅ u1.\n if (d2 < epsilon2) {\n S = Math.log(w1 / w0) / rho;\n i = function(t) {\n return [\n ux0 + t * dx,\n uy0 + t * dy,\n w0 * Math.exp(rho * t * S)\n ];\n }\n }\n\n // General case.\n else {\n var d1 = Math.sqrt(d2),\n b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1),\n b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1),\n r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0),\n r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1);\n S = (r1 - r0) / rho;\n i = function(t) {\n var s = t * S,\n coshr0 = cosh(r0),\n u = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0));\n return [\n ux0 + u * dx,\n uy0 + u * dy,\n w0 * coshr0 / cosh(rho * s + r0)\n ];\n }\n }\n\n i.duration = S * 1000;\n\n return i;\n}\n","export {default as path} from \"./path\";\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;\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(polygon) {\n var i = -1,\n n = polygon.length,\n a,\n b = polygon[n - 1],\n area = 0;\n\n while (++i < n) {\n a = b;\n b = polygon[i];\n area += a[1] * b[0] - a[0] * b[1];\n }\n\n return area / 2;\n}\n","export default function(polygon) {\n var i = -1,\n n = polygon.length,\n x = 0,\n y = 0,\n a,\n b = polygon[n - 1],\n c,\n k = 0;\n\n while (++i < n) {\n a = b;\n b = polygon[i];\n k += c = a[0] * b[1] - b[0] * a[1];\n x += (a[0] + b[0]) * c;\n y += (a[1] + b[1]) * c;\n }\n\n return k *= 3, [x / k, y / k];\n}\n","export default function(polygon, point) {\n var n = polygon.length,\n p = polygon[n - 1],\n x = point[0], y = point[1],\n x0 = p[0], y0 = p[1],\n x1, y1,\n inside = false;\n\n for (var i = 0; i < n; ++i) {\n p = polygon[i], x1 = p[0], y1 = p[1];\n if (((y1 > y) !== (y0 > y)) && (x < (x0 - x1) * (y - y1) / (y0 - y1) + x1)) inside = !inside;\n x0 = x1, y0 = y1;\n }\n\n return inside;\n}\n","// Returns the 2D cross product of AB and AC vectors, i.e., the z-component of\n// the 3D cross product in a quadrant I Cartesian coordinate system (+x is\n// right, +y is up). Returns a positive value if ABC is counter-clockwise,\n// negative if clockwise, and zero if the points are collinear.\nexport default function(a, b, c) {\n return (b[0] - a[0]) * (c[1] - a[1]) - (b[1] - a[1]) * (c[0] - a[0]);\n}\n","import cross from \"./cross\";\n\nfunction lexicographicOrder(a, b) {\n return a[0] - b[0] || a[1] - b[1];\n}\n\n// Computes the upper convex hull per the monotone chain algorithm.\n// Assumes points.length >= 3, is sorted by x, unique in y.\n// Returns an array of indices into points in left-to-right order.\nfunction computeUpperHullIndexes(points) {\n var n = points.length,\n indexes = [0, 1],\n size = 2;\n\n for (var i = 2; i < n; ++i) {\n while (size > 1 && cross(points[indexes[size - 2]], points[indexes[size - 1]], points[i]) <= 0) --size;\n indexes[size++] = i;\n }\n\n return indexes.slice(0, size); // remove popped points\n}\n\nexport default function(points) {\n if ((n = points.length) < 3) return null;\n\n var i,\n n,\n sortedPoints = new Array(n),\n flippedPoints = new Array(n);\n\n for (i = 0; i < n; ++i) sortedPoints[i] = [+points[i][0], +points[i][1], i];\n sortedPoints.sort(lexicographicOrder);\n for (i = 0; i < n; ++i) flippedPoints[i] = [sortedPoints[i][0], -sortedPoints[i][1]];\n\n var upperIndexes = computeUpperHullIndexes(sortedPoints),\n lowerIndexes = computeUpperHullIndexes(flippedPoints);\n\n // Construct the hull polygon, removing possible duplicate endpoints.\n var skipLeft = lowerIndexes[0] === upperIndexes[0],\n skipRight = lowerIndexes[lowerIndexes.length - 1] === upperIndexes[upperIndexes.length - 1],\n hull = [];\n\n // Add upper hull in right-to-l order.\n // Then add lower hull in left-to-right order.\n for (i = upperIndexes.length - 1; i >= 0; --i) hull.push(points[sortedPoints[upperIndexes[i]][2]]);\n for (i = +skipLeft; i < lowerIndexes.length - skipRight; ++i) hull.push(points[sortedPoints[lowerIndexes[i]][2]]);\n\n return hull;\n}\n","export {default as polygonArea} from \"./area\";\nexport {default as polygonCentroid} from \"./centroid\";\nexport {default as polygonHull} from \"./hull\";\nexport {default as polygonContains} from \"./contains\";\nexport {default as polygonLength} from \"./length\";\n","export default function(polygon) {\n var i = -1,\n n = polygon.length,\n b = polygon[n - 1],\n xa,\n ya,\n xb = b[0],\n yb = b[1],\n perimeter = 0;\n\n while (++i < n) {\n xa = xb;\n ya = yb;\n b = polygon[i];\n xb = b[0];\n yb = b[1];\n xa -= xb;\n ya -= yb;\n perimeter += Math.sqrt(xa * xa + ya * ya);\n }\n\n return perimeter;\n}\n","export default function(d) {\n var x = +this._x.call(null, d),\n y = +this._y.call(null, d);\n return add(this.cover(x, y), x, y, d);\n}\n\nfunction add(tree, x, y, d) {\n if (isNaN(x) || isNaN(y)) return tree; // ignore invalid points\n\n var parent,\n node = tree._root,\n leaf = {data: d},\n x0 = tree._x0,\n y0 = tree._y0,\n x1 = tree._x1,\n y1 = tree._y1,\n xm,\n ym,\n xp,\n yp,\n right,\n bottom,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return tree._root = leaf, tree;\n\n // Find the existing leaf for the new point, or add it.\n while (node.length) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (parent = node, !(node = node[i = bottom << 1 | right])) return parent[i] = leaf, tree;\n }\n\n // Is the new point is exactly coincident with the existing point?\n xp = +tree._x.call(null, node.data);\n yp = +tree._y.call(null, node.data);\n if (x === xp && y === yp) return leaf.next = node, parent ? parent[i] = leaf : tree._root = leaf, tree;\n\n // Otherwise, split the leaf node until the old and new point are separated.\n do {\n parent = parent ? parent[i] = new Array(4) : tree._root = new Array(4);\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n } while ((i = bottom << 1 | right) === (j = (yp >= ym) << 1 | (xp >= xm)));\n return parent[j] = node, parent[i] = leaf, tree;\n}\n\nexport function addAll(data) {\n var d, i, n = data.length,\n x,\n y,\n xz = new Array(n),\n yz = new Array(n),\n x0 = Infinity,\n y0 = Infinity,\n x1 = -Infinity,\n y1 = -Infinity;\n\n // Compute the points and their extent.\n for (i = 0; i < n; ++i) {\n if (isNaN(x = +this._x.call(null, d = data[i])) || isNaN(y = +this._y.call(null, d))) continue;\n xz[i] = x;\n yz[i] = 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\n // If there were no (valid) points, inherit the existing extent.\n if (x1 < x0) x0 = this._x0, x1 = this._x1;\n if (y1 < y0) y0 = this._y0, y1 = this._y1;\n\n // Expand the tree to cover the new points.\n this.cover(x0, y0).cover(x1, y1);\n\n // Add the new points.\n for (i = 0; i < n; ++i) {\n add(this, xz[i], yz[i], data[i]);\n }\n\n return this;\n}\n","export default function(x, y) {\n if (isNaN(x = +x) || isNaN(y = +y)) return this; // ignore invalid points\n\n var x0 = this._x0,\n y0 = this._y0,\n x1 = this._x1,\n y1 = this._y1;\n\n // If the quadtree has no extent, initialize them.\n // Integer extent are necessary so that if we later double the extent,\n // the existing quadrant boundaries don’t change due to floating point error!\n if (isNaN(x0)) {\n x1 = (x0 = Math.floor(x)) + 1;\n y1 = (y0 = Math.floor(y)) + 1;\n }\n\n // Otherwise, double repeatedly to cover.\n else if (x0 > x || x > x1 || y0 > y || y > y1) {\n var z = x1 - x0,\n node = this._root,\n parent,\n i;\n\n switch (i = (y < (y0 + y1) / 2) << 1 | (x < (x0 + x1) / 2)) {\n case 0: {\n do parent = new Array(4), parent[i] = node, node = parent;\n while (z *= 2, x1 = x0 + z, y1 = y0 + z, x > x1 || y > y1);\n break;\n }\n case 1: {\n do parent = new Array(4), parent[i] = node, node = parent;\n while (z *= 2, x0 = x1 - z, y1 = y0 + z, x0 > x || y > y1);\n break;\n }\n case 2: {\n do parent = new Array(4), parent[i] = node, node = parent;\n while (z *= 2, x1 = x0 + z, y0 = y1 - z, x > x1 || y0 > y);\n break;\n }\n case 3: {\n do parent = new Array(4), parent[i] = node, node = parent;\n while (z *= 2, x0 = x1 - z, y0 = y1 - z, x0 > x || y0 > y);\n break;\n }\n }\n\n if (this._root && this._root.length) this._root = node;\n }\n\n // If the quadtree covers the point already, just return.\n else return this;\n\n this._x0 = x0;\n this._y0 = y0;\n this._x1 = x1;\n this._y1 = y1;\n return this;\n}\n","export default function() {\n var data = [];\n this.visit(function(node) {\n if (!node.length) do data.push(node.data); while (node = node.next)\n });\n return data;\n}\n","export default function(_) {\n return arguments.length\n ? this.cover(+_[0][0], +_[0][1]).cover(+_[1][0], +_[1][1])\n : isNaN(this._x0) ? undefined : [[this._x0, this._y0], [this._x1, this._y1]];\n}\n","import Quad from \"./quad\";\n\nexport default function(x, y, radius) {\n var data,\n x0 = this._x0,\n y0 = this._y0,\n x1,\n y1,\n x2,\n y2,\n x3 = this._x1,\n y3 = this._y1,\n quads = [],\n node = this._root,\n q,\n i;\n\n if (node) quads.push(new Quad(node, x0, y0, x3, y3));\n if (radius == null) radius = Infinity;\n else {\n x0 = x - radius, y0 = y - radius;\n x3 = x + radius, y3 = y + radius;\n radius *= radius;\n }\n\n while (q = quads.pop()) {\n\n // Stop searching if this quadrant can’t contain a closer node.\n if (!(node = q.node)\n || (x1 = q.x0) > x3\n || (y1 = q.y0) > y3\n || (x2 = q.x1) < x0\n || (y2 = q.y1) < y0) continue;\n\n // Bisect the current quadrant.\n if (node.length) {\n var xm = (x1 + x2) / 2,\n ym = (y1 + y2) / 2;\n\n quads.push(\n new Quad(node[3], xm, ym, x2, y2),\n new Quad(node[2], x1, ym, xm, y2),\n new Quad(node[1], xm, y1, x2, ym),\n new Quad(node[0], x1, y1, xm, ym)\n );\n\n // Visit the closest quadrant first.\n if (i = (y >= ym) << 1 | (x >= xm)) {\n q = quads[quads.length - 1];\n quads[quads.length - 1] = quads[quads.length - 1 - i];\n quads[quads.length - 1 - i] = q;\n }\n }\n\n // Visit this point. (Visiting coincident points isn’t necessary!)\n else {\n var dx = x - +this._x.call(null, node.data),\n dy = y - +this._y.call(null, node.data),\n d2 = dx * dx + dy * dy;\n if (d2 < radius) {\n var d = Math.sqrt(radius = d2);\n x0 = x - d, y0 = y - d;\n x3 = x + d, y3 = y + d;\n data = node.data;\n }\n }\n }\n\n return data;\n}\n","export {default as quadtree} from \"./quadtree\";\n","export default function(node, x0, y0, x1, y1) {\n this.node = node;\n this.x0 = x0;\n this.y0 = y0;\n this.x1 = x1;\n this.y1 = y1;\n}\n","import tree_add, {addAll as tree_addAll} from \"./add\";\nimport tree_cover from \"./cover\";\nimport tree_data from \"./data\";\nimport tree_extent from \"./extent\";\nimport tree_find from \"./find\";\nimport tree_remove, {removeAll as tree_removeAll} from \"./remove\";\nimport tree_root from \"./root\";\nimport tree_size from \"./size\";\nimport tree_visit from \"./visit\";\nimport tree_visitAfter from \"./visitAfter\";\nimport tree_x, {defaultX} from \"./x\";\nimport tree_y, {defaultY} from \"./y\";\n\nexport default function quadtree(nodes, x, y) {\n var tree = new Quadtree(x == null ? defaultX : x, y == null ? defaultY : y, NaN, NaN, NaN, NaN);\n return nodes == null ? tree : tree.addAll(nodes);\n}\n\nfunction Quadtree(x, y, x0, y0, x1, y1) {\n this._x = x;\n this._y = y;\n this._x0 = x0;\n this._y0 = y0;\n this._x1 = x1;\n this._y1 = y1;\n this._root = undefined;\n}\n\nfunction leaf_copy(leaf) {\n var copy = {data: leaf.data}, next = copy;\n while (leaf = leaf.next) next = next.next = {data: leaf.data};\n return copy;\n}\n\nvar treeProto = quadtree.prototype = Quadtree.prototype;\n\ntreeProto.copy = function() {\n var copy = new Quadtree(this._x, this._y, this._x0, this._y0, this._x1, this._y1),\n node = this._root,\n nodes,\n child;\n\n if (!node) return copy;\n\n if (!node.length) return copy._root = leaf_copy(node), copy;\n\n nodes = [{source: node, target: copy._root = new Array(4)}];\n while (node = nodes.pop()) {\n for (var i = 0; i < 4; ++i) {\n if (child = node.source[i]) {\n if (child.length) nodes.push({source: child, target: node.target[i] = new Array(4)});\n else node.target[i] = leaf_copy(child);\n }\n }\n }\n\n return copy;\n};\n\ntreeProto.add = tree_add;\ntreeProto.addAll = tree_addAll;\ntreeProto.cover = tree_cover;\ntreeProto.data = tree_data;\ntreeProto.extent = tree_extent;\ntreeProto.find = tree_find;\ntreeProto.remove = tree_remove;\ntreeProto.removeAll = tree_removeAll;\ntreeProto.root = tree_root;\ntreeProto.size = tree_size;\ntreeProto.visit = tree_visit;\ntreeProto.visitAfter = tree_visitAfter;\ntreeProto.x = tree_x;\ntreeProto.y = tree_y;\n","export default function(d) {\n if (isNaN(x = +this._x.call(null, d)) || isNaN(y = +this._y.call(null, d))) return this; // ignore invalid points\n\n var parent,\n node = this._root,\n retainer,\n previous,\n next,\n x0 = this._x0,\n y0 = this._y0,\n x1 = this._x1,\n y1 = this._y1,\n x,\n y,\n xm,\n ym,\n right,\n bottom,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return this;\n\n // Find the leaf node for the point.\n // While descending, also retain the deepest parent with a non-removed sibling.\n if (node.length) while (true) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (!(parent = node, node = node[i = bottom << 1 | right])) return this;\n if (!node.length) break;\n if (parent[(i + 1) & 3] || parent[(i + 2) & 3] || parent[(i + 3) & 3]) retainer = parent, j = i;\n }\n\n // Find the point to remove.\n while (node.data !== d) if (!(previous = node, node = node.next)) return this;\n if (next = node.next) delete node.next;\n\n // If there are multiple coincident points, remove just the point.\n if (previous) return (next ? previous.next = next : delete previous.next), this;\n\n // If this is the root point, remove it.\n if (!parent) return this._root = next, this;\n\n // Remove this leaf.\n next ? parent[i] = next : delete parent[i];\n\n // If the parent now contains exactly one leaf, collapse superfluous parents.\n if ((node = parent[0] || parent[1] || parent[2] || parent[3])\n && node === (parent[3] || parent[2] || parent[1] || parent[0])\n && !node.length) {\n if (retainer) retainer[j] = node;\n else this._root = node;\n }\n\n return this;\n}\n\nexport function removeAll(data) {\n for (var i = 0, n = data.length; i < n; ++i) this.remove(data[i]);\n return this;\n}\n","export default function() {\n return this._root;\n}\n","export default function() {\n var size = 0;\n this.visit(function(node) {\n if (!node.length) do ++size; while (node = node.next)\n });\n return size;\n}\n","import Quad from \"./quad\";\n\nexport default function(callback) {\n var quads = [], q, node = this._root, child, x0, y0, x1, y1;\n if (node) quads.push(new Quad(node, this._x0, this._y0, this._x1, this._y1));\n while (q = quads.pop()) {\n if (!callback(node = q.node, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1) && node.length) {\n var xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;\n if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1));\n if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1));\n if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym));\n if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym));\n }\n }\n return this;\n}\n","import Quad from \"./quad\";\n\nexport default function(callback) {\n var quads = [], next = [], q;\n if (this._root) quads.push(new Quad(this._root, this._x0, this._y0, this._x1, this._y1));\n while (q = quads.pop()) {\n var node = q.node;\n if (node.length) {\n var child, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1, xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;\n if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym));\n if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym));\n if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1));\n if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1));\n }\n next.push(q);\n }\n while (q = next.pop()) {\n callback(q.node, q.x0, q.y0, q.x1, q.y1);\n }\n return this;\n}\n","export function defaultX(d) {\n return d[0];\n}\n\nexport default function(_) {\n return arguments.length ? (this._x = _, this) : this._x;\n}\n","export function defaultY(d) {\n return d[1];\n}\n\nexport default function(_) {\n return arguments.length ? (this._y = _, this) : this._y;\n}\n","import defaultSource from \"./defaultSource\";\nimport irwinHall from \"./irwinHall\";\n\nexport default (function sourceRandomBates(source) {\n function randomBates(n) {\n var randomIrwinHall = irwinHall.source(source)(n);\n return function() {\n return randomIrwinHall() / n;\n };\n }\n\n randomBates.source = sourceRandomBates;\n\n return randomBates;\n})(defaultSource);\n","export default function() {\n return Math.random();\n}\n","import defaultSource from \"./defaultSource\";\n\nexport default (function sourceRandomExponential(source) {\n function randomExponential(lambda) {\n return function() {\n return -Math.log(1 - source()) / lambda;\n };\n }\n\n randomExponential.source = sourceRandomExponential;\n\n return randomExponential;\n})(defaultSource);\n","export {default as randomUniform} from \"./uniform\";\nexport {default as randomNormal} from \"./normal\";\nexport {default as randomLogNormal} from \"./logNormal\";\nexport {default as randomBates} from \"./bates\";\nexport {default as randomIrwinHall} from \"./irwinHall\";\nexport {default as randomExponential} from \"./exponential\";\n","import defaultSource from \"./defaultSource\";\n\nexport default (function sourceRandomIrwinHall(source) {\n function randomIrwinHall(n) {\n return function() {\n for (var sum = 0, i = 0; i < n; ++i) sum += source();\n return sum;\n };\n }\n\n randomIrwinHall.source = sourceRandomIrwinHall;\n\n return randomIrwinHall;\n})(defaultSource);\n","import defaultSource from \"./defaultSource\";\nimport normal from \"./normal\";\n\nexport default (function sourceRandomLogNormal(source) {\n function randomLogNormal() {\n var randomNormal = normal.source(source).apply(this, arguments);\n return function() {\n return Math.exp(randomNormal());\n };\n }\n\n randomLogNormal.source = sourceRandomLogNormal;\n\n return randomLogNormal;\n})(defaultSource);\n","import defaultSource from \"./defaultSource\";\n\nexport default (function sourceRandomNormal(source) {\n function randomNormal(mu, sigma) {\n var x, r;\n mu = mu == null ? 0 : +mu;\n sigma = sigma == null ? 1 : +sigma;\n return function() {\n var y;\n\n // If available, use the second previously-generated uniform random.\n if (x != null) y = x, x = null;\n\n // Otherwise, generate a new x and y.\n else do {\n x = source() * 2 - 1;\n y = source() * 2 - 1;\n r = x * x + y * y;\n } while (!r || r > 1);\n\n return mu + sigma * y * Math.sqrt(-2 * Math.log(r) / r);\n };\n }\n\n randomNormal.source = sourceRandomNormal;\n\n return randomNormal;\n})(defaultSource);\n","import defaultSource from \"./defaultSource\";\n\nexport default (function sourceRandomUniform(source) {\n function randomUniform(min, max) {\n min = min == null ? 0 : +min;\n max = max == null ? 1 : +max;\n if (arguments.length === 1) max = min, min = 0;\n else max -= min;\n return function() {\n return source() * max + min;\n };\n }\n\n randomUniform.source = sourceRandomUniform;\n\n return randomUniform;\n})(defaultSource);\n","import colors from \"../colors\";\n\nexport default colors(\"7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666\");\n","import colors from \"../colors\";\n\nexport default colors(\"1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666\");\n","import colors from \"../colors\";\n\nexport default colors(\"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928\");\n","import colors from \"../colors\";\n\nexport default colors(\"fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2\");\n","import colors from \"../colors\";\n\nexport default colors(\"b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc\");\n","import colors from \"../colors\";\n\nexport default colors(\"e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999\");\n","import colors from \"../colors\";\n\nexport default colors(\"66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3\");\n","import colors from \"../colors\";\n\nexport default colors(\"8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f\");\n","import colors from \"../colors\";\n\nexport default colors(\"1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf\");\n","export default function(specifier) {\n var n = specifier.length / 6 | 0, colors = new Array(n), i = 0;\n while (i < n) colors[i] = \"#\" + specifier.slice(i * 6, ++i * 6);\n return colors;\n}\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"d8b365f5f5f55ab4ac\",\n \"a6611adfc27d80cdc1018571\",\n \"a6611adfc27df5f5f580cdc1018571\",\n \"8c510ad8b365f6e8c3c7eae55ab4ac01665e\",\n \"8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e\",\n \"8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e\",\n \"8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e\",\n \"5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30\",\n \"5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"af8dc3f7f7f77fbf7b\",\n \"7b3294c2a5cfa6dba0008837\",\n \"7b3294c2a5cff7f7f7a6dba0008837\",\n \"762a83af8dc3e7d4e8d9f0d37fbf7b1b7837\",\n \"762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837\",\n \"762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837\",\n \"762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837\",\n \"40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b\",\n \"40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"e9a3c9f7f7f7a1d76a\",\n \"d01c8bf1b6dab8e1864dac26\",\n \"d01c8bf1b6daf7f7f7b8e1864dac26\",\n \"c51b7de9a3c9fde0efe6f5d0a1d76a4d9221\",\n \"c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221\",\n \"c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221\",\n \"c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221\",\n \"8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419\",\n \"8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"998ec3f7f7f7f1a340\",\n \"5e3c99b2abd2fdb863e66101\",\n \"5e3c99b2abd2f7f7f7fdb863e66101\",\n \"542788998ec3d8daebfee0b6f1a340b35806\",\n \"542788998ec3d8daebf7f7f7fee0b6f1a340b35806\",\n \"5427888073acb2abd2d8daebfee0b6fdb863e08214b35806\",\n \"5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806\",\n \"2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08\",\n \"2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"ef8a62f7f7f767a9cf\",\n \"ca0020f4a58292c5de0571b0\",\n \"ca0020f4a582f7f7f792c5de0571b0\",\n \"b2182bef8a62fddbc7d1e5f067a9cf2166ac\",\n \"b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac\",\n \"b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac\",\n \"b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac\",\n \"67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061\",\n \"67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"ef8a62ffffff999999\",\n \"ca0020f4a582bababa404040\",\n \"ca0020f4a582ffffffbababa404040\",\n \"b2182bef8a62fddbc7e0e0e09999994d4d4d\",\n \"b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d\",\n \"b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d\",\n \"b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d\",\n \"67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a\",\n \"67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fc8d59ffffbf91bfdb\",\n \"d7191cfdae61abd9e92c7bb6\",\n \"d7191cfdae61ffffbfabd9e92c7bb6\",\n \"d73027fc8d59fee090e0f3f891bfdb4575b4\",\n \"d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4\",\n \"d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4\",\n \"d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4\",\n \"a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695\",\n \"a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fc8d59ffffbf91cf60\",\n \"d7191cfdae61a6d96a1a9641\",\n \"d7191cfdae61ffffbfa6d96a1a9641\",\n \"d73027fc8d59fee08bd9ef8b91cf601a9850\",\n \"d73027fc8d59fee08bffffbfd9ef8b91cf601a9850\",\n \"d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850\",\n \"d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850\",\n \"a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837\",\n \"a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fc8d59ffffbf99d594\",\n \"d7191cfdae61abdda42b83ba\",\n \"d7191cfdae61ffffbfabdda42b83ba\",\n \"d53e4ffc8d59fee08be6f59899d5943288bd\",\n \"d53e4ffc8d59fee08bffffbfe6f59899d5943288bd\",\n \"d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd\",\n \"d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd\",\n \"9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2\",\n \"9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2\"\n).map(colors);\n\nexport default ramp(scheme);\n","export {default as schemeCategory10} from \"./categorical/category10\";\nexport {default as schemeAccent} from \"./categorical/Accent\";\nexport {default as schemeDark2} from \"./categorical/Dark2\";\nexport {default as schemePaired} from \"./categorical/Paired\";\nexport {default as schemePastel1} from \"./categorical/Pastel1\";\nexport {default as schemePastel2} from \"./categorical/Pastel2\";\nexport {default as schemeSet1} from \"./categorical/Set1\";\nexport {default as schemeSet2} from \"./categorical/Set2\";\nexport {default as schemeSet3} from \"./categorical/Set3\";\nexport {default as interpolateBrBG, scheme as schemeBrBG} from \"./diverging/BrBG\";\nexport {default as interpolatePRGn, scheme as schemePRGn} from \"./diverging/PRGn\";\nexport {default as interpolatePiYG, scheme as schemePiYG} from \"./diverging/PiYG\";\nexport {default as interpolatePuOr, scheme as schemePuOr} from \"./diverging/PuOr\";\nexport {default as interpolateRdBu, scheme as schemeRdBu} from \"./diverging/RdBu\";\nexport {default as interpolateRdGy, scheme as schemeRdGy} from \"./diverging/RdGy\";\nexport {default as interpolateRdYlBu, scheme as schemeRdYlBu} from \"./diverging/RdYlBu\";\nexport {default as interpolateRdYlGn, scheme as schemeRdYlGn} from \"./diverging/RdYlGn\";\nexport {default as interpolateSpectral, scheme as schemeSpectral} from \"./diverging/Spectral\";\nexport {default as interpolateBuGn, scheme as schemeBuGn} from \"./sequential-multi/BuGn\";\nexport {default as interpolateBuPu, scheme as schemeBuPu} from \"./sequential-multi/BuPu\";\nexport {default as interpolateGnBu, scheme as schemeGnBu} from \"./sequential-multi/GnBu\";\nexport {default as interpolateOrRd, scheme as schemeOrRd} from \"./sequential-multi/OrRd\";\nexport {default as interpolatePuBuGn, scheme as schemePuBuGn} from \"./sequential-multi/PuBuGn\";\nexport {default as interpolatePuBu, scheme as schemePuBu} from \"./sequential-multi/PuBu\";\nexport {default as interpolatePuRd, scheme as schemePuRd} from \"./sequential-multi/PuRd\";\nexport {default as interpolateRdPu, scheme as schemeRdPu} from \"./sequential-multi/RdPu\";\nexport {default as interpolateYlGnBu, scheme as schemeYlGnBu} from \"./sequential-multi/YlGnBu\";\nexport {default as interpolateYlGn, scheme as schemeYlGn} from \"./sequential-multi/YlGn\";\nexport {default as interpolateYlOrBr, scheme as schemeYlOrBr} from \"./sequential-multi/YlOrBr\";\nexport {default as interpolateYlOrRd, scheme as schemeYlOrRd} from \"./sequential-multi/YlOrRd\";\nexport {default as interpolateBlues, scheme as schemeBlues} from \"./sequential-single/Blues\";\nexport {default as interpolateGreens, scheme as schemeGreens} from \"./sequential-single/Greens\";\nexport {default as interpolateGreys, scheme as schemeGreys} from \"./sequential-single/Greys\";\nexport {default as interpolatePurples, scheme as schemePurples} from \"./sequential-single/Purples\";\nexport {default as interpolateReds, scheme as schemeReds} from \"./sequential-single/Reds\";\nexport {default as interpolateOranges, scheme as schemeOranges} from \"./sequential-single/Oranges\";\nexport {default as interpolateCubehelixDefault} from \"./sequential-multi/cubehelix\";\nexport {default as interpolateRainbow, warm as interpolateWarm, cool as interpolateCool} from \"./sequential-multi/rainbow\";\nexport {default as interpolateSinebow} from \"./sequential-multi/sinebow\";\nexport {default as interpolateViridis, magma as interpolateMagma, inferno as interpolateInferno, plasma as interpolatePlasma} from \"./sequential-multi/viridis\";\n","import {interpolateRgbBasis} from \"d3-interpolate\";\n\nexport default function(scheme) {\n return interpolateRgbBasis(scheme[scheme.length - 1]);\n}\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"e5f5f999d8c92ca25f\",\n \"edf8fbb2e2e266c2a4238b45\",\n \"edf8fbb2e2e266c2a42ca25f006d2c\",\n \"edf8fbccece699d8c966c2a42ca25f006d2c\",\n \"edf8fbccece699d8c966c2a441ae76238b45005824\",\n \"f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824\",\n \"f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"e0ecf49ebcda8856a7\",\n \"edf8fbb3cde38c96c688419d\",\n \"edf8fbb3cde38c96c68856a7810f7c\",\n \"edf8fbbfd3e69ebcda8c96c68856a7810f7c\",\n \"edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b\",\n \"f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b\",\n \"f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"e0f3dba8ddb543a2ca\",\n \"f0f9e8bae4bc7bccc42b8cbe\",\n \"f0f9e8bae4bc7bccc443a2ca0868ac\",\n \"f0f9e8ccebc5a8ddb57bccc443a2ca0868ac\",\n \"f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e\",\n \"f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e\",\n \"f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fee8c8fdbb84e34a33\",\n \"fef0d9fdcc8afc8d59d7301f\",\n \"fef0d9fdcc8afc8d59e34a33b30000\",\n \"fef0d9fdd49efdbb84fc8d59e34a33b30000\",\n \"fef0d9fdd49efdbb84fc8d59ef6548d7301f990000\",\n \"fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000\",\n \"fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"ece7f2a6bddb2b8cbe\",\n \"f1eef6bdc9e174a9cf0570b0\",\n \"f1eef6bdc9e174a9cf2b8cbe045a8d\",\n \"f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d\",\n \"f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b\",\n \"fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b\",\n \"fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"ece2f0a6bddb1c9099\",\n \"f6eff7bdc9e167a9cf02818a\",\n \"f6eff7bdc9e167a9cf1c9099016c59\",\n \"f6eff7d0d1e6a6bddb67a9cf1c9099016c59\",\n \"f6eff7d0d1e6a6bddb67a9cf3690c002818a016450\",\n \"fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450\",\n \"fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"e7e1efc994c7dd1c77\",\n \"f1eef6d7b5d8df65b0ce1256\",\n \"f1eef6d7b5d8df65b0dd1c77980043\",\n \"f1eef6d4b9dac994c7df65b0dd1c77980043\",\n \"f1eef6d4b9dac994c7df65b0e7298ace125691003f\",\n \"f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f\",\n \"f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fde0ddfa9fb5c51b8a\",\n \"feebe2fbb4b9f768a1ae017e\",\n \"feebe2fbb4b9f768a1c51b8a7a0177\",\n \"feebe2fcc5c0fa9fb5f768a1c51b8a7a0177\",\n \"feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177\",\n \"fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177\",\n \"fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"f7fcb9addd8e31a354\",\n \"ffffccc2e69978c679238443\",\n \"ffffccc2e69978c67931a354006837\",\n \"ffffccd9f0a3addd8e78c67931a354006837\",\n \"ffffccd9f0a3addd8e78c67941ab5d238443005a32\",\n \"ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32\",\n \"ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"edf8b17fcdbb2c7fb8\",\n \"ffffcca1dab441b6c4225ea8\",\n \"ffffcca1dab441b6c42c7fb8253494\",\n \"ffffccc7e9b47fcdbb41b6c42c7fb8253494\",\n \"ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84\",\n \"ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84\",\n \"ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fff7bcfec44fd95f0e\",\n \"ffffd4fed98efe9929cc4c02\",\n \"ffffd4fed98efe9929d95f0e993404\",\n \"ffffd4fee391fec44ffe9929d95f0e993404\",\n \"ffffd4fee391fec44ffe9929ec7014cc4c028c2d04\",\n \"ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04\",\n \"ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"ffeda0feb24cf03b20\",\n \"ffffb2fecc5cfd8d3ce31a1c\",\n \"ffffb2fecc5cfd8d3cf03b20bd0026\",\n \"ffffb2fed976feb24cfd8d3cf03b20bd0026\",\n \"ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026\",\n \"ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026\",\n \"ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026\"\n).map(colors);\n\nexport default ramp(scheme);\n","import {cubehelix} from \"d3-color\";\nimport {interpolateCubehelixLong} from \"d3-interpolate\";\n\nexport default interpolateCubehelixLong(cubehelix(300, 0.5, 0.0), cubehelix(-240, 0.5, 1.0));\n","import {cubehelix} from \"d3-color\";\nimport {interpolateCubehelixLong} from \"d3-interpolate\";\n\nexport var warm = interpolateCubehelixLong(cubehelix(-100, 0.75, 0.35), cubehelix(80, 1.50, 0.8));\n\nexport var cool = interpolateCubehelixLong(cubehelix(260, 0.75, 0.35), cubehelix(80, 1.50, 0.8));\n\nvar c = cubehelix();\n\nexport default function(t) {\n if (t < 0 || t > 1) t -= Math.floor(t);\n var ts = Math.abs(t - 0.5);\n c.h = 360 * t - 100;\n c.s = 1.5 - 1.5 * ts;\n c.l = 0.8 - 0.9 * ts;\n return c + \"\";\n}\n","import {rgb} from \"d3-color\";\n\nvar c = rgb(),\n pi_1_3 = Math.PI / 3,\n pi_2_3 = Math.PI * 2 / 3;\n\nexport default function(t) {\n var x;\n t = (0.5 - t) * Math.PI;\n c.r = 255 * (x = Math.sin(t)) * x;\n c.g = 255 * (x = Math.sin(t + pi_1_3)) * x;\n c.b = 255 * (x = Math.sin(t + pi_2_3)) * x;\n return c + \"\";\n}\n","import colors from \"../colors\";\n\nfunction ramp(range) {\n var n = range.length;\n return function(t) {\n return range[Math.max(0, Math.min(n - 1, Math.floor(t * n)))];\n };\n}\n\nexport default ramp(colors(\"44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725\"));\n\nexport var magma = ramp(colors(\"00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf\"));\n\nexport var inferno = ramp(colors(\"00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4\"));\n\nexport var plasma = ramp(colors(\"0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921\"));\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"deebf79ecae13182bd\",\n \"eff3ffbdd7e76baed62171b5\",\n \"eff3ffbdd7e76baed63182bd08519c\",\n \"eff3ffc6dbef9ecae16baed63182bd08519c\",\n \"eff3ffc6dbef9ecae16baed64292c62171b5084594\",\n \"f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594\",\n \"f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"e5f5e0a1d99b31a354\",\n \"edf8e9bae4b374c476238b45\",\n \"edf8e9bae4b374c47631a354006d2c\",\n \"edf8e9c7e9c0a1d99b74c47631a354006d2c\",\n \"edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32\",\n \"f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32\",\n \"f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"f0f0f0bdbdbd636363\",\n \"f7f7f7cccccc969696525252\",\n \"f7f7f7cccccc969696636363252525\",\n \"f7f7f7d9d9d9bdbdbd969696636363252525\",\n \"f7f7f7d9d9d9bdbdbd969696737373525252252525\",\n \"fffffff0f0f0d9d9d9bdbdbd969696737373525252252525\",\n \"fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fee6cefdae6be6550d\",\n \"feeddefdbe85fd8d3cd94701\",\n \"feeddefdbe85fd8d3ce6550da63603\",\n \"feeddefdd0a2fdae6bfd8d3ce6550da63603\",\n \"feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04\",\n \"fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04\",\n \"fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"efedf5bcbddc756bb1\",\n \"f2f0f7cbc9e29e9ac86a51a3\",\n \"f2f0f7cbc9e29e9ac8756bb154278f\",\n \"f2f0f7dadaebbcbddc9e9ac8756bb154278f\",\n \"f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486\",\n \"fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486\",\n \"fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors\";\nimport ramp from \"../ramp\";\n\nexport var scheme = new Array(3).concat(\n \"fee0d2fc9272de2d26\",\n \"fee5d9fcae91fb6a4acb181d\",\n \"fee5d9fcae91fb6a4ade2d26a50f15\",\n \"fee5d9fcbba1fc9272fb6a4ade2d26a50f15\",\n \"fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d\",\n \"fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d\",\n \"fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d\"\n).map(colors);\n\nexport default ramp(scheme);\n","var array = Array.prototype;\n\nexport var map = array.map;\nexport var slice = array.slice;\n","import {range as sequence} from \"d3-array\";\nimport ordinal from \"./ordinal\";\n\nexport default function band() {\n var scale = ordinal().unknown(undefined),\n domain = scale.domain,\n ordinalRange = scale.range,\n range = [0, 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 = range[1] < range[0],\n start = range[reverse - 0],\n stop = range[1 - reverse];\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 ? (range = [+_[0], +_[1]], rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = [+_[0], +_[1]], 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 = paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingInner;\n };\n\n scale.paddingInner = function(_) {\n return arguments.length ? (paddingInner = Math.max(0, Math.min(1, _)), rescale()) : paddingInner;\n };\n\n scale.paddingOuter = function(_) {\n return arguments.length ? (paddingOuter = Math.max(0, Math.min(1, _)), 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()\n .domain(domain())\n .range(range)\n .round(round)\n .paddingInner(paddingInner)\n .paddingOuter(paddingOuter)\n .align(align);\n };\n\n return rescale();\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().paddingInner(1));\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateRound} from \"d3-interpolate\";\nimport {map, slice} from \"./array\";\nimport constant from \"./constant\";\nimport number from \"./number\";\n\nvar unit = [0, 1];\n\nexport function deinterpolateLinear(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(b);\n}\n\nfunction deinterpolateClamp(deinterpolate) {\n return function(a, b) {\n var d = deinterpolate(a = +a, b = +b);\n return function(x) { return x <= a ? 0 : x >= b ? 1 : d(x); };\n };\n}\n\nfunction reinterpolateClamp(reinterpolate) {\n return function(a, b) {\n var r = reinterpolate(a = +a, b = +b);\n return function(t) { return t <= 0 ? a : t >= 1 ? b : r(t); };\n };\n}\n\nfunction bimap(domain, range, deinterpolate, reinterpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = deinterpolate(d1, d0), r0 = reinterpolate(r1, r0);\n else d0 = deinterpolate(d0, d1), r0 = reinterpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, deinterpolate, reinterpolate) {\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] = deinterpolate(domain[i], domain[i + 1]);\n r[i] = reinterpolate(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}\n\n// deinterpolate(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// reinterpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding domain value x in [a,b].\nexport default function continuous(deinterpolate, reinterpolate) {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n clamp = false,\n piecewise,\n output,\n input;\n\n function rescale() {\n piecewise = Math.min(domain.length, range.length) > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return (output || (output = piecewise(domain, range, clamp ? deinterpolateClamp(deinterpolate) : deinterpolate, interpolate)))(+x);\n }\n\n scale.invert = function(y) {\n return (input || (input = piecewise(range, domain, deinterpolateLinear, clamp ? reinterpolateClamp(reinterpolate) : reinterpolate)))(+y);\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = map.call(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = slice.call(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = slice.call(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = !!_, rescale()) : clamp;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n return rescale();\n}\n","import {linearish} from \"./linear\";\n\nexport default function diverging(interpolator) {\n var x0 = 0,\n x1 = 0.5,\n x2 = 1,\n k10 = 1,\n k21 = 1,\n clamp = false;\n\n function scale(x) {\n var t = 0.5 + ((x = +x) - x1) * (x < x1 ? k10 : k21);\n return interpolator(clamp ? Math.max(0, Math.min(1, t)) : t);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (x0 = +_[0], x1 = +_[1], x2 = +_[2], k10 = x0 === x1 ? 0 : 0.5 / (x1 - x0), k21 = x1 === x2 ? 0 : 0.5 / (x2 - x1), scale) : [x0, x1, x2];\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = !!_, scale) : clamp;\n };\n\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n scale.copy = function() {\n return diverging(interpolator).domain([x0, x1, x2]).clamp(clamp);\n };\n\n return linearish(scale);\n}\n","import {map} from \"./array\";\nimport {linearish} from \"./linear\";\nimport number from \"./number\";\n\nexport default function identity() {\n var domain = [0, 1];\n\n function scale(x) {\n return +x;\n }\n\n scale.invert = scale;\n\n scale.domain = scale.range = function(_) {\n return arguments.length ? (domain = map.call(_, number), scale) : domain.slice();\n };\n\n scale.copy = function() {\n return identity().domain(domain);\n };\n\n return linearish(scale);\n}\n","export {\n default as scaleBand,\n point as scalePoint\n} from \"./band\";\n\nexport {\n default as scaleIdentity\n} from \"./identity\";\n\nexport {\n default as scaleLinear\n} from \"./linear\";\n\nexport {\n default as scaleLog\n} from \"./log\";\n\nexport {\n default as scaleOrdinal,\n implicit as scaleImplicit\n} from \"./ordinal\";\n\nexport {\n default as scalePow,\n sqrt as scaleSqrt\n} from \"./pow\";\n\nexport {\n default as scaleQuantile\n} from \"./quantile\";\n\nexport {\n default as scaleQuantize\n} from \"./quantize\";\n\nexport {\n default as scaleThreshold\n} from \"./threshold\";\n\nexport {\n default as scaleTime\n} from \"./time\";\n\nexport {\n default as scaleUtc\n} from \"./utcTime\";\n\nexport {\n default as scaleSequential\n} from \"./sequential\";\n\nexport {\n default as scaleDiverging\n} from \"./diverging\";\n","import {ticks, tickIncrement} from \"d3-array\";\nimport {interpolateNumber as reinterpolate} from \"d3-interpolate\";\nimport {default as continuous, copy, deinterpolateLinear as deinterpolate} from \"./continuous\";\nimport tickFormat from \"./tickFormat\";\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 return tickFormat(domain(), count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain(),\n i0 = 0,\n i1 = d.length - 1,\n start = d[i0],\n stop = d[i1],\n step;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n\n step = tickIncrement(start, stop, count);\n\n if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n step = tickIncrement(start, stop, count);\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n step = tickIncrement(start, stop, count);\n }\n\n if (step > 0) {\n d[i0] = Math.floor(start / step) * step;\n d[i1] = Math.ceil(stop / step) * step;\n domain(d);\n } else if (step < 0) {\n d[i0] = Math.ceil(start * step) / step;\n d[i1] = Math.floor(stop * step) / step;\n domain(d);\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous(deinterpolate, reinterpolate);\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n return linearish(scale);\n}\n","import {ticks} from \"d3-array\";\nimport {format} from \"d3-format\";\nimport constant from \"./constant\";\nimport nice from \"./nice\";\nimport {default as continuous, copy} from \"./continuous\";\n\nfunction deinterpolate(a, b) {\n return (b = Math.log(b / a))\n ? function(x) { return Math.log(x / a) / b; }\n : constant(b);\n}\n\nfunction reinterpolate(a, b) {\n return a < 0\n ? function(t) { return -Math.pow(-b, t) * Math.pow(-a, 1 - t); }\n : function(t) { return Math.pow(b, t) * Math.pow(a, 1 - t); };\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 : function(x) { return 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), function(x) { return Math.log(x) / base; });\n}\n\nfunction reflect(f) {\n return function(x) {\n return -f(-x);\n };\n}\n\nexport default function log() {\n var scale = continuous(deinterpolate, reinterpolate).domain([1, 10]),\n domain = scale.domain,\n base = 10,\n logs = logp(10),\n pows = powp(10);\n\n function rescale() {\n logs = logp(base), pows = powp(base);\n if (domain()[0] < 0) logs = reflect(logs), pows = reflect(pows);\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 = function(count) {\n var d = domain(),\n u = d[0],\n v = d[d.length - 1],\n r;\n\n if (r = v < u) i = u, u = v, v = i;\n\n var i = logs(u),\n j = logs(v),\n p,\n k,\n t,\n n = count == null ? 10 : +count,\n z = [];\n\n if (!(base % 1) && j - i < n) {\n i = Math.round(i) - 1, j = Math.round(j) + 1;\n if (u > 0) for (; i < j; ++i) {\n for (k = 1, p = pows(i); k < base; ++k) {\n t = p * k;\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, p = pows(i); k >= 1; --k) {\n t = p * k;\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n }\n } else {\n z = ticks(i, j, Math.min(j - i, n)).map(pows);\n }\n\n return r ? z.reverse() : z;\n };\n\n scale.tickFormat = function(count, specifier) {\n if (specifier == null) specifier = base === 10 ? \".0e\" : \",\";\n if (typeof specifier !== \"function\") specifier = format(specifier);\n if (count === Infinity) return specifier;\n if (count == null) count = 10;\n var k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate?\n return function(d) {\n var 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 = function() {\n return domain(nice(domain(), {\n floor: function(x) { return pows(Math.floor(logs(x))); },\n ceil: function(x) { return pows(Math.ceil(logs(x))); }\n }));\n };\n\n scale.copy = function() {\n return copy(scale, log().base(base));\n };\n\n return scale;\n}\n","export default function(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","export default function(x) {\n return +x;\n}\n","import {map} from \"d3-collection\";\nimport {slice} from \"./array\";\n\nexport var implicit = {name: \"implicit\"};\n\nexport default function ordinal(range) {\n var index = map(),\n domain = [],\n unknown = implicit;\n\n range = range == null ? [] : slice.call(range);\n\n function scale(d) {\n var key = d + \"\", i = index.get(key);\n if (!i) {\n if (unknown !== implicit) return unknown;\n index.set(key, i = domain.push(d));\n }\n return range[(i - 1) % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = map();\n var i = -1, n = _.length, d, key;\n while (++i < n) if (!index.has(key = (d = _[i]) + \"\")) index.set(key, domain.push(d));\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = slice.call(_), 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()\n .domain(domain)\n .range(range)\n .unknown(unknown);\n };\n\n return scale;\n}\n","import constant from \"./constant\";\nimport {linearish} from \"./linear\";\nimport {default as continuous, copy} from \"./continuous\";\n\nfunction raise(x, exponent) {\n return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);\n}\n\nexport default function pow() {\n var exponent = 1,\n scale = continuous(deinterpolate, reinterpolate),\n domain = scale.domain;\n\n function deinterpolate(a, b) {\n return (b = raise(b, exponent) - (a = raise(a, exponent)))\n ? function(x) { return (raise(x, exponent) - a) / b; }\n : constant(b);\n }\n\n function reinterpolate(a, b) {\n b = raise(b, exponent) - (a = raise(a, exponent));\n return function(t) { return raise(a + b * t, 1 / exponent); };\n }\n\n scale.exponent = function(_) {\n return arguments.length ? (exponent = +_, domain(domain())) : exponent;\n };\n\n scale.copy = function() {\n return copy(scale, pow().exponent(exponent));\n };\n\n return linearish(scale);\n}\n\nexport function sqrt() {\n return pow().exponent(0.5);\n}\n","import {ascending, bisect, quantile as threshold} from \"d3-array\";\nimport {slice} from \"./array\";\n\nexport default function quantile() {\n var domain = [],\n range = [],\n thresholds = [];\n\n function rescale() {\n var i = 0, n = Math.max(1, range.length);\n thresholds = new Array(n - 1);\n while (++i < n) thresholds[i - 1] = threshold(domain, i / n);\n return scale;\n }\n\n function scale(x) {\n if (!isNaN(x = +x)) return range[bisect(thresholds, x)];\n }\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN] : [\n i > 0 ? thresholds[i - 1] : domain[0],\n i < thresholds.length ? thresholds[i] : domain[domain.length - 1]\n ];\n };\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n for (var i = 0, n = _.length, d; i < n; ++i) if (d = _[i], d != null && !isNaN(d = +d)) domain.push(d);\n domain.sort(ascending);\n return rescale();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = slice.call(_), rescale()) : range.slice();\n };\n\n scale.quantiles = function() {\n return thresholds.slice();\n };\n\n scale.copy = function() {\n return quantile()\n .domain(domain)\n .range(range);\n };\n\n return scale;\n}\n","import {bisect} from \"d3-array\";\nimport {slice} from \"./array\";\nimport {linearish} from \"./linear\";\n\nexport default function quantize() {\n var x0 = 0,\n x1 = 1,\n n = 1,\n domain = [0.5],\n range = [0, 1];\n\n function scale(x) {\n if (x <= x) return range[bisect(domain, x, 0, n)];\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 = +_[0], x1 = +_[1], rescale()) : [x0, x1];\n };\n\n scale.range = function(_) {\n return arguments.length ? (n = (range = slice.call(_)).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.copy = function() {\n return quantize()\n .domain([x0, x1])\n .range(range);\n };\n\n return linearish(scale);\n}\n","import {linearish} from \"./linear\";\n\nexport default function sequential(interpolator) {\n var x0 = 0,\n x1 = 1,\n k10 = 1,\n clamp = false;\n\n function scale(x) {\n var t = (x - x0) * k10;\n return interpolator(clamp ? Math.max(0, Math.min(1, t)) : t);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (x0 = +_[0], x1 = +_[1], k10 = x0 === x1 ? 0 : 1 / (x1 - x0), scale) : [x0, x1];\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = !!_, scale) : clamp;\n };\n\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n scale.copy = function() {\n return sequential(interpolator).domain([x0, x1]).clamp(clamp);\n };\n\n return linearish(scale);\n}\n","import {bisect} from \"d3-array\";\nimport {slice} from \"./array\";\n\nexport default function threshold() {\n var domain = [0.5],\n range = [0, 1],\n n = 1;\n\n function scale(x) {\n if (x <= x) return range[bisect(domain, x, 0, n)];\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain = slice.call(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = slice.call(_), n = Math.min(domain.length, range.length - 1), scale) : range.slice();\n };\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return [domain[i - 1], domain[i]];\n };\n\n scale.copy = function() {\n return threshold()\n .domain(domain)\n .range(range);\n };\n\n return scale;\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function(domain, count, specifier) {\n var start = domain[0],\n stop = domain[domain.length - 1],\n step = tickStep(start, stop, count == null ? 10 : 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 {bisector, tickStep} from \"d3-array\";\nimport {interpolateNumber as reinterpolate} from \"d3-interpolate\";\nimport {timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeMillisecond} from \"d3-time\";\nimport {timeFormat} from \"d3-time-format\";\nimport {map} from \"./array\";\nimport {default as continuous, copy, deinterpolateLinear as deinterpolate} from \"./continuous\";\nimport nice from \"./nice\";\n\nvar durationSecond = 1000,\n durationMinute = durationSecond * 60,\n durationHour = durationMinute * 60,\n durationDay = durationHour * 24,\n durationWeek = durationDay * 7,\n durationMonth = durationDay * 30,\n durationYear = durationDay * 365;\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(year, month, week, day, hour, minute, second, millisecond, format) {\n var scale = continuous(deinterpolate, reinterpolate),\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 var 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 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 function tickInterval(interval, start, stop, step) {\n if (interval == null) interval = 10;\n\n // If a desired tick count is specified, pick a reasonable tick interval\n // based on the extent of the domain and a rough estimate of tick size.\n // Otherwise, assume interval is already a time interval and use it.\n if (typeof interval === \"number\") {\n var target = Math.abs(stop - start) / interval,\n i = bisector(function(i) { return i[2]; }).right(tickIntervals, target);\n if (i === tickIntervals.length) {\n step = tickStep(start / durationYear, stop / durationYear, interval);\n interval = year;\n } else if (i) {\n i = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n step = i[1];\n interval = i[0];\n } else {\n step = Math.max(tickStep(start, stop, interval), 1);\n interval = millisecond;\n }\n }\n\n return step == null ? interval : interval.every(step);\n }\n\n scale.invert = function(y) {\n return new Date(invert(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? domain(map.call(_, number)) : domain().map(date);\n };\n\n scale.ticks = function(interval, step) {\n var d = domain(),\n t0 = d[0],\n t1 = d[d.length - 1],\n r = t1 < t0,\n t;\n if (r) t = t0, t0 = t1, t1 = t;\n t = tickInterval(interval, t0, t1, step);\n t = t ? t.range(t0, t1 + 1) : []; // inclusive stop\n return r ? t.reverse() : t;\n };\n\n scale.tickFormat = function(count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function(interval, step) {\n var d = domain();\n return (interval = tickInterval(interval, d[0], d[d.length - 1], step))\n ? domain(nice(d, interval))\n : scale;\n };\n\n scale.copy = function() {\n return copy(scale, calendar(year, month, week, day, hour, minute, second, millisecond, format));\n };\n\n return scale;\n}\n\nexport default function() {\n return calendar(timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeMillisecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]);\n}\n","import {calendar} from \"./time\";\nimport {utcFormat} from \"d3-time-format\";\nimport {utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcMillisecond} from \"d3-time\";\n\nexport default function() {\n return calendar(utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcMillisecond, utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]);\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import creator from \"./creator\";\nimport select from \"./select\";\n\nexport default function(name) {\n return select(creator(name).call(document.documentElement));\n}\n","import namespace from \"./namespace\";\nimport {xhtml} from \"./namespaces\";\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","export {default as create} from \"./create\";\nexport {default as creator} from \"./creator\";\nexport {default as local} from \"./local\";\nexport {default as matcher} from \"./matcher\";\nexport {default as mouse} from \"./mouse\";\nexport {default as namespace} from \"./namespace\";\nexport {default as namespaces} from \"./namespaces\";\nexport {default as clientPoint} from \"./point\";\nexport {default as select} from \"./select\";\nexport {default as selectAll} from \"./selectAll\";\nexport {default as selection} from \"./selection/index\";\nexport {default as selector} from \"./selector\";\nexport {default as selectorAll} from \"./selectorAll\";\nexport {styleValue as style} from \"./selection/style\";\nexport {default as touch} from \"./touch\";\nexport {default as touches} from \"./touches\";\nexport {default as window} from \"./window\";\nexport {event, customEvent} from \"./selection/on\";\n","var nextId = 0;\n\nexport default function local() {\n return new Local;\n}\n\nfunction Local() {\n this._ = \"@\" + (++nextId).toString(36);\n}\n\nLocal.prototype = local.prototype = {\n constructor: Local,\n get: function(node) {\n var id = this._;\n while (!(id in node)) if (!(node = node.parentNode)) return;\n return node[id];\n },\n set: function(node, value) {\n return node[this._] = value;\n },\n remove: function(node) {\n return this._ in node && delete node[this._];\n },\n toString: function() {\n return this._;\n }\n};\n","var matcher = function(selector) {\n return function() {\n return this.matches(selector);\n };\n};\n\nif (typeof document !== \"undefined\") {\n var element = document.documentElement;\n if (!element.matches) {\n var vendorMatches = element.webkitMatchesSelector\n || element.msMatchesSelector\n || element.mozMatchesSelector\n || element.oMatchesSelector;\n matcher = function(selector) {\n return function() {\n return vendorMatches.call(this, selector);\n };\n };\n }\n}\n\nexport default matcher;\n","import sourceEvent from \"./sourceEvent\";\nimport point from \"./point\";\n\nexport default function(node) {\n var event = sourceEvent();\n if (event.changedTouches) event = event.changedTouches[0];\n return point(node, event);\n}\n","import namespaces from \"./namespaces\";\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;\n}\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","export default function(node, event) {\n var svg = node.ownerSVGElement || node;\n\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\n var rect = node.getBoundingClientRect();\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n}\n","import {Selection, root} from \"./selection/index\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([[document.querySelector(selector)]], [document.documentElement])\n : new Selection([[selector]], root);\n}\n","import {Selection, root} from \"./selection/index\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([document.querySelectorAll(selector)], [document.documentElement])\n : new Selection([selector == null ? [] : selector], root);\n}\n","import creator from \"../creator\";\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 namespace from \"../namespace\";\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() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\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 selection_cloneShallow() {\n return this.parentNode.insertBefore(this.cloneNode(false), this.nextSibling);\n}\n\nfunction selection_cloneDeep() {\n return this.parentNode.insertBefore(this.cloneNode(true), this.nextSibling);\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n","import {Selection} from \"./index\";\nimport {EnterNode} from \"./enter\";\nimport constant from \"../constant\";\n\nvar keyPrefix = \"$\"; // Protect against keys like “__proto__”.\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 = {},\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 = keyPrefix + key.call(node, node.__data__, i, group);\n if (keyValue in nodeByKeyValue) {\n exit[i] = node;\n } else {\n nodeByKeyValue[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 = keyPrefix + key.call(parent, data[i], i, data);\n if (node = nodeByKeyValue[keyValue]) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue[keyValue] = null;\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[keyValues[i]] === node)) {\n exit[i] = node;\n }\n }\n}\n\nexport default function(value, key) {\n if (!value) {\n data = new Array(this.size()), j = -1;\n this.each(function(d) { data[++j] = d; });\n return data;\n }\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 = 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","export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n","import defaultView from \"../window\";\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(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","export default function() {\n return !this.node();\n}\n","import sparse from \"./sparse\";\nimport {Selection} from \"./index\";\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","import sparse from \"./sparse\";\nimport {Selection} from \"./index\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n","import {Selection} from \"./index\";\nimport matcher from \"../matcher\";\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","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","import selection_select from \"./select\";\nimport selection_selectAll from \"./selectAll\";\nimport selection_filter from \"./filter\";\nimport selection_data from \"./data\";\nimport selection_enter from \"./enter\";\nimport selection_exit from \"./exit\";\nimport selection_merge from \"./merge\";\nimport selection_order from \"./order\";\nimport selection_sort from \"./sort\";\nimport selection_call from \"./call\";\nimport selection_nodes from \"./nodes\";\nimport selection_node from \"./node\";\nimport selection_size from \"./size\";\nimport selection_empty from \"./empty\";\nimport selection_each from \"./each\";\nimport selection_attr from \"./attr\";\nimport selection_style from \"./style\";\nimport selection_property from \"./property\";\nimport selection_classed from \"./classed\";\nimport selection_text from \"./text\";\nimport selection_html from \"./html\";\nimport selection_raise from \"./raise\";\nimport selection_lower from \"./lower\";\nimport selection_append from \"./append\";\nimport selection_insert from \"./insert\";\nimport selection_remove from \"./remove\";\nimport selection_clone from \"./clone\";\nimport selection_datum from \"./datum\";\nimport selection_on from \"./on\";\nimport selection_dispatch from \"./dispatch\";\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\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n merge: selection_merge,\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};\n\nexport default selection;\n","import creator from \"../creator\";\nimport selector from \"../selector\";\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 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 {Selection} from \"./index\";\n\nexport default function(selection) {\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 = 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 var nodes = new Array(this.size()), i = -1;\n this.each(function() { nodes[++i] = this; });\n return nodes;\n}\n","var filterEvents = {};\n\nexport var event = null;\n\nif (typeof document !== \"undefined\") {\n var element = document.documentElement;\n if (!(\"onmouseenter\" in element)) {\n filterEvents = {mouseenter: \"mouseover\", mouseleave: \"mouseout\"};\n }\n}\n\nfunction filterContextListener(listener, index, group) {\n listener = contextListener(listener, index, group);\n return function(event) {\n var related = event.relatedTarget;\n if (!related || (related !== this && !(related.compareDocumentPosition(this) & 8))) {\n listener.call(this, event);\n }\n };\n}\n\nfunction contextListener(listener, index, group) {\n return function(event1) {\n var event0 = event; // Events can be reentrant (e.g., focus).\n event = event1;\n try {\n listener.call(this, this.__data__, index, group);\n } finally {\n event = event0;\n }\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.capture);\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, capture) {\n var wrap = filterEvents.hasOwnProperty(typename.type) ? filterContextListener : contextListener;\n return function(d, i, group) {\n var on = this.__on, o, listener = wrap(value, i, group);\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.capture);\n this.addEventListener(o.type, o.listener = listener, o.capture = capture);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, capture);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, capture: capture};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, capture) {\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 if (capture == null) capture = false;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, capture));\n return this;\n}\n\nexport function customEvent(event1, listener, that, args) {\n var event0 = event;\n event1.sourceEvent = event;\n event = event1;\n try {\n return listener.apply(that, args);\n } finally {\n event = event0;\n }\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 && next !== node.nextSibling) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\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 raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\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","import {Selection} from \"./index\";\nimport selector from \"../selector\";\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","import {Selection} from \"./index\";\nimport selectorAll from \"../selectorAll\";\n\nexport default function(select) {\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 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() {\n var size = 0;\n this.each(function() { ++size; });\n return size;\n}\n","import {Selection} from \"./index\";\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(update) {\n return new Array(update.length);\n}\n","import defaultView from \"../window\";\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 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 none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\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 {event} from \"./selection/on\";\n\nexport default function() {\n var current = event, source;\n while (source = current.sourceEvent) current = source;\n return current;\n}\n","import sourceEvent from \"./sourceEvent\";\nimport point from \"./point\";\n\nexport default function(node, touches, identifier) {\n if (arguments.length < 3) identifier = touches, touches = sourceEvent().changedTouches;\n\n for (var i = 0, n = touches ? touches.length : 0, touch; i < n; ++i) {\n if ((touch = touches[i]).identifier === identifier) {\n return point(node, touch);\n }\n }\n\n return null;\n}\n","import sourceEvent from \"./sourceEvent\";\nimport point from \"./point\";\n\nexport default function(node, touches) {\n if (touches == null) touches = sourceEvent().touches;\n\n for (var i = 0, n = touches ? touches.length : 0, points = new Array(n); i < n; ++i) {\n points[i] = point(node, touches[i]);\n }\n\n return points;\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 {path} from \"d3-path\";\nimport constant from \"./constant\";\nimport {abs, acos, asin, atan2, cos, epsilon, halfPi, max, min, pi, sin, sqrt, tau} from \"./math\";\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 = (x32 * (y0 - y2) - y32 * (x0 - x2)) / (y32 * x10 - x32 * y10);\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\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\n // Restrict the corner radius according to the sector angle.\n if (da < pi) {\n var oc = da0 > epsilon ? intersect(x01, y01, x00, y00, x11, y11, x10, y10) : [x10, y10],\n 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 }\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","import {path} from \"d3-path\";\nimport constant from \"./constant\";\nimport curveLinear from \"./curve/linear\";\nimport line from \"./line\";\nimport {x as pointX, y as pointY} from \"./point\";\n\nexport default function() {\n var x0 = pointX,\n x1 = null,\n y0 = constant(0),\n y1 = pointY,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n function area(data) {\n var i,\n j,\n k,\n n = 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","import curveRadial, {curveRadialLinear} from \"./curve/radial\";\nimport area from \"./area\";\nimport {lineRadial} from \"./lineRadial\"\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 var slice = Array.prototype.slice;\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\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); // proceed\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); // proceed\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\";\nimport {point} from \"./basis\";\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\";\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; // proceed\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\";\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; // proceed\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\";\nimport {point} from \"./cardinal\";\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\";\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; // proceed\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\";\nimport {Cardinal} from \"./cardinal\";\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; // proceed\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\";\nimport noop from \"../noop\";\nimport {point} from \"./catmullRom\";\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\";\nimport {point} from \"./catmullRom\";\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; // proceed\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","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; // proceed\n default: this._context.lineTo(x, y); break;\n }\n }\n};\n\nexport default function(context) {\n return new Linear(context);\n}\n","import noop from \"../noop\";\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","import curveLinear from \"./linear\";\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","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; // proceed\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(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","export {default as arc} from \"./arc\";\nexport {default as area} from \"./area\";\nexport {default as line} from \"./line\";\nexport {default as pie} from \"./pie\";\nexport {default as areaRadial, default as radialArea} from \"./areaRadial\"; // Note: radialArea is deprecated!\nexport {default as lineRadial, default as radialLine} from \"./lineRadial\"; // Note: radialLine is deprecated!\nexport {default as pointRadial} from \"./pointRadial\";\nexport {linkHorizontal, linkVertical, linkRadial} from \"./link/index\";\n\nexport {default as symbol, symbols} from \"./symbol\";\nexport {default as symbolCircle} from \"./symbol/circle\";\nexport {default as symbolCross} from \"./symbol/cross\";\nexport {default as symbolDiamond} from \"./symbol/diamond\";\nexport {default as symbolSquare} from \"./symbol/square\";\nexport {default as symbolStar} from \"./symbol/star\";\nexport {default as symbolTriangle} from \"./symbol/triangle\";\nexport {default as symbolWye} from \"./symbol/wye\";\n\nexport {default as curveBasisClosed} from \"./curve/basisClosed\";\nexport {default as curveBasisOpen} from \"./curve/basisOpen\";\nexport {default as curveBasis} from \"./curve/basis\";\nexport {default as curveBundle} from \"./curve/bundle\";\nexport {default as curveCardinalClosed} from \"./curve/cardinalClosed\";\nexport {default as curveCardinalOpen} from \"./curve/cardinalOpen\";\nexport {default as curveCardinal} from \"./curve/cardinal\";\nexport {default as curveCatmullRomClosed} from \"./curve/catmullRomClosed\";\nexport {default as curveCatmullRomOpen} from \"./curve/catmullRomOpen\";\nexport {default as curveCatmullRom} from \"./curve/catmullRom\";\nexport {default as curveLinearClosed} from \"./curve/linearClosed\";\nexport {default as curveLinear} from \"./curve/linear\";\nexport {monotoneX as curveMonotoneX, monotoneY as curveMonotoneY} from \"./curve/monotone\";\nexport {default as curveNatural} from \"./curve/natural\";\nexport {default as curveStep, stepAfter as curveStepAfter, stepBefore as curveStepBefore} from \"./curve/step\";\n\nexport {default as stack} from \"./stack\";\nexport {default as stackOffsetExpand} from \"./offset/expand\";\nexport {default as stackOffsetDiverging} from \"./offset/diverging\";\nexport {default as stackOffsetNone} from \"./offset/none\";\nexport {default as stackOffsetSilhouette} from \"./offset/silhouette\";\nexport {default as stackOffsetWiggle} from \"./offset/wiggle\";\nexport {default as stackOrderAscending} from \"./order/ascending\";\nexport {default as stackOrderDescending} from \"./order/descending\";\nexport {default as stackOrderInsideOut} from \"./order/insideOut\";\nexport {default as stackOrderNone} from \"./order/none\";\nexport {default as stackOrderReverse} from \"./order/reverse\";\n","import {path} from \"d3-path\";\nimport constant from \"./constant\";\nimport curveLinear from \"./curve/linear\";\nimport {x as pointX, y as pointY} from \"./point\";\n\nexport default function() {\n var x = pointX,\n y = pointY,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n function line(data) {\n var i,\n n = 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 curveRadial, {curveRadialLinear} from \"./curve/radial\";\nimport line from \"./line\";\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 {path} from \"d3-path\";\nimport {slice} from \"../array\";\nimport constant from \"../constant\";\nimport {x as pointX, y as pointY} from \"../point\";\nimport pointRadial from \"../pointRadial\";\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","export var abs = Math.abs;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var max = Math.max;\nexport var min = Math.min;\nexport var sin = Math.sin;\nexport var sqrt = Math.sqrt;\n\nexport var epsilon = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var 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","export default function() {}\n","export default function(series, order) {\n if (!((n = series.length) > 1)) 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] = yp;\n }\n }\n }\n}\n","import none from \"./none\";\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) > 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","import none from \"./none\";\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\";\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\";\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\";\n\nexport default function(series) {\n return ascending(series).reverse();\n}\n","import none from \"./none\";\nimport {sum} from \"./ascending\";\n\nexport default function(series) {\n var n = series.length,\n i,\n j,\n sums = series.map(sum),\n order = none(series).sort(function(a, b) { return sums[b] - sums[a]; }),\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","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 none from \"./none\";\n\nexport default function(series) {\n return none(series).reverse();\n}\n","import constant from \"./constant\";\nimport descending from \"./descending\";\nimport identity from \"./identity\";\nimport {tau} from \"./math\";\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.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","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n","export default function(x, y) {\n return [(y = +y) * Math.cos(x -= Math.PI / 2), y * Math.sin(x)];\n}\n","import {slice} from \"./array\";\nimport constant from \"./constant\";\nimport offsetNone from \"./offset/none\";\nimport orderNone from \"./order/none\";\n\nfunction stackValue(d, key) {\n return d[key];\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 kz = keys.apply(this, arguments),\n i,\n m = data.length,\n n = kz.length,\n sz = new Array(n),\n oz;\n\n for (i = 0; i < n; ++i) {\n for (var ki = kz[i], si = sz[i] = new Array(m), j = 0, sij; j < m; ++j) {\n si[j] = sij = [0, +value(data[j], ki, j, data)];\n sij.data = data[j];\n }\n si.key = ki;\n }\n\n for (i = 0, oz = 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(slice.call(_)), 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(slice.call(_)), 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 {path} from \"d3-path\";\nimport circle from \"./symbol/circle\";\nimport cross from \"./symbol/cross\";\nimport diamond from \"./symbol/diamond\";\nimport star from \"./symbol/star\";\nimport square from \"./symbol/square\";\nimport triangle from \"./symbol/triangle\";\nimport wye from \"./symbol/wye\";\nimport constant from \"./constant\";\n\nexport var symbols = [\n circle,\n cross,\n diamond,\n square,\n star,\n triangle,\n wye\n];\n\nexport default function() {\n var type = constant(circle),\n size = constant(64),\n context = null;\n\n function symbol() {\n var 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","import {pi, tau} from \"../math\";\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size / pi);\n context.moveTo(r, 0);\n context.arc(0, 0, r, 0, tau);\n }\n};\n","export default {\n draw: function(context, size) {\n var r = Math.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","var tan30 = Math.sqrt(1 / 3),\n tan30_2 = tan30 * 2;\n\nexport default {\n draw: function(context, size) {\n var y = Math.sqrt(size / tan30_2),\n 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","export default {\n draw: function(context, size) {\n var w = Math.sqrt(size),\n x = -w / 2;\n context.rect(x, x, w, w);\n }\n};\n","import {pi, tau} from \"../math\";\n\nvar ka = 0.89081309152928522810,\n kr = Math.sin(pi / 10) / Math.sin(7 * pi / 10),\n kx = Math.sin(tau / 10) * kr,\n ky = -Math.cos(tau / 10) * kr;\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size * ka),\n x = kx * r,\n y = ky * r;\n context.moveTo(0, -r);\n context.lineTo(x, y);\n for (var i = 1; i < 5; ++i) {\n var a = tau * i / 5,\n c = Math.cos(a),\n s = Math.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","var sqrt3 = Math.sqrt(3);\n\nexport default {\n draw: function(context, size) {\n var y = -Math.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","var c = -0.5,\n s = Math.sqrt(3) / 2,\n k = 1 / Math.sqrt(12),\n a = (k / 2 + 1) * 3;\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size / a),\n x0 = r / 2,\n y0 = r * k,\n x1 = x0,\n y1 = r * k + r,\n x2 = -x1,\n 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 formatLocale from \"./locale\";\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","export {default as timeFormatDefaultLocale, timeFormat, timeParse, utcFormat, utcParse} from \"./defaultLocale\";\nexport {default as timeFormatLocale} from \"./locale\";\nexport {default as isoFormat} from \"./isoFormat\";\nexport {default as isoParse} from \"./isoParse\";\n","import {utcFormat} from \"./defaultLocale\";\n\nexport var isoSpecifier = \"%Y-%m-%dT%H:%M:%S.%LZ\";\n\nfunction formatIsoNative(date) {\n return date.toISOString();\n}\n\nvar formatIso = Date.prototype.toISOString\n ? formatIsoNative\n : utcFormat(isoSpecifier);\n\nexport default formatIso;\n","import {isoSpecifier} from \"./isoFormat\";\nimport {utcParse} from \"./defaultLocale\";\n\nfunction parseIsoNative(string) {\n var date = new Date(string);\n return isNaN(date) ? null : date;\n}\n\nvar parseIso = +new Date(\"2000-01-01T00:00:00.000Z\")\n ? parseIsoNative\n : utcParse(isoSpecifier);\n\nexport default parseIso;\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 newYear(y) {\n return {y: y, m: 0, d: 1, 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 \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\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 \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\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 \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\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, newDate) {\n return function(string) {\n var d = newYear(1900),\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\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 // 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(newYear(d.y)), 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 = newDate(newYear(d.y)), 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(newYear(d.y)).getUTCDay() : newDate(newYear(d.y)).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 newDate(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[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[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[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[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[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 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 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 += \"\", localDate);\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, utcDate);\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 var map = {}, i = -1, n = names.length;\n while (++i < n) map[names[i].toLowerCase()] = i;\n return map;\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 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.Q = (+n[0]) * 1000, 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), d), p, 2);\n}\n\nfunction formatWeekNumberISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(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), d), p, 2);\n}\n\nfunction formatYear(d, p) {\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 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), d), p, 2);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(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), d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\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 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 interval from \"./interval\";\nimport {durationDay, durationMinute} from \"./duration\";\n\nvar day = interval(function(date) {\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setDate(date.getDate() + step);\n}, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay;\n}, function(date) {\n return date.getDate() - 1;\n});\n\nexport default day;\nexport var days = day.range;\n","export var durationSecond = 1e3;\nexport var durationMinute = 6e4;\nexport var durationHour = 36e5;\nexport var durationDay = 864e5;\nexport var durationWeek = 6048e5;\n","import interval from \"./interval\";\nimport {durationHour, durationMinute} from \"./duration\";\n\nvar hour = interval(function(date) {\n var offset = date.getTimezoneOffset() * durationMinute % durationHour;\n if (offset < 0) offset += durationHour;\n date.setTime(Math.floor((+date - offset) / durationHour) * durationHour + offset);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getHours();\n});\n\nexport default hour;\nexport var hours = hour.range;\n","export {\n default as timeInterval\n} from \"./interval\";\n\nexport {\n default as timeMillisecond,\n milliseconds as timeMilliseconds,\n default as utcMillisecond,\n milliseconds as utcMilliseconds\n} from \"./millisecond\";\n\nexport {\n default as timeSecond,\n seconds as timeSeconds,\n default as utcSecond,\n seconds as utcSeconds\n} from \"./second\";\n\nexport {\n default as timeMinute,\n minutes as timeMinutes\n} from \"./minute\";\n\nexport {\n default as timeHour,\n hours as timeHours\n} from \"./hour\";\n\nexport {\n default as timeDay,\n days as timeDays\n} from \"./day\";\n\nexport {\n sunday as timeWeek,\n sundays as timeWeeks,\n sunday as timeSunday,\n sundays as timeSundays,\n monday as timeMonday,\n mondays as timeMondays,\n tuesday as timeTuesday,\n tuesdays as timeTuesdays,\n wednesday as timeWednesday,\n wednesdays as timeWednesdays,\n thursday as timeThursday,\n thursdays as timeThursdays,\n friday as timeFriday,\n fridays as timeFridays,\n saturday as timeSaturday,\n saturdays as timeSaturdays\n} from \"./week\";\n\nexport {\n default as timeMonth,\n months as timeMonths\n} from \"./month\";\n\nexport {\n default as timeYear,\n years as timeYears\n} from \"./year\";\n\nexport {\n default as utcMinute,\n utcMinutes as utcMinutes\n} from \"./utcMinute\";\n\nexport {\n default as utcHour,\n utcHours as utcHours\n} from \"./utcHour\";\n\nexport {\n default as utcDay,\n utcDays as utcDays\n} from \"./utcDay\";\n\nexport {\n utcSunday as utcWeek,\n utcSundays as utcWeeks,\n utcSunday as utcSunday,\n utcSundays as utcSundays,\n utcMonday as utcMonday,\n utcMondays as utcMondays,\n utcTuesday as utcTuesday,\n utcTuesdays as utcTuesdays,\n utcWednesday as utcWednesday,\n utcWednesdays as utcWednesdays,\n utcThursday as utcThursday,\n utcThursdays as utcThursdays,\n utcFriday as utcFriday,\n utcFridays as utcFridays,\n utcSaturday as utcSaturday,\n utcSaturdays as utcSaturdays\n} from \"./utcWeek\";\n\nexport {\n default as utcMonth,\n utcMonths as utcMonths\n} from \"./utcMonth\";\n\nexport {\n default as utcYear,\n utcYears as utcYears\n} from \"./utcYear\";\n","var t0 = new Date,\n t1 = new Date;\n\nexport default function newInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = new Date(+date)), date;\n }\n\n interval.floor = interval;\n\n interval.ceil = function(date) {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = function(date) {\n var d0 = interval(date),\n d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = function(date, step) {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = function(start, stop, step) {\n var range = [], previous;\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 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 = function(test) {\n return newInterval(function(date) {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, function(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 = function(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 = function(step) {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? function(d) { return field(d) % step === 0; }\n : function(d) { return interval.count(0, d) % step === 0; });\n };\n }\n\n return interval;\n}\n","import interval from \"./interval\";\n\nvar millisecond = interval(function() {\n // noop\n}, function(date, step) {\n date.setTime(+date + step);\n}, function(start, end) {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = function(k) {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return interval(function(date) {\n date.setTime(Math.floor(date / k) * k);\n }, function(date, step) {\n date.setTime(+date + step * k);\n }, function(start, end) {\n return (end - start) / k;\n });\n};\n\nexport default millisecond;\nexport var milliseconds = millisecond.range;\n","import interval from \"./interval\";\nimport {durationMinute} from \"./duration\";\n\nvar minute = interval(function(date) {\n date.setTime(Math.floor(date / durationMinute) * durationMinute);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getMinutes();\n});\n\nexport default minute;\nexport var minutes = minute.range;\n","import interval from \"./interval\";\n\nvar month = interval(function(date) {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setMonth(date.getMonth() + step);\n}, function(start, end) {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, function(date) {\n return date.getMonth();\n});\n\nexport default month;\nexport var months = month.range;\n","import interval from \"./interval\";\nimport {durationSecond} from \"./duration\";\n\nvar second = interval(function(date) {\n date.setTime(Math.floor(date / durationSecond) * durationSecond);\n}, function(date, step) {\n date.setTime(+date + step * durationSecond);\n}, function(start, end) {\n return (end - start) / durationSecond;\n}, function(date) {\n return date.getUTCSeconds();\n});\n\nexport default second;\nexport var seconds = second.range;\n","import interval from \"./interval\";\nimport {durationDay} from \"./duration\";\n\nvar utcDay = interval(function(date) {\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step);\n}, function(start, end) {\n return (end - start) / durationDay;\n}, function(date) {\n return date.getUTCDate() - 1;\n});\n\nexport default utcDay;\nexport var utcDays = utcDay.range;\n","import interval from \"./interval\";\nimport {durationHour} from \"./duration\";\n\nvar utcHour = interval(function(date) {\n date.setUTCMinutes(0, 0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getUTCHours();\n});\n\nexport default utcHour;\nexport var utcHours = utcHour.range;\n","import interval from \"./interval\";\nimport {durationMinute} from \"./duration\";\n\nvar utcMinute = interval(function(date) {\n date.setUTCSeconds(0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getUTCMinutes();\n});\n\nexport default utcMinute;\nexport var utcMinutes = utcMinute.range;\n","import interval from \"./interval\";\n\nvar utcMonth = interval(function(date) {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, function(start, end) {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, function(date) {\n return date.getUTCMonth();\n});\n\nexport default utcMonth;\nexport var utcMonths = utcMonth.range;\n","import interval from \"./interval\";\nimport {durationWeek} from \"./duration\";\n\nfunction utcWeekday(i) {\n return interval(function(date) {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, function(start, end) {\n return (end - start) / durationWeek;\n });\n}\n\nexport var utcSunday = utcWeekday(0);\nexport var utcMonday = utcWeekday(1);\nexport var utcTuesday = utcWeekday(2);\nexport var utcWednesday = utcWeekday(3);\nexport var utcThursday = utcWeekday(4);\nexport var utcFriday = utcWeekday(5);\nexport var utcSaturday = utcWeekday(6);\n\nexport var utcSundays = utcSunday.range;\nexport var utcMondays = utcMonday.range;\nexport var utcTuesdays = utcTuesday.range;\nexport var utcWednesdays = utcWednesday.range;\nexport var utcThursdays = utcThursday.range;\nexport var utcFridays = utcFriday.range;\nexport var utcSaturdays = utcSaturday.range;\n","import interval from \"./interval\";\n\nvar utcYear = interval(function(date) {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, function(start, end) {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, function(date) {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport default utcYear;\nexport var utcYears = utcYear.range;\n","import interval from \"./interval\";\nimport {durationMinute, durationWeek} from \"./duration\";\n\nfunction weekday(i) {\n return interval(function(date) {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setDate(date.getDate() + step * 7);\n }, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport var sunday = weekday(0);\nexport var monday = weekday(1);\nexport var tuesday = weekday(2);\nexport var wednesday = weekday(3);\nexport var thursday = weekday(4);\nexport var friday = weekday(5);\nexport var saturday = weekday(6);\n\nexport var sundays = sunday.range;\nexport var mondays = monday.range;\nexport var tuesdays = tuesday.range;\nexport var wednesdays = wednesday.range;\nexport var thursdays = thursday.range;\nexport var fridays = friday.range;\nexport var saturdays = saturday.range;\n","import interval from \"./interval\";\n\nvar year = interval(function(date) {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setFullYear(date.getFullYear() + step);\n}, function(start, end) {\n return end.getFullYear() - start.getFullYear();\n}, function(date) {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\nyear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport default year;\nexport var years = year.range;\n","export {\n now,\n timer,\n timerFlush\n} from \"./timer\";\n\nexport {\n default as timeout\n} from \"./timeout\";\n\nexport {\n default as interval\n} from \"./interval\";\n","import {Timer, now} from \"./timer\";\n\nexport default function(callback, delay, time) {\n var t = new Timer, total = delay;\n if (delay == null) return t.restart(callback, delay, time), t;\n delay = +delay, time = time == null ? now() : +time;\n t.restart(function tick(elapsed) {\n elapsed += total;\n t.restart(tick, total += delay, time);\n callback(elapsed);\n }, delay, time);\n return t;\n}\n","import {Timer} from \"./timer\";\n\nexport default function(callback, delay, time) {\n var t = new Timer;\n delay = delay == null ? 0 : +delay;\n t.restart(function(elapsed) {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\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(null, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n","import {Transition} from \"./transition/index\";\nimport {SCHEDULED} from \"./transition/schedule\";\n\nvar root = [null];\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n i;\n\n if (schedules) {\n name = name == null ? null : name + \"\";\n for (i in schedules) {\n if ((schedule = schedules[i]).state > SCHEDULED && schedule.name === name) {\n return new Transition([[node]], root, name, +i);\n }\n }\n }\n\n return null;\n}\n","import \"./selection/index\";\nexport {default as transition} from \"./transition/index\";\nexport {default as active} from \"./active\";\nexport {default as interrupt} from \"./interrupt\";\n","import {STARTING, ENDING, ENDED} from \"./transition/schedule\";\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 if (active) schedule.on.call(\"interrupt\", node, node.__data__, schedule.index, schedule.group);\n delete schedules[i];\n }\n\n if (empty) delete node.__transition;\n}\n","import {selection} from \"d3-selection\";\nimport selection_interrupt from \"./interrupt\";\nimport selection_transition from \"./transition\";\n\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\n","import interrupt from \"../interrupt\";\n\nexport default function(name) {\n return this.each(function() {\n interrupt(this, name);\n });\n}\n","import {Transition, newId} from \"../transition/index\";\nimport schedule from \"../transition/schedule\";\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 return defaultTiming.time = now(), defaultTiming;\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 {interpolateTransformSvg as interpolateTransform} from \"d3-interpolate\";\nimport {namespace} from \"d3-selection\";\nimport {tweenValue} from \"./tween\";\nimport interpolate from \"./interpolate\";\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 value00,\n interpolate0;\n return function() {\n var value0 = this.getAttribute(name);\n return value0 === value1 ? null\n : value0 === value00 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value1);\n };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n var value00,\n interpolate0;\n return function() {\n var value0 = this.getAttributeNS(fullname.space, fullname.local);\n return value0 === value1 ? null\n : value0 === value00 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value1);\n };\n}\n\nfunction attrFunction(name, interpolate, value) {\n var value00,\n value10,\n interpolate0;\n return function() {\n var value0, value1 = value(this);\n if (value1 == null) return void this.removeAttribute(name);\n value0 = this.getAttribute(name);\n return value0 === value1 ? null\n : value0 === value00 && value1 === value10 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value10 = value1);\n };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n var value00,\n value10,\n interpolate0;\n return function() {\n var value0, value1 = value(this);\n if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n value0 = this.getAttributeNS(fullname.space, fullname.local);\n return value0 === value1 ? null\n : value0 === value00 && value1 === value10 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value10 = 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 attrTweenNS(fullname, value) {\n function tween() {\n var node = this, i = value.apply(node, arguments);\n return i && function(t) {\n node.setAttributeNS(fullname.space, fullname.local, i(t));\n };\n }\n tween._value = value;\n return tween;\n}\n\nfunction attrTween(name, value) {\n function tween() {\n var node = this, i = value.apply(node, arguments);\n return i && function(t) {\n node.setAttribute(name, i(t));\n };\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\";\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\";\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\";\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 {matcher} from \"d3-selection\";\nimport {Transition} from \"./index\";\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 {selection} from \"d3-selection\";\nimport transition_attr from \"./attr\";\nimport transition_attrTween from \"./attrTween\";\nimport transition_delay from \"./delay\";\nimport transition_duration from \"./duration\";\nimport transition_ease from \"./ease\";\nimport transition_filter from \"./filter\";\nimport transition_merge from \"./merge\";\nimport transition_on from \"./on\";\nimport transition_remove from \"./remove\";\nimport transition_select from \"./select\";\nimport transition_selectAll from \"./selectAll\";\nimport transition_selection from \"./selection\";\nimport transition_style from \"./style\";\nimport transition_styleTween from \"./styleTween\";\nimport transition_text from \"./text\";\nimport transition_transition from \"./transition\";\nimport transition_tween from \"./tween\";\n\nvar id = 0;\n\nexport function Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\n\nexport default function transition(name) {\n return selection().transition(name);\n}\n\nexport function newId() {\n return ++id;\n}\n\nvar selection_prototype = selection.prototype;\n\nTransition.prototype = transition.prototype = {\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease\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 {Transition} from \"./index\";\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\";\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 {dispatch} from \"d3-dispatch\";\nimport {timer, timeout} from \"d3-timer\";\n\nvar emptyOn = dispatch(\"start\", \"end\", \"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 > STARTING) throw new Error(\"too late; already started\");\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 // Dispatch the interrupt event.\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. No interrupt event is dispatched\n // because the cancelled transitions never started. Note that this also\n // removes this transition from the pending list!\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\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(null, 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 {selector} from \"d3-selection\";\nimport {Transition} from \"./index\";\nimport schedule, {get} from \"./schedule\";\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\";\nimport schedule, {get} from \"./schedule\";\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 {tweenValue} from \"./tween\";\nimport interpolate from \"./interpolate\";\n\nfunction styleRemove(name, interpolate) {\n var value00,\n value10,\n interpolate0;\n return function() {\n var value0 = style(this, name),\n value1 = (this.style.removeProperty(name), style(this, name));\n return value0 === value1 ? null\n : value0 === value00 && value1 === value10 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value10 = value1);\n };\n}\n\nfunction styleRemoveEnd(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n var value00,\n interpolate0;\n return function() {\n var value0 = style(this, name);\n return value0 === value1 ? null\n : value0 === value00 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value1);\n };\n}\n\nfunction styleFunction(name, interpolate, value) {\n var value00,\n value10,\n interpolate0;\n return function() {\n var value0 = style(this, name),\n value1 = value(this);\n if (value1 == null) value1 = (this.style.removeProperty(name), style(this, name));\n return value0 === value1 ? null\n : value0 === value00 && value1 === value10 ? interpolate0\n : interpolate0 = interpolate(value00 = value0, value10 = value1);\n };\n}\n\nexport default function(name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n return value == null ? this\n .styleTween(name, styleRemove(name, i))\n .on(\"end.style.\" + name, styleRemoveEnd(name))\n : this.styleTween(name, typeof value === \"function\"\n ? styleFunction(name, i, tweenValue(this, \"style.\" + name, value))\n : styleConstant(name, i, value + \"\"), priority);\n}\n","function styleTween(name, value, priority) {\n function tween() {\n var node = this, i = value.apply(node, arguments);\n return i && function(t) {\n node.style.setProperty(name, i(t), priority);\n };\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\";\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","import {Transition, newId} from \"./index\";\nimport schedule, {get} from \"./schedule\";\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 {get, set} from \"./schedule\";\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 {RedBlackNode} from \"./RedBlackTree\";\nimport {createCell} from \"./Cell\";\nimport {attachCircle, detachCircle} from \"./Circle\";\nimport {createEdge, setEdgeEnd} from \"./Edge\";\nimport {beaches, epsilon} from \"./Diagram\";\n\nvar beachPool = [];\n\nfunction Beach() {\n RedBlackNode(this);\n this.edge =\n this.site =\n this.circle = null;\n}\n\nfunction createBeach(site) {\n var beach = beachPool.pop() || new Beach;\n beach.site = site;\n return beach;\n}\n\nfunction detachBeach(beach) {\n detachCircle(beach);\n beaches.remove(beach);\n beachPool.push(beach);\n RedBlackNode(beach);\n}\n\nexport function removeBeach(beach) {\n var circle = beach.circle,\n x = circle.x,\n y = circle.cy,\n vertex = [x, y],\n previous = beach.P,\n next = beach.N,\n disappearing = [beach];\n\n detachBeach(beach);\n\n var lArc = previous;\n while (lArc.circle\n && Math.abs(x - lArc.circle.x) < epsilon\n && Math.abs(y - lArc.circle.cy) < epsilon) {\n previous = lArc.P;\n disappearing.unshift(lArc);\n detachBeach(lArc);\n lArc = previous;\n }\n\n disappearing.unshift(lArc);\n detachCircle(lArc);\n\n var rArc = next;\n while (rArc.circle\n && Math.abs(x - rArc.circle.x) < epsilon\n && Math.abs(y - rArc.circle.cy) < epsilon) {\n next = rArc.N;\n disappearing.push(rArc);\n detachBeach(rArc);\n rArc = next;\n }\n\n disappearing.push(rArc);\n detachCircle(rArc);\n\n var nArcs = disappearing.length,\n iArc;\n for (iArc = 1; iArc < nArcs; ++iArc) {\n rArc = disappearing[iArc];\n lArc = disappearing[iArc - 1];\n setEdgeEnd(rArc.edge, lArc.site, rArc.site, vertex);\n }\n\n lArc = disappearing[0];\n rArc = disappearing[nArcs - 1];\n rArc.edge = createEdge(lArc.site, rArc.site, null, vertex);\n\n attachCircle(lArc);\n attachCircle(rArc);\n}\n\nexport function addBeach(site) {\n var x = site[0],\n directrix = site[1],\n lArc,\n rArc,\n dxl,\n dxr,\n node = beaches._;\n\n while (node) {\n dxl = leftBreakPoint(node, directrix) - x;\n if (dxl > epsilon) node = node.L; else {\n dxr = x - rightBreakPoint(node, directrix);\n if (dxr > epsilon) {\n if (!node.R) {\n lArc = node;\n break;\n }\n node = node.R;\n } else {\n if (dxl > -epsilon) {\n lArc = node.P;\n rArc = node;\n } else if (dxr > -epsilon) {\n lArc = node;\n rArc = node.N;\n } else {\n lArc = rArc = node;\n }\n break;\n }\n }\n }\n\n createCell(site);\n var newArc = createBeach(site);\n beaches.insert(lArc, newArc);\n\n if (!lArc && !rArc) return;\n\n if (lArc === rArc) {\n detachCircle(lArc);\n rArc = createBeach(lArc.site);\n beaches.insert(newArc, rArc);\n newArc.edge = rArc.edge = createEdge(lArc.site, newArc.site);\n attachCircle(lArc);\n attachCircle(rArc);\n return;\n }\n\n if (!rArc) { // && lArc\n newArc.edge = createEdge(lArc.site, newArc.site);\n return;\n }\n\n // else lArc !== rArc\n detachCircle(lArc);\n detachCircle(rArc);\n\n var lSite = lArc.site,\n ax = lSite[0],\n ay = lSite[1],\n bx = site[0] - ax,\n by = site[1] - ay,\n rSite = rArc.site,\n cx = rSite[0] - ax,\n cy = rSite[1] - ay,\n d = 2 * (bx * cy - by * cx),\n hb = bx * bx + by * by,\n hc = cx * cx + cy * cy,\n vertex = [(cy * hb - by * hc) / d + ax, (bx * hc - cx * hb) / d + ay];\n\n setEdgeEnd(rArc.edge, lSite, rSite, vertex);\n newArc.edge = createEdge(lSite, site, null, vertex);\n rArc.edge = createEdge(site, rSite, null, vertex);\n attachCircle(lArc);\n attachCircle(rArc);\n}\n\nfunction leftBreakPoint(arc, directrix) {\n var site = arc.site,\n rfocx = site[0],\n rfocy = site[1],\n pby2 = rfocy - directrix;\n\n if (!pby2) return rfocx;\n\n var lArc = arc.P;\n if (!lArc) return -Infinity;\n\n site = lArc.site;\n var lfocx = site[0],\n lfocy = site[1],\n plby2 = lfocy - directrix;\n\n if (!plby2) return lfocx;\n\n var hl = lfocx - rfocx,\n aby2 = 1 / pby2 - 1 / plby2,\n b = hl / plby2;\n\n if (aby2) return (-b + Math.sqrt(b * b - 2 * aby2 * (hl * hl / (-2 * plby2) - lfocy + plby2 / 2 + rfocy - pby2 / 2))) / aby2 + rfocx;\n\n return (rfocx + lfocx) / 2;\n}\n\nfunction rightBreakPoint(arc, directrix) {\n var rArc = arc.N;\n if (rArc) return leftBreakPoint(rArc, directrix);\n var site = arc.site;\n return site[1] === directrix ? site[0] : Infinity;\n}\n","import {createBorderEdge} from \"./Edge\";\nimport {cells, edges, epsilon} from \"./Diagram\";\n\nexport function createCell(site) {\n return cells[site.index] = {\n site: site,\n halfedges: []\n };\n}\n\nfunction cellHalfedgeAngle(cell, edge) {\n var site = cell.site,\n va = edge.left,\n vb = edge.right;\n if (site === vb) vb = va, va = site;\n if (vb) return Math.atan2(vb[1] - va[1], vb[0] - va[0]);\n if (site === va) va = edge[1], vb = edge[0];\n else va = edge[0], vb = edge[1];\n return Math.atan2(va[0] - vb[0], vb[1] - va[1]);\n}\n\nexport function cellHalfedgeStart(cell, edge) {\n return edge[+(edge.left !== cell.site)];\n}\n\nexport function cellHalfedgeEnd(cell, edge) {\n return edge[+(edge.left === cell.site)];\n}\n\nexport function sortCellHalfedges() {\n for (var i = 0, n = cells.length, cell, halfedges, j, m; i < n; ++i) {\n if ((cell = cells[i]) && (m = (halfedges = cell.halfedges).length)) {\n var index = new Array(m),\n array = new Array(m);\n for (j = 0; j < m; ++j) index[j] = j, array[j] = cellHalfedgeAngle(cell, edges[halfedges[j]]);\n index.sort(function(i, j) { return array[j] - array[i]; });\n for (j = 0; j < m; ++j) array[j] = halfedges[index[j]];\n for (j = 0; j < m; ++j) halfedges[j] = array[j];\n }\n }\n}\n\nexport function clipCells(x0, y0, x1, y1) {\n var nCells = cells.length,\n iCell,\n cell,\n site,\n iHalfedge,\n halfedges,\n nHalfedges,\n start,\n startX,\n startY,\n end,\n endX,\n endY,\n cover = true;\n\n for (iCell = 0; iCell < nCells; ++iCell) {\n if (cell = cells[iCell]) {\n site = cell.site;\n halfedges = cell.halfedges;\n iHalfedge = halfedges.length;\n\n // Remove any dangling clipped edges.\n while (iHalfedge--) {\n if (!edges[halfedges[iHalfedge]]) {\n halfedges.splice(iHalfedge, 1);\n }\n }\n\n // Insert any border edges as necessary.\n iHalfedge = 0, nHalfedges = halfedges.length;\n while (iHalfedge < nHalfedges) {\n end = cellHalfedgeEnd(cell, edges[halfedges[iHalfedge]]), endX = end[0], endY = end[1];\n start = cellHalfedgeStart(cell, edges[halfedges[++iHalfedge % nHalfedges]]), startX = start[0], startY = start[1];\n if (Math.abs(endX - startX) > epsilon || Math.abs(endY - startY) > epsilon) {\n halfedges.splice(iHalfedge, 0, edges.push(createBorderEdge(site, end,\n Math.abs(endX - x0) < epsilon && y1 - endY > epsilon ? [x0, Math.abs(startX - x0) < epsilon ? startY : y1]\n : Math.abs(endY - y1) < epsilon && x1 - endX > epsilon ? [Math.abs(startY - y1) < epsilon ? startX : x1, y1]\n : Math.abs(endX - x1) < epsilon && endY - y0 > epsilon ? [x1, Math.abs(startX - x1) < epsilon ? startY : y0]\n : Math.abs(endY - y0) < epsilon && endX - x0 > epsilon ? [Math.abs(startY - y0) < epsilon ? startX : x0, y0]\n : null)) - 1);\n ++nHalfedges;\n }\n }\n\n if (nHalfedges) cover = false;\n }\n }\n\n // If there weren’t any edges, have the closest site cover the extent.\n // It doesn’t matter which corner of the extent we measure!\n if (cover) {\n var dx, dy, d2, dc = Infinity;\n\n for (iCell = 0, cover = null; iCell < nCells; ++iCell) {\n if (cell = cells[iCell]) {\n site = cell.site;\n dx = site[0] - x0;\n dy = site[1] - y0;\n d2 = dx * dx + dy * dy;\n if (d2 < dc) dc = d2, cover = cell;\n }\n }\n\n if (cover) {\n var v00 = [x0, y0], v01 = [x0, y1], v11 = [x1, y1], v10 = [x1, y0];\n cover.halfedges.push(\n edges.push(createBorderEdge(site = cover.site, v00, v01)) - 1,\n edges.push(createBorderEdge(site, v01, v11)) - 1,\n edges.push(createBorderEdge(site, v11, v10)) - 1,\n edges.push(createBorderEdge(site, v10, v00)) - 1\n );\n }\n }\n\n // Lastly delete any cells with no edges; these were entirely clipped.\n for (iCell = 0; iCell < nCells; ++iCell) {\n if (cell = cells[iCell]) {\n if (!cell.halfedges.length) {\n delete cells[iCell];\n }\n }\n }\n}\n","import {RedBlackNode} from \"./RedBlackTree\";\nimport {circles, epsilon2} from \"./Diagram\";\n\nvar circlePool = [];\n\nexport var firstCircle;\n\nfunction Circle() {\n RedBlackNode(this);\n this.x =\n this.y =\n this.arc =\n this.site =\n this.cy = null;\n}\n\nexport function attachCircle(arc) {\n var lArc = arc.P,\n rArc = arc.N;\n\n if (!lArc || !rArc) return;\n\n var lSite = lArc.site,\n cSite = arc.site,\n rSite = rArc.site;\n\n if (lSite === rSite) return;\n\n var bx = cSite[0],\n by = cSite[1],\n ax = lSite[0] - bx,\n ay = lSite[1] - by,\n cx = rSite[0] - bx,\n cy = rSite[1] - by;\n\n var d = 2 * (ax * cy - ay * cx);\n if (d >= -epsilon2) return;\n\n var ha = ax * ax + ay * ay,\n hc = cx * cx + cy * cy,\n x = (cy * ha - ay * hc) / d,\n y = (ax * hc - cx * ha) / d;\n\n var circle = circlePool.pop() || new Circle;\n circle.arc = arc;\n circle.site = cSite;\n circle.x = x + bx;\n circle.y = (circle.cy = y + by) + Math.sqrt(x * x + y * y); // y bottom\n\n arc.circle = circle;\n\n var before = null,\n node = circles._;\n\n while (node) {\n if (circle.y < node.y || (circle.y === node.y && circle.x <= node.x)) {\n if (node.L) node = node.L;\n else { before = node.P; break; }\n } else {\n if (node.R) node = node.R;\n else { before = node; break; }\n }\n }\n\n circles.insert(before, circle);\n if (!before) firstCircle = circle;\n}\n\nexport function detachCircle(arc) {\n var circle = arc.circle;\n if (circle) {\n if (!circle.P) firstCircle = circle.N;\n circles.remove(circle);\n circlePool.push(circle);\n RedBlackNode(circle);\n arc.circle = null;\n }\n}\n","import {addBeach, removeBeach} from \"./Beach\";\nimport {sortCellHalfedges, cellHalfedgeStart, clipCells} from \"./Cell\";\nimport {firstCircle} from \"./Circle\";\nimport {clipEdges} from \"./Edge\";\nimport RedBlackTree from \"./RedBlackTree\";\n\nexport var epsilon = 1e-6;\nexport var epsilon2 = 1e-12;\nexport var beaches;\nexport var cells;\nexport var circles;\nexport var edges;\n\nfunction triangleArea(a, b, c) {\n return (a[0] - c[0]) * (b[1] - a[1]) - (a[0] - b[0]) * (c[1] - a[1]);\n}\n\nfunction lexicographic(a, b) {\n return b[1] - a[1]\n || b[0] - a[0];\n}\n\nexport default function Diagram(sites, extent) {\n var site = sites.sort(lexicographic).pop(),\n x,\n y,\n circle;\n\n edges = [];\n cells = new Array(sites.length);\n beaches = new RedBlackTree;\n circles = new RedBlackTree;\n\n while (true) {\n circle = firstCircle;\n if (site && (!circle || site[1] < circle.y || (site[1] === circle.y && site[0] < circle.x))) {\n if (site[0] !== x || site[1] !== y) {\n addBeach(site);\n x = site[0], y = site[1];\n }\n site = sites.pop();\n } else if (circle) {\n removeBeach(circle.arc);\n } else {\n break;\n }\n }\n\n sortCellHalfedges();\n\n if (extent) {\n var x0 = +extent[0][0],\n y0 = +extent[0][1],\n x1 = +extent[1][0],\n y1 = +extent[1][1];\n clipEdges(x0, y0, x1, y1);\n clipCells(x0, y0, x1, y1);\n }\n\n this.edges = edges;\n this.cells = cells;\n\n beaches =\n circles =\n edges =\n cells = null;\n}\n\nDiagram.prototype = {\n constructor: Diagram,\n\n polygons: function() {\n var edges = this.edges;\n\n return this.cells.map(function(cell) {\n var polygon = cell.halfedges.map(function(i) { return cellHalfedgeStart(cell, edges[i]); });\n polygon.data = cell.site.data;\n return polygon;\n });\n },\n\n triangles: function() {\n var triangles = [],\n edges = this.edges;\n\n this.cells.forEach(function(cell, i) {\n if (!(m = (halfedges = cell.halfedges).length)) return;\n var site = cell.site,\n halfedges,\n j = -1,\n m,\n s0,\n e1 = edges[halfedges[m - 1]],\n s1 = e1.left === site ? e1.right : e1.left;\n\n while (++j < m) {\n s0 = s1;\n e1 = edges[halfedges[j]];\n s1 = e1.left === site ? e1.right : e1.left;\n if (s0 && s1 && i < s0.index && i < s1.index && triangleArea(site, s0, s1) < 0) {\n triangles.push([site.data, s0.data, s1.data]);\n }\n }\n });\n\n return triangles;\n },\n\n links: function() {\n return this.edges.filter(function(edge) {\n return edge.right;\n }).map(function(edge) {\n return {\n source: edge.left.data,\n target: edge.right.data\n };\n });\n },\n\n find: function(x, y, radius) {\n var that = this, i0, i1 = that._found || 0, n = that.cells.length, cell;\n\n // Use the previously-found cell, or start with an arbitrary one.\n while (!(cell = that.cells[i1])) if (++i1 >= n) return null;\n var dx = x - cell.site[0], dy = y - cell.site[1], d2 = dx * dx + dy * dy;\n\n // Traverse the half-edges to find a closer cell, if any.\n do {\n cell = that.cells[i0 = i1], i1 = null;\n cell.halfedges.forEach(function(e) {\n var edge = that.edges[e], v = edge.left;\n if ((v === cell.site || !v) && !(v = edge.right)) return;\n var vx = x - v[0], vy = y - v[1], v2 = vx * vx + vy * vy;\n if (v2 < d2) d2 = v2, i1 = v.index;\n });\n } while (i1 !== null);\n\n that._found = i0;\n\n return radius == null || d2 <= radius * radius ? cell.site : null;\n }\n}\n","import {cells, edges, epsilon} from \"./Diagram\";\n\nexport function createEdge(left, right, v0, v1) {\n var edge = [null, null],\n index = edges.push(edge) - 1;\n edge.left = left;\n edge.right = right;\n if (v0) setEdgeEnd(edge, left, right, v0);\n if (v1) setEdgeEnd(edge, right, left, v1);\n cells[left.index].halfedges.push(index);\n cells[right.index].halfedges.push(index);\n return edge;\n}\n\nexport function createBorderEdge(left, v0, v1) {\n var edge = [v0, v1];\n edge.left = left;\n return edge;\n}\n\nexport function setEdgeEnd(edge, left, right, vertex) {\n if (!edge[0] && !edge[1]) {\n edge[0] = vertex;\n edge.left = left;\n edge.right = right;\n } else if (edge.left === right) {\n edge[1] = vertex;\n } else {\n edge[0] = vertex;\n }\n}\n\n// Liang–Barsky line clipping.\nfunction clipEdge(edge, x0, y0, x1, y1) {\n var a = edge[0],\n b = edge[1],\n 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) && !(t1 < 1)) return true; // TODO Better check?\n\n if (t0 > 0) edge[0] = [ax + t0 * dx, ay + t0 * dy];\n if (t1 < 1) edge[1] = [ax + t1 * dx, ay + t1 * dy];\n return true;\n}\n\nfunction connectEdge(edge, x0, y0, x1, y1) {\n var v1 = edge[1];\n if (v1) return true;\n\n var v0 = edge[0],\n left = edge.left,\n right = edge.right,\n lx = left[0],\n ly = left[1],\n rx = right[0],\n ry = right[1],\n fx = (lx + rx) / 2,\n fy = (ly + ry) / 2,\n fm,\n fb;\n\n if (ry === ly) {\n if (fx < x0 || fx >= x1) return;\n if (lx > rx) {\n if (!v0) v0 = [fx, y0];\n else if (v0[1] >= y1) return;\n v1 = [fx, y1];\n } else {\n if (!v0) v0 = [fx, y1];\n else if (v0[1] < y0) return;\n v1 = [fx, y0];\n }\n } else {\n fm = (lx - rx) / (ry - ly);\n fb = fy - fm * fx;\n if (fm < -1 || fm > 1) {\n if (lx > rx) {\n if (!v0) v0 = [(y0 - fb) / fm, y0];\n else if (v0[1] >= y1) return;\n v1 = [(y1 - fb) / fm, y1];\n } else {\n if (!v0) v0 = [(y1 - fb) / fm, y1];\n else if (v0[1] < y0) return;\n v1 = [(y0 - fb) / fm, y0];\n }\n } else {\n if (ly < ry) {\n if (!v0) v0 = [x0, fm * x0 + fb];\n else if (v0[0] >= x1) return;\n v1 = [x1, fm * x1 + fb];\n } else {\n if (!v0) v0 = [x1, fm * x1 + fb];\n else if (v0[0] < x0) return;\n v1 = [x0, fm * x0 + fb];\n }\n }\n }\n\n edge[0] = v0;\n edge[1] = v1;\n return true;\n}\n\nexport function clipEdges(x0, y0, x1, y1) {\n var i = edges.length,\n edge;\n\n while (i--) {\n if (!connectEdge(edge = edges[i], x0, y0, x1, y1)\n || !clipEdge(edge, x0, y0, x1, y1)\n || !(Math.abs(edge[0][0] - edge[1][0]) > epsilon\n || Math.abs(edge[0][1] - edge[1][1]) > epsilon)) {\n delete edges[i];\n }\n }\n}\n","function RedBlackTree() {\n this._ = null; // root node\n}\n\nexport function RedBlackNode(node) {\n node.U = // parent node\n node.C = // color - true for red, false for black\n node.L = // left node\n node.R = // right node\n node.P = // previous node\n node.N = null; // next node\n}\n\nRedBlackTree.prototype = {\n constructor: RedBlackTree,\n\n insert: function(after, node) {\n var parent, grandpa, uncle;\n\n if (after) {\n node.P = after;\n node.N = after.N;\n if (after.N) after.N.P = node;\n after.N = node;\n if (after.R) {\n after = after.R;\n while (after.L) after = after.L;\n after.L = node;\n } else {\n after.R = node;\n }\n parent = after;\n } else if (this._) {\n after = RedBlackFirst(this._);\n node.P = null;\n node.N = after;\n after.P = after.L = node;\n parent = after;\n } else {\n node.P = node.N = null;\n this._ = node;\n parent = null;\n }\n node.L = node.R = null;\n node.U = parent;\n node.C = true;\n\n after = node;\n while (parent && parent.C) {\n grandpa = parent.U;\n if (parent === grandpa.L) {\n uncle = grandpa.R;\n if (uncle && uncle.C) {\n parent.C = uncle.C = false;\n grandpa.C = true;\n after = grandpa;\n } else {\n if (after === parent.R) {\n RedBlackRotateLeft(this, parent);\n after = parent;\n parent = after.U;\n }\n parent.C = false;\n grandpa.C = true;\n RedBlackRotateRight(this, grandpa);\n }\n } else {\n uncle = grandpa.L;\n if (uncle && uncle.C) {\n parent.C = uncle.C = false;\n grandpa.C = true;\n after = grandpa;\n } else {\n if (after === parent.L) {\n RedBlackRotateRight(this, parent);\n after = parent;\n parent = after.U;\n }\n parent.C = false;\n grandpa.C = true;\n RedBlackRotateLeft(this, grandpa);\n }\n }\n parent = after.U;\n }\n this._.C = false;\n },\n\n remove: function(node) {\n if (node.N) node.N.P = node.P;\n if (node.P) node.P.N = node.N;\n node.N = node.P = null;\n\n var parent = node.U,\n sibling,\n left = node.L,\n right = node.R,\n next,\n red;\n\n if (!left) next = right;\n else if (!right) next = left;\n else next = RedBlackFirst(right);\n\n if (parent) {\n if (parent.L === node) parent.L = next;\n else parent.R = next;\n } else {\n this._ = next;\n }\n\n if (left && right) {\n red = next.C;\n next.C = node.C;\n next.L = left;\n left.U = next;\n if (next !== right) {\n parent = next.U;\n next.U = node.U;\n node = next.R;\n parent.L = node;\n next.R = right;\n right.U = next;\n } else {\n next.U = parent;\n parent = next;\n node = next.R;\n }\n } else {\n red = node.C;\n node = next;\n }\n\n if (node) node.U = parent;\n if (red) return;\n if (node && node.C) { node.C = false; return; }\n\n do {\n if (node === this._) break;\n if (node === parent.L) {\n sibling = parent.R;\n if (sibling.C) {\n sibling.C = false;\n parent.C = true;\n RedBlackRotateLeft(this, parent);\n sibling = parent.R;\n }\n if ((sibling.L && sibling.L.C)\n || (sibling.R && sibling.R.C)) {\n if (!sibling.R || !sibling.R.C) {\n sibling.L.C = false;\n sibling.C = true;\n RedBlackRotateRight(this, sibling);\n sibling = parent.R;\n }\n sibling.C = parent.C;\n parent.C = sibling.R.C = false;\n RedBlackRotateLeft(this, parent);\n node = this._;\n break;\n }\n } else {\n sibling = parent.L;\n if (sibling.C) {\n sibling.C = false;\n parent.C = true;\n RedBlackRotateRight(this, parent);\n sibling = parent.L;\n }\n if ((sibling.L && sibling.L.C)\n || (sibling.R && sibling.R.C)) {\n if (!sibling.L || !sibling.L.C) {\n sibling.R.C = false;\n sibling.C = true;\n RedBlackRotateLeft(this, sibling);\n sibling = parent.L;\n }\n sibling.C = parent.C;\n parent.C = sibling.L.C = false;\n RedBlackRotateRight(this, parent);\n node = this._;\n break;\n }\n }\n sibling.C = true;\n node = parent;\n parent = parent.U;\n } while (!node.C);\n\n if (node) node.C = false;\n }\n};\n\nfunction RedBlackRotateLeft(tree, node) {\n var p = node,\n q = node.R,\n parent = p.U;\n\n if (parent) {\n if (parent.L === p) parent.L = q;\n else parent.R = q;\n } else {\n tree._ = q;\n }\n\n q.U = parent;\n p.U = q;\n p.R = q.L;\n if (p.R) p.R.U = p;\n q.L = p;\n}\n\nfunction RedBlackRotateRight(tree, node) {\n var p = node,\n q = node.L,\n parent = p.U;\n\n if (parent) {\n if (parent.L === p) parent.L = q;\n else parent.R = q;\n } else {\n tree._ = q;\n }\n\n q.U = parent;\n p.U = q;\n p.L = q.R;\n if (p.L) p.L.U = p;\n q.R = p;\n}\n\nfunction RedBlackFirst(node) {\n while (node.L) node = node.L;\n return node;\n}\n\nexport default RedBlackTree;\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export {default as voronoi} from \"./voronoi\";\n","export function x(d) {\n return d[0];\n}\n\nexport function y(d) {\n return d[1];\n}\n","import constant from \"./constant\";\nimport {x as pointX, y as pointY} from \"./point\";\nimport Diagram, {epsilon} from \"./Diagram\";\n\nexport default function() {\n var x = pointX,\n y = pointY,\n extent = null;\n\n function voronoi(data) {\n return new Diagram(data.map(function(d, i) {\n var s = [Math.round(x(d, i, data) / epsilon) * epsilon, Math.round(y(d, i, data) / epsilon) * epsilon];\n s.index = i;\n s.data = d;\n return s;\n }), extent);\n }\n\n voronoi.polygons = function(data) {\n return voronoi(data).polygons();\n };\n\n voronoi.links = function(data) {\n return voronoi(data).links();\n };\n\n voronoi.triangles = function(data) {\n return voronoi(data).triangles();\n };\n\n voronoi.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), voronoi) : x;\n };\n\n voronoi.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), voronoi) : y;\n };\n\n voronoi.extent = function(_) {\n return arguments.length ? (extent = _ == null ? null : [[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]], voronoi) : extent && [[extent[0][0], extent[0][1]], [extent[1][0], extent[1][1]]];\n };\n\n voronoi.size = function(_) {\n return arguments.length ? (extent = _ == null ? null : [[0, 0], [+_[0], +_[1]]], voronoi) : extent && [extent[1][0] - extent[0][0], extent[1][1] - extent[0][1]];\n };\n\n return voronoi;\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function ZoomEvent(target, type, transform) {\n this.target = target;\n this.type = type;\n this.transform = transform;\n}\n","export {default as zoom} from \"./zoom\";\nexport {default as zoomTransform, identity as zoomIdentity} from \"./transform\";\n","import {event} from \"d3-selection\";\n\nexport function nopropagation() {\n event.stopImmediatePropagation();\n}\n\nexport default function() {\n event.preventDefault();\n event.stopImmediatePropagation();\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 return node.__zoom || identity;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {dragDisable, dragEnable} from \"d3-drag\";\nimport {interpolateZoom} from \"d3-interpolate\";\nimport {event, customEvent, select, mouse, touch} from \"d3-selection\";\nimport {interrupt} from \"d3-transition\";\nimport constant from \"./constant\";\nimport ZoomEvent from \"./event\";\nimport {Transform, identity} from \"./transform\";\nimport noevent, {nopropagation} from \"./noevent\";\n\n// Ignore right-click, since that should open the context menu.\nfunction defaultFilter() {\n return !event.button;\n}\n\nfunction defaultExtent() {\n var e = this, w, h;\n if (e instanceof SVGElement) {\n e = e.ownerSVGElement || e;\n w = e.width.baseVal.value;\n h = e.height.baseVal.value;\n } else {\n w = e.clientWidth;\n h = e.clientHeight;\n }\n return [[0, 0], [w, h]];\n}\n\nfunction defaultTransform() {\n return this.__zoom || identity;\n}\n\nfunction defaultWheelDelta() {\n return -event.deltaY * (event.deltaMode ? 120 : 1) / 500;\n}\n\nfunction defaultTouchable() {\n return \"ontouchstart\" in this;\n}\n\nfunction defaultConstrain(transform, extent, translateExtent) {\n var dx0 = transform.invertX(extent[0][0]) - translateExtent[0][0],\n dx1 = transform.invertX(extent[1][0]) - translateExtent[1][0],\n dy0 = transform.invertY(extent[0][1]) - translateExtent[0][1],\n dy1 = transform.invertY(extent[1][1]) - translateExtent[1][1];\n return transform.translate(\n dx1 > dx0 ? (dx0 + dx1) / 2 : Math.min(0, dx0) || Math.max(0, dx1),\n dy1 > dy0 ? (dy0 + dy1) / 2 : Math.min(0, dy0) || Math.max(0, dy1)\n );\n}\n\nexport default function() {\n var filter = defaultFilter,\n extent = defaultExtent,\n constrain = defaultConstrain,\n wheelDelta = defaultWheelDelta,\n touchable = defaultTouchable,\n scaleExtent = [0, Infinity],\n translateExtent = [[-Infinity, -Infinity], [Infinity, Infinity]],\n duration = 250,\n interpolate = interpolateZoom,\n gestures = [],\n listeners = dispatch(\"start\", \"zoom\", \"end\"),\n touchstarting,\n touchending,\n touchDelay = 500,\n wheelDelay = 150,\n clickDistance2 = 0;\n\n function zoom(selection) {\n selection\n .property(\"__zoom\", defaultTransform)\n .on(\"wheel.zoom\", wheeled)\n .on(\"mousedown.zoom\", mousedowned)\n .on(\"dblclick.zoom\", dblclicked)\n .filter(touchable)\n .on(\"touchstart.zoom\", touchstarted)\n .on(\"touchmove.zoom\", touchmoved)\n .on(\"touchend.zoom touchcancel.zoom\", touchended)\n .style(\"touch-action\", \"none\")\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n zoom.transform = function(collection, transform) {\n var selection = collection.selection ? collection.selection() : collection;\n selection.property(\"__zoom\", defaultTransform);\n if (collection !== selection) {\n schedule(collection, transform);\n } else {\n selection.interrupt().each(function() {\n gesture(this, arguments)\n .start()\n .zoom(null, typeof transform === \"function\" ? transform.apply(this, arguments) : transform)\n .end();\n });\n }\n };\n\n zoom.scaleBy = function(selection, k) {\n zoom.scaleTo(selection, function() {\n var k0 = this.__zoom.k,\n k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n return k0 * k1;\n });\n };\n\n zoom.scaleTo = function(selection, k) {\n zoom.transform(selection, function() {\n var e = extent.apply(this, arguments),\n t0 = this.__zoom,\n p0 = centroid(e),\n p1 = t0.invert(p0),\n k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n return constrain(translate(scale(t0, k1), p0, p1), e, translateExtent);\n });\n };\n\n zoom.translateBy = function(selection, x, y) {\n zoom.transform(selection, function() {\n return constrain(this.__zoom.translate(\n typeof x === \"function\" ? x.apply(this, arguments) : x,\n typeof y === \"function\" ? y.apply(this, arguments) : y\n ), extent.apply(this, arguments), translateExtent);\n });\n };\n\n zoom.translateTo = function(selection, x, y) {\n zoom.transform(selection, function() {\n var e = extent.apply(this, arguments),\n t = this.__zoom,\n p = centroid(e);\n return constrain(identity.translate(p[0], p[1]).scale(t.k).translate(\n typeof x === \"function\" ? -x.apply(this, arguments) : -x,\n typeof y === \"function\" ? -y.apply(this, arguments) : -y\n ), e, translateExtent);\n });\n };\n\n function scale(transform, k) {\n k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], k));\n return k === transform.k ? transform : new Transform(k, transform.x, transform.y);\n }\n\n function translate(transform, p0, p1) {\n var x = p0[0] - p1[0] * transform.k, y = p0[1] - p1[1] * transform.k;\n return x === transform.x && y === transform.y ? transform : new Transform(transform.k, x, y);\n }\n\n function centroid(extent) {\n return [(+extent[0][0] + +extent[1][0]) / 2, (+extent[0][1] + +extent[1][1]) / 2];\n }\n\n function schedule(transition, transform, center) {\n transition\n .on(\"start.zoom\", function() { gesture(this, arguments).start(); })\n .on(\"interrupt.zoom end.zoom\", function() { gesture(this, arguments).end(); })\n .tween(\"zoom\", function() {\n var that = this,\n args = arguments,\n g = gesture(that, args),\n e = extent.apply(that, args),\n p = center || centroid(e),\n w = Math.max(e[1][0] - e[0][0], e[1][1] - e[0][1]),\n a = that.__zoom,\n b = typeof transform === \"function\" ? transform.apply(that, args) : transform,\n i = interpolate(a.invert(p).concat(w / a.k), b.invert(p).concat(w / b.k));\n return function(t) {\n if (t === 1) t = b; // Avoid rounding error on end.\n else { var l = i(t), k = w / l[2]; t = new Transform(k, p[0] - l[0] * k, p[1] - l[1] * k); }\n g.zoom(null, t);\n };\n });\n }\n\n function gesture(that, args) {\n for (var i = 0, n = gestures.length, g; i < n; ++i) {\n if ((g = gestures[i]).that === that) {\n return g;\n }\n }\n return new Gesture(that, args);\n }\n\n function Gesture(that, args) {\n this.that = that;\n this.args = args;\n this.index = -1;\n this.active = 0;\n this.extent = extent.apply(that, args);\n }\n\n Gesture.prototype = {\n start: function() {\n if (++this.active === 1) {\n this.index = gestures.push(this) - 1;\n this.emit(\"start\");\n }\n return this;\n },\n zoom: function(key, transform) {\n if (this.mouse && key !== \"mouse\") this.mouse[1] = transform.invert(this.mouse[0]);\n if (this.touch0 && key !== \"touch\") this.touch0[1] = transform.invert(this.touch0[0]);\n if (this.touch1 && key !== \"touch\") this.touch1[1] = transform.invert(this.touch1[0]);\n this.that.__zoom = transform;\n this.emit(\"zoom\");\n return this;\n },\n end: function() {\n if (--this.active === 0) {\n gestures.splice(this.index, 1);\n this.index = -1;\n this.emit(\"end\");\n }\n return this;\n },\n emit: function(type) {\n customEvent(new ZoomEvent(zoom, type, this.that.__zoom), listeners.apply, listeners, [type, this.that, this.args]);\n }\n };\n\n function wheeled() {\n if (!filter.apply(this, arguments)) return;\n var g = gesture(this, arguments),\n t = this.__zoom,\n k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], t.k * Math.pow(2, wheelDelta.apply(this, arguments)))),\n p = mouse(this);\n\n // If the mouse is in the same location as before, reuse it.\n // If there were recent wheel events, reset the wheel idle timeout.\n if (g.wheel) {\n if (g.mouse[0][0] !== p[0] || g.mouse[0][1] !== p[1]) {\n g.mouse[1] = t.invert(g.mouse[0] = p);\n }\n clearTimeout(g.wheel);\n }\n\n // If this wheel event won’t trigger a transform change, ignore it.\n else if (t.k === k) return;\n\n // Otherwise, capture the mouse point and location at the start.\n else {\n g.mouse = [p, t.invert(p)];\n interrupt(this);\n g.start();\n }\n\n noevent();\n g.wheel = setTimeout(wheelidled, wheelDelay);\n g.zoom(\"mouse\", constrain(translate(scale(t, k), g.mouse[0], g.mouse[1]), g.extent, translateExtent));\n\n function wheelidled() {\n g.wheel = null;\n g.end();\n }\n }\n\n function mousedowned() {\n if (touchending || !filter.apply(this, arguments)) return;\n var g = gesture(this, arguments),\n v = select(event.view).on(\"mousemove.zoom\", mousemoved, true).on(\"mouseup.zoom\", mouseupped, true),\n p = mouse(this),\n x0 = event.clientX,\n y0 = event.clientY;\n\n dragDisable(event.view);\n nopropagation();\n g.mouse = [p, this.__zoom.invert(p)];\n interrupt(this);\n g.start();\n\n function mousemoved() {\n noevent();\n if (!g.moved) {\n var dx = event.clientX - x0, dy = event.clientY - y0;\n g.moved = dx * dx + dy * dy > clickDistance2;\n }\n g.zoom(\"mouse\", constrain(translate(g.that.__zoom, g.mouse[0] = mouse(g.that), g.mouse[1]), g.extent, translateExtent));\n }\n\n function mouseupped() {\n v.on(\"mousemove.zoom mouseup.zoom\", null);\n dragEnable(event.view, g.moved);\n noevent();\n g.end();\n }\n }\n\n function dblclicked() {\n if (!filter.apply(this, arguments)) return;\n var t0 = this.__zoom,\n p0 = mouse(this),\n p1 = t0.invert(p0),\n k1 = t0.k * (event.shiftKey ? 0.5 : 2),\n t1 = constrain(translate(scale(t0, k1), p0, p1), extent.apply(this, arguments), translateExtent);\n\n noevent();\n if (duration > 0) select(this).transition().duration(duration).call(schedule, t1, p0);\n else select(this).call(zoom.transform, t1);\n }\n\n function touchstarted() {\n if (!filter.apply(this, arguments)) return;\n var g = gesture(this, arguments),\n touches = event.changedTouches,\n started,\n n = touches.length, i, t, p;\n\n nopropagation();\n for (i = 0; i < n; ++i) {\n t = touches[i], p = touch(this, touches, t.identifier);\n p = [p, this.__zoom.invert(p), t.identifier];\n if (!g.touch0) g.touch0 = p, started = true;\n else if (!g.touch1) g.touch1 = p;\n }\n\n // If this is a dbltap, reroute to the (optional) dblclick.zoom handler.\n if (touchstarting) {\n touchstarting = clearTimeout(touchstarting);\n if (!g.touch1) {\n g.end();\n p = select(this).on(\"dblclick.zoom\");\n if (p) p.apply(this, arguments);\n return;\n }\n }\n\n if (started) {\n touchstarting = setTimeout(function() { touchstarting = null; }, touchDelay);\n interrupt(this);\n g.start();\n }\n }\n\n function touchmoved() {\n var g = gesture(this, arguments),\n touches = event.changedTouches,\n n = touches.length, i, t, p, l;\n\n noevent();\n if (touchstarting) touchstarting = clearTimeout(touchstarting);\n for (i = 0; i < n; ++i) {\n t = touches[i], p = touch(this, touches, t.identifier);\n if (g.touch0 && g.touch0[2] === t.identifier) g.touch0[0] = p;\n else if (g.touch1 && g.touch1[2] === t.identifier) g.touch1[0] = p;\n }\n t = g.that.__zoom;\n if (g.touch1) {\n var p0 = g.touch0[0], l0 = g.touch0[1],\n p1 = g.touch1[0], l1 = g.touch1[1],\n dp = (dp = p1[0] - p0[0]) * dp + (dp = p1[1] - p0[1]) * dp,\n dl = (dl = l1[0] - l0[0]) * dl + (dl = l1[1] - l0[1]) * dl;\n t = scale(t, Math.sqrt(dp / dl));\n p = [(p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2];\n l = [(l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2];\n }\n else if (g.touch0) p = g.touch0[0], l = g.touch0[1];\n else return;\n g.zoom(\"touch\", constrain(translate(t, p, l), g.extent, translateExtent));\n }\n\n function touchended() {\n var g = gesture(this, arguments),\n touches = event.changedTouches,\n n = touches.length, i, t;\n\n nopropagation();\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, touchDelay);\n for (i = 0; i < n; ++i) {\n t = touches[i];\n if (g.touch0 && g.touch0[2] === t.identifier) delete g.touch0;\n else if (g.touch1 && g.touch1[2] === t.identifier) delete g.touch1;\n }\n if (g.touch1 && !g.touch0) g.touch0 = g.touch1, delete g.touch1;\n if (g.touch0) g.touch0[1] = this.__zoom.invert(g.touch0[0]);\n else g.end();\n }\n\n zoom.wheelDelta = function(_) {\n return arguments.length ? (wheelDelta = typeof _ === \"function\" ? _ : constant(+_), zoom) : wheelDelta;\n };\n\n zoom.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), zoom) : filter;\n };\n\n zoom.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), zoom) : touchable;\n };\n\n zoom.extent = function(_) {\n return arguments.length ? (extent = typeof _ === \"function\" ? _ : constant([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), zoom) : extent;\n };\n\n zoom.scaleExtent = function(_) {\n return arguments.length ? (scaleExtent[0] = +_[0], scaleExtent[1] = +_[1], zoom) : [scaleExtent[0], scaleExtent[1]];\n };\n\n zoom.translateExtent = function(_) {\n return arguments.length ? (translateExtent[0][0] = +_[0][0], translateExtent[1][0] = +_[1][0], translateExtent[0][1] = +_[0][1], translateExtent[1][1] = +_[1][1], zoom) : [[translateExtent[0][0], translateExtent[0][1]], [translateExtent[1][0], translateExtent[1][1]]];\n };\n\n zoom.constrain = function(_) {\n return arguments.length ? (constrain = _, zoom) : constrain;\n };\n\n zoom.duration = function(_) {\n return arguments.length ? (duration = +_, zoom) : duration;\n };\n\n zoom.interpolate = function(_) {\n return arguments.length ? (interpolate = _, zoom) : interpolate;\n };\n\n zoom.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? zoom : value;\n };\n\n zoom.clickDistance = function(_) {\n return arguments.length ? (clickDistance2 = (_ = +_) * _, zoom) : Math.sqrt(clickDistance2);\n };\n\n return zoom;\n}\n","export var name = \"d3\";\nexport var version = \"5.7.0\";\nexport var description = \"Data-Driven Documents\";\nexport var keywords = [\"dom\",\"visualization\",\"svg\",\"animation\",\"canvas\"];\nexport var homepage = \"https://d3js.org\";\nexport var license = \"BSD-3-Clause\";\nexport var author = {\"name\":\"Mike Bostock\",\"url\":\"https://bost.ocks.org/mike\"};\nexport var main = \"dist/d3.node.js\";\nexport var unpkg = \"dist/d3.min.js\";\nexport var jsdelivr = \"dist/d3.min.js\";\nexport var module = \"index.js\";\nexport var repository = {\"type\":\"git\",\"url\":\"https://github.com/d3/d3.git\"};\nexport var scripts = {\"pretest\":\"rimraf dist && mkdir dist && json2module package.json > dist/package.js && node rollup.node\",\"test\":\"tape 'test/**/*-test.js'\",\"prepublishOnly\":\"yarn test && rollup -c\",\"postpublish\":\"git push && git push --tags && cd ../d3.github.com && git pull && cp ../d3/dist/d3.js d3.v5.js && cp ../d3/dist/d3.min.js d3.v5.min.js && git add d3.v5.js d3.v5.min.js && git commit -m \\\"d3 ${npm_package_version}\\\" && git push && cd - && cd ../d3-bower && git pull && cp ../d3/LICENSE ../d3/README.md ../d3/dist/d3.js ../d3/dist/d3.min.js . && git add -- LICENSE README.md d3.js d3.min.js && git commit -m \\\"${npm_package_version}\\\" && git tag -am \\\"${npm_package_version}\\\" v${npm_package_version} && git push && git push --tags && cd - && zip -j dist/d3.zip -- LICENSE README.md API.md CHANGES.md dist/d3.js dist/d3.min.js\"};\nexport var devDependencies = {\"json2module\":\"0.0\",\"rimraf\":\"2\",\"rollup\":\"0.64\",\"rollup-plugin-ascii\":\"0.0\",\"rollup-plugin-node-resolve\":\"3\",\"rollup-plugin-terser\":\"1\",\"tape\":\"4\"};\nexport var dependencies = {\"d3-array\":\"1\",\"d3-axis\":\"1\",\"d3-brush\":\"1\",\"d3-chord\":\"1\",\"d3-collection\":\"1\",\"d3-color\":\"1\",\"d3-contour\":\"1\",\"d3-dispatch\":\"1\",\"d3-drag\":\"1\",\"d3-dsv\":\"1\",\"d3-ease\":\"1\",\"d3-fetch\":\"1\",\"d3-force\":\"1\",\"d3-format\":\"1\",\"d3-geo\":\"1\",\"d3-hierarchy\":\"1\",\"d3-interpolate\":\"1\",\"d3-path\":\"1\",\"d3-polygon\":\"1\",\"d3-quadtree\":\"1\",\"d3-random\":\"1\",\"d3-scale\":\"2\",\"d3-scale-chromatic\":\"1\",\"d3-selection\":\"1\",\"d3-shape\":\"1\",\"d3-time\":\"1\",\"d3-time-format\":\"2\",\"d3-timer\":\"1\",\"d3-transition\":\"1\",\"d3-voronoi\":\"1\",\"d3-zoom\":\"1\"};\n","export {version} from \"./dist/package\";\nexport * from \"d3-array\";\nexport * from \"d3-axis\";\nexport * from \"d3-brush\";\nexport * from \"d3-chord\";\nexport * from \"d3-collection\";\nexport * from \"d3-color\";\nexport * from \"d3-contour\";\nexport * from \"d3-dispatch\";\nexport * from \"d3-drag\";\nexport * from \"d3-dsv\";\nexport * from \"d3-ease\";\nexport * from \"d3-fetch\";\nexport * from \"d3-force\";\nexport * from \"d3-format\";\nexport * from \"d3-geo\";\nexport * from \"d3-hierarchy\";\nexport * from \"d3-interpolate\";\nexport * from \"d3-path\";\nexport * from \"d3-polygon\";\nexport * from \"d3-quadtree\";\nexport * from \"d3-random\";\nexport * from \"d3-scale\";\nexport * from \"d3-scale-chromatic\";\nexport * from \"d3-selection\";\nexport * from \"d3-shape\";\nexport * from \"d3-time\";\nexport * from \"d3-time-format\";\nexport * from \"d3-timer\";\nexport * from \"d3-transition\";\nexport * from \"d3-voronoi\";\nexport * from \"d3-zoom\";\n","import { mainUi } from './views';\nimport Store from './store';\n\nconst mainStore = Store.getInstance(); \nmainStore.init();\n\nwindow.onload = () => {\n mainUi(mainStore).render();\n}\n","const singleton = Symbol();\nconst singletonEnforcer = Symbol();\n\nclass Store {\n constructor(enforcer) {\n if (enforcer !== singletonEnforcer) {\n throw new Error('Cannot construct singleton');\n };\n }\n static getInstance() {\n if (!this[singleton]) {\n this[singleton] = new Store(singletonEnforcer);\n }\n return this[singleton];\n }\n\n get state() {\n return this._state;\n }\n\n init() {\n if (!this._state) {\n this._state = {}\n }\n }\n clear() {\n if (this._state) {\n this._state = {}\n }\n }\n\n update(updater) {\n updater(this._state);\n }\n}\n\nexport default Store;","export { mainUi } from './main';","import { select as d3_select } from 'd3';\n\nexport function mainUi(context) {\n var main = {};\n main.context = context;\n main.render = () => {\n const body = d3_select('body');\n // build nav\n body\n .append('div')\n .attr('id', 'nav')\n\n // build map\n body\n .append('div')\n .attr('id', 'map')\n\n }\n return main;\n}"],"sourceRoot":""} \ No newline at end of file diff --git a/package.json b/package.json index c167aed..cc33442 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "d3-ease": "^1.0.5", "d3-request": "^1.0.6", "d3-transition": "^1.1.3", + "mapbox-gl": "^0.49.0-beta.1", "uuid": "^3.3.2" }, "devDependencies": { diff --git a/src/handler/index.js b/src/handler/index.js index ed646f6..7f13198 100644 --- a/src/handler/index.js +++ b/src/handler/index.js @@ -6,16 +6,9 @@ let store = Store.getInstance(); const singleton = Symbol(); const singletonEnforcer = Symbol(); - -const _updateLogin = (context) => { - context.dispatch('login'); - let loginUpdater = (login) => { - return (state) => { - state = Object.assign({}, state); - state.loggedIn = login; - } - } - context.on('login', (login) => store.update(loginUpdater(login))); +const _updateLogin = (login) => { + store.update('loggedIn', login); + Handler.getInstance().call(login ? 'loggedIn' : 'loginFailed'); } class Handler { @@ -33,23 +26,35 @@ class Handler { init() { if (!this._dispatcher) { - this._dispatcher = d3_dispatch + this._dispatcher = null } - _updateLogin(this) - } - call(args) { - this._dispatcher.call(...args); + if (!this._events) { + this._handlersMap = { + 'login': _updateLogin, + 'loggedIn': () => {}, + 'loginFailed': () => {} + } + + this._events = Object.keys(this._handlersMap); + this._dispatcher = d3_dispatch.apply(d3_dispatch, this._events); + + for (let i = 0; i < this._events.length; i++) { + const eventType = this._events[i]; + this.on(eventType, this._handlersMap[eventType]); + } + + } } - dispatch(args) { - this._dispatcher.dispatch(...args); + call(_) { + this._dispatcher.call.apply(this._dispatcher, arguments); } - on(args) { - this._dispatcher.on(...args); + on(_) { + this._dispatcher.on.apply(this._dispatcher, arguments) } } -export default Handler +export default Handler; diff --git a/src/index.html b/src/index.html index 262bbff..c19967c 100644 --- a/src/index.html +++ b/src/index.html @@ -3,8 +3,8 @@ posm-paths-viewer - + + diff --git a/src/store/index.js b/src/store/index.js index 8abc2b4..5a81db2 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -36,8 +36,10 @@ class Store { } } - update(updater) { - updater()(this._state); + update(_) { + const key = arguments[0], value = arguments[1]; + this._state = Object.assign({}, this._state); + this._state[key] = value; } } diff --git a/src/styles/main.css b/src/styles/main.css index 0fd75a1..a487f60 100644 --- a/src/styles/main.css +++ b/src/styles/main.css @@ -1,29 +1,35 @@ -* { +html, +body { margin: 0; padding: 0; } body { display: flex; - justify-content: center; - align-items: center; + flex-direction: column; +} + +.row { + display: flex; } .disabled { display: none; } -.nav { - width: 100%; - height: 8vh; - display: flex; +#nav { align-items: center; background: #eee; border-bottom: 1px solid #000000; + height: 5vh; +} + +#nav * { + margin: 10px; } #map { - width: 100%; + height: 95vh; } .control { @@ -32,13 +38,26 @@ body { padding: 0 10px; } -.control li { +.button { margin: 5px 10px; padding: 10px 20px; border: 1px solid #000000; border-radius: 4px; } -.control li:hover { +.button:hover { background: #696969; +} + +.button-long { + padding: 10px 50px; +} + +.alert { + padding: 4px 8px; + border-radius: 4px; +} + +.alert-warning { + background: #f1c2c2; } \ No newline at end of file diff --git a/src/styles/modal.css b/src/styles/modal.css index 7cbadd6..4323cab 100644 --- a/src/styles/modal.css +++ b/src/styles/modal.css @@ -4,13 +4,14 @@ top: 50%; left: 50%; transform: translate(-50%, -50%); - height: 400px; + height: 300px; max-height: 100%; width: 400px; max-width: 100%; background: white; - box-shadow: 0 0 60px 20px rgba(0,0,0,0.8); + box-shadow: 0 0 4px 2px rgba(0,0,0,0.2); z-index: 100; + border-radius: 10px; } @@ -20,8 +21,9 @@ left: 0; width: 100%; height: 100%; - padding: 20px 50px; overflow: auto; + display: flex; + flex-direction: column; } .modal-overlay { @@ -32,3 +34,39 @@ height: 100%; z-index: 50; } + +.login-input { + margin: 10px 0; +} + +.login-input * { + margin: 10px; +} + +.login-input-text { + max-width: 175px; +} + +#login-username { + margin-top: 10%; +} + +#login-buttons { + list-style: none; + display: flex; +} + +#login-controls { + margin: auto; + margin-top: 20px; +} + +#login-fail { + margin-top: 15px; +} + +.login-component { + margin-left: 10px; + margin-right: 10px; + text-align: center; +} diff --git a/src/views/login.js b/src/views/login.js index b2e3320..4f1a8ea 100644 --- a/src/views/login.js +++ b/src/views/login.js @@ -4,17 +4,16 @@ import { } from 'd3'; import Handler from '../handler'; +import Store from '../store'; import css from '../styles/modal.css'; export function loginUi (context) { const body = d3_select('body'); const handler = Handler.getInstance(); - - d3_dispatch('loggedIn') - + function doLogin() { // place where interaction w/rails app will go - handler.call('loggedIn', true); + handler.call('login', Store.getInstance(), true); } function doClose() { @@ -22,6 +21,18 @@ export function loginUi (context) { d3_selectAll('.modal').remove() } + function doLoginWarn () { + if (d3_select('#login-fail').empty()) { + d3_select('.modal-content') + .append('div').attr('class', 'login-component').attr('id', 'login-fail') + .append('span').attr('class', 'alert alert-warning').text('Login Failed!') + } + } + + // on loggedIn, close! + handler.on('loggedIn', doClose); + handler.on('loginFailed', doLoginWarn); + let login = {} login.render = () => { @@ -35,29 +46,29 @@ export function loginUi (context) { ['username', 'password'].forEach(input => { modalContent - .append('div').attr('class', `login-input`).attr('id', `login-input-${input}`) + .append('div').attr('class', `login-input login-component`).attr('id', `login-${input}`) .append('span').attr('class', 'input-name').text(input) - d3_select(`#login-input-${input}`) + d3_select(`#login-${input}`) .append('input') - .attr('class', input) + .attr('class', 'login-input-text') + .attr('id', `login-${input}-input`) .attr('type', 'text') }) modalContent - .append('ul') - .attr('class', 'control') - .attr('id', 'login-buttons') + .append('div').attr('id', 'login-buttons').attr('class', 'login-component') + .append('ul').attr('id', 'login-controls').attr('class', 'control'); - let loginControls = d3_select('#login-buttons'); + let loginControls = d3_select('#login-controls'); loginControls .append('li').attr('id', 'login-ok').on('click', doLogin) - .append('div').attr('id', 'login-ok-text').text('ok') + .append('div').attr('id', 'login-ok-text').attr('class', 'button button-long').text('ok') loginControls .append('li').attr('id', 'login-close').on('click', doClose) - .append('div').attr('id', 'login-close').text('close'); + .append('div').attr('id', 'login-close').attr('class', 'button button-long').text('close'); } diff --git a/src/views/main.js b/src/views/main.js index a8540fc..2ee38e0 100644 --- a/src/views/main.js +++ b/src/views/main.js @@ -1,6 +1,6 @@ import { select as d3_select } from 'd3'; import { navUi } from './nav'; - +import { mapUi } from './map'; export function mainUi(context) { let main = {}; @@ -9,15 +9,18 @@ export function mainUi(context) { // build nav body .append('div') - .attr('class', 'nav') + .attr('id', 'nav') + .attr('class', 'row') navUi(context).render(); // build map - // body - // .append('div') - // .attr('id', 'map') - // .call(mapUi(context).render()) + body + .append('div') + .attr('id', 'map') + .attr('class', 'row') + + mapUi(context).render(); } return main; diff --git a/src/views/map.js b/src/views/map.js index e69de29..315c59e 100644 --- a/src/views/map.js +++ b/src/views/map.js @@ -0,0 +1,21 @@ +import { select as d3_select } from 'd3'; +import mapboxgl from 'mapbox-gl'; + +export function mapUi(context) { + const body = d3_select('body'); + + let map = {}; + let glMap = () => { + mapboxgl.accessToken = 'pk.eyJ1IjoibWF4Z3Jvc3NtYW4iLCJhIjoiY2loZTQ5bHpxMGlyaXRwbHpsN3FscjA3bSJ9.ry1OJsQ5SCbhrH7fYd7adg'; + new mapboxgl.Map({ + container: 'map', + style: 'mapbox://styles/mapbox/streets-v9' + }); + }; + + + map.render = () => { + glMap(); + } + return map; +} \ No newline at end of file diff --git a/src/views/nav.js b/src/views/nav.js index 6cfe904..85eec4a 100644 --- a/src/views/nav.js +++ b/src/views/nav.js @@ -14,26 +14,19 @@ export function navUi(context) { } } nav.render = () => { - let nav = d3_select('.nav'); + let nav = d3_select('#nav'); // controls let navControl = nav.append('ul').attr('class', 'control'); navControl - .append('li') - .attr('id', 'login') - .on('click' , login) - .append('div') - .attr('id', 'login-text') - .text(context.loggedIn ? 'logout' : 'login') + .append('li').attr('id', 'login').on('click' , login) + .append('div').attr('id', 'login-text').attr('class', 'button').text(context.loggedIn ? 'logout' : 'login') navControl - .append('li') - .attr('id', 'upload') - .append('div') - .attr('id', 'upload-text') - .text('upload') + .append('li').attr('id', 'upload') + .append('div').attr('id', 'upload-text').attr('class', 'button').text('upload') if (!context.loggedIn) { d3_select('#upload').attr('class', 'disabled') diff --git a/test/spec/handler.js b/test/spec/handler.js index a81e119..a3eea36 100644 --- a/test/spec/handler.js +++ b/test/spec/handler.js @@ -5,7 +5,7 @@ import Store from '../../src/store'; describe('Handler', () => { it('is a singleton', () => { const store = Store.getInstance(); store.init(); - const handerA = Handler.getInstance(); + const handlerA = Handler.getInstance(); const handlerB = Handler.getInstance(); const adder = (num) => { diff --git a/yarn-error.log b/yarn-error.log deleted file mode 100644 index f46e4ac..0000000 --- a/yarn-error.log +++ /dev/null @@ -1,5220 +0,0 @@ -Arguments: - /home/max/.nvm/versions/node/v8.9.1/bin/node /home/max/.yarn/bin/yarn.js add d3-easee - -PATH: - /home/max/.yarn/bin:/home/max/.config/yarn/global/node_modules/.bin:/home/max/.cargo/bin:/home/max/.pyenv/plugins/pyenv-virtualenv/shims:/home/max/.rbenv/shims:/home/max/.rbenv/bin:/home/max/.pyenv/bin:usr/share/rvm/bin:/home/max/.yarn/bin:/home/max/.config/yarn/global/node_modules/.bin:/home/max/.cargo/bin:/home/max/.pyenv/plugins/pyenv-virtualenv/shims:/home/max/.rbenv/shims:/home/max/.rbenv/bin:/home/max/.pyenv/bin:/home/max/.nvm/versions/node/v8.9.1/bin:usr/share/rvm/bin:/home/max/.cargo/bin:/home/max/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/share/rvm/bin - -Yarn version: - 1.9.4 - -Node version: - 8.9.1 - -Platform: - linux x64 - -Trace: - Error: https://registry.yarnpkg.com/d3-easee: Not found - at Request.params.callback [as _callback] (/home/max/.yarn/lib/cli.js:64202:18) - at Request.self.callback (/home/max/.yarn/lib/cli.js:137468:22) - at emitTwo (events.js:126:13) - at Request.emit (events.js:214:7) - at Request. (/home/max/.yarn/lib/cli.js:138440:10) - at emitOne (events.js:116:13) - at Request.emit (events.js:211:7) - at IncomingMessage. (/home/max/.yarn/lib/cli.js:138362:12) - at Object.onceWrapper (events.js:313:30) - at emitNone (events.js:111:20) - -npm manifest: - { - "name": "posm-paths-viewer", - "version": "0.0.1", - "description": "app to view and manage posm-paths sequences", - "main": "index.js", - "author": "POSM developers", - "license": "MIT", - "scripts": { - "build:dev": "webpack --mode development", - "start:dev": "webpack-dev-server --mode development", - "test": "mocha --require babel-core/register test/**/*.js" - }, - "dependencies": { - "d3": "^5.7.0", - "d3-dispatch": "^1.0.5", - "d3-request": "^1.0.6", - "d3-transition": "^1.1.3", - "uuid": "^3.3.2" - }, - "devDependencies": { - "@babel/cli": "^7.0.0", - "@babel/core": "^7.0.0", - "@babel/preset-env": "^7.0.0", - "@babel/preset-es2015": "^7.0.0-beta.53", - "babel-loader": "^8.0.2", - "chai": "^4.1.2", - "css-loader": "^1.0.0", - "extract-text-webpack-plugin": "^4.0.0-beta.0", - "html-webpack-plugin": "^3.2.0", - "mini-css-extract-plugin": "^0.4.2", - "mocha": "^5.2.0", - "style-loader": "^0.23.0", - "webpack": "^4.17.1", - "webpack-cli": "^3.1.0", - "webpack-dev-server": "^3.1.7" - } - } - -yarn manifest: - No manifest - -Lockfile: - # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. - # yarn lockfile v1 - - - "@babel/cli@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.0.0.tgz#108b395fd43fff6681d36fb41274df4d8ffeb12e" - dependencies: - commander "^2.8.1" - convert-source-map "^1.1.0" - fs-readdir-recursive "^1.1.0" - glob "^7.0.0" - lodash "^4.17.10" - mkdirp "^0.5.1" - output-file-sync "^2.0.0" - slash "^2.0.0" - source-map "^0.5.0" - optionalDependencies: - chokidar "^2.0.3" - - "@babel/code-frame@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.53.tgz#980d1560b863575bf5a377925037e0132ef5921e" - dependencies: - "@babel/highlight" "7.0.0-beta.53" - - "@babel/code-frame@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" - dependencies: - "@babel/highlight" "^7.0.0" - - "@babel/core@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.0.0.tgz#0cb0c0fd2e78a0a2bec97698f549ae9ce0b99515" - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/generator" "^7.0.0" - "@babel/helpers" "^7.0.0" - "@babel/parser" "^7.0.0" - "@babel/template" "^7.0.0" - "@babel/traverse" "^7.0.0" - "@babel/types" "^7.0.0" - convert-source-map "^1.1.0" - debug "^3.1.0" - json5 "^0.5.0" - lodash "^4.17.10" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - - "@babel/generator@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-beta.53.tgz#b8cad72c572be3234affde22be6dacc4250e034b" - dependencies: - "@babel/types" "7.0.0-beta.53" - jsesc "^2.5.1" - lodash "^4.17.5" - source-map "^0.5.0" - trim-right "^1.0.1" - - "@babel/generator@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0.tgz#1efd58bffa951dc846449e58ce3a1d7f02d393aa" - dependencies: - "@babel/types" "^7.0.0" - jsesc "^2.5.1" - lodash "^4.17.10" - source-map "^0.5.0" - trim-right "^1.0.1" - - "@babel/helper-annotate-as-pure@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.53.tgz#59960628375cbeef96a07edfe1ca38b756f01aa8" - dependencies: - "@babel/types" "7.0.0-beta.53" - - "@babel/helper-annotate-as-pure@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32" - dependencies: - "@babel/types" "^7.0.0" - - "@babel/helper-builder-binary-assignment-operator-visitor@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0.tgz#ba26336beb2abb547d58b6eba5b84d77975a39eb" - dependencies: - "@babel/helper-explode-assignable-expression" "^7.0.0" - "@babel/types" "^7.0.0" - - "@babel/helper-call-delegate@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.53.tgz#95de8babd03f9e6cf4f2b564a038708c138ffe31" - dependencies: - "@babel/helper-hoist-variables" "7.0.0-beta.53" - "@babel/traverse" "7.0.0-beta.53" - "@babel/types" "7.0.0-beta.53" - - "@babel/helper-call-delegate@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0.tgz#e036956bb33d76e59c07a04a1fff144e9f62ab78" - dependencies: - "@babel/helper-hoist-variables" "^7.0.0" - "@babel/traverse" "^7.0.0" - "@babel/types" "^7.0.0" - - "@babel/helper-define-map@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.53.tgz#48e9e2265453787975043efaab1edad239ea9695" - dependencies: - "@babel/helper-function-name" "7.0.0-beta.53" - "@babel/types" "7.0.0-beta.53" - lodash "^4.17.5" - - "@babel/helper-define-map@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.0.0.tgz#a5684dd2adf30f0137cf9b0bde436f8c2db17225" - dependencies: - "@babel/helper-function-name" "^7.0.0" - "@babel/types" "^7.0.0" - lodash "^4.17.10" - - "@babel/helper-explode-assignable-expression@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0.tgz#fdfa4c88603ae3e954d0fc3244d5ca82fb468497" - dependencies: - "@babel/traverse" "^7.0.0" - "@babel/types" "^7.0.0" - - "@babel/helper-function-name@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.53.tgz#512804ae8e9cbce5431ebea19e47628c2ed653f2" - dependencies: - "@babel/helper-get-function-arity" "7.0.0-beta.53" - "@babel/template" "7.0.0-beta.53" - "@babel/types" "7.0.0-beta.53" - - "@babel/helper-function-name@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0.tgz#a68cc8d04420ccc663dd258f9cc41b8261efa2d4" - dependencies: - "@babel/helper-get-function-arity" "^7.0.0" - "@babel/template" "^7.0.0" - "@babel/types" "^7.0.0" - - "@babel/helper-get-function-arity@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.53.tgz#ded88ab29f9b1db61c87d1bb8d38a35dda779de6" - dependencies: - "@babel/types" "7.0.0-beta.53" - - "@babel/helper-get-function-arity@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" - dependencies: - "@babel/types" "^7.0.0" - - "@babel/helper-hoist-variables@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.53.tgz#4c27e3b873fa09c5ad6e93eb40704c200f84137c" - dependencies: - "@babel/types" "7.0.0-beta.53" - - "@babel/helper-hoist-variables@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz#46adc4c5e758645ae7a45deb92bab0918c23bb88" - dependencies: - "@babel/types" "^7.0.0" - - "@babel/helper-member-expression-to-functions@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-beta.53.tgz#0fb0ef8b2d3b903d1c3bf426da4a74575e019ce4" - dependencies: - "@babel/types" "7.0.0-beta.53" - - "@babel/helper-member-expression-to-functions@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz#8cd14b0a0df7ff00f009e7d7a436945f47c7a16f" - dependencies: - "@babel/types" "^7.0.0" - - "@babel/helper-module-imports@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.53.tgz#e735e6aa30a504b0f9d85c38a6d470a9f4aa81d9" - dependencies: - "@babel/types" "7.0.0-beta.53" - lodash "^4.17.5" - - "@babel/helper-module-imports@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d" - dependencies: - "@babel/types" "^7.0.0" - - "@babel/helper-module-transforms@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.53.tgz#7ba214cdcc8f8623f2d1797deaff1ff349aace13" - dependencies: - "@babel/helper-module-imports" "7.0.0-beta.53" - "@babel/helper-simple-access" "7.0.0-beta.53" - "@babel/helper-split-export-declaration" "7.0.0-beta.53" - "@babel/template" "7.0.0-beta.53" - "@babel/types" "7.0.0-beta.53" - lodash "^4.17.5" - - "@babel/helper-module-transforms@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0.tgz#b01ee7d543e81e8c3fc404b19c9f26acb6e4cf4c" - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-simple-access" "^7.0.0" - "@babel/helper-split-export-declaration" "^7.0.0" - "@babel/template" "^7.0.0" - "@babel/types" "^7.0.0" - lodash "^4.17.10" - - "@babel/helper-optimise-call-expression@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.53.tgz#8fc78ef4c0f69f8bb3bbdf34cd232c20120414c8" - dependencies: - "@babel/types" "7.0.0-beta.53" - - "@babel/helper-optimise-call-expression@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5" - dependencies: - "@babel/types" "^7.0.0" - - "@babel/helper-plugin-utils@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.53.tgz#d64458636ffc258b42714a9dd93aeb6f8b8cf3ed" - - "@babel/helper-plugin-utils@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" - - "@babel/helper-regex@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0-beta.53.tgz#6e9d2197b562779e225565946ae9a85c215b225e" - dependencies: - lodash "^4.17.5" - - "@babel/helper-regex@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0.tgz#2c1718923b57f9bbe64705ffe5640ac64d9bdb27" - dependencies: - lodash "^4.17.10" - - "@babel/helper-remap-async-to-generator@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0.tgz#6512273c2feb91587822335cf913fdf680c26901" - dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-wrap-function" "^7.0.0" - "@babel/template" "^7.0.0" - "@babel/traverse" "^7.0.0" - "@babel/types" "^7.0.0" - - "@babel/helper-replace-supers@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.53.tgz#339b5bdc102294495b1a27c558132306e1b7bca7" - dependencies: - "@babel/helper-member-expression-to-functions" "7.0.0-beta.53" - "@babel/helper-optimise-call-expression" "7.0.0-beta.53" - "@babel/traverse" "7.0.0-beta.53" - "@babel/types" "7.0.0-beta.53" - - "@babel/helper-replace-supers@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0.tgz#b6f21237280e0be54f591f63a464b66627ced707" - dependencies: - "@babel/helper-member-expression-to-functions" "^7.0.0" - "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/traverse" "^7.0.0" - "@babel/types" "^7.0.0" - - "@babel/helper-simple-access@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.53.tgz#72f6db9abe42f8681fa6f028efd59d81544752b3" - dependencies: - "@babel/template" "7.0.0-beta.53" - "@babel/types" "7.0.0-beta.53" - lodash "^4.17.5" - - "@babel/helper-simple-access@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.0.0.tgz#ff36a27983ae4c27122da2f7f294dced80ecbd08" - dependencies: - "@babel/template" "^7.0.0" - "@babel/types" "^7.0.0" - - "@babel/helper-split-export-declaration@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.53.tgz#aef54b8b1f99616ea37c98478716a3780263325b" - dependencies: - "@babel/types" "7.0.0-beta.53" - - "@babel/helper-split-export-declaration@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz#3aae285c0311c2ab095d997b8c9a94cad547d813" - dependencies: - "@babel/types" "^7.0.0" - - "@babel/helper-wrap-function@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0.tgz#1c8e42a2cfb0808e3140189dfe9490782a6fa740" - dependencies: - "@babel/helper-function-name" "^7.0.0" - "@babel/template" "^7.0.0" - "@babel/traverse" "^7.0.0" - "@babel/types" "^7.0.0" - - "@babel/helpers@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.0.0.tgz#7213388341eeb07417f44710fd7e1d00acfa6ac0" - dependencies: - "@babel/template" "^7.0.0" - "@babel/traverse" "^7.0.0" - "@babel/types" "^7.0.0" - - "@babel/highlight@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.53.tgz#f4e952dad1787d205e188d3e384cdce49ca368fb" - dependencies: - chalk "^2.0.0" - esutils "^2.0.2" - js-tokens "^3.0.0" - - "@babel/highlight@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" - dependencies: - chalk "^2.0.0" - esutils "^2.0.2" - js-tokens "^4.0.0" - - "@babel/parser@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.0.0-beta.53.tgz#1f45eb617bf9463d482b2c04d349d9e4edbf4892" - - "@babel/parser@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.0.0.tgz#697655183394facffb063437ddf52c0277698775" - - "@babel/plugin-proposal-async-generator-functions@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0.tgz#5d1eb6b44fd388b97f964350007ab9da090b1d70" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-remap-async-to-generator" "^7.0.0" - "@babel/plugin-syntax-async-generators" "^7.0.0" - - "@babel/plugin-proposal-json-strings@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.0.0.tgz#3b4d7b5cf51e1f2e70f52351d28d44fc2970d01e" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-json-strings" "^7.0.0" - - "@babel/plugin-proposal-object-rest-spread@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0.tgz#9a17b547f64d0676b6c9cecd4edf74a82ab85e7e" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - - "@babel/plugin-proposal-optional-catch-binding@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.0.0.tgz#b610d928fe551ff7117d42c8bb410eec312a6425" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.0.0" - - "@babel/plugin-proposal-unicode-property-regex@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0.tgz#498b39cd72536cd7c4b26177d030226eba08cd33" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" - regexpu-core "^4.2.0" - - "@babel/plugin-syntax-async-generators@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0.tgz#bf0891dcdbf59558359d0c626fdc9490e20bc13c" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - - "@babel/plugin-syntax-json-strings@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.0.0.tgz#0d259a68090e15b383ce3710e01d5b23f3770cbd" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - - "@babel/plugin-syntax-object-rest-spread@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0.tgz#37d8fbcaf216bd658ea1aebbeb8b75e88ebc549b" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - - "@babel/plugin-syntax-optional-catch-binding@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.0.0.tgz#886f72008b3a8b185977f7cb70713b45e51ee475" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - - "@babel/plugin-transform-arrow-functions@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.53.tgz#a75f5fa8497aac1729d033bf41c250416b9d1e04" - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.53" - - "@babel/plugin-transform-arrow-functions@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0.tgz#a6c14875848c68a3b4b3163a486535ef25c7e749" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - - "@babel/plugin-transform-async-to-generator@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0.tgz#feaf18f4bfeaf2236eea4b2d4879da83006cc8f5" - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-remap-async-to-generator" "^7.0.0" - - "@babel/plugin-transform-block-scoped-functions@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.53.tgz#0a43221a1b0c90cd4d09f1b46b959dd248657f73" - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.53" - - "@babel/plugin-transform-block-scoped-functions@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0.tgz#482b3f75103927e37288b3b67b65f848e2aa0d07" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - - "@babel/plugin-transform-block-scoping@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.53.tgz#9efd6e50ca1fa398dcaa7119621da3f1fbb821b6" - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.53" - lodash "^4.17.5" - - "@babel/plugin-transform-block-scoping@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0.tgz#1745075edffd7cdaf69fab2fb6f9694424b7e9bc" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - lodash "^4.17.10" - - "@babel/plugin-transform-classes@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.53.tgz#5dc2ec31bf1e98066acdf0c4887b7744c14bec6e" - dependencies: - "@babel/helper-annotate-as-pure" "7.0.0-beta.53" - "@babel/helper-define-map" "7.0.0-beta.53" - "@babel/helper-function-name" "7.0.0-beta.53" - "@babel/helper-optimise-call-expression" "7.0.0-beta.53" - "@babel/helper-plugin-utils" "7.0.0-beta.53" - "@babel/helper-replace-supers" "7.0.0-beta.53" - "@babel/helper-split-export-declaration" "7.0.0-beta.53" - globals "^11.1.0" - - "@babel/plugin-transform-classes@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0.tgz#9e65ca401747dde99e344baea90ab50dccb4c468" - dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-define-map" "^7.0.0" - "@babel/helper-function-name" "^7.0.0" - "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.0.0" - "@babel/helper-split-export-declaration" "^7.0.0" - globals "^11.1.0" - - "@babel/plugin-transform-computed-properties@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.53.tgz#9747e26082ae94eda530f98d2c2059e8d2dbc005" - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.53" - - "@babel/plugin-transform-computed-properties@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0.tgz#2fbb8900cd3e8258f2a2ede909b90e7556185e31" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - - "@babel/plugin-transform-destructuring@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.53.tgz#0f0adb0e1a6dcd35a3664101609ec062ff127a76" - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.53" - - "@babel/plugin-transform-destructuring@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0.tgz#68e911e1935dda2f06b6ccbbf184ffb024e9d43a" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - - "@babel/plugin-transform-dotall-regex@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.0.0.tgz#73a24da69bc3c370251f43a3d048198546115e58" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" - regexpu-core "^4.1.3" - - "@babel/plugin-transform-duplicate-keys@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0-beta.53.tgz#0f559913abfa18239ca4e08f73eec36c5e57b81f" - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.53" - - "@babel/plugin-transform-duplicate-keys@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0.tgz#a0601e580991e7cace080e4cf919cfd58da74e86" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - - "@babel/plugin-transform-exponentiation-operator@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0.tgz#c51b45e090a01876f64d32b5b46c0799c85ea56c" - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - - "@babel/plugin-transform-for-of@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.53.tgz#fa065215e18569c8f74dd524b5721e11dcca973b" - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.53" - - "@babel/plugin-transform-for-of@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0.tgz#f2ba4eadb83bd17dc3c7e9b30f4707365e1c3e39" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - - "@babel/plugin-transform-function-name@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.0.0-beta.53.tgz#2b3a5bb364c1e1c57eccbfe25c6bf55f2804113e" - dependencies: - "@babel/helper-function-name" "7.0.0-beta.53" - "@babel/helper-plugin-utils" "7.0.0-beta.53" - - "@babel/plugin-transform-function-name@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.0.0.tgz#eeda18dc22584e13c3581a68f6be4822bb1d1d81" - dependencies: - "@babel/helper-function-name" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - - "@babel/plugin-transform-instanceof@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-instanceof/-/plugin-transform-instanceof-7.0.0-beta.53.tgz#582d82b725188201ad0e2231f1fce94c745a2c06" - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.53" - - "@babel/plugin-transform-literals@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.53.tgz#bec4f144e9a96ef5121d1430c7ebe5fd088657c9" - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.53" - - "@babel/plugin-transform-literals@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0.tgz#2aec1d29cdd24c407359c930cdd89e914ee8ff86" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - - "@babel/plugin-transform-modules-amd@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.0.0-beta.53.tgz#5854d739e679233a8877c0b418269c6beb7a322c" - dependencies: - "@babel/helper-module-transforms" "7.0.0-beta.53" - "@babel/helper-plugin-utils" "7.0.0-beta.53" - - "@babel/plugin-transform-modules-amd@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.0.0.tgz#2430ab73db9960c4ca89966f425b803f5d0d0468" - dependencies: - "@babel/helper-module-transforms" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - - "@babel/plugin-transform-modules-commonjs@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.53.tgz#ebc3fba1c5a6c8743b909403ecd3e7e3681cafa5" - dependencies: - "@babel/helper-module-transforms" "7.0.0-beta.53" - "@babel/helper-plugin-utils" "7.0.0-beta.53" - "@babel/helper-simple-access" "7.0.0-beta.53" - - "@babel/plugin-transform-modules-commonjs@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0.tgz#20b906e5ab130dd8e456b694a94d9575da0fd41f" - dependencies: - "@babel/helper-module-transforms" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-simple-access" "^7.0.0" - - "@babel/plugin-transform-modules-systemjs@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.0.0-beta.53.tgz#b80fcd9c15972dc6823214f5248527860bbf058e" - dependencies: - "@babel/helper-hoist-variables" "7.0.0-beta.53" - "@babel/helper-plugin-utils" "7.0.0-beta.53" - - "@babel/plugin-transform-modules-systemjs@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.0.0.tgz#8873d876d4fee23209decc4d1feab8f198cf2df4" - dependencies: - "@babel/helper-hoist-variables" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - - "@babel/plugin-transform-modules-umd@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.0.0-beta.53.tgz#2a36abe40a1da676e43a1c3071578e27bd2d679d" - dependencies: - "@babel/helper-module-transforms" "7.0.0-beta.53" - "@babel/helper-plugin-utils" "7.0.0-beta.53" - - "@babel/plugin-transform-modules-umd@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.0.0.tgz#e7bb4f2a6cd199668964241951a25013450349be" - dependencies: - "@babel/helper-module-transforms" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - - "@babel/plugin-transform-new-target@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz#ae8fbd89517fa7892d20e6564e641e8770c3aa4a" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - - "@babel/plugin-transform-object-super@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.53.tgz#e2c4f06edb34b3d7a4b2757ba18829d0df2029cb" - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.53" - "@babel/helper-replace-supers" "7.0.0-beta.53" - - "@babel/plugin-transform-object-super@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0.tgz#b8587d511309b3a0e96e9e38169908b3e392041e" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.0.0" - - "@babel/plugin-transform-parameters@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.53.tgz#efe60cec8ceca0d19d5c6fa1ae79bc4e33279d56" - dependencies: - "@babel/helper-call-delegate" "7.0.0-beta.53" - "@babel/helper-get-function-arity" "7.0.0-beta.53" - "@babel/helper-plugin-utils" "7.0.0-beta.53" - - "@babel/plugin-transform-parameters@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0.tgz#da864efa111816a6df161d492f33de10e74b1949" - dependencies: - "@babel/helper-call-delegate" "^7.0.0" - "@babel/helper-get-function-arity" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - - "@babel/plugin-transform-regenerator@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.53.tgz#4febbf6084afa0c1c9ec8497de68c0695fe9da0b" - dependencies: - regenerator-transform "^0.13.3" - - "@babel/plugin-transform-regenerator@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz#5b41686b4ed40bef874d7ed6a84bdd849c13e0c1" - dependencies: - regenerator-transform "^0.13.3" - - "@babel/plugin-transform-shorthand-properties@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.53.tgz#dfc4881b6bd7658a0031ec3b8163e588f0898d4b" - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.53" - - "@babel/plugin-transform-shorthand-properties@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0.tgz#85f8af592dcc07647541a0350e8c95c7bf419d15" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - - "@babel/plugin-transform-spread@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.53.tgz#83e8f646ca24f1c98228f9f1444cf60cbd4938bc" - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.53" - - "@babel/plugin-transform-spread@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0.tgz#93583ce48dd8c85e53f3a46056c856e4af30b49b" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - - "@babel/plugin-transform-sticky-regex@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.53.tgz#0fcf3c994abdd8bab59ba9782fe4d9f8a545d6e7" - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.53" - "@babel/helper-regex" "7.0.0-beta.53" - - "@babel/plugin-transform-sticky-regex@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0.tgz#30a9d64ac2ab46eec087b8530535becd90e73366" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" - - "@babel/plugin-transform-template-literals@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.53.tgz#fa6b0b417100d23e2db14c1df47a2b1b3978f1d9" - dependencies: - "@babel/helper-annotate-as-pure" "7.0.0-beta.53" - "@babel/helper-plugin-utils" "7.0.0-beta.53" - - "@babel/plugin-transform-template-literals@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0.tgz#084f1952efe5b153ddae69eb8945f882c7a97c65" - dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - - "@babel/plugin-transform-typeof-symbol@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.53.tgz#65aae871a9aa40f611483665731209aebd5c2a2b" - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.53" - - "@babel/plugin-transform-typeof-symbol@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0.tgz#4dcf1e52e943e5267b7313bff347fdbe0f81cec9" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - - "@babel/plugin-transform-unicode-regex@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.53.tgz#0af74ec8019e7d59e38be64db7f62291942fed25" - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.53" - "@babel/helper-regex" "7.0.0-beta.53" - regexpu-core "^4.1.3" - - "@babel/plugin-transform-unicode-regex@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0.tgz#c6780e5b1863a76fe792d90eded9fcd5b51d68fc" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" - regexpu-core "^4.1.3" - - "@babel/preset-env@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.0.0.tgz#f450f200c14e713f98cb14d113bf0c2cfbb89ca9" - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-async-generator-functions" "^7.0.0" - "@babel/plugin-proposal-json-strings" "^7.0.0" - "@babel/plugin-proposal-object-rest-spread" "^7.0.0" - "@babel/plugin-proposal-optional-catch-binding" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.0.0" - "@babel/plugin-syntax-async-generators" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.0.0" - "@babel/plugin-transform-arrow-functions" "^7.0.0" - "@babel/plugin-transform-async-to-generator" "^7.0.0" - "@babel/plugin-transform-block-scoped-functions" "^7.0.0" - "@babel/plugin-transform-block-scoping" "^7.0.0" - "@babel/plugin-transform-classes" "^7.0.0" - "@babel/plugin-transform-computed-properties" "^7.0.0" - "@babel/plugin-transform-destructuring" "^7.0.0" - "@babel/plugin-transform-dotall-regex" "^7.0.0" - "@babel/plugin-transform-duplicate-keys" "^7.0.0" - "@babel/plugin-transform-exponentiation-operator" "^7.0.0" - "@babel/plugin-transform-for-of" "^7.0.0" - "@babel/plugin-transform-function-name" "^7.0.0" - "@babel/plugin-transform-literals" "^7.0.0" - "@babel/plugin-transform-modules-amd" "^7.0.0" - "@babel/plugin-transform-modules-commonjs" "^7.0.0" - "@babel/plugin-transform-modules-systemjs" "^7.0.0" - "@babel/plugin-transform-modules-umd" "^7.0.0" - "@babel/plugin-transform-new-target" "^7.0.0" - "@babel/plugin-transform-object-super" "^7.0.0" - "@babel/plugin-transform-parameters" "^7.0.0" - "@babel/plugin-transform-regenerator" "^7.0.0" - "@babel/plugin-transform-shorthand-properties" "^7.0.0" - "@babel/plugin-transform-spread" "^7.0.0" - "@babel/plugin-transform-sticky-regex" "^7.0.0" - "@babel/plugin-transform-template-literals" "^7.0.0" - "@babel/plugin-transform-typeof-symbol" "^7.0.0" - "@babel/plugin-transform-unicode-regex" "^7.0.0" - browserslist "^4.1.0" - invariant "^2.2.2" - js-levenshtein "^1.1.3" - semver "^5.3.0" - - "@babel/preset-es2015@^7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/preset-es2015/-/preset-es2015-7.0.0-beta.53.tgz#4982fa1948db1093766288f69913e2ce360311e4" - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.53" - "@babel/plugin-transform-arrow-functions" "7.0.0-beta.53" - "@babel/plugin-transform-block-scoped-functions" "7.0.0-beta.53" - "@babel/plugin-transform-block-scoping" "7.0.0-beta.53" - "@babel/plugin-transform-classes" "7.0.0-beta.53" - "@babel/plugin-transform-computed-properties" "7.0.0-beta.53" - "@babel/plugin-transform-destructuring" "7.0.0-beta.53" - "@babel/plugin-transform-duplicate-keys" "7.0.0-beta.53" - "@babel/plugin-transform-for-of" "7.0.0-beta.53" - "@babel/plugin-transform-function-name" "7.0.0-beta.53" - "@babel/plugin-transform-instanceof" "7.0.0-beta.53" - "@babel/plugin-transform-literals" "7.0.0-beta.53" - "@babel/plugin-transform-modules-amd" "7.0.0-beta.53" - "@babel/plugin-transform-modules-commonjs" "7.0.0-beta.53" - "@babel/plugin-transform-modules-systemjs" "7.0.0-beta.53" - "@babel/plugin-transform-modules-umd" "7.0.0-beta.53" - "@babel/plugin-transform-object-super" "7.0.0-beta.53" - "@babel/plugin-transform-parameters" "7.0.0-beta.53" - "@babel/plugin-transform-regenerator" "7.0.0-beta.53" - "@babel/plugin-transform-shorthand-properties" "7.0.0-beta.53" - "@babel/plugin-transform-spread" "7.0.0-beta.53" - "@babel/plugin-transform-sticky-regex" "7.0.0-beta.53" - "@babel/plugin-transform-template-literals" "7.0.0-beta.53" - "@babel/plugin-transform-typeof-symbol" "7.0.0-beta.53" - "@babel/plugin-transform-unicode-regex" "7.0.0-beta.53" - - "@babel/template@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.53.tgz#3322290900d0b187b0a7174381e1f3bb71050d2e" - dependencies: - "@babel/code-frame" "7.0.0-beta.53" - "@babel/parser" "7.0.0-beta.53" - "@babel/types" "7.0.0-beta.53" - lodash "^4.17.5" - - "@babel/template@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0.tgz#c2bc9870405959c89a9c814376a2ecb247838c80" - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.0.0" - "@babel/types" "^7.0.0" - - "@babel/traverse@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.53.tgz#00d32cd8d0b58f4c01d31157be622c662826d344" - dependencies: - "@babel/code-frame" "7.0.0-beta.53" - "@babel/generator" "7.0.0-beta.53" - "@babel/helper-function-name" "7.0.0-beta.53" - "@babel/helper-split-export-declaration" "7.0.0-beta.53" - "@babel/parser" "7.0.0-beta.53" - "@babel/types" "7.0.0-beta.53" - debug "^3.1.0" - globals "^11.1.0" - invariant "^2.2.0" - lodash "^4.17.5" - - "@babel/traverse@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0.tgz#b1fe9b6567fdf3ab542cfad6f3b31f854d799a61" - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/generator" "^7.0.0" - "@babel/helper-function-name" "^7.0.0" - "@babel/helper-split-export-declaration" "^7.0.0" - "@babel/parser" "^7.0.0" - "@babel/types" "^7.0.0" - debug "^3.1.0" - globals "^11.1.0" - lodash "^4.17.10" - - "@babel/types@7.0.0-beta.53": - version "7.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.53.tgz#19a461c0da515595dfb6740b4b45dc7bb0e6b375" - dependencies: - esutils "^2.0.2" - lodash "^4.17.5" - to-fast-properties "^2.0.0" - - "@babel/types@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0.tgz#6e191793d3c854d19c6749989e3bc55f0e962118" - dependencies: - esutils "^2.0.2" - lodash "^4.17.10" - to-fast-properties "^2.0.0" - - "@webassemblyjs/ast@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.5.13.tgz#81155a570bd5803a30ec31436bc2c9c0ede38f25" - dependencies: - "@webassemblyjs/helper-module-context" "1.5.13" - "@webassemblyjs/helper-wasm-bytecode" "1.5.13" - "@webassemblyjs/wast-parser" "1.5.13" - debug "^3.1.0" - mamacro "^0.0.3" - - "@webassemblyjs/floating-point-hex-parser@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.5.13.tgz#29ce0baa97411f70e8cce68ce9c0f9d819a4e298" - - "@webassemblyjs/helper-api-error@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.5.13.tgz#e49b051d67ee19a56e29b9aa8bd949b5b4442a59" - - "@webassemblyjs/helper-buffer@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.5.13.tgz#873bb0a1b46449231137c1262ddfd05695195a1e" - dependencies: - debug "^3.1.0" - - "@webassemblyjs/helper-code-frame@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.5.13.tgz#1bd2181b6a0be14e004f0fe9f5a660d265362b58" - dependencies: - "@webassemblyjs/wast-printer" "1.5.13" - - "@webassemblyjs/helper-fsm@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.5.13.tgz#cdf3d9d33005d543a5c5e5adaabf679ffa8db924" - - "@webassemblyjs/helper-module-context@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.5.13.tgz#dc29ddfb51ed657655286f94a5d72d8a489147c5" - dependencies: - debug "^3.1.0" - mamacro "^0.0.3" - - "@webassemblyjs/helper-wasm-bytecode@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.5.13.tgz#03245817f0a762382e61733146f5773def15a747" - - "@webassemblyjs/helper-wasm-section@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.5.13.tgz#efc76f44a10d3073b584b43c38a179df173d5c7d" - dependencies: - "@webassemblyjs/ast" "1.5.13" - "@webassemblyjs/helper-buffer" "1.5.13" - "@webassemblyjs/helper-wasm-bytecode" "1.5.13" - "@webassemblyjs/wasm-gen" "1.5.13" - debug "^3.1.0" - - "@webassemblyjs/ieee754@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.5.13.tgz#573e97c8c12e4eebb316ca5fde0203ddd90b0364" - dependencies: - ieee754 "^1.1.11" - - "@webassemblyjs/leb128@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.5.13.tgz#ab52ebab9cec283c1c1897ac1da833a04a3f4cee" - dependencies: - long "4.0.0" - - "@webassemblyjs/utf8@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.5.13.tgz#6b53d2cd861cf94fa99c1f12779dde692fbc2469" - - "@webassemblyjs/wasm-edit@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.5.13.tgz#c9cef5664c245cf11b3b3a73110c9155831724a8" - dependencies: - "@webassemblyjs/ast" "1.5.13" - "@webassemblyjs/helper-buffer" "1.5.13" - "@webassemblyjs/helper-wasm-bytecode" "1.5.13" - "@webassemblyjs/helper-wasm-section" "1.5.13" - "@webassemblyjs/wasm-gen" "1.5.13" - "@webassemblyjs/wasm-opt" "1.5.13" - "@webassemblyjs/wasm-parser" "1.5.13" - "@webassemblyjs/wast-printer" "1.5.13" - debug "^3.1.0" - - "@webassemblyjs/wasm-gen@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.5.13.tgz#8e6ea113c4b432fa66540189e79b16d7a140700e" - dependencies: - "@webassemblyjs/ast" "1.5.13" - "@webassemblyjs/helper-wasm-bytecode" "1.5.13" - "@webassemblyjs/ieee754" "1.5.13" - "@webassemblyjs/leb128" "1.5.13" - "@webassemblyjs/utf8" "1.5.13" - - "@webassemblyjs/wasm-opt@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.5.13.tgz#147aad7717a7ee4211c36b21a5f4c30dddf33138" - dependencies: - "@webassemblyjs/ast" "1.5.13" - "@webassemblyjs/helper-buffer" "1.5.13" - "@webassemblyjs/wasm-gen" "1.5.13" - "@webassemblyjs/wasm-parser" "1.5.13" - debug "^3.1.0" - - "@webassemblyjs/wasm-parser@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.5.13.tgz#6f46516c5bb23904fbdf58009233c2dd8a54c72f" - dependencies: - "@webassemblyjs/ast" "1.5.13" - "@webassemblyjs/helper-api-error" "1.5.13" - "@webassemblyjs/helper-wasm-bytecode" "1.5.13" - "@webassemblyjs/ieee754" "1.5.13" - "@webassemblyjs/leb128" "1.5.13" - "@webassemblyjs/utf8" "1.5.13" - - "@webassemblyjs/wast-parser@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.5.13.tgz#5727a705d397ae6a3ae99d7f5460acf2ec646eea" - dependencies: - "@webassemblyjs/ast" "1.5.13" - "@webassemblyjs/floating-point-hex-parser" "1.5.13" - "@webassemblyjs/helper-api-error" "1.5.13" - "@webassemblyjs/helper-code-frame" "1.5.13" - "@webassemblyjs/helper-fsm" "1.5.13" - long "^3.2.0" - mamacro "^0.0.3" - - "@webassemblyjs/wast-printer@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.5.13.tgz#bb34d528c14b4f579e7ec11e793ec50ad7cd7c95" - dependencies: - "@webassemblyjs/ast" "1.5.13" - "@webassemblyjs/wast-parser" "1.5.13" - long "^3.2.0" - - abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - - accepts@~1.3.4, accepts@~1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" - dependencies: - mime-types "~2.1.18" - negotiator "0.6.1" - - acorn-dynamic-import@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz#901ceee4c7faaef7e07ad2a47e890675da50a278" - dependencies: - acorn "^5.0.0" - - acorn@^5.0.0, acorn@^5.6.2: - version "5.7.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.2.tgz#91fa871883485d06708800318404e72bfb26dcc5" - - ajv-errors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.0.tgz#ecf021fa108fd17dfb5e6b383f2dd233e31ffc59" - - ajv-keywords@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a" - - ajv@^6.1.0: - version "6.5.3" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.3.tgz#71a569d189ecf4f4f321224fecb166f071dd90f9" - dependencies: - fast-deep-equal "^2.0.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - - ansi-colors@^3.0.0: - version "3.0.5" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.0.5.tgz#cb9dc64993b64fd6945485f797fc3853137d9a7b" - - ansi-escapes@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" - - ansi-html@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" - - ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - - ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - - ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - - ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - dependencies: - color-convert "^1.9.0" - - anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - - aproba@^1.0.3, aproba@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - - are-we-there-yet@~1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - - arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - - arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - - arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - - array-find-index@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - - array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - - array-flatten@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.1.tgz#426bb9da84090c1838d812c8150af20a8331e296" - - array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - dependencies: - array-uniq "^1.0.1" - - array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - - array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - - asn1.js@^4.0.0: - version "4.10.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - - assert@^1.1.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" - dependencies: - util "0.10.3" - - assertion-error@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" - - assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - - async-each@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" - - async@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" - - async@^2.4.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610" - dependencies: - lodash "^4.17.10" - - atob@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - - babel-code-frame@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" - dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" - - babel-loader@^8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.2.tgz#2079b8ec1628284a929241da3d90f5b3de2a5ae5" - dependencies: - find-cache-dir "^1.0.0" - loader-utils "^1.0.2" - mkdirp "^0.5.1" - util.promisify "^1.0.0" - - balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - - base64-js@^1.0.2: - version "1.3.0" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" - - base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - - batch@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" - - big.js@^3.1.3: - version "3.2.0" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" - - binary-extensions@^1.0.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" - - bluebird@^3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" - - bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: - version "4.11.8" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" - - body-parser@1.18.2: - version "1.18.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454" - dependencies: - bytes "3.0.0" - content-type "~1.0.4" - debug "2.6.9" - depd "~1.1.1" - http-errors "~1.6.2" - iconv-lite "0.4.19" - on-finished "~2.3.0" - qs "6.5.1" - raw-body "2.3.2" - type-is "~1.6.15" - - bonjour@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" - dependencies: - array-flatten "^2.1.0" - deep-equal "^1.0.1" - dns-equal "^1.0.0" - dns-txt "^2.0.2" - multicast-dns "^6.0.1" - multicast-dns-service-types "^1.1.0" - - boolbase@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - - brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - - braces@^2.3.0, braces@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - - brorand@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - - browser-stdout@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" - - browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - - browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - - browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - - browserify-rsa@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - dependencies: - bn.js "^4.1.0" - randombytes "^2.0.1" - - browserify-sign@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" - dependencies: - bn.js "^4.1.1" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.2" - elliptic "^6.0.0" - inherits "^2.0.1" - parse-asn1 "^5.0.0" - - browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - dependencies: - pako "~1.0.5" - - browserslist@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.1.0.tgz#81cbb8e52dfa09918f93c6e051d779cb7360785d" - dependencies: - caniuse-lite "^1.0.30000878" - electron-to-chromium "^1.3.61" - node-releases "^1.0.0-alpha.11" - - buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - - buffer-indexof@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" - - buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - - buffer@^4.3.0: - version "4.9.1" - resolved "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - - builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - - bytes@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - - cacache@^10.0.4: - version "10.0.4" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-10.0.4.tgz#6452367999eff9d4188aefd9a14e9d7c6a263460" - dependencies: - bluebird "^3.5.1" - chownr "^1.0.1" - glob "^7.1.2" - graceful-fs "^4.1.11" - lru-cache "^4.1.1" - mississippi "^2.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.2" - ssri "^5.2.4" - unique-filename "^1.1.0" - y18n "^4.0.0" - - cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - - camel-case@3.0.x: - version "3.0.0" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" - dependencies: - no-case "^2.2.0" - upper-case "^1.1.1" - - camelcase@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" - - caniuse-lite@^1.0.30000878: - version "1.0.30000883" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000883.tgz#597c1eabfb379bd9fbeaa778632762eb574706ac" - - chai@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chai/-/chai-4.1.2.tgz#0f64584ba642f0f2ace2806279f4f06ca23ad73c" - dependencies: - assertion-error "^1.0.1" - check-error "^1.0.1" - deep-eql "^3.0.0" - get-func-name "^2.0.0" - pathval "^1.0.0" - type-detect "^4.0.0" - - chalk@^1.1.3: - version "1.1.3" - resolved "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - - chalk@^2.0.0, chalk@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - - chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - - check-error@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" - - chokidar@^2.0.0, chokidar@^2.0.2, chokidar@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.4.tgz#356ff4e2b0e8e43e322d18a372460bbcf3accd26" - dependencies: - anymatch "^2.0.0" - async-each "^1.0.0" - braces "^2.3.0" - glob-parent "^3.1.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - lodash.debounce "^4.0.8" - normalize-path "^2.1.1" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" - upath "^1.0.5" - optionalDependencies: - fsevents "^1.2.2" - - chownr@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181" - - chrome-trace-event@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz#45a91bd2c20c9411f0963b5aaeb9a1b95e09cc48" - dependencies: - tslib "^1.9.0" - - cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - - class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - - clean-css@4.2.x: - version "4.2.1" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17" - dependencies: - source-map "~0.6.0" - - cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - dependencies: - restore-cursor "^2.0.0" - - cli-width@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" - - cliui@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" - dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" - wrap-ansi "^2.0.0" - - code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - - collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - - color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - dependencies: - color-name "1.1.3" - - color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - - commander@2, commander@2.17.x, commander@^2.8.1, commander@~2.17.1: - version "2.17.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" - - commander@2.15.1: - version "2.15.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" - - commander@~2.13.0: - version "2.13.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" - - commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - - component-emitter@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" - - compressible@~2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.14.tgz#326c5f507fbb055f54116782b969a81b67a29da7" - dependencies: - mime-db ">= 1.34.0 < 2" - - compression@^1.5.2: - version "1.7.3" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.3.tgz#27e0e176aaf260f7f2c2813c3e440adb9f1993db" - dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.14" - debug "2.6.9" - on-headers "~1.0.1" - safe-buffer "5.1.2" - vary "~1.1.2" - - concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - - concat-stream@^1.5.0: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - - connect-history-api-fallback@^1.3.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz#b06873934bc5e344fef611a196a6faae0aee015a" - - console-browserify@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" - dependencies: - date-now "^0.1.4" - - console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - - constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - - content-disposition@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" - - content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - - convert-source-map@^1.1.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" - - cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - - cookie@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" - - copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - dependencies: - aproba "^1.1.1" - fs-write-stream-atomic "^1.0.8" - iferr "^0.1.5" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.0" - - copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - - core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - - create-ecdh@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" - dependencies: - bn.js "^4.1.0" - elliptic "^6.0.0" - - create-hash@^1.1.0, create-hash@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - - create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - - cross-spawn@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - - cross-spawn@^6.0.0, cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - - crypto-browserify@^3.11.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - - css-loader@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-1.0.0.tgz#9f46aaa5ca41dbe31860e3b62b8e23c42916bf56" - dependencies: - babel-code-frame "^6.26.0" - css-selector-tokenizer "^0.7.0" - icss-utils "^2.1.0" - loader-utils "^1.0.2" - lodash.camelcase "^4.3.0" - postcss "^6.0.23" - postcss-modules-extract-imports "^1.2.0" - postcss-modules-local-by-default "^1.2.0" - postcss-modules-scope "^1.1.0" - postcss-modules-values "^1.3.0" - postcss-value-parser "^3.3.0" - source-list-map "^2.0.0" - - css-select@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" - dependencies: - boolbase "~1.0.0" - css-what "2.1" - domutils "1.5.1" - nth-check "~1.0.1" - - css-selector-tokenizer@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz#e6988474ae8c953477bf5e7efecfceccd9cf4c86" - dependencies: - cssesc "^0.1.0" - fastparse "^1.1.1" - regexpu-core "^1.0.0" - - css-what@2.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd" - - cssesc@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" - - currently-unhandled@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" - dependencies: - array-find-index "^1.0.1" - - cyclist@~0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" - - d3-array@1, d3-array@^1.1.1, d3-array@^1.2.0: - version "1.2.4" - resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-1.2.4.tgz#635ce4d5eea759f6f605863dbcfc30edc737f71f" - - d3-axis@1: - version "1.0.12" - resolved "https://registry.yarnpkg.com/d3-axis/-/d3-axis-1.0.12.tgz#cdf20ba210cfbb43795af33756886fb3638daac9" - - d3-brush@1: - version "1.0.6" - resolved "https://registry.yarnpkg.com/d3-brush/-/d3-brush-1.0.6.tgz#33691f2032d9db6c5d8cb684ff255a9883629e21" - dependencies: - d3-dispatch "1" - d3-drag "1" - d3-interpolate "1" - d3-selection "1" - d3-transition "1" - - d3-chord@1: - version "1.0.6" - resolved "https://registry.yarnpkg.com/d3-chord/-/d3-chord-1.0.6.tgz#309157e3f2db2c752f0280fedd35f2067ccbb15f" - dependencies: - d3-array "1" - d3-path "1" - - d3-collection@1: - version "1.0.7" - resolved "https://registry.yarnpkg.com/d3-collection/-/d3-collection-1.0.7.tgz#349bd2aa9977db071091c13144d5e4f16b5b310e" - - d3-color@1: - version "1.2.3" - resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-1.2.3.tgz#6c67bb2af6df3cc8d79efcc4d3a3e83e28c8048f" - - d3-contour@1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/d3-contour/-/d3-contour-1.3.2.tgz#652aacd500d2264cb3423cee10db69f6f59bead3" - dependencies: - d3-array "^1.1.1" - - d3-dispatch@1, d3-dispatch@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-1.0.5.tgz#e25c10a186517cd6c82dd19ea018f07e01e39015" - - d3-drag@1: - version "1.2.3" - resolved "https://registry.yarnpkg.com/d3-drag/-/d3-drag-1.2.3.tgz#46e206ad863ec465d88c588098a1df444cd33c64" - dependencies: - d3-dispatch "1" - d3-selection "1" - - d3-dsv@1: - version "1.0.10" - resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-1.0.10.tgz#4371c489a2a654a297aca16fcaf605a6f31a6f51" - dependencies: - commander "2" - iconv-lite "0.4" - rw "1" - - d3-ease@1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-1.0.5.tgz#8ce59276d81241b1b72042d6af2d40e76d936ffb" - - d3-fetch@1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/d3-fetch/-/d3-fetch-1.1.2.tgz#957c8fbc6d4480599ba191b1b2518bf86b3e1be2" - dependencies: - d3-dsv "1" - - d3-force@1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-1.1.2.tgz#16664d0ac71d8727ef5effe0b374feac8050d6cd" - dependencies: - d3-collection "1" - d3-dispatch "1" - d3-quadtree "1" - d3-timer "1" - - d3-format@1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-1.3.2.tgz#6a96b5e31bcb98122a30863f7d92365c00603562" - - d3-geo@1: - version "1.11.1" - resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-1.11.1.tgz#3f35e582c0d29296618b02a8ade0fdffb2c0e63c" - dependencies: - d3-array "1" - - d3-hierarchy@1: - version "1.1.8" - resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-1.1.8.tgz#7a6317bd3ed24e324641b6f1e76e978836b008cc" - - d3-interpolate@1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-1.3.2.tgz#417d3ebdeb4bc4efcc8fd4361c55e4040211fd68" - dependencies: - d3-color "1" - - d3-path@1: - version "1.0.7" - resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-1.0.7.tgz#8de7cd693a75ac0b5480d3abaccd94793e58aae8" - - d3-polygon@1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/d3-polygon/-/d3-polygon-1.0.5.tgz#9a645a0a64ff6cbf9efda96ee0b4a6909184c363" - - d3-quadtree@1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-1.0.5.tgz#305394840b01f51a341a0da5008585e837fe7e9b" - - d3-random@1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/d3-random/-/d3-random-1.1.2.tgz#2833be7c124360bf9e2d3fd4f33847cfe6cab291" - - d3-request@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/d3-request/-/d3-request-1.0.6.tgz#a1044a9ef4ec28c824171c9379fae6d79474b19f" - dependencies: - d3-collection "1" - d3-dispatch "1" - d3-dsv "1" - xmlhttprequest "1" - - d3-scale-chromatic@1: - version "1.3.3" - resolved "https://registry.yarnpkg.com/d3-scale-chromatic/-/d3-scale-chromatic-1.3.3.tgz#dad4366f0edcb288f490128979c3c793583ed3c0" - dependencies: - d3-color "1" - d3-interpolate "1" - - d3-scale@2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-2.1.2.tgz#4e932b7b60182aee9073ede8764c98423e5f9a94" - dependencies: - d3-array "^1.2.0" - d3-collection "1" - d3-format "1" - d3-interpolate "1" - d3-time "1" - d3-time-format "2" - - d3-selection@1, d3-selection@^1.1.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-1.3.2.tgz#6e70a9df60801c8af28ac24d10072d82cbfdf652" - - d3-shape@1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.2.2.tgz#f9dba3777a5825f9a8ce8bc928da08c17679e9a7" - dependencies: - d3-path "1" - - d3-time-format@2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-2.1.3.tgz#ae06f8e0126a9d60d6364eac5b1533ae1bac826b" - dependencies: - d3-time "1" - - d3-time@1: - version "1.0.10" - resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-1.0.10.tgz#8259dd71288d72eeacfd8de281c4bf5c7393053c" - - d3-timer@1: - version "1.0.9" - resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-1.0.9.tgz#f7bb8c0d597d792ff7131e1c24a36dd471a471ba" - - d3-transition@1, d3-transition@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/d3-transition/-/d3-transition-1.1.3.tgz#3a435b05ce9cef9524fe0d38121cfb6905331ca6" - dependencies: - d3-color "1" - d3-dispatch "1" - d3-ease "1" - d3-interpolate "1" - d3-selection "^1.1.0" - d3-timer "1" - - d3-voronoi@1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/d3-voronoi/-/d3-voronoi-1.1.4.tgz#dd3c78d7653d2bb359284ae478645d95944c8297" - - d3-zoom@1: - version "1.7.3" - resolved "https://registry.yarnpkg.com/d3-zoom/-/d3-zoom-1.7.3.tgz#f444effdc9055c38077c4299b4df999eb1d47ccb" - dependencies: - d3-dispatch "1" - d3-drag "1" - d3-interpolate "1" - d3-selection "1" - d3-transition "1" - - d3@^5.7.0: - version "5.7.0" - resolved "https://registry.yarnpkg.com/d3/-/d3-5.7.0.tgz#f189d338bdde62acf02f308918e0ec34dd7568f9" - dependencies: - d3-array "1" - d3-axis "1" - d3-brush "1" - d3-chord "1" - d3-collection "1" - d3-color "1" - d3-contour "1" - d3-dispatch "1" - d3-drag "1" - d3-dsv "1" - d3-ease "1" - d3-fetch "1" - d3-force "1" - d3-format "1" - d3-geo "1" - d3-hierarchy "1" - d3-interpolate "1" - d3-path "1" - d3-polygon "1" - d3-quadtree "1" - d3-random "1" - d3-scale "2" - d3-scale-chromatic "1" - d3-selection "1" - d3-shape "1" - d3-time "1" - d3-time-format "2" - d3-timer "1" - d3-transition "1" - d3-voronoi "1" - d3-zoom "1" - - date-now@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" - - debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.6, debug@^2.6.8: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - dependencies: - ms "2.0.0" - - debug@3.1.0, debug@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - dependencies: - ms "2.0.0" - - decamelize@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-2.0.0.tgz#656d7bbc8094c4c788ea53c5840908c9c7d063c7" - dependencies: - xregexp "4.0.0" - - decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - - deep-eql@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" - dependencies: - type-detect "^4.0.0" - - deep-equal@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" - - deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - - default-gateway@^2.6.0: - version "2.7.2" - resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-2.7.2.tgz#b7ef339e5e024b045467af403d50348db4642d0f" - dependencies: - execa "^0.10.0" - ip-regex "^2.1.0" - - define-properties@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - dependencies: - object-keys "^1.0.12" - - define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - dependencies: - is-descriptor "^0.1.0" - - define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - dependencies: - is-descriptor "^1.0.0" - - define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - - del@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" - dependencies: - globby "^6.1.0" - is-path-cwd "^1.0.0" - is-path-in-cwd "^1.0.0" - p-map "^1.1.1" - pify "^3.0.0" - rimraf "^2.2.8" - - delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - - depd@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" - - depd@~1.1.1, depd@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - - des.js@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - - destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - - detect-libc@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - - detect-node@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" - - diff@3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" - - diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - - dns-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" - - dns-packet@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a" - dependencies: - ip "^1.1.0" - safe-buffer "^5.0.1" - - dns-txt@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" - dependencies: - buffer-indexof "^1.0.0" - - dom-converter@~0.1: - version "0.1.4" - resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.1.4.tgz#a45ef5727b890c9bffe6d7c876e7b19cb0e17f3b" - dependencies: - utila "~0.3" - - dom-serializer@0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" - dependencies: - domelementtype "~1.1.1" - entities "~1.1.1" - - domain-browser@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - - domelementtype@1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" - - domelementtype@~1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" - - domhandler@2.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.1.0.tgz#d2646f5e57f6c3bab11cf6cb05d3c0acf7412594" - dependencies: - domelementtype "1" - - domutils@1.1: - version "1.1.6" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.1.6.tgz#bddc3de099b9a2efacc51c623f28f416ecc57485" - dependencies: - domelementtype "1" - - domutils@1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" - dependencies: - dom-serializer "0" - domelementtype "1" - - duplexify@^3.4.2, duplexify@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.6.0.tgz#592903f5d80b38d037220541264d69a198fb3410" - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - - ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - - electron-to-chromium@^1.3.61: - version "1.3.62" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.62.tgz#2e8e2dc070c800ec8ce23ff9dfcceb585d6f9ed8" - - elliptic@^6.0.0: - version "6.4.1" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.1.tgz#c2d0b7776911b86722c632c3c06c60f2f819939a" - dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" - hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" - - emojis-list@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" - - encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - - end-of-stream@^1.0.0, end-of-stream@^1.1.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" - dependencies: - once "^1.4.0" - - enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.4.0" - tapable "^1.0.0" - - entities@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" - - errno@^0.1.3, errno@~0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" - dependencies: - prr "~1.0.1" - - es-abstract@^1.5.1: - version "1.12.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165" - dependencies: - es-to-primitive "^1.1.1" - function-bind "^1.1.1" - has "^1.0.1" - is-callable "^1.1.3" - is-regex "^1.0.4" - - es-to-primitive@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" - dependencies: - is-callable "^1.1.1" - is-date-object "^1.0.1" - is-symbol "^1.0.1" - - escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - - escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - - eslint-scope@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.0.tgz#50bf3071e9338bcdc43331794a0cb533f0136172" - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - - esrecurse@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" - dependencies: - estraverse "^4.1.0" - - estraverse@^4.1.0, estraverse@^4.1.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" - - esutils@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" - - etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - - eventemitter3@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163" - - events@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" - - eventsource@0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-0.1.6.tgz#0acede849ed7dd1ccc32c811bb11b944d4f29232" - dependencies: - original ">=0.0.5" - - evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - - execa@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.10.0.tgz#ff456a8f53f90f8eccc71a96d11bdfc7f082cb50" - dependencies: - cross-spawn "^6.0.0" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - - execa@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" - dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - - expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - - express@^4.16.2: - version "4.16.3" - resolved "https://registry.yarnpkg.com/express/-/express-4.16.3.tgz#6af8a502350db3246ecc4becf6b5a34d22f7ed53" - dependencies: - accepts "~1.3.5" - array-flatten "1.1.1" - body-parser "1.18.2" - content-disposition "0.5.2" - content-type "~1.0.4" - cookie "0.3.1" - cookie-signature "1.0.6" - debug "2.6.9" - depd "~1.1.2" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "1.1.1" - fresh "0.5.2" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "~2.3.0" - parseurl "~1.3.2" - path-to-regexp "0.1.7" - proxy-addr "~2.0.3" - qs "6.5.1" - range-parser "~1.2.0" - safe-buffer "5.1.1" - send "0.16.2" - serve-static "1.13.2" - setprototypeof "1.1.0" - statuses "~1.4.0" - type-is "~1.6.16" - utils-merge "1.0.1" - vary "~1.1.2" - - extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - dependencies: - is-extendable "^0.1.0" - - extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - - external-editor@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27" - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - - extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - - extract-text-webpack-plugin@^4.0.0-beta.0: - version "4.0.0-beta.0" - resolved "https://registry.yarnpkg.com/extract-text-webpack-plugin/-/extract-text-webpack-plugin-4.0.0-beta.0.tgz#f7361d7ff430b42961f8d1321ba8c1757b5d4c42" - dependencies: - async "^2.4.1" - loader-utils "^1.1.0" - schema-utils "^0.4.5" - webpack-sources "^1.1.0" - - fast-deep-equal@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" - - fast-json-stable-stringify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" - - fastparse@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8" - - faye-websocket@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" - dependencies: - websocket-driver ">=0.5.1" - - faye-websocket@~0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38" - dependencies: - websocket-driver ">=0.5.1" - - figures@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" - dependencies: - escape-string-regexp "^1.0.5" - - fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - - finalhandler@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105" - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "~2.3.0" - parseurl "~1.3.2" - statuses "~1.4.0" - unpipe "~1.0.0" - - find-cache-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f" - dependencies: - commondir "^1.0.1" - make-dir "^1.0.0" - pkg-dir "^2.0.0" - - find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - dependencies: - locate-path "^2.0.0" - - find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - dependencies: - locate-path "^3.0.0" - - flush-write-stream@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.0.3.tgz#c5d586ef38af6097650b49bc41b55fabb19f35bd" - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.4" - - follow-redirects@^1.0.0: - version "1.5.7" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.7.tgz#a39e4804dacb90202bca76a9e2ac10433ca6a69a" - dependencies: - debug "^3.1.0" - - for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - - forwarded@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" - - fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - dependencies: - map-cache "^0.2.2" - - fresh@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - - from2@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - - fs-minipass@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" - dependencies: - minipass "^2.2.1" - - fs-readdir-recursive@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" - - fs-write-stream-atomic@^1.0.8: - version "1.0.10" - resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - dependencies: - graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" - - fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - - fsevents@^1.2.2: - version "1.2.4" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426" - dependencies: - nan "^2.9.2" - node-pre-gyp "^0.10.0" - - function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - - gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - - get-caller-file@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" - - get-func-name@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" - - get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - - get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - - glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - - glob@7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - - glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.2: - version "7.1.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - - global-modules-path@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/global-modules-path/-/global-modules-path-2.3.0.tgz#b0e2bac6beac39745f7db5c59d26a36a0b94f7dc" - - globals@^11.1.0: - version "11.7.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.7.0.tgz#a583faa43055b1aca771914bf68258e2fc125673" - - globby@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" - dependencies: - array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - - graceful-fs@^4.1.11, graceful-fs@^4.1.2: - version "4.1.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" - - growl@1.10.5: - version "1.10.5" - resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" - - handle-thing@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-1.2.5.tgz#fd7aad726bf1a5fd16dfc29b2f7a6601d27139c4" - - has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - dependencies: - ansi-regex "^2.0.0" - - has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - - has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - - has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - - has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - - has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - - has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - - has@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - dependencies: - function-bind "^1.1.1" - - hash-base@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - - hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.5" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.5.tgz#e38ab4b85dfb1e0c40fe9265c0e9b54854c23812" - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - - he@1.1.1, he@1.1.x: - version "1.1.1" - resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" - - hmac-drbg@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - - hpack.js@^2.1.6: - version "2.1.6" - resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - - html-entities@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" - - html-minifier@^3.2.3: - version "3.5.20" - resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.20.tgz#7b19fd3caa0cb79f7cde5ee5c3abdf8ecaa6bb14" - dependencies: - camel-case "3.0.x" - clean-css "4.2.x" - commander "2.17.x" - he "1.1.x" - param-case "2.1.x" - relateurl "0.2.x" - uglify-js "3.4.x" - - html-webpack-plugin@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz#b01abbd723acaaa7b37b6af4492ebda03d9dd37b" - dependencies: - html-minifier "^3.2.3" - loader-utils "^0.2.16" - lodash "^4.17.3" - pretty-error "^2.0.2" - tapable "^1.0.0" - toposort "^1.0.0" - util.promisify "1.0.0" - - htmlparser2@~3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.3.0.tgz#cc70d05a59f6542e43f0e685c982e14c924a9efe" - dependencies: - domelementtype "1" - domhandler "2.1" - domutils "1.1" - readable-stream "1.0" - - http-deceiver@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" - - http-errors@1.6.2: - version "1.6.2" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" - dependencies: - depd "1.1.1" - inherits "2.0.3" - setprototypeof "1.0.3" - statuses ">= 1.3.1 < 2" - - http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - - http-parser-js@>=0.4.0: - version "0.4.13" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.13.tgz#3bd6d6fde6e3172c9334c3b33b6c193d80fe1137" - - http-proxy-middleware@~0.18.0: - version "0.18.0" - resolved "http://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz#0987e6bb5a5606e5a69168d8f967a87f15dd8aab" - dependencies: - http-proxy "^1.16.2" - is-glob "^4.0.0" - lodash "^4.17.5" - micromatch "^3.1.9" - - http-proxy@^1.16.2: - version "1.17.0" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.17.0.tgz#7ad38494658f84605e2f6db4436df410f4e5be9a" - dependencies: - eventemitter3 "^3.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - - https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - - iconv-lite@0.4, iconv-lite@^0.4.24, iconv-lite@^0.4.4: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - dependencies: - safer-buffer ">= 2.1.2 < 3" - - iconv-lite@0.4.19: - version "0.4.19" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" - - icss-replace-symbols@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" - - icss-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-2.1.0.tgz#83f0a0ec378bf3246178b6c2ad9136f135b1c962" - dependencies: - postcss "^6.0.1" - - ieee754@^1.1.11, ieee754@^1.1.4: - version "1.1.12" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz#50bf24e5b9c8bb98af4964c941cdb0918da7b60b" - - iferr@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - - ignore-walk@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" - dependencies: - minimatch "^3.0.4" - - import-local@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-1.0.0.tgz#5e4ffdc03f4fe6c009c6729beb29631c2f8227bc" - dependencies: - pkg-dir "^2.0.0" - resolve-cwd "^2.0.0" - - imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - - indexof@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" - - inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - dependencies: - once "^1.3.0" - wrappy "1" - - inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - - inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - - ini@~1.3.0: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - - inquirer@^6.0.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.0.tgz#51adcd776f661369dc1e894859c2560a224abdd8" - dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.0" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^3.0.0" - figures "^2.0.0" - lodash "^4.17.10" - mute-stream "0.0.7" - run-async "^2.2.0" - rxjs "^6.1.0" - string-width "^2.1.0" - strip-ansi "^4.0.0" - through "^2.3.6" - - internal-ip@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-3.0.1.tgz#df5c99876e1d2eb2ea2d74f520e3f669a00ece27" - dependencies: - default-gateway "^2.6.0" - ipaddr.js "^1.5.2" - - interpret@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" - - invariant@^2.2.0, invariant@^2.2.2: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - dependencies: - loose-envify "^1.0.0" - - invert-kv@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" - - ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - - ip@^1.1.0, ip@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" - - ipaddr.js@1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e" - - ipaddr.js@^1.5.2: - version "1.8.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.1.tgz#fa4b79fa47fd3def5e3b159825161c0a519c9427" - - is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - dependencies: - kind-of "^3.0.2" - - is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - dependencies: - kind-of "^6.0.0" - - is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - dependencies: - binary-extensions "^1.0.0" - - is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - - is-callable@^1.1.1, is-callable@^1.1.3: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" - - is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - dependencies: - kind-of "^3.0.2" - - is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - dependencies: - kind-of "^6.0.0" - - is-date-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" - - is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - - is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - - is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - - is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - dependencies: - is-plain-object "^2.0.4" - - is-extglob@^2.1.0, is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - - is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - dependencies: - number-is-nan "^1.0.0" - - is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - - is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - dependencies: - is-extglob "^2.1.0" - - is-glob@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" - dependencies: - is-extglob "^2.1.1" - - is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - dependencies: - kind-of "^3.0.2" - - is-path-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" - - is-path-in-cwd@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" - dependencies: - is-path-inside "^1.0.0" - - is-path-inside@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" - dependencies: - path-is-inside "^1.0.1" - - is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - - is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - dependencies: - isobject "^3.0.1" - - is-promise@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" - - is-regex@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" - dependencies: - has "^1.0.1" - - is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - - is-symbol@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" - - is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - - is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - - isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - - isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - - isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - - isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - dependencies: - isarray "1.0.0" - - isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - - js-levenshtein@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.3.tgz#3ef627df48ec8cf24bacf05c0f184ff30ef413c5" - - js-tokens@^3.0.0, js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" - - "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - - jsesc@^2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.1.tgz#e421a2a8e20d6b0819df28908f782526b96dd1fe" - - jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - - json-parse-better-errors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - - json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - - json3@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" - - json5@^0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" - - killable@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.0.tgz#da8b84bd47de5395878f95d64d02f2449fe05e6b" - - kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - dependencies: - is-buffer "^1.1.5" - - kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - dependencies: - is-buffer "^1.1.5" - - kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - - kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" - - lcid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" - dependencies: - invert-kv "^1.0.0" - - loader-runner@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" - - loader-utils@^0.2.16: - version "0.2.17" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" - dependencies: - big.js "^3.1.3" - emojis-list "^2.0.0" - json5 "^0.5.0" - object-assign "^4.0.1" - - loader-utils@^1.0.2, loader-utils@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" - dependencies: - big.js "^3.1.3" - emojis-list "^2.0.0" - json5 "^0.5.0" - - locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - - locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - - lodash.camelcase@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" - - lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - - lodash@^4.17.10, lodash@^4.17.3, lodash@^4.17.5: - version "4.17.10" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" - - loglevel@^1.4.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.1.tgz#e0fc95133b6ef276cdc8887cdaf24aa6f156f8fa" - - long@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" - - long@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/long/-/long-3.2.0.tgz#d821b7138ca1cb581c172990ef14db200b5c474b" - - loose-envify@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - - loud-rejection@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" - dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.0.0" - - lower-case@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" - - lru-cache@^4.0.1, lru-cache@^4.1.1: - version "4.1.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c" - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - - make-dir@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" - dependencies: - pify "^3.0.0" - - mamacro@^0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4" - - map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - - map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - dependencies: - object-visit "^1.0.0" - - md5.js@^1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.4.tgz#e9bdbde94a20a5ac18b04340fc5764d5b09d901d" - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - - media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - - mem@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" - dependencies: - mimic-fn "^1.0.0" - - memory-fs@^0.4.0, memory-fs@~0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - - merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - - methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - - micromatch@^3.1.4, micromatch@^3.1.8, micromatch@^3.1.9: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - - miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - - "mime-db@>= 1.34.0 < 2", mime-db@~1.36.0: - version "1.36.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.36.0.tgz#5020478db3c7fe93aad7bbcc4dcf869c43363397" - - mime-types@~2.1.17, mime-types@~2.1.18: - version "2.1.20" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.20.tgz#930cb719d571e903738520f8470911548ca2cc19" - dependencies: - mime-db "~1.36.0" - - mime@1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" - - mime@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.3.1.tgz#b1621c54d63b97c47d3cfe7f7215f7d64517c369" - - mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" - - mini-css-extract-plugin@^0.4.2: - version "0.4.2" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.2.tgz#b3ecc0d6b1bbe5ff14add42b946a7b200cf78651" - dependencies: - loader-utils "^1.1.0" - schema-utils "^1.0.0" - webpack-sources "^1.1.0" - - minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - - minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - - minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - dependencies: - brace-expansion "^1.1.7" - - minimist@0.0.8: - version "0.0.8" - resolved "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - - minimist@^1.2.0: - version "1.2.0" - resolved "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - - minipass@^2.2.1, minipass@^2.3.3: - version "2.3.4" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.4.tgz#4768d7605ed6194d6d576169b9e12ef71e9d9957" - dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" - - minizlib@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.1.0.tgz#11e13658ce46bc3a70a267aac58359d1e0c29ceb" - dependencies: - minipass "^2.2.1" - - mississippi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-2.0.0.tgz#3442a508fafc28500486feea99409676e4ee5a6f" - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^2.0.1" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - - mixin-deep@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - - mkdirp@0.5.1, mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0: - version "0.5.1" - resolved "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - dependencies: - minimist "0.0.8" - - mocha@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-5.2.0.tgz#6d8ae508f59167f940f2b5b3c4a612ae50c90ae6" - dependencies: - browser-stdout "1.3.1" - commander "2.15.1" - debug "3.1.0" - diff "3.5.0" - escape-string-regexp "1.0.5" - glob "7.1.2" - growl "1.10.5" - he "1.1.1" - minimatch "3.0.4" - mkdirp "0.5.1" - supports-color "5.4.0" - - move-concurrently@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - dependencies: - aproba "^1.1.1" - copy-concurrently "^1.0.0" - fs-write-stream-atomic "^1.0.8" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.3" - - ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - - multicast-dns-service-types@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" - - multicast-dns@^6.0.1: - version "6.2.3" - resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" - dependencies: - dns-packet "^1.3.1" - thunky "^1.0.2" - - mute-stream@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" - - nan@^2.9.2: - version "2.11.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.11.0.tgz#574e360e4d954ab16966ec102c0c049fd961a099" - - nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - - needle@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.2.tgz#1120ca4c41f2fcc6976fd28a8968afe239929418" - dependencies: - debug "^2.1.2" - iconv-lite "^0.4.4" - sax "^1.2.4" - - negotiator@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" - - neo-async@^2.5.0: - version "2.5.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.5.2.tgz#489105ce7bc54e709d736b195f82135048c50fcc" - - nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - - no-case@^2.2.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" - dependencies: - lower-case "^1.1.1" - - node-forge@0.7.5: - version "0.7.5" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz#6c152c345ce11c52f465c2abd957e8639cd674df" - - node-libs-browser@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.1.0.tgz#5f94263d404f6e44767d726901fff05478d600df" - dependencies: - assert "^1.1.1" - browserify-zlib "^0.2.0" - buffer "^4.3.0" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.11.0" - domain-browser "^1.1.1" - events "^1.0.0" - https-browserify "^1.0.0" - os-browserify "^0.3.0" - path-browserify "0.0.0" - process "^0.11.10" - punycode "^1.2.4" - querystring-es3 "^0.2.0" - readable-stream "^2.3.3" - stream-browserify "^2.0.1" - stream-http "^2.7.2" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.0" - url "^0.11.0" - util "^0.10.3" - vm-browserify "0.0.4" - - node-pre-gyp@^0.10.0: - version "0.10.3" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc" - dependencies: - detect-libc "^1.0.2" - mkdirp "^0.5.1" - needle "^2.2.1" - nopt "^4.0.1" - npm-packlist "^1.1.6" - npmlog "^4.0.2" - rc "^1.2.7" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^4" - - node-releases@^1.0.0-alpha.11: - version "1.0.0-alpha.11" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.0.0-alpha.11.tgz#73c810acc2e5b741a17ddfbb39dfca9ab9359d8a" - dependencies: - semver "^5.3.0" - - nopt@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" - dependencies: - abbrev "1" - osenv "^0.1.4" - - normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - dependencies: - remove-trailing-separator "^1.0.1" - - npm-bundled@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.5.tgz#3c1732b7ba936b3a10325aef616467c0ccbcc979" - - npm-packlist@^1.1.6: - version "1.1.11" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.11.tgz#84e8c683cbe7867d34b1d357d893ce29e28a02de" - dependencies: - ignore-walk "^3.0.1" - npm-bundled "^1.0.1" - - npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - dependencies: - path-key "^2.0.0" - - npmlog@^4.0.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - - nth-check@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.1.tgz#9929acdf628fc2c41098deab82ac580cf149aae4" - dependencies: - boolbase "~1.0.0" - - number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - - object-assign@^4.0.1, object-assign@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - - object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - - object-keys@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2" - - object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - dependencies: - isobject "^3.0.0" - - object.getownpropertydescriptors@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" - dependencies: - define-properties "^1.1.2" - es-abstract "^1.5.1" - - object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - dependencies: - isobject "^3.0.1" - - obuf@^1.0.0, obuf@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" - - on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - dependencies: - ee-first "1.1.1" - - on-headers@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" - - once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - dependencies: - wrappy "1" - - onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" - dependencies: - mimic-fn "^1.0.0" - - opn@^5.1.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/opn/-/opn-5.3.0.tgz#64871565c863875f052cfdf53d3e3cb5adb53b1c" - dependencies: - is-wsl "^1.1.0" - - original@>=0.0.5: - version "1.0.2" - resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" - dependencies: - url-parse "^1.4.3" - - os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - - os-homedir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - - os-locale@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" - dependencies: - execa "^0.7.0" - lcid "^1.0.0" - mem "^1.1.0" - - os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - - osenv@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - - output-file-sync@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-2.0.1.tgz#f53118282f5f553c2799541792b723a4c71430c0" - dependencies: - graceful-fs "^4.1.11" - is-plain-obj "^1.1.0" - mkdirp "^0.5.1" - - p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - - p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - dependencies: - p-try "^1.0.0" - - p-limit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.0.0.tgz#e624ed54ee8c460a778b3c9f3670496ff8a57aec" - dependencies: - p-try "^2.0.0" - - p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - dependencies: - p-limit "^1.1.0" - - p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - dependencies: - p-limit "^2.0.0" - - p-map@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" - - p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - - p-try@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1" - - pako@~1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258" - - parallel-transform@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06" - dependencies: - cyclist "~0.2.2" - inherits "^2.0.3" - readable-stream "^2.1.5" - - param-case@2.1.x: - version "2.1.1" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" - dependencies: - no-case "^2.2.0" - - parse-asn1@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.1.tgz#f6bf293818332bd0dab54efb16087724745e6ca8" - dependencies: - asn1.js "^4.0.0" - browserify-aes "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - - parseurl@~1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" - - pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - - path-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" - - path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - - path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - - path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - - path-is-inside@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - - path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - - path-parse@^1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - - path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - - pathval@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" - - pbkdf2@^3.0.3: - version "3.0.16" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.16.tgz#7404208ec6b01b62d85bf83853a8064f8d9c2a5c" - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - - pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - - pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - - pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - dependencies: - pinkie "^2.0.0" - - pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - - pkg-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" - dependencies: - find-up "^2.1.0" - - portfinder@^1.0.9: - version "1.0.17" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.17.tgz#a8a1691143e46c4735edefcf4fbcccedad26456a" - dependencies: - async "^1.5.2" - debug "^2.2.0" - mkdirp "0.5.x" - - posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - - postcss-modules-extract-imports@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz#66140ecece38ef06bf0d3e355d69bf59d141ea85" - dependencies: - postcss "^6.0.1" - - postcss-modules-local-by-default@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" - dependencies: - css-selector-tokenizer "^0.7.0" - postcss "^6.0.1" - - postcss-modules-scope@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" - dependencies: - css-selector-tokenizer "^0.7.0" - postcss "^6.0.1" - - postcss-modules-values@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" - dependencies: - icss-replace-symbols "^1.1.0" - postcss "^6.0.1" - - postcss-value-parser@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" - - postcss@^6.0.1, postcss@^6.0.23: - version "6.0.23" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" - dependencies: - chalk "^2.4.1" - source-map "^0.6.1" - supports-color "^5.4.0" - - pretty-error@^2.0.2: - version "2.1.1" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" - dependencies: - renderkid "^2.0.1" - utila "~0.4" - - private@^0.1.6: - version "0.1.8" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" - - process-nextick-args@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" - - process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - - promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - - proxy-addr@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.4.tgz#ecfc733bf22ff8c6f407fa275327b9ab67e48b93" - dependencies: - forwarded "~0.1.2" - ipaddr.js "1.8.0" - - prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - - pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - - public-encrypt@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.2.tgz#46eb9107206bf73489f8b85b69d91334c6610994" - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - - pump@^2.0.0, pump@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - - pumpify@^1.3.3: - version "1.5.1" - resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" - dependencies: - duplexify "^3.6.0" - inherits "^2.0.3" - pump "^2.0.0" - - punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - - punycode@^1.2.4: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - - punycode@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - - qs@6.5.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" - - querystring-es3@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - - querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - - querystringify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.0.0.tgz#fa3ed6e68eb15159457c89b37bc6472833195755" - - randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz#d302c522948588848a8d300c932b44c24231da80" - dependencies: - safe-buffer "^5.1.0" - - randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - - range-parser@^1.0.3, range-parser@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" - - raw-body@2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89" - dependencies: - bytes "3.0.0" - http-errors "1.6.2" - iconv-lite "0.4.19" - unpipe "1.0.0" - - rc@^1.2.7: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - - "readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.3, readable-stream@^2.3.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - - readable-stream@1.0: - version "1.0.34" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - - readdirp@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" - dependencies: - graceful-fs "^4.1.2" - minimatch "^3.0.2" - readable-stream "^2.0.2" - set-immediate-shim "^1.0.1" - - regenerate-unicode-properties@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz#107405afcc4a190ec5ed450ecaa00ed0cafa7a4c" - dependencies: - regenerate "^1.4.0" - - regenerate@^1.2.1, regenerate@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" - - regenerator-transform@^0.13.3: - version "0.13.3" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.13.3.tgz#264bd9ff38a8ce24b06e0636496b2c856b57bcbb" - dependencies: - private "^0.1.6" - - regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - - regexpu-core@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" - dependencies: - regenerate "^1.2.1" - regjsgen "^0.2.0" - regjsparser "^0.1.4" - - regexpu-core@^4.1.3, regexpu-core@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.2.0.tgz#a3744fa03806cffe146dea4421a3e73bdcc47b1d" - dependencies: - regenerate "^1.4.0" - regenerate-unicode-properties "^7.0.0" - regjsgen "^0.4.0" - regjsparser "^0.3.0" - unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.0.2" - - regjsgen@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" - - regjsgen@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.4.0.tgz#c1eb4c89a209263f8717c782591523913ede2561" - - regjsparser@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" - dependencies: - jsesc "~0.5.0" - - regjsparser@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.3.0.tgz#3c326da7fcfd69fa0d332575a41c8c0cdf588c96" - dependencies: - jsesc "~0.5.0" - - relateurl@0.2.x: - version "0.2.7" - resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" - - remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - - renderkid@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.1.tgz#898cabfc8bede4b7b91135a3ffd323e58c0db319" - dependencies: - css-select "^1.1.0" - dom-converter "~0.1" - htmlparser2 "~3.3.0" - strip-ansi "^3.0.0" - utila "~0.3" - - repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - - repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - - require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - - require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" - - requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - - resolve-cwd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" - dependencies: - resolve-from "^3.0.0" - - resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - - resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - - resolve@^1.3.2: - version "1.8.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" - dependencies: - path-parse "^1.0.5" - - restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - dependencies: - onetime "^2.0.0" - signal-exit "^3.0.2" - - ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - - rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" - dependencies: - glob "^7.0.5" - - ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - - run-async@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" - dependencies: - is-promise "^2.1.0" - - run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - dependencies: - aproba "^1.1.1" - - rw@1: - version "1.3.3" - resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" - - rxjs@^6.1.0: - version "6.3.1" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.3.1.tgz#878a1a8c64b8a5da11dcf74b5033fe944cdafb84" - dependencies: - tslib "^1.9.0" - - safe-buffer@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" - - safe-buffer@5.1.2, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - - safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - dependencies: - ret "~0.1.10" - - "safer-buffer@>= 2.1.2 < 3": - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - - sax@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - - schema-utils@^0.4.4, schema-utils@^0.4.5: - version "0.4.7" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.7.tgz#ba74f597d2be2ea880131746ee17d0a093c68187" - dependencies: - ajv "^6.1.0" - ajv-keywords "^3.1.0" - - schema-utils@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" - dependencies: - ajv "^6.1.0" - ajv-errors "^1.0.0" - ajv-keywords "^3.1.0" - - select-hose@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" - - selfsigned@^1.9.1: - version "1.10.3" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.3.tgz#d628ecf9e3735f84e8bafba936b3cf85bea43823" - dependencies: - node-forge "0.7.5" - - semver@^5.3.0, semver@^5.4.1, semver@^5.5.0: - version "5.5.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.1.tgz#7dfdd8814bdb7cabc7be0fb1d734cfb66c940477" - - send@0.16.2: - version "0.16.2" - resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" - dependencies: - debug "2.6.9" - depd "~1.1.2" - destroy "~1.0.4" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "~1.6.2" - mime "1.4.1" - ms "2.0.0" - on-finished "~2.3.0" - range-parser "~1.2.0" - statuses "~1.4.0" - - serialize-javascript@^1.4.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.5.0.tgz#1aa336162c88a890ddad5384baebc93a655161fe" - - serve-index@^1.7.2: - version "1.9.1" - resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" - dependencies: - accepts "~1.3.4" - batch "0.6.1" - debug "2.6.9" - escape-html "~1.0.3" - http-errors "~1.6.2" - mime-types "~2.1.17" - parseurl "~1.3.2" - - serve-static@1.13.2: - version "1.13.2" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.2" - send "0.16.2" - - set-blocking@^2.0.0, set-blocking@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - - set-immediate-shim@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" - - set-value@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.1" - to-object-path "^0.3.0" - - set-value@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - - setimmediate@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - - setprototypeof@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" - - setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - - sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - - shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - dependencies: - shebang-regex "^1.0.0" - - shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - - signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - - slash@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" - - snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - - snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - dependencies: - kind-of "^3.2.0" - - snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - - sockjs-client@1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.5.tgz#1bb7c0f7222c40f42adf14f4442cbd1269771a83" - dependencies: - debug "^2.6.6" - eventsource "0.1.6" - faye-websocket "~0.11.0" - inherits "^2.0.1" - json3 "^3.3.2" - url-parse "^1.1.8" - - sockjs@0.3.19: - version "0.3.19" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.19.tgz#d976bbe800af7bd20ae08598d582393508993c0d" - dependencies: - faye-websocket "^0.10.0" - uuid "^3.0.1" - - source-list-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" - - source-map-resolve@^0.5.0: - version "0.5.2" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" - dependencies: - atob "^2.1.1" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - - source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - - source-map@^0.5.0, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - - source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - - spdy-transport@^2.0.18: - version "2.1.0" - resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-2.1.0.tgz#4bbb15aaffed0beefdd56ad61dbdc8ba3e2cb7a1" - dependencies: - debug "^2.6.8" - detect-node "^2.0.3" - hpack.js "^2.1.6" - obuf "^1.1.1" - readable-stream "^2.2.9" - safe-buffer "^5.0.1" - wbuf "^1.7.2" - - spdy@^3.4.1: - version "3.4.7" - resolved "https://registry.yarnpkg.com/spdy/-/spdy-3.4.7.tgz#42ff41ece5cc0f99a3a6c28aabb73f5c3b03acbc" - dependencies: - debug "^2.6.8" - handle-thing "^1.2.5" - http-deceiver "^1.2.7" - safe-buffer "^5.0.1" - select-hose "^2.0.0" - spdy-transport "^2.0.18" - - split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - dependencies: - extend-shallow "^3.0.0" - - ssri@^5.2.4: - version "5.3.0" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-5.3.0.tgz#ba3872c9c6d33a0704a7d71ff045e5ec48999d06" - dependencies: - safe-buffer "^5.1.1" - - static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - - "statuses@>= 1.3.1 < 2", "statuses@>= 1.4.0 < 2": - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - - statuses@~1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" - - stream-browserify@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - - stream-each@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" - dependencies: - end-of-stream "^1.1.0" - stream-shift "^1.0.0" - - stream-http@^2.7.2: - version "2.8.3" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.3.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - - stream-shift@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" - - string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - - "string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - - string_decoder@^1.0.0, string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - dependencies: - safe-buffer "~5.1.0" - - string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - - strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - dependencies: - ansi-regex "^2.0.0" - - strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - dependencies: - ansi-regex "^3.0.0" - - strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - - strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - - style-loader@^0.23.0: - version "0.23.0" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.23.0.tgz#8377fefab68416a2e05f1cabd8c3a3acfcce74f1" - dependencies: - loader-utils "^1.1.0" - schema-utils "^0.4.5" - - supports-color@5.4.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" - dependencies: - has-flag "^3.0.0" - - supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - - supports-color@^5.1.0, supports-color@^5.3.0, supports-color@^5.4.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - dependencies: - has-flag "^3.0.0" - - tapable@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.0.0.tgz#cbb639d9002eed9c6b5975eb20598d7936f1f9f2" - - tar@^4: - version "4.4.6" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.6.tgz#63110f09c00b4e60ac8bcfe1bf3c8660235fbc9b" - dependencies: - chownr "^1.0.1" - fs-minipass "^1.2.5" - minipass "^2.3.3" - minizlib "^1.1.0" - mkdirp "^0.5.0" - safe-buffer "^5.1.2" - yallist "^3.0.2" - - through2@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" - dependencies: - readable-stream "^2.1.5" - xtend "~4.0.1" - - through@^2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - - thunky@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.0.2.tgz#a862e018e3fb1ea2ec3fce5d55605cf57f247371" - - timers-browserify@^2.0.4: - version "2.0.10" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae" - dependencies: - setimmediate "^1.0.4" - - tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - dependencies: - os-tmpdir "~1.0.2" - - to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - - to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - - to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - dependencies: - kind-of "^3.0.2" - - to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - - to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - - toposort@^1.0.0: - version "1.0.7" - resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" - - trim-right@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" - - tslib@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" - - tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - - type-detect@^4.0.0: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - - type-is@~1.6.15, type-is@~1.6.16: - version "1.6.16" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" - dependencies: - media-typer "0.3.0" - mime-types "~2.1.18" - - typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - - uglify-es@^3.3.4: - version "3.3.9" - resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677" - dependencies: - commander "~2.13.0" - source-map "~0.6.1" - - uglify-js@3.4.x: - version "3.4.9" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.9.tgz#af02f180c1207d76432e473ed24a28f4a782bae3" - dependencies: - commander "~2.17.1" - source-map "~0.6.1" - - uglifyjs-webpack-plugin@^1.2.4: - version "1.3.0" - resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz#75f548160858163a08643e086d5fefe18a5d67de" - dependencies: - cacache "^10.0.4" - find-cache-dir "^1.0.0" - schema-utils "^0.4.5" - serialize-javascript "^1.4.0" - source-map "^0.6.1" - uglify-es "^3.3.4" - webpack-sources "^1.1.0" - worker-farm "^1.5.2" - - unicode-canonical-property-names-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" - - unicode-match-property-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" - dependencies: - unicode-canonical-property-names-ecmascript "^1.0.4" - unicode-property-aliases-ecmascript "^1.0.4" - - unicode-match-property-value-ecmascript@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz#9f1dc76926d6ccf452310564fd834ace059663d4" - - unicode-property-aliases-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz#5a533f31b4317ea76f17d807fa0d116546111dd0" - - union-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^0.4.3" - - unique-filename@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.0.tgz#d05f2fe4032560871f30e93cbe735eea201514f3" - dependencies: - unique-slug "^2.0.0" - - unique-slug@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.0.tgz#db6676e7c7cc0629878ff196097c78855ae9f4ab" - dependencies: - imurmurhash "^0.1.4" - - unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - - unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - - upath@^1.0.5: - version "1.1.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd" - - upper-case@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" - - uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - dependencies: - punycode "^2.1.0" - - urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - - url-join@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.0.tgz#4d3340e807d3773bda9991f8305acdcc2a665d2a" - - url-parse@^1.1.8, url-parse@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.3.tgz#bfaee455c889023219d757e045fa6a684ec36c15" - dependencies: - querystringify "^2.0.0" - requires-port "^1.0.0" - - url@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - dependencies: - punycode "1.3.2" - querystring "0.2.0" - - use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - - util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - - util.promisify@1.0.0, util.promisify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" - dependencies: - define-properties "^1.1.2" - object.getownpropertydescriptors "^2.0.3" - - util@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - dependencies: - inherits "2.0.1" - - util@^0.10.3: - version "0.10.4" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901" - dependencies: - inherits "2.0.3" - - utila@~0.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/utila/-/utila-0.3.3.tgz#d7e8e7d7e309107092b05f8d9688824d633a4226" - - utila@~0.4: - version "0.4.0" - resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" - - utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - - uuid@^3.0.1, uuid@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" - - v8-compile-cache@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz#a428b28bb26790734c4fc8bc9fa106fccebf6a6c" - - vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - - vm-browserify@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" - dependencies: - indexof "0.0.1" - - watchpack@^1.5.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" - dependencies: - chokidar "^2.0.2" - graceful-fs "^4.1.2" - neo-async "^2.5.0" - - wbuf@^1.1.0, wbuf@^1.7.2: - version "1.7.3" - resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" - dependencies: - minimalistic-assert "^1.0.0" - - webpack-cli@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.1.0.tgz#d71a83687dcfeb758fdceeb0fe042f96bcf62994" - dependencies: - chalk "^2.4.1" - cross-spawn "^6.0.5" - enhanced-resolve "^4.0.0" - global-modules-path "^2.1.0" - import-local "^1.0.0" - inquirer "^6.0.0" - interpret "^1.1.0" - loader-utils "^1.1.0" - supports-color "^5.4.0" - v8-compile-cache "^2.0.0" - yargs "^12.0.1" - - webpack-dev-middleware@3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.2.0.tgz#a20ceef194873710052da678f3c6ee0aeed92552" - dependencies: - loud-rejection "^1.6.0" - memory-fs "~0.4.1" - mime "^2.3.1" - path-is-absolute "^1.0.0" - range-parser "^1.0.3" - url-join "^4.0.0" - webpack-log "^2.0.0" - - webpack-dev-server@^3.1.7: - version "3.1.7" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.1.7.tgz#cbf8071cc092d9493732aee4f062f0e065994854" - dependencies: - ansi-html "0.0.7" - bonjour "^3.5.0" - chokidar "^2.0.0" - compression "^1.5.2" - connect-history-api-fallback "^1.3.0" - debug "^3.1.0" - del "^3.0.0" - express "^4.16.2" - html-entities "^1.2.0" - http-proxy-middleware "~0.18.0" - import-local "^1.0.0" - internal-ip "^3.0.1" - ip "^1.1.5" - killable "^1.0.0" - loglevel "^1.4.1" - opn "^5.1.0" - portfinder "^1.0.9" - schema-utils "^1.0.0" - selfsigned "^1.9.1" - serve-index "^1.7.2" - sockjs "0.3.19" - sockjs-client "1.1.5" - spdy "^3.4.1" - strip-ansi "^3.0.0" - supports-color "^5.1.0" - webpack-dev-middleware "3.2.0" - webpack-log "^2.0.0" - yargs "12.0.1" - - webpack-log@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" - dependencies: - ansi-colors "^3.0.0" - uuid "^3.3.2" - - webpack-sources@^1.0.1, webpack-sources@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.2.0.tgz#18181e0d013fce096faf6f8e6d41eeffffdceac2" - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - - webpack@^4.17.1: - version "4.17.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.17.1.tgz#0f026e3d823f3fc604f811ed3ea8f0d9b267fb1e" - dependencies: - "@webassemblyjs/ast" "1.5.13" - "@webassemblyjs/helper-module-context" "1.5.13" - "@webassemblyjs/wasm-edit" "1.5.13" - "@webassemblyjs/wasm-opt" "1.5.13" - "@webassemblyjs/wasm-parser" "1.5.13" - acorn "^5.6.2" - acorn-dynamic-import "^3.0.0" - ajv "^6.1.0" - ajv-keywords "^3.1.0" - chrome-trace-event "^1.0.0" - enhanced-resolve "^4.1.0" - eslint-scope "^4.0.0" - json-parse-better-errors "^1.0.2" - loader-runner "^2.3.0" - loader-utils "^1.1.0" - memory-fs "~0.4.1" - micromatch "^3.1.8" - mkdirp "~0.5.0" - neo-async "^2.5.0" - node-libs-browser "^2.0.0" - schema-utils "^0.4.4" - tapable "^1.0.0" - uglifyjs-webpack-plugin "^1.2.4" - watchpack "^1.5.0" - webpack-sources "^1.0.1" - - websocket-driver@>=0.5.1: - version "0.7.0" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz#0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb" - dependencies: - http-parser-js ">=0.4.0" - websocket-extensions ">=0.1.1" - - websocket-extensions@>=0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" - - which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - - which@^1.2.9: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - dependencies: - isexe "^2.0.0" - - wide-align@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - dependencies: - string-width "^1.0.2 || 2" - - worker-farm@^1.5.2: - version "1.6.0" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.6.0.tgz#aecc405976fab5a95526180846f0dba288f3a4a0" - dependencies: - errno "~0.1.7" - - wrap-ansi@^2.0.0: - version "2.1.0" - resolved "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - - wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - - xmlhttprequest@1: - version "1.8.0" - resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" - - xregexp@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz#e698189de49dd2a18cc5687b05e17c8e43943020" - - xtend@^4.0.0, xtend@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" - - "y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" - - yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - - yallist@^3.0.0, yallist@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9" - - yargs-parser@^10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" - dependencies: - camelcase "^4.1.0" - - yargs@12.0.1, yargs@^12.0.1: - version "12.0.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.1.tgz#6432e56123bb4e7c3562115401e98374060261c2" - dependencies: - cliui "^4.0.0" - decamelize "^2.0.0" - find-up "^3.0.0" - get-caller-file "^1.0.1" - os-locale "^2.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1 || ^4.0.0" - yargs-parser "^10.1.0" diff --git a/yarn.lock b/yarn.lock index af7db1d..e7035f6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -906,6 +906,46 @@ lodash "^4.17.10" to-fast-properties "^2.0.0" +"@mapbox/geojson-area@0.2.2": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@mapbox/geojson-area/-/geojson-area-0.2.2.tgz#18d7814aa36bf23fbbcc379f8e26a22927debf10" + dependencies: + wgs84 "0.0.0" + +"@mapbox/geojson-types@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@mapbox/geojson-types/-/geojson-types-1.0.2.tgz#9aecf642cb00eab1080a57c4f949a65b4a5846d6" + +"@mapbox/jsonlint-lines-primitives@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz#ce56e539f83552b58d10d672ea4d6fc9adc7b234" + +"@mapbox/mapbox-gl-supported@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@mapbox/mapbox-gl-supported/-/mapbox-gl-supported-1.4.0.tgz#36946b22944fe2cfa43cfafd5ef36fdb54a069e4" + +"@mapbox/point-geometry@0.1.0", "@mapbox/point-geometry@^0.1.0", "@mapbox/point-geometry@~0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz#8a83f9335c7860effa2eeeca254332aa0aeed8f2" + +"@mapbox/tiny-sdf@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@mapbox/tiny-sdf/-/tiny-sdf-1.1.0.tgz#b0b8f5c22005e6ddb838f421ffd257c1f74f9a20" + +"@mapbox/unitbezier@^0.0.0": + version "0.0.0" + resolved "https://registry.yarnpkg.com/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz#15651bd553a67b8581fb398810c98ad86a34524e" + +"@mapbox/vector-tile@^1.3.1": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@mapbox/vector-tile/-/vector-tile-1.3.1.tgz#d3a74c90402d06e89ec66de49ec817ff53409666" + dependencies: + "@mapbox/point-geometry" "~0.1.0" + +"@mapbox/whoots-js@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@mapbox/whoots-js/-/whoots-js-3.1.0.tgz#497c67a1cef50d1a2459ba60f315e448d2ad87fe" + "@webassemblyjs/ast@1.5.13": version "1.5.13" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.5.13.tgz#81155a570bd5803a30ec31436bc2c9c0ede38f25" @@ -1110,6 +1150,10 @@ ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" +ansicolors@~0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.2.1.tgz#be089599097b74a5c9c4a84a0cdbcdb62bd87aef" + anymatch@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" @@ -1315,6 +1359,15 @@ braces@^2.3.0, braces@^2.3.1: split-string "^3.0.2" to-regex "^3.0.1" +brfs@^1.4.4: + version "1.6.1" + resolved "https://registry.yarnpkg.com/brfs/-/brfs-1.6.1.tgz#b78ce2336d818e25eea04a0947cba6d4fb8849c3" + dependencies: + quote-stream "^1.0.1" + resolve "^1.1.5" + static-module "^2.2.0" + through2 "^2.0.0" + brorand@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" @@ -1384,6 +1437,10 @@ browserslist@^4.1.0: electron-to-chromium "^1.3.61" node-releases "^1.0.0-alpha.11" +buffer-equal@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-0.0.1.tgz#91bc74b11ea405bc916bc6aa908faafa5b4aac4b" + buffer-from@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" @@ -1459,6 +1516,13 @@ caniuse-lite@^1.0.30000878: version "1.0.30000883" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000883.tgz#597c1eabfb379bd9fbeaa778632762eb574706ac" +cardinal@~0.4.2: + version "0.4.4" + resolved "https://registry.yarnpkg.com/cardinal/-/cardinal-0.4.4.tgz#ca5bb68a5b511b90fe93b9acea49bdee5c32bfe2" + dependencies: + ansicolors "~0.2.1" + redeyed "~0.4.0" + chai@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chai/-/chai-4.1.2.tgz#0f64584ba642f0f2ace2806279f4f06ca23ad73c" @@ -1628,7 +1692,7 @@ concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" -concat-stream@^1.5.0: +concat-stream@^1.5.0, concat-stream@~1.6.0: version "1.6.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" dependencies: @@ -1667,6 +1731,12 @@ convert-source-map@^1.1.0: version "1.5.1" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" +convert-source-map@^1.5.1: + version "1.6.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" + dependencies: + safe-buffer "~5.1.1" + cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" @@ -1798,6 +1868,10 @@ css-what@2.1: version "2.1.0" resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd" +csscolorparser@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/csscolorparser/-/csscolorparser-1.0.3.tgz#b34f391eea4da8f3e98231e2ccd8df9c041f171b" + cssesc@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" @@ -2077,6 +2151,10 @@ deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + default-gateway@^2.6.0: version "2.7.2" resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-2.7.2.tgz#b7ef339e5e024b045467af403d50348db4642d0f" @@ -2224,6 +2302,12 @@ domutils@1.5.1: dom-serializer "0" domelementtype "1" +duplexer2@~0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" + dependencies: + readable-stream "^2.0.2" + duplexify@^3.4.2, duplexify@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.6.0.tgz#592903f5d80b38d037220541264d69a198fb3410" @@ -2233,6 +2317,10 @@ duplexify@^3.4.2, duplexify@^3.6.0: readable-stream "^2.0.0" stream-shift "^1.0.0" +earcut@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/earcut/-/earcut-2.1.3.tgz#ca579545f351941af7c3d0df49c9f7d34af99b0c" + ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" @@ -2311,6 +2399,28 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1 version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" +escodegen@^1.8.1: + version "1.11.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.0.tgz#b27a9389481d5bfd5bec76f7bb1eb3f8f4556589" + dependencies: + esprima "^3.1.3" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +escodegen@~1.9.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.9.1.tgz#dbae17ef96c8e4bedb1356f4504fa4cc2f7cb7e2" + dependencies: + esprima "^3.1.3" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + eslint-scope@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.0.tgz#50bf3071e9338bcdc43331794a0cb533f0136172" @@ -2318,13 +2428,21 @@ eslint-scope@^4.0.0: esrecurse "^4.1.0" estraverse "^4.1.1" +esprima@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" + +esprima@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.0.4.tgz#9f557e08fc3b4d26ece9dd34f8fbf476b62585ad" + esrecurse@^4.1.0: version "4.2.1" resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" dependencies: estraverse "^4.1.0" -estraverse@^4.1.0, estraverse@^4.1.1: +estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" @@ -2393,6 +2511,10 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" +expect.js@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/expect.js/-/expect.js-0.2.0.tgz#1028533d2c1c363f74a6796ff57ec0520ded2be1" + express@^4.16.2: version "4.16.3" resolved "https://registry.yarnpkg.com/express/-/express-4.16.3.tgz#6af8a502350db3246ecc4becf6b5a34d22f7ed53" @@ -2471,6 +2593,15 @@ extract-text-webpack-plugin@^4.0.0-beta.0: schema-utils "^0.4.5" webpack-sources "^1.1.0" +falafel@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/falafel/-/falafel-2.1.0.tgz#96bb17761daba94f46d001738b3cedf3a67fe06c" + dependencies: + acorn "^5.0.0" + foreach "^2.0.5" + isarray "0.0.1" + object-keys "^1.0.6" + fast-deep-equal@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" @@ -2479,6 +2610,10 @@ fast-json-stable-stringify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" +fast-levenshtein@~2.0.4: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + fastparse@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8" @@ -2559,6 +2694,10 @@ for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" +foreach@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" + forwarded@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" @@ -2627,6 +2766,19 @@ gauge@~2.7.3: strip-ansi "^3.0.1" wide-align "^1.1.0" +geojson-rewind@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/geojson-rewind/-/geojson-rewind-0.3.1.tgz#22240797c847cc2f0c1d313e4aa0c915afa7f29d" + dependencies: + "@mapbox/geojson-area" "0.2.2" + concat-stream "~1.6.0" + minimist "1.2.0" + sharkdown "^0.1.0" + +geojson-vt@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/geojson-vt/-/geojson-vt-3.2.0.tgz#039cea549df5f892c48cff8eb66c2e217d61c241" + get-caller-file@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" @@ -2643,6 +2795,10 @@ get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" +gl-matrix@^2.6.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/gl-matrix/-/gl-matrix-2.8.1.tgz#1c7873448eac61d2cd25803a074e837bd42581a3" + glob-parent@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" @@ -2694,6 +2850,10 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.2: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" +grid-index@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/grid-index/-/grid-index-1.0.0.tgz#ad2c5d54ce5b35437faff1d70a9aeb3d1d261110" + growl@1.10.5: version "1.10.5" resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" @@ -2892,7 +3052,7 @@ icss-utils@^2.1.0: dependencies: postcss "^6.0.1" -ieee754@^1.1.11, ieee754@^1.1.4: +ieee754@^1.1.11, ieee754@^1.1.4, ieee754@^1.1.6: version "1.1.12" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz#50bf24e5b9c8bb98af4964c941cdb0918da7b60b" @@ -3205,6 +3365,10 @@ json5@^0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" +kdbush@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/kdbush/-/kdbush-2.0.1.tgz#90c6128e3001ac68c550d7c9e2f222c0269666f1" + killable@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.0.tgz#da8b84bd47de5395878f95d64d02f2449fe05e6b" @@ -3235,6 +3399,13 @@ lcid@^1.0.0: dependencies: invert-kv "^1.0.0" +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + loader-runner@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" @@ -3318,6 +3489,12 @@ lru-cache@^4.0.1, lru-cache@^4.1.1: pseudomap "^1.0.2" yallist "^2.1.2" +magic-string@^0.22.4: + version "0.22.5" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.22.5.tgz#8e9cf5afddf44385c1da5bc2a6a0dbd10b03657e" + dependencies: + vlq "^0.2.2" + make-dir@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" @@ -3338,6 +3515,34 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" +mapbox-gl@^0.49.0-beta.1: + version "0.49.0-beta.1" + resolved "https://registry.yarnpkg.com/mapbox-gl/-/mapbox-gl-0.49.0-beta.1.tgz#d810077fdd1076d2b9247a84711e165c44733ca9" + dependencies: + "@mapbox/geojson-types" "^1.0.2" + "@mapbox/jsonlint-lines-primitives" "^2.0.2" + "@mapbox/mapbox-gl-supported" "^1.4.0" + "@mapbox/point-geometry" "^0.1.0" + "@mapbox/tiny-sdf" "^1.1.0" + "@mapbox/unitbezier" "^0.0.0" + "@mapbox/vector-tile" "^1.3.1" + "@mapbox/whoots-js" "^3.1.0" + brfs "^1.4.4" + csscolorparser "~1.0.2" + earcut "^2.1.3" + geojson-rewind "^0.3.0" + geojson-vt "^3.2.0" + gl-matrix "^2.6.1" + grid-index "^1.0.0" + minimist "0.0.8" + murmurhash-js "^1.0.0" + pbf "^3.0.5" + quickselect "^1.0.0" + rw "^1.3.3" + supercluster "^4.1.1" + tinyqueue "^1.1.0" + vt-pbf "^3.0.1" + md5.js@^1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.4.tgz#e9bdbde94a20a5ac18b04340fc5764d5b09d901d" @@ -3366,6 +3571,12 @@ merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" +merge-source-map@1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.0.4.tgz#a5de46538dae84d4114cc5ea02b4772a6346701f" + dependencies: + source-map "^0.5.6" + methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" @@ -3439,11 +3650,15 @@ minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" +minimist@0.0.5: + version "0.0.5" + resolved "http://registry.npmjs.org/minimist/-/minimist-0.0.5.tgz#d7aa327bcecf518f9106ac6b8f003fa3bcea8566" + minimist@0.0.8: version "0.0.8" resolved "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" -minimist@^1.2.0: +minimist@1.2.0, minimist@^1.1.3, minimist@^1.2.0: version "1.2.0" resolved "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" @@ -3530,6 +3745,10 @@ multicast-dns@^6.0.1: dns-packet "^1.3.1" thunky "^1.0.2" +murmurhash-js@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/murmurhash-js/-/murmurhash-js-1.0.0.tgz#b06278e21fc6c37fa5313732b0412bcb6ae15f51" + mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" @@ -3698,7 +3917,11 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-keys@^1.0.12: +object-inspect@~1.4.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.4.1.tgz#37ffb10e71adaf3748d05f713b4c9452f402cbc4" + +object-keys@^1.0.12, object-keys@^1.0.6: version "1.0.12" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2" @@ -3753,6 +3976,17 @@ opn@^5.1.0: dependencies: is-wsl "^1.1.0" +optionator@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.4" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + wordwrap "~1.0.0" + original@>=0.0.5: version "1.0.2" resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" @@ -3906,6 +4140,13 @@ pathval@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" +pbf@^3.0.5: + version "3.1.0" + resolved "https://registry.yarnpkg.com/pbf/-/pbf-3.1.0.tgz#f70004badcb281761eabb1e76c92f179f08189e9" + dependencies: + ieee754 "^1.1.6" + resolve-protobuf-schema "^2.0.0" + pbkdf2@^3.0.3: version "3.0.16" resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.16.tgz#7404208ec6b01b62d85bf83853a8064f8d9c2a5c" @@ -3997,6 +4238,10 @@ postcss@^6.0.1, postcss@^6.0.23: source-map "^0.6.1" supports-color "^5.4.0" +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + pretty-error@^2.0.2: version "2.1.1" resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" @@ -4020,6 +4265,10 @@ promise-inflight@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" +protocol-buffers-schema@^3.3.1: + version "3.3.2" + resolved "https://registry.yarnpkg.com/protocol-buffers-schema/-/protocol-buffers-schema-3.3.2.tgz#00434f608b4e8df54c59e070efeefc37fb4bb859" + proxy-addr@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.4.tgz#ecfc733bf22ff8c6f407fa275327b9ab67e48b93" @@ -4088,6 +4337,18 @@ querystringify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.0.0.tgz#fa3ed6e68eb15159457c89b37bc6472833195755" +quickselect@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/quickselect/-/quickselect-1.1.1.tgz#852e412ce418f237ad5b660d70cffac647ae94c2" + +quote-stream@^1.0.1, quote-stream@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/quote-stream/-/quote-stream-1.0.2.tgz#84963f8c9c26b942e153feeb53aae74652b7e0b2" + dependencies: + buffer-equal "0.0.1" + minimist "^1.1.3" + through2 "^2.0.0" + randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: version "2.0.6" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz#d302c522948588848a8d300c932b44c24231da80" @@ -4123,7 +4384,7 @@ rc@^1.2.7: minimist "^1.2.0" strip-json-comments "~2.0.1" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.3, readable-stream@^2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.3: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" dependencies: @@ -4144,6 +4405,15 @@ readable-stream@1.0: isarray "0.0.1" string_decoder "~0.10.x" +readable-stream@~1.1.0: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + readdirp@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" @@ -4153,6 +4423,12 @@ readdirp@^2.0.0: readable-stream "^2.0.2" set-immediate-shim "^1.0.1" +redeyed@~0.4.0: + version "0.4.4" + resolved "https://registry.yarnpkg.com/redeyed/-/redeyed-0.4.4.tgz#37e990a6f2b21b2a11c2e6a48fd4135698cba97f" + dependencies: + esprima "~1.0.4" + regenerate-unicode-properties@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz#107405afcc4a190ec5ed450ecaa00ed0cafa7a4c" @@ -4263,11 +4539,17 @@ resolve-from@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" +resolve-protobuf-schema@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz#9ca9a9e69cf192bbdaf1006ec1973948aa4a3758" + dependencies: + protocol-buffers-schema "^3.3.1" + resolve-url@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" -resolve@^1.3.2: +resolve@^1.1.5, resolve@^1.3.2: version "1.8.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" dependencies: @@ -4309,7 +4591,7 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" -rw@1: +rw@1, rw@^1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" @@ -4458,6 +4740,21 @@ sha.js@^2.4.0, sha.js@^2.4.8: inherits "^2.0.1" safe-buffer "^5.0.1" +shallow-copy@~0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/shallow-copy/-/shallow-copy-0.0.1.tgz#415f42702d73d810330292cc5ee86eae1a11a170" + +sharkdown@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/sharkdown/-/sharkdown-0.1.0.tgz#61d4fe529e75d02442127cc9234362265099214f" + dependencies: + cardinal "~0.4.2" + expect.js "~0.2.0" + minimist "0.0.5" + split "~0.2.10" + stream-spigot "~2.1.2" + through "~2.3.4" + shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -4583,12 +4880,24 @@ split-string@^3.0.1, split-string@^3.0.2: dependencies: extend-shallow "^3.0.0" +split@~0.2.10: + version "0.2.10" + resolved "https://registry.yarnpkg.com/split/-/split-0.2.10.tgz#67097c601d697ce1368f418f06cd201cf0521a57" + dependencies: + through "2" + ssri@^5.2.4: version "5.3.0" resolved "https://registry.yarnpkg.com/ssri/-/ssri-5.3.0.tgz#ba3872c9c6d33a0704a7d71ff045e5ec48999d06" dependencies: safe-buffer "^5.1.1" +static-eval@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/static-eval/-/static-eval-2.0.0.tgz#0e821f8926847def7b4b50cda5d55c04a9b13864" + dependencies: + escodegen "^1.8.1" + static-extend@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" @@ -4596,6 +4905,25 @@ static-extend@^0.1.1: define-property "^0.2.5" object-copy "^0.1.0" +static-module@^2.2.0: + version "2.2.5" + resolved "https://registry.yarnpkg.com/static-module/-/static-module-2.2.5.tgz#bd40abceae33da6b7afb84a0e4329ff8852bfbbf" + dependencies: + concat-stream "~1.6.0" + convert-source-map "^1.5.1" + duplexer2 "~0.1.4" + escodegen "~1.9.0" + falafel "^2.1.0" + has "^1.0.1" + magic-string "^0.22.4" + merge-source-map "1.0.4" + object-inspect "~1.4.0" + quote-stream "~1.0.2" + readable-stream "~2.3.3" + shallow-copy "~0.0.1" + static-eval "^2.0.0" + through2 "~2.0.3" + "statuses@>= 1.3.1 < 2", "statuses@>= 1.4.0 < 2": version "1.5.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" @@ -4632,6 +4960,12 @@ stream-shift@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" +stream-spigot@~2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/stream-spigot/-/stream-spigot-2.1.2.tgz#7de145e819f8dd0db45090d13dcf73a8ed3cc035" + dependencies: + readable-stream "~1.1.0" + string-width@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" @@ -4684,6 +5018,12 @@ style-loader@^0.23.0: loader-utils "^1.1.0" schema-utils "^0.4.5" +supercluster@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/supercluster/-/supercluster-4.1.1.tgz#cf13c3b28a3fb3db5290bfad7f524e244bd4ce78" + dependencies: + kdbush "^2.0.1" + supports-color@5.4.0: version "5.4.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" @@ -4716,14 +5056,14 @@ tar@^4: safe-buffer "^5.1.2" yallist "^3.0.2" -through2@^2.0.0: +through2@^2.0.0, through2@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" dependencies: readable-stream "^2.1.5" xtend "~4.0.1" -through@^2.3.6: +through@2, through@^2.3.6, through@~2.3.4: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" @@ -4737,6 +5077,10 @@ timers-browserify@^2.0.4: dependencies: setimmediate "^1.0.4" +tinyqueue@^1.1.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/tinyqueue/-/tinyqueue-1.2.3.tgz#b6a61de23060584da29f82362e45df1ec7353f3d" + tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -4789,6 +5133,12 @@ tty-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + dependencies: + prelude-ls "~1.1.2" + type-detect@^4.0.0: version "4.0.8" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" @@ -4969,12 +5319,24 @@ vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" +vlq@^0.2.2: + version "0.2.3" + resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26" + vm-browserify@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" dependencies: indexof "0.0.1" +vt-pbf@^3.0.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/vt-pbf/-/vt-pbf-3.1.1.tgz#b0f627e39a10ce91d943b898ed2363d21899fb82" + dependencies: + "@mapbox/point-geometry" "0.1.0" + "@mapbox/vector-tile" "^1.3.1" + pbf "^3.0.5" + watchpack@^1.5.0: version "1.6.0" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" @@ -5105,6 +5467,10 @@ websocket-extensions@>=0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" +wgs84@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/wgs84/-/wgs84-0.0.0.tgz#34fdc555917b6e57cf2a282ed043710c049cdc76" + which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" @@ -5121,6 +5487,10 @@ wide-align@^1.1.0: dependencies: string-width "^1.0.2 || 2" +wordwrap@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + worker-farm@^1.5.2: version "1.6.0" resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.6.0.tgz#aecc405976fab5a95526180846f0dba288f3a4a0"